Build package utility from PLD Linux Packages repository
$VERSION (C) 1999-2012 Free Penguins".
-PATH="/bin:/usr/bin:/usr/sbin:/sbin:/usr/X11R6/bin"
+CLEAN_PATH="/bin:/usr/bin:/usr/sbin:/sbin:/usr/X11R6/bin"
# required rpm-build-macros
RPM_MACROS_VER=1.534
# http://rpm.org/gitweb?p=rpm.git;a=blob;f=build/parseChangelog.c#l31
# NOTE: changelog date is always in UTC for rpmbuild
# * 1265749244 +0000 Random Hacker <nikt@pld-linux.org> 9370900
- git rev-list -${log_entries:-20} HEAD | while read sha1; do
+ git rev-list --date-order -${log_entries:-20} HEAD | while read sha1; do
local logfmt='%B%n'
git notes list $sha1 > /dev/null 2>&1 && logfmt=%N
git log -n 1 $sha1 --format=format:"* %ad %an <%ae> %h%n${logfmt}%n" --date=raw | sed '/^$/q'
%_sourcedir ./
EOF
fi
- eval $RPMBUILD $TARGET_SWITCH --macros "$safe_macrofiles:$BUILDER_MACROS" $QUIET $RPMOPTS $RPMBUILDOPTS $BCOND $* 2>&1
+ eval PATH=$CLEAN_PATH $RPMBUILD $TARGET_SWITCH --macros "$safe_macrofiles:$BUILDER_MACROS" $QUIET $RPMOPTS $RPMBUILDOPTS $BCOND $* 2>&1
}
cache_rpm_dump() {
fi
# create symlinks for tools
- if [ "$SYMLINK_TOOLS" != "no" ]; then
+ if [ "$SYMLINK_TOOLS" != "no" -a -d "$ASSUMED_NAME" ]; then
for a in dropin md5 adapter builder {relup,compile,repackage,rsync,pearize}.sh pldnotify.awk; do
# skip tools that don't exist in top dir
[ -f $a ] || continue
if [ -n "$DEPTH" ]; then
local ref=$(git ls-remote $REMOTE_PLD "refs/tags/$_tag" | cut -c -40)
else
- local ref=$(git show-ref "refs/tags/$_tag" | cut -c -40)
+ local ref=$(git show-ref -s "refs/tags/$_tag")
fi
[ -z "$ref" ] && return 0
[ "$ref" = "$sha1" ] || Exit_error err_tag_exists "$_tag"
RES_FILE=$(tempfile)
local specdir=$(insert_gitlog $SPECFILE)
- (time eval ${NICE_COMMAND} $RPMBUILD $TARGET_SWITCH $BUILD_SWITCH -v $QUIET $CLEAN $RPMOPTS $RPMBUILDOPTS $BCOND --define \'_specdir $PACKAGE_DIR\' --define \'_sourcedir $PACKAGE_DIR\' $specdir/$SPECFILE; echo $? > $RES_FILE) 2>&1 |tee $LOG
+ (time eval PATH=$CLEAN_PATH ${NICE_COMMAND} $RPMBUILD $TARGET_SWITCH $BUILD_SWITCH -v $QUIET $CLEAN $RPMOPTS $RPMBUILDOPTS $BCOND --define \'_specdir $PACKAGE_DIR\' --define \'_sourcedir $PACKAGE_DIR\' $specdir/$SPECFILE; echo $? > $RES_FILE) 2>&1 |tee $LOG
RETVAL=`cat $RES_FILE`
rm -r $RES_FILE $specdir
if [ -n "$LOGDIROK" ] && [ -n "$LOGDIRFAIL" ]; then
fi
else
local specdir=$(insert_gitlog $SPECFILE)
- eval ${NICE_COMMAND} $RPMBUILD $TARGET_SWITCH $BUILD_SWITCH -v $QUIET $CLEAN $RPMOPTS $RPMBUILDOPTS $BCOND --define \'_specdir $PACKAGE_DIR\' --define \'_sourcedir $PACKAGE_DIR\' $specdir/$SPECFILE
+ eval PATH=$CLEAN_PATH ${NICE_COMMAND} $RPMBUILD $TARGET_SWITCH $BUILD_SWITCH -v $QUIET $CLEAN $RPMOPTS $RPMBUILDOPTS $BCOND --define \'_specdir $PACKAGE_DIR\' --define \'_sourcedir $PACKAGE_DIR\' $specdir/$SPECFILE
RETVAL=$?
rm -r $specdir
fi
if [ ! -e ../rpm-build-tools ]; then
git clone ${GIT_SERVER}/${PACKAGES_DIR}/rpm-build-tools.git ../rpm-build-tools
fi
- for a in adapter builder; do
- ln -s ../rpm-build-tools/${a}.sh $a
+ for a in adapter builder fetchsrc_request; do
+ ln -sf ../rpm-build-tools/${a}.sh $a
done
+ ln -sf ../rpm-build-tools/mirrors mirrors
init_builder
}
DONT_PRINT_REVISION="yes"
# remove spec and sources
- $RPMBUILD --clean --rmsource --rmspec --nodeps --define "_specdir $PACKAGE_DIR" --define "_sourcedir $PACKAGE_DIR" --define "_builddir $builddir" $PACKAGE_DIR/$SPECFILE
+ PATH=$CLEAN_PATH $RPMBUILD --clean --rmsource --rmspec --nodeps --define "_specdir $PACKAGE_DIR" --define "_sourcedir $PACKAGE_DIR" --define "_builddir $builddir" $PACKAGE_DIR/$SPECFILE
rm -rf $PACKAGE_DIR/{.git,.gitignore}
rmdir --ignore-fail-on-non-empty $PACKAGE_DIR
}