From d509f5667ad8af8017e491f318727fabe9d0abfc Mon Sep 17 00:00:00 2001 From: =?utf8?q?Elan=20Ruusam=C3=A4e?= Date: Tue, 7 Aug 2012 08:21:37 +0300 Subject: [PATCH] normalize spec name, like builder script does --- relup.sh | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/relup.sh b/relup.sh index 5c308ba..9e2e80e 100755 --- a/relup.sh +++ b/relup.sh @@ -51,6 +51,31 @@ set_release() { " $specfile } +# normalize spec +# takes as input: +# - PACKAGE/ +# - ./PACKAGE/ +# - PACKAGE +# - PACKAGE.spec +# - ./PACKAGE.spec +# - PACKAGE/PACKAGE +# - PACKAGE/PACKAGE.spec +# - ./PACKAGE/PACKAGE.spec +# - rpm/PACKAGE/PACKAGE +# - rpm/PACKAGE/PACKAGE.spec +# - ./rpm/PACKAGE/PACKAGE.spec +# returns PACKAGE +package_name() { + local specfile="${1%/}" package + + # basename + specfile=${specfile##*/} + # strip .spec + package=${specfile%.spec} + + echo $package +} + if [ ! -x /usr/bin/getopt ]; then echo >&1 "You need to install util-linux to use relup.sh" exit 1 @@ -100,9 +125,10 @@ topdir=$(rpm -E '%{_topdir}') # way to group changes as in CVS cd "$topdir" for pkg in "$@"; do - name=${pkg%.spec} name=${name##*/} - spec=$(rpm -D "name $name" -E '%{_specdir}/%{name}.spec') + pkg=$(package_name "$pkg") + spec=$(rpm -D "name $pkg" -E '%{_specdir}/%{name}.spec') spec=${spec#$topdir/} + if [ "$update" = "1" ]; then ./builder -g -ns "$spec" fi -- 2.44.0