New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Changeset 79852


Ignore:
Timestamp:
06/27/11 22:21:20 (4 years ago)
Author:
jmr@…
Message:

mpab: update mpsync.sh to allow chrootless operation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • contrib/mpab/mpsync.sh

    r79836 r79852  
    1111   dataDir=$MPAB_DATA 
    1212fi 
     13if [[ -z "$PREFIX" ]]; then 
     14   PREFIX=/opt/local 
     15fi 
    1316if [[ -z "$SRC_PREFIX" ]]; then 
    1417   SRC_PREFIX=/opt/mports 
     
    1619 
    1720chrootPath="${dataDir}/${CHROOTSUBDIR}" 
     21OSMajor=`uname -r | sed 's/\..*//'` 
     22# xcodebuild breaks in chroots on 10.6 
     23if [[ $1 = "-n" || $OSMajor -ge 10 ]]; then 
     24    chrootPath="" 
     25    if [[ $1 = "-n" ]]; then 
     26        shift 
     27    fi 
     28fi 
    1829 
    1930# $1 - script to execute 
    2031function chroot_exec () { 
    21     cp -p ${baseDir}/chroot-scripts/$1 ${chrootPath}/var/tmp/ 
    22     # Set DYLD_NO_FIX_PREBINDING as otherwise, on 10.5, dyld will spew 
    23     # errors to syslog/console log like: 
    24     # com.apple.launchd[1] (com.apple.dyld): Throttling respawn: Will start in 10 seconds 
    25     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 
     32    cp -p ${baseDir}/chroot-scripts/$1 ${chrootPath}/var/tmp 
     33    if [[ -n "$chrootPath" ]]; then 
     34        # Set DYLD_NO_FIX_PREBINDING as otherwise, on 10.5, dyld will spew 
     35        # errors to syslog/console log like: 
     36        # com.apple.launchd[1] (com.apple.dyld): Throttling respawn: Will start in 10 seconds 
     37        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 
     38    else 
     39        env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin HOME=/var/root PREFIX=${PREFIX} SRC_PREFIX=${SRC_PREFIX} /bin/sh /var/tmp/$1 
     40    fi 
    2641    rm ${chrootPath}/var/tmp/$1 
    2742} 
     
    2944if [[ -d ${dataDir}/${exportDir} ]] ; then  
    3045    svn update --non-interactive \ 
    31         -r HEAD ${dataDir}/${exportDir} \ 
     46        -r HEAD ${dataDir}/${exportDir}/* \ 
    3247        > /dev/null || exit 1 
    3348else 
     
    3853fi 
    3954 
    40 if [[ ! -d ${chrootPath} ]] ; then 
     55if [[ -n "$chrootPath" && ! -d "$chrootPath" ]] ; then 
    4156    sudo ${baseDir}/mpab mount || exit 1 
    4257    umount=yes 
     
    4762    ${chrootPath}${SRC_PREFIX} || exit 1 
    4863 
    49 echo "Re-creating portindex in chroot" 
     64echo "Re-creating portindex" 
    5065chroot_exec recreateportindex 
    5166 
Note: See TracChangeset for help on using the changeset viewer.