rstudio / rstudio/packrat

adhere to .Rbuildignore during downloading include_github()ed packages

Open
#353 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
R
Stars
409
Forks
89
PR merge metrics
No merged PRs in 30d

Description

I noticed that packages in packrat/src stemming from an include_github() are often a lot larger, and that, in fact, these *.tar.gz appear to include the entire upstream repos, often including lots of stuff that isn't required to build the package (say, some docs/ folder etc.).

With some of the packages I'm include_github()ing, this adds considerably to the already bloated packrat/src, making it hard to, in turn commit that to github.

I understand that, in an ideal world, package maintainers wouldn't have all sort of cruft on their repos, but that just isn't so.

I'm wondering whether it wouldn't help and be safe if packrat::snapshot() simple deleted everything from the github download listed in the respective .Rbuildignore, before tarring the whole thing up.

By definition, that should suffice to build the package from scratch, correct?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at packrat::snapshot() and the include_github() download path, focusing on how packages in packrat/src are assembled into *.tar.gz archives. Review the proposed use of each package's .Rbuildignore and verify that ignored content is excluded without preventing the resulting archive from building the package.

Written by the indexing model from the issue text.

Assessment

Tech stack
r
Domain
build-system, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.