[packages/rpm-build-tools] normalize spec name, like builder script does
glen
glen at pld-linux.org
Tue Aug 7 07:21:49 CEST 2012
commit d509f5667ad8af8017e491f318727fabe9d0abfc
Author: Elan Ruusamäe <glen at delfi.ee>
Date: Tue Aug 7 08:21:37 2012 +0300
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
More information about the pld-cvs-commit
mailing list