On Fri, Jul 22, 2011 at 10:04:31PM +1000, Allan McRae wrote:
We can override pkgver and pkgrel so it is only logical to add epoch to that list
Signed-off-by: Allan McRae <allan@archlinux.org> --- scripts/makepkg.sh.in | 17 ++++++++++------- 1 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 4b8f167..88afe7b 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -44,9 +44,9 @@ startdir="$PWD"
packaging_options=('strip' 'docs' 'libtool' 'emptydirs' 'zipman' 'purge' 'upx') other_options=('ccache' 'distcc' 'buildflags' 'makeflags') -splitpkg_overrides=('pkgver' 'pkgrel' 'pkgdesc' 'arch' 'license' 'groups' \ - 'depends' 'optdepends' 'provides' 'conflicts' 'replaces' \ - 'backup' 'options' 'install' 'changelog') +splitpkg_overrides=('pkgver' 'pkgrel' 'epoch' 'pkgdesc' 'arch' 'license' \ + 'groups' 'depends' 'optdepends' 'provides' 'conflicts' \ + 'replaces' 'backup' 'options' 'install' 'changelog') readonly -a packaging_options other_options splitpkg_overrides
# Options @@ -1455,10 +1455,13 @@ check_sanity() { fi done || ret=1
- if [[ ! $epoch =~ ^[0-9]*$ ]]; then - error "$(gettext "%s must be an integer.")" "epoch" - ret=1 - fi + awk -F'=' '/^[[:space:]]*epoch=/ { $1=""; print $0 }' "$BUILDFILE" | + while read i; do + if [[ ! $i =~ ^[0-9]*$ ]]; then + error "$(gettext "%s must be an integer.")" "epoch" + return 1 + fi + done || ret=1
if [[ $arch != 'any' ]]; then if ! in_array $CARCH ${arch[@]}; then -- 1.7.6
I see 2 issues: 1) s/return/exit/ or remove the '|| ret=1'. Both are not needed. return, even from inside a subshell will work as expected. 2) This doesn't handle comments after the epoch value. awk -F'=' '/^[[:space:]]*epoch=/ { $1=""; print $0 }' "$BUILDFILE" | { read i _ if [[ $i != +([[:digit:]]) ]]; then error "$(gettext "%s must be an integer.")" "epoch" return 1 fi }