]> git.pld-linux.org Git - packages/rpm-build-tools.git/blobdiff - builder.sh
Don't create links for tools if directory does not exist
[packages/rpm-build-tools.git] / builder.sh
index 44aaac8c5816a3f31302de25ecc70bdcffb28623..35b070e6a214abf185175002b49dd5a27f39a9b0 100755 (executable)
@@ -41,7 +41,7 @@ VERSIONSTRING="\
 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
@@ -450,7 +450,7 @@ insert_gitlog() {
        # 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'
@@ -590,7 +590,7 @@ EOF
 %_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() {
@@ -829,7 +829,7 @@ create_git_repo() {
                exit 101
        fi
        [ -d "$ASSUMED_NAME/.git" ] || NEW_REPO=yes
-       # ssh $GIT_SERVER create ${ASSUMED_NAME} || Exit_error err_cvs_add_failed
+       ssh $GIT_PUSH create ${ASSUMED_NAME} || Exit_error err_cvs_add_failed
        git init
        git remote add $REMOTE_PLD ${GIT_SERVER}/${PACKAGES_DIR}/${ASSUMED_NAME}.git && \
                git remote set-url --push  $REMOTE_PLD ssh://${GIT_PUSH}/${PACKAGES_DIR}/${ASSUMED_NAME} \
@@ -908,8 +908,8 @@ get_spec() {
                fi
 
                # create symlinks for tools
-               if [ "$SYMLINK_TOOLS" != "no" ]; then
-                       for a in dropin md5 adapter builder {relup,compile,repackage,pearize}.sh pldnotify.awk; do
+               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
                                # skip tools that already exist
@@ -1331,7 +1331,7 @@ tag_exist() {
        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"
@@ -1385,9 +1385,13 @@ tag_files() {
 
        cd "$PACKAGE_DIR"
 
-       update_shell_title "tag sources: $_tag"
-       git $OPTIONS $_tag || exit
-       git push $CVS_FORCE $REMOTE_PLD tag $_tag || Exit_error err_remote_problem $REMOTE_PLD
+       if tag_exist $_tag || [ -n "$CVS_FORCE" ]; then
+               update_shell_title "tag sources: $_tag"
+               git $OPTIONS $_tag || exit
+               git push $CVS_FORCE $REMOTE_PLD tag $_tag || Exit_error err_remote_problem $REMOTE_PLD
+       else
+               echo "Tag $_tag already exists and points to the same commit"
+       fi
 }
 
 branch_files() {
@@ -1536,7 +1540,7 @@ build_package() {
                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
@@ -1548,7 +1552,7 @@ build_package() {
                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
@@ -2035,9 +2039,10 @@ init_rpm_dir() {
        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
 }
 
@@ -2047,7 +2052,7 @@ mr_proper() {
        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
 }
@@ -2542,8 +2547,7 @@ case "$COMMAND" in
                                fi
                        done
                        git add $SPECFILE
-                       git commit -m 'Initial commit'
-                       git push --dry-run $REMOTE_PLD master || Exit_error err_cvs_add_failed
+                       echo "When you are ready commit your changes and run git push origin master"
                else
                        echo "You had already git repository. Push chosen branches to remote: ${REMOTE_PLD}"
                fi
This page took 0.173608 seconds and 4 git commands to generate.