Skip to content

Commit

Permalink
Merge pull request #6907 from ivaradi/optimize_debian_build
Browse files Browse the repository at this point in the history
Optimize Ubuntu/Debian build
  • Loading branch information
claucambra committed Jul 11, 2024
2 parents a813bf3 + 07f6913 commit f29df33
Showing 1 changed file with 35 additions and 15 deletions.
50 changes: 35 additions & 15 deletions admin/linux/debian/drone-build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -43,8 +49,19 @@ fi
set -x

cd "${DRONE_WORKSPACE}"
git config --global user.email "[email protected]"
git config --global user.name "Drone User"
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}"

Expand All @@ -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}

cd "${DRONE_WORKSPACE}"
git config --global user.email "[email protected]"
git config --global user.name "Drone User"

for distribution in ${UBUNTU_DISTRIBUTIONS} ${DEBIAN_DISTRIBUTIONS}; do
git checkout -- .
Expand Down Expand Up @@ -111,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

0 comments on commit f29df33

Please sign in to comment.