]> git.pld-linux.org Git - packages/rpm-build-tools.git/blobdiff - builder.sh
When tripping over a GIT_ var, give a useful error
[packages/rpm-build-tools.git] / builder.sh
index ed2184b002f16c5cff79919780d4d2f9a473eb27..428071e3c1cbd41986e4d7988e09462e42f7bfbe 100755 (executable)
@@ -40,7 +40,8 @@ VERSIONSTRING="\
 Build package utility from PLD Linux Packages repository
 $VERSION (C) 1999-2020 Free Penguins".
 
-CLEAN_PATH="/bin:/usr/bin:/usr/sbin:/sbin:/usr/X11R6/bin"
+# Clean PATH without /usr/local or user paths
+CLEAN_PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin"
 
 # required rpm-build-macros
 RPM_MACROS_VER=1.534
@@ -272,7 +273,6 @@ download_wget() {
        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"
@@ -478,9 +478,9 @@ Usage: builder [--all-branches] [-D|--debug] [-V|--version] [--short-version]  [
 is_rpmorg() {
        local v
 
-       v=$(rpm --version 2>&1)
+       v=$(LC_ALL=C LANG=C rpm --version 2>&1)
        v=${v#RPM version } # rpm 4
-       v=${v#rpm (RPM) } # rpm 5
+       v=${v#rpm \(RPM\) } # rpm 5
 
        case "$v" in
                4.5|5.*)
@@ -489,6 +489,9 @@ is_rpmorg() {
                4.*)
                        return 0;
                        ;;
+               *)
+                       echo "ERROR: unsupported RPM version $v" >&2
+                       exit 1
        esac
 }
 
@@ -1695,9 +1698,9 @@ build_package() {
        # this may be set by user
        unset GIT_SSH
        # may be set by user
-       unset GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_TESTING_PORCELAIN_COMMAND_LIST
+       unset GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_TESTING_PORCELAIN_COMMAND_LIST GIT_EDITOR
        # fail if something still set
-       env | grep ^GIT_ && Exit_error err_build_fail
+       env | grep ^GIT_ && Exit_error err_build_fail "One of GIT_* env variables is still set. The builder script needs to be updated to unset that variable. In the meantime, unset it manually."
 
        local specdir=$(insert_gitlog $SPECFILE)
        ulimit -c unlimited
@@ -1892,7 +1895,7 @@ run_sub_builder() {
 # this requires following sudo rules:
 # - poldek --noask --caplookup -ug
 poldek_install() {
-       LANG=C $POLDEK_CMD --noask --caplookup --uniq -ug "$@"
+       LC_ALL=C LANG=C $POLDEK_CMD --noask --caplookup --uniq -ug "$@"
 }
 
 # install packages
@@ -2021,7 +2024,7 @@ _rpm_cnfl_check() {
                DEPS=$(cat)
        fi
 
-       LANG=C rpm -q --whatprovides $DEPS 2>/dev/null | awk '!/no package provides/ { print }'
+       LC_ALL=C LANG=C rpm -q --whatprovides $DEPS 2>/dev/null | awk '!/no package provides/ { print }'
 }
 
 # install deps via information from 'rpm-getdeps' or 'rpm --specsrpm'
@@ -2186,11 +2189,11 @@ while [ $# -gt 0 ]; do
                --http )
                        PROTOCOL="http"; shift ;;
                -j)
-                       RPMOPTS="${RPMOPTS} --define \"_smp_mflags -j$2\""
+                       RPMOPTS="${RPMOPTS} --define \"__jobs $2\""
                        shift 2
                        ;;
                -j[0-9]*)
-                       RPMOPTS="${RPMOPTS} --define \"_smp_mflags $1\""
+                       RPMOPTS="${RPMOPTS} --define \"__jobs ${1#-j}\""
                        shift
                        ;;
                -p)
This page took 0.037442 seconds and 4 git commands to generate.