<p>osmith has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ci/+/22328">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">repo-install-test: add PROJ variable<br><br>Make debugging easier by having a PROJ variable that can be overridden<br>by an environment variable of the same name. Pass it to docker and use<br>it to generate all related URLs etc.<br><br>Add functions in run-inside-docker.sh to convert the PROJ variable into<br>the two other formates needed (with slashes, with underscore), so a<br>future patch can use these functions with a different PROJ variable too.<br><br>Related: OS#4733<br>Change-Id: I0ac05a79ad65b5664b5ba37227b65e3b1422a4bf<br>---<br>M scripts/repo-install-test.sh<br>M scripts/repo-install-test/run-inside-docker.sh<br>2 files changed, 29 insertions(+), 7 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/28/22328/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/scripts/repo-install-test.sh b/scripts/repo-install-test.sh</span><br><span>index a30c36d..a785b74 100755</span><br><span>--- a/scripts/repo-install-test.sh</span><br><span>+++ b/scripts/repo-install-test.sh</span><br><span>@@ -2,6 +2,7 @@</span><br><span> # Environment variables:</span><br><span> # * INTERACTIVE: set to 1 to keep an interactive shell open after the script ran (for debugging)</span><br><span> # * FEED: binary package feed (e.g. "latest", "nightly")</span><br><span style="color: hsl(120, 100%, 40%);">+# * PROJ: OBS project namespace (e.g. "network:osmocom:latest")</span><br><span> # * KEEP_CACHE: set to 1 to keep downloaded binary packages (for development)</span><br><span> . "$(dirname "$0")/common.sh"</span><br><span> </span><br><span>@@ -16,6 +17,7 @@</span><br><span> docker_images_require "$DISTRO-repo-install-test"</span><br><span> </span><br><span> FEED="${FEED:-nightly}"</span><br><span style="color: hsl(120, 100%, 40%);">+PROJ="${PROJ:-network:osmocom:$FEED}"</span><br><span> CONTAINER="$DISTRO-repo-install-test-$FEED"</span><br><span> </span><br><span> # Try to run "systemctl status" 10 times, kill the container on failure</span><br><span>@@ -54,6 +56,7 @@</span><br><span>            -v "$OSMO_CI_DIR/scripts/repo-install-test:/repo-install-test:ro" \</span><br><span>                --name "$CONTAINER" \</span><br><span>              -e FEED="$FEED" \</span><br><span style="color: hsl(120, 100%, 40%);">+           -e PROJ="$PROJ" \</span><br><span>          -e DISTRO="$DISTRO" \</span><br><span>              -e container=docker \</span><br><span>                --tmpfs /run \</span><br><span>diff --git a/scripts/repo-install-test/run-inside-docker.sh b/scripts/repo-install-test/run-inside-docker.sh</span><br><span>index 93e8b7f..f472645 100755</span><br><span>--- a/scripts/repo-install-test/run-inside-docker.sh</span><br><span>+++ b/scripts/repo-install-test/run-inside-docker.sh</span><br><span>@@ -1,6 +1,7 @@</span><br><span> #!/bin/sh -ex</span><br><span> # Environment variables:</span><br><span> # * FEED: binary package feed (e.g. "latest", "nightly")</span><br><span style="color: hsl(120, 100%, 40%);">+# * PROJ: OBS project namespace (e.g. "network:osmocom:latest")</span><br><span> # * KEEP_CACHE: set to 1 to keep downloaded binary packages (for development)</span><br><span> # * DISTRO: linux distribution  name (e.g. "debian", "centos")</span><br><span> </span><br><span>@@ -34,8 +35,18 @@</span><br><span>        osmo-bts-virtual</span><br><span> "</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-HTTP="http://download.opensuse.org/repositories/network:/osmocom:/$FEED/Debian_9.0/"</span><br><span style="color: hsl(0, 100%, 40%);">-OBS="obs://build.opensuse.org/network:osmocom:$FEED/Debian_9.0"</span><br><span style="color: hsl(120, 100%, 40%);">+# $1: OBS project (e.g. "network:osmocom:nightly" -> "network:/osmocom:/nightly")</span><br><span style="color: hsl(120, 100%, 40%);">+proj_with_slashes() {</span><br><span style="color: hsl(120, 100%, 40%);">+        echo "$1" | sed "s.:.:/.g"</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# $1: OBS project (e.g. "network:osmocom:nightly" -> "network_osmocom_nightly")</span><br><span style="color: hsl(120, 100%, 40%);">+proj_with_underscore() {</span><br><span style="color: hsl(120, 100%, 40%);">+ echo "$1" | tr : _</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+HTTP="http://download.opensuse.org/repositories/$(proj_with_slashes "$PROJ")/Debian_9.0/"</span><br><span style="color: hsl(120, 100%, 40%);">+OBS="obs://build.opensuse.org/$PROJ/Debian_9.0"</span><br><span> </span><br><span> check_env() {</span><br><span>     if [ -n "$FEED" ]; then</span><br><span>@@ -44,6 +55,12 @@</span><br><span>               echo "ERROR: missing environment variable \$FEED!"</span><br><span>                 exit 1</span><br><span>       fi</span><br><span style="color: hsl(120, 100%, 40%);">+    if [ -n "$PROJ" ]; then</span><br><span style="color: hsl(120, 100%, 40%);">+             echo "Checking project: $PROJ"</span><br><span style="color: hsl(120, 100%, 40%);">+      else</span><br><span style="color: hsl(120, 100%, 40%);">+          echo "ERROR: missing environment variable \$PROJ!"</span><br><span style="color: hsl(120, 100%, 40%);">+          exit 1</span><br><span style="color: hsl(120, 100%, 40%);">+        fi</span><br><span>   if [ -n "$DISTRO" ]; then</span><br><span>          echo "Linux distribution: $DISTRO"</span><br><span>         else</span><br><span>@@ -60,16 +77,18 @@</span><br><span> }</span><br><span> </span><br><span> configure_osmocom_repo_centos8() {</span><br><span style="color: hsl(120, 100%, 40%);">+     local baseurl="https://download.opensuse.org/repositories/$(proj_with_slashes "$PROJ")/CentOS_8"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>       echo "Configuring Osmocom repository"</span><br><span>      # Generate this file, based on the feed:</span><br><span>     # https://download.opensuse.org/repositories/network:osmocom:latest/CentOS_8/network:osmocom:latest.repo</span><br><span style="color: hsl(0, 100%, 40%);">-        cat << EOF > /etc/yum.repos.d/network:osmocom:$FEED.repo</span><br><span style="color: hsl(0, 100%, 40%);">-[network_osmocom_$FEED]</span><br><span style="color: hsl(120, 100%, 40%);">+      cat << EOF > "/etc/yum.repos.d/$PROJ.repo"</span><br><span style="color: hsl(120, 100%, 40%);">+[$(proj_with_underscore "$PROJ")]</span><br><span> name=$FEED packages of the Osmocom project (CentOS_8)</span><br><span> type=rpm-md</span><br><span style="color: hsl(0, 100%, 40%);">-baseurl=https://download.opensuse.org/repositories/network:/osmocom:/$FEED/CentOS_8/</span><br><span style="color: hsl(120, 100%, 40%);">+baseurl=$baseurl/</span><br><span> gpgcheck=1</span><br><span style="color: hsl(0, 100%, 40%);">-gpgkey=https://download.opensuse.org/repositories/network:/osmocom:/$FEED/CentOS_8/repodata/repomd.xml.key</span><br><span style="color: hsl(120, 100%, 40%);">+gpgkey=$baseurl/repodata/repomd.xml.key</span><br><span> enabled=1</span><br><span> EOF</span><br><span> }</span><br><span>@@ -124,7 +143,7 @@</span><br><span>    # Get a list of all packages from the repository</span><br><span>     LANG=C.UTF-8 repoquery \</span><br><span>             --quiet \</span><br><span style="color: hsl(0, 100%, 40%);">-               --repoid="network_osmocom_$FEED" \</span><br><span style="color: hsl(120, 100%, 40%);">+          --repoid="$(proj_with_underscore "$PROJ")" \</span><br><span>             --archlist="x86_64,noarch" \</span><br><span>               --qf="%{name}" \</span><br><span>           > osmocom_packages_all.txt</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ci/+/22328">change 22328</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/+/22328"/><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: I0ac05a79ad65b5664b5ba37227b65e3b1422a4bf </div>
<div style="display:none"> Gerrit-Change-Number: 22328 </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>