Merge pull request #6907 from ivaradi/optimize_debian_build

Optimize Ubuntu/Debian build
This commit is contained in:
Claudio Cambra 2024-07-12 01:02:59 +08:00 committed by GitHub
commit f29df330fb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -22,6 +22,12 @@ else
DEBIAN_DISTRIBUTIONS="bullseye bookworm testing" DEBIAN_DISTRIBUTIONS="bullseye bookworm testing"
fi fi
declare -A DIST_TO_OBS=(
["bullseye"]="Debian_11"
["bookworm"]="Debian_12"
["testing"]="Debian_Testing"
)
pull_request=${DRONE_PULL_REQUEST:=master} pull_request=${DRONE_PULL_REQUEST:=master}
if test -z "${DRONE_WORKSPACE}"; then if test -z "${DRONE_WORKSPACE}"; then
@ -43,8 +49,19 @@ fi
set -x set -x
cd "${DRONE_WORKSPACE}" cd "${DRONE_WORKSPACE}"
git config --global user.email "drone@noemail.invalid"
git config --global user.name "Drone User"
git fetch --tags git fetch --tags
read basever revdate kind <<<$(admin/linux/debian/scripts/git2changelog.py /tmp/tmpchangelog stable)
for distribution in ${UBUNTU_DISTRIBUTIONS} ${DEBIAN_DISTRIBUTIONS}; do
git fetch origin debian/dist/${distribution}/${DRONE_TARGET_BRANCH}
git checkout origin/debian/dist/${distribution}/${DRONE_TARGET_BRANCH}
git merge ${DRONE_COMMIT}
read basever revdate kind <<<$(admin/linux/debian/scripts/git2changelog.py /tmp/tmpchangelog stable)
break
done
cd "${DRONE_DIR}" cd "${DRONE_DIR}"
@ -64,8 +81,6 @@ cp -a ${DRONE_WORKSPACE} nextcloud-desktop_${basever}-${revdate}
tar cjf nextcloud-desktop_${basever}-${revdate}.orig.tar.bz2 --exclude .git --exclude binary nextcloud-desktop_${basever}-${revdate} tar cjf nextcloud-desktop_${basever}-${revdate}.orig.tar.bz2 --exclude .git --exclude binary nextcloud-desktop_${basever}-${revdate}
cd "${DRONE_WORKSPACE}" cd "${DRONE_WORKSPACE}"
git config --global user.email "drone@noemail.invalid"
git config --global user.name "Drone User"
for distribution in ${UBUNTU_DISTRIBUTIONS} ${DEBIAN_DISTRIBUTIONS}; do for distribution in ${UBUNTU_DISTRIBUTIONS} ${DEBIAN_DISTRIBUTIONS}; do
git checkout -- . git checkout -- .
@ -111,29 +126,34 @@ if test "${pull_request}" = "master"; then
fi fi
done done
for distribution in ${DEBIAN_DISTRIBUTIONS}; do if test -n "${DEBIAN_DISTRIBUTIONS}"; then
pkgsuffix=".${distribution}" package="nextcloud-desktop"
pkgvertag="~${distribution}1"
package="${OBS_PACKAGE}${pkgsuffix}"
OBS_SUBDIR="${OBS_PROJECT}/${package}" OBS_SUBDIR="${OBS_PROJECT}/${package}"
mkdir -p osc mkdir -p osc
pushd osc pushd osc
osc co ${OBS_PROJECT} ${package} osc co "${OBS_PROJECT}" "${package}"
if test "$(ls ${OBS_SUBDIR})"; then if test "$(ls ${OBS_SUBDIR})"; then
osc delete ${OBS_SUBDIR}/* osc delete ${OBS_SUBDIR}/*
fi fi
cp ../nextcloud-desktop*.orig.tar.* ${OBS_SUBDIR}/ ln ../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}/ for distribution in ${DEBIAN_DISTRIBUTIONS}; do
cp ../nextcloud-desktop_*[0-9.][0-9]${pkgvertag}_source.changes ${OBS_SUBDIR}/ 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}/* osc add ${OBS_SUBDIR}/*
cd ${OBS_SUBDIR} cd ${OBS_SUBDIR}
osc commit -m "Travis update" osc commit -m "Drone update"
popd popd
done fi
fi fi
fi fi