Use a single OBS package for all Debian distributions
authorIstván Váradi <ivaradi@varadiistvan.hu>
Thu, 11 Jul 2024 14:29:48 +0000 (16:29 +0200)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Thu, 11 Jul 2024 17:02:36 +0000 (01:02 +0800)
Signed-off-by: István Váradi <ivaradi@varadiistvan.hu>
admin/linux/debian/drone-build.sh

index 75ff985591d8f84285e1357e17fff7c41be27406..36aabc8345e4c1ee7c8bf0bc312260498869d4d5 100755 (executable)
@@ -22,6 +22,12 @@ else
     DEBIAN_DISTRIBUTIONS="bullseye bookworm testing"
 fi
 
+declare -A DIST_TO_OBS=(
+    ["bullseye"]="Debian_11"
+    ["bookworm"]="Debian_12"
+    ["testing"]="Debian_Testing"
+)
+
 pull_request=${DRONE_PULL_REQUEST:=master}
 
 if test -z "${DRONE_WORKSPACE}"; then
@@ -120,29 +126,34 @@ if test "${pull_request}" = "master"; then
             fi
         done
 
-        for distribution in ${DEBIAN_DISTRIBUTIONS}; do
-            pkgsuffix=".${distribution}"
-            pkgvertag="~${distribution}1"
-
-            package="${OBS_PACKAGE}${pkgsuffix}"
+        if test -n "${DEBIAN_DISTRIBUTIONS}"; then
+            package="nextcloud-desktop"
             OBS_SUBDIR="${OBS_PROJECT}/${package}"
 
             mkdir -p osc
             pushd osc
-            osc co ${OBS_PROJECT} ${package}
+            osc co "${OBS_PROJECT}" "${package}"
+
             if test "$(ls ${OBS_SUBDIR})"; then
                 osc delete ${OBS_SUBDIR}/*
             fi
 
-            cp ../nextcloud-desktop*.orig.tar.* ${OBS_SUBDIR}/
-            cp ../nextcloud-desktop_*[0-9.][0-9]${pkgvertag}.dsc ${OBS_SUBDIR}/
-            cp ../nextcloud-desktop_*[0-9.][0-9]${pkgvertag}.debian.tar* ${OBS_SUBDIR}/
-            cp ../nextcloud-desktop_*[0-9.][0-9]${pkgvertag}_source.changes ${OBS_SUBDIR}/
+            ln ../nextcloud-desktop*.orig.tar.* ${OBS_SUBDIR}/
+
+            for distribution in ${DEBIAN_DISTRIBUTIONS}; do
+                pkgsuffix=".${distribution}"
+                pkgvertag="~${distribution}1"
+                obs_dist="${DIST_TO_OBS[${distribution}]}"
+
+                ln ../nextcloud-desktop_*[0-9.][0-9]${pkgvertag}.dsc ${OBS_SUBDIR}/nextcloud-desktop-${obs_dist}.dsc
+                ln ../nextcloud-desktop_*[0-9.][0-9]${pkgvertag}.debian.tar* ${OBS_SUBDIR}/
+            done
+
             osc add ${OBS_SUBDIR}/*
 
             cd ${OBS_SUBDIR}
-            osc commit -m "Travis update"
+            osc commit -m "Drone update"
             popd
-        done
+        fi
     fi
 fi