diff mbox series

[v6] apt: upgrade 2.6.1 -> 3.0.3

Message ID 20250903180343.1222627-1-skandigraun@gmail.com
State Accepted, archived
Commit 1413a6144679a8347a3487f1950612ee20ff382c
Headers show
Series [v6] apt: upgrade 2.6.1 -> 3.0.3 | expand

Commit Message

Gyorgy Sarvari Sept. 3, 2025, 6:03 p.m. UTC
Changelog:
https://metadata.ftp-master.debian.org/changelogs/main/a/apt/apt_3.0.3_changelog

Dropped patches which are included in this release, or became obsolete:
0001-Fix-compilation-error-with-clang-libc-18.patch - included in this release
0001-Fix-musl-build.patch - included in this release
0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch - included in this release
0001-Remove-using-std-binary_function.patch - became obsolete, fixed upstream
0001-aptwebserver.cc-Include-array.patch - became obsolete, fixed upstream
0001-strutl-Add-missing-include-cstdint-gcc-15.patch - included in this release

Added a new patch to avoid compilation error with musl:
error: 'basename' was not declared in this scope; did you mean 'rename'?

Adapted DEPENDS list - gnutls and gcrypt dependencies were dropped in favor of openssl
in version 2.9.19.

Added a new PACKAGECONFIG, 'usrmerge', which displays a gentle warning if the system
isn't a usrmerge system during package installation.

Added new COMMON_ARCH CMake argument - if it is not defined, CMake is trying to
determine the value of this variable by running dpkg, which is usually a futile
endeavour. It is used in config creation, and to print some system info.

Also adapt a self test: the apt-key command has been deprecated since a while,
and in this release it was completely removed. Instead sources.list file
contains the signature data, on a per-repository basis.

Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
---
v6: remove unnecessary quote escaping from self-test
v5: copy the keyring with the correct extension (.asc) in self test
v4: remove a debug "cat" from the test
v3: adapt self-test. apt-key has been removed from this version, so make the test
    use an alternative method to indicate the signature location
v2: changed the status 0001-fix-compilation-with-musl.patch from Pending to Submitted

 meta/lib/oeqa/runtime/cases/apt.py            |  9 +-
 ...void-changing-install-paths-based-on.patch |  2 +-
 ...e-documentation-directory-altogether.patch |  2 +-
 ...-init-tables-from-dpkg-configuration.patch |  2 +-
 ...compilation-error-with-clang-libc-18.patch | 29 -------
 .../apt/apt/0001-Fix-musl-build.patch         | 28 ------
 ...mum_required-to-3.13-to-avoid-warnin.patch | 47 ----------
 ...001-Remove-using-std-binary_function.patch | 87 -------------------
 ...n-dpkg-configure-a-at-the-end-of-our.patch |  4 +-
 .../0001-aptwebserver.cc-Include-array.patch  | 30 -------
 .../0001-cmake-Do-not-build-po-files.patch    |  6 +-
 .../apt/0001-fix-compilation-with-musl.patch  | 49 +++++++++++
 ...l-Add-missing-include-cstdint-gcc-15.patch | 26 ------
 .../apt/{apt_2.6.1.bb => apt_3.0.3.bb}        | 17 ++--
 14 files changed, 74 insertions(+), 264 deletions(-)
 delete mode 100644 meta/recipes-devtools/apt/apt/0001-Fix-compilation-error-with-clang-libc-18.patch
 delete mode 100644 meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch
 delete mode 100644 meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch
 delete mode 100644 meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch
 delete mode 100644 meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch
 create mode 100644 meta/recipes-devtools/apt/apt/0001-fix-compilation-with-musl.patch
 delete mode 100644 meta/recipes-devtools/apt/apt/0001-strutl-Add-missing-include-cstdint-gcc-15.patch
 rename meta/recipes-devtools/apt/{apt_2.6.1.bb => apt_3.0.3.bb} (88%)

Comments

Khem Raj Sept. 9, 2025, 3:14 p.m. UTC | #1
Gyorgy

there is a build failure with clang and libc++
https://errors.yoctoproject.org/Errors/Details/882066/

Thanks
-Khem

On Wed, Sep 3, 2025 at 11:03 AM Gyorgy Sarvari via
lists.openembedded.org <skandigraun=gmail.com@lists.openembedded.org>
wrote:
>
> Changelog:
> https://metadata.ftp-master.debian.org/changelogs/main/a/apt/apt_3.0.3_changelog
>
> Dropped patches which are included in this release, or became obsolete:
> 0001-Fix-compilation-error-with-clang-libc-18.patch - included in this release
> 0001-Fix-musl-build.patch - included in this release
> 0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch - included in this release
> 0001-Remove-using-std-binary_function.patch - became obsolete, fixed upstream
> 0001-aptwebserver.cc-Include-array.patch - became obsolete, fixed upstream
> 0001-strutl-Add-missing-include-cstdint-gcc-15.patch - included in this release
>
> Added a new patch to avoid compilation error with musl:
> error: 'basename' was not declared in this scope; did you mean 'rename'?
>
> Adapted DEPENDS list - gnutls and gcrypt dependencies were dropped in favor of openssl
> in version 2.9.19.
>
> Added a new PACKAGECONFIG, 'usrmerge', which displays a gentle warning if the system
> isn't a usrmerge system during package installation.
>
> Added new COMMON_ARCH CMake argument - if it is not defined, CMake is trying to
> determine the value of this variable by running dpkg, which is usually a futile
> endeavour. It is used in config creation, and to print some system info.
>
> Also adapt a self test: the apt-key command has been deprecated since a while,
> and in this release it was completely removed. Instead sources.list file
> contains the signature data, on a per-repository basis.
>
> Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
> ---
> v6: remove unnecessary quote escaping from self-test
> v5: copy the keyring with the correct extension (.asc) in self test
> v4: remove a debug "cat" from the test
> v3: adapt self-test. apt-key has been removed from this version, so make the test
>     use an alternative method to indicate the signature location
> v2: changed the status 0001-fix-compilation-with-musl.patch from Pending to Submitted
>
>  meta/lib/oeqa/runtime/cases/apt.py            |  9 +-
>  ...void-changing-install-paths-based-on.patch |  2 +-
>  ...e-documentation-directory-altogether.patch |  2 +-
>  ...-init-tables-from-dpkg-configuration.patch |  2 +-
>  ...compilation-error-with-clang-libc-18.patch | 29 -------
>  .../apt/apt/0001-Fix-musl-build.patch         | 28 ------
>  ...mum_required-to-3.13-to-avoid-warnin.patch | 47 ----------
>  ...001-Remove-using-std-binary_function.patch | 87 -------------------
>  ...n-dpkg-configure-a-at-the-end-of-our.patch |  4 +-
>  .../0001-aptwebserver.cc-Include-array.patch  | 30 -------
>  .../0001-cmake-Do-not-build-po-files.patch    |  6 +-
>  .../apt/0001-fix-compilation-with-musl.patch  | 49 +++++++++++
>  ...l-Add-missing-include-cstdint-gcc-15.patch | 26 ------
>  .../apt/{apt_2.6.1.bb => apt_3.0.3.bb}        | 17 ++--
>  14 files changed, 74 insertions(+), 264 deletions(-)
>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-Fix-compilation-error-with-clang-libc-18.patch
>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch
>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch
>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch
>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch
>  create mode 100644 meta/recipes-devtools/apt/apt/0001-fix-compilation-with-musl.patch
>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-strutl-Add-missing-include-cstdint-gcc-15.patch
>  rename meta/recipes-devtools/apt/{apt_2.6.1.bb => apt_3.0.3.bb} (88%)
>
> diff --git a/meta/lib/oeqa/runtime/cases/apt.py b/meta/lib/oeqa/runtime/cases/apt.py
> index 8000645843..c6b62987f1 100644
> --- a/meta/lib/oeqa/runtime/cases/apt.py
> +++ b/meta/lib/oeqa/runtime/cases/apt.py
> @@ -54,7 +54,14 @@ class AptRepoTest(AptTest):
>      def setup_key(self):
>          # the key is found on the target /etc/pki/packagefeed-gpg/
>          # named PACKAGEFEED-GPG-KEY-poky-branch
> -        self.target.run('cd %s; apt-key add P*' % ('/etc/pki/packagefeed-gpg'))
> +        # copy it to /etc/apt/keyrings/PACKAGEFEED-GPG-KEY-poky-branch.asc, and
> +        # set it as the signing key for the repos
> +        cmd =  "KEY_FILE_PATH=`realpath /etc/pki/packagefeed-gpg/P*`; "
> +        cmd += "KEY_FILE_NAME=`basename $KEY_FILE_PATH`; "
> +        cmd += "mkdir -p /etc/apt/keyrings; "
> +        cmd += "cp $KEY_FILE_PATH /etc/apt/keyrings/${KEY_FILE_NAME}.asc; "
> +        cmd += 'sed -i "s|^deb |deb \[signed-by=/etc/apt/keyrings/${KEY_FILE_NAME}.asc\] |g" /etc/apt/sources.list'
> +        self.target.run(cmd)
>
>      @skipIfNotFeature('package-management',
>                        'Test requires package-management to be in IMAGE_FEATURES')
> diff --git a/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch b/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch
> index 199f11bf20..d37aa811cd 100644
> --- a/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch
> +++ b/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch
> @@ -14,7 +14,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
>  index 2cd4f8e..4759812 100644
>  --- a/CMakeLists.txt
>  +++ b/CMakeLists.txt
> -@@ -21,9 +21,9 @@ set(CMAKE_EXE_LINKER_FLAGS_COVERAGE "-lgcov")
> +@@ -28,9 +28,9 @@ set(CMAKE_EXE_LINKER_FLAGS_COVERAGE "-lgcov")
>   set(CMAKE_SHARED_LINKER_FLAGS_COVERAGE "-lgcov")
>
>   # Work around bug in GNUInstallDirs
> diff --git a/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch b/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch
> index 5443ff6caa..4bc6dce760 100644
> --- a/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch
> +++ b/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch
> @@ -16,7 +16,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
>  index 668e2d762..62f441bfa 100644
>  --- a/CMakeLists.txt
>  +++ b/CMakeLists.txt
> -@@ -246,7 +246,7 @@ add_subdirectory(apt-private)
> +@@ -251,7 +251,7 @@ add_subdirectory(apt-private)
>   endif()
>   add_subdirectory(cmdline)
>   add_subdirectory(completions)
> diff --git a/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch b/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
> index 37a3133010..d21f5a49c5 100644
> --- a/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
> +++ b/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
> @@ -16,7 +16,7 @@ diff --git a/apt-pkg/init.cc b/apt-pkg/init.cc
>  index b9d9b15d2..1725c5966 100644
>  --- a/apt-pkg/init.cc
>  +++ b/apt-pkg/init.cc
> -@@ -281,8 +281,8 @@ bool pkgInitSystem(Configuration &Cnf,pkgSystem *&Sys)
> +@@ -295,8 +295,8 @@ bool pkgInitSystem(Configuration &Cnf,pkgSystem *&Sys)
>          return _error->Error(_("Unable to determine a suitable packaging system type"));
>      }
>
> diff --git a/meta/recipes-devtools/apt/apt/0001-Fix-compilation-error-with-clang-libc-18.patch b/meta/recipes-devtools/apt/apt/0001-Fix-compilation-error-with-clang-libc-18.patch
> deleted file mode 100644
> index e55205ca3f..0000000000
> --- a/meta/recipes-devtools/apt/apt/0001-Fix-compilation-error-with-clang-libc-18.patch
> +++ /dev/null
> @@ -1,29 +0,0 @@
> -From b4488583424b33f51cb031562a9e8df820ffda23 Mon Sep 17 00:00:00 2001
> -From: Chongyun Lee <licy183@termux.dev>
> -Date: Thu, 15 Aug 2024 21:31:24 +0800
> -Subject: [PATCH] Fix compilation error with clang/libc++ 18
> -
> -Upstream-Status: Backport [https://salsa.debian.org/apt-team/apt/-/commit/b4488583424b33f51cb031562a9e8df820ffda23]
> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ----
> - apt-pkg/cacheset.h | 4 ++--
> - 1 file changed, 2 insertions(+), 2 deletions(-)
> -
> -diff --git a/apt-pkg/cacheset.h b/apt-pkg/cacheset.h
> -index 5dbb9bf08..1c67a65d6 100644
> ---- a/apt-pkg/cacheset.h
> -+++ b/apt-pkg/cacheset.h
> -@@ -218,11 +218,11 @@ public:
> -       operator container_iterator(void) const { return _iter; }
> -       inline iterator_type& operator++() { ++_iter; return static_cast<iterator_type&>(*this); }
> -       inline iterator_type operator++(int) { iterator_type tmp(*this); operator++(); return tmp; }
> --      inline iterator_type operator+(typename container_iterator::difference_type const &n) { return iterator_type(_iter + n); }
> -+      inline iterator_type operator+(typename container_iterator::difference_type const &n) const { return iterator_type(_iter + n); }
> -       inline iterator_type operator+=(typename container_iterator::difference_type const &n) { _iter += n; return static_cast<iterator_type&>(*this); }
> -       inline iterator_type& operator--() { --_iter;; return static_cast<iterator_type&>(*this); }
> -       inline iterator_type operator--(int) { iterator_type tmp(*this); operator--(); return tmp; }
> --      inline iterator_type operator-(typename container_iterator::difference_type const &n) { return iterator_type(_iter - n); }
> -+      inline iterator_type operator-(typename container_iterator::difference_type const &n) const { return iterator_type(_iter - n); }
> -       inline typename container_iterator::difference_type operator-(iterator_type const &b) { return (_iter - b._iter); }
> -       inline iterator_type operator-=(typename container_iterator::difference_type const &n) { _iter -= n; return static_cast<iterator_type&>(*this); }
> -       inline bool operator!=(iterator_type const &i) const { return _iter != i._iter; }
> diff --git a/meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch b/meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch
> deleted file mode 100644
> index 0cefbedd6d..0000000000
> --- a/meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch
> +++ /dev/null
> @@ -1,28 +0,0 @@
> -From 6b8547161b902b01b639d05a4cdf849d7694556f Mon Sep 17 00:00:00 2001
> -From: Alexander Kanavin <alex.kanavin@gmail.com>
> -Date: Fri, 22 May 2020 15:29:23 +0000
> -Subject: [PATCH] apt-pkg/contrib/srvrec.h: Explicitly include sys/types.h
> -
> -This avoids type errors with musl C library.
> -
> -Upstream-Status: Submitted [https://salsa.debian.org/apt-team/apt/-/merge_requests/200]
> -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> ----
> - apt-pkg/contrib/srvrec.h | 1 +
> - 1 file changed, 1 insertion(+)
> -
> -diff --git a/apt-pkg/contrib/srvrec.h b/apt-pkg/contrib/srvrec.h
> -index e5d0f43..2010184 100644
> ---- a/apt-pkg/contrib/srvrec.h
> -+++ b/apt-pkg/contrib/srvrec.h
> -@@ -9,6 +9,7 @@
> - #ifndef SRVREC_H
> - #define SRVREC_H
> -
> -+#include <sys/types.h>
> - #include <string>
> - #include <vector>
> - #include <arpa/nameser.h>
> ---
> -2.20.1
> -
> diff --git a/meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch b/meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch
> deleted file mode 100644
> index c3a5ded494..0000000000
> --- a/meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch
> +++ /dev/null
> @@ -1,47 +0,0 @@
> -From dc7a8b3050a2a43f49515a03ae19713dfced75dc Mon Sep 17 00:00:00 2001
> -From: David Kalnischkies <david@kalnischkies.de>
> -Date: Sat, 18 Nov 2023 13:10:05 +0000
> -Subject: [PATCH] Raise cmake_minimum_required to 3.13 to avoid warnings
> -
> -CMake Deprecation Warning at CMakeLists.txt:6 (cmake_minimum_required):
> -  Compatibility with CMake < 3.5 will be removed from a future version of
> -  CMake.
> -
> -  Update the VERSION argument <min> value or use a ...<max> suffix to tell
> -  CMake that the project does not need compatibility with older versions.
> -
> -Picking 3.13 here is a semi-random choice to avoid raising the requirement
> -too much needlessly while also hopefully avoiding needing to raise it
> -soon again based on the referenced mail.
> -
> -While we are at it, lets also fix the other spewed warning:
> -
> -CMake Warning (dev) at CMakeLists.txt:5 (project):
> -  cmake_minimum_required() should be called prior to this top-level project()
> -  call.  Please see the cmake-commands(7) manual for usage documentation of
> -  both commands.
> -
> -References: https://lists.debian.org/msgid-search/20230617162957.6pklb6632zf4nijc@mail.gaussglocke.de
> -
> -Upstream-Status: Backport [https://salsa.debian.org/apt-team/apt/-/commit/dc7a8b3050a2a43f49515a03ae19713dfced75dc]
> -Signed-off-by: Moritz Haase <Moritz.Haase@bmw.de>
> ----
> - CMakeLists.txt | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> -diff --git a/CMakeLists.txt b/CMakeLists.txt
> -index 62182cddf..dae12e7c3 100644
> ---- a/CMakeLists.txt
> -+++ b/CMakeLists.txt
> -@@ -2,8 +2,8 @@
> - # Licensed under the same terms as APT; i.e. GPL 2 or later.
> -
> - # set minimum version
> -+cmake_minimum_required(VERSION 3.13)
> - project(apt)
> --cmake_minimum_required(VERSION 3.4.0)
> - # Generic header locations
> - include_directories(${PROJECT_BINARY_DIR}/include)
> -
> ---
> -GitLab
> diff --git a/meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch b/meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch
> deleted file mode 100644
> index 15b036b90d..0000000000
> --- a/meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch
> +++ /dev/null
> @@ -1,87 +0,0 @@
> -From e91fb0618ce0a5d42f239d0fca602544858f0819 Mon Sep 17 00:00:00 2001
> -From: Khem Raj <raj.khem@gmail.com>
> -Date: Tue, 16 Aug 2022 08:44:18 -0700
> -Subject: [PATCH] Remove using std::binary_function
> -
> -std::binary_function and std::unary_function are deprecated since c++11
> -and removed in c++17, therefore remove it and use lambda functions to get same
> -functionality implemented.
> -
> -Upstream-Status: Submitted [https://salsa.debian.org/apt-team/apt/-/merge_requests/253]
> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ----
> - ftparchive/apt-ftparchive.cc | 33 ++++++++++-----------------------
> - 1 file changed, 10 insertions(+), 23 deletions(-)
> -
> -diff --git a/ftparchive/apt-ftparchive.cc b/ftparchive/apt-ftparchive.cc
> -index 0f6587281..0a253b12b 100644
> ---- a/ftparchive/apt-ftparchive.cc
> -+++ b/ftparchive/apt-ftparchive.cc
> -@@ -48,6 +48,11 @@
> - using namespace std;
> - unsigned Quiet = 0;
> -
> -+auto ContentsCompare = [](const auto &a, const auto &b) { return a.ContentsMTime < b.ContentsMTime; };
> -+auto DBCompare = [](const auto &a, const auto &b) { return a.BinCacheDB < b.BinCacheDB; };
> -+auto SrcDBCompare = [](const auto &a, const auto &b) { return a.SrcCacheDB < b.SrcCacheDB; };
> -+
> -+
> - static struct timeval GetTimevalFromSteadyClock()                     /*{{{*/
> - {
> -    auto const Time = std::chrono::steady_clock::now().time_since_epoch();
> -@@ -116,24 +121,6 @@ struct PackageMap
> -    bool SrcDone;
> -    time_t ContentsMTime;
> -
> --   struct ContentsCompare
> --   {
> --      inline bool operator() (const PackageMap &x,const PackageMap &y)
> --      {return x.ContentsMTime < y.ContentsMTime;};
> --   };
> --
> --   struct DBCompare
> --   {
> --      inline bool operator() (const PackageMap &x,const PackageMap &y)
> --      {return x.BinCacheDB < y.BinCacheDB;};
> --   };
> --
> --   struct SrcDBCompare
> --   {
> --      inline bool operator() (const PackageMap &x,const PackageMap &y)
> --      {return x.SrcCacheDB < y.SrcCacheDB;};
> --   };
> --
> -    void GetGeneral(Configuration &Setup,Configuration &Block);
> -    bool GenPackages(Configuration &Setup,struct CacheDB::Stats &Stats);
> -    bool GenSources(Configuration &Setup,struct CacheDB::Stats &Stats);
> -@@ -869,7 +856,7 @@ static bool DoGenerateContents(Configuration &Setup,
> -       else
> -        I->ContentsMTime = A.st_mtime;
> -    }
> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::ContentsCompare());
> -+   stable_sort(PkgList.begin(),PkgList.end(),ContentsCompare);
> -
> -    /* Now for Contents.. The process here is to do a make-like dependency
> -       check. Each contents file is verified to be newer than the package files
> -@@ -941,8 +928,8 @@ static bool Generate(CommandLine &CmdL)
> -    LoadBinDir(PkgList,Setup);
> -
> -    // Sort by cache DB to improve IO locality.
> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::DBCompare());
> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::SrcDBCompare());
> -+   stable_sort(PkgList.begin(),PkgList.end(),DBCompare);
> -+   stable_sort(PkgList.begin(),PkgList.end(),SrcDBCompare);
> -
> -    // Generate packages
> -    if (_config->FindB("APT::FTPArchive::ContentsOnly", false) == false)
> -@@ -993,8 +980,8 @@ static bool Clean(CommandLine &CmdL)
> -    LoadBinDir(PkgList,Setup);
> -
> -    // Sort by cache DB to improve IO locality.
> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::DBCompare());
> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::SrcDBCompare());
> -+   stable_sort(PkgList.begin(),PkgList.end(),DBCompare);
> -+   stable_sort(PkgList.begin(),PkgList.end(),SrcDBCompare);
> -
> -    string CacheDir = Setup.FindDir("Dir::CacheDir");
> -
> diff --git a/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch b/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
> index 6f4d5b6e72..43ab6a4cd8 100644
> --- a/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
> +++ b/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
> @@ -23,7 +23,7 @@ diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
>  index 93effa959..4375781d1 100644
>  --- a/apt-pkg/deb/dpkgpm.cc
>  +++ b/apt-pkg/deb/dpkgpm.cc
> -@@ -1199,12 +1199,6 @@ void pkgDPkgPM::BuildPackagesProgressMap()
> +@@ -1210,12 +1210,6 @@ void pkgDPkgPM::BuildPackagesProgressMap()
>          }
>         }
>      }
> @@ -36,7 +36,7 @@ index 93effa959..4375781d1 100644
>   }
>                                                                           /*}}}*/
>   void pkgDPkgPM::StartPtyMagic()                                               /*{{{*/
> -@@ -1741,7 +1735,8 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress)
> +@@ -1752,7 +1746,8 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress)
>
>         // support subpressing of triggers processing for special
>         // cases like d-i that runs the triggers handling manually
> diff --git a/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch b/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch
> deleted file mode 100644
> index 2c1e617e55..0000000000
> --- a/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch
> +++ /dev/null
> @@ -1,30 +0,0 @@
> -From 5985f366750a73c81c7d86893a2b959b4af062a5 Mon Sep 17 00:00:00 2001
> -From: Khem Raj <raj.khem@gmail.com>
> -Date: Wed, 26 May 2021 22:12:46 -0700
> -Subject: [PATCH] aptwebserver.cc: Include <array>
> -
> -This helps getting std::array definition
> -
> -Fixes
> -test/interactive-helper/aptwebserver.cc:36:55: error: constexpr variable cannot have non-literal type 'const std::array<std::array<const char *, 2>, 6>'
> -   constexpr std::array<std::array<char const *,2>,6> htmlencode = {{
> -
> -Upstream-Status: Submitted [https://github.com/Debian/apt/pull/133]
> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> -
> ----
> - test/interactive-helper/aptwebserver.cc | 1 +
> - 1 file changed, 1 insertion(+)
> -
> -diff --git a/test/interactive-helper/aptwebserver.cc b/test/interactive-helper/aptwebserver.cc
> -index f4f8d95..361c7a9 100644
> ---- a/test/interactive-helper/aptwebserver.cc
> -+++ b/test/interactive-helper/aptwebserver.cc
> -@@ -23,6 +23,7 @@
> -
> - #include <array>
> - #include <algorithm>
> -+#include <array>
> - #include <fstream>
> - #include <iostream>
> - #include <list>
> diff --git a/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch b/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch
> index 036ce35963..08815a3ec4 100644
> --- a/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch
> +++ b/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch
> @@ -11,14 +11,14 @@ Fixes
>  Upstream-Status: Inappropriate [Cross-compile specific]
>  Signed-off-by: Khem Raj <raj.khem@gmail.com>
>  ---
> - CMakeLists.txt | 7 -------
> - 1 file changed, 7 deletions(-)
> + CMakeLists.txt | 9 ---------
> + 1 file changed, 9 deletions(-)
>
>  diff --git a/CMakeLists.txt b/CMakeLists.txt
>  index be157a55f..54163ae6c 100644
>  --- a/CMakeLists.txt
>  +++ b/CMakeLists.txt
> -@@ -252,15 +252,6 @@ add_subdirectory(ftparchive)
> +@@ -257,15 +257,6 @@ add_subdirectory(ftparchive)
>   add_subdirectory(methods)
>   add_subdirectory(test)
>
> diff --git a/meta/recipes-devtools/apt/apt/0001-fix-compilation-with-musl.patch b/meta/recipes-devtools/apt/apt/0001-fix-compilation-with-musl.patch
> new file mode 100644
> index 0000000000..d3c5fe658e
> --- /dev/null
> +++ b/meta/recipes-devtools/apt/apt/0001-fix-compilation-with-musl.patch
> @@ -0,0 +1,49 @@
> +From a6b024ceb71c43977838d625f5ac64b7e4815a56 Mon Sep 17 00:00:00 2001
> +From: Gyorgy Sarvari <skandigraun@gmail.com>
> +Date: Thu, 28 Aug 2025 08:11:58 +0200
> +Subject: [PATCH] fix compilation with musl
> +
> +The basename() function requires the libgen.h header when
> +compiling with musl-libc, otherwise it complains:
> +
> +error: 'basename' was not declared in this scope; did you mean 'rename'?
> +
> +Also, musl's basename requires char* instead of const char* argument:
> +
> +error: invalid conversion from 'const char*' to 'char*' [-fpermissive]
> +
> +The musl implementation of basename modifies the argument only in case
> +it is a folder path (it cuts off the trailing slashes). In our case,
> +when argv[0] is passed, it is always a filename without a trailing
> +slash, so just cast the argument.
> +
> +Upstream-Status: Submitted [https://salsa.debian.org/apt-team/apt/-/merge_requests/508]
> +Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
> +---
> + cmdline/apt-internal-solver.cc | 3 ++-
> + 1 file changed, 2 insertions(+), 1 deletion(-)
> +
> +diff --git a/cmdline/apt-internal-solver.cc b/cmdline/apt-internal-solver.cc
> +index ceedd96c7..74ed38c50 100644
> +--- a/cmdline/apt-internal-solver.cc
> ++++ b/cmdline/apt-internal-solver.cc
> +@@ -35,6 +35,7 @@
> + #include <list>
> + #include <sstream>
> + #include <string>
> ++#include <libgen.h>
> + #include <unistd.h>
> +
> + #include <apti18n.h>
> +@@ -119,7 +120,7 @@ int main(int argc,const char *argv[])                                      /*{{{*/
> +               _config->Set("Debug::EDSP::WriteSolution", true);
> +
> +       _config->Set("APT::System", "Debian APT solver interface");
> +-      if (strcmp(basename(argv[0]), "solver3") == 0)
> ++      if (strcmp(basename((char*)argv[0]), "solver3") == 0)
> +          _config->Set("APT::Solver", "3.0");
> +       else if (_config->Find("APT::Solver") != "3.0")
> +          _config->Set("APT::Solver", "internal");
> +--
> +2.39.5
> +
> diff --git a/meta/recipes-devtools/apt/apt/0001-strutl-Add-missing-include-cstdint-gcc-15.patch b/meta/recipes-devtools/apt/apt/0001-strutl-Add-missing-include-cstdint-gcc-15.patch
> deleted file mode 100644
> index b86ed8bb92..0000000000
> --- a/meta/recipes-devtools/apt/apt/0001-strutl-Add-missing-include-cstdint-gcc-15.patch
> +++ /dev/null
> @@ -1,26 +0,0 @@
> -From 9da1b0dbdcc90455bc9de49f73a96e7d18f83493 Mon Sep 17 00:00:00 2001
> -From: Julian Andres Klode <julian.klode@canonical.com>
> -Date: Tue, 18 Feb 2025 10:29:40 +0100
> -Subject: [PATCH] strutl: Add missing #include <cstdint> [gcc 15]
> -
> -Closes: #1096322
> -
> -Upstream-Status: Backport [https://salsa.debian.org/apt-team/apt/-/commit/f82dcd7e4ebb3f70d28e9feb3621676f8c0cc024]
> -
> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ----
> - apt-pkg/contrib/strutl.cc | 1 +
> - 1 file changed, 1 insertion(+)
> -
> -diff --git a/apt-pkg/contrib/strutl.cc b/apt-pkg/contrib/strutl.cc
> -index 67100f1..c0a1cbc 100644
> ---- a/apt-pkg/contrib/strutl.cc
> -+++ b/apt-pkg/contrib/strutl.cc
> -@@ -26,6 +26,7 @@
> -
> - #include <algorithm>
> - #include <array>
> -+#include <cstdint>
> - #include <iomanip>
> - #include <limits>
> - #include <locale>
> diff --git a/meta/recipes-devtools/apt/apt_2.6.1.bb b/meta/recipes-devtools/apt/apt_3.0.3.bb
> similarity index 88%
> rename from meta/recipes-devtools/apt/apt_2.6.1.bb
> rename to meta/recipes-devtools/apt/apt_3.0.3.bb
> index b039599395..03a6869393 100644
> --- a/meta/recipes-devtools/apt/apt_2.6.1.bb
> +++ b/meta/recipes-devtools/apt/apt_3.0.3.bb
> @@ -8,14 +8,9 @@ SECTION = "base"
>  SRC_URI = "${DEBIAN_MIRROR}/main/a/apt/${BPN}_${PV}.tar.xz \
>             file://triehash \
>             file://0001-Disable-documentation-directory-altogether.patch \
> -           file://0001-Fix-musl-build.patch \
>             file://0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch \
>             file://0001-cmake-Do-not-build-po-files.patch \
> -           file://0001-aptwebserver.cc-Include-array.patch \
> -           file://0001-Remove-using-std-binary_function.patch \
> -           file://0001-strutl-Add-missing-include-cstdint-gcc-15.patch \
> -           file://0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch \
> -           file://0001-Fix-compilation-error-with-clang-libc-18.patch \
> +           file://0001-fix-compilation-with-musl.patch \
>             "
>
>  SRC_URI:append:class-native = " \
> @@ -28,7 +23,7 @@ SRC_URI:append:class-nativesdk = " \
>             file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \
>             "
>
> -SRC_URI[sha256sum] = "86b888c901fa2e78f1bf52a2aaa2f400ff82a472b94ff0ac6631939ee68fa6fd"
> +SRC_URI[sha256sum] = "5b5f6f6d26121742a83aa80d4ed0eb0c6ce9bea259518db412edefd95760e4ef"
>  LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263"
>
>  # the package is taken from snapshots.debian.org; that source is static and goes stale
> @@ -47,7 +42,7 @@ USERADD_PARAM:${PN} = "--system --home /nonexistent --no-create-home _apt"
>
>  BBCLASSEXTEND = "native nativesdk"
>
> -DEPENDS += "db gnutls lz4 zlib bzip2 xz libgcrypt xxhash"
> +DEPENDS += "db lz4 zlib bzip2 xz xxhash openssl"
>
>  EXTRA_OECMAKE:append = " -DCURRENT_VENDOR=debian -DWITH_DOC=False \
>      -DDPKG_DATADIR=${datadir}/dpkg \
> @@ -55,8 +50,14 @@ EXTRA_OECMAKE:append = " -DCURRENT_VENDOR=debian -DWITH_DOC=False \
>      -DCMAKE_DISABLE_FIND_PACKAGE_ZSTD=True \
>      -DCMAKE_DISABLE_FIND_PACKAGE_SECCOMP=True \
>      -DWITH_TESTS=False \
> +    -DCOMMON_ARCH=${DPKG_ARCH} \
>  "
>
> +PACKAGECONFIG ??= ""
> +# usrmerge displays a runtime warning during package installation in case
> +# the system doesn't have merged /usr folders.
> +PACKAGECONFIG[usrmerge] = "-DREQUIRE_MERGED_USR=ON,-DREQUIRE_MERGED_USR=OFF"
> +
>  do_configure:prepend() {
>         echo "set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH )" >>  ${WORKDIR}/toolchain.cmake
>  }
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#222880): https://lists.openembedded.org/g/openembedded-core/message/222880
> Mute This Topic: https://lists.openembedded.org/mt/115050106/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Gyorgy Sarvari Sept. 9, 2025, 3:17 p.m. UTC | #2
On 9/9/25 17:14, Khem Raj wrote:
> Gyorgy
>
> there is a build failure with clang and libc++
> https://errors.yoctoproject.org/Errors/Details/882066/

Hmmm... thanks for the heads up, going to take a look at it.

> Thanks
> -Khem
>
> On Wed, Sep 3, 2025 at 11:03 AM Gyorgy Sarvari via
> lists.openembedded.org <skandigraun=gmail.com@lists.openembedded.org>
> wrote:
>> Changelog:
>> https://metadata.ftp-master.debian.org/changelogs/main/a/apt/apt_3.0.3_changelog
>>
>> Dropped patches which are included in this release, or became obsolete:
>> 0001-Fix-compilation-error-with-clang-libc-18.patch - included in this release
>> 0001-Fix-musl-build.patch - included in this release
>> 0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch - included in this release
>> 0001-Remove-using-std-binary_function.patch - became obsolete, fixed upstream
>> 0001-aptwebserver.cc-Include-array.patch - became obsolete, fixed upstream
>> 0001-strutl-Add-missing-include-cstdint-gcc-15.patch - included in this release
>>
>> Added a new patch to avoid compilation error with musl:
>> error: 'basename' was not declared in this scope; did you mean 'rename'?
>>
>> Adapted DEPENDS list - gnutls and gcrypt dependencies were dropped in favor of openssl
>> in version 2.9.19.
>>
>> Added a new PACKAGECONFIG, 'usrmerge', which displays a gentle warning if the system
>> isn't a usrmerge system during package installation.
>>
>> Added new COMMON_ARCH CMake argument - if it is not defined, CMake is trying to
>> determine the value of this variable by running dpkg, which is usually a futile
>> endeavour. It is used in config creation, and to print some system info.
>>
>> Also adapt a self test: the apt-key command has been deprecated since a while,
>> and in this release it was completely removed. Instead sources.list file
>> contains the signature data, on a per-repository basis.
>>
>> Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
>> ---
>> v6: remove unnecessary quote escaping from self-test
>> v5: copy the keyring with the correct extension (.asc) in self test
>> v4: remove a debug "cat" from the test
>> v3: adapt self-test. apt-key has been removed from this version, so make the test
>>     use an alternative method to indicate the signature location
>> v2: changed the status 0001-fix-compilation-with-musl.patch from Pending to Submitted
>>
>>  meta/lib/oeqa/runtime/cases/apt.py            |  9 +-
>>  ...void-changing-install-paths-based-on.patch |  2 +-
>>  ...e-documentation-directory-altogether.patch |  2 +-
>>  ...-init-tables-from-dpkg-configuration.patch |  2 +-
>>  ...compilation-error-with-clang-libc-18.patch | 29 -------
>>  .../apt/apt/0001-Fix-musl-build.patch         | 28 ------
>>  ...mum_required-to-3.13-to-avoid-warnin.patch | 47 ----------
>>  ...001-Remove-using-std-binary_function.patch | 87 -------------------
>>  ...n-dpkg-configure-a-at-the-end-of-our.patch |  4 +-
>>  .../0001-aptwebserver.cc-Include-array.patch  | 30 -------
>>  .../0001-cmake-Do-not-build-po-files.patch    |  6 +-
>>  .../apt/0001-fix-compilation-with-musl.patch  | 49 +++++++++++
>>  ...l-Add-missing-include-cstdint-gcc-15.patch | 26 ------
>>  .../apt/{apt_2.6.1.bb => apt_3.0.3.bb}        | 17 ++--
>>  14 files changed, 74 insertions(+), 264 deletions(-)
>>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-Fix-compilation-error-with-clang-libc-18.patch
>>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch
>>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch
>>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch
>>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch
>>  create mode 100644 meta/recipes-devtools/apt/apt/0001-fix-compilation-with-musl.patch
>>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-strutl-Add-missing-include-cstdint-gcc-15.patch
>>  rename meta/recipes-devtools/apt/{apt_2.6.1.bb => apt_3.0.3.bb} (88%)
>>
>> diff --git a/meta/lib/oeqa/runtime/cases/apt.py b/meta/lib/oeqa/runtime/cases/apt.py
>> index 8000645843..c6b62987f1 100644
>> --- a/meta/lib/oeqa/runtime/cases/apt.py
>> +++ b/meta/lib/oeqa/runtime/cases/apt.py
>> @@ -54,7 +54,14 @@ class AptRepoTest(AptTest):
>>      def setup_key(self):
>>          # the key is found on the target /etc/pki/packagefeed-gpg/
>>          # named PACKAGEFEED-GPG-KEY-poky-branch
>> -        self.target.run('cd %s; apt-key add P*' % ('/etc/pki/packagefeed-gpg'))
>> +        # copy it to /etc/apt/keyrings/PACKAGEFEED-GPG-KEY-poky-branch.asc, and
>> +        # set it as the signing key for the repos
>> +        cmd =  "KEY_FILE_PATH=`realpath /etc/pki/packagefeed-gpg/P*`; "
>> +        cmd += "KEY_FILE_NAME=`basename $KEY_FILE_PATH`; "
>> +        cmd += "mkdir -p /etc/apt/keyrings; "
>> +        cmd += "cp $KEY_FILE_PATH /etc/apt/keyrings/${KEY_FILE_NAME}.asc; "
>> +        cmd += 'sed -i "s|^deb |deb \[signed-by=/etc/apt/keyrings/${KEY_FILE_NAME}.asc\] |g" /etc/apt/sources.list'
>> +        self.target.run(cmd)
>>
>>      @skipIfNotFeature('package-management',
>>                        'Test requires package-management to be in IMAGE_FEATURES')
>> diff --git a/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch b/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch
>> index 199f11bf20..d37aa811cd 100644
>> --- a/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch
>> +++ b/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch
>> @@ -14,7 +14,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
>>  index 2cd4f8e..4759812 100644
>>  --- a/CMakeLists.txt
>>  +++ b/CMakeLists.txt
>> -@@ -21,9 +21,9 @@ set(CMAKE_EXE_LINKER_FLAGS_COVERAGE "-lgcov")
>> +@@ -28,9 +28,9 @@ set(CMAKE_EXE_LINKER_FLAGS_COVERAGE "-lgcov")
>>   set(CMAKE_SHARED_LINKER_FLAGS_COVERAGE "-lgcov")
>>
>>   # Work around bug in GNUInstallDirs
>> diff --git a/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch b/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch
>> index 5443ff6caa..4bc6dce760 100644
>> --- a/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch
>> +++ b/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch
>> @@ -16,7 +16,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
>>  index 668e2d762..62f441bfa 100644
>>  --- a/CMakeLists.txt
>>  +++ b/CMakeLists.txt
>> -@@ -246,7 +246,7 @@ add_subdirectory(apt-private)
>> +@@ -251,7 +251,7 @@ add_subdirectory(apt-private)
>>   endif()
>>   add_subdirectory(cmdline)
>>   add_subdirectory(completions)
>> diff --git a/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch b/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
>> index 37a3133010..d21f5a49c5 100644
>> --- a/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
>> +++ b/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
>> @@ -16,7 +16,7 @@ diff --git a/apt-pkg/init.cc b/apt-pkg/init.cc
>>  index b9d9b15d2..1725c5966 100644
>>  --- a/apt-pkg/init.cc
>>  +++ b/apt-pkg/init.cc
>> -@@ -281,8 +281,8 @@ bool pkgInitSystem(Configuration &Cnf,pkgSystem *&Sys)
>> +@@ -295,8 +295,8 @@ bool pkgInitSystem(Configuration &Cnf,pkgSystem *&Sys)
>>          return _error->Error(_("Unable to determine a suitable packaging system type"));
>>      }
>>
>> diff --git a/meta/recipes-devtools/apt/apt/0001-Fix-compilation-error-with-clang-libc-18.patch b/meta/recipes-devtools/apt/apt/0001-Fix-compilation-error-with-clang-libc-18.patch
>> deleted file mode 100644
>> index e55205ca3f..0000000000
>> --- a/meta/recipes-devtools/apt/apt/0001-Fix-compilation-error-with-clang-libc-18.patch
>> +++ /dev/null
>> @@ -1,29 +0,0 @@
>> -From b4488583424b33f51cb031562a9e8df820ffda23 Mon Sep 17 00:00:00 2001
>> -From: Chongyun Lee <licy183@termux.dev>
>> -Date: Thu, 15 Aug 2024 21:31:24 +0800
>> -Subject: [PATCH] Fix compilation error with clang/libc++ 18
>> -
>> -Upstream-Status: Backport [https://salsa.debian.org/apt-team/apt/-/commit/b4488583424b33f51cb031562a9e8df820ffda23]
>> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> ----
>> - apt-pkg/cacheset.h | 4 ++--
>> - 1 file changed, 2 insertions(+), 2 deletions(-)
>> -
>> -diff --git a/apt-pkg/cacheset.h b/apt-pkg/cacheset.h
>> -index 5dbb9bf08..1c67a65d6 100644
>> ---- a/apt-pkg/cacheset.h
>> -+++ b/apt-pkg/cacheset.h
>> -@@ -218,11 +218,11 @@ public:
>> -       operator container_iterator(void) const { return _iter; }
>> -       inline iterator_type& operator++() { ++_iter; return static_cast<iterator_type&>(*this); }
>> -       inline iterator_type operator++(int) { iterator_type tmp(*this); operator++(); return tmp; }
>> --      inline iterator_type operator+(typename container_iterator::difference_type const &n) { return iterator_type(_iter + n); }
>> -+      inline iterator_type operator+(typename container_iterator::difference_type const &n) const { return iterator_type(_iter + n); }
>> -       inline iterator_type operator+=(typename container_iterator::difference_type const &n) { _iter += n; return static_cast<iterator_type&>(*this); }
>> -       inline iterator_type& operator--() { --_iter;; return static_cast<iterator_type&>(*this); }
>> -       inline iterator_type operator--(int) { iterator_type tmp(*this); operator--(); return tmp; }
>> --      inline iterator_type operator-(typename container_iterator::difference_type const &n) { return iterator_type(_iter - n); }
>> -+      inline iterator_type operator-(typename container_iterator::difference_type const &n) const { return iterator_type(_iter - n); }
>> -       inline typename container_iterator::difference_type operator-(iterator_type const &b) { return (_iter - b._iter); }
>> -       inline iterator_type operator-=(typename container_iterator::difference_type const &n) { _iter -= n; return static_cast<iterator_type&>(*this); }
>> -       inline bool operator!=(iterator_type const &i) const { return _iter != i._iter; }
>> diff --git a/meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch b/meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch
>> deleted file mode 100644
>> index 0cefbedd6d..0000000000
>> --- a/meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch
>> +++ /dev/null
>> @@ -1,28 +0,0 @@
>> -From 6b8547161b902b01b639d05a4cdf849d7694556f Mon Sep 17 00:00:00 2001
>> -From: Alexander Kanavin <alex.kanavin@gmail.com>
>> -Date: Fri, 22 May 2020 15:29:23 +0000
>> -Subject: [PATCH] apt-pkg/contrib/srvrec.h: Explicitly include sys/types.h
>> -
>> -This avoids type errors with musl C library.
>> -
>> -Upstream-Status: Submitted [https://salsa.debian.org/apt-team/apt/-/merge_requests/200]
>> -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
>> ----
>> - apt-pkg/contrib/srvrec.h | 1 +
>> - 1 file changed, 1 insertion(+)
>> -
>> -diff --git a/apt-pkg/contrib/srvrec.h b/apt-pkg/contrib/srvrec.h
>> -index e5d0f43..2010184 100644
>> ---- a/apt-pkg/contrib/srvrec.h
>> -+++ b/apt-pkg/contrib/srvrec.h
>> -@@ -9,6 +9,7 @@
>> - #ifndef SRVREC_H
>> - #define SRVREC_H
>> -
>> -+#include <sys/types.h>
>> - #include <string>
>> - #include <vector>
>> - #include <arpa/nameser.h>
>> ---
>> -2.20.1
>> -
>> diff --git a/meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch b/meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch
>> deleted file mode 100644
>> index c3a5ded494..0000000000
>> --- a/meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch
>> +++ /dev/null
>> @@ -1,47 +0,0 @@
>> -From dc7a8b3050a2a43f49515a03ae19713dfced75dc Mon Sep 17 00:00:00 2001
>> -From: David Kalnischkies <david@kalnischkies.de>
>> -Date: Sat, 18 Nov 2023 13:10:05 +0000
>> -Subject: [PATCH] Raise cmake_minimum_required to 3.13 to avoid warnings
>> -
>> -CMake Deprecation Warning at CMakeLists.txt:6 (cmake_minimum_required):
>> -  Compatibility with CMake < 3.5 will be removed from a future version of
>> -  CMake.
>> -
>> -  Update the VERSION argument <min> value or use a ...<max> suffix to tell
>> -  CMake that the project does not need compatibility with older versions.
>> -
>> -Picking 3.13 here is a semi-random choice to avoid raising the requirement
>> -too much needlessly while also hopefully avoiding needing to raise it
>> -soon again based on the referenced mail.
>> -
>> -While we are at it, lets also fix the other spewed warning:
>> -
>> -CMake Warning (dev) at CMakeLists.txt:5 (project):
>> -  cmake_minimum_required() should be called prior to this top-level project()
>> -  call.  Please see the cmake-commands(7) manual for usage documentation of
>> -  both commands.
>> -
>> -References: https://lists.debian.org/msgid-search/20230617162957.6pklb6632zf4nijc@mail.gaussglocke.de
>> -
>> -Upstream-Status: Backport [https://salsa.debian.org/apt-team/apt/-/commit/dc7a8b3050a2a43f49515a03ae19713dfced75dc]
>> -Signed-off-by: Moritz Haase <Moritz.Haase@bmw.de>
>> ----
>> - CMakeLists.txt | 2 +-
>> - 1 file changed, 1 insertion(+), 1 deletion(-)
>> -
>> -diff --git a/CMakeLists.txt b/CMakeLists.txt
>> -index 62182cddf..dae12e7c3 100644
>> ---- a/CMakeLists.txt
>> -+++ b/CMakeLists.txt
>> -@@ -2,8 +2,8 @@
>> - # Licensed under the same terms as APT; i.e. GPL 2 or later.
>> -
>> - # set minimum version
>> -+cmake_minimum_required(VERSION 3.13)
>> - project(apt)
>> --cmake_minimum_required(VERSION 3.4.0)
>> - # Generic header locations
>> - include_directories(${PROJECT_BINARY_DIR}/include)
>> -
>> ---
>> -GitLab
>> diff --git a/meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch b/meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch
>> deleted file mode 100644
>> index 15b036b90d..0000000000
>> --- a/meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch
>> +++ /dev/null
>> @@ -1,87 +0,0 @@
>> -From e91fb0618ce0a5d42f239d0fca602544858f0819 Mon Sep 17 00:00:00 2001
>> -From: Khem Raj <raj.khem@gmail.com>
>> -Date: Tue, 16 Aug 2022 08:44:18 -0700
>> -Subject: [PATCH] Remove using std::binary_function
>> -
>> -std::binary_function and std::unary_function are deprecated since c++11
>> -and removed in c++17, therefore remove it and use lambda functions to get same
>> -functionality implemented.
>> -
>> -Upstream-Status: Submitted [https://salsa.debian.org/apt-team/apt/-/merge_requests/253]
>> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> ----
>> - ftparchive/apt-ftparchive.cc | 33 ++++++++++-----------------------
>> - 1 file changed, 10 insertions(+), 23 deletions(-)
>> -
>> -diff --git a/ftparchive/apt-ftparchive.cc b/ftparchive/apt-ftparchive.cc
>> -index 0f6587281..0a253b12b 100644
>> ---- a/ftparchive/apt-ftparchive.cc
>> -+++ b/ftparchive/apt-ftparchive.cc
>> -@@ -48,6 +48,11 @@
>> - using namespace std;
>> - unsigned Quiet = 0;
>> -
>> -+auto ContentsCompare = [](const auto &a, const auto &b) { return a.ContentsMTime < b.ContentsMTime; };
>> -+auto DBCompare = [](const auto &a, const auto &b) { return a.BinCacheDB < b.BinCacheDB; };
>> -+auto SrcDBCompare = [](const auto &a, const auto &b) { return a.SrcCacheDB < b.SrcCacheDB; };
>> -+
>> -+
>> - static struct timeval GetTimevalFromSteadyClock()                     /*{{{*/
>> - {
>> -    auto const Time = std::chrono::steady_clock::now().time_since_epoch();
>> -@@ -116,24 +121,6 @@ struct PackageMap
>> -    bool SrcDone;
>> -    time_t ContentsMTime;
>> -
>> --   struct ContentsCompare
>> --   {
>> --      inline bool operator() (const PackageMap &x,const PackageMap &y)
>> --      {return x.ContentsMTime < y.ContentsMTime;};
>> --   };
>> --
>> --   struct DBCompare
>> --   {
>> --      inline bool operator() (const PackageMap &x,const PackageMap &y)
>> --      {return x.BinCacheDB < y.BinCacheDB;};
>> --   };
>> --
>> --   struct SrcDBCompare
>> --   {
>> --      inline bool operator() (const PackageMap &x,const PackageMap &y)
>> --      {return x.SrcCacheDB < y.SrcCacheDB;};
>> --   };
>> --
>> -    void GetGeneral(Configuration &Setup,Configuration &Block);
>> -    bool GenPackages(Configuration &Setup,struct CacheDB::Stats &Stats);
>> -    bool GenSources(Configuration &Setup,struct CacheDB::Stats &Stats);
>> -@@ -869,7 +856,7 @@ static bool DoGenerateContents(Configuration &Setup,
>> -       else
>> -        I->ContentsMTime = A.st_mtime;
>> -    }
>> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::ContentsCompare());
>> -+   stable_sort(PkgList.begin(),PkgList.end(),ContentsCompare);
>> -
>> -    /* Now for Contents.. The process here is to do a make-like dependency
>> -       check. Each contents file is verified to be newer than the package files
>> -@@ -941,8 +928,8 @@ static bool Generate(CommandLine &CmdL)
>> -    LoadBinDir(PkgList,Setup);
>> -
>> -    // Sort by cache DB to improve IO locality.
>> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::DBCompare());
>> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::SrcDBCompare());
>> -+   stable_sort(PkgList.begin(),PkgList.end(),DBCompare);
>> -+   stable_sort(PkgList.begin(),PkgList.end(),SrcDBCompare);
>> -
>> -    // Generate packages
>> -    if (_config->FindB("APT::FTPArchive::ContentsOnly", false) == false)
>> -@@ -993,8 +980,8 @@ static bool Clean(CommandLine &CmdL)
>> -    LoadBinDir(PkgList,Setup);
>> -
>> -    // Sort by cache DB to improve IO locality.
>> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::DBCompare());
>> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::SrcDBCompare());
>> -+   stable_sort(PkgList.begin(),PkgList.end(),DBCompare);
>> -+   stable_sort(PkgList.begin(),PkgList.end(),SrcDBCompare);
>> -
>> -    string CacheDir = Setup.FindDir("Dir::CacheDir");
>> -
>> diff --git a/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch b/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
>> index 6f4d5b6e72..43ab6a4cd8 100644
>> --- a/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
>> +++ b/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
>> @@ -23,7 +23,7 @@ diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
>>  index 93effa959..4375781d1 100644
>>  --- a/apt-pkg/deb/dpkgpm.cc
>>  +++ b/apt-pkg/deb/dpkgpm.cc
>> -@@ -1199,12 +1199,6 @@ void pkgDPkgPM::BuildPackagesProgressMap()
>> +@@ -1210,12 +1210,6 @@ void pkgDPkgPM::BuildPackagesProgressMap()
>>          }
>>         }
>>      }
>> @@ -36,7 +36,7 @@ index 93effa959..4375781d1 100644
>>   }
>>                                                                           /*}}}*/
>>   void pkgDPkgPM::StartPtyMagic()                                               /*{{{*/
>> -@@ -1741,7 +1735,8 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress)
>> +@@ -1752,7 +1746,8 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress)
>>
>>         // support subpressing of triggers processing for special
>>         // cases like d-i that runs the triggers handling manually
>> diff --git a/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch b/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch
>> deleted file mode 100644
>> index 2c1e617e55..0000000000
>> --- a/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch
>> +++ /dev/null
>> @@ -1,30 +0,0 @@
>> -From 5985f366750a73c81c7d86893a2b959b4af062a5 Mon Sep 17 00:00:00 2001
>> -From: Khem Raj <raj.khem@gmail.com>
>> -Date: Wed, 26 May 2021 22:12:46 -0700
>> -Subject: [PATCH] aptwebserver.cc: Include <array>
>> -
>> -This helps getting std::array definition
>> -
>> -Fixes
>> -test/interactive-helper/aptwebserver.cc:36:55: error: constexpr variable cannot have non-literal type 'const std::array<std::array<const char *, 2>, 6>'
>> -   constexpr std::array<std::array<char const *,2>,6> htmlencode = {{
>> -
>> -Upstream-Status: Submitted [https://github.com/Debian/apt/pull/133]
>> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> -
>> ----
>> - test/interactive-helper/aptwebserver.cc | 1 +
>> - 1 file changed, 1 insertion(+)
>> -
>> -diff --git a/test/interactive-helper/aptwebserver.cc b/test/interactive-helper/aptwebserver.cc
>> -index f4f8d95..361c7a9 100644
>> ---- a/test/interactive-helper/aptwebserver.cc
>> -+++ b/test/interactive-helper/aptwebserver.cc
>> -@@ -23,6 +23,7 @@
>> -
>> - #include <array>
>> - #include <algorithm>
>> -+#include <array>
>> - #include <fstream>
>> - #include <iostream>
>> - #include <list>
>> diff --git a/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch b/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch
>> index 036ce35963..08815a3ec4 100644
>> --- a/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch
>> +++ b/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch
>> @@ -11,14 +11,14 @@ Fixes
>>  Upstream-Status: Inappropriate [Cross-compile specific]
>>  Signed-off-by: Khem Raj <raj.khem@gmail.com>
>>  ---
>> - CMakeLists.txt | 7 -------
>> - 1 file changed, 7 deletions(-)
>> + CMakeLists.txt | 9 ---------
>> + 1 file changed, 9 deletions(-)
>>
>>  diff --git a/CMakeLists.txt b/CMakeLists.txt
>>  index be157a55f..54163ae6c 100644
>>  --- a/CMakeLists.txt
>>  +++ b/CMakeLists.txt
>> -@@ -252,15 +252,6 @@ add_subdirectory(ftparchive)
>> +@@ -257,15 +257,6 @@ add_subdirectory(ftparchive)
>>   add_subdirectory(methods)
>>   add_subdirectory(test)
>>
>> diff --git a/meta/recipes-devtools/apt/apt/0001-fix-compilation-with-musl.patch b/meta/recipes-devtools/apt/apt/0001-fix-compilation-with-musl.patch
>> new file mode 100644
>> index 0000000000..d3c5fe658e
>> --- /dev/null
>> +++ b/meta/recipes-devtools/apt/apt/0001-fix-compilation-with-musl.patch
>> @@ -0,0 +1,49 @@
>> +From a6b024ceb71c43977838d625f5ac64b7e4815a56 Mon Sep 17 00:00:00 2001
>> +From: Gyorgy Sarvari <skandigraun@gmail.com>
>> +Date: Thu, 28 Aug 2025 08:11:58 +0200
>> +Subject: [PATCH] fix compilation with musl
>> +
>> +The basename() function requires the libgen.h header when
>> +compiling with musl-libc, otherwise it complains:
>> +
>> +error: 'basename' was not declared in this scope; did you mean 'rename'?
>> +
>> +Also, musl's basename requires char* instead of const char* argument:
>> +
>> +error: invalid conversion from 'const char*' to 'char*' [-fpermissive]
>> +
>> +The musl implementation of basename modifies the argument only in case
>> +it is a folder path (it cuts off the trailing slashes). In our case,
>> +when argv[0] is passed, it is always a filename without a trailing
>> +slash, so just cast the argument.
>> +
>> +Upstream-Status: Submitted [https://salsa.debian.org/apt-team/apt/-/merge_requests/508]
>> +Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
>> +---
>> + cmdline/apt-internal-solver.cc | 3 ++-
>> + 1 file changed, 2 insertions(+), 1 deletion(-)
>> +
>> +diff --git a/cmdline/apt-internal-solver.cc b/cmdline/apt-internal-solver.cc
>> +index ceedd96c7..74ed38c50 100644
>> +--- a/cmdline/apt-internal-solver.cc
>> ++++ b/cmdline/apt-internal-solver.cc
>> +@@ -35,6 +35,7 @@
>> + #include <list>
>> + #include <sstream>
>> + #include <string>
>> ++#include <libgen.h>
>> + #include <unistd.h>
>> +
>> + #include <apti18n.h>
>> +@@ -119,7 +120,7 @@ int main(int argc,const char *argv[])                                      /*{{{*/
>> +               _config->Set("Debug::EDSP::WriteSolution", true);
>> +
>> +       _config->Set("APT::System", "Debian APT solver interface");
>> +-      if (strcmp(basename(argv[0]), "solver3") == 0)
>> ++      if (strcmp(basename((char*)argv[0]), "solver3") == 0)
>> +          _config->Set("APT::Solver", "3.0");
>> +       else if (_config->Find("APT::Solver") != "3.0")
>> +          _config->Set("APT::Solver", "internal");
>> +--
>> +2.39.5
>> +
>> diff --git a/meta/recipes-devtools/apt/apt/0001-strutl-Add-missing-include-cstdint-gcc-15.patch b/meta/recipes-devtools/apt/apt/0001-strutl-Add-missing-include-cstdint-gcc-15.patch
>> deleted file mode 100644
>> index b86ed8bb92..0000000000
>> --- a/meta/recipes-devtools/apt/apt/0001-strutl-Add-missing-include-cstdint-gcc-15.patch
>> +++ /dev/null
>> @@ -1,26 +0,0 @@
>> -From 9da1b0dbdcc90455bc9de49f73a96e7d18f83493 Mon Sep 17 00:00:00 2001
>> -From: Julian Andres Klode <julian.klode@canonical.com>
>> -Date: Tue, 18 Feb 2025 10:29:40 +0100
>> -Subject: [PATCH] strutl: Add missing #include <cstdint> [gcc 15]
>> -
>> -Closes: #1096322
>> -
>> -Upstream-Status: Backport [https://salsa.debian.org/apt-team/apt/-/commit/f82dcd7e4ebb3f70d28e9feb3621676f8c0cc024]
>> -
>> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> ----
>> - apt-pkg/contrib/strutl.cc | 1 +
>> - 1 file changed, 1 insertion(+)
>> -
>> -diff --git a/apt-pkg/contrib/strutl.cc b/apt-pkg/contrib/strutl.cc
>> -index 67100f1..c0a1cbc 100644
>> ---- a/apt-pkg/contrib/strutl.cc
>> -+++ b/apt-pkg/contrib/strutl.cc
>> -@@ -26,6 +26,7 @@
>> -
>> - #include <algorithm>
>> - #include <array>
>> -+#include <cstdint>
>> - #include <iomanip>
>> - #include <limits>
>> - #include <locale>
>> diff --git a/meta/recipes-devtools/apt/apt_2.6.1.bb b/meta/recipes-devtools/apt/apt_3.0.3.bb
>> similarity index 88%
>> rename from meta/recipes-devtools/apt/apt_2.6.1.bb
>> rename to meta/recipes-devtools/apt/apt_3.0.3.bb
>> index b039599395..03a6869393 100644
>> --- a/meta/recipes-devtools/apt/apt_2.6.1.bb
>> +++ b/meta/recipes-devtools/apt/apt_3.0.3.bb
>> @@ -8,14 +8,9 @@ SECTION = "base"
>>  SRC_URI = "${DEBIAN_MIRROR}/main/a/apt/${BPN}_${PV}.tar.xz \
>>             file://triehash \
>>             file://0001-Disable-documentation-directory-altogether.patch \
>> -           file://0001-Fix-musl-build.patch \
>>             file://0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch \
>>             file://0001-cmake-Do-not-build-po-files.patch \
>> -           file://0001-aptwebserver.cc-Include-array.patch \
>> -           file://0001-Remove-using-std-binary_function.patch \
>> -           file://0001-strutl-Add-missing-include-cstdint-gcc-15.patch \
>> -           file://0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch \
>> -           file://0001-Fix-compilation-error-with-clang-libc-18.patch \
>> +           file://0001-fix-compilation-with-musl.patch \
>>             "
>>
>>  SRC_URI:append:class-native = " \
>> @@ -28,7 +23,7 @@ SRC_URI:append:class-nativesdk = " \
>>             file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \
>>             "
>>
>> -SRC_URI[sha256sum] = "86b888c901fa2e78f1bf52a2aaa2f400ff82a472b94ff0ac6631939ee68fa6fd"
>> +SRC_URI[sha256sum] = "5b5f6f6d26121742a83aa80d4ed0eb0c6ce9bea259518db412edefd95760e4ef"
>>  LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263"
>>
>>  # the package is taken from snapshots.debian.org; that source is static and goes stale
>> @@ -47,7 +42,7 @@ USERADD_PARAM:${PN} = "--system --home /nonexistent --no-create-home _apt"
>>
>>  BBCLASSEXTEND = "native nativesdk"
>>
>> -DEPENDS += "db gnutls lz4 zlib bzip2 xz libgcrypt xxhash"
>> +DEPENDS += "db lz4 zlib bzip2 xz xxhash openssl"
>>
>>  EXTRA_OECMAKE:append = " -DCURRENT_VENDOR=debian -DWITH_DOC=False \
>>      -DDPKG_DATADIR=${datadir}/dpkg \
>> @@ -55,8 +50,14 @@ EXTRA_OECMAKE:append = " -DCURRENT_VENDOR=debian -DWITH_DOC=False \
>>      -DCMAKE_DISABLE_FIND_PACKAGE_ZSTD=True \
>>      -DCMAKE_DISABLE_FIND_PACKAGE_SECCOMP=True \
>>      -DWITH_TESTS=False \
>> +    -DCOMMON_ARCH=${DPKG_ARCH} \
>>  "
>>
>> +PACKAGECONFIG ??= ""
>> +# usrmerge displays a runtime warning during package installation in case
>> +# the system doesn't have merged /usr folders.
>> +PACKAGECONFIG[usrmerge] = "-DREQUIRE_MERGED_USR=ON,-DREQUIRE_MERGED_USR=OFF"
>> +
>>  do_configure:prepend() {
>>         echo "set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH )" >>  ${WORKDIR}/toolchain.cmake
>>  }
>>
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Links: You receive all messages sent to this group.
>> View/Reply Online (#222880): https://lists.openembedded.org/g/openembedded-core/message/222880
>> Mute This Topic: https://lists.openembedded.org/mt/115050106/1997914
>> Group Owner: openembedded-core+owner@lists.openembedded.org
>> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
>> -=-=-=-=-=-=-=-=-=-=-=-
>>
Khem Raj Sept. 11, 2025, 3:55 p.m. UTC | #3
On Tue, Sep 9, 2025 at 8:17 AM Gyorgy Sarvari <skandigraun@gmail.com> wrote:
>
> On 9/9/25 17:14, Khem Raj wrote:
> > Gyorgy
> >
> > there is a build failure with clang and libc++
> > https://errors.yoctoproject.org/Errors/Details/882066/
>
> Hmmm... thanks for the heads up, going to take a look at it.
>

Once I see the libc++ issue fixed it reveals the next problem python3-apt needs
to be looked into as well see, its not particular to clang or libc++

https://errors.yoctoproject.org/Errors/Details/882544/


> > Thanks
> > -Khem
> >
> > On Wed, Sep 3, 2025 at 11:03 AM Gyorgy Sarvari via
> > lists.openembedded.org <skandigraun=gmail.com@lists.openembedded.org>
> > wrote:
> >> Changelog:
> >> https://metadata.ftp-master.debian.org/changelogs/main/a/apt/apt_3.0.3_changelog
> >>
> >> Dropped patches which are included in this release, or became obsolete:
> >> 0001-Fix-compilation-error-with-clang-libc-18.patch - included in this release
> >> 0001-Fix-musl-build.patch - included in this release
> >> 0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch - included in this release
> >> 0001-Remove-using-std-binary_function.patch - became obsolete, fixed upstream
> >> 0001-aptwebserver.cc-Include-array.patch - became obsolete, fixed upstream
> >> 0001-strutl-Add-missing-include-cstdint-gcc-15.patch - included in this release
> >>
> >> Added a new patch to avoid compilation error with musl:
> >> error: 'basename' was not declared in this scope; did you mean 'rename'?
> >>
> >> Adapted DEPENDS list - gnutls and gcrypt dependencies were dropped in favor of openssl
> >> in version 2.9.19.
> >>
> >> Added a new PACKAGECONFIG, 'usrmerge', which displays a gentle warning if the system
> >> isn't a usrmerge system during package installation.
> >>
> >> Added new COMMON_ARCH CMake argument - if it is not defined, CMake is trying to
> >> determine the value of this variable by running dpkg, which is usually a futile
> >> endeavour. It is used in config creation, and to print some system info.
> >>
> >> Also adapt a self test: the apt-key command has been deprecated since a while,
> >> and in this release it was completely removed. Instead sources.list file
> >> contains the signature data, on a per-repository basis.
> >>
> >> Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
> >> ---
> >> v6: remove unnecessary quote escaping from self-test
> >> v5: copy the keyring with the correct extension (.asc) in self test
> >> v4: remove a debug "cat" from the test
> >> v3: adapt self-test. apt-key has been removed from this version, so make the test
> >>     use an alternative method to indicate the signature location
> >> v2: changed the status 0001-fix-compilation-with-musl.patch from Pending to Submitted
> >>
> >>  meta/lib/oeqa/runtime/cases/apt.py            |  9 +-
> >>  ...void-changing-install-paths-based-on.patch |  2 +-
> >>  ...e-documentation-directory-altogether.patch |  2 +-
> >>  ...-init-tables-from-dpkg-configuration.patch |  2 +-
> >>  ...compilation-error-with-clang-libc-18.patch | 29 -------
> >>  .../apt/apt/0001-Fix-musl-build.patch         | 28 ------
> >>  ...mum_required-to-3.13-to-avoid-warnin.patch | 47 ----------
> >>  ...001-Remove-using-std-binary_function.patch | 87 -------------------
> >>  ...n-dpkg-configure-a-at-the-end-of-our.patch |  4 +-
> >>  .../0001-aptwebserver.cc-Include-array.patch  | 30 -------
> >>  .../0001-cmake-Do-not-build-po-files.patch    |  6 +-
> >>  .../apt/0001-fix-compilation-with-musl.patch  | 49 +++++++++++
> >>  ...l-Add-missing-include-cstdint-gcc-15.patch | 26 ------
> >>  .../apt/{apt_2.6.1.bb => apt_3.0.3.bb}        | 17 ++--
> >>  14 files changed, 74 insertions(+), 264 deletions(-)
> >>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-Fix-compilation-error-with-clang-libc-18.patch
> >>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch
> >>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch
> >>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch
> >>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch
> >>  create mode 100644 meta/recipes-devtools/apt/apt/0001-fix-compilation-with-musl.patch
> >>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-strutl-Add-missing-include-cstdint-gcc-15.patch
> >>  rename meta/recipes-devtools/apt/{apt_2.6.1.bb => apt_3.0.3.bb} (88%)
> >>
> >> diff --git a/meta/lib/oeqa/runtime/cases/apt.py b/meta/lib/oeqa/runtime/cases/apt.py
> >> index 8000645843..c6b62987f1 100644
> >> --- a/meta/lib/oeqa/runtime/cases/apt.py
> >> +++ b/meta/lib/oeqa/runtime/cases/apt.py
> >> @@ -54,7 +54,14 @@ class AptRepoTest(AptTest):
> >>      def setup_key(self):
> >>          # the key is found on the target /etc/pki/packagefeed-gpg/
> >>          # named PACKAGEFEED-GPG-KEY-poky-branch
> >> -        self.target.run('cd %s; apt-key add P*' % ('/etc/pki/packagefeed-gpg'))
> >> +        # copy it to /etc/apt/keyrings/PACKAGEFEED-GPG-KEY-poky-branch.asc, and
> >> +        # set it as the signing key for the repos
> >> +        cmd =  "KEY_FILE_PATH=`realpath /etc/pki/packagefeed-gpg/P*`; "
> >> +        cmd += "KEY_FILE_NAME=`basename $KEY_FILE_PATH`; "
> >> +        cmd += "mkdir -p /etc/apt/keyrings; "
> >> +        cmd += "cp $KEY_FILE_PATH /etc/apt/keyrings/${KEY_FILE_NAME}.asc; "
> >> +        cmd += 'sed -i "s|^deb |deb \[signed-by=/etc/apt/keyrings/${KEY_FILE_NAME}.asc\] |g" /etc/apt/sources.list'
> >> +        self.target.run(cmd)
> >>
> >>      @skipIfNotFeature('package-management',
> >>                        'Test requires package-management to be in IMAGE_FEATURES')
> >> diff --git a/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch b/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch
> >> index 199f11bf20..d37aa811cd 100644
> >> --- a/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch
> >> +++ b/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch
> >> @@ -14,7 +14,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
> >>  index 2cd4f8e..4759812 100644
> >>  --- a/CMakeLists.txt
> >>  +++ b/CMakeLists.txt
> >> -@@ -21,9 +21,9 @@ set(CMAKE_EXE_LINKER_FLAGS_COVERAGE "-lgcov")
> >> +@@ -28,9 +28,9 @@ set(CMAKE_EXE_LINKER_FLAGS_COVERAGE "-lgcov")
> >>   set(CMAKE_SHARED_LINKER_FLAGS_COVERAGE "-lgcov")
> >>
> >>   # Work around bug in GNUInstallDirs
> >> diff --git a/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch b/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch
> >> index 5443ff6caa..4bc6dce760 100644
> >> --- a/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch
> >> +++ b/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch
> >> @@ -16,7 +16,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
> >>  index 668e2d762..62f441bfa 100644
> >>  --- a/CMakeLists.txt
> >>  +++ b/CMakeLists.txt
> >> -@@ -246,7 +246,7 @@ add_subdirectory(apt-private)
> >> +@@ -251,7 +251,7 @@ add_subdirectory(apt-private)
> >>   endif()
> >>   add_subdirectory(cmdline)
> >>   add_subdirectory(completions)
> >> diff --git a/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch b/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
> >> index 37a3133010..d21f5a49c5 100644
> >> --- a/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
> >> +++ b/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
> >> @@ -16,7 +16,7 @@ diff --git a/apt-pkg/init.cc b/apt-pkg/init.cc
> >>  index b9d9b15d2..1725c5966 100644
> >>  --- a/apt-pkg/init.cc
> >>  +++ b/apt-pkg/init.cc
> >> -@@ -281,8 +281,8 @@ bool pkgInitSystem(Configuration &Cnf,pkgSystem *&Sys)
> >> +@@ -295,8 +295,8 @@ bool pkgInitSystem(Configuration &Cnf,pkgSystem *&Sys)
> >>          return _error->Error(_("Unable to determine a suitable packaging system type"));
> >>      }
> >>
> >> diff --git a/meta/recipes-devtools/apt/apt/0001-Fix-compilation-error-with-clang-libc-18.patch b/meta/recipes-devtools/apt/apt/0001-Fix-compilation-error-with-clang-libc-18.patch
> >> deleted file mode 100644
> >> index e55205ca3f..0000000000
> >> --- a/meta/recipes-devtools/apt/apt/0001-Fix-compilation-error-with-clang-libc-18.patch
> >> +++ /dev/null
> >> @@ -1,29 +0,0 @@
> >> -From b4488583424b33f51cb031562a9e8df820ffda23 Mon Sep 17 00:00:00 2001
> >> -From: Chongyun Lee <licy183@termux.dev>
> >> -Date: Thu, 15 Aug 2024 21:31:24 +0800
> >> -Subject: [PATCH] Fix compilation error with clang/libc++ 18
> >> -
> >> -Upstream-Status: Backport [https://salsa.debian.org/apt-team/apt/-/commit/b4488583424b33f51cb031562a9e8df820ffda23]
> >> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> >> ----
> >> - apt-pkg/cacheset.h | 4 ++--
> >> - 1 file changed, 2 insertions(+), 2 deletions(-)
> >> -
> >> -diff --git a/apt-pkg/cacheset.h b/apt-pkg/cacheset.h
> >> -index 5dbb9bf08..1c67a65d6 100644
> >> ---- a/apt-pkg/cacheset.h
> >> -+++ b/apt-pkg/cacheset.h
> >> -@@ -218,11 +218,11 @@ public:
> >> -       operator container_iterator(void) const { return _iter; }
> >> -       inline iterator_type& operator++() { ++_iter; return static_cast<iterator_type&>(*this); }
> >> -       inline iterator_type operator++(int) { iterator_type tmp(*this); operator++(); return tmp; }
> >> --      inline iterator_type operator+(typename container_iterator::difference_type const &n) { return iterator_type(_iter + n); }
> >> -+      inline iterator_type operator+(typename container_iterator::difference_type const &n) const { return iterator_type(_iter + n); }
> >> -       inline iterator_type operator+=(typename container_iterator::difference_type const &n) { _iter += n; return static_cast<iterator_type&>(*this); }
> >> -       inline iterator_type& operator--() { --_iter;; return static_cast<iterator_type&>(*this); }
> >> -       inline iterator_type operator--(int) { iterator_type tmp(*this); operator--(); return tmp; }
> >> --      inline iterator_type operator-(typename container_iterator::difference_type const &n) { return iterator_type(_iter - n); }
> >> -+      inline iterator_type operator-(typename container_iterator::difference_type const &n) const { return iterator_type(_iter - n); }
> >> -       inline typename container_iterator::difference_type operator-(iterator_type const &b) { return (_iter - b._iter); }
> >> -       inline iterator_type operator-=(typename container_iterator::difference_type const &n) { _iter -= n; return static_cast<iterator_type&>(*this); }
> >> -       inline bool operator!=(iterator_type const &i) const { return _iter != i._iter; }
> >> diff --git a/meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch b/meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch
> >> deleted file mode 100644
> >> index 0cefbedd6d..0000000000
> >> --- a/meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch
> >> +++ /dev/null
> >> @@ -1,28 +0,0 @@
> >> -From 6b8547161b902b01b639d05a4cdf849d7694556f Mon Sep 17 00:00:00 2001
> >> -From: Alexander Kanavin <alex.kanavin@gmail.com>
> >> -Date: Fri, 22 May 2020 15:29:23 +0000
> >> -Subject: [PATCH] apt-pkg/contrib/srvrec.h: Explicitly include sys/types.h
> >> -
> >> -This avoids type errors with musl C library.
> >> -
> >> -Upstream-Status: Submitted [https://salsa.debian.org/apt-team/apt/-/merge_requests/200]
> >> -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> >> ----
> >> - apt-pkg/contrib/srvrec.h | 1 +
> >> - 1 file changed, 1 insertion(+)
> >> -
> >> -diff --git a/apt-pkg/contrib/srvrec.h b/apt-pkg/contrib/srvrec.h
> >> -index e5d0f43..2010184 100644
> >> ---- a/apt-pkg/contrib/srvrec.h
> >> -+++ b/apt-pkg/contrib/srvrec.h
> >> -@@ -9,6 +9,7 @@
> >> - #ifndef SRVREC_H
> >> - #define SRVREC_H
> >> -
> >> -+#include <sys/types.h>
> >> - #include <string>
> >> - #include <vector>
> >> - #include <arpa/nameser.h>
> >> ---
> >> -2.20.1
> >> -
> >> diff --git a/meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch b/meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch
> >> deleted file mode 100644
> >> index c3a5ded494..0000000000
> >> --- a/meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch
> >> +++ /dev/null
> >> @@ -1,47 +0,0 @@
> >> -From dc7a8b3050a2a43f49515a03ae19713dfced75dc Mon Sep 17 00:00:00 2001
> >> -From: David Kalnischkies <david@kalnischkies.de>
> >> -Date: Sat, 18 Nov 2023 13:10:05 +0000
> >> -Subject: [PATCH] Raise cmake_minimum_required to 3.13 to avoid warnings
> >> -
> >> -CMake Deprecation Warning at CMakeLists.txt:6 (cmake_minimum_required):
> >> -  Compatibility with CMake < 3.5 will be removed from a future version of
> >> -  CMake.
> >> -
> >> -  Update the VERSION argument <min> value or use a ...<max> suffix to tell
> >> -  CMake that the project does not need compatibility with older versions.
> >> -
> >> -Picking 3.13 here is a semi-random choice to avoid raising the requirement
> >> -too much needlessly while also hopefully avoiding needing to raise it
> >> -soon again based on the referenced mail.
> >> -
> >> -While we are at it, lets also fix the other spewed warning:
> >> -
> >> -CMake Warning (dev) at CMakeLists.txt:5 (project):
> >> -  cmake_minimum_required() should be called prior to this top-level project()
> >> -  call.  Please see the cmake-commands(7) manual for usage documentation of
> >> -  both commands.
> >> -
> >> -References: https://lists.debian.org/msgid-search/20230617162957.6pklb6632zf4nijc@mail.gaussglocke.de
> >> -
> >> -Upstream-Status: Backport [https://salsa.debian.org/apt-team/apt/-/commit/dc7a8b3050a2a43f49515a03ae19713dfced75dc]
> >> -Signed-off-by: Moritz Haase <Moritz.Haase@bmw.de>
> >> ----
> >> - CMakeLists.txt | 2 +-
> >> - 1 file changed, 1 insertion(+), 1 deletion(-)
> >> -
> >> -diff --git a/CMakeLists.txt b/CMakeLists.txt
> >> -index 62182cddf..dae12e7c3 100644
> >> ---- a/CMakeLists.txt
> >> -+++ b/CMakeLists.txt
> >> -@@ -2,8 +2,8 @@
> >> - # Licensed under the same terms as APT; i.e. GPL 2 or later.
> >> -
> >> - # set minimum version
> >> -+cmake_minimum_required(VERSION 3.13)
> >> - project(apt)
> >> --cmake_minimum_required(VERSION 3.4.0)
> >> - # Generic header locations
> >> - include_directories(${PROJECT_BINARY_DIR}/include)
> >> -
> >> ---
> >> -GitLab
> >> diff --git a/meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch b/meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch
> >> deleted file mode 100644
> >> index 15b036b90d..0000000000
> >> --- a/meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch
> >> +++ /dev/null
> >> @@ -1,87 +0,0 @@
> >> -From e91fb0618ce0a5d42f239d0fca602544858f0819 Mon Sep 17 00:00:00 2001
> >> -From: Khem Raj <raj.khem@gmail.com>
> >> -Date: Tue, 16 Aug 2022 08:44:18 -0700
> >> -Subject: [PATCH] Remove using std::binary_function
> >> -
> >> -std::binary_function and std::unary_function are deprecated since c++11
> >> -and removed in c++17, therefore remove it and use lambda functions to get same
> >> -functionality implemented.
> >> -
> >> -Upstream-Status: Submitted [https://salsa.debian.org/apt-team/apt/-/merge_requests/253]
> >> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> >> ----
> >> - ftparchive/apt-ftparchive.cc | 33 ++++++++++-----------------------
> >> - 1 file changed, 10 insertions(+), 23 deletions(-)
> >> -
> >> -diff --git a/ftparchive/apt-ftparchive.cc b/ftparchive/apt-ftparchive.cc
> >> -index 0f6587281..0a253b12b 100644
> >> ---- a/ftparchive/apt-ftparchive.cc
> >> -+++ b/ftparchive/apt-ftparchive.cc
> >> -@@ -48,6 +48,11 @@
> >> - using namespace std;
> >> - unsigned Quiet = 0;
> >> -
> >> -+auto ContentsCompare = [](const auto &a, const auto &b) { return a.ContentsMTime < b.ContentsMTime; };
> >> -+auto DBCompare = [](const auto &a, const auto &b) { return a.BinCacheDB < b.BinCacheDB; };
> >> -+auto SrcDBCompare = [](const auto &a, const auto &b) { return a.SrcCacheDB < b.SrcCacheDB; };
> >> -+
> >> -+
> >> - static struct timeval GetTimevalFromSteadyClock()                     /*{{{*/
> >> - {
> >> -    auto const Time = std::chrono::steady_clock::now().time_since_epoch();
> >> -@@ -116,24 +121,6 @@ struct PackageMap
> >> -    bool SrcDone;
> >> -    time_t ContentsMTime;
> >> -
> >> --   struct ContentsCompare
> >> --   {
> >> --      inline bool operator() (const PackageMap &x,const PackageMap &y)
> >> --      {return x.ContentsMTime < y.ContentsMTime;};
> >> --   };
> >> --
> >> --   struct DBCompare
> >> --   {
> >> --      inline bool operator() (const PackageMap &x,const PackageMap &y)
> >> --      {return x.BinCacheDB < y.BinCacheDB;};
> >> --   };
> >> --
> >> --   struct SrcDBCompare
> >> --   {
> >> --      inline bool operator() (const PackageMap &x,const PackageMap &y)
> >> --      {return x.SrcCacheDB < y.SrcCacheDB;};
> >> --   };
> >> --
> >> -    void GetGeneral(Configuration &Setup,Configuration &Block);
> >> -    bool GenPackages(Configuration &Setup,struct CacheDB::Stats &Stats);
> >> -    bool GenSources(Configuration &Setup,struct CacheDB::Stats &Stats);
> >> -@@ -869,7 +856,7 @@ static bool DoGenerateContents(Configuration &Setup,
> >> -       else
> >> -        I->ContentsMTime = A.st_mtime;
> >> -    }
> >> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::ContentsCompare());
> >> -+   stable_sort(PkgList.begin(),PkgList.end(),ContentsCompare);
> >> -
> >> -    /* Now for Contents.. The process here is to do a make-like dependency
> >> -       check. Each contents file is verified to be newer than the package files
> >> -@@ -941,8 +928,8 @@ static bool Generate(CommandLine &CmdL)
> >> -    LoadBinDir(PkgList,Setup);
> >> -
> >> -    // Sort by cache DB to improve IO locality.
> >> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::DBCompare());
> >> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::SrcDBCompare());
> >> -+   stable_sort(PkgList.begin(),PkgList.end(),DBCompare);
> >> -+   stable_sort(PkgList.begin(),PkgList.end(),SrcDBCompare);
> >> -
> >> -    // Generate packages
> >> -    if (_config->FindB("APT::FTPArchive::ContentsOnly", false) == false)
> >> -@@ -993,8 +980,8 @@ static bool Clean(CommandLine &CmdL)
> >> -    LoadBinDir(PkgList,Setup);
> >> -
> >> -    // Sort by cache DB to improve IO locality.
> >> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::DBCompare());
> >> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::SrcDBCompare());
> >> -+   stable_sort(PkgList.begin(),PkgList.end(),DBCompare);
> >> -+   stable_sort(PkgList.begin(),PkgList.end(),SrcDBCompare);
> >> -
> >> -    string CacheDir = Setup.FindDir("Dir::CacheDir");
> >> -
> >> diff --git a/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch b/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
> >> index 6f4d5b6e72..43ab6a4cd8 100644
> >> --- a/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
> >> +++ b/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
> >> @@ -23,7 +23,7 @@ diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
> >>  index 93effa959..4375781d1 100644
> >>  --- a/apt-pkg/deb/dpkgpm.cc
> >>  +++ b/apt-pkg/deb/dpkgpm.cc
> >> -@@ -1199,12 +1199,6 @@ void pkgDPkgPM::BuildPackagesProgressMap()
> >> +@@ -1210,12 +1210,6 @@ void pkgDPkgPM::BuildPackagesProgressMap()
> >>          }
> >>         }
> >>      }
> >> @@ -36,7 +36,7 @@ index 93effa959..4375781d1 100644
> >>   }
> >>                                                                           /*}}}*/
> >>   void pkgDPkgPM::StartPtyMagic()                                               /*{{{*/
> >> -@@ -1741,7 +1735,8 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress)
> >> +@@ -1752,7 +1746,8 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress)
> >>
> >>         // support subpressing of triggers processing for special
> >>         // cases like d-i that runs the triggers handling manually
> >> diff --git a/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch b/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch
> >> deleted file mode 100644
> >> index 2c1e617e55..0000000000
> >> --- a/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch
> >> +++ /dev/null
> >> @@ -1,30 +0,0 @@
> >> -From 5985f366750a73c81c7d86893a2b959b4af062a5 Mon Sep 17 00:00:00 2001
> >> -From: Khem Raj <raj.khem@gmail.com>
> >> -Date: Wed, 26 May 2021 22:12:46 -0700
> >> -Subject: [PATCH] aptwebserver.cc: Include <array>
> >> -
> >> -This helps getting std::array definition
> >> -
> >> -Fixes
> >> -test/interactive-helper/aptwebserver.cc:36:55: error: constexpr variable cannot have non-literal type 'const std::array<std::array<const char *, 2>, 6>'
> >> -   constexpr std::array<std::array<char const *,2>,6> htmlencode = {{
> >> -
> >> -Upstream-Status: Submitted [https://github.com/Debian/apt/pull/133]
> >> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> >> -
> >> ----
> >> - test/interactive-helper/aptwebserver.cc | 1 +
> >> - 1 file changed, 1 insertion(+)
> >> -
> >> -diff --git a/test/interactive-helper/aptwebserver.cc b/test/interactive-helper/aptwebserver.cc
> >> -index f4f8d95..361c7a9 100644
> >> ---- a/test/interactive-helper/aptwebserver.cc
> >> -+++ b/test/interactive-helper/aptwebserver.cc
> >> -@@ -23,6 +23,7 @@
> >> -
> >> - #include <array>
> >> - #include <algorithm>
> >> -+#include <array>
> >> - #include <fstream>
> >> - #include <iostream>
> >> - #include <list>
> >> diff --git a/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch b/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch
> >> index 036ce35963..08815a3ec4 100644
> >> --- a/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch
> >> +++ b/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch
> >> @@ -11,14 +11,14 @@ Fixes
> >>  Upstream-Status: Inappropriate [Cross-compile specific]
> >>  Signed-off-by: Khem Raj <raj.khem@gmail.com>
> >>  ---
> >> - CMakeLists.txt | 7 -------
> >> - 1 file changed, 7 deletions(-)
> >> + CMakeLists.txt | 9 ---------
> >> + 1 file changed, 9 deletions(-)
> >>
> >>  diff --git a/CMakeLists.txt b/CMakeLists.txt
> >>  index be157a55f..54163ae6c 100644
> >>  --- a/CMakeLists.txt
> >>  +++ b/CMakeLists.txt
> >> -@@ -252,15 +252,6 @@ add_subdirectory(ftparchive)
> >> +@@ -257,15 +257,6 @@ add_subdirectory(ftparchive)
> >>   add_subdirectory(methods)
> >>   add_subdirectory(test)
> >>
> >> diff --git a/meta/recipes-devtools/apt/apt/0001-fix-compilation-with-musl.patch b/meta/recipes-devtools/apt/apt/0001-fix-compilation-with-musl.patch
> >> new file mode 100644
> >> index 0000000000..d3c5fe658e
> >> --- /dev/null
> >> +++ b/meta/recipes-devtools/apt/apt/0001-fix-compilation-with-musl.patch
> >> @@ -0,0 +1,49 @@
> >> +From a6b024ceb71c43977838d625f5ac64b7e4815a56 Mon Sep 17 00:00:00 2001
> >> +From: Gyorgy Sarvari <skandigraun@gmail.com>
> >> +Date: Thu, 28 Aug 2025 08:11:58 +0200
> >> +Subject: [PATCH] fix compilation with musl
> >> +
> >> +The basename() function requires the libgen.h header when
> >> +compiling with musl-libc, otherwise it complains:
> >> +
> >> +error: 'basename' was not declared in this scope; did you mean 'rename'?
> >> +
> >> +Also, musl's basename requires char* instead of const char* argument:
> >> +
> >> +error: invalid conversion from 'const char*' to 'char*' [-fpermissive]
> >> +
> >> +The musl implementation of basename modifies the argument only in case
> >> +it is a folder path (it cuts off the trailing slashes). In our case,
> >> +when argv[0] is passed, it is always a filename without a trailing
> >> +slash, so just cast the argument.
> >> +
> >> +Upstream-Status: Submitted [https://salsa.debian.org/apt-team/apt/-/merge_requests/508]
> >> +Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
> >> +---
> >> + cmdline/apt-internal-solver.cc | 3 ++-
> >> + 1 file changed, 2 insertions(+), 1 deletion(-)
> >> +
> >> +diff --git a/cmdline/apt-internal-solver.cc b/cmdline/apt-internal-solver.cc
> >> +index ceedd96c7..74ed38c50 100644
> >> +--- a/cmdline/apt-internal-solver.cc
> >> ++++ b/cmdline/apt-internal-solver.cc
> >> +@@ -35,6 +35,7 @@
> >> + #include <list>
> >> + #include <sstream>
> >> + #include <string>
> >> ++#include <libgen.h>
> >> + #include <unistd.h>
> >> +
> >> + #include <apti18n.h>
> >> +@@ -119,7 +120,7 @@ int main(int argc,const char *argv[])                                      /*{{{*/
> >> +               _config->Set("Debug::EDSP::WriteSolution", true);
> >> +
> >> +       _config->Set("APT::System", "Debian APT solver interface");
> >> +-      if (strcmp(basename(argv[0]), "solver3") == 0)
> >> ++      if (strcmp(basename((char*)argv[0]), "solver3") == 0)
> >> +          _config->Set("APT::Solver", "3.0");
> >> +       else if (_config->Find("APT::Solver") != "3.0")
> >> +          _config->Set("APT::Solver", "internal");
> >> +--
> >> +2.39.5
> >> +
> >> diff --git a/meta/recipes-devtools/apt/apt/0001-strutl-Add-missing-include-cstdint-gcc-15.patch b/meta/recipes-devtools/apt/apt/0001-strutl-Add-missing-include-cstdint-gcc-15.patch
> >> deleted file mode 100644
> >> index b86ed8bb92..0000000000
> >> --- a/meta/recipes-devtools/apt/apt/0001-strutl-Add-missing-include-cstdint-gcc-15.patch
> >> +++ /dev/null
> >> @@ -1,26 +0,0 @@
> >> -From 9da1b0dbdcc90455bc9de49f73a96e7d18f83493 Mon Sep 17 00:00:00 2001
> >> -From: Julian Andres Klode <julian.klode@canonical.com>
> >> -Date: Tue, 18 Feb 2025 10:29:40 +0100
> >> -Subject: [PATCH] strutl: Add missing #include <cstdint> [gcc 15]
> >> -
> >> -Closes: #1096322
> >> -
> >> -Upstream-Status: Backport [https://salsa.debian.org/apt-team/apt/-/commit/f82dcd7e4ebb3f70d28e9feb3621676f8c0cc024]
> >> -
> >> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> >> ----
> >> - apt-pkg/contrib/strutl.cc | 1 +
> >> - 1 file changed, 1 insertion(+)
> >> -
> >> -diff --git a/apt-pkg/contrib/strutl.cc b/apt-pkg/contrib/strutl.cc
> >> -index 67100f1..c0a1cbc 100644
> >> ---- a/apt-pkg/contrib/strutl.cc
> >> -+++ b/apt-pkg/contrib/strutl.cc
> >> -@@ -26,6 +26,7 @@
> >> -
> >> - #include <algorithm>
> >> - #include <array>
> >> -+#include <cstdint>
> >> - #include <iomanip>
> >> - #include <limits>
> >> - #include <locale>
> >> diff --git a/meta/recipes-devtools/apt/apt_2.6.1.bb b/meta/recipes-devtools/apt/apt_3.0.3.bb
> >> similarity index 88%
> >> rename from meta/recipes-devtools/apt/apt_2.6.1.bb
> >> rename to meta/recipes-devtools/apt/apt_3.0.3.bb
> >> index b039599395..03a6869393 100644
> >> --- a/meta/recipes-devtools/apt/apt_2.6.1.bb
> >> +++ b/meta/recipes-devtools/apt/apt_3.0.3.bb
> >> @@ -8,14 +8,9 @@ SECTION = "base"
> >>  SRC_URI = "${DEBIAN_MIRROR}/main/a/apt/${BPN}_${PV}.tar.xz \
> >>             file://triehash \
> >>             file://0001-Disable-documentation-directory-altogether.patch \
> >> -           file://0001-Fix-musl-build.patch \
> >>             file://0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch \
> >>             file://0001-cmake-Do-not-build-po-files.patch \
> >> -           file://0001-aptwebserver.cc-Include-array.patch \
> >> -           file://0001-Remove-using-std-binary_function.patch \
> >> -           file://0001-strutl-Add-missing-include-cstdint-gcc-15.patch \
> >> -           file://0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch \
> >> -           file://0001-Fix-compilation-error-with-clang-libc-18.patch \
> >> +           file://0001-fix-compilation-with-musl.patch \
> >>             "
> >>
> >>  SRC_URI:append:class-native = " \
> >> @@ -28,7 +23,7 @@ SRC_URI:append:class-nativesdk = " \
> >>             file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \
> >>             "
> >>
> >> -SRC_URI[sha256sum] = "86b888c901fa2e78f1bf52a2aaa2f400ff82a472b94ff0ac6631939ee68fa6fd"
> >> +SRC_URI[sha256sum] = "5b5f6f6d26121742a83aa80d4ed0eb0c6ce9bea259518db412edefd95760e4ef"
> >>  LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263"
> >>
> >>  # the package is taken from snapshots.debian.org; that source is static and goes stale
> >> @@ -47,7 +42,7 @@ USERADD_PARAM:${PN} = "--system --home /nonexistent --no-create-home _apt"
> >>
> >>  BBCLASSEXTEND = "native nativesdk"
> >>
> >> -DEPENDS += "db gnutls lz4 zlib bzip2 xz libgcrypt xxhash"
> >> +DEPENDS += "db lz4 zlib bzip2 xz xxhash openssl"
> >>
> >>  EXTRA_OECMAKE:append = " -DCURRENT_VENDOR=debian -DWITH_DOC=False \
> >>      -DDPKG_DATADIR=${datadir}/dpkg \
> >> @@ -55,8 +50,14 @@ EXTRA_OECMAKE:append = " -DCURRENT_VENDOR=debian -DWITH_DOC=False \
> >>      -DCMAKE_DISABLE_FIND_PACKAGE_ZSTD=True \
> >>      -DCMAKE_DISABLE_FIND_PACKAGE_SECCOMP=True \
> >>      -DWITH_TESTS=False \
> >> +    -DCOMMON_ARCH=${DPKG_ARCH} \
> >>  "
> >>
> >> +PACKAGECONFIG ??= ""
> >> +# usrmerge displays a runtime warning during package installation in case
> >> +# the system doesn't have merged /usr folders.
> >> +PACKAGECONFIG[usrmerge] = "-DREQUIRE_MERGED_USR=ON,-DREQUIRE_MERGED_USR=OFF"
> >> +
> >>  do_configure:prepend() {
> >>         echo "set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH )" >>  ${WORKDIR}/toolchain.cmake
> >>  }
> >>
> >> -=-=-=-=-=-=-=-=-=-=-=-
> >> Links: You receive all messages sent to this group.
> >> View/Reply Online (#222880): https://lists.openembedded.org/g/openembedded-core/message/222880
> >> Mute This Topic: https://lists.openembedded.org/mt/115050106/1997914
> >> Group Owner: openembedded-core+owner@lists.openembedded.org
> >> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> >> -=-=-=-=-=-=-=-=-=-=-=-
> >>
>
Gyorgy Sarvari Sept. 11, 2025, 4:22 p.m. UTC | #4
On 9/11/25 17:55, Khem Raj wrote:
> On Tue, Sep 9, 2025 at 8:17 AM Gyorgy Sarvari <skandigraun@gmail.com> wrote:
>> On 9/9/25 17:14, Khem Raj wrote:
>>> Gyorgy
>>>
>>> there is a build failure with clang and libc++
>>> https://errors.yoctoproject.org/Errors/Details/882066/
>> Hmmm... thanks for the heads up, going to take a look at it.
>>
> Once I see the libc++ issue fixed it reveals the next problem python3-apt needs
> to be looked into as well see, its not particular to clang or libc++
>
> https://errors.yoctoproject.org/Errors/Details/882544/

Updating python3-apt to 3.0.0 seems to compile at least. Let me see if
it can be imported at least... if yes, will send an update.

>
>>> Thanks
>>> -Khem
>>>
>>> On Wed, Sep 3, 2025 at 11:03 AM Gyorgy Sarvari via
>>> lists.openembedded.org <skandigraun=gmail.com@lists.openembedded.org>
>>> wrote:
>>>> Changelog:
>>>> https://metadata.ftp-master.debian.org/changelogs/main/a/apt/apt_3.0.3_changelog
>>>>
>>>> Dropped patches which are included in this release, or became obsolete:
>>>> 0001-Fix-compilation-error-with-clang-libc-18.patch - included in this release
>>>> 0001-Fix-musl-build.patch - included in this release
>>>> 0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch - included in this release
>>>> 0001-Remove-using-std-binary_function.patch - became obsolete, fixed upstream
>>>> 0001-aptwebserver.cc-Include-array.patch - became obsolete, fixed upstream
>>>> 0001-strutl-Add-missing-include-cstdint-gcc-15.patch - included in this release
>>>>
>>>> Added a new patch to avoid compilation error with musl:
>>>> error: 'basename' was not declared in this scope; did you mean 'rename'?
>>>>
>>>> Adapted DEPENDS list - gnutls and gcrypt dependencies were dropped in favor of openssl
>>>> in version 2.9.19.
>>>>
>>>> Added a new PACKAGECONFIG, 'usrmerge', which displays a gentle warning if the system
>>>> isn't a usrmerge system during package installation.
>>>>
>>>> Added new COMMON_ARCH CMake argument - if it is not defined, CMake is trying to
>>>> determine the value of this variable by running dpkg, which is usually a futile
>>>> endeavour. It is used in config creation, and to print some system info.
>>>>
>>>> Also adapt a self test: the apt-key command has been deprecated since a while,
>>>> and in this release it was completely removed. Instead sources.list file
>>>> contains the signature data, on a per-repository basis.
>>>>
>>>> Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
>>>> ---
>>>> v6: remove unnecessary quote escaping from self-test
>>>> v5: copy the keyring with the correct extension (.asc) in self test
>>>> v4: remove a debug "cat" from the test
>>>> v3: adapt self-test. apt-key has been removed from this version, so make the test
>>>>     use an alternative method to indicate the signature location
>>>> v2: changed the status 0001-fix-compilation-with-musl.patch from Pending to Submitted
>>>>
>>>>  meta/lib/oeqa/runtime/cases/apt.py            |  9 +-
>>>>  ...void-changing-install-paths-based-on.patch |  2 +-
>>>>  ...e-documentation-directory-altogether.patch |  2 +-
>>>>  ...-init-tables-from-dpkg-configuration.patch |  2 +-
>>>>  ...compilation-error-with-clang-libc-18.patch | 29 -------
>>>>  .../apt/apt/0001-Fix-musl-build.patch         | 28 ------
>>>>  ...mum_required-to-3.13-to-avoid-warnin.patch | 47 ----------
>>>>  ...001-Remove-using-std-binary_function.patch | 87 -------------------
>>>>  ...n-dpkg-configure-a-at-the-end-of-our.patch |  4 +-
>>>>  .../0001-aptwebserver.cc-Include-array.patch  | 30 -------
>>>>  .../0001-cmake-Do-not-build-po-files.patch    |  6 +-
>>>>  .../apt/0001-fix-compilation-with-musl.patch  | 49 +++++++++++
>>>>  ...l-Add-missing-include-cstdint-gcc-15.patch | 26 ------
>>>>  .../apt/{apt_2.6.1.bb => apt_3.0.3.bb}        | 17 ++--
>>>>  14 files changed, 74 insertions(+), 264 deletions(-)
>>>>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-Fix-compilation-error-with-clang-libc-18.patch
>>>>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch
>>>>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch
>>>>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch
>>>>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch
>>>>  create mode 100644 meta/recipes-devtools/apt/apt/0001-fix-compilation-with-musl.patch
>>>>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-strutl-Add-missing-include-cstdint-gcc-15.patch
>>>>  rename meta/recipes-devtools/apt/{apt_2.6.1.bb => apt_3.0.3.bb} (88%)
>>>>
>>>> diff --git a/meta/lib/oeqa/runtime/cases/apt.py b/meta/lib/oeqa/runtime/cases/apt.py
>>>> index 8000645843..c6b62987f1 100644
>>>> --- a/meta/lib/oeqa/runtime/cases/apt.py
>>>> +++ b/meta/lib/oeqa/runtime/cases/apt.py
>>>> @@ -54,7 +54,14 @@ class AptRepoTest(AptTest):
>>>>      def setup_key(self):
>>>>          # the key is found on the target /etc/pki/packagefeed-gpg/
>>>>          # named PACKAGEFEED-GPG-KEY-poky-branch
>>>> -        self.target.run('cd %s; apt-key add P*' % ('/etc/pki/packagefeed-gpg'))
>>>> +        # copy it to /etc/apt/keyrings/PACKAGEFEED-GPG-KEY-poky-branch.asc, and
>>>> +        # set it as the signing key for the repos
>>>> +        cmd =  "KEY_FILE_PATH=`realpath /etc/pki/packagefeed-gpg/P*`; "
>>>> +        cmd += "KEY_FILE_NAME=`basename $KEY_FILE_PATH`; "
>>>> +        cmd += "mkdir -p /etc/apt/keyrings; "
>>>> +        cmd += "cp $KEY_FILE_PATH /etc/apt/keyrings/${KEY_FILE_NAME}.asc; "
>>>> +        cmd += 'sed -i "s|^deb |deb \[signed-by=/etc/apt/keyrings/${KEY_FILE_NAME}.asc\] |g" /etc/apt/sources.list'
>>>> +        self.target.run(cmd)
>>>>
>>>>      @skipIfNotFeature('package-management',
>>>>                        'Test requires package-management to be in IMAGE_FEATURES')
>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch b/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch
>>>> index 199f11bf20..d37aa811cd 100644
>>>> --- a/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch
>>>> +++ b/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch
>>>> @@ -14,7 +14,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
>>>>  index 2cd4f8e..4759812 100644
>>>>  --- a/CMakeLists.txt
>>>>  +++ b/CMakeLists.txt
>>>> -@@ -21,9 +21,9 @@ set(CMAKE_EXE_LINKER_FLAGS_COVERAGE "-lgcov")
>>>> +@@ -28,9 +28,9 @@ set(CMAKE_EXE_LINKER_FLAGS_COVERAGE "-lgcov")
>>>>   set(CMAKE_SHARED_LINKER_FLAGS_COVERAGE "-lgcov")
>>>>
>>>>   # Work around bug in GNUInstallDirs
>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch b/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch
>>>> index 5443ff6caa..4bc6dce760 100644
>>>> --- a/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch
>>>> +++ b/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch
>>>> @@ -16,7 +16,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
>>>>  index 668e2d762..62f441bfa 100644
>>>>  --- a/CMakeLists.txt
>>>>  +++ b/CMakeLists.txt
>>>> -@@ -246,7 +246,7 @@ add_subdirectory(apt-private)
>>>> +@@ -251,7 +251,7 @@ add_subdirectory(apt-private)
>>>>   endif()
>>>>   add_subdirectory(cmdline)
>>>>   add_subdirectory(completions)
>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch b/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
>>>> index 37a3133010..d21f5a49c5 100644
>>>> --- a/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
>>>> +++ b/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
>>>> @@ -16,7 +16,7 @@ diff --git a/apt-pkg/init.cc b/apt-pkg/init.cc
>>>>  index b9d9b15d2..1725c5966 100644
>>>>  --- a/apt-pkg/init.cc
>>>>  +++ b/apt-pkg/init.cc
>>>> -@@ -281,8 +281,8 @@ bool pkgInitSystem(Configuration &Cnf,pkgSystem *&Sys)
>>>> +@@ -295,8 +295,8 @@ bool pkgInitSystem(Configuration &Cnf,pkgSystem *&Sys)
>>>>          return _error->Error(_("Unable to determine a suitable packaging system type"));
>>>>      }
>>>>
>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-Fix-compilation-error-with-clang-libc-18.patch b/meta/recipes-devtools/apt/apt/0001-Fix-compilation-error-with-clang-libc-18.patch
>>>> deleted file mode 100644
>>>> index e55205ca3f..0000000000
>>>> --- a/meta/recipes-devtools/apt/apt/0001-Fix-compilation-error-with-clang-libc-18.patch
>>>> +++ /dev/null
>>>> @@ -1,29 +0,0 @@
>>>> -From b4488583424b33f51cb031562a9e8df820ffda23 Mon Sep 17 00:00:00 2001
>>>> -From: Chongyun Lee <licy183@termux.dev>
>>>> -Date: Thu, 15 Aug 2024 21:31:24 +0800
>>>> -Subject: [PATCH] Fix compilation error with clang/libc++ 18
>>>> -
>>>> -Upstream-Status: Backport [https://salsa.debian.org/apt-team/apt/-/commit/b4488583424b33f51cb031562a9e8df820ffda23]
>>>> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
>>>> ----
>>>> - apt-pkg/cacheset.h | 4 ++--
>>>> - 1 file changed, 2 insertions(+), 2 deletions(-)
>>>> -
>>>> -diff --git a/apt-pkg/cacheset.h b/apt-pkg/cacheset.h
>>>> -index 5dbb9bf08..1c67a65d6 100644
>>>> ---- a/apt-pkg/cacheset.h
>>>> -+++ b/apt-pkg/cacheset.h
>>>> -@@ -218,11 +218,11 @@ public:
>>>> -       operator container_iterator(void) const { return _iter; }
>>>> -       inline iterator_type& operator++() { ++_iter; return static_cast<iterator_type&>(*this); }
>>>> -       inline iterator_type operator++(int) { iterator_type tmp(*this); operator++(); return tmp; }
>>>> --      inline iterator_type operator+(typename container_iterator::difference_type const &n) { return iterator_type(_iter + n); }
>>>> -+      inline iterator_type operator+(typename container_iterator::difference_type const &n) const { return iterator_type(_iter + n); }
>>>> -       inline iterator_type operator+=(typename container_iterator::difference_type const &n) { _iter += n; return static_cast<iterator_type&>(*this); }
>>>> -       inline iterator_type& operator--() { --_iter;; return static_cast<iterator_type&>(*this); }
>>>> -       inline iterator_type operator--(int) { iterator_type tmp(*this); operator--(); return tmp; }
>>>> --      inline iterator_type operator-(typename container_iterator::difference_type const &n) { return iterator_type(_iter - n); }
>>>> -+      inline iterator_type operator-(typename container_iterator::difference_type const &n) const { return iterator_type(_iter - n); }
>>>> -       inline typename container_iterator::difference_type operator-(iterator_type const &b) { return (_iter - b._iter); }
>>>> -       inline iterator_type operator-=(typename container_iterator::difference_type const &n) { _iter -= n; return static_cast<iterator_type&>(*this); }
>>>> -       inline bool operator!=(iterator_type const &i) const { return _iter != i._iter; }
>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch b/meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch
>>>> deleted file mode 100644
>>>> index 0cefbedd6d..0000000000
>>>> --- a/meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch
>>>> +++ /dev/null
>>>> @@ -1,28 +0,0 @@
>>>> -From 6b8547161b902b01b639d05a4cdf849d7694556f Mon Sep 17 00:00:00 2001
>>>> -From: Alexander Kanavin <alex.kanavin@gmail.com>
>>>> -Date: Fri, 22 May 2020 15:29:23 +0000
>>>> -Subject: [PATCH] apt-pkg/contrib/srvrec.h: Explicitly include sys/types.h
>>>> -
>>>> -This avoids type errors with musl C library.
>>>> -
>>>> -Upstream-Status: Submitted [https://salsa.debian.org/apt-team/apt/-/merge_requests/200]
>>>> -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
>>>> ----
>>>> - apt-pkg/contrib/srvrec.h | 1 +
>>>> - 1 file changed, 1 insertion(+)
>>>> -
>>>> -diff --git a/apt-pkg/contrib/srvrec.h b/apt-pkg/contrib/srvrec.h
>>>> -index e5d0f43..2010184 100644
>>>> ---- a/apt-pkg/contrib/srvrec.h
>>>> -+++ b/apt-pkg/contrib/srvrec.h
>>>> -@@ -9,6 +9,7 @@
>>>> - #ifndef SRVREC_H
>>>> - #define SRVREC_H
>>>> -
>>>> -+#include <sys/types.h>
>>>> - #include <string>
>>>> - #include <vector>
>>>> - #include <arpa/nameser.h>
>>>> ---
>>>> -2.20.1
>>>> -
>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch b/meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch
>>>> deleted file mode 100644
>>>> index c3a5ded494..0000000000
>>>> --- a/meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch
>>>> +++ /dev/null
>>>> @@ -1,47 +0,0 @@
>>>> -From dc7a8b3050a2a43f49515a03ae19713dfced75dc Mon Sep 17 00:00:00 2001
>>>> -From: David Kalnischkies <david@kalnischkies.de>
>>>> -Date: Sat, 18 Nov 2023 13:10:05 +0000
>>>> -Subject: [PATCH] Raise cmake_minimum_required to 3.13 to avoid warnings
>>>> -
>>>> -CMake Deprecation Warning at CMakeLists.txt:6 (cmake_minimum_required):
>>>> -  Compatibility with CMake < 3.5 will be removed from a future version of
>>>> -  CMake.
>>>> -
>>>> -  Update the VERSION argument <min> value or use a ...<max> suffix to tell
>>>> -  CMake that the project does not need compatibility with older versions.
>>>> -
>>>> -Picking 3.13 here is a semi-random choice to avoid raising the requirement
>>>> -too much needlessly while also hopefully avoiding needing to raise it
>>>> -soon again based on the referenced mail.
>>>> -
>>>> -While we are at it, lets also fix the other spewed warning:
>>>> -
>>>> -CMake Warning (dev) at CMakeLists.txt:5 (project):
>>>> -  cmake_minimum_required() should be called prior to this top-level project()
>>>> -  call.  Please see the cmake-commands(7) manual for usage documentation of
>>>> -  both commands.
>>>> -
>>>> -References: https://lists.debian.org/msgid-search/20230617162957.6pklb6632zf4nijc@mail.gaussglocke.de
>>>> -
>>>> -Upstream-Status: Backport [https://salsa.debian.org/apt-team/apt/-/commit/dc7a8b3050a2a43f49515a03ae19713dfced75dc]
>>>> -Signed-off-by: Moritz Haase <Moritz.Haase@bmw.de>
>>>> ----
>>>> - CMakeLists.txt | 2 +-
>>>> - 1 file changed, 1 insertion(+), 1 deletion(-)
>>>> -
>>>> -diff --git a/CMakeLists.txt b/CMakeLists.txt
>>>> -index 62182cddf..dae12e7c3 100644
>>>> ---- a/CMakeLists.txt
>>>> -+++ b/CMakeLists.txt
>>>> -@@ -2,8 +2,8 @@
>>>> - # Licensed under the same terms as APT; i.e. GPL 2 or later.
>>>> -
>>>> - # set minimum version
>>>> -+cmake_minimum_required(VERSION 3.13)
>>>> - project(apt)
>>>> --cmake_minimum_required(VERSION 3.4.0)
>>>> - # Generic header locations
>>>> - include_directories(${PROJECT_BINARY_DIR}/include)
>>>> -
>>>> ---
>>>> -GitLab
>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch b/meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch
>>>> deleted file mode 100644
>>>> index 15b036b90d..0000000000
>>>> --- a/meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch
>>>> +++ /dev/null
>>>> @@ -1,87 +0,0 @@
>>>> -From e91fb0618ce0a5d42f239d0fca602544858f0819 Mon Sep 17 00:00:00 2001
>>>> -From: Khem Raj <raj.khem@gmail.com>
>>>> -Date: Tue, 16 Aug 2022 08:44:18 -0700
>>>> -Subject: [PATCH] Remove using std::binary_function
>>>> -
>>>> -std::binary_function and std::unary_function are deprecated since c++11
>>>> -and removed in c++17, therefore remove it and use lambda functions to get same
>>>> -functionality implemented.
>>>> -
>>>> -Upstream-Status: Submitted [https://salsa.debian.org/apt-team/apt/-/merge_requests/253]
>>>> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
>>>> ----
>>>> - ftparchive/apt-ftparchive.cc | 33 ++++++++++-----------------------
>>>> - 1 file changed, 10 insertions(+), 23 deletions(-)
>>>> -
>>>> -diff --git a/ftparchive/apt-ftparchive.cc b/ftparchive/apt-ftparchive.cc
>>>> -index 0f6587281..0a253b12b 100644
>>>> ---- a/ftparchive/apt-ftparchive.cc
>>>> -+++ b/ftparchive/apt-ftparchive.cc
>>>> -@@ -48,6 +48,11 @@
>>>> - using namespace std;
>>>> - unsigned Quiet = 0;
>>>> -
>>>> -+auto ContentsCompare = [](const auto &a, const auto &b) { return a.ContentsMTime < b.ContentsMTime; };
>>>> -+auto DBCompare = [](const auto &a, const auto &b) { return a.BinCacheDB < b.BinCacheDB; };
>>>> -+auto SrcDBCompare = [](const auto &a, const auto &b) { return a.SrcCacheDB < b.SrcCacheDB; };
>>>> -+
>>>> -+
>>>> - static struct timeval GetTimevalFromSteadyClock()                     /*{{{*/
>>>> - {
>>>> -    auto const Time = std::chrono::steady_clock::now().time_since_epoch();
>>>> -@@ -116,24 +121,6 @@ struct PackageMap
>>>> -    bool SrcDone;
>>>> -    time_t ContentsMTime;
>>>> -
>>>> --   struct ContentsCompare
>>>> --   {
>>>> --      inline bool operator() (const PackageMap &x,const PackageMap &y)
>>>> --      {return x.ContentsMTime < y.ContentsMTime;};
>>>> --   };
>>>> --
>>>> --   struct DBCompare
>>>> --   {
>>>> --      inline bool operator() (const PackageMap &x,const PackageMap &y)
>>>> --      {return x.BinCacheDB < y.BinCacheDB;};
>>>> --   };
>>>> --
>>>> --   struct SrcDBCompare
>>>> --   {
>>>> --      inline bool operator() (const PackageMap &x,const PackageMap &y)
>>>> --      {return x.SrcCacheDB < y.SrcCacheDB;};
>>>> --   };
>>>> --
>>>> -    void GetGeneral(Configuration &Setup,Configuration &Block);
>>>> -    bool GenPackages(Configuration &Setup,struct CacheDB::Stats &Stats);
>>>> -    bool GenSources(Configuration &Setup,struct CacheDB::Stats &Stats);
>>>> -@@ -869,7 +856,7 @@ static bool DoGenerateContents(Configuration &Setup,
>>>> -       else
>>>> -        I->ContentsMTime = A.st_mtime;
>>>> -    }
>>>> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::ContentsCompare());
>>>> -+   stable_sort(PkgList.begin(),PkgList.end(),ContentsCompare);
>>>> -
>>>> -    /* Now for Contents.. The process here is to do a make-like dependency
>>>> -       check. Each contents file is verified to be newer than the package files
>>>> -@@ -941,8 +928,8 @@ static bool Generate(CommandLine &CmdL)
>>>> -    LoadBinDir(PkgList,Setup);
>>>> -
>>>> -    // Sort by cache DB to improve IO locality.
>>>> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::DBCompare());
>>>> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::SrcDBCompare());
>>>> -+   stable_sort(PkgList.begin(),PkgList.end(),DBCompare);
>>>> -+   stable_sort(PkgList.begin(),PkgList.end(),SrcDBCompare);
>>>> -
>>>> -    // Generate packages
>>>> -    if (_config->FindB("APT::FTPArchive::ContentsOnly", false) == false)
>>>> -@@ -993,8 +980,8 @@ static bool Clean(CommandLine &CmdL)
>>>> -    LoadBinDir(PkgList,Setup);
>>>> -
>>>> -    // Sort by cache DB to improve IO locality.
>>>> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::DBCompare());
>>>> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::SrcDBCompare());
>>>> -+   stable_sort(PkgList.begin(),PkgList.end(),DBCompare);
>>>> -+   stable_sort(PkgList.begin(),PkgList.end(),SrcDBCompare);
>>>> -
>>>> -    string CacheDir = Setup.FindDir("Dir::CacheDir");
>>>> -
>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch b/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
>>>> index 6f4d5b6e72..43ab6a4cd8 100644
>>>> --- a/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
>>>> +++ b/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
>>>> @@ -23,7 +23,7 @@ diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
>>>>  index 93effa959..4375781d1 100644
>>>>  --- a/apt-pkg/deb/dpkgpm.cc
>>>>  +++ b/apt-pkg/deb/dpkgpm.cc
>>>> -@@ -1199,12 +1199,6 @@ void pkgDPkgPM::BuildPackagesProgressMap()
>>>> +@@ -1210,12 +1210,6 @@ void pkgDPkgPM::BuildPackagesProgressMap()
>>>>          }
>>>>         }
>>>>      }
>>>> @@ -36,7 +36,7 @@ index 93effa959..4375781d1 100644
>>>>   }
>>>>                                                                           /*}}}*/
>>>>   void pkgDPkgPM::StartPtyMagic()                                               /*{{{*/
>>>> -@@ -1741,7 +1735,8 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress)
>>>> +@@ -1752,7 +1746,8 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress)
>>>>
>>>>         // support subpressing of triggers processing for special
>>>>         // cases like d-i that runs the triggers handling manually
>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch b/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch
>>>> deleted file mode 100644
>>>> index 2c1e617e55..0000000000
>>>> --- a/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch
>>>> +++ /dev/null
>>>> @@ -1,30 +0,0 @@
>>>> -From 5985f366750a73c81c7d86893a2b959b4af062a5 Mon Sep 17 00:00:00 2001
>>>> -From: Khem Raj <raj.khem@gmail.com>
>>>> -Date: Wed, 26 May 2021 22:12:46 -0700
>>>> -Subject: [PATCH] aptwebserver.cc: Include <array>
>>>> -
>>>> -This helps getting std::array definition
>>>> -
>>>> -Fixes
>>>> -test/interactive-helper/aptwebserver.cc:36:55: error: constexpr variable cannot have non-literal type 'const std::array<std::array<const char *, 2>, 6>'
>>>> -   constexpr std::array<std::array<char const *,2>,6> htmlencode = {{
>>>> -
>>>> -Upstream-Status: Submitted [https://github.com/Debian/apt/pull/133]
>>>> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
>>>> -
>>>> ----
>>>> - test/interactive-helper/aptwebserver.cc | 1 +
>>>> - 1 file changed, 1 insertion(+)
>>>> -
>>>> -diff --git a/test/interactive-helper/aptwebserver.cc b/test/interactive-helper/aptwebserver.cc
>>>> -index f4f8d95..361c7a9 100644
>>>> ---- a/test/interactive-helper/aptwebserver.cc
>>>> -+++ b/test/interactive-helper/aptwebserver.cc
>>>> -@@ -23,6 +23,7 @@
>>>> -
>>>> - #include <array>
>>>> - #include <algorithm>
>>>> -+#include <array>
>>>> - #include <fstream>
>>>> - #include <iostream>
>>>> - #include <list>
>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch b/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch
>>>> index 036ce35963..08815a3ec4 100644
>>>> --- a/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch
>>>> +++ b/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch
>>>> @@ -11,14 +11,14 @@ Fixes
>>>>  Upstream-Status: Inappropriate [Cross-compile specific]
>>>>  Signed-off-by: Khem Raj <raj.khem@gmail.com>
>>>>  ---
>>>> - CMakeLists.txt | 7 -------
>>>> - 1 file changed, 7 deletions(-)
>>>> + CMakeLists.txt | 9 ---------
>>>> + 1 file changed, 9 deletions(-)
>>>>
>>>>  diff --git a/CMakeLists.txt b/CMakeLists.txt
>>>>  index be157a55f..54163ae6c 100644
>>>>  --- a/CMakeLists.txt
>>>>  +++ b/CMakeLists.txt
>>>> -@@ -252,15 +252,6 @@ add_subdirectory(ftparchive)
>>>> +@@ -257,15 +257,6 @@ add_subdirectory(ftparchive)
>>>>   add_subdirectory(methods)
>>>>   add_subdirectory(test)
>>>>
>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-fix-compilation-with-musl.patch b/meta/recipes-devtools/apt/apt/0001-fix-compilation-with-musl.patch
>>>> new file mode 100644
>>>> index 0000000000..d3c5fe658e
>>>> --- /dev/null
>>>> +++ b/meta/recipes-devtools/apt/apt/0001-fix-compilation-with-musl.patch
>>>> @@ -0,0 +1,49 @@
>>>> +From a6b024ceb71c43977838d625f5ac64b7e4815a56 Mon Sep 17 00:00:00 2001
>>>> +From: Gyorgy Sarvari <skandigraun@gmail.com>
>>>> +Date: Thu, 28 Aug 2025 08:11:58 +0200
>>>> +Subject: [PATCH] fix compilation with musl
>>>> +
>>>> +The basename() function requires the libgen.h header when
>>>> +compiling with musl-libc, otherwise it complains:
>>>> +
>>>> +error: 'basename' was not declared in this scope; did you mean 'rename'?
>>>> +
>>>> +Also, musl's basename requires char* instead of const char* argument:
>>>> +
>>>> +error: invalid conversion from 'const char*' to 'char*' [-fpermissive]
>>>> +
>>>> +The musl implementation of basename modifies the argument only in case
>>>> +it is a folder path (it cuts off the trailing slashes). In our case,
>>>> +when argv[0] is passed, it is always a filename without a trailing
>>>> +slash, so just cast the argument.
>>>> +
>>>> +Upstream-Status: Submitted [https://salsa.debian.org/apt-team/apt/-/merge_requests/508]
>>>> +Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
>>>> +---
>>>> + cmdline/apt-internal-solver.cc | 3 ++-
>>>> + 1 file changed, 2 insertions(+), 1 deletion(-)
>>>> +
>>>> +diff --git a/cmdline/apt-internal-solver.cc b/cmdline/apt-internal-solver.cc
>>>> +index ceedd96c7..74ed38c50 100644
>>>> +--- a/cmdline/apt-internal-solver.cc
>>>> ++++ b/cmdline/apt-internal-solver.cc
>>>> +@@ -35,6 +35,7 @@
>>>> + #include <list>
>>>> + #include <sstream>
>>>> + #include <string>
>>>> ++#include <libgen.h>
>>>> + #include <unistd.h>
>>>> +
>>>> + #include <apti18n.h>
>>>> +@@ -119,7 +120,7 @@ int main(int argc,const char *argv[])                                      /*{{{*/
>>>> +               _config->Set("Debug::EDSP::WriteSolution", true);
>>>> +
>>>> +       _config->Set("APT::System", "Debian APT solver interface");
>>>> +-      if (strcmp(basename(argv[0]), "solver3") == 0)
>>>> ++      if (strcmp(basename((char*)argv[0]), "solver3") == 0)
>>>> +          _config->Set("APT::Solver", "3.0");
>>>> +       else if (_config->Find("APT::Solver") != "3.0")
>>>> +          _config->Set("APT::Solver", "internal");
>>>> +--
>>>> +2.39.5
>>>> +
>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-strutl-Add-missing-include-cstdint-gcc-15.patch b/meta/recipes-devtools/apt/apt/0001-strutl-Add-missing-include-cstdint-gcc-15.patch
>>>> deleted file mode 100644
>>>> index b86ed8bb92..0000000000
>>>> --- a/meta/recipes-devtools/apt/apt/0001-strutl-Add-missing-include-cstdint-gcc-15.patch
>>>> +++ /dev/null
>>>> @@ -1,26 +0,0 @@
>>>> -From 9da1b0dbdcc90455bc9de49f73a96e7d18f83493 Mon Sep 17 00:00:00 2001
>>>> -From: Julian Andres Klode <julian.klode@canonical.com>
>>>> -Date: Tue, 18 Feb 2025 10:29:40 +0100
>>>> -Subject: [PATCH] strutl: Add missing #include <cstdint> [gcc 15]
>>>> -
>>>> -Closes: #1096322
>>>> -
>>>> -Upstream-Status: Backport [https://salsa.debian.org/apt-team/apt/-/commit/f82dcd7e4ebb3f70d28e9feb3621676f8c0cc024]
>>>> -
>>>> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
>>>> ----
>>>> - apt-pkg/contrib/strutl.cc | 1 +
>>>> - 1 file changed, 1 insertion(+)
>>>> -
>>>> -diff --git a/apt-pkg/contrib/strutl.cc b/apt-pkg/contrib/strutl.cc
>>>> -index 67100f1..c0a1cbc 100644
>>>> ---- a/apt-pkg/contrib/strutl.cc
>>>> -+++ b/apt-pkg/contrib/strutl.cc
>>>> -@@ -26,6 +26,7 @@
>>>> -
>>>> - #include <algorithm>
>>>> - #include <array>
>>>> -+#include <cstdint>
>>>> - #include <iomanip>
>>>> - #include <limits>
>>>> - #include <locale>
>>>> diff --git a/meta/recipes-devtools/apt/apt_2.6.1.bb b/meta/recipes-devtools/apt/apt_3.0.3.bb
>>>> similarity index 88%
>>>> rename from meta/recipes-devtools/apt/apt_2.6.1.bb
>>>> rename to meta/recipes-devtools/apt/apt_3.0.3.bb
>>>> index b039599395..03a6869393 100644
>>>> --- a/meta/recipes-devtools/apt/apt_2.6.1.bb
>>>> +++ b/meta/recipes-devtools/apt/apt_3.0.3.bb
>>>> @@ -8,14 +8,9 @@ SECTION = "base"
>>>>  SRC_URI = "${DEBIAN_MIRROR}/main/a/apt/${BPN}_${PV}.tar.xz \
>>>>             file://triehash \
>>>>             file://0001-Disable-documentation-directory-altogether.patch \
>>>> -           file://0001-Fix-musl-build.patch \
>>>>             file://0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch \
>>>>             file://0001-cmake-Do-not-build-po-files.patch \
>>>> -           file://0001-aptwebserver.cc-Include-array.patch \
>>>> -           file://0001-Remove-using-std-binary_function.patch \
>>>> -           file://0001-strutl-Add-missing-include-cstdint-gcc-15.patch \
>>>> -           file://0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch \
>>>> -           file://0001-Fix-compilation-error-with-clang-libc-18.patch \
>>>> +           file://0001-fix-compilation-with-musl.patch \
>>>>             "
>>>>
>>>>  SRC_URI:append:class-native = " \
>>>> @@ -28,7 +23,7 @@ SRC_URI:append:class-nativesdk = " \
>>>>             file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \
>>>>             "
>>>>
>>>> -SRC_URI[sha256sum] = "86b888c901fa2e78f1bf52a2aaa2f400ff82a472b94ff0ac6631939ee68fa6fd"
>>>> +SRC_URI[sha256sum] = "5b5f6f6d26121742a83aa80d4ed0eb0c6ce9bea259518db412edefd95760e4ef"
>>>>  LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263"
>>>>
>>>>  # the package is taken from snapshots.debian.org; that source is static and goes stale
>>>> @@ -47,7 +42,7 @@ USERADD_PARAM:${PN} = "--system --home /nonexistent --no-create-home _apt"
>>>>
>>>>  BBCLASSEXTEND = "native nativesdk"
>>>>
>>>> -DEPENDS += "db gnutls lz4 zlib bzip2 xz libgcrypt xxhash"
>>>> +DEPENDS += "db lz4 zlib bzip2 xz xxhash openssl"
>>>>
>>>>  EXTRA_OECMAKE:append = " -DCURRENT_VENDOR=debian -DWITH_DOC=False \
>>>>      -DDPKG_DATADIR=${datadir}/dpkg \
>>>> @@ -55,8 +50,14 @@ EXTRA_OECMAKE:append = " -DCURRENT_VENDOR=debian -DWITH_DOC=False \
>>>>      -DCMAKE_DISABLE_FIND_PACKAGE_ZSTD=True \
>>>>      -DCMAKE_DISABLE_FIND_PACKAGE_SECCOMP=True \
>>>>      -DWITH_TESTS=False \
>>>> +    -DCOMMON_ARCH=${DPKG_ARCH} \
>>>>  "
>>>>
>>>> +PACKAGECONFIG ??= ""
>>>> +# usrmerge displays a runtime warning during package installation in case
>>>> +# the system doesn't have merged /usr folders.
>>>> +PACKAGECONFIG[usrmerge] = "-DREQUIRE_MERGED_USR=ON,-DREQUIRE_MERGED_USR=OFF"
>>>> +
>>>>  do_configure:prepend() {
>>>>         echo "set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH )" >>  ${WORKDIR}/toolchain.cmake
>>>>  }
>>>>
>>>> -=-=-=-=-=-=-=-=-=-=-=-
>>>> Links: You receive all messages sent to this group.
>>>> View/Reply Online (#222880): https://lists.openembedded.org/g/openembedded-core/message/222880
>>>> Mute This Topic: https://lists.openembedded.org/mt/115050106/1997914
>>>> Group Owner: openembedded-core+owner@lists.openembedded.org
>>>> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
>>>> -=-=-=-=-=-=-=-=-=-=-=-
>>>>
Gyorgy Sarvari Sept. 11, 2025, 6:10 p.m. UTC | #5
On 9/11/25 18:22, Gyorgy Sarvari wrote:
> On 9/11/25 17:55, Khem Raj wrote:
>> On Tue, Sep 9, 2025 at 8:17 AM Gyorgy Sarvari <skandigraun@gmail.com> wrote:
>>> On 9/9/25 17:14, Khem Raj wrote:
>>>> Gyorgy
>>>>
>>>> there is a build failure with clang and libc++
>>>> https://errors.yoctoproject.org/Errors/Details/882066/
>>> Hmmm... thanks for the heads up, going to take a look at it.
>>>
>> Once I see the libc++ issue fixed it reveals the next problem python3-apt needs
>> to be looked into as well see, its not particular to clang or libc++
>>
>> https://errors.yoctoproject.org/Errors/Details/882544/
> Updating python3-apt to 3.0.0 seems to compile at least. Let me see if
> it can be imported at least... if yes, will send an update.

Sent a patch to oe-dev list. I was able compile and use it in qemu with
both clang/libc++ and gnu suites.

Could you pls give it a go also?

>>>> Thanks
>>>> -Khem
>>>>
>>>> On Wed, Sep 3, 2025 at 11:03 AM Gyorgy Sarvari via
>>>> lists.openembedded.org <skandigraun=gmail.com@lists.openembedded.org>
>>>> wrote:
>>>>> Changelog:
>>>>> https://metadata.ftp-master.debian.org/changelogs/main/a/apt/apt_3.0.3_changelog
>>>>>
>>>>> Dropped patches which are included in this release, or became obsolete:
>>>>> 0001-Fix-compilation-error-with-clang-libc-18.patch - included in this release
>>>>> 0001-Fix-musl-build.patch - included in this release
>>>>> 0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch - included in this release
>>>>> 0001-Remove-using-std-binary_function.patch - became obsolete, fixed upstream
>>>>> 0001-aptwebserver.cc-Include-array.patch - became obsolete, fixed upstream
>>>>> 0001-strutl-Add-missing-include-cstdint-gcc-15.patch - included in this release
>>>>>
>>>>> Added a new patch to avoid compilation error with musl:
>>>>> error: 'basename' was not declared in this scope; did you mean 'rename'?
>>>>>
>>>>> Adapted DEPENDS list - gnutls and gcrypt dependencies were dropped in favor of openssl
>>>>> in version 2.9.19.
>>>>>
>>>>> Added a new PACKAGECONFIG, 'usrmerge', which displays a gentle warning if the system
>>>>> isn't a usrmerge system during package installation.
>>>>>
>>>>> Added new COMMON_ARCH CMake argument - if it is not defined, CMake is trying to
>>>>> determine the value of this variable by running dpkg, which is usually a futile
>>>>> endeavour. It is used in config creation, and to print some system info.
>>>>>
>>>>> Also adapt a self test: the apt-key command has been deprecated since a while,
>>>>> and in this release it was completely removed. Instead sources.list file
>>>>> contains the signature data, on a per-repository basis.
>>>>>
>>>>> Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
>>>>> ---
>>>>> v6: remove unnecessary quote escaping from self-test
>>>>> v5: copy the keyring with the correct extension (.asc) in self test
>>>>> v4: remove a debug "cat" from the test
>>>>> v3: adapt self-test. apt-key has been removed from this version, so make the test
>>>>>     use an alternative method to indicate the signature location
>>>>> v2: changed the status 0001-fix-compilation-with-musl.patch from Pending to Submitted
>>>>>
>>>>>  meta/lib/oeqa/runtime/cases/apt.py            |  9 +-
>>>>>  ...void-changing-install-paths-based-on.patch |  2 +-
>>>>>  ...e-documentation-directory-altogether.patch |  2 +-
>>>>>  ...-init-tables-from-dpkg-configuration.patch |  2 +-
>>>>>  ...compilation-error-with-clang-libc-18.patch | 29 -------
>>>>>  .../apt/apt/0001-Fix-musl-build.patch         | 28 ------
>>>>>  ...mum_required-to-3.13-to-avoid-warnin.patch | 47 ----------
>>>>>  ...001-Remove-using-std-binary_function.patch | 87 -------------------
>>>>>  ...n-dpkg-configure-a-at-the-end-of-our.patch |  4 +-
>>>>>  .../0001-aptwebserver.cc-Include-array.patch  | 30 -------
>>>>>  .../0001-cmake-Do-not-build-po-files.patch    |  6 +-
>>>>>  .../apt/0001-fix-compilation-with-musl.patch  | 49 +++++++++++
>>>>>  ...l-Add-missing-include-cstdint-gcc-15.patch | 26 ------
>>>>>  .../apt/{apt_2.6.1.bb => apt_3.0.3.bb}        | 17 ++--
>>>>>  14 files changed, 74 insertions(+), 264 deletions(-)
>>>>>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-Fix-compilation-error-with-clang-libc-18.patch
>>>>>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch
>>>>>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch
>>>>>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch
>>>>>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch
>>>>>  create mode 100644 meta/recipes-devtools/apt/apt/0001-fix-compilation-with-musl.patch
>>>>>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-strutl-Add-missing-include-cstdint-gcc-15.patch
>>>>>  rename meta/recipes-devtools/apt/{apt_2.6.1.bb => apt_3.0.3.bb} (88%)
>>>>>
>>>>> diff --git a/meta/lib/oeqa/runtime/cases/apt.py b/meta/lib/oeqa/runtime/cases/apt.py
>>>>> index 8000645843..c6b62987f1 100644
>>>>> --- a/meta/lib/oeqa/runtime/cases/apt.py
>>>>> +++ b/meta/lib/oeqa/runtime/cases/apt.py
>>>>> @@ -54,7 +54,14 @@ class AptRepoTest(AptTest):
>>>>>      def setup_key(self):
>>>>>          # the key is found on the target /etc/pki/packagefeed-gpg/
>>>>>          # named PACKAGEFEED-GPG-KEY-poky-branch
>>>>> -        self.target.run('cd %s; apt-key add P*' % ('/etc/pki/packagefeed-gpg'))
>>>>> +        # copy it to /etc/apt/keyrings/PACKAGEFEED-GPG-KEY-poky-branch.asc, and
>>>>> +        # set it as the signing key for the repos
>>>>> +        cmd =  "KEY_FILE_PATH=`realpath /etc/pki/packagefeed-gpg/P*`; "
>>>>> +        cmd += "KEY_FILE_NAME=`basename $KEY_FILE_PATH`; "
>>>>> +        cmd += "mkdir -p /etc/apt/keyrings; "
>>>>> +        cmd += "cp $KEY_FILE_PATH /etc/apt/keyrings/${KEY_FILE_NAME}.asc; "
>>>>> +        cmd += 'sed -i "s|^deb |deb \[signed-by=/etc/apt/keyrings/${KEY_FILE_NAME}.asc\] |g" /etc/apt/sources.list'
>>>>> +        self.target.run(cmd)
>>>>>
>>>>>      @skipIfNotFeature('package-management',
>>>>>                        'Test requires package-management to be in IMAGE_FEATURES')
>>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch b/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch
>>>>> index 199f11bf20..d37aa811cd 100644
>>>>> --- a/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch
>>>>> +++ b/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch
>>>>> @@ -14,7 +14,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
>>>>>  index 2cd4f8e..4759812 100644
>>>>>  --- a/CMakeLists.txt
>>>>>  +++ b/CMakeLists.txt
>>>>> -@@ -21,9 +21,9 @@ set(CMAKE_EXE_LINKER_FLAGS_COVERAGE "-lgcov")
>>>>> +@@ -28,9 +28,9 @@ set(CMAKE_EXE_LINKER_FLAGS_COVERAGE "-lgcov")
>>>>>   set(CMAKE_SHARED_LINKER_FLAGS_COVERAGE "-lgcov")
>>>>>
>>>>>   # Work around bug in GNUInstallDirs
>>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch b/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch
>>>>> index 5443ff6caa..4bc6dce760 100644
>>>>> --- a/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch
>>>>> +++ b/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch
>>>>> @@ -16,7 +16,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
>>>>>  index 668e2d762..62f441bfa 100644
>>>>>  --- a/CMakeLists.txt
>>>>>  +++ b/CMakeLists.txt
>>>>> -@@ -246,7 +246,7 @@ add_subdirectory(apt-private)
>>>>> +@@ -251,7 +251,7 @@ add_subdirectory(apt-private)
>>>>>   endif()
>>>>>   add_subdirectory(cmdline)
>>>>>   add_subdirectory(completions)
>>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch b/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
>>>>> index 37a3133010..d21f5a49c5 100644
>>>>> --- a/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
>>>>> +++ b/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
>>>>> @@ -16,7 +16,7 @@ diff --git a/apt-pkg/init.cc b/apt-pkg/init.cc
>>>>>  index b9d9b15d2..1725c5966 100644
>>>>>  --- a/apt-pkg/init.cc
>>>>>  +++ b/apt-pkg/init.cc
>>>>> -@@ -281,8 +281,8 @@ bool pkgInitSystem(Configuration &Cnf,pkgSystem *&Sys)
>>>>> +@@ -295,8 +295,8 @@ bool pkgInitSystem(Configuration &Cnf,pkgSystem *&Sys)
>>>>>          return _error->Error(_("Unable to determine a suitable packaging system type"));
>>>>>      }
>>>>>
>>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-Fix-compilation-error-with-clang-libc-18.patch b/meta/recipes-devtools/apt/apt/0001-Fix-compilation-error-with-clang-libc-18.patch
>>>>> deleted file mode 100644
>>>>> index e55205ca3f..0000000000
>>>>> --- a/meta/recipes-devtools/apt/apt/0001-Fix-compilation-error-with-clang-libc-18.patch
>>>>> +++ /dev/null
>>>>> @@ -1,29 +0,0 @@
>>>>> -From b4488583424b33f51cb031562a9e8df820ffda23 Mon Sep 17 00:00:00 2001
>>>>> -From: Chongyun Lee <licy183@termux.dev>
>>>>> -Date: Thu, 15 Aug 2024 21:31:24 +0800
>>>>> -Subject: [PATCH] Fix compilation error with clang/libc++ 18
>>>>> -
>>>>> -Upstream-Status: Backport [https://salsa.debian.org/apt-team/apt/-/commit/b4488583424b33f51cb031562a9e8df820ffda23]
>>>>> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
>>>>> ----
>>>>> - apt-pkg/cacheset.h | 4 ++--
>>>>> - 1 file changed, 2 insertions(+), 2 deletions(-)
>>>>> -
>>>>> -diff --git a/apt-pkg/cacheset.h b/apt-pkg/cacheset.h
>>>>> -index 5dbb9bf08..1c67a65d6 100644
>>>>> ---- a/apt-pkg/cacheset.h
>>>>> -+++ b/apt-pkg/cacheset.h
>>>>> -@@ -218,11 +218,11 @@ public:
>>>>> -       operator container_iterator(void) const { return _iter; }
>>>>> -       inline iterator_type& operator++() { ++_iter; return static_cast<iterator_type&>(*this); }
>>>>> -       inline iterator_type operator++(int) { iterator_type tmp(*this); operator++(); return tmp; }
>>>>> --      inline iterator_type operator+(typename container_iterator::difference_type const &n) { return iterator_type(_iter + n); }
>>>>> -+      inline iterator_type operator+(typename container_iterator::difference_type const &n) const { return iterator_type(_iter + n); }
>>>>> -       inline iterator_type operator+=(typename container_iterator::difference_type const &n) { _iter += n; return static_cast<iterator_type&>(*this); }
>>>>> -       inline iterator_type& operator--() { --_iter;; return static_cast<iterator_type&>(*this); }
>>>>> -       inline iterator_type operator--(int) { iterator_type tmp(*this); operator--(); return tmp; }
>>>>> --      inline iterator_type operator-(typename container_iterator::difference_type const &n) { return iterator_type(_iter - n); }
>>>>> -+      inline iterator_type operator-(typename container_iterator::difference_type const &n) const { return iterator_type(_iter - n); }
>>>>> -       inline typename container_iterator::difference_type operator-(iterator_type const &b) { return (_iter - b._iter); }
>>>>> -       inline iterator_type operator-=(typename container_iterator::difference_type const &n) { _iter -= n; return static_cast<iterator_type&>(*this); }
>>>>> -       inline bool operator!=(iterator_type const &i) const { return _iter != i._iter; }
>>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch b/meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch
>>>>> deleted file mode 100644
>>>>> index 0cefbedd6d..0000000000
>>>>> --- a/meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch
>>>>> +++ /dev/null
>>>>> @@ -1,28 +0,0 @@
>>>>> -From 6b8547161b902b01b639d05a4cdf849d7694556f Mon Sep 17 00:00:00 2001
>>>>> -From: Alexander Kanavin <alex.kanavin@gmail.com>
>>>>> -Date: Fri, 22 May 2020 15:29:23 +0000
>>>>> -Subject: [PATCH] apt-pkg/contrib/srvrec.h: Explicitly include sys/types.h
>>>>> -
>>>>> -This avoids type errors with musl C library.
>>>>> -
>>>>> -Upstream-Status: Submitted [https://salsa.debian.org/apt-team/apt/-/merge_requests/200]
>>>>> -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
>>>>> ----
>>>>> - apt-pkg/contrib/srvrec.h | 1 +
>>>>> - 1 file changed, 1 insertion(+)
>>>>> -
>>>>> -diff --git a/apt-pkg/contrib/srvrec.h b/apt-pkg/contrib/srvrec.h
>>>>> -index e5d0f43..2010184 100644
>>>>> ---- a/apt-pkg/contrib/srvrec.h
>>>>> -+++ b/apt-pkg/contrib/srvrec.h
>>>>> -@@ -9,6 +9,7 @@
>>>>> - #ifndef SRVREC_H
>>>>> - #define SRVREC_H
>>>>> -
>>>>> -+#include <sys/types.h>
>>>>> - #include <string>
>>>>> - #include <vector>
>>>>> - #include <arpa/nameser.h>
>>>>> ---
>>>>> -2.20.1
>>>>> -
>>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch b/meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch
>>>>> deleted file mode 100644
>>>>> index c3a5ded494..0000000000
>>>>> --- a/meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch
>>>>> +++ /dev/null
>>>>> @@ -1,47 +0,0 @@
>>>>> -From dc7a8b3050a2a43f49515a03ae19713dfced75dc Mon Sep 17 00:00:00 2001
>>>>> -From: David Kalnischkies <david@kalnischkies.de>
>>>>> -Date: Sat, 18 Nov 2023 13:10:05 +0000
>>>>> -Subject: [PATCH] Raise cmake_minimum_required to 3.13 to avoid warnings
>>>>> -
>>>>> -CMake Deprecation Warning at CMakeLists.txt:6 (cmake_minimum_required):
>>>>> -  Compatibility with CMake < 3.5 will be removed from a future version of
>>>>> -  CMake.
>>>>> -
>>>>> -  Update the VERSION argument <min> value or use a ...<max> suffix to tell
>>>>> -  CMake that the project does not need compatibility with older versions.
>>>>> -
>>>>> -Picking 3.13 here is a semi-random choice to avoid raising the requirement
>>>>> -too much needlessly while also hopefully avoiding needing to raise it
>>>>> -soon again based on the referenced mail.
>>>>> -
>>>>> -While we are at it, lets also fix the other spewed warning:
>>>>> -
>>>>> -CMake Warning (dev) at CMakeLists.txt:5 (project):
>>>>> -  cmake_minimum_required() should be called prior to this top-level project()
>>>>> -  call.  Please see the cmake-commands(7) manual for usage documentation of
>>>>> -  both commands.
>>>>> -
>>>>> -References: https://lists.debian.org/msgid-search/20230617162957.6pklb6632zf4nijc@mail.gaussglocke.de
>>>>> -
>>>>> -Upstream-Status: Backport [https://salsa.debian.org/apt-team/apt/-/commit/dc7a8b3050a2a43f49515a03ae19713dfced75dc]
>>>>> -Signed-off-by: Moritz Haase <Moritz.Haase@bmw.de>
>>>>> ----
>>>>> - CMakeLists.txt | 2 +-
>>>>> - 1 file changed, 1 insertion(+), 1 deletion(-)
>>>>> -
>>>>> -diff --git a/CMakeLists.txt b/CMakeLists.txt
>>>>> -index 62182cddf..dae12e7c3 100644
>>>>> ---- a/CMakeLists.txt
>>>>> -+++ b/CMakeLists.txt
>>>>> -@@ -2,8 +2,8 @@
>>>>> - # Licensed under the same terms as APT; i.e. GPL 2 or later.
>>>>> -
>>>>> - # set minimum version
>>>>> -+cmake_minimum_required(VERSION 3.13)
>>>>> - project(apt)
>>>>> --cmake_minimum_required(VERSION 3.4.0)
>>>>> - # Generic header locations
>>>>> - include_directories(${PROJECT_BINARY_DIR}/include)
>>>>> -
>>>>> ---
>>>>> -GitLab
>>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch b/meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch
>>>>> deleted file mode 100644
>>>>> index 15b036b90d..0000000000
>>>>> --- a/meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch
>>>>> +++ /dev/null
>>>>> @@ -1,87 +0,0 @@
>>>>> -From e91fb0618ce0a5d42f239d0fca602544858f0819 Mon Sep 17 00:00:00 2001
>>>>> -From: Khem Raj <raj.khem@gmail.com>
>>>>> -Date: Tue, 16 Aug 2022 08:44:18 -0700
>>>>> -Subject: [PATCH] Remove using std::binary_function
>>>>> -
>>>>> -std::binary_function and std::unary_function are deprecated since c++11
>>>>> -and removed in c++17, therefore remove it and use lambda functions to get same
>>>>> -functionality implemented.
>>>>> -
>>>>> -Upstream-Status: Submitted [https://salsa.debian.org/apt-team/apt/-/merge_requests/253]
>>>>> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
>>>>> ----
>>>>> - ftparchive/apt-ftparchive.cc | 33 ++++++++++-----------------------
>>>>> - 1 file changed, 10 insertions(+), 23 deletions(-)
>>>>> -
>>>>> -diff --git a/ftparchive/apt-ftparchive.cc b/ftparchive/apt-ftparchive.cc
>>>>> -index 0f6587281..0a253b12b 100644
>>>>> ---- a/ftparchive/apt-ftparchive.cc
>>>>> -+++ b/ftparchive/apt-ftparchive.cc
>>>>> -@@ -48,6 +48,11 @@
>>>>> - using namespace std;
>>>>> - unsigned Quiet = 0;
>>>>> -
>>>>> -+auto ContentsCompare = [](const auto &a, const auto &b) { return a.ContentsMTime < b.ContentsMTime; };
>>>>> -+auto DBCompare = [](const auto &a, const auto &b) { return a.BinCacheDB < b.BinCacheDB; };
>>>>> -+auto SrcDBCompare = [](const auto &a, const auto &b) { return a.SrcCacheDB < b.SrcCacheDB; };
>>>>> -+
>>>>> -+
>>>>> - static struct timeval GetTimevalFromSteadyClock()                     /*{{{*/
>>>>> - {
>>>>> -    auto const Time = std::chrono::steady_clock::now().time_since_epoch();
>>>>> -@@ -116,24 +121,6 @@ struct PackageMap
>>>>> -    bool SrcDone;
>>>>> -    time_t ContentsMTime;
>>>>> -
>>>>> --   struct ContentsCompare
>>>>> --   {
>>>>> --      inline bool operator() (const PackageMap &x,const PackageMap &y)
>>>>> --      {return x.ContentsMTime < y.ContentsMTime;};
>>>>> --   };
>>>>> --
>>>>> --   struct DBCompare
>>>>> --   {
>>>>> --      inline bool operator() (const PackageMap &x,const PackageMap &y)
>>>>> --      {return x.BinCacheDB < y.BinCacheDB;};
>>>>> --   };
>>>>> --
>>>>> --   struct SrcDBCompare
>>>>> --   {
>>>>> --      inline bool operator() (const PackageMap &x,const PackageMap &y)
>>>>> --      {return x.SrcCacheDB < y.SrcCacheDB;};
>>>>> --   };
>>>>> --
>>>>> -    void GetGeneral(Configuration &Setup,Configuration &Block);
>>>>> -    bool GenPackages(Configuration &Setup,struct CacheDB::Stats &Stats);
>>>>> -    bool GenSources(Configuration &Setup,struct CacheDB::Stats &Stats);
>>>>> -@@ -869,7 +856,7 @@ static bool DoGenerateContents(Configuration &Setup,
>>>>> -       else
>>>>> -        I->ContentsMTime = A.st_mtime;
>>>>> -    }
>>>>> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::ContentsCompare());
>>>>> -+   stable_sort(PkgList.begin(),PkgList.end(),ContentsCompare);
>>>>> -
>>>>> -    /* Now for Contents.. The process here is to do a make-like dependency
>>>>> -       check. Each contents file is verified to be newer than the package files
>>>>> -@@ -941,8 +928,8 @@ static bool Generate(CommandLine &CmdL)
>>>>> -    LoadBinDir(PkgList,Setup);
>>>>> -
>>>>> -    // Sort by cache DB to improve IO locality.
>>>>> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::DBCompare());
>>>>> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::SrcDBCompare());
>>>>> -+   stable_sort(PkgList.begin(),PkgList.end(),DBCompare);
>>>>> -+   stable_sort(PkgList.begin(),PkgList.end(),SrcDBCompare);
>>>>> -
>>>>> -    // Generate packages
>>>>> -    if (_config->FindB("APT::FTPArchive::ContentsOnly", false) == false)
>>>>> -@@ -993,8 +980,8 @@ static bool Clean(CommandLine &CmdL)
>>>>> -    LoadBinDir(PkgList,Setup);
>>>>> -
>>>>> -    // Sort by cache DB to improve IO locality.
>>>>> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::DBCompare());
>>>>> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::SrcDBCompare());
>>>>> -+   stable_sort(PkgList.begin(),PkgList.end(),DBCompare);
>>>>> -+   stable_sort(PkgList.begin(),PkgList.end(),SrcDBCompare);
>>>>> -
>>>>> -    string CacheDir = Setup.FindDir("Dir::CacheDir");
>>>>> -
>>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch b/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
>>>>> index 6f4d5b6e72..43ab6a4cd8 100644
>>>>> --- a/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
>>>>> +++ b/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
>>>>> @@ -23,7 +23,7 @@ diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
>>>>>  index 93effa959..4375781d1 100644
>>>>>  --- a/apt-pkg/deb/dpkgpm.cc
>>>>>  +++ b/apt-pkg/deb/dpkgpm.cc
>>>>> -@@ -1199,12 +1199,6 @@ void pkgDPkgPM::BuildPackagesProgressMap()
>>>>> +@@ -1210,12 +1210,6 @@ void pkgDPkgPM::BuildPackagesProgressMap()
>>>>>          }
>>>>>         }
>>>>>      }
>>>>> @@ -36,7 +36,7 @@ index 93effa959..4375781d1 100644
>>>>>   }
>>>>>                                                                           /*}}}*/
>>>>>   void pkgDPkgPM::StartPtyMagic()                                               /*{{{*/
>>>>> -@@ -1741,7 +1735,8 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress)
>>>>> +@@ -1752,7 +1746,8 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress)
>>>>>
>>>>>         // support subpressing of triggers processing for special
>>>>>         // cases like d-i that runs the triggers handling manually
>>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch b/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch
>>>>> deleted file mode 100644
>>>>> index 2c1e617e55..0000000000
>>>>> --- a/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch
>>>>> +++ /dev/null
>>>>> @@ -1,30 +0,0 @@
>>>>> -From 5985f366750a73c81c7d86893a2b959b4af062a5 Mon Sep 17 00:00:00 2001
>>>>> -From: Khem Raj <raj.khem@gmail.com>
>>>>> -Date: Wed, 26 May 2021 22:12:46 -0700
>>>>> -Subject: [PATCH] aptwebserver.cc: Include <array>
>>>>> -
>>>>> -This helps getting std::array definition
>>>>> -
>>>>> -Fixes
>>>>> -test/interactive-helper/aptwebserver.cc:36:55: error: constexpr variable cannot have non-literal type 'const std::array<std::array<const char *, 2>, 6>'
>>>>> -   constexpr std::array<std::array<char const *,2>,6> htmlencode = {{
>>>>> -
>>>>> -Upstream-Status: Submitted [https://github.com/Debian/apt/pull/133]
>>>>> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
>>>>> -
>>>>> ----
>>>>> - test/interactive-helper/aptwebserver.cc | 1 +
>>>>> - 1 file changed, 1 insertion(+)
>>>>> -
>>>>> -diff --git a/test/interactive-helper/aptwebserver.cc b/test/interactive-helper/aptwebserver.cc
>>>>> -index f4f8d95..361c7a9 100644
>>>>> ---- a/test/interactive-helper/aptwebserver.cc
>>>>> -+++ b/test/interactive-helper/aptwebserver.cc
>>>>> -@@ -23,6 +23,7 @@
>>>>> -
>>>>> - #include <array>
>>>>> - #include <algorithm>
>>>>> -+#include <array>
>>>>> - #include <fstream>
>>>>> - #include <iostream>
>>>>> - #include <list>
>>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch b/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch
>>>>> index 036ce35963..08815a3ec4 100644
>>>>> --- a/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch
>>>>> +++ b/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch
>>>>> @@ -11,14 +11,14 @@ Fixes
>>>>>  Upstream-Status: Inappropriate [Cross-compile specific]
>>>>>  Signed-off-by: Khem Raj <raj.khem@gmail.com>
>>>>>  ---
>>>>> - CMakeLists.txt | 7 -------
>>>>> - 1 file changed, 7 deletions(-)
>>>>> + CMakeLists.txt | 9 ---------
>>>>> + 1 file changed, 9 deletions(-)
>>>>>
>>>>>  diff --git a/CMakeLists.txt b/CMakeLists.txt
>>>>>  index be157a55f..54163ae6c 100644
>>>>>  --- a/CMakeLists.txt
>>>>>  +++ b/CMakeLists.txt
>>>>> -@@ -252,15 +252,6 @@ add_subdirectory(ftparchive)
>>>>> +@@ -257,15 +257,6 @@ add_subdirectory(ftparchive)
>>>>>   add_subdirectory(methods)
>>>>>   add_subdirectory(test)
>>>>>
>>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-fix-compilation-with-musl.patch b/meta/recipes-devtools/apt/apt/0001-fix-compilation-with-musl.patch
>>>>> new file mode 100644
>>>>> index 0000000000..d3c5fe658e
>>>>> --- /dev/null
>>>>> +++ b/meta/recipes-devtools/apt/apt/0001-fix-compilation-with-musl.patch
>>>>> @@ -0,0 +1,49 @@
>>>>> +From a6b024ceb71c43977838d625f5ac64b7e4815a56 Mon Sep 17 00:00:00 2001
>>>>> +From: Gyorgy Sarvari <skandigraun@gmail.com>
>>>>> +Date: Thu, 28 Aug 2025 08:11:58 +0200
>>>>> +Subject: [PATCH] fix compilation with musl
>>>>> +
>>>>> +The basename() function requires the libgen.h header when
>>>>> +compiling with musl-libc, otherwise it complains:
>>>>> +
>>>>> +error: 'basename' was not declared in this scope; did you mean 'rename'?
>>>>> +
>>>>> +Also, musl's basename requires char* instead of const char* argument:
>>>>> +
>>>>> +error: invalid conversion from 'const char*' to 'char*' [-fpermissive]
>>>>> +
>>>>> +The musl implementation of basename modifies the argument only in case
>>>>> +it is a folder path (it cuts off the trailing slashes). In our case,
>>>>> +when argv[0] is passed, it is always a filename without a trailing
>>>>> +slash, so just cast the argument.
>>>>> +
>>>>> +Upstream-Status: Submitted [https://salsa.debian.org/apt-team/apt/-/merge_requests/508]
>>>>> +Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
>>>>> +---
>>>>> + cmdline/apt-internal-solver.cc | 3 ++-
>>>>> + 1 file changed, 2 insertions(+), 1 deletion(-)
>>>>> +
>>>>> +diff --git a/cmdline/apt-internal-solver.cc b/cmdline/apt-internal-solver.cc
>>>>> +index ceedd96c7..74ed38c50 100644
>>>>> +--- a/cmdline/apt-internal-solver.cc
>>>>> ++++ b/cmdline/apt-internal-solver.cc
>>>>> +@@ -35,6 +35,7 @@
>>>>> + #include <list>
>>>>> + #include <sstream>
>>>>> + #include <string>
>>>>> ++#include <libgen.h>
>>>>> + #include <unistd.h>
>>>>> +
>>>>> + #include <apti18n.h>
>>>>> +@@ -119,7 +120,7 @@ int main(int argc,const char *argv[])                                      /*{{{*/
>>>>> +               _config->Set("Debug::EDSP::WriteSolution", true);
>>>>> +
>>>>> +       _config->Set("APT::System", "Debian APT solver interface");
>>>>> +-      if (strcmp(basename(argv[0]), "solver3") == 0)
>>>>> ++      if (strcmp(basename((char*)argv[0]), "solver3") == 0)
>>>>> +          _config->Set("APT::Solver", "3.0");
>>>>> +       else if (_config->Find("APT::Solver") != "3.0")
>>>>> +          _config->Set("APT::Solver", "internal");
>>>>> +--
>>>>> +2.39.5
>>>>> +
>>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-strutl-Add-missing-include-cstdint-gcc-15.patch b/meta/recipes-devtools/apt/apt/0001-strutl-Add-missing-include-cstdint-gcc-15.patch
>>>>> deleted file mode 100644
>>>>> index b86ed8bb92..0000000000
>>>>> --- a/meta/recipes-devtools/apt/apt/0001-strutl-Add-missing-include-cstdint-gcc-15.patch
>>>>> +++ /dev/null
>>>>> @@ -1,26 +0,0 @@
>>>>> -From 9da1b0dbdcc90455bc9de49f73a96e7d18f83493 Mon Sep 17 00:00:00 2001
>>>>> -From: Julian Andres Klode <julian.klode@canonical.com>
>>>>> -Date: Tue, 18 Feb 2025 10:29:40 +0100
>>>>> -Subject: [PATCH] strutl: Add missing #include <cstdint> [gcc 15]
>>>>> -
>>>>> -Closes: #1096322
>>>>> -
>>>>> -Upstream-Status: Backport [https://salsa.debian.org/apt-team/apt/-/commit/f82dcd7e4ebb3f70d28e9feb3621676f8c0cc024]
>>>>> -
>>>>> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
>>>>> ----
>>>>> - apt-pkg/contrib/strutl.cc | 1 +
>>>>> - 1 file changed, 1 insertion(+)
>>>>> -
>>>>> -diff --git a/apt-pkg/contrib/strutl.cc b/apt-pkg/contrib/strutl.cc
>>>>> -index 67100f1..c0a1cbc 100644
>>>>> ---- a/apt-pkg/contrib/strutl.cc
>>>>> -+++ b/apt-pkg/contrib/strutl.cc
>>>>> -@@ -26,6 +26,7 @@
>>>>> -
>>>>> - #include <algorithm>
>>>>> - #include <array>
>>>>> -+#include <cstdint>
>>>>> - #include <iomanip>
>>>>> - #include <limits>
>>>>> - #include <locale>
>>>>> diff --git a/meta/recipes-devtools/apt/apt_2.6.1.bb b/meta/recipes-devtools/apt/apt_3.0.3.bb
>>>>> similarity index 88%
>>>>> rename from meta/recipes-devtools/apt/apt_2.6.1.bb
>>>>> rename to meta/recipes-devtools/apt/apt_3.0.3.bb
>>>>> index b039599395..03a6869393 100644
>>>>> --- a/meta/recipes-devtools/apt/apt_2.6.1.bb
>>>>> +++ b/meta/recipes-devtools/apt/apt_3.0.3.bb
>>>>> @@ -8,14 +8,9 @@ SECTION = "base"
>>>>>  SRC_URI = "${DEBIAN_MIRROR}/main/a/apt/${BPN}_${PV}.tar.xz \
>>>>>             file://triehash \
>>>>>             file://0001-Disable-documentation-directory-altogether.patch \
>>>>> -           file://0001-Fix-musl-build.patch \
>>>>>             file://0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch \
>>>>>             file://0001-cmake-Do-not-build-po-files.patch \
>>>>> -           file://0001-aptwebserver.cc-Include-array.patch \
>>>>> -           file://0001-Remove-using-std-binary_function.patch \
>>>>> -           file://0001-strutl-Add-missing-include-cstdint-gcc-15.patch \
>>>>> -           file://0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch \
>>>>> -           file://0001-Fix-compilation-error-with-clang-libc-18.patch \
>>>>> +           file://0001-fix-compilation-with-musl.patch \
>>>>>             "
>>>>>
>>>>>  SRC_URI:append:class-native = " \
>>>>> @@ -28,7 +23,7 @@ SRC_URI:append:class-nativesdk = " \
>>>>>             file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \
>>>>>             "
>>>>>
>>>>> -SRC_URI[sha256sum] = "86b888c901fa2e78f1bf52a2aaa2f400ff82a472b94ff0ac6631939ee68fa6fd"
>>>>> +SRC_URI[sha256sum] = "5b5f6f6d26121742a83aa80d4ed0eb0c6ce9bea259518db412edefd95760e4ef"
>>>>>  LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263"
>>>>>
>>>>>  # the package is taken from snapshots.debian.org; that source is static and goes stale
>>>>> @@ -47,7 +42,7 @@ USERADD_PARAM:${PN} = "--system --home /nonexistent --no-create-home _apt"
>>>>>
>>>>>  BBCLASSEXTEND = "native nativesdk"
>>>>>
>>>>> -DEPENDS += "db gnutls lz4 zlib bzip2 xz libgcrypt xxhash"
>>>>> +DEPENDS += "db lz4 zlib bzip2 xz xxhash openssl"
>>>>>
>>>>>  EXTRA_OECMAKE:append = " -DCURRENT_VENDOR=debian -DWITH_DOC=False \
>>>>>      -DDPKG_DATADIR=${datadir}/dpkg \
>>>>> @@ -55,8 +50,14 @@ EXTRA_OECMAKE:append = " -DCURRENT_VENDOR=debian -DWITH_DOC=False \
>>>>>      -DCMAKE_DISABLE_FIND_PACKAGE_ZSTD=True \
>>>>>      -DCMAKE_DISABLE_FIND_PACKAGE_SECCOMP=True \
>>>>>      -DWITH_TESTS=False \
>>>>> +    -DCOMMON_ARCH=${DPKG_ARCH} \
>>>>>  "
>>>>>
>>>>> +PACKAGECONFIG ??= ""
>>>>> +# usrmerge displays a runtime warning during package installation in case
>>>>> +# the system doesn't have merged /usr folders.
>>>>> +PACKAGECONFIG[usrmerge] = "-DREQUIRE_MERGED_USR=ON,-DREQUIRE_MERGED_USR=OFF"
>>>>> +
>>>>>  do_configure:prepend() {
>>>>>         echo "set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH )" >>  ${WORKDIR}/toolchain.cmake
>>>>>  }
>>>>>
>>>>> -=-=-=-=-=-=-=-=-=-=-=-
>>>>> Links: You receive all messages sent to this group.
>>>>> View/Reply Online (#222880): https://lists.openembedded.org/g/openembedded-core/message/222880
>>>>> Mute This Topic: https://lists.openembedded.org/mt/115050106/1997914
>>>>> Group Owner: openembedded-core+owner@lists.openembedded.org
>>>>> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
>>>>> -=-=-=-=-=-=-=-=-=-=-=-
>>>>>
Khem Raj Sept. 11, 2025, 8:14 p.m. UTC | #6
Thanks, I'll check it out!

On Thu, Sep 11, 2025 at 11:10 AM Gyorgy Sarvari <skandigraun@gmail.com> wrote:
>
> On 9/11/25 18:22, Gyorgy Sarvari wrote:
> > On 9/11/25 17:55, Khem Raj wrote:
> >> On Tue, Sep 9, 2025 at 8:17 AM Gyorgy Sarvari <skandigraun@gmail.com> wrote:
> >>> On 9/9/25 17:14, Khem Raj wrote:
> >>>> Gyorgy
> >>>>
> >>>> there is a build failure with clang and libc++
> >>>> https://errors.yoctoproject.org/Errors/Details/882066/
> >>> Hmmm... thanks for the heads up, going to take a look at it.
> >>>
> >> Once I see the libc++ issue fixed it reveals the next problem python3-apt needs
> >> to be looked into as well see, its not particular to clang or libc++
> >>
> >> https://errors.yoctoproject.org/Errors/Details/882544/
> > Updating python3-apt to 3.0.0 seems to compile at least. Let me see if
> > it can be imported at least... if yes, will send an update.
>
> Sent a patch to oe-dev list. I was able compile and use it in qemu with
> both clang/libc++ and gnu suites.
>
> Could you pls give it a go also?
>
> >>>> Thanks
> >>>> -Khem
> >>>>
> >>>> On Wed, Sep 3, 2025 at 11:03 AM Gyorgy Sarvari via
> >>>> lists.openembedded.org <skandigraun=gmail.com@lists.openembedded.org>
> >>>> wrote:
> >>>>> Changelog:
> >>>>> https://metadata.ftp-master.debian.org/changelogs/main/a/apt/apt_3.0.3_changelog
> >>>>>
> >>>>> Dropped patches which are included in this release, or became obsolete:
> >>>>> 0001-Fix-compilation-error-with-clang-libc-18.patch - included in this release
> >>>>> 0001-Fix-musl-build.patch - included in this release
> >>>>> 0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch - included in this release
> >>>>> 0001-Remove-using-std-binary_function.patch - became obsolete, fixed upstream
> >>>>> 0001-aptwebserver.cc-Include-array.patch - became obsolete, fixed upstream
> >>>>> 0001-strutl-Add-missing-include-cstdint-gcc-15.patch - included in this release
> >>>>>
> >>>>> Added a new patch to avoid compilation error with musl:
> >>>>> error: 'basename' was not declared in this scope; did you mean 'rename'?
> >>>>>
> >>>>> Adapted DEPENDS list - gnutls and gcrypt dependencies were dropped in favor of openssl
> >>>>> in version 2.9.19.
> >>>>>
> >>>>> Added a new PACKAGECONFIG, 'usrmerge', which displays a gentle warning if the system
> >>>>> isn't a usrmerge system during package installation.
> >>>>>
> >>>>> Added new COMMON_ARCH CMake argument - if it is not defined, CMake is trying to
> >>>>> determine the value of this variable by running dpkg, which is usually a futile
> >>>>> endeavour. It is used in config creation, and to print some system info.
> >>>>>
> >>>>> Also adapt a self test: the apt-key command has been deprecated since a while,
> >>>>> and in this release it was completely removed. Instead sources.list file
> >>>>> contains the signature data, on a per-repository basis.
> >>>>>
> >>>>> Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
> >>>>> ---
> >>>>> v6: remove unnecessary quote escaping from self-test
> >>>>> v5: copy the keyring with the correct extension (.asc) in self test
> >>>>> v4: remove a debug "cat" from the test
> >>>>> v3: adapt self-test. apt-key has been removed from this version, so make the test
> >>>>>     use an alternative method to indicate the signature location
> >>>>> v2: changed the status 0001-fix-compilation-with-musl.patch from Pending to Submitted
> >>>>>
> >>>>>  meta/lib/oeqa/runtime/cases/apt.py            |  9 +-
> >>>>>  ...void-changing-install-paths-based-on.patch |  2 +-
> >>>>>  ...e-documentation-directory-altogether.patch |  2 +-
> >>>>>  ...-init-tables-from-dpkg-configuration.patch |  2 +-
> >>>>>  ...compilation-error-with-clang-libc-18.patch | 29 -------
> >>>>>  .../apt/apt/0001-Fix-musl-build.patch         | 28 ------
> >>>>>  ...mum_required-to-3.13-to-avoid-warnin.patch | 47 ----------
> >>>>>  ...001-Remove-using-std-binary_function.patch | 87 -------------------
> >>>>>  ...n-dpkg-configure-a-at-the-end-of-our.patch |  4 +-
> >>>>>  .../0001-aptwebserver.cc-Include-array.patch  | 30 -------
> >>>>>  .../0001-cmake-Do-not-build-po-files.patch    |  6 +-
> >>>>>  .../apt/0001-fix-compilation-with-musl.patch  | 49 +++++++++++
> >>>>>  ...l-Add-missing-include-cstdint-gcc-15.patch | 26 ------
> >>>>>  .../apt/{apt_2.6.1.bb => apt_3.0.3.bb}        | 17 ++--
> >>>>>  14 files changed, 74 insertions(+), 264 deletions(-)
> >>>>>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-Fix-compilation-error-with-clang-libc-18.patch
> >>>>>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch
> >>>>>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch
> >>>>>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch
> >>>>>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch
> >>>>>  create mode 100644 meta/recipes-devtools/apt/apt/0001-fix-compilation-with-musl.patch
> >>>>>  delete mode 100644 meta/recipes-devtools/apt/apt/0001-strutl-Add-missing-include-cstdint-gcc-15.patch
> >>>>>  rename meta/recipes-devtools/apt/{apt_2.6.1.bb => apt_3.0.3.bb} (88%)
> >>>>>
> >>>>> diff --git a/meta/lib/oeqa/runtime/cases/apt.py b/meta/lib/oeqa/runtime/cases/apt.py
> >>>>> index 8000645843..c6b62987f1 100644
> >>>>> --- a/meta/lib/oeqa/runtime/cases/apt.py
> >>>>> +++ b/meta/lib/oeqa/runtime/cases/apt.py
> >>>>> @@ -54,7 +54,14 @@ class AptRepoTest(AptTest):
> >>>>>      def setup_key(self):
> >>>>>          # the key is found on the target /etc/pki/packagefeed-gpg/
> >>>>>          # named PACKAGEFEED-GPG-KEY-poky-branch
> >>>>> -        self.target.run('cd %s; apt-key add P*' % ('/etc/pki/packagefeed-gpg'))
> >>>>> +        # copy it to /etc/apt/keyrings/PACKAGEFEED-GPG-KEY-poky-branch.asc, and
> >>>>> +        # set it as the signing key for the repos
> >>>>> +        cmd =  "KEY_FILE_PATH=`realpath /etc/pki/packagefeed-gpg/P*`; "
> >>>>> +        cmd += "KEY_FILE_NAME=`basename $KEY_FILE_PATH`; "
> >>>>> +        cmd += "mkdir -p /etc/apt/keyrings; "
> >>>>> +        cmd += "cp $KEY_FILE_PATH /etc/apt/keyrings/${KEY_FILE_NAME}.asc; "
> >>>>> +        cmd += 'sed -i "s|^deb |deb \[signed-by=/etc/apt/keyrings/${KEY_FILE_NAME}.asc\] |g" /etc/apt/sources.list'
> >>>>> +        self.target.run(cmd)
> >>>>>
> >>>>>      @skipIfNotFeature('package-management',
> >>>>>                        'Test requires package-management to be in IMAGE_FEATURES')
> >>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch b/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch
> >>>>> index 199f11bf20..d37aa811cd 100644
> >>>>> --- a/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch
> >>>>> +++ b/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch
> >>>>> @@ -14,7 +14,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
> >>>>>  index 2cd4f8e..4759812 100644
> >>>>>  --- a/CMakeLists.txt
> >>>>>  +++ b/CMakeLists.txt
> >>>>> -@@ -21,9 +21,9 @@ set(CMAKE_EXE_LINKER_FLAGS_COVERAGE "-lgcov")
> >>>>> +@@ -28,9 +28,9 @@ set(CMAKE_EXE_LINKER_FLAGS_COVERAGE "-lgcov")
> >>>>>   set(CMAKE_SHARED_LINKER_FLAGS_COVERAGE "-lgcov")
> >>>>>
> >>>>>   # Work around bug in GNUInstallDirs
> >>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch b/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch
> >>>>> index 5443ff6caa..4bc6dce760 100644
> >>>>> --- a/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch
> >>>>> +++ b/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch
> >>>>> @@ -16,7 +16,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
> >>>>>  index 668e2d762..62f441bfa 100644
> >>>>>  --- a/CMakeLists.txt
> >>>>>  +++ b/CMakeLists.txt
> >>>>> -@@ -246,7 +246,7 @@ add_subdirectory(apt-private)
> >>>>> +@@ -251,7 +251,7 @@ add_subdirectory(apt-private)
> >>>>>   endif()
> >>>>>   add_subdirectory(cmdline)
> >>>>>   add_subdirectory(completions)
> >>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch b/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
> >>>>> index 37a3133010..d21f5a49c5 100644
> >>>>> --- a/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
> >>>>> +++ b/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
> >>>>> @@ -16,7 +16,7 @@ diff --git a/apt-pkg/init.cc b/apt-pkg/init.cc
> >>>>>  index b9d9b15d2..1725c5966 100644
> >>>>>  --- a/apt-pkg/init.cc
> >>>>>  +++ b/apt-pkg/init.cc
> >>>>> -@@ -281,8 +281,8 @@ bool pkgInitSystem(Configuration &Cnf,pkgSystem *&Sys)
> >>>>> +@@ -295,8 +295,8 @@ bool pkgInitSystem(Configuration &Cnf,pkgSystem *&Sys)
> >>>>>          return _error->Error(_("Unable to determine a suitable packaging system type"));
> >>>>>      }
> >>>>>
> >>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-Fix-compilation-error-with-clang-libc-18.patch b/meta/recipes-devtools/apt/apt/0001-Fix-compilation-error-with-clang-libc-18.patch
> >>>>> deleted file mode 100644
> >>>>> index e55205ca3f..0000000000
> >>>>> --- a/meta/recipes-devtools/apt/apt/0001-Fix-compilation-error-with-clang-libc-18.patch
> >>>>> +++ /dev/null
> >>>>> @@ -1,29 +0,0 @@
> >>>>> -From b4488583424b33f51cb031562a9e8df820ffda23 Mon Sep 17 00:00:00 2001
> >>>>> -From: Chongyun Lee <licy183@termux.dev>
> >>>>> -Date: Thu, 15 Aug 2024 21:31:24 +0800
> >>>>> -Subject: [PATCH] Fix compilation error with clang/libc++ 18
> >>>>> -
> >>>>> -Upstream-Status: Backport [https://salsa.debian.org/apt-team/apt/-/commit/b4488583424b33f51cb031562a9e8df820ffda23]
> >>>>> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> >>>>> ----
> >>>>> - apt-pkg/cacheset.h | 4 ++--
> >>>>> - 1 file changed, 2 insertions(+), 2 deletions(-)
> >>>>> -
> >>>>> -diff --git a/apt-pkg/cacheset.h b/apt-pkg/cacheset.h
> >>>>> -index 5dbb9bf08..1c67a65d6 100644
> >>>>> ---- a/apt-pkg/cacheset.h
> >>>>> -+++ b/apt-pkg/cacheset.h
> >>>>> -@@ -218,11 +218,11 @@ public:
> >>>>> -       operator container_iterator(void) const { return _iter; }
> >>>>> -       inline iterator_type& operator++() { ++_iter; return static_cast<iterator_type&>(*this); }
> >>>>> -       inline iterator_type operator++(int) { iterator_type tmp(*this); operator++(); return tmp; }
> >>>>> --      inline iterator_type operator+(typename container_iterator::difference_type const &n) { return iterator_type(_iter + n); }
> >>>>> -+      inline iterator_type operator+(typename container_iterator::difference_type const &n) const { return iterator_type(_iter + n); }
> >>>>> -       inline iterator_type operator+=(typename container_iterator::difference_type const &n) { _iter += n; return static_cast<iterator_type&>(*this); }
> >>>>> -       inline iterator_type& operator--() { --_iter;; return static_cast<iterator_type&>(*this); }
> >>>>> -       inline iterator_type operator--(int) { iterator_type tmp(*this); operator--(); return tmp; }
> >>>>> --      inline iterator_type operator-(typename container_iterator::difference_type const &n) { return iterator_type(_iter - n); }
> >>>>> -+      inline iterator_type operator-(typename container_iterator::difference_type const &n) const { return iterator_type(_iter - n); }
> >>>>> -       inline typename container_iterator::difference_type operator-(iterator_type const &b) { return (_iter - b._iter); }
> >>>>> -       inline iterator_type operator-=(typename container_iterator::difference_type const &n) { _iter -= n; return static_cast<iterator_type&>(*this); }
> >>>>> -       inline bool operator!=(iterator_type const &i) const { return _iter != i._iter; }
> >>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch b/meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch
> >>>>> deleted file mode 100644
> >>>>> index 0cefbedd6d..0000000000
> >>>>> --- a/meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch
> >>>>> +++ /dev/null
> >>>>> @@ -1,28 +0,0 @@
> >>>>> -From 6b8547161b902b01b639d05a4cdf849d7694556f Mon Sep 17 00:00:00 2001
> >>>>> -From: Alexander Kanavin <alex.kanavin@gmail.com>
> >>>>> -Date: Fri, 22 May 2020 15:29:23 +0000
> >>>>> -Subject: [PATCH] apt-pkg/contrib/srvrec.h: Explicitly include sys/types.h
> >>>>> -
> >>>>> -This avoids type errors with musl C library.
> >>>>> -
> >>>>> -Upstream-Status: Submitted [https://salsa.debian.org/apt-team/apt/-/merge_requests/200]
> >>>>> -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> >>>>> ----
> >>>>> - apt-pkg/contrib/srvrec.h | 1 +
> >>>>> - 1 file changed, 1 insertion(+)
> >>>>> -
> >>>>> -diff --git a/apt-pkg/contrib/srvrec.h b/apt-pkg/contrib/srvrec.h
> >>>>> -index e5d0f43..2010184 100644
> >>>>> ---- a/apt-pkg/contrib/srvrec.h
> >>>>> -+++ b/apt-pkg/contrib/srvrec.h
> >>>>> -@@ -9,6 +9,7 @@
> >>>>> - #ifndef SRVREC_H
> >>>>> - #define SRVREC_H
> >>>>> -
> >>>>> -+#include <sys/types.h>
> >>>>> - #include <string>
> >>>>> - #include <vector>
> >>>>> - #include <arpa/nameser.h>
> >>>>> ---
> >>>>> -2.20.1
> >>>>> -
> >>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch b/meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch
> >>>>> deleted file mode 100644
> >>>>> index c3a5ded494..0000000000
> >>>>> --- a/meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch
> >>>>> +++ /dev/null
> >>>>> @@ -1,47 +0,0 @@
> >>>>> -From dc7a8b3050a2a43f49515a03ae19713dfced75dc Mon Sep 17 00:00:00 2001
> >>>>> -From: David Kalnischkies <david@kalnischkies.de>
> >>>>> -Date: Sat, 18 Nov 2023 13:10:05 +0000
> >>>>> -Subject: [PATCH] Raise cmake_minimum_required to 3.13 to avoid warnings
> >>>>> -
> >>>>> -CMake Deprecation Warning at CMakeLists.txt:6 (cmake_minimum_required):
> >>>>> -  Compatibility with CMake < 3.5 will be removed from a future version of
> >>>>> -  CMake.
> >>>>> -
> >>>>> -  Update the VERSION argument <min> value or use a ...<max> suffix to tell
> >>>>> -  CMake that the project does not need compatibility with older versions.
> >>>>> -
> >>>>> -Picking 3.13 here is a semi-random choice to avoid raising the requirement
> >>>>> -too much needlessly while also hopefully avoiding needing to raise it
> >>>>> -soon again based on the referenced mail.
> >>>>> -
> >>>>> -While we are at it, lets also fix the other spewed warning:
> >>>>> -
> >>>>> -CMake Warning (dev) at CMakeLists.txt:5 (project):
> >>>>> -  cmake_minimum_required() should be called prior to this top-level project()
> >>>>> -  call.  Please see the cmake-commands(7) manual for usage documentation of
> >>>>> -  both commands.
> >>>>> -
> >>>>> -References: https://lists.debian.org/msgid-search/20230617162957.6pklb6632zf4nijc@mail.gaussglocke.de
> >>>>> -
> >>>>> -Upstream-Status: Backport [https://salsa.debian.org/apt-team/apt/-/commit/dc7a8b3050a2a43f49515a03ae19713dfced75dc]
> >>>>> -Signed-off-by: Moritz Haase <Moritz.Haase@bmw.de>
> >>>>> ----
> >>>>> - CMakeLists.txt | 2 +-
> >>>>> - 1 file changed, 1 insertion(+), 1 deletion(-)
> >>>>> -
> >>>>> -diff --git a/CMakeLists.txt b/CMakeLists.txt
> >>>>> -index 62182cddf..dae12e7c3 100644
> >>>>> ---- a/CMakeLists.txt
> >>>>> -+++ b/CMakeLists.txt
> >>>>> -@@ -2,8 +2,8 @@
> >>>>> - # Licensed under the same terms as APT; i.e. GPL 2 or later.
> >>>>> -
> >>>>> - # set minimum version
> >>>>> -+cmake_minimum_required(VERSION 3.13)
> >>>>> - project(apt)
> >>>>> --cmake_minimum_required(VERSION 3.4.0)
> >>>>> - # Generic header locations
> >>>>> - include_directories(${PROJECT_BINARY_DIR}/include)
> >>>>> -
> >>>>> ---
> >>>>> -GitLab
> >>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch b/meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch
> >>>>> deleted file mode 100644
> >>>>> index 15b036b90d..0000000000
> >>>>> --- a/meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch
> >>>>> +++ /dev/null
> >>>>> @@ -1,87 +0,0 @@
> >>>>> -From e91fb0618ce0a5d42f239d0fca602544858f0819 Mon Sep 17 00:00:00 2001
> >>>>> -From: Khem Raj <raj.khem@gmail.com>
> >>>>> -Date: Tue, 16 Aug 2022 08:44:18 -0700
> >>>>> -Subject: [PATCH] Remove using std::binary_function
> >>>>> -
> >>>>> -std::binary_function and std::unary_function are deprecated since c++11
> >>>>> -and removed in c++17, therefore remove it and use lambda functions to get same
> >>>>> -functionality implemented.
> >>>>> -
> >>>>> -Upstream-Status: Submitted [https://salsa.debian.org/apt-team/apt/-/merge_requests/253]
> >>>>> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> >>>>> ----
> >>>>> - ftparchive/apt-ftparchive.cc | 33 ++++++++++-----------------------
> >>>>> - 1 file changed, 10 insertions(+), 23 deletions(-)
> >>>>> -
> >>>>> -diff --git a/ftparchive/apt-ftparchive.cc b/ftparchive/apt-ftparchive.cc
> >>>>> -index 0f6587281..0a253b12b 100644
> >>>>> ---- a/ftparchive/apt-ftparchive.cc
> >>>>> -+++ b/ftparchive/apt-ftparchive.cc
> >>>>> -@@ -48,6 +48,11 @@
> >>>>> - using namespace std;
> >>>>> - unsigned Quiet = 0;
> >>>>> -
> >>>>> -+auto ContentsCompare = [](const auto &a, const auto &b) { return a.ContentsMTime < b.ContentsMTime; };
> >>>>> -+auto DBCompare = [](const auto &a, const auto &b) { return a.BinCacheDB < b.BinCacheDB; };
> >>>>> -+auto SrcDBCompare = [](const auto &a, const auto &b) { return a.SrcCacheDB < b.SrcCacheDB; };
> >>>>> -+
> >>>>> -+
> >>>>> - static struct timeval GetTimevalFromSteadyClock()                     /*{{{*/
> >>>>> - {
> >>>>> -    auto const Time = std::chrono::steady_clock::now().time_since_epoch();
> >>>>> -@@ -116,24 +121,6 @@ struct PackageMap
> >>>>> -    bool SrcDone;
> >>>>> -    time_t ContentsMTime;
> >>>>> -
> >>>>> --   struct ContentsCompare
> >>>>> --   {
> >>>>> --      inline bool operator() (const PackageMap &x,const PackageMap &y)
> >>>>> --      {return x.ContentsMTime < y.ContentsMTime;};
> >>>>> --   };
> >>>>> --
> >>>>> --   struct DBCompare
> >>>>> --   {
> >>>>> --      inline bool operator() (const PackageMap &x,const PackageMap &y)
> >>>>> --      {return x.BinCacheDB < y.BinCacheDB;};
> >>>>> --   };
> >>>>> --
> >>>>> --   struct SrcDBCompare
> >>>>> --   {
> >>>>> --      inline bool operator() (const PackageMap &x,const PackageMap &y)
> >>>>> --      {return x.SrcCacheDB < y.SrcCacheDB;};
> >>>>> --   };
> >>>>> --
> >>>>> -    void GetGeneral(Configuration &Setup,Configuration &Block);
> >>>>> -    bool GenPackages(Configuration &Setup,struct CacheDB::Stats &Stats);
> >>>>> -    bool GenSources(Configuration &Setup,struct CacheDB::Stats &Stats);
> >>>>> -@@ -869,7 +856,7 @@ static bool DoGenerateContents(Configuration &Setup,
> >>>>> -       else
> >>>>> -        I->ContentsMTime = A.st_mtime;
> >>>>> -    }
> >>>>> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::ContentsCompare());
> >>>>> -+   stable_sort(PkgList.begin(),PkgList.end(),ContentsCompare);
> >>>>> -
> >>>>> -    /* Now for Contents.. The process here is to do a make-like dependency
> >>>>> -       check. Each contents file is verified to be newer than the package files
> >>>>> -@@ -941,8 +928,8 @@ static bool Generate(CommandLine &CmdL)
> >>>>> -    LoadBinDir(PkgList,Setup);
> >>>>> -
> >>>>> -    // Sort by cache DB to improve IO locality.
> >>>>> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::DBCompare());
> >>>>> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::SrcDBCompare());
> >>>>> -+   stable_sort(PkgList.begin(),PkgList.end(),DBCompare);
> >>>>> -+   stable_sort(PkgList.begin(),PkgList.end(),SrcDBCompare);
> >>>>> -
> >>>>> -    // Generate packages
> >>>>> -    if (_config->FindB("APT::FTPArchive::ContentsOnly", false) == false)
> >>>>> -@@ -993,8 +980,8 @@ static bool Clean(CommandLine &CmdL)
> >>>>> -    LoadBinDir(PkgList,Setup);
> >>>>> -
> >>>>> -    // Sort by cache DB to improve IO locality.
> >>>>> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::DBCompare());
> >>>>> --   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::SrcDBCompare());
> >>>>> -+   stable_sort(PkgList.begin(),PkgList.end(),DBCompare);
> >>>>> -+   stable_sort(PkgList.begin(),PkgList.end(),SrcDBCompare);
> >>>>> -
> >>>>> -    string CacheDir = Setup.FindDir("Dir::CacheDir");
> >>>>> -
> >>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch b/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
> >>>>> index 6f4d5b6e72..43ab6a4cd8 100644
> >>>>> --- a/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
> >>>>> +++ b/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
> >>>>> @@ -23,7 +23,7 @@ diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
> >>>>>  index 93effa959..4375781d1 100644
> >>>>>  --- a/apt-pkg/deb/dpkgpm.cc
> >>>>>  +++ b/apt-pkg/deb/dpkgpm.cc
> >>>>> -@@ -1199,12 +1199,6 @@ void pkgDPkgPM::BuildPackagesProgressMap()
> >>>>> +@@ -1210,12 +1210,6 @@ void pkgDPkgPM::BuildPackagesProgressMap()
> >>>>>          }
> >>>>>         }
> >>>>>      }
> >>>>> @@ -36,7 +36,7 @@ index 93effa959..4375781d1 100644
> >>>>>   }
> >>>>>                                                                           /*}}}*/
> >>>>>   void pkgDPkgPM::StartPtyMagic()                                               /*{{{*/
> >>>>> -@@ -1741,7 +1735,8 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress)
> >>>>> +@@ -1752,7 +1746,8 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress)
> >>>>>
> >>>>>         // support subpressing of triggers processing for special
> >>>>>         // cases like d-i that runs the triggers handling manually
> >>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch b/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch
> >>>>> deleted file mode 100644
> >>>>> index 2c1e617e55..0000000000
> >>>>> --- a/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch
> >>>>> +++ /dev/null
> >>>>> @@ -1,30 +0,0 @@
> >>>>> -From 5985f366750a73c81c7d86893a2b959b4af062a5 Mon Sep 17 00:00:00 2001
> >>>>> -From: Khem Raj <raj.khem@gmail.com>
> >>>>> -Date: Wed, 26 May 2021 22:12:46 -0700
> >>>>> -Subject: [PATCH] aptwebserver.cc: Include <array>
> >>>>> -
> >>>>> -This helps getting std::array definition
> >>>>> -
> >>>>> -Fixes
> >>>>> -test/interactive-helper/aptwebserver.cc:36:55: error: constexpr variable cannot have non-literal type 'const std::array<std::array<const char *, 2>, 6>'
> >>>>> -   constexpr std::array<std::array<char const *,2>,6> htmlencode = {{
> >>>>> -
> >>>>> -Upstream-Status: Submitted [https://github.com/Debian/apt/pull/133]
> >>>>> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> >>>>> -
> >>>>> ----
> >>>>> - test/interactive-helper/aptwebserver.cc | 1 +
> >>>>> - 1 file changed, 1 insertion(+)
> >>>>> -
> >>>>> -diff --git a/test/interactive-helper/aptwebserver.cc b/test/interactive-helper/aptwebserver.cc
> >>>>> -index f4f8d95..361c7a9 100644
> >>>>> ---- a/test/interactive-helper/aptwebserver.cc
> >>>>> -+++ b/test/interactive-helper/aptwebserver.cc
> >>>>> -@@ -23,6 +23,7 @@
> >>>>> -
> >>>>> - #include <array>
> >>>>> - #include <algorithm>
> >>>>> -+#include <array>
> >>>>> - #include <fstream>
> >>>>> - #include <iostream>
> >>>>> - #include <list>
> >>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch b/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch
> >>>>> index 036ce35963..08815a3ec4 100644
> >>>>> --- a/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch
> >>>>> +++ b/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch
> >>>>> @@ -11,14 +11,14 @@ Fixes
> >>>>>  Upstream-Status: Inappropriate [Cross-compile specific]
> >>>>>  Signed-off-by: Khem Raj <raj.khem@gmail.com>
> >>>>>  ---
> >>>>> - CMakeLists.txt | 7 -------
> >>>>> - 1 file changed, 7 deletions(-)
> >>>>> + CMakeLists.txt | 9 ---------
> >>>>> + 1 file changed, 9 deletions(-)
> >>>>>
> >>>>>  diff --git a/CMakeLists.txt b/CMakeLists.txt
> >>>>>  index be157a55f..54163ae6c 100644
> >>>>>  --- a/CMakeLists.txt
> >>>>>  +++ b/CMakeLists.txt
> >>>>> -@@ -252,15 +252,6 @@ add_subdirectory(ftparchive)
> >>>>> +@@ -257,15 +257,6 @@ add_subdirectory(ftparchive)
> >>>>>   add_subdirectory(methods)
> >>>>>   add_subdirectory(test)
> >>>>>
> >>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-fix-compilation-with-musl.patch b/meta/recipes-devtools/apt/apt/0001-fix-compilation-with-musl.patch
> >>>>> new file mode 100644
> >>>>> index 0000000000..d3c5fe658e
> >>>>> --- /dev/null
> >>>>> +++ b/meta/recipes-devtools/apt/apt/0001-fix-compilation-with-musl.patch
> >>>>> @@ -0,0 +1,49 @@
> >>>>> +From a6b024ceb71c43977838d625f5ac64b7e4815a56 Mon Sep 17 00:00:00 2001
> >>>>> +From: Gyorgy Sarvari <skandigraun@gmail.com>
> >>>>> +Date: Thu, 28 Aug 2025 08:11:58 +0200
> >>>>> +Subject: [PATCH] fix compilation with musl
> >>>>> +
> >>>>> +The basename() function requires the libgen.h header when
> >>>>> +compiling with musl-libc, otherwise it complains:
> >>>>> +
> >>>>> +error: 'basename' was not declared in this scope; did you mean 'rename'?
> >>>>> +
> >>>>> +Also, musl's basename requires char* instead of const char* argument:
> >>>>> +
> >>>>> +error: invalid conversion from 'const char*' to 'char*' [-fpermissive]
> >>>>> +
> >>>>> +The musl implementation of basename modifies the argument only in case
> >>>>> +it is a folder path (it cuts off the trailing slashes). In our case,
> >>>>> +when argv[0] is passed, it is always a filename without a trailing
> >>>>> +slash, so just cast the argument.
> >>>>> +
> >>>>> +Upstream-Status: Submitted [https://salsa.debian.org/apt-team/apt/-/merge_requests/508]
> >>>>> +Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
> >>>>> +---
> >>>>> + cmdline/apt-internal-solver.cc | 3 ++-
> >>>>> + 1 file changed, 2 insertions(+), 1 deletion(-)
> >>>>> +
> >>>>> +diff --git a/cmdline/apt-internal-solver.cc b/cmdline/apt-internal-solver.cc
> >>>>> +index ceedd96c7..74ed38c50 100644
> >>>>> +--- a/cmdline/apt-internal-solver.cc
> >>>>> ++++ b/cmdline/apt-internal-solver.cc
> >>>>> +@@ -35,6 +35,7 @@
> >>>>> + #include <list>
> >>>>> + #include <sstream>
> >>>>> + #include <string>
> >>>>> ++#include <libgen.h>
> >>>>> + #include <unistd.h>
> >>>>> +
> >>>>> + #include <apti18n.h>
> >>>>> +@@ -119,7 +120,7 @@ int main(int argc,const char *argv[])                                      /*{{{*/
> >>>>> +               _config->Set("Debug::EDSP::WriteSolution", true);
> >>>>> +
> >>>>> +       _config->Set("APT::System", "Debian APT solver interface");
> >>>>> +-      if (strcmp(basename(argv[0]), "solver3") == 0)
> >>>>> ++      if (strcmp(basename((char*)argv[0]), "solver3") == 0)
> >>>>> +          _config->Set("APT::Solver", "3.0");
> >>>>> +       else if (_config->Find("APT::Solver") != "3.0")
> >>>>> +          _config->Set("APT::Solver", "internal");
> >>>>> +--
> >>>>> +2.39.5
> >>>>> +
> >>>>> diff --git a/meta/recipes-devtools/apt/apt/0001-strutl-Add-missing-include-cstdint-gcc-15.patch b/meta/recipes-devtools/apt/apt/0001-strutl-Add-missing-include-cstdint-gcc-15.patch
> >>>>> deleted file mode 100644
> >>>>> index b86ed8bb92..0000000000
> >>>>> --- a/meta/recipes-devtools/apt/apt/0001-strutl-Add-missing-include-cstdint-gcc-15.patch
> >>>>> +++ /dev/null
> >>>>> @@ -1,26 +0,0 @@
> >>>>> -From 9da1b0dbdcc90455bc9de49f73a96e7d18f83493 Mon Sep 17 00:00:00 2001
> >>>>> -From: Julian Andres Klode <julian.klode@canonical.com>
> >>>>> -Date: Tue, 18 Feb 2025 10:29:40 +0100
> >>>>> -Subject: [PATCH] strutl: Add missing #include <cstdint> [gcc 15]
> >>>>> -
> >>>>> -Closes: #1096322
> >>>>> -
> >>>>> -Upstream-Status: Backport [https://salsa.debian.org/apt-team/apt/-/commit/f82dcd7e4ebb3f70d28e9feb3621676f8c0cc024]
> >>>>> -
> >>>>> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> >>>>> ----
> >>>>> - apt-pkg/contrib/strutl.cc | 1 +
> >>>>> - 1 file changed, 1 insertion(+)
> >>>>> -
> >>>>> -diff --git a/apt-pkg/contrib/strutl.cc b/apt-pkg/contrib/strutl.cc
> >>>>> -index 67100f1..c0a1cbc 100644
> >>>>> ---- a/apt-pkg/contrib/strutl.cc
> >>>>> -+++ b/apt-pkg/contrib/strutl.cc
> >>>>> -@@ -26,6 +26,7 @@
> >>>>> -
> >>>>> - #include <algorithm>
> >>>>> - #include <array>
> >>>>> -+#include <cstdint>
> >>>>> - #include <iomanip>
> >>>>> - #include <limits>
> >>>>> - #include <locale>
> >>>>> diff --git a/meta/recipes-devtools/apt/apt_2.6.1.bb b/meta/recipes-devtools/apt/apt_3.0.3.bb
> >>>>> similarity index 88%
> >>>>> rename from meta/recipes-devtools/apt/apt_2.6.1.bb
> >>>>> rename to meta/recipes-devtools/apt/apt_3.0.3.bb
> >>>>> index b039599395..03a6869393 100644
> >>>>> --- a/meta/recipes-devtools/apt/apt_2.6.1.bb
> >>>>> +++ b/meta/recipes-devtools/apt/apt_3.0.3.bb
> >>>>> @@ -8,14 +8,9 @@ SECTION = "base"
> >>>>>  SRC_URI = "${DEBIAN_MIRROR}/main/a/apt/${BPN}_${PV}.tar.xz \
> >>>>>             file://triehash \
> >>>>>             file://0001-Disable-documentation-directory-altogether.patch \
> >>>>> -           file://0001-Fix-musl-build.patch \
> >>>>>             file://0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch \
> >>>>>             file://0001-cmake-Do-not-build-po-files.patch \
> >>>>> -           file://0001-aptwebserver.cc-Include-array.patch \
> >>>>> -           file://0001-Remove-using-std-binary_function.patch \
> >>>>> -           file://0001-strutl-Add-missing-include-cstdint-gcc-15.patch \
> >>>>> -           file://0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch \
> >>>>> -           file://0001-Fix-compilation-error-with-clang-libc-18.patch \
> >>>>> +           file://0001-fix-compilation-with-musl.patch \
> >>>>>             "
> >>>>>
> >>>>>  SRC_URI:append:class-native = " \
> >>>>> @@ -28,7 +23,7 @@ SRC_URI:append:class-nativesdk = " \
> >>>>>             file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \
> >>>>>             "
> >>>>>
> >>>>> -SRC_URI[sha256sum] = "86b888c901fa2e78f1bf52a2aaa2f400ff82a472b94ff0ac6631939ee68fa6fd"
> >>>>> +SRC_URI[sha256sum] = "5b5f6f6d26121742a83aa80d4ed0eb0c6ce9bea259518db412edefd95760e4ef"
> >>>>>  LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263"
> >>>>>
> >>>>>  # the package is taken from snapshots.debian.org; that source is static and goes stale
> >>>>> @@ -47,7 +42,7 @@ USERADD_PARAM:${PN} = "--system --home /nonexistent --no-create-home _apt"
> >>>>>
> >>>>>  BBCLASSEXTEND = "native nativesdk"
> >>>>>
> >>>>> -DEPENDS += "db gnutls lz4 zlib bzip2 xz libgcrypt xxhash"
> >>>>> +DEPENDS += "db lz4 zlib bzip2 xz xxhash openssl"
> >>>>>
> >>>>>  EXTRA_OECMAKE:append = " -DCURRENT_VENDOR=debian -DWITH_DOC=False \
> >>>>>      -DDPKG_DATADIR=${datadir}/dpkg \
> >>>>> @@ -55,8 +50,14 @@ EXTRA_OECMAKE:append = " -DCURRENT_VENDOR=debian -DWITH_DOC=False \
> >>>>>      -DCMAKE_DISABLE_FIND_PACKAGE_ZSTD=True \
> >>>>>      -DCMAKE_DISABLE_FIND_PACKAGE_SECCOMP=True \
> >>>>>      -DWITH_TESTS=False \
> >>>>> +    -DCOMMON_ARCH=${DPKG_ARCH} \
> >>>>>  "
> >>>>>
> >>>>> +PACKAGECONFIG ??= ""
> >>>>> +# usrmerge displays a runtime warning during package installation in case
> >>>>> +# the system doesn't have merged /usr folders.
> >>>>> +PACKAGECONFIG[usrmerge] = "-DREQUIRE_MERGED_USR=ON,-DREQUIRE_MERGED_USR=OFF"
> >>>>> +
> >>>>>  do_configure:prepend() {
> >>>>>         echo "set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH )" >>  ${WORKDIR}/toolchain.cmake
> >>>>>  }
> >>>>>
> >>>>> -=-=-=-=-=-=-=-=-=-=-=-
> >>>>> Links: You receive all messages sent to this group.
> >>>>> View/Reply Online (#222880): https://lists.openembedded.org/g/openembedded-core/message/222880
> >>>>> Mute This Topic: https://lists.openembedded.org/mt/115050106/1997914
> >>>>> Group Owner: openembedded-core+owner@lists.openembedded.org
> >>>>> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> >>>>> -=-=-=-=-=-=-=-=-=-=-=-
> >>>>>
>
diff mbox series

Patch

diff --git a/meta/lib/oeqa/runtime/cases/apt.py b/meta/lib/oeqa/runtime/cases/apt.py
index 8000645843..c6b62987f1 100644
--- a/meta/lib/oeqa/runtime/cases/apt.py
+++ b/meta/lib/oeqa/runtime/cases/apt.py
@@ -54,7 +54,14 @@  class AptRepoTest(AptTest):
     def setup_key(self):
         # the key is found on the target /etc/pki/packagefeed-gpg/
         # named PACKAGEFEED-GPG-KEY-poky-branch
-        self.target.run('cd %s; apt-key add P*' % ('/etc/pki/packagefeed-gpg'))
+        # copy it to /etc/apt/keyrings/PACKAGEFEED-GPG-KEY-poky-branch.asc, and
+        # set it as the signing key for the repos
+        cmd =  "KEY_FILE_PATH=`realpath /etc/pki/packagefeed-gpg/P*`; "
+        cmd += "KEY_FILE_NAME=`basename $KEY_FILE_PATH`; "
+        cmd += "mkdir -p /etc/apt/keyrings; "
+        cmd += "cp $KEY_FILE_PATH /etc/apt/keyrings/${KEY_FILE_NAME}.asc; "
+        cmd += 'sed -i "s|^deb |deb \[signed-by=/etc/apt/keyrings/${KEY_FILE_NAME}.asc\] |g" /etc/apt/sources.list'
+        self.target.run(cmd)
 
     @skipIfNotFeature('package-management',
                       'Test requires package-management to be in IMAGE_FEATURES')
diff --git a/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch b/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch
index 199f11bf20..d37aa811cd 100644
--- a/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch
+++ b/meta/recipes-devtools/apt/apt/0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch
@@ -14,7 +14,7 @@  diff --git a/CMakeLists.txt b/CMakeLists.txt
 index 2cd4f8e..4759812 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -21,9 +21,9 @@ set(CMAKE_EXE_LINKER_FLAGS_COVERAGE "-lgcov")
+@@ -28,9 +28,9 @@ set(CMAKE_EXE_LINKER_FLAGS_COVERAGE "-lgcov")
  set(CMAKE_SHARED_LINKER_FLAGS_COVERAGE "-lgcov")
  
  # Work around bug in GNUInstallDirs
diff --git a/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch b/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch
index 5443ff6caa..4bc6dce760 100644
--- a/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch
+++ b/meta/recipes-devtools/apt/apt/0001-Disable-documentation-directory-altogether.patch
@@ -16,7 +16,7 @@  diff --git a/CMakeLists.txt b/CMakeLists.txt
 index 668e2d762..62f441bfa 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -246,7 +246,7 @@ add_subdirectory(apt-private)
+@@ -251,7 +251,7 @@ add_subdirectory(apt-private)
  endif()
  add_subdirectory(cmdline)
  add_subdirectory(completions)
diff --git a/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch b/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
index 37a3133010..d21f5a49c5 100644
--- a/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
+++ b/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
@@ -16,7 +16,7 @@  diff --git a/apt-pkg/init.cc b/apt-pkg/init.cc
 index b9d9b15d2..1725c5966 100644
 --- a/apt-pkg/init.cc
 +++ b/apt-pkg/init.cc
-@@ -281,8 +281,8 @@ bool pkgInitSystem(Configuration &Cnf,pkgSystem *&Sys)
+@@ -295,8 +295,8 @@ bool pkgInitSystem(Configuration &Cnf,pkgSystem *&Sys)
  	 return _error->Error(_("Unable to determine a suitable packaging system type"));
     }
  
diff --git a/meta/recipes-devtools/apt/apt/0001-Fix-compilation-error-with-clang-libc-18.patch b/meta/recipes-devtools/apt/apt/0001-Fix-compilation-error-with-clang-libc-18.patch
deleted file mode 100644
index e55205ca3f..0000000000
--- a/meta/recipes-devtools/apt/apt/0001-Fix-compilation-error-with-clang-libc-18.patch
+++ /dev/null
@@ -1,29 +0,0 @@ 
-From b4488583424b33f51cb031562a9e8df820ffda23 Mon Sep 17 00:00:00 2001
-From: Chongyun Lee <licy183@termux.dev>
-Date: Thu, 15 Aug 2024 21:31:24 +0800
-Subject: [PATCH] Fix compilation error with clang/libc++ 18
-
-Upstream-Status: Backport [https://salsa.debian.org/apt-team/apt/-/commit/b4488583424b33f51cb031562a9e8df820ffda23]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- apt-pkg/cacheset.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/apt-pkg/cacheset.h b/apt-pkg/cacheset.h
-index 5dbb9bf08..1c67a65d6 100644
---- a/apt-pkg/cacheset.h
-+++ b/apt-pkg/cacheset.h
-@@ -218,11 +218,11 @@ public:
- 	operator container_iterator(void) const { return _iter; }
- 	inline iterator_type& operator++() { ++_iter; return static_cast<iterator_type&>(*this); }
- 	inline iterator_type operator++(int) { iterator_type tmp(*this); operator++(); return tmp; }
--	inline iterator_type operator+(typename container_iterator::difference_type const &n) { return iterator_type(_iter + n); }
-+	inline iterator_type operator+(typename container_iterator::difference_type const &n) const { return iterator_type(_iter + n); }
- 	inline iterator_type operator+=(typename container_iterator::difference_type const &n) { _iter += n; return static_cast<iterator_type&>(*this); }
- 	inline iterator_type& operator--() { --_iter;; return static_cast<iterator_type&>(*this); }
- 	inline iterator_type operator--(int) { iterator_type tmp(*this); operator--(); return tmp; }
--	inline iterator_type operator-(typename container_iterator::difference_type const &n) { return iterator_type(_iter - n); }
-+	inline iterator_type operator-(typename container_iterator::difference_type const &n) const { return iterator_type(_iter - n); }
- 	inline typename container_iterator::difference_type operator-(iterator_type const &b) { return (_iter - b._iter); }
- 	inline iterator_type operator-=(typename container_iterator::difference_type const &n) { _iter -= n; return static_cast<iterator_type&>(*this); }
- 	inline bool operator!=(iterator_type const &i) const { return _iter != i._iter; }
diff --git a/meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch b/meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch
deleted file mode 100644
index 0cefbedd6d..0000000000
--- a/meta/recipes-devtools/apt/apt/0001-Fix-musl-build.patch
+++ /dev/null
@@ -1,28 +0,0 @@ 
-From 6b8547161b902b01b639d05a4cdf849d7694556f Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 22 May 2020 15:29:23 +0000
-Subject: [PATCH] apt-pkg/contrib/srvrec.h: Explicitly include sys/types.h
-
-This avoids type errors with musl C library.
-
-Upstream-Status: Submitted [https://salsa.debian.org/apt-team/apt/-/merge_requests/200]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- apt-pkg/contrib/srvrec.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/apt-pkg/contrib/srvrec.h b/apt-pkg/contrib/srvrec.h
-index e5d0f43..2010184 100644
---- a/apt-pkg/contrib/srvrec.h
-+++ b/apt-pkg/contrib/srvrec.h
-@@ -9,6 +9,7 @@
- #ifndef SRVREC_H
- #define SRVREC_H
- 
-+#include <sys/types.h>
- #include <string>
- #include <vector>
- #include <arpa/nameser.h>
--- 
-2.20.1
-
diff --git a/meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch b/meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch
deleted file mode 100644
index c3a5ded494..0000000000
--- a/meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch
+++ /dev/null
@@ -1,47 +0,0 @@ 
-From dc7a8b3050a2a43f49515a03ae19713dfced75dc Mon Sep 17 00:00:00 2001
-From: David Kalnischkies <david@kalnischkies.de>
-Date: Sat, 18 Nov 2023 13:10:05 +0000
-Subject: [PATCH] Raise cmake_minimum_required to 3.13 to avoid warnings
-
-CMake Deprecation Warning at CMakeLists.txt:6 (cmake_minimum_required):
-  Compatibility with CMake < 3.5 will be removed from a future version of
-  CMake.
-
-  Update the VERSION argument <min> value or use a ...<max> suffix to tell
-  CMake that the project does not need compatibility with older versions.
-
-Picking 3.13 here is a semi-random choice to avoid raising the requirement
-too much needlessly while also hopefully avoiding needing to raise it
-soon again based on the referenced mail.
-
-While we are at it, lets also fix the other spewed warning:
-
-CMake Warning (dev) at CMakeLists.txt:5 (project):
-  cmake_minimum_required() should be called prior to this top-level project()
-  call.  Please see the cmake-commands(7) manual for usage documentation of
-  both commands.
-
-References: https://lists.debian.org/msgid-search/20230617162957.6pklb6632zf4nijc@mail.gaussglocke.de
-
-Upstream-Status: Backport [https://salsa.debian.org/apt-team/apt/-/commit/dc7a8b3050a2a43f49515a03ae19713dfced75dc]
-Signed-off-by: Moritz Haase <Moritz.Haase@bmw.de>
----
- CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 62182cddf..dae12e7c3 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -2,8 +2,8 @@
- # Licensed under the same terms as APT; i.e. GPL 2 or later.
-
- # set minimum version
-+cmake_minimum_required(VERSION 3.13)
- project(apt)
--cmake_minimum_required(VERSION 3.4.0)
- # Generic header locations
- include_directories(${PROJECT_BINARY_DIR}/include)
-
---
-GitLab
diff --git a/meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch b/meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch
deleted file mode 100644
index 15b036b90d..0000000000
--- a/meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch
+++ /dev/null
@@ -1,87 +0,0 @@ 
-From e91fb0618ce0a5d42f239d0fca602544858f0819 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 16 Aug 2022 08:44:18 -0700
-Subject: [PATCH] Remove using std::binary_function
-
-std::binary_function and std::unary_function are deprecated since c++11
-and removed in c++17, therefore remove it and use lambda functions to get same
-functionality implemented.
-
-Upstream-Status: Submitted [https://salsa.debian.org/apt-team/apt/-/merge_requests/253]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- ftparchive/apt-ftparchive.cc | 33 ++++++++++-----------------------
- 1 file changed, 10 insertions(+), 23 deletions(-)
-
-diff --git a/ftparchive/apt-ftparchive.cc b/ftparchive/apt-ftparchive.cc
-index 0f6587281..0a253b12b 100644
---- a/ftparchive/apt-ftparchive.cc
-+++ b/ftparchive/apt-ftparchive.cc
-@@ -48,6 +48,11 @@
- using namespace std;
- unsigned Quiet = 0;
- 
-+auto ContentsCompare = [](const auto &a, const auto &b) { return a.ContentsMTime < b.ContentsMTime; };
-+auto DBCompare = [](const auto &a, const auto &b) { return a.BinCacheDB < b.BinCacheDB; };
-+auto SrcDBCompare = [](const auto &a, const auto &b) { return a.SrcCacheDB < b.SrcCacheDB; };
-+
-+
- static struct timeval GetTimevalFromSteadyClock()			/*{{{*/
- {
-    auto const Time = std::chrono::steady_clock::now().time_since_epoch();
-@@ -116,24 +121,6 @@ struct PackageMap
-    bool SrcDone;
-    time_t ContentsMTime;
-    
--   struct ContentsCompare
--   {
--      inline bool operator() (const PackageMap &x,const PackageMap &y)
--      {return x.ContentsMTime < y.ContentsMTime;};
--   };
--    
--   struct DBCompare
--   {
--      inline bool operator() (const PackageMap &x,const PackageMap &y)
--      {return x.BinCacheDB < y.BinCacheDB;};
--   };  
--
--   struct SrcDBCompare
--   {
--      inline bool operator() (const PackageMap &x,const PackageMap &y)
--      {return x.SrcCacheDB < y.SrcCacheDB;};
--   };
--   
-    void GetGeneral(Configuration &Setup,Configuration &Block);
-    bool GenPackages(Configuration &Setup,struct CacheDB::Stats &Stats);
-    bool GenSources(Configuration &Setup,struct CacheDB::Stats &Stats);
-@@ -869,7 +856,7 @@ static bool DoGenerateContents(Configuration &Setup,
-       else
- 	 I->ContentsMTime = A.st_mtime;
-    }
--   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::ContentsCompare());
-+   stable_sort(PkgList.begin(),PkgList.end(),ContentsCompare);
-    
-    /* Now for Contents.. The process here is to do a make-like dependency
-       check. Each contents file is verified to be newer than the package files
-@@ -941,8 +928,8 @@ static bool Generate(CommandLine &CmdL)
-    LoadBinDir(PkgList,Setup);
- 
-    // Sort by cache DB to improve IO locality.
--   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::DBCompare());
--   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::SrcDBCompare());
-+   stable_sort(PkgList.begin(),PkgList.end(),DBCompare);
-+   stable_sort(PkgList.begin(),PkgList.end(),SrcDBCompare);
- 
-    // Generate packages
-    if (_config->FindB("APT::FTPArchive::ContentsOnly", false) == false)
-@@ -993,8 +980,8 @@ static bool Clean(CommandLine &CmdL)
-    LoadBinDir(PkgList,Setup);
- 
-    // Sort by cache DB to improve IO locality.
--   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::DBCompare());
--   stable_sort(PkgList.begin(),PkgList.end(),PackageMap::SrcDBCompare());
-+   stable_sort(PkgList.begin(),PkgList.end(),DBCompare);
-+   stable_sort(PkgList.begin(),PkgList.end(),SrcDBCompare);
- 
-    string CacheDir = Setup.FindDir("Dir::CacheDir");
- 
diff --git a/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch b/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
index 6f4d5b6e72..43ab6a4cd8 100644
--- a/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
+++ b/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
@@ -23,7 +23,7 @@  diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
 index 93effa959..4375781d1 100644
 --- a/apt-pkg/deb/dpkgpm.cc
 +++ b/apt-pkg/deb/dpkgpm.cc
-@@ -1199,12 +1199,6 @@ void pkgDPkgPM::BuildPackagesProgressMap()
+@@ -1210,12 +1210,6 @@ void pkgDPkgPM::BuildPackagesProgressMap()
  	 }
        }
     }
@@ -36,7 +36,7 @@  index 93effa959..4375781d1 100644
  }
                                                                          /*}}}*/
  void pkgDPkgPM::StartPtyMagic()						/*{{{*/
-@@ -1741,7 +1735,8 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress)
+@@ -1752,7 +1746,8 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress)
  
        // support subpressing of triggers processing for special
        // cases like d-i that runs the triggers handling manually
diff --git a/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch b/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch
deleted file mode 100644
index 2c1e617e55..0000000000
--- a/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch
+++ /dev/null
@@ -1,30 +0,0 @@ 
-From 5985f366750a73c81c7d86893a2b959b4af062a5 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 26 May 2021 22:12:46 -0700
-Subject: [PATCH] aptwebserver.cc: Include <array>
-
-This helps getting std::array definition
-
-Fixes
-test/interactive-helper/aptwebserver.cc:36:55: error: constexpr variable cannot have non-literal type 'const std::array<std::array<const char *, 2>, 6>'
-   constexpr std::array<std::array<char const *,2>,6> htmlencode = {{
-
-Upstream-Status: Submitted [https://github.com/Debian/apt/pull/133]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- test/interactive-helper/aptwebserver.cc | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/test/interactive-helper/aptwebserver.cc b/test/interactive-helper/aptwebserver.cc
-index f4f8d95..361c7a9 100644
---- a/test/interactive-helper/aptwebserver.cc
-+++ b/test/interactive-helper/aptwebserver.cc
-@@ -23,6 +23,7 @@
- 
- #include <array>
- #include <algorithm>
-+#include <array>
- #include <fstream>
- #include <iostream>
- #include <list>
diff --git a/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch b/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch
index 036ce35963..08815a3ec4 100644
--- a/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch
+++ b/meta/recipes-devtools/apt/apt/0001-cmake-Do-not-build-po-files.patch
@@ -11,14 +11,14 @@  Fixes
 Upstream-Status: Inappropriate [Cross-compile specific]
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
- CMakeLists.txt | 7 -------
- 1 file changed, 7 deletions(-)
+ CMakeLists.txt | 9 ---------
+ 1 file changed, 9 deletions(-)
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
 index be157a55f..54163ae6c 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -252,15 +252,6 @@ add_subdirectory(ftparchive)
+@@ -257,15 +257,6 @@ add_subdirectory(ftparchive)
  add_subdirectory(methods)
  add_subdirectory(test)
  
diff --git a/meta/recipes-devtools/apt/apt/0001-fix-compilation-with-musl.patch b/meta/recipes-devtools/apt/apt/0001-fix-compilation-with-musl.patch
new file mode 100644
index 0000000000..d3c5fe658e
--- /dev/null
+++ b/meta/recipes-devtools/apt/apt/0001-fix-compilation-with-musl.patch
@@ -0,0 +1,49 @@ 
+From a6b024ceb71c43977838d625f5ac64b7e4815a56 Mon Sep 17 00:00:00 2001
+From: Gyorgy Sarvari <skandigraun@gmail.com>
+Date: Thu, 28 Aug 2025 08:11:58 +0200
+Subject: [PATCH] fix compilation with musl
+
+The basename() function requires the libgen.h header when
+compiling with musl-libc, otherwise it complains:
+
+error: 'basename' was not declared in this scope; did you mean 'rename'?
+
+Also, musl's basename requires char* instead of const char* argument:
+
+error: invalid conversion from 'const char*' to 'char*' [-fpermissive]
+
+The musl implementation of basename modifies the argument only in case
+it is a folder path (it cuts off the trailing slashes). In our case,
+when argv[0] is passed, it is always a filename without a trailing
+slash, so just cast the argument.
+
+Upstream-Status: Submitted [https://salsa.debian.org/apt-team/apt/-/merge_requests/508]
+Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
+---
+ cmdline/apt-internal-solver.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/cmdline/apt-internal-solver.cc b/cmdline/apt-internal-solver.cc
+index ceedd96c7..74ed38c50 100644
+--- a/cmdline/apt-internal-solver.cc
++++ b/cmdline/apt-internal-solver.cc
+@@ -35,6 +35,7 @@
+ #include <list>
+ #include <sstream>
+ #include <string>
++#include <libgen.h>
+ #include <unistd.h>
+ 
+ #include <apti18n.h>
+@@ -119,7 +120,7 @@ int main(int argc,const char *argv[])					/*{{{*/
+ 		_config->Set("Debug::EDSP::WriteSolution", true);
+ 
+ 	_config->Set("APT::System", "Debian APT solver interface");
+-	if (strcmp(basename(argv[0]), "solver3") == 0)
++	if (strcmp(basename((char*)argv[0]), "solver3") == 0)
+ 	   _config->Set("APT::Solver", "3.0");
+ 	else if (_config->Find("APT::Solver") != "3.0")
+ 	   _config->Set("APT::Solver", "internal");
+-- 
+2.39.5
+
diff --git a/meta/recipes-devtools/apt/apt/0001-strutl-Add-missing-include-cstdint-gcc-15.patch b/meta/recipes-devtools/apt/apt/0001-strutl-Add-missing-include-cstdint-gcc-15.patch
deleted file mode 100644
index b86ed8bb92..0000000000
--- a/meta/recipes-devtools/apt/apt/0001-strutl-Add-missing-include-cstdint-gcc-15.patch
+++ /dev/null
@@ -1,26 +0,0 @@ 
-From 9da1b0dbdcc90455bc9de49f73a96e7d18f83493 Mon Sep 17 00:00:00 2001
-From: Julian Andres Klode <julian.klode@canonical.com>
-Date: Tue, 18 Feb 2025 10:29:40 +0100
-Subject: [PATCH] strutl: Add missing #include <cstdint> [gcc 15]
-
-Closes: #1096322
-
-Upstream-Status: Backport [https://salsa.debian.org/apt-team/apt/-/commit/f82dcd7e4ebb3f70d28e9feb3621676f8c0cc024]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- apt-pkg/contrib/strutl.cc | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/apt-pkg/contrib/strutl.cc b/apt-pkg/contrib/strutl.cc
-index 67100f1..c0a1cbc 100644
---- a/apt-pkg/contrib/strutl.cc
-+++ b/apt-pkg/contrib/strutl.cc
-@@ -26,6 +26,7 @@
- 
- #include <algorithm>
- #include <array>
-+#include <cstdint>
- #include <iomanip>
- #include <limits>
- #include <locale>
diff --git a/meta/recipes-devtools/apt/apt_2.6.1.bb b/meta/recipes-devtools/apt/apt_3.0.3.bb
similarity index 88%
rename from meta/recipes-devtools/apt/apt_2.6.1.bb
rename to meta/recipes-devtools/apt/apt_3.0.3.bb
index b039599395..03a6869393 100644
--- a/meta/recipes-devtools/apt/apt_2.6.1.bb
+++ b/meta/recipes-devtools/apt/apt_3.0.3.bb
@@ -8,14 +8,9 @@  SECTION = "base"
 SRC_URI = "${DEBIAN_MIRROR}/main/a/apt/${BPN}_${PV}.tar.xz \
            file://triehash \
            file://0001-Disable-documentation-directory-altogether.patch \
-           file://0001-Fix-musl-build.patch \
            file://0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch \
            file://0001-cmake-Do-not-build-po-files.patch \
-           file://0001-aptwebserver.cc-Include-array.patch \
-           file://0001-Remove-using-std-binary_function.patch \
-           file://0001-strutl-Add-missing-include-cstdint-gcc-15.patch \
-           file://0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch \
-           file://0001-Fix-compilation-error-with-clang-libc-18.patch \
+           file://0001-fix-compilation-with-musl.patch \
            "
 
 SRC_URI:append:class-native = " \
@@ -28,7 +23,7 @@  SRC_URI:append:class-nativesdk = " \
            file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \
            "
 
-SRC_URI[sha256sum] = "86b888c901fa2e78f1bf52a2aaa2f400ff82a472b94ff0ac6631939ee68fa6fd"
+SRC_URI[sha256sum] = "5b5f6f6d26121742a83aa80d4ed0eb0c6ce9bea259518db412edefd95760e4ef"
 LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
 # the package is taken from snapshots.debian.org; that source is static and goes stale
@@ -47,7 +42,7 @@  USERADD_PARAM:${PN} = "--system --home /nonexistent --no-create-home _apt"
 
 BBCLASSEXTEND = "native nativesdk"
 
-DEPENDS += "db gnutls lz4 zlib bzip2 xz libgcrypt xxhash"
+DEPENDS += "db lz4 zlib bzip2 xz xxhash openssl"
 
 EXTRA_OECMAKE:append = " -DCURRENT_VENDOR=debian -DWITH_DOC=False \
     -DDPKG_DATADIR=${datadir}/dpkg \
@@ -55,8 +50,14 @@  EXTRA_OECMAKE:append = " -DCURRENT_VENDOR=debian -DWITH_DOC=False \
     -DCMAKE_DISABLE_FIND_PACKAGE_ZSTD=True \
     -DCMAKE_DISABLE_FIND_PACKAGE_SECCOMP=True \
     -DWITH_TESTS=False \
+    -DCOMMON_ARCH=${DPKG_ARCH} \
 "
 
+PACKAGECONFIG ??= ""
+# usrmerge displays a runtime warning during package installation in case 
+# the system doesn't have merged /usr folders.
+PACKAGECONFIG[usrmerge] = "-DREQUIRE_MERGED_USR=ON,-DREQUIRE_MERGED_USR=OFF"
+
 do_configure:prepend() {
 	echo "set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH )" >>  ${WORKDIR}/toolchain.cmake
 }