From 2f1339b6c51fe5e6585051f6b82d016f735409c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20W=C3=A4ckerlin?= Date: Tue, 18 Sep 2018 14:50:51 +0000 Subject: [PATCH] fixed for build with opensuse tumbleweed and leap --- build-in-docker.conf | 2 +- build-in-docker.sh | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/build-in-docker.conf b/build-in-docker.conf index 1fd8121..e0382a5 100644 --- a/build-in-docker.conf +++ b/build-in-docker.conf @@ -12,5 +12,5 @@ repos+=("ubuntu:::universe") # Use Marc Wäckerlin's Repository, see https://mrw.sh -repos+=("debian|ubuntu:::https://repository.mrw.sh:::https://repository.mrw.sh/@DISTRIBUTOR@/marc-waeckerlin.repo") +repos+=("debian|ubuntu:::https://repository.mrw.sh:::https://repository.mrw.sh/@DISTRIBUTOR@/@CODENAME@ marc-waeckerlin") keys+=("https://repository.mrw.sh/PublicKey") diff --git a/build-in-docker.sh b/build-in-docker.sh index f7355ab..c1c5279 100755 --- a/build-in-docker.sh +++ b/build-in-docker.sh @@ -200,11 +200,17 @@ function ifthenelse() { arg="$1" shift cmd="$*" - DISTRIBUTOR=$(docker exec ${DOCKER_ID} lsb_release -si | sed 's, .*,,' | tr [:upper:] [:lower:]) + DISTRIBUTOR=$(docker exec ${DOCKER_ID} lsb_release -si | sed 's, .*,,;s,.*,\L&,g') CODENAME=$(docker exec ${DOCKER_ID} lsb_release -cs) ARCH=$((docker exec ${DOCKER_ID} which dpkg > /dev/null 2> /dev/null && docker exec ${DOCKER_ID} dpkg --print-architecture) || echo amd64) + if test "$CODENAME" = "n/a"; then + if test "$DISTRIBUTOR" = "opensuse"; then + CODENAME=$(docker exec ${DOCKER_ID} lsb_release -ds | sed "s,\($(docker exec ${DOCKER_ID} lsb_release -si | sed 's, ,\\|,g')\) *,,"';s, .*,,g;s,",,g;s,.*,\L&,g') + fi + fi if test "${arg/:::/}" = "${arg}"; then - docker exec ${DOCKER_ID} bash -c "${cmd//ARG/${arg//@DISTRIBUTOR@/${DISTRIBUTOR}}}" + cmd_tmp="${cmd//ARG/${arg//@DISTRIBUTOR@/${DISTRIBUTOR}}}" + docker exec ${DOCKER_ID} bash -c "${cmd_tmp//@CODENAME@/${CODENAME}}" else os="${arg%%:::*}" thenpart="${arg#*:::}" @@ -215,11 +221,13 @@ function ifthenelse() { fi if [[ "${DISTRIBUTOR}-${CODENAME}-${ARCH}" =~ ${os} ]]; then if test -n "${thenpart}"; then - docker exec ${DOCKER_ID} bash -c "${cmd//ARG/${thenpart//@DISTRIBUTOR@/${DISTRIBUTOR}}}" + cmd_tmp="${cmd//ARG/${thenpart//@DISTRIBUTOR@/${DISTRIBUTOR}}}" + docker exec ${DOCKER_ID} bash -c "${cmd_tmp//@CODENAME@/${CODENAME}}" fi else if test -n "${elsepart}"; then - docker exec ${DOCKER_ID} bash -c "${cmd//ARG/${elsepart//@DISTRIBUTOR@/${DISTRIBUTOR}}}" + cmd_tmp="${cmd//ARG/${elsepart//@DISTRIBUTOR@/${DISTRIBUTOR}}}" + docker exec ${DOCKER_ID} bash -c "${cmd_tmp//@CODENAME@/${CODENAME}}" fi fi fi @@ -324,7 +332,7 @@ EOF done for repo in "${repos[@]}"; do INSTALL_REPO=$((docker exec ${DOCKER_ID} test -x /usr/bin/zypper && echo zypper ar) || (docker exec ${DOCKER_ID} test -x /usr/bin/dnf && echo dnf config-manager --add-repo) || (docker exec ${DOCKER_ID} test -x /usr/bin/yum && echo wget -O/etc/yum.repos.d/additional$i.repo) || (docker exec ${DOCKER_ID} test -x /usr/sbin/urpmi && echo false)) - ifthenelse "${repo}" "${INSTALL_REPO} 'ARG'" + ifthenelse "${repo}" "${INSTALL_REPO} ARG" ((++i)) done for package in "${packages[@]}"; do