mirror of
https://github.com/nextcloud/desktop.git
synced 2024-12-22 21:50:30 +03:00
c1cee5b6df
Signed-off-by: István Váradi <ivaradi@varadiistvan.hu>
159 lines
4.5 KiB
Bash
Executable file
159 lines
4.5 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
set -xe
|
|
shopt -s extglob
|
|
|
|
env
|
|
|
|
PPA=ppa:nextcloud-devs/client
|
|
PPA_ALPHA=ppa:nextcloud-devs/client-alpha
|
|
PPA_BETA=ppa:nextcloud-devs/client-beta
|
|
|
|
OBS_PROJECT=home:ivaradi
|
|
OBS_PROJECT_ALPHA=home:ivaradi:alpha
|
|
OBS_PROJECT_BETA=home:ivaradi:beta
|
|
OBS_PACKAGE=nextcloud-desktop
|
|
|
|
if test "${DRONE_TARGET_BRANCH}" = "stable-2.6"; then
|
|
UBUNTU_DISTRIBUTIONS="bionic focal jammy kinetic"
|
|
DEBIAN_DISTRIBUTIONS="buster stretch testing"
|
|
else
|
|
UBUNTU_DISTRIBUTIONS="jammy noble oracular"
|
|
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
|
|
DRONE_WORKSPACE=`pwd`
|
|
fi
|
|
|
|
if test -z "${DRONE_DIR}"; then
|
|
DRONE_DIR=`dirname ${DRONE_WORKSPACE}`
|
|
fi
|
|
|
|
set +x
|
|
if test "$DEBIAN_SECRET_KEY" -a "$DEBIAN_SECRET_IV"; then
|
|
openssl aes-256-cbc -K $DEBIAN_SECRET_KEY -iv $DEBIAN_SECRET_IV -in admin/linux/debian/signing-key.txt.enc -d | gpg --import
|
|
|
|
openssl aes-256-cbc -K $DEBIAN_SECRET_KEY -iv $DEBIAN_SECRET_IV -in admin/linux/debian/oscrc.enc -out ~/.oscrc -d
|
|
|
|
touch ~/.has_ppa_keys
|
|
fi
|
|
set -x
|
|
|
|
cd "${DRONE_WORKSPACE}"
|
|
git config --global user.email "drone@noemail.invalid"
|
|
git config --global user.name "Drone User"
|
|
git fetch --tags
|
|
|
|
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 "" "" ${DRONE_COMMIT})
|
|
break
|
|
done
|
|
|
|
cd "${DRONE_DIR}"
|
|
|
|
echo "$kind" > kind
|
|
|
|
if test "$kind" = "alpha"; then
|
|
repo=nextcloud-devs/client-alpha
|
|
elif test "$kind" = "beta"; then
|
|
repo=nextcloud-devs/client-beta
|
|
else
|
|
repo=nextcloud-devs/client
|
|
fi
|
|
|
|
origsourceopt=""
|
|
|
|
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}
|
|
|
|
cd "${DRONE_WORKSPACE}"
|
|
|
|
for distribution in ${UBUNTU_DISTRIBUTIONS} ${DEBIAN_DISTRIBUTIONS}; do
|
|
git checkout -- .
|
|
git clean -xdf
|
|
|
|
git fetch origin debian/dist/${distribution}/${DRONE_TARGET_BRANCH}
|
|
git checkout origin/debian/dist/${distribution}/${DRONE_TARGET_BRANCH}
|
|
|
|
git merge ${DRONE_COMMIT}
|
|
|
|
admin/linux/debian/scripts/git2changelog.py /tmp/tmpchangelog ${distribution} ${revdate} ${basever}
|
|
cat /tmp/tmpchangelog debian/changelog > debian/changelog.new
|
|
mv debian/changelog.new debian/changelog
|
|
|
|
fullver=`head -1 debian/changelog | sed "s:nextcloud-desktop (\([^)]*\)).*:\1:"`
|
|
|
|
EDITOR=true dpkg-source --commit . local-changes
|
|
|
|
dpkg-source --build .
|
|
dpkg-genchanges -S -sa > "../nextcloud-desktop_${fullver}_source.changes"
|
|
|
|
if test -f ~/.has_ppa_keys; then
|
|
debsign -k2265D8767D14AA7B -S
|
|
fi
|
|
done
|
|
cd ..
|
|
ls -al
|
|
|
|
if test "${pull_request}" = "master"; then
|
|
if test "$kind" = "alpha"; then
|
|
PPA=$PPA_ALPHA
|
|
OBS_PROJECT=$OBS_PROJECT_ALPHA
|
|
elif test "$kind" = "beta"; then
|
|
PPA=$PPA_BETA
|
|
OBS_PROJECT=$OBS_PROJECT_BETA
|
|
fi
|
|
|
|
if test -f ~/.has_ppa_keys; then
|
|
for distribution in ${UBUNTU_DISTRIBUTIONS}; do
|
|
changes=$(ls -1 nextcloud-desktop_*~${distribution}1_source.changes)
|
|
if test -f "${changes}"; then
|
|
dput $PPA "${changes}" > /dev/null
|
|
fi
|
|
done
|
|
|
|
if test -n "${DEBIAN_DISTRIBUTIONS}"; then
|
|
package="nextcloud-desktop"
|
|
OBS_SUBDIR="${OBS_PROJECT}/${package}"
|
|
|
|
mkdir -p osc
|
|
pushd osc
|
|
osc co "${OBS_PROJECT}" "${package}"
|
|
|
|
if test "$(ls ${OBS_SUBDIR})"; then
|
|
osc delete ${OBS_SUBDIR}/*
|
|
fi
|
|
|
|
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 "Drone update"
|
|
popd
|
|
fi
|
|
fi
|
|
fi
|