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:
|