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
# 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'
%_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() {
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} \
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
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"
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() {
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
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
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
}
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
}
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