]> git.pld-linux.org Git - packages/rpm-build-tools.git/blobdiff - builder.sh
do db-devel replacement on exact match only
[packages/rpm-build-tools.git] / builder.sh
index e0f1da347dab0ace69cf62ddbdf44827074b9e58..453625d7f15c6bfbfbecbb88308dc0c11d2d97ef 100755 (executable)
@@ -38,7 +38,7 @@ APPDIR=$(d=$0; [ -L "$d" ] && d=$(readlink -f "$d"); dirname "$d")
 VERSION="v0.35"
 VERSIONSTRING="\
 Build package utility from PLD Linux Packages repository
-$VERSION (C) 1999-2020 Free Penguins".
+$VERSION (C) 1999-2021 Free Penguins".
 
 # Clean PATH without /usr/local or user paths
 CLEAN_PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin"
@@ -151,9 +151,13 @@ REVERT_BROKEN_UPGRADE="yes"
 
 if rpm --specsrpm 2>/dev/null; then
        FETCH_BUILD_REQUIRES_RPMSPECSRPM="yes"
+       FETCH_BUILD_REQUIRES_RPMSPEC_BINARY="no"
        FETCH_BUILD_REQUIRES_RPMGETDEPS="no"
-else
+elif [ -x /usr/bin/rpmspec ]; then
        FETCH_BUILD_REQUIRES_RPMSPECSRPM="no"
+       FETCH_BUILD_REQUIRES_RPMSPEC_BINARY="yes"
+       FETCH_BUILD_REQUIRES_RPMGETDEPS="no"
+else
        if [ -x /usr/bin/rpm-getdeps ]; then
                FETCH_BUILD_REQUIRES_RPMGETDEPS="yes"
        else
@@ -273,7 +277,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"
@@ -479,7 +482,7 @@ Usage: builder [--all-branches] [-D|--debug] [-V|--version] [--short-version]  [
 is_rpmorg() {
        local v
 
-       v=$(LANG=C 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
 
@@ -593,7 +596,7 @@ depspecname() {
 
                s/apache\(EAPI\)-devel/apache-devel/
 
-               s/db-devel/db5.3-devel/
+               s/^db-devel/db5.3-devel/
                s/libjpeg-devel/libjpeg-turbo-devel/
        '
 }
@@ -1699,9 +1702,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
@@ -1896,7 +1899,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
@@ -2025,7 +2028,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'
@@ -2036,6 +2039,10 @@ install_build_requires_rpmdeps() {
                CNFL=$(eval rpm-getdeps $BCOND $RPMOPTS $SPECFILE 2> /dev/null | awk '/^\-/ { print $3 } ' | _rpm_cnfl_check | xargs)
                DEPS=$(eval rpm-getdeps $BCOND $RPMOPTS $SPECFILE 2> /dev/null | awk '/^\+/ { print $3 } ' | _rpm_prov_check | xargs)
        fi
+       if [ "$FETCH_BUILD_REQUIRES_RPMSPEC_BINARY" = "yes" ]; then
+               CNFL=$(eval rpmspec --query --conflicts     $BCOND $RPMOPTS $SPECFILE 2> /dev/null | awk '{print $1}' | _rpm_cnfl_check | xargs);
+               DEPS=$(eval rpmspec --query --buildrequires $BCOND $RPMOPTS $SPECFILE 2> /dev/null | awk '{print $1}' | _rpm_prov_check | xargs);
+       fi
        if [ "$FETCH_BUILD_REQUIRES_RPMSPECSRPM" = "yes" ]; then
                CNFL=$(eval rpm -q --specsrpm --conflicts $BCOND $RPMOPTS $SPECFILE | awk '{print $1}' | _rpm_cnfl_check | xargs)
                DEPS=$(eval rpm -q --specsrpm --requires $BCOND $RPMOPTS $SPECFILE | awk '{print $1}' | _rpm_prov_check | xargs)
@@ -2059,7 +2066,7 @@ fetch_build_requires()
        fi
 
        update_shell_title "fetch build requires"
-       if [ "$FETCH_BUILD_REQUIRES_RPMGETDEPS" = "yes" ] || [ "$FETCH_BUILD_REQUIRES_RPMSPECSRPM" = "yes" ]; then
+       if [ "$FETCH_BUILD_REQUIRES_RPMGETDEPS" = "yes" ] || [ "$FETCH_BUILD_REQUIRES_RPMSPECSRPM" = "yes" ] || [ "$FETCH_BUILD_REQUIRES_RPMSPEC_BINARY" = "yes" ]; then
                install_build_requires_rpmdeps
                return
        fi
@@ -2190,11 +2197,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.034643 seconds and 4 git commands to generate.