Skip to content
Prev 181310 / 398502 Next

build CONTENTS or 00Index.html without installing whole package

OK, one more for the records.  This script is now written so that it
uses Rscript instead of bash.  The last line still does not work.  I
don't know what make.packages.html requires, but apparently it
requires more than DESCRIPTION and 00Index.html in order to include a
package.  (The line about buildVignettes seems useless, so I commented
it out.)  The command line can include *.  So I use this after
download.packages(), with inst.R *.tar.gz.  (inst.R is what i call the
script.)

#!/usr/bin/Rscript --vanilla
# makes indexable help files for R packages, including pdf vignettes
# usage inst.R [files]
FILES <- commandArgs(TRUE)
print(FILES)
for (PKG in FILES)
  {
    system(paste("tar xfz",PKG))
    PK <- strsplit(PKG,"_")[[1]][1]
    print(PK)
    system(paste("mkdir -pv /usr/lib/R/library/",PK,"/html",sep=""))
# copy description (which contains version number)
    system(paste("cp ",PK,"/DESCRIPTION /usr/lib/R/library/",PK,sep=""))
# move vignettes if present
    system(paste("cp -r ",PK,"/inst/doc /usr/lib/R/library/",PK," >& /dev/null",sep=""))
#    buildVignettes(PK,paste("/usr/lib/R/library/",PK,sep=""))
# make html files
    system(paste("cd /usr/share/R/perl; ","perl build-help.pl --html /home/baron/",
                 PK," /usr/lib/R/library/","; cd /home/baron",sep=""))
# make indices
    tools:::.writePkgIndices(PK,paste("/usr/lib/R/library/",PK,sep=""))
    system(paste("rm -rf",PK))
  }
# try to build package list, doesn't work
# make.packages.html()