Skip to content
Prev 181263 / 398503 Next

build CONTENTS or 00Index.html without installing whole package

Replying to myself again, I've now figured out how to build all the
help files, including 00Index.html, without actually building the
package.  The point is to construct a complete list of all html help
files for searching.

The one thing I cannot figure out is how to build the index of all
packages which (for me) is at
/usr/share/doc/R-2.9.0/html/packages.html
Apparently this requires something other than DESCRIPTION and
00Index.html files in each package, which is all I have.

Here is the script:

#!/bin/bash
# makes indexable help files for R packages, including pdf vignettes
# usage inst.bat "[files]" --- quotes needed for wildcards like "*.tar.gz"
for PKG in `ls $1`
  do
    tar xfz $PKG
    PK=`echo $PKG | /bin/sed -e 's/.tar.gz//' | cut -d"_" -f1`
    echo $PK
    mkdir -pv /usr/lib/R/library/$PK
    mkdir -pv /usr/lib/R/library/$PK/html
# copy description (which contains version number)
    cp $PK/DESCRIPTION /usr/lib/R/library/$PK
# move vignettes if present
    if [ -d $PK/inst/doc ]; then
      mkdir -pv /usr/lib/R/library/$PK/doc
      cp $PK/inst/doc/* /usr/lib/R/library/$PK/doc
    fi
# make html files
    R CMD perl /usr/share/R/perl/build-help.pl --html /home/baron/$PK /usr/lib/R/library/
# make indices
    Rscript --vanilla -e "tools:::.writePkgIndices('$PK','/usr/lib/R/library/$PK')"
    rm -rf $PK
  done
# try to build package list, doesn't work
# Rscript --no-init-file --no-save -e "make.packages.html(packages=FALSE)"