<p>osmith has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ci/+/22213">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">OBS: move obs_prepare_conflict to own file<br><br>Prepare to add another function that creates similar dummy packages for<br>rpm (current version only works for deb).<br><br>Related: OS#4733<br>Change-Id: I29a5f54fe3a09610cffa0eacb5f0ad99154612f7<br>---<br>A scripts/common-obs-conflict.sh<br>M scripts/common-obs.sh<br>2 files changed, 86 insertions(+), 81 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/13/22213/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/scripts/common-obs-conflict.sh b/scripts/common-obs-conflict.sh</span><br><span>new file mode 100644</span><br><span>index 0000000..a3cde36</span><br><span>--- /dev/null</span><br><span>+++ b/scripts/common-obs-conflict.sh</span><br><span>@@ -0,0 +1,85 @@</span><br><span style="color: hsl(120, 100%, 40%);">+#!/bin/sh</span><br><span style="color: hsl(120, 100%, 40%);">+# Create conflicting dummy packages in OBS (opensuse build service), so users can't mix packages</span><br><span style="color: hsl(120, 100%, 40%);">+# built from different branches by accident</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Create the source for a dummy package, that conflicts with another dummy package in the current</span><br><span style="color: hsl(120, 100%, 40%);">+# directory. Example of the structure that will be generated:</span><br><span style="color: hsl(120, 100%, 40%);">+# osmocom-nightly</span><br><span style="color: hsl(120, 100%, 40%);">+# └── debian</span><br><span style="color: hsl(120, 100%, 40%);">+#     ├── changelog</span><br><span style="color: hsl(120, 100%, 40%);">+#     ├── compat</span><br><span style="color: hsl(120, 100%, 40%);">+#     ├── control</span><br><span style="color: hsl(120, 100%, 40%);">+#     ├── copyright</span><br><span style="color: hsl(120, 100%, 40%);">+#     ├── rules</span><br><span style="color: hsl(120, 100%, 40%);">+#     └── source</span><br><span style="color: hsl(120, 100%, 40%);">+#         └── format</span><br><span style="color: hsl(120, 100%, 40%);">+# $1: name of dummy package (e.g. "osmocom-nightly")</span><br><span style="color: hsl(120, 100%, 40%);">+# $2-*: name of conflicting packages (e.g. "osmocom-latest")</span><br><span style="color: hsl(120, 100%, 40%);">+osmo_obs_prepare_conflict() {</span><br><span style="color: hsl(120, 100%, 40%);">+     local pkgname="$1"</span><br><span style="color: hsl(120, 100%, 40%);">+  shift</span><br><span style="color: hsl(120, 100%, 40%);">+ local pkgver="0.0.0"</span><br><span style="color: hsl(120, 100%, 40%);">+        local oldpwd="$PWD"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       mkdir -p "$pkgname/debian/source"</span><br><span style="color: hsl(120, 100%, 40%);">+   cd "$pkgname/debian"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      # Fill control</span><br><span style="color: hsl(120, 100%, 40%);">+        cat << EOF > control</span><br><span style="color: hsl(120, 100%, 40%);">+Source: ${pkgname}</span><br><span style="color: hsl(120, 100%, 40%);">+Section: unknown</span><br><span style="color: hsl(120, 100%, 40%);">+Priority: optional</span><br><span style="color: hsl(120, 100%, 40%);">+Maintainer: Oliver Smith <osmith@sysmocom.de></span><br><span style="color: hsl(120, 100%, 40%);">+Build-Depends: debhelper (>= 9)</span><br><span style="color: hsl(120, 100%, 40%);">+Standards-Version: 3.9.8</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Package: ${pkgname}</span><br><span style="color: hsl(120, 100%, 40%);">+Depends: \${misc:Depends}</span><br><span style="color: hsl(120, 100%, 40%);">+Architecture: any</span><br><span style="color: hsl(120, 100%, 40%);">+EOF</span><br><span style="color: hsl(120, 100%, 40%);">+  printf "Conflicts: " >> control</span><br><span style="color: hsl(120, 100%, 40%);">+       first=1</span><br><span style="color: hsl(120, 100%, 40%);">+       for i in "$@"; do</span><br><span style="color: hsl(120, 100%, 40%);">+           if [ "$first" -eq 1 ]; then</span><br><span style="color: hsl(120, 100%, 40%);">+                 first=0</span><br><span style="color: hsl(120, 100%, 40%);">+               else</span><br><span style="color: hsl(120, 100%, 40%);">+                  printf ", " >> control</span><br><span style="color: hsl(120, 100%, 40%);">+                fi</span><br><span style="color: hsl(120, 100%, 40%);">+            printf "%s" "$i" >> control</span><br><span style="color: hsl(120, 100%, 40%);">+ done</span><br><span style="color: hsl(120, 100%, 40%);">+  printf "\n" >> control</span><br><span style="color: hsl(120, 100%, 40%);">+        cat << EOF >> control</span><br><span style="color: hsl(120, 100%, 40%);">+Description: Dummy package, which conflicts with: $@</span><br><span style="color: hsl(120, 100%, 40%);">+EOF</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        # Fill changelog</span><br><span style="color: hsl(120, 100%, 40%);">+      cat << EOF > changelog</span><br><span style="color: hsl(120, 100%, 40%);">+${pkgname} (${pkgver}) unstable; urgency=medium</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  * Dummy package, which conflicts with: $@</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ -- Oliver Smith <osmith@sysmocom.de>  Thu, 13 Jun 2019 12:50:19 +0200</span><br><span style="color: hsl(120, 100%, 40%);">+EOF</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        # Fill rules</span><br><span style="color: hsl(120, 100%, 40%);">+  cat << EOF > rules</span><br><span style="color: hsl(120, 100%, 40%);">+#!/usr/bin/make -f</span><br><span style="color: hsl(120, 100%, 40%);">+%:</span><br><span style="color: hsl(120, 100%, 40%);">+   dh \$@</span><br><span style="color: hsl(120, 100%, 40%);">+EOF</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ # Finish up debian dir</span><br><span style="color: hsl(120, 100%, 40%);">+        chmod +x rules</span><br><span style="color: hsl(120, 100%, 40%);">+        echo "9" > compat</span><br><span style="color: hsl(120, 100%, 40%);">+        echo "3.0 (native)" > source/format</span><br><span style="color: hsl(120, 100%, 40%);">+      touch copyright</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     # Put in git repository</span><br><span style="color: hsl(120, 100%, 40%);">+       cd ..</span><br><span style="color: hsl(120, 100%, 40%);">+ git init .</span><br><span style="color: hsl(120, 100%, 40%);">+    git add -A</span><br><span style="color: hsl(120, 100%, 40%);">+    git commit -m "auto-commit: $pkgname dummy package" || true</span><br><span style="color: hsl(120, 100%, 40%);">+ git tag -f "$pkgver"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      cd "$oldpwd"</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span>diff --git a/scripts/common-obs.sh b/scripts/common-obs.sh</span><br><span>index 3aa2a36..ea1c5cb 100644</span><br><span>--- a/scripts/common-obs.sh</span><br><span>+++ b/scripts/common-obs.sh</span><br><span>@@ -1,5 +1,6 @@</span><br><span> #!/bin/sh</span><br><span> # Various common code used in the OBS (opensuse build service) related osmo-ci shell scripts</span><br><span style="color: hsl(120, 100%, 40%);">+. "$(dirname "$0")/common-obs-conflict.sh"</span><br><span> </span><br><span> osmo_cmd_require \</span><br><span>  dch \</span><br><span>@@ -14,87 +15,6 @@</span><br><span>   sed \</span><br><span>        wget</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-# Create the source for a dummy package, that conflicts with another dummy package in the current directory. Example</span><br><span style="color: hsl(0, 100%, 40%);">-# of the structure that will be generated:</span><br><span style="color: hsl(0, 100%, 40%);">-# osmocom-nightly</span><br><span style="color: hsl(0, 100%, 40%);">-# └── debian</span><br><span style="color: hsl(0, 100%, 40%);">-#     ├── changelog</span><br><span style="color: hsl(0, 100%, 40%);">-#     ├── compat</span><br><span style="color: hsl(0, 100%, 40%);">-#     ├── control</span><br><span style="color: hsl(0, 100%, 40%);">-#     ├── copyright</span><br><span style="color: hsl(0, 100%, 40%);">-#     ├── rules</span><br><span style="color: hsl(0, 100%, 40%);">-#     └── source</span><br><span style="color: hsl(0, 100%, 40%);">-#         └── format</span><br><span style="color: hsl(0, 100%, 40%);">-# $1: name of dummy package (e.g. "osmocom-nightly")</span><br><span style="color: hsl(0, 100%, 40%);">-# $2-*: name of conflicting packages (e.g. "osmocom-latest")</span><br><span style="color: hsl(0, 100%, 40%);">-osmo_obs_prepare_conflict() {</span><br><span style="color: hsl(0, 100%, 40%);">-  local pkgname="$1"</span><br><span style="color: hsl(0, 100%, 40%);">-    shift</span><br><span style="color: hsl(0, 100%, 40%);">-   local pkgver="0.0.0"</span><br><span style="color: hsl(0, 100%, 40%);">-  local oldpwd="$PWD"</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-   mkdir -p "$pkgname/debian/source"</span><br><span style="color: hsl(0, 100%, 40%);">-     cd "$pkgname/debian"</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-  # Fill control</span><br><span style="color: hsl(0, 100%, 40%);">-  cat << EOF > control</span><br><span style="color: hsl(0, 100%, 40%);">-Source: ${pkgname}</span><br><span style="color: hsl(0, 100%, 40%);">-Section: unknown</span><br><span style="color: hsl(0, 100%, 40%);">-Priority: optional</span><br><span style="color: hsl(0, 100%, 40%);">-Maintainer: Oliver Smith <osmith@sysmocom.de></span><br><span style="color: hsl(0, 100%, 40%);">-Build-Depends: debhelper (>= 9)</span><br><span style="color: hsl(0, 100%, 40%);">-Standards-Version: 3.9.8</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-Package: ${pkgname}</span><br><span style="color: hsl(0, 100%, 40%);">-Depends: \${misc:Depends}</span><br><span style="color: hsl(0, 100%, 40%);">-Architecture: any</span><br><span style="color: hsl(0, 100%, 40%);">-EOF</span><br><span style="color: hsl(0, 100%, 40%);">-  printf "Conflicts: " >> control</span><br><span style="color: hsl(0, 100%, 40%);">- first=1</span><br><span style="color: hsl(0, 100%, 40%);">- for i in "$@"; do</span><br><span style="color: hsl(0, 100%, 40%);">-             if [ "$first" -eq 1 ]; then</span><br><span style="color: hsl(0, 100%, 40%);">-                   first=0</span><br><span style="color: hsl(0, 100%, 40%);">-         else</span><br><span style="color: hsl(0, 100%, 40%);">-                    printf ", " >> control</span><br><span style="color: hsl(0, 100%, 40%);">-          fi</span><br><span style="color: hsl(0, 100%, 40%);">-              printf "%s" "$i" >> control</span><br><span style="color: hsl(0, 100%, 40%);">-   done</span><br><span style="color: hsl(0, 100%, 40%);">-    printf "\n" >> control</span><br><span style="color: hsl(0, 100%, 40%);">-  cat << EOF >> control</span><br><span style="color: hsl(0, 100%, 40%);">-Description: Dummy package, which conflicts with: $@</span><br><span style="color: hsl(0, 100%, 40%);">-EOF</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-        # Fill changelog</span><br><span style="color: hsl(0, 100%, 40%);">-        cat << EOF > changelog</span><br><span style="color: hsl(0, 100%, 40%);">-${pkgname} (${pkgver}) unstable; urgency=medium</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-  * Dummy package, which conflicts with: $@</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">- -- Oliver Smith <osmith@sysmocom.de>  Thu, 13 Jun 2019 12:50:19 +0200</span><br><span style="color: hsl(0, 100%, 40%);">-EOF</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-        # Fill rules</span><br><span style="color: hsl(0, 100%, 40%);">-    cat << EOF > rules</span><br><span style="color: hsl(0, 100%, 40%);">-#!/usr/bin/make -f</span><br><span style="color: hsl(0, 100%, 40%);">-%:</span><br><span style="color: hsl(0, 100%, 40%);">- dh \$@</span><br><span style="color: hsl(0, 100%, 40%);">-EOF</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-       # Finish up debian dir</span><br><span style="color: hsl(0, 100%, 40%);">-  chmod +x rules</span><br><span style="color: hsl(0, 100%, 40%);">-  echo "9" > compat</span><br><span style="color: hsl(0, 100%, 40%);">-  echo "3.0 (native)" > source/format</span><br><span style="color: hsl(0, 100%, 40%);">-        touch copyright</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">- # Put in git repository</span><br><span style="color: hsl(0, 100%, 40%);">- cd ..</span><br><span style="color: hsl(0, 100%, 40%);">-   git init .</span><br><span style="color: hsl(0, 100%, 40%);">-      git add -A</span><br><span style="color: hsl(0, 100%, 40%);">-      git commit -m "auto-commit: $pkgname dummy package" || true</span><br><span style="color: hsl(0, 100%, 40%);">-   git tag -f "$pkgver"</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-  cd "$oldpwd"</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span> </span><br><span> # Add dependency to all (sub)packages in debian/control and commit the change.</span><br><span> # $1: path to debian/control file</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ci/+/22213">change 22213</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-ci/+/22213"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-ci </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I29a5f54fe3a09610cffa0eacb5f0ad99154612f7 </div>
<div style="display:none"> Gerrit-Change-Number: 22213 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: osmith <osmith@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>