diff options
Diffstat (limited to 'scripts/common-obs.sh')
-rw-r--r-- | scripts/common-obs.sh | 30 |
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" +} |