diff --git a/debian/changelog b/debian/changelog index 9a9cb35c30f116365132c05d02f510055e09c4c6..7e4b9b64402539742fff9172b0afdf0f47df4922 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,32 @@ +apertis-dev-tools (0.2024.18) apertis; urgency=medium + + * ci-buildpackage: drop the use of wrap-and-sort. + This was a workaround for odd nodes packages that apt was not able + to parse. This is no longer required since it was fixed in apt 2.3.10. + Moreover, this workaround leads to other apt failures to resolve + dependencies (because of conflicts between rustc and rustc-web). + + -- Dylan Aïssi <dylan.aissi@collabora.com> Wed, 15 Jan 2025 18:21:42 +0100 + +apertis-dev-tools (0.2024.17) apertis; urgency=medium + + * apertis-pkg-merge-local: Add new tool. + Add a tool to help when a package update cannot be done by CI. This tool + should help developers to perform the merge in a similar way as the CI + and also help to run some basic checks. + + -- Walter Lozano <walter.lozano@collabora.com> Tue, 14 Jan 2025 09:34:26 -0300 + +apertis-dev-tools (0.2024.16) apertis; urgency=medium + + * Drop unneeded dependencies. + After narrowing the functionality of ade tool to only manage sysroots the + dependencies were not re evaluated, causing several packages to be required + which are not really needed. + To avoid this problem, remove unneeded dependencies. + + -- Walter Lozano <walter.lozano@collabora.com> Tue, 07 Jan 2025 10:16:52 -0300 + apertis-dev-tools (0.2024.15) apertis; urgency=medium * ci-license-scan: Workaround invalid copyright. diff --git a/debian/control b/debian/control index 512a29d0a12cb98a922da62bb98a2179e2426d67..4abeafc20d21a063fc5b1d86c057e7c3b9f24919 100644 --- a/debian/control +++ b/debian/control @@ -4,10 +4,8 @@ Section: devel Priority: optional Build-Depends: debhelper-compat (= 13), dh-sequence-python3, - flatpak, git-buildpackage, gnupg2, - ostree, python3-argcomplete, python3-debian, python3-gi, @@ -22,7 +20,6 @@ Architecture: all Depends: abi-compliance-checker, devscripts, dpkg-dev, - flatpak, git-buildpackage, gitlab-rulez, libconfig-model-dpkg-perl, diff --git a/tools/Makefile b/tools/Makefile index d300d056592e53f96e084aec0d5ba6d7ebd4b12d..783a1101adefa71ae409a84158856d4f563db100 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -7,6 +7,7 @@ TOOLS = \ ade \ apertis-abi-compare \ apertis-images \ + apertis-pkg-merge-local \ apertis-pkg-merge-updates \ apertis-pkg-merge-upstream-to-downstreams \ apertis-pkg-pull-updates \ diff --git a/tools/apertis-pkg-merge-local b/tools/apertis-pkg-merge-local new file mode 100755 index 0000000000000000000000000000000000000000..5e84ae4c5f5de92127c2b199adec46d8d1a6ab34 --- /dev/null +++ b/tools/apertis-pkg-merge-local @@ -0,0 +1,102 @@ +#!/bin/bash + +DOWNSTREAM_BRANCH=${DOWNSTREAM_BRANCH:=apertis/v2026dev0} +UPSTREAM_BRANCH=${UPSTREAM_BRANCH:="debian/trixie"} + +DOWNSTREAM_BRANCH_OLD=${DOWNSTREAM_BRANCH_OLD:="apertis/v2025"} +UPSTREAM_BRANCH_OLD=${UPSTREAM_BRANCH_OLD:="debian/bookworm"} + +echo Using $DOWNSTREAM_BRANCH $UPSTREAM_BRANCH as current branches +echo Using $DOWNSTREAM_BRANCH_OLD $UPSTREAM_BRANCH_OLD as old branches + +merge() { + # Configure git merge to use dpkg-mergechangelogs + if ! grep -q -v dpkg-mergechangelogs ".git/info/attributes" 2> /dev/null; then + echo "debian/changelog merge=dpkg-mergechangelogs" >> ".git/info/attributes" + fi + git config "merge.dpkg-mergechangelogs.name" "debian/changelog merge driver" + git config "merge.dpkg-mergechangelogs.driver" "dpkg-mergechangelogs %O %A %B %A" + + # Get proposed branch + proposed_branch=`git branch -a | grep "remotes/origin/proposed-updates/$UPSTREAM_BRANCH"` + proposed_branch=`echo $proposed_branch | sed 's;remotes/origin/;;g'` + + if [ "$proposed_branch" = "" ] ; then + echo "Unable to find proposed branch" + exit + fi + + # Checkout proposed updates branch + git checkout $proposed_branch + + # Reset proposed updates branch to apertis branch to have it as first ancestor + # same as CI does + git reset --hard origin/$DOWNSTREAM_BRANCH + + git merge origin/$UPSTREAM_BRANCH -m "Merge $UPSTREAM_BRANCH into $DOWNSTREAM_BRANCH" + + echo Use the following commands to finish the merge + echo + echo To fix remaining conflicts: + echo " git mergetool" + echo + echo To check the changelog merge: + echo " git difftool origin/$UPSTREAM_BRANCH debian/changelog" + echo " git difftool origin/$DOWNSTREAM_BRANCH debian/changelog" + echo + echo To run a final check: + echo + echo Show new delta against upstream + echo " "`basename $0` diff + echo " "`basename $0` diff_old + echo + echo To finish the merge + echo " git merge --continue" + echo + echo To commit the changes + echo " "`basename $0` commit +} + +diff() { + echo Diff against $UPSTREAM_BRANCH $EXTRA_ARGS + git diff $EXTRA_ARGS origin/$UPSTREAM_BRANCH ':(exclude)debian/apertis' ':(exclude)debian/changelog' +} + +diff_old() { + echo Diff in previous release $EXTRA_ARGS + git diff $EXTRA_ARGS origin/$UPSTREAM_BRANCH_OLD origin/$DOWNSTREAM_BRANCH_OLD ':(exclude)debian/apertis' ':(exclude)debian/changelog' +} + +commit() { + dch --force-distribution --distribution apertis --local +apertis --upstream Rebase on top of $UPSTREAM_BRANCH + git add debian/changelog + git diff --cached + DIR=`pwd` + PACKAGE=`basename $DIR` + VERSION=`dpkg-parsechangelog -S version` + echo Release $PACKAGE version $VERSION + git commit -sm "Release $PACKAGE version $VERSION" +} + +COMMAND=$1 +shift +EXTRA_ARGS=$@ + +case "$COMMAND" in +merge) + merge + ;; +diff) + diff + ;; +diff_old) + diff_old + ;; +commit) + commit + ;; +*) + echo Unknown command + echo Usage `basename $0` '[merge|diff|diff_old|commit]' + ;; +esac diff --git a/tools/ci-buildpackage b/tools/ci-buildpackage index 465e175c15d7b77b1dd1874f6cd9b75337bdea91..970fdc89aa8fc1622300c7edd036e8750e6dfbe3 100755 --- a/tools/ci-buildpackage +++ b/tools/ci-buildpackage @@ -11,17 +11,11 @@ set -ex export DEBIAN_FRONTEND=noninteractive -# Works around node-* packages having Build-Depends apt can't parse -wrap-and-sort -f debian/control - apt-get -qy update apt-get -qy -o APT::Get::Build-Dep-Automatic=yes \ -o Acquire::http::Pipeline-Depth=0 \ build-dep "$(pwd)" -# Revert changes made by `wrap-and-sort` -git checkout debian/ - dpkg-checkbuilddeps dversion="$(dpkg-parsechangelog -S Version)"