diff options
author | Dave Reisner <dreisner@archlinux.org> | 2014-08-04 14:48:05 +0200 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2014-08-08 05:40:00 +0200 |
commit | 8a02abcf194a7d4479c39cf0ce2dc03db9b199e1 (patch) | |
tree | 537741a24cbdeab15ee6bb1f2b454e5847cb7d88 | |
parent | b694d8455453f06158f51a276c61f9d90ecc10fe (diff) | |
download | pacman-8a02abcf194a7d4479c39cf0ce2dc03db9b199e1.tar.gz pacman-8a02abcf194a7d4479c39cf0ce2dc03db9b199e1.tar.xz |
makepkg: disallow pkgver/pkgrel/epoch overrides in packages
This is a confusing feature, and no one uses it.
-rw-r--r-- | scripts/makepkg.sh.in | 45 |
1 files changed, 12 insertions, 33 deletions
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index b2cb599a..c359ffda 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -48,12 +48,12 @@ declare -r startdir="$PWD" LIBRARY=${LIBRARY:-'@libmakepkgdir@'} -packaging_options=('strip' 'docs' 'libtool' 'staticlibs' 'emptydirs' 'zipman' \ +packaging_options=('strip' 'docs' 'libtool' 'staticlibs' 'emptydirs' 'zipman' 'purge' 'upx' 'debug') other_options=('ccache' 'distcc' 'buildflags' 'makeflags') -splitpkg_overrides=('pkgver' 'pkgrel' 'epoch' 'pkgdesc' 'arch' 'url' 'license' \ - 'groups' 'depends' 'optdepends' 'provides' 'conflicts' \ - 'replaces' 'backup' 'options' 'install' 'changelog') +splitpkg_overrides=('pkgdesc' 'arch' 'url' 'license' 'groups' 'depends' + 'optdepends' 'provides' 'conflicts' 'replaces' 'backup' + 'options' 'install' 'changelog') readonly -a packaging_options other_options splitpkg_overrides known_hash_algos=('md5' 'sha1' 'sha224' 'sha256' 'sha384' 'sha512') @@ -842,27 +842,14 @@ missing_source_file() { } ## -# usage : get_full_version( [$pkgname] ) +# usage : get_full_version() # return : full version spec, including epoch (if necessary), pkgver, pkgrel ## get_full_version() { - if [[ -z $1 ]]; then - if [[ -n $epoch ]] && (( $epoch )); then - printf "%s\n" "$epoch:$pkgver-$pkgrel" - else - printf "%s\n" "$pkgver-$pkgrel" - fi + if [[ $epoch ]] && (( epoch > 0 )); then + printf "%s\n" "$epoch:$pkgver-$pkgrel" else - for i in pkgver pkgrel epoch; do - local indirect="${i}_override" - eval $(declare -f package_$1 | sed -n "s/\(^[[:space:]]*$i=\)/${i}_override=/p") - [[ -z ${!indirect} ]] && eval ${indirect}=\"${!i}\" - done - if [[ -n $epoch_override ]] && (( $epoch_override )); then - printf "%s\n" "$epoch_override:$pkgver_override-$pkgrel_override" - else - printf "%s\n" "$pkgver_override-$pkgrel_override" - fi + printf "%s\n" "$pkgver-$pkgrel" fi } @@ -2184,7 +2171,7 @@ install_package() { (( NEEDED )) && pkglist+=('--needed') for pkg in ${pkgname[@]}; do - fullver=$(get_full_version $pkg) + fullver=$(get_full_version) pkgarch=$(get_pkg_arch $pkg) pkglist+=("$PKGDEST/${pkg}-${fullver}-${pkgarch}${PKGEXT}") @@ -2386,20 +2373,12 @@ validate_pkgver() { } check_pkgver() { - local ret=0 - if [[ -z ${pkgver} ]]; then error "$(gettext "%s is not allowed to be empty.")" "pkgver" - ret=1 + return 1 fi - awk -F'=' '$1 ~ /^[[:space:]]*pkgver$/' "$BUILDFILE" | sed "s/[[:space:]]*#.*//" | - while IFS='=' read -r _ i; do - eval i=\"$(sed 's/^\(['\''"]\)\(.*\)\1$/\2/' <<< "${i%%+([[:space:]])}")\" - validate_pkgver "$i" || return 1 - done || ret=1 - - return $ret + validate_pkgver "$pkgver" } get_vcsclient() { @@ -2585,7 +2564,7 @@ check_build_status() { allpkgbuilt=1 somepkgbuilt=0 for pkg in ${pkgname[@]}; do - fullver=$(get_full_version $pkg) + fullver=$(get_full_version) pkgarch=$(get_pkg_arch $pkg) if [[ -f $PKGDEST/${pkg}-${fullver}-${pkgarch}${PKGEXT} ]]; then somepkgbuilt=1 |