diff options
Diffstat (limited to 'build_tools/clarch/larch/run/jams.cachepacks.larch.patch')
-rw-r--r-- | build_tools/clarch/larch/run/jams.cachepacks.larch.patch | 352 |
1 files changed, 352 insertions, 0 deletions
diff --git a/build_tools/clarch/larch/run/jams.cachepacks.larch.patch b/build_tools/clarch/larch/run/jams.cachepacks.larch.patch new file mode 100644 index 0000000..2e40e17 --- /dev/null +++ b/build_tools/clarch/larch/run/jams.cachepacks.larch.patch @@ -0,0 +1,352 @@ +diff -Nur run.orig/cachepacs run/cachepacs +--- run.orig/cachepacs 1970-01-01 00:00:00.000000000 +0000 ++++ run/cachepacs 2008-08-29 02:34:57.000000000 +0000 +@@ -0,0 +1,139 @@ ++#! /bin/bash ++# ++# cachepacs - install pkgs to cache dir, but don't isntall ++# ++# Author: James Meyer (based on inpacs) ++ ++ ++# Working directory: ++TMPDIR=/tmp/inpacs$$ ++# File containing (filtered) list of base packages + added packages ++basepacks=${TMPDIR}/basepacks ++ ++APP="$( basename $0 )" ++ ++exitfunc () { ++ # Remove temporary files ++ rm -rf ${TMPDIR} ++ exit $1 ++} ++ ++# Default pacman db path (this is a statement, not a configuration, so ++# do not change it!) ++DBPATH="/var/lib/pacman" ++ ++# Default package cache, on the target ++TARGETCACHE="${CACHE}" ++# A host or remote package cache: ++HOSTCACHE="" ++# Absolute /path/to/file containing list of packages for 2nd install phase: ++ADDEDPACKS="" ++# Source file for base package list: ++BASEPACKSFILE="" ++# Source file for list of vetoed base packages: ++VETOFILE="" ++# Source directory for pacman database directories: ++DBDIR="" ++# pacman executable: ++PACMANX="pacman -f" ++# pacman configuration file ++PACMANK="/etc/pacman.conf" ++ ++checkfile () ++{ ++ f=$( readlink -m $1 ) ++ if ! [ -f "${f}" ]; then ++ echo "ERROR: File doesn't exist: ${f}" ++ exitfunc ++ fi ++} ++ ++checkdir () ++{ ++ f=$( readlink -m $1 ) ++ if ! [ -d "${f}" ]; then ++ echo "ERROR: Directory doesn't exist: ${f}" ++ exitfunc ++ fi ++} ++ ++ ++while getopts ":k:a:c:b:x:y:P:" Option ++do ++ case ${Option} in ++ k ) checkfile ${OPTARG} ++ PACMANK=${f} ;; ++ a ) checkfile ${OPTARG} ++ CACHEPACKSFILE=${f} ;; ++ y ) checkdir ${OPTARG} ++ DBDIR=${f} ;; ++ P ) checkfile ${OPTARG} ++ PACMANX=${f} ;; ++ #* ) usage ;; ++ esac ++done ++shift $((${OPTIND} - 1)) ++INSTLDIR="$1" ++ ++ ++# grep the cachedir out of the installed pacman.conf ++PCCACHE=`grep CacheDir $INSTLDIR/etc/pacman.conf|cut -d= -f2|cut -d\/ -f2-` ++CACHEDIR=${INSTLDIR}/$PCCACHE ++ ++echo "INSTLDIR=${INSTLDIR}" ++echo "PACMANK=${PACMANK}" ++echo "CACHEDIR=${CACHEDIR}" ++echo "DBDIR=${DBDIR}" ++echo "PACMANX=${PACMANX}" ++echo ++ ++ ++# test if the script is started by root user. If not, exit ++if [ $UID -ne 0 ]; then ++ echo "Only root can run ${APP}"; exitfunc 1 ++fi ++ ++echo "//" ++echo "// downloading packages to ${CACHEDIR}" ++ ++PACMAN="${PACMANX} --config ${PACMANK} --noconfirm" ++ ++rm -rf ${TMPDIR} ++mkdir -p ${TMPDIR} ++ ++# Helper function for installing a list of packages ++doInstall() { ++ mkdir -p ${INSTLDIR}/sys ++ mkdir -p ${INSTLDIR}/proc ++ mount --bind /sys ${INSTLDIR}/sys ++ mount --bind /proc ${INSTLDIR}/proc ++ ${PACMAN} -r ${INSTLDIR} -Sw $1 ++ RET=$? ++ umount ${INSTLDIR}/proc ++ umount ${INSTLDIR}/sys ++ if [ ${RET} -ne 0 ]; then ++ echo "//" ++ echo "// Package $1 FAILED." ++ echo "//" ++ return 1 ++ fi ++} ++ ++ ++PACMAN="${PACMAN} --cachedir $CACHEDIR" ++ ++########## GET LIST OF CACHE PACKAGES ++echo "//" ++echo "// ** Getting cache package list ..." ++if [ -n "${CACHEPACKSFILE}" ]; then ++ echo "// from: ${CACHEPACKSFILE}" ++ CACHEPKGS=$( cat ${CACHEPACKSFILE} | grep -v "#" ) ++else ++ echo " no cache package file found" ++ exit 0 ++fi ++ ++ ++doInstall "${CACHEPKGS}" ++if [ $? -ne 0 ]; then exitfunc 1; fi ++exitfunc +diff -Nur run.orig/inpacs run/inpacs +--- run.orig/inpacs 2008-08-10 10:51:15.000000000 +0000 ++++ run/inpacs 2008-08-29 02:29:31.000000000 +0000 +@@ -116,7 +116,7 @@ + # Source directory for pacman database directories: + DBDIR="" + # pacman executable: +-PACMANX="pacman" ++PACMANX="pacman -f" + # pacman configuration file + PACMANK="/etc/pacman.conf" + +diff -Nur run.orig/jams.larch.patch run/jams.larch.patch +--- run.orig/jams.larch.patch 1970-01-01 00:00:00.000000000 +0000 ++++ run/jams.larch.patch 2008-08-29 02:34:34.000000000 +0000 +@@ -0,0 +1,110 @@ ++Only in run/: cachepacs ++diff -wU4 run.orig/inpacs run/inpacs ++--- run.orig/inpacs 2008-08-10 10:51:15.000000000 +0000 +++++ run/inpacs 2008-08-29 02:29:31.000000000 +0000 ++@@ -115,9 +115,9 @@ ++ VETOFILE="" ++ # Source directory for pacman database directories: ++ DBDIR="" ++ # pacman executable: ++-PACMANX="pacman" +++PACMANX="pacman -f" ++ # pacman configuration file ++ PACMANK="/etc/pacman.conf" ++ ++ checkfile () ++diff -wU4 run.orig/mklarch run/mklarch ++--- run.orig/mklarch 2008-08-10 10:51:15.000000000 +0000 +++++ run/mklarch 2008-08-29 02:29:45.000000000 +0000 ++@@ -22,9 +22,8 @@ ++ # ++ #---------------------------------------------------------------------------- ++ # 2008.06.22 ++ ++- ++ # directory to use for building the CD - the installation root ++ # It must have LOTS of space, ~ 4GB for a 700MB CD ++ INSTLDIR=/home/larchroot ++ ++@@ -162,8 +161,9 @@ ++ fi ++ ++ for fd in $( ls -A ${INSTLDIR} ); do ++ rm -rf ${INSTLDIR}/${fd} +++#lookforme ++ done ++ mkdir -p ${LARCHBUILD} ++ ++ ############### Call 'inpacs' to do the installation ++@@ -186,9 +186,8 @@ ++ exit 1 ++ fi ++ fi ++ INPACSO="${INPACSO} -k pacman.conf" ++- ++ # If necessary add the larch repository to pacman.conf ++ if ! grep '^[larch5]' pacman.conf &>/dev/null; then ++ if [ -d larchrepo ]; then ++ larch5path="file://$( readlink -f larchrepo )" ++@@ -198,14 +197,15 @@ ++ sysarch="i686" ++ fi ++ larch5path="${larch5path}/${sysarch}" ++ fi ++- sed "/\[testing\]/ i \ ++-[larch5]\n\ ++-Server = ${larch5path}\n\ ++-#larch5---\n" -i pacman.conf +++ #sed "/\[testing\]/ i \ +++ echo "[larch5] " >> pacman.conf +++ echo "Server = ${larch5path}" >> pacman.conf ++ fi ++ +++ +++ ++ if ! which pacman &>/dev/null; then ++ if ! [ -x ${startdir}/pacman ]; then ++ echo "ERROR: Couldn't find pacman executable" ++ exit 1 ++@@ -217,17 +217,21 @@ ++ if [ $? -ne 0 ]; then exit 1; fi ++ ++ # Use build version of pacman.conf in live system, without [larch5] repository. ++ # This can be overwritten by a pacman.conf in the profile's overlay. +++ ++ rm -f ${INSTLDIR}/etc/pacman.conf ++-if [ -f pacman.conf.0 ]; then +++if [ -f ${PROFILE}/pacman.conf ]; then ++ # This file should be used in preference to pacman.conf - it is created by ++ # larch-setup on non-Arch systems before commenting out the 'Include' lines. ++- cp pacman.conf.0 ${INSTLDIR}/etc/pacman.conf +++ cp ${PROFILE}/pacman.conf ${INSTLDIR}/etc/pacman.conf ++ else ++ sed '/^\[larch5\]/,/^ *$/ d' <pacman.conf >${INSTLDIR}/etc/pacman.conf ++ fi ++ +++cachepacs -a ${PROFILE}/cache_packs $INPACSO -d ${INSTLDIR} +++ +++ ++ # Generate glibc locales ++ if [ -f ${PROFILE}/locale.gen ]; then ++ echo ++ echo "********** Generating locales **********" ++@@ -247,8 +251,17 @@ ++ fi ++ ++ echo "// ${APP} finished installation of Arch system" ++ echo "//" +++ +++#run script to post-process the new installation +++if [ -f ${PROFILE}/post-process.sh ] +++then +++ ${PROFILE}/post-process.sh ${INSTLDIR} ${PROFILE} +++ echo ${PROFILE}/post-process.sh ${INSTLDIR} ${PROFILE} +++fi +++ +++ ++ if [ -z "${NOLIVE}" ]; then ++ # Get live CD build functions ++ . ${LARCHDATA}/buildlive ++ mklive +diff -Nur run.orig/mklarch run/mklarch +--- run.orig/mklarch 2008-08-10 10:51:15.000000000 +0000 ++++ run/mklarch 2008-08-29 02:29:45.000000000 +0000 +@@ -23,7 +23,6 @@ + #---------------------------------------------------------------------------- + # 2008.06.22 + +- + # directory to use for building the CD - the installation root + # It must have LOTS of space, ~ 4GB for a 700MB CD + INSTLDIR=/home/larchroot +@@ -163,6 +162,7 @@ + + for fd in $( ls -A ${INSTLDIR} ); do + rm -rf ${INSTLDIR}/${fd} ++#lookforme + done + mkdir -p ${LARCHBUILD} + +@@ -187,7 +187,6 @@ + fi + fi + INPACSO="${INPACSO} -k pacman.conf" +- + # If necessary add the larch repository to pacman.conf + if ! grep '^[larch5]' pacman.conf &>/dev/null; then + if [ -d larchrepo ]; then +@@ -199,12 +198,13 @@ + fi + larch5path="${larch5path}/${sysarch}" + fi +- sed "/\[testing\]/ i \ +-[larch5]\n\ +-Server = ${larch5path}\n\ +-#larch5---\n" -i pacman.conf ++ #sed "/\[testing\]/ i \ ++ echo "[larch5] " >> pacman.conf ++ echo "Server = ${larch5path}" >> pacman.conf + fi + ++ ++ + if ! which pacman &>/dev/null; then + if ! [ -x ${startdir}/pacman ]; then + echo "ERROR: Couldn't find pacman executable" +@@ -218,15 +218,19 @@ + + # Use build version of pacman.conf in live system, without [larch5] repository. + # This can be overwritten by a pacman.conf in the profile's overlay. ++ + rm -f ${INSTLDIR}/etc/pacman.conf +-if [ -f pacman.conf.0 ]; then ++if [ -f ${PROFILE}/pacman.conf ]; then + # This file should be used in preference to pacman.conf - it is created by + # larch-setup on non-Arch systems before commenting out the 'Include' lines. +- cp pacman.conf.0 ${INSTLDIR}/etc/pacman.conf ++ cp ${PROFILE}/pacman.conf ${INSTLDIR}/etc/pacman.conf + else + sed '/^\[larch5\]/,/^ *$/ d' <pacman.conf >${INSTLDIR}/etc/pacman.conf + fi + ++cachepacs -a ${PROFILE}/cache_packs $INPACSO -d ${INSTLDIR} ++ ++ + # Generate glibc locales + if [ -f ${PROFILE}/locale.gen ]; then + echo +@@ -248,6 +252,15 @@ + + echo "// ${APP} finished installation of Arch system" + echo "//" ++ ++#run script to post-process the new installation ++if [ -f ${PROFILE}/post-process.sh ] ++then ++ ${PROFILE}/post-process.sh ${INSTLDIR} ${PROFILE} ++ echo ${PROFILE}/post-process.sh ${INSTLDIR} ${PROFILE} ++fi ++ ++ + if [ -z "${NOLIVE}" ]; then + # Get live CD build functions + . ${LARCHDATA}/buildlive |