X-Git-Url: https://git.tld-linux.org/?a=blobdiff_plain;f=builder.sh;h=222e6fc3e911813bdb8adfead1be32d32fc2db47;hb=fdaaa46ed28846ba119be045d93d13e44644cd44;hp=40e0ff48d25613a16b8c7f06d3e26f8ee02b646f;hpb=2f7360988b2dbd3df72512b8fe6c0d25907e8be5;p=packages%2Frpm-build-tools.git diff --git a/builder.sh b/builder.sh index 40e0ff4..222e6fc 100755 --- a/builder.sh +++ b/builder.sh @@ -97,6 +97,7 @@ LASTLOG_FILE="" CHMOD="no" CHMOD_MODE="0644" RPMOPTS="" +RPMUSERDEFS="" RPMBUILDOPTS="" BCOND="" GROUP_BCONDS="no" @@ -734,9 +735,9 @@ EOF if ! is_rpmorg; then local safe_macrofiles safe_macrofiles=$(rpm $TARGET_SWITCH --showrc | awk -F: '/^macrofiles/ { gsub(/^macrofiles[ \t]+:/, "", $0); print $0 } ') - eval PATH=$CLEAN_PATH $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 $RPMUSERDEFS $RPMBUILDOPTS $BCOND $* 2>&1 else - eval PATH=$CLEAN_PATH $RPMBUILD $TARGET_SWITCH --load "$BUILDER_MACROS" $QUIET $RPMOPTS $RPMBUILDOPTS $BCOND $* 2>&1 + eval PATH=$CLEAN_PATH $RPMBUILD $TARGET_SWITCH --load "$BUILDER_MACROS" $QUIET $RPMOPTS $RPMUSERDEFS $RPMBUILDOPTS $BCOND $* 2>&1 fi } @@ -754,7 +755,7 @@ cache_rpm_dump() { fi if [ -x /usr/bin/rpm-specdump ]; then update_shell_title "cache_rpm_dump using rpm-specdump command" - rpm_dump_cache=$(eval rpm-specdump $TARGET_SWITCH $BCOND $RPMOPTS --define \'_specdir $PACKAGE_DIR\' --define \'_sourcedir $PACKAGE_DIR\' $SPEC_PATH) + rpm_dump_cache=$(eval rpm-specdump $TARGET_SWITCH $BCOND $RPMUSERDEFS --define \'_specdir $PACKAGE_DIR\' --define \'_sourcedir $PACKAGE_DIR\' $SPEC_PATH) else update_shell_title "cache_rpm_dump using rpmbuild command" local rpm_dump @@ -948,7 +949,7 @@ init_builder() { fi if [ "$NOINIT" != "yes" ] ; then - TOP_DIR=$(eval $RPM $RPMOPTS --eval '%{_topdir}') + TOP_DIR=$(eval $RPM $RPMOPTS $RPMUSERDEFS --eval '%{_topdir}') local macros_ver=$(rpm -E %?rpm_build_macros) if [ -z "$macros_ver" ]; then @@ -1475,23 +1476,6 @@ get_files() { fi } -tag_exist() { -# If tag exists and points to other commit exit with error -# If it existsts and points to HEAD return 1 -# If it doesn't exist return 0 - local _tag="$1" - local sha1=$(git rev-parse HEAD) - echo "Searching for tag $_tag..." - if [ -n "$DEPTH" ]; then - local ref=$(git ls-remote $REMOTE_PLD "refs/tags/$_tag" | cut -c -40) - else - local ref=$(git show-ref -s "refs/tags/$_tag") - fi - [ -z "$ref" ] && return 0 - [ "$ref" = "$sha1" ] || Exit_error err_tag_exists "$_tag" - return 1 -} - make_tagver() { if [ -n "$DEBUG" ]; then set -x @@ -1517,37 +1501,6 @@ make_tagver() { echo -n "$TAGVER" } -tag_files() { - if [ -n "$DEBUG" ]; then - set -x - set -v - fi - - echo "Version: $PACKAGE_VERSION" - echo "Release: $PACKAGE_RELEASE" - - local _tag - if [ "$TAG_VERSION" = "yes" ]; then - _tag=`make_tagver` - fi - if [ -n "$TAG" ]; then - _tag="$TAG" - fi - echo "tag: $_tag" - - local OPTIONS="tag $CVS_FORCE" - - cd "$PACKAGE_DIR" - - if tag_exist $_tag || [ -n "$CVS_FORCE" ]; then - update_shell_title "tag sources: $_tag" - git $OPTIONS $_tag || exit - git push $IPOPT $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 -} - get_pkgrev() { [ -z "$1" ] && return 1 local _tmp=$(mktemp /tmp/.builder-XXXX) @@ -1767,7 +1720,7 @@ build_package() { # Add %tld macro to release to allow release control sed -i -r -e '/^Release:/s/%\{\?tld\}//g; s/^Release:\s+(.*)$/Release:\t\1%{?tld}/;' $specdir/$SPECFILE # FIXME: eval here is exactly why? - PATH=$CLEAN_PATH eval teeboth "'$logfile'" ${TIME_COMMAND} ${NICE_COMMAND} $RPMBUILD $TARGET_SWITCH $BUILD_SWITCH -v $QUIET $CLEAN $RPMOPTS $RPMBUILDOPTS $BCOND --define \'_specdir $PACKAGE_DIR\' --define \'_sourcedir $PACKAGE_DIR\' $specdir/$SPECFILE + PATH=$CLEAN_PATH eval teeboth "'$logfile'" ${TIME_COMMAND} ${NICE_COMMAND} $RPMBUILD $TARGET_SWITCH $BUILD_SWITCH -v $QUIET $CLEAN $RPMOPTS $RPMUSERDEFS $RPMBUILDOPTS $BCOND --define \'_specdir $PACKAGE_DIR\' --define \'_sourcedir $PACKAGE_DIR\' $specdir/$SPECFILE retval=$? # Set pkgrev if requested and build status is OK @@ -2145,12 +2098,12 @@ install_build_requires_rpmdeps() { local DEPS CNFL if [ "$FETCH_BUILD_REQUIRES_RPMGETDEPS" = "yes" ]; then # TODO: Conflicts list doesn't check versions - 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) + CNFL=$(eval rpm-getdeps $BCOND $RPMOPTS $RPMUSERDEFS $SPECFILE 2> /dev/null | awk '/^\-/ { print $3 } ' | _rpm_cnfl_check | xargs) + DEPS=$(eval rpm-getdeps $BCOND $RPMOPTS $RPMUSERDEFS $SPECFILE 2> /dev/null | awk '/^\+/ { print $3 } ' | _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) + CNFL=$(eval rpm -q --specsrpm --conflicts $BCOND $RPMOPTS $RPMUSERDEFS $SPECFILE | awk '{print $1}' | _rpm_cnfl_check | xargs) + DEPS=$(eval rpm -q --specsrpm --requires $BCOND $RPMOPTS $RPM_USERDEFS $SPECFILE | awk '{print $1}' | _rpm_prov_check | xargs) fi if [ -n "$CNFL" ]; then @@ -2190,10 +2143,10 @@ init_repository() { } init_rpm_dir() { - local TOP_DIR=$(eval $RPM $RPMOPTS --eval '%{_topdir}') - local rpmdir=$(eval $RPM $RPMOPTS --eval '%{_rpmdir}') - local buildir=$(eval $RPM $RPMOPTS --eval '%{_builddir}') - local srpmdir=$(eval $RPM $RPMOPTS --eval '%{_srcrpmdir}') + local TOP_DIR=$(eval $RPM $RPMOPTS $RPMUSERDEFS --eval '%{_topdir}') + local rpmdir=$(eval $RPM $RPMOPTS $RPMUSERDEFS --eval '%{_rpmdir}') + local buildir=$(eval $RPM $RPMOPTS $RPMUSERDEFS --eval '%{_builddir}') + local srpmdir=$(eval $RPM $RPMOPTS $RPMUSERDEFS --eval '%{_srcrpmdir}') local TEMPLATES=template-specs local tmp @@ -2484,11 +2437,11 @@ while [ $# -gt 0 ]; do MACRO="${1}" shift if echo "${MACRO}" | grep -q '\W'; then - RPMOPTS="${RPMOPTS} --define \"${MACRO}\"" + RPMUSERDEFS="${RPMUSERDEFS} --define \"${MACRO}\"" else VALUE="${1}" shift - RPMOPTS="${RPMOPTS} --define \"${MACRO} ${VALUE}\"" + RPMUSERDEFS="${RPMUSERDEFS} --define \"${MACRO} ${VALUE}\"" fi ;; --alt_kernel) @@ -2677,35 +2630,6 @@ case "$COMMAND" in fi fi - # ./builder -bs test.spec -r AC-branch -Tp auto-ac- -tt - if [ -n "$TEST_TAG" ]; then - local TAGVER=` - make_tagver` - tag_exist $TAGVER || [ $TAGVER = $CVSTAG ] || Exit_error err_tag_exists $TAGVER - # check also tags created in CVS - local TAGVER_CVS=$(echo $TAGVER | tr '[.@]' '[_#]') - local CVSTAG_CVS=$(echo $CVSTAG | tr '[.@]' '[_#]') - tag_exist $TAGVER_CVS || [ $TAGVER_CVS = $CVSTAG_CVS ] \ - || Exit_error err_tag_exists $TAGVER_CVS - # - do not allow to build from HEAD when XX-branch exists - TREE_PREFIX=$(echo "$TAG_PREFIX" | sed -e 's#^auto/\([a-zA-Z]\+\)/.*#\1#g') - if [ "$TAGVER" != "$CVSTAG" -a "$TAGVER_CVS" != "$CVSTAG" -a "$TREE_PREFIX" != "$TAG_PREFIX" ]; then - TAG_BRANCH="${TREE_PREFIX}-branch" - if [ -n "$DEPTH" ]; then - cmd_branches="git ls-remote --heads" - ref_prefix=refs/heads - else - cmd_branches="git show-ref" - ref_prefix=refs/remotes/${REMOTE_PLD} - fi - TAG_STATUS=$($cmd_branches | grep -i "${ref_prefix}/$TAG_BRANCH$" | cut -c'-40') - if [ -n "$TAG_STATUS" -a "$TAG_STATUS" != $(git rev-parse "$CVSTAG") ]; then - Exit_error err_branch_exists "$TAG_STATUS" - fi - fi - - fi - if [ -n "$NOSOURCE0" ] ; then SOURCES=`echo $SOURCES | xargs | sed -e 's/[^ ]*//'` fi @@ -2789,21 +2713,6 @@ case "$COMMAND" in fi update_md5 $SOURCES $PATCHES ;; - "tag" ) - NOURLS=1 - NODIST="yes" - init_builder - if [ -z "$SPECFILE" ]; then - Exit_error err_no_spec_in_cmdl - fi - - parse_spec - if [ ! -d .git ]; then - echo "No git reposiotory" >&2 - exit 101 - fi - tag_files - ;; "mr-proper" ) mr_proper ;;