X-Git-Url: https://git.tld-linux.org/?a=blobdiff_plain;f=builder.sh;h=a5b8edc233598c0ddd26de77c09cb6baa916ba6e;hb=58190efb023a02475ced88a938bcc9fe0eb3a313;hp=be1009f405389fccbd19446021afe31d72f48287;hpb=b39855372147f95f4d7cb945dcd9c7d847391ab2;p=packages%2Frpm-build-tools.git diff --git a/builder.sh b/builder.sh index be1009f..a5b8edc 100755 --- a/builder.sh +++ b/builder.sh @@ -123,6 +123,7 @@ WGET_RETRIES=${MAX_WGET_RETRIES:-0} # rsync repository with git refs of packages PKGREVS_URL="http://pkgrevs.tld-linux.org" +PKGREVS_PREFIX="tld/" SETPKGREV="false" # TLD git/df config @@ -337,13 +338,11 @@ usage() { # if the line contains short and long option, it will take only the long option # but if you want both being completed, put the short option to separate line echo "\ -Usage: builder [--all-branches] [-D|--debug] [-V|--version] [--short-version] [-a|--add_cvs] [-b|-ba|--build] -[-bb|--build-binary] [-bs|--build-source] [-bc] [-bi] [-bl] [-u|--try-upgrade] -[{-cf|--cvs-force}] [{-B|--branch} ] [--depth ] -[-g|--get] [-h|--help] [--ftp] [--http] [{-l|--logtofile} ] [-m|--mr-proper] -[-q|--quiet] [--date [-r ] [{-T|--tag ] -[-Tvs|--tag-version-stable] [-Ts|--tag-stable] [-Tv|--tag-version] -[{-Tp|--tag-prefix} ] [{-tt|--test-tag}] +Usage: builder [--all-branches] [-D|--debug] [-V|--version] [--short-version] +[-a|--add_cvs] [-b|-ba|--build] [-bb|--build-binary] [-bs|--build-source] +[-bc] [-bi] [-bl] [-u|--try-upgrade] [{-cf|--cvs-force}] [{-B|--branch} ] +[--depth ] [-g|--get] [-h|--help] [--ftp] [--http] [{-l|--logtofile} ] +[-m|--mr-proper] [-q|--quiet] [--date ] [-r ] [-nu|--no-urls] [-v|--verbose] [--opts ] [--short-circuit] [--show-bconds] [--with/--without ] [--define ] [--git-pld|--git-tld] [--pkgrev] [-lp] @@ -444,18 +443,6 @@ Usage: builder [--all-branches] [-D|--debug] [-V|--version] [--short-version] [ but icon file is absent), -su, --source-urls - list urls - urls to sources and patches intended for copying urls with spec with lots of macros in urls --T , --tag - - add git tag for files, --Tvs, --tag-version-stable - - add git tags STABLE and NAME-VERSION-RELEASE for files, --Ts, --tag-stable - - add git tag STABLE for files, --Tv, ---tag-version - add git tag NAME-VERSION-RELEASE for files, --Tp, --tag-prefix - - add to NAME-VERSION-RELEASE tags, --tt, --test-tag - - fail if tag is already present, -ir, --integer-release-only - allow only integer and snapshot releases -v, --verbose - be verbose, @@ -904,9 +891,9 @@ Exit_error() { remove_build_requires echo >&2 "Error: couldn't get out package name/version/release from spec file." exit 6 ;; - "err_tag_exists" ) + "err_pkgrev_exists" ) remove_build_requires - echo >&2 "Tag ${2} already exists" + echo >&2 "Error: package revision ${2} already exists" exit 9 ;; "err_fract_rel" ) remove_build_requires @@ -1476,36 +1463,13 @@ 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() { +make_pkgrev() { if [ -n "$DEBUG" ]; then set -x set -v fi - # Check whether first character of PACKAGE_NAME is legal for tag name - if [ -z "${PACKAGE_NAME##[_0-9]*}" -a -z "$TAG_PREFIX" ]; then - TAG_PREFIX=tag_ - fi - - # NOTE: CVS tags may must not contain the characters `$,.:;@' - TAGVER=$(echo $TAG_PREFIX$PACKAGE_NAME-$PACKAGE_VERSION-$PACKAGE_RELEASE) + TAGVER=$(echo $PKGREVS_PREFIX$PACKAGE_NAME-$PACKAGE_VERSION-$PACKAGE_RELEASE) # Remove @kernel.version_release from TAGVER because tagging sources # could occur with different kernel-headers than kernel-headers used at build time. @@ -1518,37 +1482,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) @@ -1562,12 +1495,7 @@ get_pkgrev() { set_pkgrev() { local _tag parse_spec "$1" - if [ "$TAG_VERSION" = "yes" ]; then - _tag=`make_tagver` - fi - if [ -n "$TAG" ]; then - _tag="$TAG" - fi + _tag=`make_pkgrev` echo "Writing git revision for tag $_tag" local _tmp=$(mktemp /tmp/.builder-XXXX) rm $_tmp 2>/dev/null @@ -1577,7 +1505,7 @@ set_pkgrev() { rm $_tmp 2>/dev/null [ "$(get_pkgrev "$_tag")" = "$CVSTAG" ] && return 0 echo "$result" | grep -q -E "^OK$" && return 0 - echo "$result" | grep -q -E "^EXISTS$" && Exit_error err_tag_exists "$_tag" + echo "$result" | grep -q -E "^EXISTS$" && Exit_error err_pkgrev_exists "$_tag" Exit_error err_pkgrev_set } @@ -2430,33 +2358,6 @@ while [ $# -gt 0 ]; do -su | --source-urls) COMMAND="list-sources-urls" shift ;; - -Tvs | --tag-version-stable ) - COMMAND="tag" - TAG="STABLE" - TAG_VERSION="yes" - shift;; - -Ts | --tag-stable ) - COMMAND="tag" - TAG="STABLE" - TAG_VERSION="no" - shift;; - -Tv | --tag-version ) - COMMAND="tag" - TAG="" - TAG_VERSION="yes" - shift;; - -Tp | --tag-prefix ) - TAG_PREFIX="$2" - shift 2;; - -tt | --test-tag ) - TEST_TAG="yes" - shift;; - -T | --tag ) - COMMAND="tag" - shift - TAG="$1" - TAG_VERSION="no" - shift;; -ir | --integer-release-only ) INTEGER_RELEASE="yes" shift;; @@ -2678,35 +2579,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 @@ -2790,21 +2662,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 ;;