Change in osmo-ci[master]: OBS: osmo_obs_add_rpm_spec: depend on conflict pkg

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

osmith gerrit-no-reply at lists.osmocom.org
Fri Jan 15 15:54:08 UTC 2021


osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/22221 )


Change subject: OBS: osmo_obs_add_rpm_spec: depend on conflict pkg
......................................................................

OBS: osmo_obs_add_rpm_spec: depend on conflict pkg

Related: OS#4733
Change-Id: I69bebdadaf89c2a6e5dd9a27161703a567882359
---
M scripts/common-obs.sh
M scripts/osmocom-latest-packages.sh
M scripts/osmocom-nightly-packages.sh
3 files changed, 42 insertions(+), 5 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/21/22221/1

diff --git a/scripts/common-obs.sh b/scripts/common-obs.sh
index 0655370..adfa076 100644
--- a/scripts/common-obs.sh
+++ b/scripts/common-obs.sh
@@ -37,14 +37,49 @@
 	git -C "$(dirname "$d_control")" commit -m "auto-commit: debian: depend on $depend" .
 }
 
-# Copy a project's rpm spec.in file to the osc package dir, set the version/source and 'osc add' it
+# Add dependency to all (sub)packages in rpm spec file
+# $1: path to rpm spec file
+# $2: package name (e.g. "libosmocore")
+# $3: dependency package name (e.g. "osmocom-nightly")
+osmo_obs_add_depend_rpm() {
+	local spec="$1"
+	local pkgname="$2"
+	local depend="$3"
+
+	if [ "$pkgname" = "$depend" ]; then
+		echo "NOTE: skipping dependency on itself: $depend"
+		return
+	fi
+
+	( while IFS= read -r line; do
+		echo "$line"
+
+		case "$line" in
+			# Main package
+			"Name:"*)
+				echo "Requires: $depend"
+				;;
+			# Subpackages
+			"%package"*)
+				echo "Requires: $depend"
+				;;
+		esac
+	  done < "$spec" ) > "$spec.new"
+
+	mv "$spec.new" "$spec"
+}
+
+# Copy a project's rpm spec.in file to the osc package dir, set the version/source, depend on the conflicting dummy
+# package and 'osc add' it
 # $1: oscdir (path to checked out OSC package)
 # $2: repodir (path to git repository)
-# $3: name (e.g. libosmocore)
+# $3: package name (e.g. "libosmocore")
+# $4: dependency package name (e.g. "osmocom-nightly")
 osmo_obs_add_rpm_spec() {
 	local oscdir="$1"
 	local repodir="$2"
 	local name="$3"
+	local depend="$4"
 	local spec_in="$(find "$repodir" -name "$name.spec.in")"
 	local spec="$oscdir/$name.spec"
 	local tarball
@@ -57,6 +92,8 @@
 
 	cp "$spec_in" "$spec"
 
+	osmo_obs_add_depend_rpm "$spec" "$name" "$depend"
+
 	# Set version
 	version="$(grep "^Version: " "$oscdir"/*.dsc | cut -d: -f2 | xargs)"
 	sed -i "s/^Version:.*/Version:  $version/g" "$spec"
diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh
index 2689e35..94fcf7a 100755
--- a/scripts/osmocom-latest-packages.sh
+++ b/scripts/osmocom-latest-packages.sh
@@ -96,7 +96,7 @@
     mv "$output/"*.tar* "$TOP/$PROJ/$project/"
     cd "$TOP/$PROJ"
     osc add "$project"
-    osmo_obs_add_rpm_spec "$TOP/$PROJ/$project" "$output" "$project"
+    osmo_obs_add_rpm_spec "$TOP/$PROJ/$project" "$output" "$project" "osmocom-latest"
   else
     cd "$TOP/$PROJ/$project"
 
@@ -107,7 +107,7 @@
       mv "$output/"*.dsc .
       mv "$output/"*.tar* .
       osc add ./*
-      osmo_obs_add_rpm_spec "$PWD" "$output" "$project"
+      osmo_obs_add_rpm_spec "$PWD" "$output" "$project" "osmocom-latest"
     fi
   fi
   cd "$TOP"
diff --git a/scripts/osmocom-nightly-packages.sh b/scripts/osmocom-nightly-packages.sh
index 3f95d17..ea181ab 100755
--- a/scripts/osmocom-nightly-packages.sh
+++ b/scripts/osmocom-nightly-packages.sh
@@ -152,7 +152,7 @@
 
   cd "$oscdir"
   osc add -- *.tar* *.dsc
-  osmo_obs_add_rpm_spec "$oscdir" "$repodir" "$name"
+  osmo_obs_add_rpm_spec "$oscdir" "$repodir" "$name" "osmocom-$FEED"
   osc ci -m "Snapshot $name $DT" --noservice
 }
 

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/22221
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: I69bebdadaf89c2a6e5dd9a27161703a567882359
Gerrit-Change-Number: 22221
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210115/71071a2c/attachment.htm>


More information about the gerrit-log mailing list