Greetings and Salutations Nigel, You’re welcome!
Just a word of advice regarding 3.4.x and 3.5.x, make sure the installer includes packages from the desired version. ALTREP was added in 3.5.x and that has caused issues with users who opt to copy over the previous installation of r binaries to the new install location. Lastly, you may wish to just maintain an R package install script, c.f. https://github.com/coatless/toad/blob/master/install-r-packages.R Sincerely, JJB From: Nigel Delaney <nigelfdela...@gmail.com> Date: Thursday, May 24, 2018 at 2:14 AM To: "Balamuta, James Joseph" <balam...@illinois.edu> Cc: "r-sig-mac@r-project.org" <r-sig-mac@r-project.org> Subject: Re: [R-SIG-Mac] Generating R .pkg file for Mac Distribution James, Thank you for the wonderful response and for making your packaging code available (and producing this!). Very much appreciated. I wound up taking an approach where I just modified the CRAN R installer to include a few more packages (specifically all I had installed). I couldn't find advice about this on the internet, so am attaching a subset of the script I used below in case a future individual also wants some advice on this. Cheers, Nigel # Script to modify the R bundle to add more packages from the users library wget https://cloud.r-project.org/bin/macosx/R-3.5.0.pkg BUILD_DIR=build mkdir $BUILD_DIR # Unpack the CRAN R distribution pkgutil --expand R-3.5.0.pkg $BUILD_DIR/tmp_pkg # Now to add more default packages to the R package payload # First extract the payload pushd $BUILD_DIR/tmp_pkg/r.pkg/ cat Payload | gzip -d | cpio -id # Copy all of the users R packages into this # folder for distribution R_LIB_DIR=$(sed -e 's/\[1\] \"//' -e 's/\"//' <<< $(RScript -e '.libPaths()')) R_PAYLOAD_DIR="R.framework/Resources/library" for dirname in $R_LIB_DIR/* do pkg_name=$(basename $dirname) if [ ! -d $R_PAYLOAD_DIR/$pkg_name ] then echo "Moving package:" $pkg_name cp -r $dirname $R_PAYLOAD_DIR/$pkg_name fi done # Let's remove the debug symbols and their associated plists for compiled code in R # packages, as they bloat the installation find $R_PAYLOAD_DIR -name '*so.dSYM' -prune -exec rm -rf {} \; # Now build a new r.pkg pkgbuild --component R.framework --scripts Scripts/ \ --identifier org.r-project.R.el-capitan.fw.pkg \ --version 30574626 \ # You may want to change this --install-location /Library/Frameworks \ ../../r.pkg popd # Remove original one we've replaced rm -rf $BUILD_DIR/tmp_pkg/r.pkg # Flatten remaining components distributed with R # (necessary to repackage it all). for fname in $BUILD_DIR/tmp_pkg/*.pkg do bname=$(basename $fname) pkgutil --flatten $fname $BUILD_DIR/$bname done mv $BUILD_DIR/tmp_pkg/Resources $BUILD_DIR/ mv $BUILD_DIR/tmp_pkg/Distribution $BUILD_DIR/ (cd $BUILD_DIR; productbuild --distribution Distribution --resources Resources ../R-With-Your-Stuff.pkg) [[alternative HTML version deleted]] _______________________________________________ R-SIG-Mac mailing list R-SIG-Mac@r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-mac