Revision: 79836 http://trac.macports.org/changeset/79836 Author: jmr@macports.org Date: 2011-06-27 15:22:56 -0700 (Mon, 27 Jun 2011) Log Message: ----------- mpab: make macports prefix and location to keep sources configurable Modified Paths: -------------- contrib/mpab/chroot-scripts/buildports contrib/mpab/chroot-scripts/genportlist.tcl contrib/mpab/chroot-scripts/installmacports contrib/mpab/chroot-scripts/recreateportindex contrib/mpab/mpab contrib/mpab/mpab-functions contrib/mpab/mpsync.sh Modified: contrib/mpab/chroot-scripts/buildports =================================================================== --- contrib/mpab/chroot-scripts/buildports 2011-06-27 22:22:18 UTC (rev 79835) +++ contrib/mpab/chroot-scripts/buildports 2011-06-27 22:22:56 UTC (rev 79836) @@ -30,7 +30,9 @@ # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # -PREFIX="/opt/local" +if [[ -z "$PREFIX" ]]; then + PREFIX=/opt/local +fi ARCHIVE_TYPE=".tbz2" function uninstallPorts() Modified: contrib/mpab/chroot-scripts/genportlist.tcl =================================================================== --- contrib/mpab/chroot-scripts/genportlist.tcl 2011-06-27 22:22:18 UTC (rev 79835) +++ contrib/mpab/chroot-scripts/genportlist.tcl 2011-06-27 22:22:56 UTC (rev 79836) @@ -31,10 +31,13 @@ # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # -set prefix /opt/local +if {[info exists env(PREFIX)]} { + set prefix $env(PREFIX) +} else { + set prefix /opt/local +} -catch {source \ - [file join ${prefix} share macports Tcl macports1.0 macports_fastload.tcl]} +source ${prefix}/share/macports/Tcl/macports1.0/macports_fastload.tcl package require macports Modified: contrib/mpab/chroot-scripts/installmacports =================================================================== --- contrib/mpab/chroot-scripts/installmacports 2011-06-27 22:22:18 UTC (rev 79835) +++ contrib/mpab/chroot-scripts/installmacports 2011-06-27 22:22:56 UTC (rev 79836) @@ -3,9 +3,15 @@ # configure/build/install MacPorts in the chroot # -cd /opt/mports/base -./configure && make all && make install && make distclean +if [[ -z "$PREFIX" ]]; then + PREFIX=/opt/local +fi +if [[ -z "$SRC_PREFIX" ]]; then + SRC_PREFIX=/opt/mports +fi + +cd ${SRC_PREFIX}/base +./configure --prefix=${PREFIX} && make -j2 all && make install && make distclean if [[ $? == 0 ]]; then - echo "file:///opt/mports/dports [default]" > /opt/local/etc/macports/sources.conf + echo "file://${SRC_PREFIX}/dports [default]" > ${PREFIX}/etc/macports/sources.conf fi - Modified: contrib/mpab/chroot-scripts/recreateportindex =================================================================== --- contrib/mpab/chroot-scripts/recreateportindex 2011-06-27 22:22:18 UTC (rev 79835) +++ contrib/mpab/chroot-scripts/recreateportindex 2011-06-27 22:22:56 UTC (rev 79836) @@ -3,5 +3,12 @@ # re-create the portindex # -cd /opt/mports/dports -/opt/local/bin/portindex > /dev/null +if [[ -z "$PREFIX" ]]; then + PREFIX=/opt/local +fi +if [[ -z "$SRC_PREFIX" ]]; then + SRC_PREFIX=/opt/mports +fi + +cd ${SRC_PREFIX}/dports +${PREFIX}/bin/portindex > /dev/null Modified: contrib/mpab/mpab =================================================================== --- contrib/mpab/mpab 2011-06-27 22:22:18 UTC (rev 79835) +++ contrib/mpab/mpab 2011-06-27 22:22:56 UTC (rev 79836) @@ -30,6 +30,16 @@ export PATH=/bin:/usr/bin:/sbin:/usr/sbin +if [[ -z "$PREFIX" ]]; then + PREFIX=/opt/local +fi +export PREFIX +# location to store base and dports sources +if [[ -z "$SRC_PREFIX" ]]; then + SRC_PREFIX=/opt/mports +fi +export SRC_PREFIX + # Base filename for the disk image IMGBASENAME="mproot" @@ -122,9 +132,9 @@ trap "exitFunction ${dataDir} ${chrootPath}" EXIT exitMessage="Stopping..." if [[ ${command} == "rebuildmp" ]]; then - rm -rf ${chrootPath}/opt/mports + rm -rf ${chrootPath}${SRC_PREFIX} if [[ -n "$chrootPath" ]]; then - rm -f ${chrootPath}/opt/local/bin/port + rm -f ${chrootPath}${PREFIX}/bin/port fi fi Modified: contrib/mpab/mpab-functions =================================================================== --- contrib/mpab/mpab-functions 2011-06-27 22:22:18 UTC (rev 79835) +++ contrib/mpab/mpab-functions 2011-06-27 22:22:56 UTC (rev 79836) @@ -215,25 +215,25 @@ local chrootPath=$3 local mpExport=$4 - if [[ ! -d ${chrootPath}/opt/mports ]]; then + if [[ ! -d ${chrootPath}${SRC_PREFIX} ]]; then if [[ -f ${dataDir}/${mpExport} ]]; then - mkdir -p ${chrootPath}/opt/mports + mkdir -p ${chrootPath}${SRC_PREFIX} echo ${mpExport} | grep -q "MacPorts-......tar.gz" if [[ $? == 0 ]]; then - cp ${mpExport} ${chrootPath}/opt/mports - cd ${chrootPath}/opt/mports + cp ${mpExport} ${chrootPath}${SRC_PREFIX} + cd ${chrootPath}${SRC_PREFIX} tar xzf ${mpExport} || return 1 rm -rf base 2>/dev/null mv $(ls -d MacPorts-?.?.?) base || return 1 else - cd ${chrootPath}/opt/mports + cd ${chrootPath}${SRC_PREFIX} bunzip2 -c ${dataDir}/${mpExport} | tar xf - fi cd - > /dev/null elif [[ -d ${dataDir}/${mpExport} ]]; then - mkdir -p ${chrootPath}/opt/mports + mkdir -p ${chrootPath}${SRC_PREFIX} cd ${dataDir}/${mpExport} && \ - rsync -r --del --exclude '*~' --exclude '.svn' . ${chrootPath}/opt/mports + rsync -r --del --exclude '*~' --exclude '.svn' . ${chrootPath}${SRC_PREFIX} cd - > /dev/null else echo "No ${mpExport} found" @@ -241,7 +241,7 @@ fi fi - if [[ ! -f ${chrootPath}/opt/local/bin/port ]]; then + if [[ ! -f ${chrootPath}${PREFIX}/bin/port ]]; then chrootExec installmacports fi @@ -344,8 +344,8 @@ mount_devfs devfs ${chrootPath}/dev mount_fdesc -o union fdesc ${chrootPath}/dev - mkdir -p ${chrootPath}/opt/local/var/macports/distfiles - hdiutil attach ${baseDir}/${imgBaseName}_distcache.sparseimage -mountpoint ${chrootPath}/opt/local/var/macports/distfiles -noverify -owners on -nobrowse -noautofsck ${HDIUTILDEBUG} + mkdir -p ${chrootPath}${PREFIX}/var/macports/distfiles + hdiutil attach ${baseDir}/${imgBaseName}_distcache.sparseimage -mountpoint ${chrootPath}${PREFIX}/var/macports/distfiles -noverify -owners on -nobrowse -noautofsck ${HDIUTILDEBUG} returnValue=$? if [[ ${returnValue} != 0 ]]; then echo "Failed to attach distfiles image" @@ -374,9 +374,9 @@ # And again for the devfs umount -f ${chrootPath}/dev fi - if [[ -d ${chrootPath}/opt/local/var/macports/distfiles ]]; then + if [[ -d ${chrootPath}${PREFIX}/var/macports/distfiles ]]; then # Now the cache image for the dist files - hdiutil detach ${chrootPath}/opt/local/var/macports/distfiles ${HDIUTILDEBUG} + hdiutil detach ${chrootPath}${PREFIX}/var/macports/distfiles ${HDIUTILDEBUG} fi if [[ -d ${chrootPath} ]]; then # Finally, the main image itself @@ -398,9 +398,9 @@ # Set DYLD_NO_FIX_PREBINDING as otherwise, on 10.5, dyld will spew # errors to syslog/console log like: # com.apple.launchd[1] (com.apple.dyld): Throttling respawn: Will start in 10 seconds - env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin HOME=/var/root DYLD_NO_FIX_PREBINDING=1 /usr/sbin/chroot ${chrootPath} /bin/sh /var/tmp/$1 + env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin HOME=/var/root DYLD_NO_FIX_PREBINDING=1 PREFIX=${PREFIX} SRC_PREFIX=${SRC_PREFIX} /usr/sbin/chroot ${chrootPath} /bin/sh /var/tmp/$1 else - env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin HOME=/var/root /bin/sh /var/tmp/$1 + env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin HOME=/var/root PREFIX=${PREFIX} SRC_PREFIX=${SRC_PREFIX} /bin/sh /var/tmp/$1 fi rm ${chrootPath}/var/tmp/$1 } Modified: contrib/mpab/mpsync.sh =================================================================== --- contrib/mpab/mpsync.sh 2011-06-27 22:22:18 UTC (rev 79835) +++ contrib/mpab/mpsync.sh 2011-06-27 22:22:56 UTC (rev 79836) @@ -7,9 +7,12 @@ baseDir=$(dirname $0) dataDir=$(pwd) -if [[ $MPAB_DATA ]]; then +if [[ -n "$MPAB_DATA" ]]; then dataDir=$MPAB_DATA fi +if [[ -z "$SRC_PREFIX" ]]; then + SRC_PREFIX=/opt/mports +fi chrootPath="${dataDir}/${CHROOTSUBDIR}" @@ -34,14 +37,14 @@ ${dataDir}/${exportDir} > /dev/null || exit 1 fi -if [[ ! -d ${dataDir}/mpchroot ]] ; then +if [[ ! -d ${chrootPath} ]] ; then sudo ${baseDir}/mpab mount || exit 1 umount=yes fi rsync -r --del --exclude '*~' --exclude '.svn' \ ${dataDir}/${exportDir}/dports \ - ${dataDir}/mpchroot/opt/mports || exit 1 + ${chrootPath}${SRC_PREFIX} || exit 1 echo "Re-creating portindex in chroot" chroot_exec recreateportindex
participants (1)
-
jmr@macports.org