]> git.pld-linux.org Git - packages/rpm-build-tools.git/blobdiff - builder.sh
- some improvments:
[packages/rpm-build-tools.git] / builder.sh
index 21030d1233fcc18fe93367b192b2fc5dc678a4b1..d8c73c6f210a159947c1601a6c1a9277a6f7c326 100644 (file)
@@ -128,8 +128,7 @@ fi
 # Example grep cvs /etc/poldek.conf:
 # source = cvs /home/users/yoshi/rpm/RPMS/
 if [ "$UPDATE_POLDEK_INDEXES" = "yes" ]; then
-       POLDEK_SOURCE_VALIDITY="`grep ${POLDEK_SOURCE} /etc/poldek.conf|grep -v ^#`"
-       if [ "${POLDEK_SOURCE_VALIDITY}" = "" ]; then 
+       if [ ! $(poldek -l -n ${POLDEK_SOURCE} >/dev/null) ]; then 
                echo "Using improper source '${POLDEK_SOURCE}' in /etc/poldek.conf"
                echo "Fix it and try to continue"
                exit 7
@@ -301,7 +300,7 @@ Exit_error()
                set -v;
        fi
 
-       cd $__PWD
+       cd "$__PWD"
 
        case "$1" in
                "err_no_spec_in_cmdl" )
@@ -333,7 +332,7 @@ init_builder()
        SOURCE_DIR="`$RPM --eval '%{_sourcedir}'`"
        SPECS_DIR="`$RPM --eval '%{_specdir}'`"
 
-       __PWD=`pwd`
+       __PWD="`pwd`"
 }
 
 get_spec()
@@ -795,23 +794,33 @@ nourl()
        echo "$@" | sed 's#\<\(ftp\|http\|https\|cvs\|svn\)://[^ ]*/##g'
 }
 
+install_required_packages()
+{
+       poldek -vi $1
+       return $?
+}
+
 set_bconds_values()
 {
        AVAIL_BCONDS_WITHOUT=""
        AVAIL_BCONDS_WITH=""
-       TEST_BCOND_VERSION="`grep ^%bcond ${SPECFILE}`"
-       if [ "${TEST_BCOND_VERSION}" == "" ]; then
-                BCOND_VERSION="OLD"
-                echo old
+       if `grep -q ^%bcond ${SPECFILE}`; then
+               BCOND_VERSION="NEW"
+       elif `grep -q bcond ${SPECFILE}`; then
+               BCOND_VERSION="OLD"
        else
-                BCOND_VERSION="NEW"
+               BCOND_VERSION="NONE"
        fi
        case "${BCOND_VERSION}" in
+                NONE)
+                       :
+                       ;;
                 OLD)
+                       echo "Warning: This spec has old style bconds. Fix it || die."
                        for opt in `$RPMBUILD --bcond $SPECFILE |grep ^_without_`
                        do
                                AVAIL_BCOND_WITHOUT=`echo $opt|sed -e "s/^_without_//g"`
-                               if [ "`echo $BCOND|grep -- "--without $AVAIL_BCOND_WITHOUT"`" != "" ];then
+                               if `echo $BCOND|grep -q -- "--without $AVAIL_BCOND_WITHOUT"`;then
                                        AVAIL_BCONDS_WITHOUT="$AVAIL_BCONDS_WITHOUT <$AVAIL_BCOND_WITHOUT>"
                                else
                                        AVAIL_BCONDS_WITHOUT="$AVAIL_BCONDS_WITHOUT $AVAIL_BCOND_WITHOUT"
@@ -821,7 +830,7 @@ set_bconds_values()
                        for opt in `$RPMBUILD --bcond $SPECFILE |grep ^_with_`
                        do
                                AVAIL_BCOND_WITH=`echo $opt|sed -e "s/^_with_//g"`
-                               if [ "`echo $BCOND|grep -- "--with $AVAIL_BCOND_WITH"`" != "" ];then
+                               if `echo $BCOND|grep -q -- "--with $AVAIL_BCOND_WITH"`;then
                                        AVAIL_BCONDS_WITH="$AVAIL_BCONDS_WITH <$AVAIL_BCOND_WITH>"
                                else
                                        AVAIL_BCONDS_WITH="$AVAIL_BCONDS_WITH $AVAIL_BCOND_WITH"
@@ -844,7 +853,7 @@ set_bconds_values()
                                                        with)
                                                                cond_type=''
                                                                AVAIL_BCOND_WITH="$opt"
-                                                               if [ "`echo $BCOND|grep -- "--with $AVAIL_BCOND_WITH"`" != "" ];then
+                                                               if `echo $BCOND|grep -q -- "--with $AVAIL_BCOND_WITH"`;then
                                                                        AVAIL_BCONDS_WITH="$AVAIL_BCONDS_WITH <$AVAIL_BCOND_WITH>"
                                                                else
                                                                        AVAIL_BCONDS_WITH="$AVAIL_BCONDS_WITH $AVAIL_BCOND_WITH"
@@ -853,7 +862,7 @@ set_bconds_values()
                                                        without)
                                                                cond_type=''
                                                                AVAIL_BCOND_WITHOUT="$opt"
-                                                               if [ "`echo $BCOND|grep -- "--without $AVAIL_BCOND_WITHOUT"`" != "" ];then
+                                                               if `echo $BCOND|grep -q -- "--without $AVAIL_BCOND_WITHOUT"`;then
                                                                        AVAIL_BCONDS_WITHOUT="$AVAIL_BCONDS_WITHOUT <$AVAIL_BCOND_WITHOUT>"
                                                                else
                                                                        AVAIL_BCONDS_WITHOUT="$AVAIL_BCONDS_WITHOUT $AVAIL_BCOND_WITHOUT"
