aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/common-obs.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/common-obs.sh')
-rw-r--r--scripts/common-obs.sh30
1 files changed, 30 insertions, 0 deletions
diff --git a/scripts/common-obs.sh b/scripts/common-obs.sh
index 2b33039..5e21574 100644
--- a/scripts/common-obs.sh
+++ b/scripts/common-obs.sh
@@ -77,3 +77,33 @@ osmo_obs_add_debian_dependency() {
git -C "$(dirname "$1")" commit -m "auto-commit: debian: depend on $2" .
}
+
+# Copy a project's rpm spec.in file to the osc package dir, set the version/source and 'osc add' it
+# $1: oscdir (path to checked out OSC package)
+# $2: repodir (path to git repository)
+# $3: name (e.g. libosmocore)
+osmo_obs_add_rpm_spec() {
+ local oscdir="$1"
+ local repodir="$2"
+ local name="$3"
+ local spec="$(find "$repodir" -name "$name.spec.in")"
+ local tarball
+ local version
+
+ if [ -z "$spec" ]; then
+ echo "WARNING: RPM spec missing: $name.spec.in"
+ return
+ fi
+
+ cp "$spec" "$oscdir/$name.spec"
+
+ # Set version
+ version="$(grep "^Version: " "$oscdir"/*.dsc | cut -d: -f2 | xargs)"
+ sed -i "s/^Version:.*/Version: $version/g" "$oscdir/$name.spec"
+
+ # Set source file
+ tarball="$(ls -1 "${name}_"*".tar."*)"
+ sed -i "s/^Source:.*/Source: $tarball/g" "$oscdir/$name.spec"
+
+ osc add "$name.spec"
+}