GETLOCAL=${GETLOCAL:-cp -a}
-if rpm --version 2>&1 | grep -q '4.0.[0-2]'; then
- RPM="rpm"
- RPMBUILD="rpm"
-else
- RPM="rpm"
- RPMBUILD="rpmbuild"
-fi
+RPM="rpm"
+RPMBUILD="rpmbuild"
#
# sanity checks
}
download_wget() {
- local outfile=$1 url=$2 retval
- wget --help 2>&1 | grep -q -- ' --no-check-certificate ' && WGET_OPTS="$WGET_OPTS --no-check-certificate"
- wget --help 2>&1 | grep -q -- ' --inet ' && WGET_OPTS="$WGET_OPTS --inet"
- wget --help 2>&1 | grep -q -- ' --retry-connrefused ' && WGET_OPTS="$WGET_OPTS --retry-connrefused"
- wget --help 2>&1 | grep -q -- ' --no-iri ' && WGET_OPTS="$WGET_OPTS --no-iri"
- WGET_OPTS="$WGET_OPTS --user-agent=$USER_AGENT"
-
- GETURI="wget -c -nd -t$WGET_RETRIES $WGET_OPTS $IPOPT"
-
- ${GETURI} --passive-ftp -O "$outfile" "$url"
+ local outfile=$1 url=$2 retval wget_help
+ if [ -z "${WGET_OPTS_SET+x}" ]; then
+ wget_help="$(wget --help 2>&1)"
+ echo "$wget_help" | grep -q -- ' --no-check-certificate ' && WGET_OPTS="$WGET_OPTS --no-check-certificate"
+ echo "$wget_help" | grep -q -- ' --inet ' && WGET_OPTS="$WGET_OPTS --inet"
+ echo "$wget_help" | grep -q -- ' --retry-connrefused ' && WGET_OPTS="$WGET_OPTS --retry-connrefused"
+ echo "$wget_help" | grep -q -- ' --no-iri ' && WGET_OPTS="$WGET_OPTS --no-iri"
+ WGET_OPTS="-c -nd -t$WGET_RETRIES $WGET_OPTS --user-agent=$USER_AGENT $IPOPT --passive-ftp"
+ WGET_OPTS_SET=1
+ fi
+
+ wget $WGET_OPTS -O "$outfile" "$url"
retval=$?
if [ $retval -ne 0 ]; then
if [ "`echo $url | grep -E 'ftp://'`" ]; then
# runs rpm with minimal macroset
minirpm() {
- safe_macrofiles=$(rpm $TARGET_SWITCH --showrc | awk -F: '/^macrofiles/ { gsub(/^macrofiles[ \t]+:/, "", $0); print $0 } ')
-
# TODO: move these to /usr/lib/rpm/macros
cat > $BUILDER_MACROS <<'EOF'
%x8664 x86_64 amd64 ia32e
%_sourcedir ./
EOF
fi
- eval PATH=$CLEAN_PATH $RPMBUILD $TARGET_SWITCH --macros "$safe_macrofiles:$BUILDER_MACROS" $QUIET $RPMOPTS $RPMBUILDOPTS $BCOND $* 2>&1
+ if rpm --version 2>&1 | grep -qE '5\.[0-9]+\.[0-9]+'; then
+ safe_macrofiles=$(rpm $TARGET_SWITCH --showrc | awk -F: '/^macrofiles/ { gsub(/^macrofiles[ \t]+:/, "", $0); print $0 } ')
+ eval PATH=$CLEAN_PATH $RPMBUILD $TARGET_SWITCH --macros "$safe_macrofiles:$BUILDER_MACROS" $QUIET $RPMOPTS $RPMBUILDOPTS $BCOND $* 2>&1
+ else
+ eval PATH=$CLEAN_PATH $RPMBUILD $TARGET_SWITCH --load "$BUILDER_MACROS" $QUIET $RPMOPTS $RPMBUILDOPTS $BCOND $* 2>&1
+ fi
}
cache_rpm_dump() {
git clone $IPOPT -o $REMOTE_PLD ${GIT_SERVER}/${PACKAGES_DIR}/${ASSUMED_NAME}.git || {
# softfail if new package, i.e not yet added to PLD rep
[ ! -f "$PACKAGE_DIR/$SPECFILE" ] && Exit_error err_no_spec_in_repo
- echo "Warning: package not in GIT - assuming new package"
+ echo "Warning: package not in Git - assuming new package"
NOCVSSPEC="yes"
}
git config --local --add "remote.$REMOTE_PLD.fetch" 'refs/notes/*:refs/notes/*'
fi
if [ -n "$CVSTAG" ]; then
- if git rev-parse --verify -q "$CVSTAG"; then
+ if git rev-parse --verify -q "$CVSTAG" >/dev/null; then
git checkout "$CVSTAG" --
elif git rev-parse --verify -q "refs/remotes/${REMOTE_PLD}/$CVSTAG"; then
git checkout -t "refs/remotes/${REMOTE_PLD}/$CVSTAG" > /dev/null
if [ $(git rev-parse "$CVSTAG") != $(git rev-parse HEAD) ]; then
Exit_error "err_no_checkut" "$CVSTAG"
fi
- git merge --ff-only '@{u}'
+
+ git merge --ff-only '@{u}'
git symbolic-ref -q HEAD > /dev/null && [ "$NOCVSSPEC" != "yes" ] &&
if [ -n "$CVSDATE" ]; then
git checkout $(git rev-list -n1 --before="'$CVSDATE'" $CVSTAG) || exit 1
env | grep ^GIT_ && Exit_error err_build_fail
local specdir=$(insert_gitlog $SPECFILE)
+ ulimit -c unlimited
# FIXME: eval here is exactly why?
PATH=$CLEAN_PATH eval teeboth "'$logfile'" ${TIME_COMMAND} ${NICE_COMMAND} $RPMBUILD $TARGET_SWITCH $BUILD_SWITCH -v $QUIET $CLEAN $RPMOPTS $RPMBUILDOPTS $BCOND --define \'_specdir $PACKAGE_DIR\' --define \'_sourcedir $PACKAGE_DIR\' $specdir/$SPECFILE
retval=$?
# @return exit code from poldek
#
# this requires following sudo rules:
-# - poldek --noask --caplookup -uG
+# - poldek --noask --caplookup -ug
poldek_install() {
- LANG=C $POLDEK_CMD --noask --caplookup --uniq -uG "$@"
+ LANG=C $POLDEK_CMD --noask --caplookup --uniq -ug "$@"
}
# install packages