@@ -922,10 +931,10 @@ remove_build_requires()
        if [ "$INSTALLED_PACKAGES" != "" ]; then
                case "$REMOVE_BUILD_REQUIRES" in
                        "force")
-                               poldek --noask -e $INSTALLED_PACKAGES
+                               poldek --noask -ve $INSTALLED_PACKAGES
                                ;;
                        "nice")
-                               poldek --ask -e $INSTALLED_PACKAGES
+                               poldek --ask -ve $INSTALLED_PACKAGES
                                ;;
                        *)
                                echo You may want to manually remove following BuildRequires fetched:
@@ -967,7 +976,7 @@ fetch_build_requires()
                        mach=`uname -m`
                
                        COND_TST=`cat $SPECFILE|grep BuildRequires|grep "$package"`
-                       if [ "`echo $COND_TST|grep '^BuildRequires:'`" != "" ]; then
+                       if `echo $COND_TST|grep -q '^BuildRequires:'`; then
                                if [ "$COND_ARCH_TST" != "" ] && [ "`echo $COND_ARCH_TST|sed -e "s/i.86/ix86/g"`" != "`echo $mach|sed -e "s/i.86/ix86/g"`" ]; then
                                        GO="yes"
                                fi
@@ -976,27 +985,27 @@ fetch_build_requires()
                                COND_NAME=`echo $COND_TST|sed -e s,:BuildRequires:.*$,,g`
                                GO=""
                                # %{without}
-                               if [ "`echo $COND_TST|grep 'without_'`" != "" ]; then
+                               if `echo $COND_TST|grep -q 'without_'`; then
                                        COND_NAME=`echo $COND_NAME|sed -e s,^.*_without_,,g`
-                                       if [ "`echo $COND_TST|grep !`" != "" ]; then
+                                       if `echo $COND_TST|grep -q !`; then
                                                COND_STATE="with"
                                        else
                                                COND_STATE="wout"
                                        fi
-                                       if [ "`echo $AVAIL_BCONDS_WITHOUT|grep "<$COND_NAME>"`" != "" ]; then
+                                       if `echo $AVAIL_BCONDS_WITHOUT|grep -q "<$COND_NAME>"`; then
                                                COND_ARGV="wout"
                                        else
                                                COND_ARGV="with"
                                        fi
                                # %{with}
-                               elif [ "`echo $COND_TST|grep 'with_'`" != "" ]; then
+                               elif `echo $COND_TST|grep -q 'with_'`; then
                                        COND_NAME=`echo $COND_NAME|sed -e s,^.*_with_,,g`
-                                       if [ "`echo $COND_TST|grep !`" != "" ]; then
+                                       if `echo $COND_TST|grep -q !`; then
                                                COND_STATE="wout"
                                        else
                                                COND_STATE="with"
                                        fi                                      
-                                       if [ "`echo $AVAIL_BCONDS_WITH|grep "<$COND_NAME>"`" != "" ]; then
+                                       if `echo $AVAIL_BCONDS_WITH|grep -q "<$COND_NAME>"`; then
                                                COND_ARGV="with"
                                        else
                                                COND_ARGV="wout"
@@ -1027,11 +1036,11 @@ fetch_build_requires()
                                                        if [ "$package_name" = "$package" ]; then
                                                                echo -ne "Installing BuildRequired package:\t$package_name\n"
                                                                export PROMPT_COMMAND=`echo -ne "\033]0;${SPECFILE}: Installing BuildRequired package: ${package_name}\007"`
-                                                               poldek -i $package_name
+                                                               install_required_packages $package;
                                                        else
                                                                echo -ne "Installing (sub)Required package:\t$package_name\n"
                                                                export PROMPT_COMMAND=`echo -ne "\033]0;${SPECFILE}: Installing (sub)Required package: ${package_name}\007"`
-                                                               poldek -i $package_name
+                                                               install_required_packages $package_name;
                                                        fi
                                                        case $? in
                                                                0)
@@ -1042,7 +1051,7 @@ fetch_build_requires()
                                                                        echo "Attempting to run spawn sub - builder..."
                                                                        run_sub_builder $package_name 
                                                                        if [ $? -eq 0 ]; then
-                                                                               poldek -i $package_name
+                                                                               install_required_packages $package_name;
                                                                                case $? in
                                                                                        0)
                                                                                                INSTALLED_PACKAGES="$package_name $INSTALLED_PACKAGES"
@@ -1061,7 +1070,7 @@ fetch_build_requires()
                                                echo "Attempting to run spawn sub - builder..."
                                                run_sub_builder $package
                                                if [ $? -eq 0 ]; then
-                                                       poldek -i $package_name
+                                                       install_required_packages $package;
                                                        case $? in
                                                                0)
                                                                        INSTALLED_PACKAGES="$package_name $INSTALLED_PACKAGES"
@@ -1169,7 +1178,7 @@ do
                                "yes")
                                        COND=${1}
                                        shift
-                                       while [ "`echo ${1}|grep ^-`" = "" ] && [ "`echo ${1}|grep spec`" = "" ]
+                                       while ! `echo ${1}|grep -qE '(^-|spec)'`
                                        do
                                                BCOND="$BCOND $COND $1"
                                                shift
@@ -1368,6 +1377,7 @@ case "$COMMAND" in
        "version" )
                echo "$VERSION";;
 esac
-cd $__PWD
+test -f `pwd`/.${SPECFILE}_INSTALLED_PACKAGES && rm `pwd`/.${SPECFILE}_INSTALLED_PACKAGES
+cd "$__PWD"
 
 # vi:syntax=sh:tw=80:ts=3:sw=4
This page took 0.048857 seconds and 4 git commands to generate.