Print this page
Infrastructure for python version agility
Reviewed by: Dale Ghent <daleg@omniti.com>
Reviewed by: Eric Sproul <eric.sproul@circonus.com>


 668             logerr "------ Failed to generate manifest"
 669     else
 670         logmsg "--- Looks like a meta-package. Creating empty manifest"
 671         logcmd touch $P5M_INT || \
 672             logerr "------ Failed to create empty manifest"
 673     fi
 674     logmsg "--- Generating package metadata"
 675     echo "set name=pkg.fmri value=$FMRI" > $MY_MOG_FILE
 676     # Set human-readable version, if it exists
 677     if [[ -n "$VERHUMAN" ]]; then
 678         logmsg "------ Setting human-readable version"
 679         echo "set name=pkg.human-version value=\"$VERHUMAN\"" >> $MY_MOG_FILE
 680     fi
 681     echo "set name=pkg.summary value=\"$SUMMARY\"" >> $MY_MOG_FILE
 682     echo "set name=pkg.descr value=\"$DESCSTR\"" >> $MY_MOG_FILE
 683     echo "set name=publisher value=\"sa@omniti.com\"" >> $MY_MOG_FILE
 684     if [[ -f $SRCDIR/local.mog ]]; then
 685         LOCAL_MOG_FILE=$SRCDIR/local.mog
 686     fi
 687     logmsg "--- Applying transforms"
 688     $PKGMOGRIFY $P5M_INT $MY_MOG_FILE $GLOBAL_MOG_FILE $LOCAL_MOG_FILE $* | $PKGFMT -u > $P5M_INT2
 689     logmsg "--- Resolving dependencies"
 690     (
 691         set -e
 692         $PKGDEPEND generate -md $DESTDIR $P5M_INT2 > $P5M_INT3
 693         $PKGDEPEND resolve -m $P5M_INT3
 694     ) || logerr "--- Dependency resolution failed"
 695     echo > "$MANUAL_DEPS"
 696     if [[ -n "$RUN_DEPENDS_IPS" ]]; then
 697         logmsg "------ Adding manual dependencies"
 698         for i in $RUN_DEPENDS_IPS; do
 699             # IPS dependencies have multiple types, of which we care about four:
 700             #    require, optional, incorporate, exclude
 701             # For backward compatibility, assume no indicator means type=require
 702             # FMRI attributes are implicitly rooted so we don't have to prefix
 703             # 'pkg:/' or worry about ambiguities in names
 704             local DEPTYPE="require"
 705             case ${i:0:1} in
 706                 \=)
 707                     DEPTYPE="incorporate"
 708                     i=${i:1}


1239         return
1240     fi
1241 
1242     # NOTE -> if the nightly finishes between the above check and now, we
1243     # can produce confusing output since nightly_pid will be empty.
1244     nightly_pid=`ls -lt $PREBUILT_ILLUMOS/log/nightly.lock | awk -F. '{print $4}'`
1245     # Wait for nightly to be finished if it's running.
1246     logmsg "Waiting for illumos nightly build $nightly_pid to be finished."
1247     logmsg "Time spent waiting via time(1) printed below."
1248     logcmd "`/bin/time pwait $nightly_pid`"
1249     if [ -h $PREBUILT_ILLUMOS/log/nightly.lock ]; then
1250         logmsg "Nightly lock present, but build not running.  Bailing."
1251         if [[ -z $BATCH ]]; then
1252             ask_to_continue
1253         fi
1254         clean_up
1255         exit 1
1256     fi
1257 }
1258 









1259 # Vim hints
1260 # vim:ts=4:sw=4:et:


 668             logerr "------ Failed to generate manifest"
 669     else
 670         logmsg "--- Looks like a meta-package. Creating empty manifest"
 671         logcmd touch $P5M_INT || \
 672             logerr "------ Failed to create empty manifest"
 673     fi
 674     logmsg "--- Generating package metadata"
 675     echo "set name=pkg.fmri value=$FMRI" > $MY_MOG_FILE
 676     # Set human-readable version, if it exists
 677     if [[ -n "$VERHUMAN" ]]; then
 678         logmsg "------ Setting human-readable version"
 679         echo "set name=pkg.human-version value=\"$VERHUMAN\"" >> $MY_MOG_FILE
 680     fi
 681     echo "set name=pkg.summary value=\"$SUMMARY\"" >> $MY_MOG_FILE
 682     echo "set name=pkg.descr value=\"$DESCSTR\"" >> $MY_MOG_FILE
 683     echo "set name=publisher value=\"sa@omniti.com\"" >> $MY_MOG_FILE
 684     if [[ -f $SRCDIR/local.mog ]]; then
 685         LOCAL_MOG_FILE=$SRCDIR/local.mog
 686     fi
 687     logmsg "--- Applying transforms"
 688     $PKGMOGRIFY $XFORM_ARGS $P5M_INT $MY_MOG_FILE $GLOBAL_MOG_FILE $LOCAL_MOG_FILE $* | $PKGFMT -u > $P5M_INT2
 689     logmsg "--- Resolving dependencies"
 690     (
 691         set -e
 692         $PKGDEPEND generate -md $DESTDIR $P5M_INT2 > $P5M_INT3
 693         $PKGDEPEND resolve -m $P5M_INT3
 694     ) || logerr "--- Dependency resolution failed"
 695     echo > "$MANUAL_DEPS"
 696     if [[ -n "$RUN_DEPENDS_IPS" ]]; then
 697         logmsg "------ Adding manual dependencies"
 698         for i in $RUN_DEPENDS_IPS; do
 699             # IPS dependencies have multiple types, of which we care about four:
 700             #    require, optional, incorporate, exclude
 701             # For backward compatibility, assume no indicator means type=require
 702             # FMRI attributes are implicitly rooted so we don't have to prefix
 703             # 'pkg:/' or worry about ambiguities in names
 704             local DEPTYPE="require"
 705             case ${i:0:1} in
 706                 \=)
 707                     DEPTYPE="incorporate"
 708                     i=${i:1}


1239         return
1240     fi
1241 
1242     # NOTE -> if the nightly finishes between the above check and now, we
1243     # can produce confusing output since nightly_pid will be empty.
1244     nightly_pid=`ls -lt $PREBUILT_ILLUMOS/log/nightly.lock | awk -F. '{print $4}'`
1245     # Wait for nightly to be finished if it's running.
1246     logmsg "Waiting for illumos nightly build $nightly_pid to be finished."
1247     logmsg "Time spent waiting via time(1) printed below."
1248     logcmd "`/bin/time pwait $nightly_pid`"
1249     if [ -h $PREBUILT_ILLUMOS/log/nightly.lock ]; then
1250         logmsg "Nightly lock present, but build not running.  Bailing."
1251         if [[ -z $BATCH ]]; then
1252             ask_to_continue
1253         fi
1254         clean_up
1255         exit 1
1256     fi
1257 }
1258 
1259 # Change the PYTHON version so we can perform version-agile Python tricks.
1260 set_python_version() {
1261     PYTHONVER=$1
1262     PYTHONPKGVER=`echo $PYTHONVER | sed 's/\.//g'`
1263     # Assume PYTHONPATH from config.sh is a constant.
1264     PYTHON=$PYTHONPATH/bin/python$PYTHONVER
1265     PYTHONLIB=$PYTHONPATH/lib
1266 }
1267 
1268 # Vim hints
1269 # vim:ts=4:sw=4:et: