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)"