NOCVS=""
NOCVSSPEC=""
NODIST=""
+NOINIT=""
UPDATE=""
UPDATE5=""
ADD5=""
ATTICDISTFILES_SERVER="://attic-distfiles.pld-linux.org"
DEF_NICE_LEVEL=19
+SCHEDTOOL="auto"
FAIL_IF_NO_SOURCES="yes"
wget --help 2>&1 | grep -q ' \-\-no-check\-certificate ' && WGET_OPTS="$WGET_OPTS --no-check-certificate"
+if [ "$SCHEDTOOL" = "auto" ]; then
+ if [ -x /usr/bin/schedtool ] && schedtool -B -e echo >/dev/null; then
+ SCHEDTOOL="schedtool -B -e"
+ else
+ SCHEDTOOL="no"
+ fi
+fi
+
if [ -n "$USE_PROZILLA" ]; then
GETURI="proz --no-getch -r -P ./ -t$WGET_RETRIES $PROZILLA_OPTS"
GETURI2="$GETURI"
if [ -n "$LASTLOG_FILE" ]; then
echo "LASTLOG=$LOG" > $LASTLOG_FILE
fi
- (nice -n ${DEF_NICE_LEVEL} ${POLDEK_CMD} `while test $# -gt 0; do echo "$1 ";shift;done` ; echo $? > ${RES_FILE})|tee -a $LOG
+ (${NICE_COMMAND} ${POLDEK_CMD} `while test $# -gt 0; do echo "$1 ";shift;done` ; echo $? > ${RES_FILE})|tee -a $LOG
return $exit_pldk
else
- (nice -n ${DEF_NICE_LEVEL} ${POLDEK_CMD} `while test $# -gt 0; do echo "$1 ";shift;done` ; echo $? > ${RES_FILE}) 1>&2 >/dev/null
+ (${NICE_COMMAND} ${POLDEK_CMD} `while test $# -gt 0; do echo "$1 ";shift;done` ; echo $? > ${RES_FILE}) 1>&2 >/dev/null
return `cat ${RES_FILE}`
rm -rf ${RES_FILE}
fi
-ns, --no-srcs - don't download Sources
-ns0, --no-source0 - don't download Source0
-nn, --no-net - don't download anything from the net
+-ni, --no-init - don't initialize builder paths (SPECS and SOURCES)
-ske,
--skip-existing-files - skip existing files in get_files
--opts <rpm opts> - additional options for rpm
-FRB, --force-remove-build-requires
- remove all you fetched with -R or --fetch-build-requires
remember, this option works without confirmation,
+-sd, --source-distfiles - list sources available from distfiles (intended for offline
+ operations; does not work when Icon field is present
+ but icon file is absent),
+-sdp, --source-distfiles-paths - list sources available from distfiles -
+ paths relative to distfiles directory (intended for offline
+ operations; does not work when Icon field is present
+ but icon file is absent),
-sf, --source-files - list sources - bare filenames (intended for offline
operations; does not work when Icon field is present
but icon file is absent),
fi
if [ "x$TITLECHANGE" == "xyes" -o "x$TITLECHANGE" == "x" ]; then
- msg="builder[$SPECFILE] ${SHELL_TITLE_PREFIX:+$SHELL_TITLE_PREFIX }$msg"
+ local pkg
+ if [ -n "$PACKAGE_NAME" ]; then
+ pkg=${PACKAGE_NAME}-${PACKAGE_VERSION}-${PACKAGE_RELEASE}
+ else
+ pkg=${SPECFILE}
+ fi
+
+ msg="$pkg: ${SHELL_TITLE_PREFIX:+$SHELL_TITLE_PREFIX }$msg"
case "$TERM" in
cygwin|xterm*)
echo >&2 -ne "\033]1;$msg\007\033]2;$msg\007"
set -v;
fi
- SOURCE_DIR="`eval $RPM $RPMOPTS --eval '%{_sourcedir}'`"
- SPECS_DIR="`eval $RPM $RPMOPTS --eval '%{_specdir}'`"
+ if [ "$NOINIT" != "yes" ] ; then
+ SOURCE_DIR="`eval $RPM $RPMOPTS --eval '%{_sourcedir}'`"
+ SPECS_DIR="`eval $RPM $RPMOPTS --eval '%{_specdir}'`"
+ else
+ SOURCE_DIR="."
+ SPECS_DIR="."
+ fi
__PWD="`pwd`"
}
fi
}
+distfiles_path ()
+{
+ echo "by-md5/$(src_md5 "$1" | sed -e 's|^\(.\)\(.\)|\1/\2/&|')/$(basename "$1")"
+}
+
distfiles_url ()
{
- echo "$PROTOCOL$DISTFILES_SERVER/distfiles/by-md5/$(src_md5 "$1" | sed -e 's|^\(.\)\(.\)|\1/\2/&|')/$(basename "$1")"
+ echo "$PROTOCOL$DISTFILES_SERVER/distfiles/$(distfiles_path "$1")"
}
distfiles_attic_url ()
{
- echo "$PROTOCOL$ATTICDISTFILES_SERVER/distfiles/Attic/by-md5/$(src_md5 "$1" | sed -e 's|^\(.\)\(.\)|\1/\2/&|')/$(basename "$1")"
+ echo "$PROTOCOL$ATTICDISTFILES_SERVER/distfiles/Attic/$(distfiles_path "$1")"
}
good_md5 ()
echo "LASTLOG=$LOG" > $LASTLOG_FILE
fi
RES_FILE=~/tmp/$RPMBUILD-exit-status.$RANDOM
- (time eval nice -n ${DEF_NICE_LEVEL} $RPMBUILD $BUILD_SWITCH -v $QUIET $CLEAN $RPMOPTS $RPMBUILDOPTS $BCOND $TARGET_SWITCH $SPECFILE; echo $? > $RES_FILE) 2>&1 |tee $LOG
+ (time eval ${NICE_COMMAND} $RPMBUILD $BUILD_SWITCH -v $QUIET $CLEAN $RPMOPTS $RPMBUILDOPTS $BCOND $TARGET_SWITCH $SPECFILE; echo $? > $RES_FILE) 2>&1 |tee $LOG
RETVAL=`cat $RES_FILE`
rm $RES_FILE
if [ -n "$LOGDIROK" ] && [ -n "$LOGDIRFAIL" ]; then
fi
fi
else
- eval nice -n ${DEF_NICE_LEVEL} $RPMBUILD $BUILD_SWITCH -v $QUIET $CLEAN $RPMOPTS $RPMBUILDOPTS $BCOND $TARGET_SWITCH $SPECFILE
+ eval ${NICE_COMMAND} $RPMBUILD $BUILD_SWITCH -v $QUIET $CLEAN $RPMOPTS $RPMBUILDOPTS $BCOND $TARGET_SWITCH $SPECFILE
RETVAL=$?
fi
if [ "$RETVAL" -ne "0" ]; then
NOSRCS="yes"
ALWAYS_CVSUP="no"
shift;;
+ -ni | --no-init )
+ NOINIT="yes"
+ shift;;
--opts )
shift; RPMOPTS="$RPM_OPTS ${1}"; shift ;;
--nopatch | -np )
-FRB | --force-remove-build-requires)
REMOVE_BUILD_REQUIRES="force"
shift ;;
+ -sd | --sources-distfiles)
+ COMMAND="list-sources-distfiles"
+ shift ;;
+ -sdp | --sources-distfiles-paths)
+ COMMAND="list-sources-distfiles-paths"
+ shift ;;
-sf | --sources-files)
COMMAND="list-sources-files"
shift ;;
esac
fi
+if [ "$SCHEDTOOL" != "no" ]; then
+ NICE_COMMAND="$SCHEDTOOL"
+else
+ NICE_COMMAND="nice -n ${DEF_NICE_LEVEL}"
+fi
+
update_shell_title "$COMMAND"
case "$COMMAND" in
"build" | "build-binary" | "build-source" | "build-prep" )
echo $SOURCE_DIR/$(echo $SAP | awk '{gsub(/.*\//,"") ; print }')
done
;;
+ "list-sources-distfiles-paths" )
+ init_builder
+ NOCVSSPEC="yes"
+ DONT_PRINT_REVISION="yes"
+ get_spec
+ parse_spec
+ SAPS="$SOURCES $PATCHES"
+ for SAP in $SAPS ; do
+ if [ -n "$(src_md5 "$SAP")" ]; then
+ distfiles_path "$SAP"
+ fi
+ done
+ ;;
+ "list-sources-distfiles" )
+ init_builder
+ NOCVSSPEC="yes"
+ DONT_PRINT_REVISION="yes"
+ get_spec
+ parse_spec
+ SAPS="$SOURCES $PATCHES"
+ for SAP in $SAPS ; do
+ if [ -n "$(src_md5 "$SAP")" ]; then
+ distfiles_url "$SAP"
+ fi
+ done
+ ;;
"init_rpm_dir")
init_rpm_dir
;;