OBS: nightly: depend on dummy pkg of current date

Make it impossible to mix nightly/next builds of different dates.

Related: OS#4733
Change-Id: Ida8db8e6c91834c9d9e43694d9b4daea55a2f8f8
This commit is contained in:
Oliver Smith 2021-01-15 11:36:52 +01:00
parent 245b68316a
commit 0550cf9b92
2 changed files with 18 additions and 3 deletions

View File

@ -20,16 +20,22 @@ osmo_cmd_require \
# $1: path to debian/control file
# $2: package name (e.g. "libosmocore")
# $3: dependency package name (e.g. "osmocom-nightly")
# $4: dependency package version (optional, e.g. "1.0.0.202101151122")
osmo_obs_add_depend_deb() {
local d_control="$1"
local pkgname="$2"
local depend="$3"
local dependver="$4"
if [ "$pkgname" = "$depend" ]; then
echo "NOTE: skipping dependency on itself: $depend"
return
fi
if [ -n "$dependver" ]; then
depend="$depend (= $dependver)"
fi
# Note: adding the comma at the end should be fine. If there is a Depends: line, it is most likely not empty. It
# should at least have ${misc:Depends} according to lintian.
sed "s/^Depends: /Depends: $depend, /g" -i "$d_control"
@ -41,16 +47,22 @@ osmo_obs_add_depend_deb() {
# $1: path to rpm spec file
# $2: package name (e.g. "libosmocore")
# $3: dependency package name (e.g. "osmocom-nightly")
# $4: dependency package version (optional, e.g. "1.0.0.202101151122")
osmo_obs_add_depend_rpm() {
local spec="$1"
local pkgname="$2"
local depend="$3"
local dependver="$4"
if [ "$pkgname" = "$depend" ]; then
echo "NOTE: skipping dependency on itself: $depend"
return
fi
if [ -n "$dependver" ]; then
depend="$depend = $dependver"
fi
( while IFS= read -r line; do
echo "$line"
@ -75,11 +87,13 @@ osmo_obs_add_depend_rpm() {
# $2: repodir (path to git repository)
# $3: package name (e.g. "libosmocore")
# $4: dependency package name (e.g. "osmocom-nightly")
# $5: dependency package version (optional, e.g. "1.0.0.202101151122")
osmo_obs_add_rpm_spec() {
local oscdir="$1"
local repodir="$2"
local name="$3"
local depend="$4"
local dependver="$5"
local spec_in="$(find "$repodir" -name "$name.spec.in")"
local spec="$oscdir/$name.spec"
local tarball
@ -92,7 +106,7 @@ osmo_obs_add_rpm_spec() {
cp "$spec_in" "$spec"
osmo_obs_add_depend_rpm "$spec" "$name" "$depend"
osmo_obs_add_depend_rpm "$spec" "$name" "$depend" "$dependver"
# Set version
version="$(grep "^Version: " "$oscdir"/*.dsc | cut -d: -f2 | xargs)"

View File

@ -109,6 +109,7 @@ build() {
local gitbpargs=$3
local repodir=$REPO/$name
local oscdir=$REPO/osc/$PROJ/$name
local dependver="$OSMO_OBS_CONFLICT_PKGVER.$DT"
if [ -z "$changelog" ] ; then
changelog=commit
@ -129,7 +130,7 @@ build() {
if [ "$changelog" = "commit" ] ; then
VER=$(get_commit_version)
osmo_obs_add_depend_deb "./debian/control" "$name" "osmocom-$FEED"
osmo_obs_add_depend_deb "./debian/control" "$name" "osmocom-$FEED" "$dependver"
dch -b -v "$VER" -m "Snapshot build"
git commit -m "$VER snapshot" debian/
fi
@ -152,7 +153,7 @@ build() {
cd "$oscdir"
osc add -- *.tar* *.dsc
osmo_obs_add_rpm_spec "$oscdir" "$repodir" "$name" "osmocom-$FEED"
osmo_obs_add_rpm_spec "$oscdir" "$repodir" "$name" "osmocom-$FEED" "$dependver"
osc ci -m "Snapshot $name $DT" --noservice
}