>>>>> Ben Bolker >>>>> on Wed, 7 Oct 2020 20:42:08 -0400 writes:
> On 10/7/20 8:35 PM, Duncan Murdoch wrote: >> On 07/10/2020 8:32 p.m., Ben Bolker wrote: >>> Thanks for the tip, I'll take a look. >>> >>> Given that three relatively experienced package >>> authors all seem to have experienced similar issues, it >>> seems that maybe this is worth figuring out/maybe I'm >>> not just doing something boneheaded. >> >> Just to clarify: I've never noticed the problem you >> mention. I just know how to debug R CMD build. > I wasn't saying you had. My count of three was Bolker > (me), Fox, Nash. > cheers Ben >> >> Duncan Thank you, Ben, John (2x), and Duncan. I agree this should be investigated and fixed if/where needed. My personal experience is that PDF compaction "has worked for me" mostly, but not always; I think I never had looked closely when it did not work, and yes, I know I also had used manual compaction when I was unhappy with the automatic one. Given that lme4 takes relatively long, and also given Duncan Murdoch's precise instruction on how to debug, could you try to find a as small as "possible" repr.example? Of course it needs a vignette whose pdf is relatively large or rather "well compactable", but otherwise could also be an artificial package. Martin >>> >>> cheers Ben >>> >>> On 10/7/20 8:31 PM, Duncan Murdoch wrote: >>>> I don't know the answer to your question, but you can >>>> debug the --compact-vignettes option as follows. >>>> >>>> debug(tools::compactPDF) >>>> tools:::.build_packages(c("--compact-vignettes", >>>> "pkgdir")) >>>> >>>> where "pkgdir" is the directory of the source of your >>>> package. Add extra options to the build as separate >>>> elements of the argument to .build(): this function is >>>> called after args have been parsed. >>>> >>>> When I do that, I see that it rejects the compaction, >>>> because none of mine benefit much from it: it wants at >>>> least a 10% and 10K reduction. But Ben's example met >>>> those criteria. When I trick it into accepting the >>>> compaction, it does put the compacted PDF into the >>>> tarball. >>>> >>>> Duncan Murdoch >>>> >>>> On 07/10/2020 6:03 p.m., John Fox wrote: >>>>> Dear Ben, >>>>> >>>>> On 2020-10-07 5:26 p.m., Ben Bolker wrote: >>>>> I hope so too. The (annoying) workaround is to >>>>> compact the >>>>> vignette >>>>> yourself (using qpdf directly or using tools::compactPDF), >>>>> then use >>>>> no-build-vignettes. The problem there is whatever's >>>>> supposed to >>>>> happen >>>>> with building vignette indices. The uuuuugly workaround, >>>>> I guess, >>>>> is to >>>>> build the tarball, compact the vignettes oneself, then >>>>> *replace* >>>>> them in >>>>> the tarball. (Obviously I can automate that, but it seems >>>>> as >>>>> though it >>>>> would be unnecessary if I knew what was going on ...) >>>>> >>>>> I've used both of these workarounds and agree that it >>>>> would be nice to avoid them. After all, what is the >>>>> --compact-vignettes argument for? >>>>> >>>>> Best, John >>>>> >>>>>> >>>>> cheers >>>>> Ben >>>>>> >>>>>> >>>>> On 10/7/20 4:10 PM, John Fox wrote: >>>>>>> Dear Ben, >>>>>>> >>>>>>> I was hoping that someone would pick up on this >>>>>>> problem, because I've experienced the same issue of >>>>>>> --compact-vignettes apparently ignored, e.g., with >>>>>>> the Rcmdr package under R 4.0.2 on both macOS and >>>>>>> Windows. >>>>>>> >>>>>>> Best, John >>>>>>> >>>>>>> John Fox, Professor Emeritus McMaster University >>>>>>> Hamilton, Ontario, Canada web: >>>>>>> https://socialsciences.mcmaster.ca/jfox/ >>>>>>> >>>>>>> On 2020-10-05 1:09 p.m., Ben Bolker wrote: >>>>>>>> Am I confused, or doing something wrong, or >>>>>>>> ... ? >>>>>>>> >>>>>>>> I have qpdf installed, and am running R CMD >>>>>>>> build with --compact-vignettes, but the PDF in the >>>>>>>> tarball doesn't seem to be compressed despite the >>>>>>>> fact that the output messages say "compacting >>>>>>>> vignettes ..." >>>>>>>> >>>>>>>> >>>>>>>> $ R CMD build --compact-vignettes lme4 * >>>>>>>> checking for file ‘lme4/DESCRIPTION’ ... OK * >>>>>>>> preparing ‘lme4’: * checking DESCRIPTION >>>>>>>> meta-information ... OK * cleaning src * installing >>>>>>>> the package to process help pages * saving partial >>>>>>>> Rd database * creating vignettes ... OK Warning: >>>>>>>> ‘inst/doc’ files ‘lmerperf.html’, >>>>>>>> ‘lmer.pdf’, ‘PLSvGLS.pdf’, ‘Theory.pdf’ >>>>>>>> ignored as vignettes have been rebuilt. Run R >>>>>>>> CMD build with --no-build-vignettes to prevent >>>>>>>> rebuilding. * compacting vignettes and other PDF >>>>>>>> files * cleaning src * checking for LF line-endings >>>>>>>> in source and make files and shell scripts * >>>>>>>> checking for empty or unneeded directories * >>>>>>>> building ‘lme4_1.1-24.tar.gz’ >>>>>>>> >>>>>>>> The copy of lmer.pdf in the resulting tarball >>>>>>>> is 900K or so: >>>>>>>> >>>>>>>> $ tar ztvf lme4_1.1-24.tar.gz >>>>>>>> lme4/inst/doc/lmer.pdf -rw-r--r-- bolker/bolker >>>>>>>> 907022 2020-10-05 12:59 lme4/inst/doc/lmer.pdf >>>>>>>> >>>>>>>> The previously built (and manually compacted) >>>>>>>> version of lmer.pdf in the tarball is 500K: >>>>>>>> >>>>>>>> $ ls -l lme4/inst/doc/lmer.pdf -rw-r--r-- 1 bolker >>>>>>>> bolker 495199 Oct 3 22:15 lme4/inst/doc/lmer.pdf >>>>>>>> >>>>>>>> Is 'R CMD build' confused by the presence of >>>>>>>> a pre-built PDF in the inst/doc directory? Or am I >>>>>>>> somehow mistaken about how this is supposed to >>>>>>>> work? >>>>>>>> >>>>>>>> I would just use --no-build-vignettes and >>>>>>>> submit the tarball with the previously >>>>>>>> built/compressed PDF, but I'm trying to avoid a >>>>>>>> "Package has a VignetteBuilder field but no >>>>>>>> prebuilt vignette index" NOTE, which I assume is >>>>>>>> missing because I built without building vignettes >>>>>>>> ... ? >>>>>>>> >>>>>>>> As always, enlightenment is welcome. >>>>>>>> >>>>>>>> cheers Ben Bolker >>>>>>>> >>>>>>>> ______________________________________________ >>>>>>>> R-package-devel@r-project.org mailing list >>>>>>>> https://stat.ethz.ch/mailman/listinfo/r-package-devel >>>>> >>>>> ______________________________________________ >>>>> R-package-devel@r-project.org mailing list >>>>> https://stat.ethz.ch/mailman/listinfo/r-package-devel >>>>> >>>> >> > ______________________________________________ > R-package-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-package-devel ______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel