summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMake/FindBerkeley.cmake (renamed from CMake/FindBerkeleyDB.cmake)18
-rw-r--r--CMake/FindGCRYPT.cmake (renamed from CMake/FindGcrypt.cmake)0
-rw-r--r--CMake/FindSECCOMP.cmake (renamed from CMake/FindSeccomp.cmake)0
-rw-r--r--CMake/FindZSTD.cmake (renamed from CMake/FindZstd.cmake)0
-rw-r--r--CMakeLists.txt12
-rw-r--r--apt-pkg/packagemanager.cc5
-rw-r--r--apt-private/private-cmndline.cc12
-rw-r--r--apt-private/private-cmndline.h1
-rw-r--r--apt-private/private-main.cc1
-rw-r--r--cmdline/apt-cache.cc12
-rw-r--r--debian/apt.install7
-rw-r--r--debian/apt.lintian-overrides10
-rwxr-xr-xdebian/apt.postinst80
-rw-r--r--debian/changelog36
-rw-r--r--debian/libapt-pkg-doc.lintian-overrides2
-rw-r--r--debian/libapt-pkg6.0.symbols146
-rw-r--r--doc/apt-verbatim.ent4
-rw-r--r--doc/examples/configure-index3
-rw-r--r--doc/po/apt-doc.pot4
-rw-r--r--doc/po/nl.po62
-rw-r--r--doc/po/pt.po27
-rw-r--r--ftparchive/CMakeLists.txt6
-rw-r--r--methods/CMakeLists.txt2
-rw-r--r--methods/rred.cc163
-rw-r--r--po/apt-all.pot4
-rwxr-xr-xtest/integration/test-00-commands-have-help6
-rwxr-xr-xtest/integration/test-method-rred51
-rwxr-xr-xtest/integration/test-ubuntu-bug-1876495-pkgnames-virtual24
-rwxr-xr-xtest/integration/test-ubuntu-bug-835625-multiarch-lockstep-installed-first4
29 files changed, 348 insertions, 354 deletions
diff --git a/CMake/FindBerkeleyDB.cmake b/CMake/FindBerkeley.cmake
index 34bc3b0d1..a6215d728 100644
--- a/CMake/FindBerkeleyDB.cmake
+++ b/CMake/FindBerkeley.cmake
@@ -1,10 +1,10 @@
# - Try to find Berkeley DB
# Once done this will define
#
-# BERKELEY_DB_FOUND - system has Berkeley DB
-# BERKELEY_DB_INCLUDE_DIRS - the Berkeley DB include directory
-# BERKELEY_DB_LIBRARIES - Link these to use Berkeley DB
-# BERKELEY_DB_DEFINITIONS - Compiler switches required for using Berkeley DB
+# BERKELEY_FOUND - system has Berkeley DB
+# BERKELEY_INCLUDE_DIRS - the Berkeley DB include directory
+# BERKELEY_LIBRARIES - Link these to use Berkeley DB
+# BERKELEY_DEFINITIONS - Compiler switches required for using Berkeley DB
# Copyright (c) 2006, Alexander Dymo, <adymo@kdevelop.org>
# Copyright (c) 2016, Julian Andres Klode <jak@debian.org>
@@ -35,7 +35,7 @@
# We need NO_DEFAULT_PATH here, otherwise CMake helpfully picks up the wrong
# db.h on BSD systems instead of the Berkeley DB one.
-find_path(BERKELEY_DB_INCLUDE_DIRS db.h
+find_path(BERKELEY_INCLUDE_DIRS db.h
${CMAKE_INSTALL_FULL_INCLUDEDIR}/db5
/usr/local/include/db5
/usr/include/db5
@@ -51,9 +51,9 @@ find_path(BERKELEY_DB_INCLUDE_DIRS db.h
NO_DEFAULT_PATH
)
-find_library(BERKELEY_DB_LIBRARIES NAMES db db-5)
+find_library(BERKELEY_LIBRARIES NAMES db db-5)
include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(Berkeley "Could not find Berkeley DB >= 4.1" BERKELEY_DB_INCLUDE_DIRS BERKELEY_DB_LIBRARIES)
-# show the BERKELEY_DB_INCLUDE_DIRS and BERKELEY_DB_LIBRARIES variables only in the advanced view
-mark_as_advanced(BERKELEY_DB_INCLUDE_DIRS BERKELEY_DB_LIBRARIES)
+find_package_handle_standard_args(Berkeley "Could not find Berkeley DB >= 4.1" BERKELEY_INCLUDE_DIRS BERKELEY_LIBRARIES)
+# show the BERKELEY_INCLUDE_DIRS and BERKELEY_LIBRARIES variables only in the advanced view
+mark_as_advanced(BERKELEY_INCLUDE_DIRS BERKELEY_LIBRARIES)
diff --git a/CMake/FindGcrypt.cmake b/CMake/FindGCRYPT.cmake
index 56bfc9fef..56bfc9fef 100644
--- a/CMake/FindGcrypt.cmake
+++ b/CMake/FindGCRYPT.cmake
diff --git a/CMake/FindSeccomp.cmake b/CMake/FindSECCOMP.cmake
index 5cfd13a37..5cfd13a37 100644
--- a/CMake/FindSeccomp.cmake
+++ b/CMake/FindSECCOMP.cmake
diff --git a/CMake/FindZstd.cmake b/CMake/FindZSTD.cmake
index 68118049b..68118049b 100644
--- a/CMake/FindZstd.cmake
+++ b/CMake/FindZSTD.cmake
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 139623794..973fb2e9f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -80,8 +80,8 @@ add_optional_compile_options(Wsuggest-override)
add_optional_compile_options(Werror=suggest-override)
add_optional_compile_options(Werror=return-type)
# apt-ftparchive dependencies
-find_package(BerkeleyDB REQUIRED)
-if (BERKELEY_DB_FOUND)
+find_package(Berkeley REQUIRED)
+if (BERKELEY_FOUND)
set(HAVE_BDB 1)
endif()
@@ -113,7 +113,7 @@ if (LZ4_FOUND)
set(HAVE_LZ4 1)
endif()
-find_package(Zstd)
+find_package(ZSTD)
if (ZSTD_FOUND)
set(HAVE_ZSTD 1)
endif()
@@ -129,12 +129,12 @@ if (SYSTEMD_FOUND)
set(HAVE_SYSTEMD 1)
endif()
-find_package(Seccomp)
+find_package(SECCOMP)
if (SECCOMP_FOUND)
set(HAVE_SECCOMP 1)
endif()
-find_package(Gcrypt REQUIRED)
+find_package(GCRYPT REQUIRED)
# Mount()ing and stat()ing and friends
check_symbol_exists(statfs sys/vfs.h HAVE_VFS_H)
@@ -204,7 +204,7 @@ check_cxx_target(HAVE_FMV_SSE42_AND_CRC32DI "sse4.2" "__builtin_ia32_crc32di(0,i
# Configure some variables like package, version and architecture.
set(PACKAGE ${PROJECT_NAME})
set(PACKAGE_MAIL "APT Development Team <deity@lists.debian.org>")
-set(PACKAGE_VERSION "2.1.10")
+set(PACKAGE_VERSION "2.1.12")
string(REGEX MATCH "^[0-9.]+" PROJECT_VERSION ${PACKAGE_VERSION})
if (NOT DEFINED DPKG_DATADIR)
diff --git a/apt-pkg/packagemanager.cc b/apt-pkg/packagemanager.cc
index 515de972c..a1b3f4537 100644
--- a/apt-pkg/packagemanager.cc
+++ b/apt-pkg/packagemanager.cc
@@ -609,7 +609,8 @@ bool pkgPackageManager::SmartConfigure(PkgIterator Pkg, int const Depth)
List->Flag(Pkg,pkgOrderList::Configured,pkgOrderList::States);
- if ((Cache[Pkg].InstVerIter(Cache)->MultiArch & pkgCache::Version::Same) == pkgCache::Version::Same)
+ if ((Cache[Pkg].InstVerIter(Cache)->MultiArch & pkgCache::Version::Same) == pkgCache::Version::Same &&
+ not List->IsFlag(Pkg, pkgOrderList::Immediate))
for (PkgIterator P = Pkg.Group().PackageList();
P.end() == false; P = Pkg.Group().NextPkg(P))
{
@@ -1007,7 +1008,7 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg, bool const Immediate, int c
if (Immediate == true) {
// Perform immediate configuration of the package.
if (SmartConfigure(Pkg, Depth + 1) == false)
- _error->Error(_("Could not perform immediate configuration on '%s'. "
+ _error->Warning(_("Could not perform immediate configuration on '%s'. "
"Please see man 5 apt.conf under APT::Immediate-Configure for details. (%d)"),Pkg.FullName().c_str(),2);
}
diff --git a/apt-private/private-cmndline.cc b/apt-private/private-cmndline.cc
index bcafe785b..588dea06b 100644
--- a/apt-private/private-cmndline.cc
+++ b/apt-private/private-cmndline.cc
@@ -362,6 +362,14 @@ static bool addArgumentsAPT(std::vector<CommandLine::Args> &Args, char const * c
return true;
}
/*}}}*/
+static bool addArgumentsRred(std::vector<CommandLine::Args> &Args, char const * const /*Cmd*/)/*{{{*/
+{
+ addArg('t', nullptr, "Rred::T", 0);
+ addArg('f', nullptr, "Rred::F", 0);
+ addArg('C', "compress", "Rred::Compress",CommandLine::HasArg);
+ return true;
+}
+ /*}}}*/
std::vector<CommandLine::Args> getCommandArgs(APT_CMD const Program, char const * const Cmd)/*{{{*/
{
std::vector<CommandLine::Args> Args;
@@ -384,6 +392,7 @@ std::vector<CommandLine::Args> getCommandArgs(APT_CMD const Program, char const
case APT_CMD::APT_INTERNAL_SOLVER: addArgumentsAPTInternalSolver(Args, Cmd); break;
case APT_CMD::APT_MARK: addArgumentsAPTMark(Args, Cmd); break;
case APT_CMD::APT_SORTPKG: addArgumentsAPTSortPkgs(Args, Cmd); break;
+ case APT_CMD::RRED: addArgumentsRred(Args, Cmd); break;
}
// options without a command
@@ -441,11 +450,12 @@ static bool ShowCommonHelp(APT_CMD const Binary, CommandLine &CmdL, std::vector<
case APT_CMD::APT_INTERNAL_SOLVER: cmd = nullptr; break;
case APT_CMD::APT_MARK: cmd = "apt-mark(8)"; break;
case APT_CMD::APT_SORTPKG: cmd = "apt-sortpkgs(1)"; break;
+ case APT_CMD::RRED: cmd = nullptr; break;
}
if (cmd != nullptr)
ioprintf(std::cout, _("See %s for more information about the available commands."), cmd);
if (Binary != APT_CMD::APT_DUMP_SOLVER && Binary != APT_CMD::APT_INTERNAL_SOLVER &&
- Binary != APT_CMD::APT_INTERNAL_PLANNER)
+ Binary != APT_CMD::APT_INTERNAL_PLANNER && Binary != APT_CMD::RRED)
std::cout << std::endl <<
_("Configuration options and syntax is detailed in apt.conf(5).\n"
"Information about how to configure sources can be found in sources.list(5).\n"
diff --git a/apt-private/private-cmndline.h b/apt-private/private-cmndline.h
index 37fe2c91a..22e25d280 100644
--- a/apt-private/private-cmndline.h
+++ b/apt-private/private-cmndline.h
@@ -23,6 +23,7 @@ enum class APT_CMD {
APT_SORTPKG,
APT_DUMP_SOLVER,
APT_INTERNAL_PLANNER,
+ RRED,
};
struct aptDispatchWithHelp
{
diff --git a/apt-private/private-main.cc b/apt-private/private-main.cc
index e9f65bd83..d4ce0ab2a 100644
--- a/apt-private/private-main.cc
+++ b/apt-private/private-main.cc
@@ -33,6 +33,7 @@ void InitLocale(APT_CMD const binary) /*{{{*/
case APT_CMD::APT_HELPER:
case APT_CMD::APT_GET:
case APT_CMD::APT_MARK:
+ case APT_CMD::RRED:
textdomain("apt");
break;
case APT_CMD::APT_EXTRACTTEMPLATES:
diff --git a/cmdline/apt-cache.cc b/cmdline/apt-cache.cc
index 23ab7e47f..ffe650970 100644
--- a/cmdline/apt-cache.cc
+++ b/cmdline/apt-cache.cc
@@ -980,15 +980,13 @@ static bool ShowPkgNames(CommandLine &CmdL)
if (unlikely(CacheFile.BuildCaches(NULL, false) == false))
return false;
pkgCache::GrpIterator I = CacheFile.GetPkgCache()->GrpBegin();
- bool const All = _config->FindB("APT::Cache::AllNames","false");
+ bool const All = _config->FindB("APT::Cache::AllNames", false);
if (CmdL.FileList[1] != 0)
{
for (;I.end() != true; ++I)
{
- if (All == false && I->FirstPackage == 0)
- continue;
- if (I.FindPkg("any")->VersionList == 0)
+ if (All == false && (I.PackageList().end() || I.PackageList()->VersionList == 0))
continue;
if (strncmp(I.Name(),CmdL.FileList[1],strlen(CmdL.FileList[1])) == 0)
cout << I.Name() << endl;
@@ -1000,13 +998,11 @@ static bool ShowPkgNames(CommandLine &CmdL)
// Show all pkgs
for (;I.end() != true; ++I)
{
- if (All == false && I->FirstPackage == 0)
- continue;
- if (I.FindPkg("any")->VersionList == 0)
+ if (All == false && (I.PackageList().end() || I.PackageList()->VersionList == 0))
continue;
cout << I.Name() << endl;
}
-
+
return true;
}
/*}}}*/
diff --git a/debian/apt.install b/debian/apt.install
index f745b3de5..3658bf5e6 100644
--- a/debian/apt.install
+++ b/debian/apt.install
@@ -25,6 +25,7 @@ usr/share/man/*/*/apt-get.*
usr/share/man/*/*/apt-key.*
usr/share/man/*/*/apt-mark.*
usr/share/man/*/*/apt-secure.*
+usr/share/man/*/*/apt-patterns.*
usr/share/man/*/*/apt.*
usr/share/man/*/*/apt_preferences.*
usr/share/man/*/*/apt_auth.*
@@ -38,11 +39,9 @@ usr/share/man/*/apt-key.*
usr/share/man/*/apt-mark.*
usr/share/man/*/apt-secure.*
usr/share/man/*/apt-patterns.*
-usr/share/man/*/apt-transport-http.*
-usr/share/man/*/apt-transport-https.*
-usr/share/man/*/apt-transport-mirror.*
usr/share/man/*/apt.*
-usr/share/man/*/apt_auth.*
usr/share/man/*/apt_preferences.*
+usr/share/man/*/apt_auth.*
+usr/share/man/*/apt-transport-*.*
usr/share/man/*/sources.list.*
var/
diff --git a/debian/apt.lintian-overrides b/debian/apt.lintian-overrides
index 7d1e892a3..78a47a1b3 100644
--- a/debian/apt.lintian-overrides
+++ b/debian/apt.lintian-overrides
@@ -1,5 +1,11 @@
# the private library is for internal sharing only
apt: package-name-doesnt-match-sonames
-apt: systemd-service-file-missing-install-key lib/systemd/system/apt-daily.service
-apt: shlib-calls-exit usr/lib*/libapt-private.so.0.0.0
+apt: exit-in-shared-library usr/lib*/libapt-private.so.0.0.0
apt: no-symbols-control-file usr/lib*/libapt-private.so.0.0.0
+# we are implementing our own fallback and it is a minor usecase only
+apt: missing-depends-on-sensible-utils sensible-pager usr/lib*/libapt-private.so.0.0.0
+# these man pages document usage/config for things called via apt
+apt: spare-manual-page usr/share/man*/man1/apt-transport-http.1.gz
+apt: spare-manual-page usr/share/man*/man1/apt-transport-https.1.gz
+apt: spare-manual-page usr/share/man*/man1/apt-transport-mirror.1.gz
+apt: spare-manual-page usr/share/man*/man8/apt-secure.8.gz
diff --git a/debian/apt.postinst b/debian/apt.postinst
index 0c6b5db9c..837b46b7b 100755
--- a/debian/apt.postinst
+++ b/debian/apt.postinst
@@ -1,86 +1,10 @@
#! /bin/sh
-
set -e
-# summary of how this script can be called:
-# * <postinst> `configure' <most-recently-configured-version>
-# * <old-postinst> `abort-upgrade' <new version>
-# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
-# <new-version>
-# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
-# <failed-install-package> <version> `removing'
-# <conflicting-package> <version>
-# for details, see http://www.debian.org/doc/debian-policy/ or
-# the debian-policy package
-
-case "$1" in
- configure)
- if dpkg --compare-versions "$2" lt 1.1~exp4; then
- # apt-key before 0.9.10 could leave empty keyrings around
- find /etc/apt/trusted.gpg.d/ -name '*.gpg' | while read keyring; do
- if ! test -s "$keyring"; then
- rm -f "$keyring"
- fi
- done
- # apt-key before 0.9.8.2 could create 0600 trusted.gpg file
- if test -e /etc/apt/trusted.gpg ; then
- chmod -f 0644 /etc/apt/trusted.gpg || true
- fi
- fi
-
- if dpkg --compare-versions "$2" lt-nl 0.9.9.5; then
- # we are using tmpfiles for both
- rm -f /etc/apt/trustdb.gpg
- # this removal was done unconditional since 0.8.15.3
- SECRING='/etc/apt/secring.gpg'
- # test if secring is an empty normal file
- if test -f $SECRING -a ! -s $SECRING; then
- rm -f $SECRING
- fi
- fi
-
+if [ "$1" = 'configure' ]; then
# add unprivileged user for the apt methods
adduser --force-badname --system --home /nonexistent \
--no-create-home --quiet _apt || true
-
- # Fixup any mistake in the home directory of the _apt user
- if dpkg --compare-versions "$2" lt-nl 1.1~exp10~; then
- usermod --home /nonexistent _apt
- fi
-
- # deal with upgrades from experimental
- if dpkg --compare-versions "$2" 'eq' '1.1~exp3'; then
- # libapt will setup partial/ at runtime
- chown -R root:root /var/lib/apt/lists /var/cache/apt/archives || true
- fi
-
- # ensure tighter permissions on the logs, see LP: #975199
- if dpkg --compare-versions "$2" lt-nl 0.9.7.7; then
- # ensure permissions are right
- chmod -f 0640 /var/log/apt/term.log* || true
- fi
-
- # create kernel autoremoval denylist on update
- if dpkg --compare-versions "$2" lt 0.9.9.3; then
- /etc/kernel/postinst.d/apt-auto-removal
- fi
- ;;
-
- abort-upgrade|abort-remove|abort-deconfigure)
-
- ;;
-
- *)
- echo "postinst called with unknown argument \`$1'" >&2
- exit 1
- ;;
-esac
-
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
+fi
#DEBHELPER#
-
-exit 0
-
-
diff --git a/debian/changelog b/debian/changelog
index cfc6b6ddc..39afd8340 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,38 @@
+apt (2.1.12) unstable; urgency=medium
+
+ [ Julian Andres Klode ]
+ * pkgnames: Correctly set the default for AllNames to false (LP: #1876495)
+ * pkgnames: Do not exclude virtual packages with --all-names
+ * Remove expired domain that became nsfw from debian/changelog
+ * Do not immediately configure m-a: same packages in lockstep (LP: #1871268)
+
+ [ Américo Monteiro ]
+ * Portuguese manpages translation update (Closes: #968414)
+
+ [ David Kalnischkies ]
+ * Rename CMake find_package helpers to avoid developer warnings
+ * Install translated apt-patterns(7) man pages
+ * Remove ancient versions support from apts postinst
+ * Update libapt-pkg6.0 symbols file
+ * Refresh lintian-overrides of apt and libapt-pkg-doc
+
+ -- Julian Andres Klode <jak@debian.org> Mon, 23 Nov 2020 17:52:37 +0100
+
+apt (2.1.11) unstable; urgency=medium
+
+ [ JCGoran ]
+ * Fix "extended_states" typo in apt-mark(8) (Closes: #969086)
+
+ [ Julian Andres Klode ]
+ * doc: Bump Ubuntu release from focal to groovy
+ * Do not produce late error if immediate configuration fails, just warn
+ (Closes: #953260, #972552) (LP: #1871268)
+
+ [ Frans Spiesschaert ]
+ * Dutch manpages translation update (Closes: #970037)
+
+ -- Julian Andres Klode <juliank@ubuntu.com> Wed, 21 Oct 2020 11:53:18 +0200
+
apt (2.1.10) unstable; urgency=medium
* Default Acquire::AllowReleaseInfoChange::Suite to "true" (Closes: #931566)
@@ -791,7 +826,6 @@ apt (1.7.0~alpha3) experimental; urgency=medium
supply any InRelease file without it having to be verified. (LP: #1787752)
- apt-pkg/acquire-item.cc:: clear alternative URIs for mirror:// between steps
- CVE-2018-0501
- - https://mirror.fail/
[ Jean-Ralph Aviles ]
* Add trailing newline to output of edit-sources.
diff --git a/debian/libapt-pkg-doc.lintian-overrides b/debian/libapt-pkg-doc.lintian-overrides
index d7cbc437e..72403d3a1 100644
--- a/debian/libapt-pkg-doc.lintian-overrides
+++ b/debian/libapt-pkg-doc.lintian-overrides
@@ -1,3 +1 @@
-# embedded by doxygen, see /usr/share/doc/doxygen/README.jquery
-libapt-pkg-doc: embedded-javascript-library
libapt-pkg-doc: duplicate-files usr/share/doc/libapt-pkg-doc/html/*
diff --git a/debian/libapt-pkg6.0.symbols b/debian/libapt-pkg6.0.symbols
index a9ffaf882..03a9e0902 100644
--- a/debian/libapt-pkg6.0.symbols
+++ b/debian/libapt-pkg6.0.symbols
@@ -35,7 +35,6 @@ libapt-pkg.so.6.0 libapt-pkg6.0 #MINVER#
(c++)"stringcasecmp(__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, char const*, char const*)@APTPKG_6.0" 0.8.0
(c++)"stringcasecmp(__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >)@APTPKG_6.0" 0.8.0
(c++)"stringcasecmp(char const*, char const*, char const*, char const*)@APTPKG_6.0" 0.8.0
- (c++)"tolower_ascii(int)@APTPKG_6.0" 0.8.0
(c++)"ParseQuoteWord(char const*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@APTPKG_6.0" 0.8.0
(c++)"ReadConfigFile(Configuration&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool const&, unsigned int const&)@APTPKG_6.0" 0.8.0
(c++)"TokSplitString(char, char*, char**, unsigned long)@APTPKG_6.0" 0.8.0
@@ -142,12 +141,6 @@ libapt-pkg.so.6.0 libapt-pkg6.0 #MINVER#
(c++)"CommandLine::HandleOpt(int&, int, char const**, char const*&, CommandLine::Args*, bool)@APTPKG_6.0" 0.8.0
(c++)"CommandLine::CommandLine(CommandLine::Args*, Configuration*)@APTPKG_6.0" 0.8.0
(c++)"CommandLine::~CommandLine()@APTPKG_6.0" 0.8.0
- (c++)"DynamicMMap::WriteString(char const*, unsigned long)@APTPKG_6.0" 0.8.0
- (c++)"DynamicMMap::Grow()@APTPKG_6.0" 0.8.0
- (c++)"DynamicMMap::Allocate(unsigned long)@APTPKG_6.0" 0.8.0
- (c++)"DynamicMMap::DynamicMMap(FileFd&, unsigned long, unsigned long const&, unsigned long const&, unsigned long const&)@APTPKG_6.0" 0.8.0
- (c++)"DynamicMMap::DynamicMMap(unsigned long, unsigned long const&, unsigned long const&, unsigned long const&)@APTPKG_6.0" 0.8.0
- (c++)"DynamicMMap::~DynamicMMap()@APTPKG_6.0" 0.8.0
(c++)"GlobalError::DumpErrors(std::basic_ostream<char, std::char_traits<char> >&, GlobalError::MsgType const&, bool const&)@APTPKG_6.0" 0.8.0
(c++)"GlobalError::PopMessage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@APTPKG_6.0" 0.8.0
(c++)"GlobalError::InsertErrno(GlobalError::MsgType const&, char const*, char const*, ...)@APTPKG_6.0" 0.8.0
@@ -339,13 +332,6 @@ libapt-pkg.so.6.0 libapt-pkg6.0 #MINVER#
(c++)"URI::CopyFrom(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 0.8.0
(c++)"URI::SiteOnly(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 0.8.0
(c++)"URI::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >()@APTPKG_6.0" 0.8.0
- (c++)"MMap::Map(FileFd&)@APTPKG_6.0" 0.8.0
- (c++)"MMap::Sync(unsigned long, unsigned long)@APTPKG_6.0" 0.8.0
- (c++)"MMap::Sync()@APTPKG_6.0" 0.8.0
- (c++)"MMap::Close(bool)@APTPKG_6.0" 0.8.0
- (c++)"MMap::MMap(FileFd&, unsigned long)@APTPKG_6.0" 0.8.0
- (c++)"MMap::MMap(unsigned long)@APTPKG_6.0" 0.8.0
- (c++)"MMap::~MMap()@APTPKG_6.0" 0.8.0
(c++)"FileFd::Size()@APTPKG_6.0" 0.8.0
(c++)"FileFd::Sync()@APTPKG_6.0" 0.8.0
(c++)"FileFd::Tell()@APTPKG_6.0" 0.8.0
@@ -383,14 +369,6 @@ libapt-pkg.so.6.0 libapt-pkg6.0 #MINVER#
(c++)"IndexCopy::ChopDirs(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int)@APTPKG_6.0" 0.8.0
(c++)"IndexCopy::GrabFirst(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned int)@APTPKG_6.0" 0.8.0
(c++)"SigVerify::CopyAndVerify(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >)@APTPKG_6.0" 0.8.0
- (c++)"debSystem::Initialize(Configuration&)@APTPKG_6.0" 0.8.0
- (c++)"debSystem::AddStatusFiles(std::vector<pkgIndexFile*, std::allocator<pkgIndexFile*> >&)@APTPKG_6.0" 0.8.0
- (c++)"debSystem::ArchiveSupported(char const*)@APTPKG_6.0" 0.8.0
- (c++)"debSystem::Lock()@APTPKG_6.0" 0.8.0
- (c++)"debSystem::Score(Configuration const&)@APTPKG_6.0" 0.8.0
- (c++)"debSystem::UnLock(bool)@APTPKG_6.0" 0.8.0
- (c++)"debSystem::debSystem()@APTPKG_6.0" 0.8.0
- (c++)"debSystem::~debSystem()@APTPKG_6.0" 0.8.0
(c++)"pkgDPkgPM::DoTerminalPty(int)@APTPKG_6.0" 0.8.0
(c++)"pkgDPkgPM::WriteHistoryTag(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)@APTPKG_6.0" 0.8.0
(c++)"pkgDPkgPM::WriteApportReport(char const*, char const*)@APTPKG_6.0" 0.8.0
@@ -453,8 +431,6 @@ libapt-pkg.so.6.0 libapt-pkg6.0 #MINVER#
(c++)"pkgCache::VerIterator::Automatic() const@APTPKG_6.0" 0.8.0
(c++)"pkgCache::sHash(APT::StringView) const@APTPKG_6.0" 1.9~
(c++)"pkgCache::Header::CheckSizes(pkgCache::Header&) const@APTPKG_6.0" 0.8.0
- (c++)"debSystem::CreatePM(pkgDepCache*) const@APTPKG_6.0" 0.8.0
- (c++)"debSystem::FindIndex(pkgCache::PkgFileIterator, pkgIndexFile*&) const@APTPKG_6.0" 0.8.0
(c++)"metaIndex::GetURI[abi:cxx11]() const@APTPKG_6.0" 0.8.0
(c++)"metaIndex::GetDist[abi:cxx11]() const@APTPKG_6.0" 0.8.0
(c++)"metaIndex::GetType() const@APTPKG_6.0" 0.8.0
@@ -462,14 +438,12 @@ libapt-pkg.so.6.0 libapt-pkg6.0 #MINVER#
(c++)"typeinfo for SourceCopy@APTPKG_6.0" 0.8.0
(c++)"typeinfo for pkgAcqFile@APTPKG_6.0" 0.8.0
(c++)"typeinfo for pkgAcquire@APTPKG_6.0" 0.8.0
- (c++)"typeinfo for DynamicMMap@APTPKG_6.0" 0.8.0
(c++)"typeinfo for PackageCopy@APTPKG_6.0" 0.8.0
(c++)"typeinfo for pkgDepCache@APTPKG_6.0" 0.8.0
(c++)"typeinfo for pkgSimulate@APTPKG_6.0" 0.8.0
(c++)"typeinfo for pkgAcqMethod@APTPKG_6.0" 0.8.0
(c++)"typeinfo for pkgCacheFile@APTPKG_6.0" 0.8.0
(c++)"typeinfo for pkgIndexFile@APTPKG_6.0" 0.8.0
- (c++)"typeinfo for WeakPointable@APTPKG_6.0" 0.8.0
(c++)"typeinfo for pkgAcqArchive@APTPKG_6.0" 0.8.0
(c++)"typeinfo for pkgTagSection@APTPKG_6.0" 0.8.0
(c++)"typeinfo for OpTextProgress@APTPKG_6.0" 0.8.0
@@ -478,11 +452,9 @@ libapt-pkg.so.6.0 libapt-pkg6.0 #MINVER#
(c++)"typeinfo for debVersioningSystem@APTPKG_6.0" 0.8.0
(c++)"typeinfo for pkgUdevCdromDevices@APTPKG_6.0" 0.8.0
(c++)"typeinfo for pkgVersioningSystem@APTPKG_6.0" 0.8.0
- (c++)"typeinfo for MMap@APTPKG_6.0" 0.8.0
(c++)"typeinfo for FileFd@APTPKG_6.0" 0.8.0
(c++)"typeinfo for pkgCache@APTPKG_6.0" 0.8.0
(c++)"typeinfo for IndexCopy@APTPKG_6.0" 0.8.0
- (c++)"typeinfo for debSystem@APTPKG_6.0" 0.8.0
(c++)"typeinfo for metaIndex@APTPKG_6.0" 0.8.0
(c++)"typeinfo for pkgDPkgPM@APTPKG_6.0" 0.8.0
(c++)"typeinfo for pkgPolicy@APTPKG_6.0" 0.8.0
@@ -503,14 +475,12 @@ libapt-pkg.so.6.0 libapt-pkg6.0 #MINVER#
(c++)"typeinfo name for SourceCopy@APTPKG_6.0" 0.8.0
(c++)"typeinfo name for pkgAcqFile@APTPKG_6.0" 0.8.0
(c++)"typeinfo name for pkgAcquire@APTPKG_6.0" 0.8.0
- (c++)"typeinfo name for DynamicMMap@APTPKG_6.0" 0.8.0
(c++)"typeinfo name for PackageCopy@APTPKG_6.0" 0.8.0
(c++)"typeinfo name for pkgDepCache@APTPKG_6.0" 0.8.0
(c++)"typeinfo name for pkgSimulate@APTPKG_6.0" 0.8.0
(c++)"typeinfo name for pkgAcqMethod@APTPKG_6.0" 0.8.0
(c++)"typeinfo name for pkgCacheFile@APTPKG_6.0" 0.8.0
(c++)"typeinfo name for pkgIndexFile@APTPKG_6.0" 0.8.0
- (c++)"typeinfo name for WeakPointable@APTPKG_6.0" 0.8.0
(c++)"typeinfo name for pkgAcqArchive@APTPKG_6.0" 0.8.0
(c++)"typeinfo name for pkgTagSection@APTPKG_6.0" 0.8.0
(c++)"typeinfo name for OpTextProgress@APTPKG_6.0" 0.8.0
@@ -519,11 +489,9 @@ libapt-pkg.so.6.0 libapt-pkg6.0 #MINVER#
(c++)"typeinfo name for debVersioningSystem@APTPKG_6.0" 0.8.0
(c++)"typeinfo name for pkgUdevCdromDevices@APTPKG_6.0" 0.8.0
(c++)"typeinfo name for pkgVersioningSystem@APTPKG_6.0" 0.8.0
- (c++)"typeinfo name for MMap@APTPKG_6.0" 0.8.0
(c++)"typeinfo name for FileFd@APTPKG_6.0" 0.8.0
(c++)"typeinfo name for pkgCache@APTPKG_6.0" 0.8.0
(c++)"typeinfo name for IndexCopy@APTPKG_6.0" 0.8.0
- (c++)"typeinfo name for debSystem@APTPKG_6.0" 0.8.0
(c++)"typeinfo name for metaIndex@APTPKG_6.0" 0.8.0
(c++)"typeinfo name for pkgDPkgPM@APTPKG_6.0" 0.8.0
(c++)"typeinfo name for pkgPolicy@APTPKG_6.0" 0.8.0
@@ -544,7 +512,6 @@ libapt-pkg.so.6.0 libapt-pkg6.0 #MINVER#
(c++)"vtable for SourceCopy@APTPKG_6.0" 0.8.0
(c++)"vtable for pkgAcqFile@APTPKG_6.0" 0.8.0
(c++)"vtable for pkgAcquire@APTPKG_6.0" 0.8.0
- (c++)"vtable for DynamicMMap@APTPKG_6.0" 0.8.0
(c++)"vtable for PackageCopy@APTPKG_6.0" 0.8.0
(c++)"vtable for pkgDepCache@APTPKG_6.0" 0.8.0
(c++)"vtable for pkgSimulate@APTPKG_6.0" 0.8.0
@@ -559,11 +526,9 @@ libapt-pkg.so.6.0 libapt-pkg6.0 #MINVER#
(c++)"vtable for debVersioningSystem@APTPKG_6.0" 0.8.0
(c++)"vtable for pkgUdevCdromDevices@APTPKG_6.0" 0.8.0
(c++)"vtable for pkgVersioningSystem@APTPKG_6.0" 0.8.0
- (c++)"vtable for MMap@APTPKG_6.0" 0.8.0
(c++)"vtable for FileFd@APTPKG_6.0" 0.8.0
(c++)"vtable for pkgCache@APTPKG_6.0" 0.8.0
(c++)"vtable for IndexCopy@APTPKG_6.0" 0.8.0
- (c++)"vtable for debSystem@APTPKG_6.0" 0.8.0
(c++)"vtable for metaIndex@APTPKG_6.0" 0.8.0
(c++)"vtable for pkgDPkgPM@APTPKG_6.0" 0.8.0
(c++)"vtable for pkgPolicy@APTPKG_6.0" 0.8.0
@@ -579,11 +544,8 @@ libapt-pkg.so.6.0 libapt-pkg6.0 #MINVER#
(c++)"vtable for pkgSourceList::Type@APTPKG_6.0" 0.8.0
(c++)"vtable for pkgSrcRecords::Parser@APTPKG_6.0" 0.8.0
(c++)"vtable for APT::CacheSetHelper@APTPKG_6.0" 0.8.0
- (c++)"operator<<(std::basic_ostream<char, std::char_traits<char> >&, pkgCache::DepIterator)@APTPKG_6.0" 0.8.0
- (c++)"operator<<(std::basic_ostream<char, std::char_traits<char> >&, pkgCache::PkgIterator)@APTPKG_6.0" 0.8.0
_config@APTPKG_6.0 0.8.0
_system@APTPKG_6.0 0.8.0
- debSys@APTPKG_6.0 0.8.0
debVS@APTPKG_6.0 0.8.0
pkgLibVersion@APTPKG_6.0 0.8.0
pkgVersion@APTPKG_6.0 0.8.0
@@ -672,7 +634,6 @@ libapt-pkg.so.6.0 libapt-pkg6.0 #MINVER#
(c++)"pkgTagFile::Jump(pkgTagSection&, unsigned long long)@APTPKG_6.0" 0.8.16~exp6
(c++)"pkgTagFile::Offset()@APTPKG_6.0" 0.8.16~exp6
(c++)"pkgTagFile::pkgTagFile(FileFd*, unsigned long long)@APTPKG_6.0" 0.8.16~exp6
- (c++)"DynamicMMap::RawAllocate(unsigned long long, unsigned long)@APTPKG_6.0" 0.8.16~exp6
(c++)"PackageCopy::GetFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned long long&)@APTPKG_6.0" 0.8.16~exp6
(c++)"pkgTagSection::~pkgTagSection()@APTPKG_6.0" 0.8.16~exp6
(c++)"pkgAcquireStatus::Fetched(unsigned long long, unsigned long long)@APTPKG_6.0" 0.8.16~exp6
@@ -706,7 +667,6 @@ libapt-pkg.so.6.0 libapt-pkg6.0 #MINVER#
(c++)"pkgDepCache::AddStates(pkgCache::PkgIterator const&, bool)@APTPKG_6.0" 0.8.16~exp6
### used internally by public interfaces - if you use them directly, you can keep the pieces
### orderlist rework: the touched methods are protected
- (c++)"SigINT(int)@APTPKG_6.0" 0.8.16~exp14
(c++)"pkgPackageManager::SigINTStop@APTPKG_6.0" 0.8.16~exp14
(c++)"pkgPackageManager::SmartUnPack(pkgCache::PkgIterator, bool, int)@APTPKG_6.0" 0.8.16~exp14
(c++)"pkgPackageManager::SmartConfigure(pkgCache::PkgIterator, int)@APTPKG_6.0" 0.8.16~exp14
@@ -1032,46 +992,10 @@ libapt-pkg.so.6.0 libapt-pkg6.0 #MINVER#
(c++)"APT::VersionContainerInterface::VersionContainerInterface(APT::VersionContainerInterface const&)@APTPKG_6.0" 1.9.11~
(c++)"CommandLine::CommandLine()@APTPKG_6.0" 1.1~exp9
(c++)"Configuration::FindVector(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) const@APTPKG_6.0" 1.1~exp9
- (c++)"debDebianSourceDirIndex::GetType() const@APTPKG_6.0" 1.1~exp9
- (c++)"debDebPkgFileIndex::~debDebPkgFileIndex()@APTPKG_6.0" 1.1~exp9
- (c++)"debDebPkgFileIndex::debDebPkgFileIndex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 1.1~exp9
- (c++)"debDebPkgFileIndex::ArchiveInfo[abi:cxx11](pkgCache::VerIterator const&) const@APTPKG_6.0" 1.1~exp9
- (c++)"debDebPkgFileIndex::FindInCache(pkgCache&) const@APTPKG_6.0" 1.1~exp9
- (c++)"debDebPkgFileIndex::GetArchitecture[abi:cxx11]() const@APTPKG_6.0" 1.1~exp9
- (c++)"debDebPkgFileIndex::GetComponent[abi:cxx11]() const@APTPKG_6.0" 1.1~exp9
- (c++)"debDebPkgFileIndex::GetContent(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 1.1~exp9
- (c++)"debDebPkgFileIndex::GetIndexFlags() const@APTPKG_6.0" 1.1~exp9
- (c++)"debDebPkgFileIndex::GetType() const@APTPKG_6.0" 1.1~exp9
- (c++)"debDebPkgFileIndex::OpenListFile(FileFd&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 1.1~exp9
(c++)"debDscFileIndex::CreateSrcParser() const@APTPKG_6.0" 1.1~exp9
(c++)"debDscFileIndex::~debDscFileIndex()@APTPKG_6.0" 1.1~exp9
(c++)"debDscFileIndex::debDscFileIndex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 1.1~exp9
(c++)"debDscFileIndex::GetType() const@APTPKG_6.0" 1.1~exp9
- (c++)"debPackagesIndex::ArchiveInfo[abi:cxx11](pkgCache::VerIterator const&) const@APTPKG_6.0" 1.1~exp9
- (c++)"debPackagesIndex::~debPackagesIndex()@APTPKG_6.0" 1.1~exp9
- (c++)"debPackagesIndex::debPackagesIndex(IndexTarget const&, bool)@APTPKG_6.0" 1.1~exp9
- (c++)"debPackagesIndex::GetIndexFlags() const@APTPKG_6.0" 1.1~exp9
- (c++)"debPackagesIndex::GetType() const@APTPKG_6.0" 1.1~exp9
- (c++)"debSourcesIndex::CreateSrcParser() const@APTPKG_6.0" 1.1~exp9
- (c++)"debSourcesIndex::~debSourcesIndex()@APTPKG_6.0" 1.1~exp9
- (c++)"debSourcesIndex::debSourcesIndex(IndexTarget const&, bool)@APTPKG_6.0" 1.1~exp9
- (c++)"debSourcesIndex::GetIndexFlags() const@APTPKG_6.0" 1.1~exp9
- (c++)"debSourcesIndex::GetType() const@APTPKG_6.0" 1.1~exp9
- (c++)"debSourcesIndex::OpenListFile(FileFd&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 1.1~exp9
- (c++)"debSourcesIndex::SourceInfo[abi:cxx11](pkgSrcRecords::Parser const&, pkgSrcRecords::File const&) const@APTPKG_6.0" 1.1~exp9
- (c++)"debStatusIndex::~debStatusIndex()@APTPKG_6.0" 1.1~exp9
- (c++)"debStatusIndex::debStatusIndex(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 1.1~exp9
- (c++)"debStatusIndex::GetArchitecture[abi:cxx11]() const@APTPKG_6.0" 1.1~exp9
- (c++)"debStatusIndex::GetComponent[abi:cxx11]() const@APTPKG_6.0" 1.1~exp9
- (c++)"debStatusIndex::GetIndexFlags() const@APTPKG_6.0" 1.1~exp9
- (c++)"debStatusIndex::GetType() const@APTPKG_6.0" 1.1~exp9
- (c++)"debTranslationsIndex::~debTranslationsIndex()@APTPKG_6.0" 1.1~exp9
- (c++)"debTranslationsIndex::debTranslationsIndex(IndexTarget const&)@APTPKG_6.0" 1.1~exp9
- (c++)"debTranslationsIndex::GetArchitecture[abi:cxx11]() const@APTPKG_6.0" 1.1~exp9
- (c++)"debTranslationsIndex::GetIndexFlags() const@APTPKG_6.0" 1.1~exp9
- (c++)"debTranslationsIndex::GetType() const@APTPKG_6.0" 1.1~exp9
- (c++)"debTranslationsIndex::HasPackages() const@APTPKG_6.0" 1.1~exp9
- (c++)"debTranslationsIndex::OpenListFile(FileFd&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 1.1~exp9
(c++)"ExecGPGV(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int const&, int*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 1.1~exp9
(c++)"FileFd::FileFd()@APTPKG_6.0" 1.1~exp9
(c++)"FileFd::FileFd(int, bool)@APTPKG_6.0" 1.1~exp9
@@ -1219,13 +1143,7 @@ libapt-pkg.so.6.0 libapt-pkg6.0 #MINVER#
(c++)"TranslationsCopy::~TranslationsCopy()@APTPKG_6.0" 1.1~exp9
(c++)"TranslationsCopy::TranslationsCopy()@APTPKG_6.0" 1.1~exp9
(c++)"typeinfo for APT::PackageUniverse@APTPKG_6.0" 1.1~exp9
- (c++)"typeinfo for debDebianSourceDirIndex@APTPKG_6.0" 1.1~exp9
- (c++)"typeinfo for debDebPkgFileIndex@APTPKG_6.0" 1.1~exp9
(c++)"typeinfo for debDscFileIndex@APTPKG_6.0" 1.1~exp9
- (c++)"typeinfo for debPackagesIndex@APTPKG_6.0" 1.1~exp9
- (c++)"typeinfo for debSourcesIndex@APTPKG_6.0" 1.1~exp9
- (c++)"typeinfo for debStatusIndex@APTPKG_6.0" 1.1~exp9
- (c++)"typeinfo for debTranslationsIndex@APTPKG_6.0" 1.1~exp9
(c++)"typeinfo for pkgAcqChangelog@APTPKG_6.0" 1.1~exp9
(c++)"typeinfo for pkgAcqMethod::FetchItem@APTPKG_6.0" 1.1~exp9
(c++)"typeinfo for pkgAcqMethod::FetchResult@APTPKG_6.0" 1.1~exp9
@@ -1242,13 +1160,7 @@ libapt-pkg.so.6.0 libapt-pkg6.0 #MINVER#
(c++)"typeinfo for SigVerify@APTPKG_6.0" 1.1~exp9
(c++)"typeinfo for TranslationsCopy@APTPKG_6.0" 1.1~exp9
(c++)"typeinfo name for APT::PackageUniverse@APTPKG_6.0" 1.1~exp9
- (c++)"typeinfo name for debDebianSourceDirIndex@APTPKG_6.0" 1.1~exp9
- (c++)"typeinfo name for debDebPkgFileIndex@APTPKG_6.0" 1.1~exp9
(c++)"typeinfo name for debDscFileIndex@APTPKG_6.0" 1.1~exp9
- (c++)"typeinfo name for debPackagesIndex@APTPKG_6.0" 1.1~exp9
- (c++)"typeinfo name for debSourcesIndex@APTPKG_6.0" 1.1~exp9
- (c++)"typeinfo name for debStatusIndex@APTPKG_6.0" 1.1~exp9
- (c++)"typeinfo name for debTranslationsIndex@APTPKG_6.0" 1.1~exp9
(c++)"typeinfo name for pkgAcqChangelog@APTPKG_6.0" 1.1~exp9
(c++)"typeinfo name for pkgAcqMethod::FetchItem@APTPKG_6.0" 1.1~exp9
(c++)"typeinfo name for pkgAcqMethod::FetchResult@APTPKG_6.0" 1.1~exp9
@@ -1266,13 +1178,7 @@ libapt-pkg.so.6.0 libapt-pkg6.0 #MINVER#
(c++)"typeinfo name for TranslationsCopy@APTPKG_6.0" 1.1~exp9
(c++)"URI::ArchiveOnly(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 1.1~exp9
(c++)"vtable for APT::PackageUniverse@APTPKG_6.0" 1.1~exp9
- (c++)"vtable for debDebianSourceDirIndex@APTPKG_6.0" 1.1~exp9
- (c++)"vtable for debDebPkgFileIndex@APTPKG_6.0" 1.1~exp9
(c++)"vtable for debDscFileIndex@APTPKG_6.0" 1.1~exp9
- (c++)"vtable for debPackagesIndex@APTPKG_6.0" 1.1~exp9
- (c++)"vtable for debSourcesIndex@APTPKG_6.0" 1.1~exp9
- (c++)"vtable for debStatusIndex@APTPKG_6.0" 1.1~exp9
- (c++)"vtable for debTranslationsIndex@APTPKG_6.0" 1.1~exp9
(c++)"vtable for pkgAcqChangelog@APTPKG_6.0" 1.1~exp9
(c++)"vtable for pkgAcqMethod::FetchItem@APTPKG_6.0" 1.1~exp9
(c++)"vtable for pkgAcqMethod::FetchResult@APTPKG_6.0" 1.1~exp9
@@ -1297,6 +1203,12 @@ libapt-pkg.so.6.0 libapt-pkg6.0 #MINVER#
(c++)"pkgCache::VerIterator::TranslatedDescriptionForLanguage(APT::StringView) const@APTPKG_6.0" 1.9.11~
(c++)"pkgPolicy::SetPriority(pkgCache::PkgFileIterator const&, short)@APTPKG_6.0" 1.9.11~
(c++)"pkgPolicy::SetPriority(pkgCache::VerIterator const&, short)@APTPKG_6.0" 1.9.11~
+ (c++)"pkgDebianIndexFile::Merge(pkgCacheGenerator&, OpProgress*)@APTPKG_6.0" 1.9.11~
+ (c++)"metaIndex::Merge(pkgCacheGenerator&, OpProgress*) const@APTPKG_6.0" 1.9.11~
+ (c++)"typeinfo for APT::PackageContainer<std::vector<pkgCache::PkgIterator, std::allocator<pkgCache::PkgIterator> > >@APTPKG_6.0" 1.9.11~
+ (c++)"typeinfo name for APT::PackageContainer<std::vector<pkgCache::PkgIterator, std::allocator<pkgCache::PkgIterator> > >@APTPKG_6.0" 1.9.11~
+ (c++)"vtable for APT::PackageContainer<std::vector<pkgCache::PkgIterator, std::allocator<pkgCache::PkgIterator> > >@APTPKG_6.0" 1.9.11~
+ (c++)"pkgDepCache::CheckConsistency(char const*)@APTPKG_6.0" 2.1.5~
### dpkg selection state changer & general dpkg interfacing
(c++)"APT::StateChanges::clear()@APTPKG_6.0" 1.1~exp15
(c++)"APT::StateChanges::empty() const@APTPKG_6.0" 1.1~exp15
@@ -1336,12 +1248,10 @@ libapt-pkg.so.6.0 libapt-pkg6.0 #MINVER#
(c++)"GetSrvRecords(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<SrvRec, std::allocator<SrvRec> >&)@APTPKG_6.0" 1.1~exp15
(c++)"PopFromSrvRecs(std::vector<SrvRec, std::allocator<SrvRec> >&)@APTPKG_6.0" 1.1~exp15
(c++)"SrvRec::operator==(SrvRec const&) const@APTPKG_6.0" 1.1~exp15
- (c++)"debDebianSourceDirIndex::GetComponent[abi:cxx11]() const@APTPKG_6.0" 1.1.4
(c++)"debDscFileIndex::GetArchitecture[abi:cxx11]() const@APTPKG_6.0" 1.1.4
(c++)"debDscFileIndex::GetComponent[abi:cxx11]() const@APTPKG_6.0" 1.1.4
(c++)"debDscFileIndex::GetIndexFlags() const@APTPKG_6.0" 1.1.4
(c++)"FileFd::Flush()@APTPKG_6.0" 1.1.9
- (c++)"isspace_ascii(int)@APTPKG_6.0" 1.1.9
(c++)"metaIndex::IsArchitectureAllSupportedFor(IndexTarget const&) const@APTPKG_6.0" 1.1.9
(c++)"pkgTagFile::Init(FileFd*, pkgTagFile::Flags, unsigned long long)@APTPKG_6.0" 1.2~exp1
(c++)"pkgTagFile::pkgTagFile(FileFd*, pkgTagFile::Flags, unsigned long long)@APTPKG_6.0" 1.2~exp1
@@ -1349,20 +1259,10 @@ libapt-pkg.so.6.0 libapt-pkg6.0 #MINVER#
APTPKG_6.0@APTPKG_6.0 1.1~exp9
### gcc artifacts
(c++|optional=std)"void std::vector<char const*, std::allocator<char const*> >::emplace_back<char const*>(char const*&&)@APTPKG_6.0" 1.1~exp9
- (c++|optional=std)"void std::vector<pkgCache::GrpIterator*, std::allocator<pkgCache::GrpIterator*> >::emplace_back<pkgCache::GrpIterator*>(pkgCache::GrpIterator*&&)@APTPKG_6.0" 1.1~exp9
- (c++|optional=std)"void std::vector<pkgCache::PkgIterator*, std::allocator<pkgCache::PkgIterator*> >::emplace_back<pkgCache::PkgIterator*>(pkgCache::PkgIterator*&&)@APTPKG_6.0" 1.1~exp9
# (c++|optional=std)"void std::vector<pkgCache::RlsFileIterator*, std::allocator<pkgCache::RlsFileIterator*> >::emplace_back<pkgCache::RlsFileIterator*>(pkgCache::RlsFileIterator*&&)@APTPKG_6.0" 1.1~exp9
- (c++|optional=std)"void std::vector<pkgCache::VerIterator*, std::allocator<pkgCache::VerIterator*> >::emplace_back<pkgCache::VerIterator*>(pkgCache::VerIterator*&&)@APTPKG_6.0" 1.1~exp9
(c++|optional=std)"void std::vector<pkgDPkgPM::Item, std::allocator<pkgDPkgPM::Item> >::emplace_back<pkgDPkgPM::Item>(pkgDPkgPM::Item&&)@APTPKG_6.0" 1.1~exp9
- (c++|optional=std)"void std::vector<pkgIndexFile*, std::allocator<pkgIndexFile*> >::emplace_back<pkgIndexFile*>(pkgIndexFile*&&)@APTPKG_6.0" 1.1~exp9
(c++|optional=std)"void std::vector<pkgTagSection::Tag, std::allocator<pkgTagSection::Tag> >::emplace_back<pkgTagSection::Tag>(pkgTagSection::Tag&&)@APTPKG_6.0" 1.1~exp9
(c++|optional=std)"void std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::emplace_back<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)@APTPKG_6.0" 1.1~exp9
- (arch=!x32|c++|optional=std)"void std::vector<long, std::allocator<long> >::emplace_back<long>(long&&)@APTPKG_6.0" 1.1~exp15
- (arch=x32|c++|optional=std)"void std::vector<long long, std::allocator<long long> >::emplace_back<long long>(long long&&)@APTPKG_6.0" 1.1~exp15
- (c++|optional=std)"void std::vector<pkgCache::VerIterator, std::allocator<pkgCache::VerIterator> >::emplace_back<pkgCache::VerIterator>(pkgCache::VerIterator&&)@APTPKG_6.0" 1.1~exp15
- (c++|optional=std)"SrvRec* std::__move_merge<__gnu_cxx::__normal_iterator<SrvRec*, std::vector<SrvRec, std::allocator<SrvRec> > >, SrvRec*, __gnu_cxx::__ops::_Iter_less_iter>(__gnu_cxx::__normal_iterator<SrvRec*, std::vector<SrvRec, std::allocator<SrvRec> > >, __gnu_cxx::__normal_iterator<SrvRec*, std::vector<SrvRec, std::allocator<SrvRec> > >, __gnu_cxx::__normal_iterator<SrvRec*, std::vector<SrvRec, std::allocator<SrvRec> > >, __gnu_cxx::__normal_iterator<SrvRec*, std::vector<SrvRec, std::allocator<SrvRec> > >, SrvRec*, __gnu_cxx::__ops::_Iter_less_iter)@APTPKG_6.0" 1.1~exp15
- (c++|optional=std)"void std::vector<std::pair<char*, unsigned long>, std::allocator<std::pair<char*, unsigned long> > >::emplace_back<std::pair<char*, unsigned long> >(std::pair<char*, unsigned long>&&)@APTPKG_6.0" 1.1
- (c++|optional=std)"char const* const* std::__find_if<char const* const*, __gnu_cxx::__ops::_Iter_equals_val<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const> >(char const* const*, char const* const*, __gnu_cxx::__ops::_Iter_equals_val<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const>, std::random_access_iterator_tag)@APTPKG_6.0" 1.3~exp1
### try to ignore std:: template instances
(c++|regex|optional=std)"^std::vector<.+ >::(vector|push_back|erase|_[^ ]+)\(.+\)( const|)@APTPKG_6.0$" 0.8.0
(c++|regex|optional=std)"^(void |)std::[^ ]+<.+ >::(_|~).+\(.*\)@APTPKG_6.0$" 0.8.0
@@ -1397,7 +1297,6 @@ libapt-pkg.so.6.0 libapt-pkg6.0 #MINVER#
(c++)"pkgSourceList::AddVolatileFiles(CommandLine&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*)@APTPKG_6.0" 1.3~rc2
(c++)"pkgSourceList::AddVolatileFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*)@APTPKG_6.0" 1.3~rc2
(c++)"TimeRFC1123[abi:cxx11](long, bool)@APTPKG_6.0" 1.3~rc2
- (c++)"unsigned long std::uniform_int_distribution<unsigned long>::operator()<std::linear_congruential_engine<unsigned long, 16807ul, 0ul, 2147483647ul> >(std::linear_congruential_engine<unsigned long, 16807ul, 0ul, 2147483647ul>&, std::uniform_int_distribution<unsigned long>::param_type const&)@APTPKG_6.0" 1.3~rc2
(c++)"void std::shuffle<__gnu_cxx::__normal_iterator<IndexTarget*, std::vector<IndexTarget, std::allocator<IndexTarget> > >, std::linear_congruential_engine<unsigned long, 16807ul, 0ul, 2147483647ul>&>(__gnu_cxx::__normal_iterator<IndexTarget*, std::vector<IndexTarget, std::allocator<IndexTarget> > >, __gnu_cxx::__normal_iterator<IndexTarget*, std::vector<IndexTarget, std::allocator<IndexTarget> > >, std::linear_congruential_engine<unsigned long, 16807ul, 0ul, 2147483647ul>&)@APTPKG_6.0" 1.3~rc2
(c++)"void std::vector<pkgDPkgPM::Item, std::allocator<pkgDPkgPM::Item> >::emplace_back<pkgDPkgPM::Item::Ops, pkgCache::PkgIterator>(pkgDPkgPM::Item::Ops&&, pkgCache::PkgIterator&&)@APTPKG_6.0" 1.3~rc2
(c++)"void std::vector<pkgDPkgPM::Item, std::allocator<pkgDPkgPM::Item> >::emplace_back<pkgDPkgPM::Item::Ops, pkgCache::PkgIterator&>(pkgDPkgPM::Item::Ops&&, pkgCache::PkgIterator&)@APTPKG_6.0" 1.3~rc2
@@ -1405,7 +1304,6 @@ libapt-pkg.so.6.0 libapt-pkg6.0 #MINVER#
(c++)"APT::String::Join(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 1.4~beta4
(c++)"debListParser::ParseDepends(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned int&, bool const&, bool const&, bool const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 1.4~beta3
(c++)"debListParser::ParseDepends(char const*, char const*, APT::StringView&, APT::StringView&, unsigned int&, bool, bool, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)@APTPKG_6.0" 1.9.0~
- (c++)"pkgTagHash(char const*, unsigned long)@APTPKG_6.0" 1.4~beta1
(c++|optional=std)"void std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::emplace_back<char const (&) [4]>(char const (&) [4])@APTPKG_6.0" 1.4~beta4
(c++)"FileFd::ReadLine(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@APTPKG_6.0" 1.5~beta2~
(c++)"MaybeAddAuth(FileFd&, URI&)@APTPKG_6.0" 1.5~beta2~
@@ -1419,26 +1317,8 @@ libapt-pkg.so.6.0 libapt-pkg6.0 #MINVER#
(c++)"RemoveFileAt(char const*, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 1.5~beta2~
(c++|optional=std)"void std::vector<pkgAcquireStatus::ReleaseInfoChange, std::allocator<pkgAcquireStatus::ReleaseInfoChange> >::emplace_back<pkgAcquireStatus::ReleaseInfoChange>(pkgAcquireStatus::ReleaseInfoChange&&)@APTPKG_6.0" 1.5~beta2~
(c++)"pkgAcqMethod::FetchItem::Proxy[abi:cxx11]()@APTPKG_6.0" 1.6~alpha1~
- (c++)"debSystem::ArchitecturesSupported[abi:cxx11]() const@APTPKG_6.0" 1.9.11~
- (c++)"debSystem::MultiArchSupported() const@APTPKG_6.0" 1.9.11~
- (c++)"debSystem::IsLocked()@APTPKG_6.0" 1.9.11~
- (c++)"debSystem::LockInner()@APTPKG_6.0" 1.9.11~
- (c++)"debSystem::UnLockInner(bool)@APTPKG_6.0" 1.9.11~
# gcc-8 artifacts
- (c++|optional=std)"std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<IndexTarget> >, std::is_move_constructible<IndexTarget>, std::is_move_assignable<IndexTarget> >::value, void>::type std::swap<IndexTarget>(IndexTarget&, IndexTarget&)@APTPKG_6.0" 1.5~beta2~
(c++|optional=std)"pkgAcqMethod::SendMessage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&&)@APTPKG_6.0" 1.7.0~alpha3~
- (c++|optional=std)"void std::vector<APT::Configuration::Compressor, std::allocator<APT::Configuration::Compressor> >::emplace_back<char const (&) [3], char const (&) [4], char const (&) [3], char const (&) [3], char const (&) [3], int>(char const (&) [3], char const (&) [4], char const (&) [3], char const (&) [3], char const (&) [3], int&&)@APTPKG_6.0" 1.7.0~alpha3~
- (c++|optional=std)"void std::vector<APT::Configuration::Compressor, std::allocator<APT::Configuration::Compressor> >::emplace_back<char const (&) [3], char const (&) [4], char const (&) [6], decltype(nullptr), decltype(nullptr), int>(char const (&) [3], char const (&) [4], char const (&) [6], decltype(nullptr)&&, decltype(nullptr)&&, int&&)@APTPKG_6.0" 1.7.0~alpha3~
- (c++|optional=std)"void std::vector<APT::Configuration::Compressor, std::allocator<APT::Configuration::Compressor> >::emplace_back<char const (&) [4], char const (&) [5], char const (&) [4], char const (&) [3], char const (&) [3], int>(char const (&) [4], char const (&) [5], char const (&) [4], char const (&) [3], char const (&) [3], int&&)@APTPKG_6.0" 1.7.0~alpha3~
- (c++|optional=std)"void std::vector<APT::Configuration::Compressor, std::allocator<APT::Configuration::Compressor> >::emplace_back<char const (&) [4], char const (&) [5], char const (&) [6], decltype(nullptr), decltype(nullptr), int>(char const (&) [4], char const (&) [5], char const (&) [6], decltype(nullptr)&&, decltype(nullptr)&&, int&&)@APTPKG_6.0" 1.7.0~alpha3~
- (c++|optional=std)"void std::vector<APT::Configuration::Compressor, std::allocator<APT::Configuration::Compressor> >::emplace_back<char const (&) [5], char const (&) [4], char const (&) [5], char const (&) [4], char const (&) [3], int>(char const (&) [5], char const (&) [4], char const (&) [5], char const (&) [4], char const (&) [3], int&&)@APTPKG_6.0" 1.7.0~alpha3~
- (c++|optional=std)"void std::vector<APT::Configuration::Compressor, std::allocator<APT::Configuration::Compressor> >::emplace_back<char const (&) [5], char const (&) [4], char const (&) [6], decltype(nullptr), decltype(nullptr), int>(char const (&) [5], char const (&) [4], char const (&) [6], decltype(nullptr)&&, decltype(nullptr)&&, int&&)@APTPKG_6.0" 1.7.0~alpha3~
- (c++|optional=std)"void std::vector<APT::Configuration::Compressor, std::allocator<APT::Configuration::Compressor> >::emplace_back<char const (&) [5], char const (&) [5], char const (&) [5], char const (&) [4], char const (&) [3], int>(char const (&) [5], char const (&) [5], char const (&) [5], char const (&) [4], char const (&) [3], int&&)@APTPKG_6.0" 1.7.0~alpha3~
- (c++|optional=std)"void std::vector<APT::Configuration::Compressor, std::allocator<APT::Configuration::Compressor> >::emplace_back<char const (&) [5], char const (&) [5], char const (&) [6], decltype(nullptr), decltype(nullptr), int>(char const (&) [5], char const (&) [5], char const (&) [6], decltype(nullptr)&&, decltype(nullptr)&&, int&&)@APTPKG_6.0" 1.7.0~alpha3~
- (c++|optional=std)"void std::vector<APT::Configuration::Compressor, std::allocator<APT::Configuration::Compressor> >::emplace_back<char const (&) [5], char const (&) [6], char const (&) [5], char const (&) [3], char const (&) [3], int>(char const (&) [5], char const (&) [6], char const (&) [5], char const (&) [3], char const (&) [3], int&&)@APTPKG_6.0" 1.7.0~alpha3~
- (c++|optional=std)"void std::vector<APT::Configuration::Compressor, std::allocator<APT::Configuration::Compressor> >::emplace_back<char const (&) [5], char const (&) [6], char const (&) [6], decltype(nullptr), decltype(nullptr), int>(char const (&) [5], char const (&) [6], char const (&) [6], decltype(nullptr)&&, decltype(nullptr)&&, int&&)@APTPKG_6.0" 1.7.0~alpha3~
- (c++|optional=std)"void std::vector<APT::Configuration::Compressor, std::allocator<APT::Configuration::Compressor> >::emplace_back<char const (&) [6], char const (&) [5], char const (&) [6], char const (&) [3], char const (&) [3], int>(char const (&) [6], char const (&) [5], char const (&) [6], char const (&) [3], char const (&) [3], int&&)@APTPKG_6.0" 1.7.0~alpha3~
- (c++|optional=std)"void std::vector<APT::Configuration::Compressor, std::allocator<APT::Configuration::Compressor> >::emplace_back<char const (&) [6], char const (&) [5], char const (&) [6], decltype(nullptr), decltype(nullptr), int>(char const (&) [6], char const (&) [5], char const (&) [6], decltype(nullptr)&&, decltype(nullptr)&&, int&&)@APTPKG_6.0" 1.7.0~alpha3~
* Build-Depends-Package: libapt-pkg-dev
(c++)"ExtractTar::Done()@APTPKG_6.0" 1.1~exp12
(c++)"ExtractTar::Go(pkgDirStream&)@APTPKG_6.0" 0.8.0
@@ -1475,25 +1355,12 @@ libapt-pkg.so.6.0 libapt-pkg6.0 #MINVER#
(c++)"vtable for debDebFile::ControlExtract@APTPKG_6.0" 0.8.0
(c++)"vtable for debDebFile::MemControlExtract@APTPKG_6.0" 0.8.0
### gcc artifacts
- (c++|optional=std)"std::vector<APT::Configuration::Compressor, std::allocator<APT::Configuration::Compressor> >::~vector()@APTPKG_6.0" 0.8.12
- (c++|optional=std)"void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*, std::forward_iterator_tag)@APTPKG_6.0" 1.7.0~alpha3~
(c++|optional=std)"void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag)@APTPKG_6.0" 1.7.0~alpha3~
(c++|optional=std)"typeinfo for std::_Mutex_base<(__gnu_cxx::_Lock_policy)2>@APTPKG_6.0" 1.9.11~
(c++|optional=std)"typeinfo for std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>@APTPKG_6.0" 1.9.11~
- (c++|optional=std)"typeinfo for std::_Sp_counted_deleter<__res_state*, void (*)(__res_state*), std::allocator<void>, (__gnu_cxx::_Lock_policy)2>@APTPKG_6.0" 1.9.11~
(c++|optional=std)"typeinfo name for std::_Mutex_base<(__gnu_cxx::_Lock_policy)2>@APTPKG_6.0" 1.9.11~
(c++|optional=std)"typeinfo name for std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>@APTPKG_6.0" 1.9.11~
- (c++|optional=std)"typeinfo name for std::_Sp_counted_deleter<__res_state*, void (*)(__res_state*), std::allocator<void>, (__gnu_cxx::_Lock_policy)2>@APTPKG_6.0" 1.9.11~
- (c++|optional=std)"typeinfo name for void (*)(__res_state*)@APTPKG_6.0" 1.9.11~
- (c++|optional=std)"vtable for std::_Sp_counted_deleter<__res_state*, void (*)(__res_state*), std::allocator<void>, (__gnu_cxx::_Lock_policy)2>@APTPKG_6.0" 1.9.11~
-### try to ignore std:: template instances
- (c++)"void std::vector<APT::Configuration::Compressor, std::allocator<APT::Configuration::Compressor> >::emplace_back<APT::Configuration::Compressor>(APT::Configuration::Compressor&&)@APTPKG_6.0" 1.9~
- (c++)"void std::vector<APT::StringView*, std::allocator<APT::StringView*> >::emplace_back<APT::StringView*>(APT::StringView*&&)@APTPKG_6.0" 1.9~
- (regex|optional)".*hash32.*\.ifunc@APTPKG_6.0" 1.9.11~
### Internal functions needed for testing purposes
- (c++)"APT::Internal::Patterns::BaseRegexMatcher::~BaseRegexMatcher()@APTPKG_6.0" 1.9.11~
- (c++)"APT::Internal::Patterns::BaseRegexMatcher::BaseRegexMatcher(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@APTPKG_6.0" 1.9.11~
- (c++)"APT::Internal::Patterns::BaseRegexMatcher::operator()(char const*)@APTPKG_6.0" 1.9.11~
(c++)"APT::Internal::PatternTreeParser::Node::error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)@APTPKG_6.0" 1.9.11~
(c++)"APT::Internal::PatternTreeParser::parse()@APTPKG_6.0" 1.9.11~
(c++)"APT::Internal::PatternTreeParser::parseTop()@APTPKG_6.0" 1.9.11~
@@ -1505,7 +1372,6 @@ libapt-pkg.so.6.0 libapt-pkg6.0 #MINVER#
(c++)"typeinfo name for APT::Internal::PatternTreeParser::Node@APTPKG_6.0" 1.9.11~
(c++)"typeinfo name for APT::Internal::PatternTreeParser::PatternNode@APTPKG_6.0" 1.9.11~
(c++)"typeinfo name for APT::Internal::PatternTreeParser::WordNode@APTPKG_6.0" 1.9.11~
- (c++)"void std::vector<std::unique_ptr<APT::Internal::PatternTreeParser::Node, std::default_delete<APT::Internal::PatternTreeParser::Node> >, std::allocator<std::unique_ptr<APT::Internal::PatternTreeParser::Node, std::default_delete<APT::Internal::PatternTreeParser::Node> > > >::emplace_back<std::unique_ptr<APT::Internal::PatternTreeParser::Node, std::default_delete<APT::Internal::PatternTreeParser::Node> > >(std::unique_ptr<APT::Internal::PatternTreeParser::Node, std::default_delete<APT::Internal::PatternTreeParser::Node> >&&)@APTPKG_6.0" 1.9.11~
(c++)"vtable for APT::Internal::PatternTreeParser::Error@APTPKG_6.0" 1.9.11~
(c++)"vtable for APT::Internal::PatternTreeParser::Node@APTPKG_6.0" 1.9.11~
(c++)"vtable for APT::Internal::PatternTreeParser::PatternNode@APTPKG_6.0" 1.9.11~
diff --git a/doc/apt-verbatim.ent b/doc/apt-verbatim.ent
index ab1461693..c75fef182 100644
--- a/doc/apt-verbatim.ent
+++ b/doc/apt-verbatim.ent
@@ -274,14 +274,14 @@
">
<!-- this will be updated by 'prepare-release' -->
-<!ENTITY apt-product-version "2.1.10">
+<!ENTITY apt-product-version "2.1.12">
<!-- (Code)names for various things used all over the place -->
<!ENTITY debian-oldstable-codename "stretch">
<!ENTITY debian-stable-codename "buster">
<!ENTITY debian-testing-codename "bullseye">
<!ENTITY debian-stable-version "10">
-<!ENTITY ubuntu-codename "focal">
+<!ENTITY ubuntu-codename "groovy">
<!-- good and bad just refers to matching and not matching a pattern…
It is not a remark about the specific perl version.
diff --git a/doc/examples/configure-index b/doc/examples/configure-index
index d9f269344..0af923811 100644
--- a/doc/examples/configure-index
+++ b/doc/examples/configure-index
@@ -830,6 +830,9 @@ dir::filelistdir "<STRING>";
dir::dpkg::tupletable "<FILE>";
dir::dpkg::triplettable "<FILE>";
dir::dpkg::cputable "<FILE>";
+Rred::t "<BOOL>";
+Rred::f "<BOOL>";
+Rred::Compress "<STRING>";
APT::Internal::OpProgress::Absolute "<BOOL>";
APT::Color "<BOOL>";
diff --git a/doc/po/apt-doc.pot b/doc/po/apt-doc.pot
index be0b7063f..73ba791a9 100644
--- a/doc/po/apt-doc.pot
+++ b/doc/po/apt-doc.pot
@@ -5,9 +5,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: apt-doc 2.1.10\n"
+"Project-Id-Version: apt-doc 2.1.12\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2020-08-11 14:34+0200\n"
+"POT-Creation-Date: 2020-11-23 17:52+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/doc/po/nl.po b/doc/po/nl.po
index c8545a482..824b86ad9 100644
--- a/doc/po/nl.po
+++ b/doc/po/nl.po
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: apt-doc 2.1.4\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2020-08-04 12:40+0200\n"
-"PO-Revision-Date: 2020-05-24 16:39+0200\n"
+"POT-Creation-Date: 2020-09-10 22:28+0200\n"
+"PO-Revision-Date: 2020-08-18 22:34+0200\n"
"Last-Translator: Frans Spiesschaert <Frans.Spiesschaert@yucom.be>\n"
"Language-Team: Debian Dutch l10n Team <debian-l10n-dutch@lists.debian.org>\n"
"Language: nl\n"
@@ -1979,7 +1979,7 @@ msgid ""
"Re-install packages that are already installed and at the newest version. "
"Configuration Item: <literal>APT::Get::ReInstall</literal>."
msgstr ""
-"Pakketten die reeds met hun nieuwste versie geïnstalleerd zijn opnieuw "
+"Pakketten die reeds met hun nieuwste versie geïnstalleerd zijn, opnieuw "
"installeren. Configuratie-item: <literal>APT::Get::ReInstall</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
@@ -2032,10 +2032,10 @@ msgid ""
"option> will answer yes to any prompt, <option>--trivial-only</option> will "
"answer no. Configuration Item: <literal>APT::Get::Trivial-Only</literal>."
msgstr ""
-"Voer enkel 'banale' operaties uit. Logisch gezien kan men dit beschouwen als "
-"gerelateerd aan <option>--assume-yes</option>. Waar <option>--assume-yes</"
-"option> op elke vraag ja antwoordt, zal <option>--trivial-only</option> nee "
-"antwoorden. Configuratie-item: <literal>APT::Get::Trivial-Only</literal>."
+"Enkel 'banale' operaties uitvoeren. Logisch gezien kan men dit beschouwen "
+"als gerelateerd aan <option>--assume-yes</option>. Waar <option>--assume-"
+"yes</option> op elke vraag ja antwoordt, zal <option>--trivial-only</option> "
+"nee antwoorden. Configuratie-item: <literal>APT::Get::Trivial-Only</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-get.8.xml
@@ -2046,6 +2046,12 @@ msgid ""
"equally to running <command>apt-mark auto</command> for all installed "
"packages. Configuration Item: <literal>APT::Get::Mark-Auto</literal>."
msgstr ""
+"Na een succesvolle installatie alle pas geïnstalleerde pakketten markeren "
+"als automatisch geïnstalleerd. Dit heeft als effect dat al deze pakketten "
+"verwijderd zullen worden wanneer geen handmatig geïnstalleerde pakketten "
+"deze nog vereisen. Dit is hetzelfde als het commando <command>apt-mark auto</"
+"command> uitvoeren voor alle geïnstalleerde pakketten. Configuratie-item: "
+"<literal>APT::Get::Mark-Auto</literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-get.8.xml
@@ -2923,10 +2929,8 @@ msgstr ""
#. type: Content of: <refentry><refnamediv><refpurpose>
#: apt-key.8.xml
-#, fuzzy
-#| msgid "APT key management utility"
msgid "Deprecated APT key management utility"
-msgstr "Hulpprogramma voor het beheer van de sleutels van APT"
+msgstr "Verouderd hulpprogramma voor het beheer van de sleutels van APT"
#. type: Content of: <refentry><refsect1><para>
#: apt-key.8.xml
@@ -2949,11 +2953,18 @@ msgid ""
"desired the additional installation of the GNU Privacy Guard suite (packaged "
"in <package>gnupg</package>) is required."
msgstr ""
+"Het gebruik van <command>apt-key</command> is verouderd, behalve voor het "
+"gebruik van <command>apt-key del</command> in scripts van pakketonderhouders "
+"om bestaande sleutels te verwijderen uit de hoofdsleutelbos. Indien een "
+"dergelijk gebruik van <command>apt-key</command> gewenst is, is bijkomend de "
+"installatie vereist van de suite GNU Privacy Guard (verpakt in "
+"<package>gnupg</package>)."
#. type: Content of: <refentry><refsect1><para>
#: apt-key.8.xml
msgid "apt-key(8) will last be available in Debian 11 and Ubuntu 22.04."
msgstr ""
+"apt-key(8) zal voor het laatst beschikbaar zijn in Debian 11 en Ubuntu 22.04."
#. type: Content of: <refentry><refsect1><title>
#: apt-key.8.xml
@@ -3041,10 +3052,8 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
#: apt-key.8.xml
-#, fuzzy
-#| msgid "(deprecated)"
msgid "(mostly deprecated)"
-msgstr "(verouderd)"
+msgstr "(meestal verouderd)"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-key.8.xml
@@ -3285,6 +3294,12 @@ msgstr ""
#. type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para>
#: apt-mark.8.xml
+#, fuzzy
+#| msgid ""
+#| "Read/Write package stats from the filename given with the parameter "
+#| "&synopsis-param-filename; instead of from the default location, which is "
+#| "<filename>extended_status</filename> in the directory defined by the "
+#| "Configuration Item: <literal>Dir::State</literal>."
msgid ""
"Read/Write package stats from the filename given with the parameter "
"&synopsis-param-filename; instead of from the default location, which is "
@@ -13666,24 +13681,3 @@ msgstr " # apt-get -o dir::cache::archives=\"/disc/\" dist-upgrade\n"
msgid "Which will use the already fetched archives on the disc."
msgstr ""
"En dit zal gebruik maken van de reeds opgehaalde archieven op de schijf."
-
-#~ msgid ""
-#~ "Note that if usage of <command>apt-key</command> is desired the "
-#~ "additional installation of the GNU Privacy Guard suite (packaged in "
-#~ "<package>gnupg</package>) is required. For this reason alone the "
-#~ "programmatic usage (especially in package maintainer scripts!) is "
-#~ "strongly discouraged. Further more the output format of all commands is "
-#~ "undefined and can and does change whenever the underlying commands "
-#~ "change. <command>apt-key</command> will try to detect such usage and "
-#~ "generates warnings on stderr in these cases."
-#~ msgstr ""
-#~ "Merk op dat als het gebruik van het commando <command>apt-key</command> "
-#~ "gewenst is, dan ook de installatie van de GNU Privacy Guard suite "
-#~ "(verpakt in het pakket <package>gnupg</package>) vereist is. Enkel "
-#~ "omwille daarvan al wordt het gebruik ervan in programma's (zeker in "
-#~ "scripts voor pakketonderhoud) sterk afgeraden. Daarenboven wordt de "
-#~ "indeling van de uitvoer van alle commando's onvoorspelbaar en kan die "
-#~ "wijzigen telkens wanneer de achterliggende commando's wijzigen. "
-#~ "<command>apt-key</command> zal een dergelijk gebruik trachten te "
-#~ "detecteren en geeft in dergelijke gevallen waarschuwingen op de standaard "
-#~ "foutuitvoer."
diff --git a/doc/po/pt.po b/doc/po/pt.po
index 9319af6e4..b3e808656 100644
--- a/doc/po/pt.po
+++ b/doc/po/pt.po
@@ -5,10 +5,10 @@
# Américo Monteiro <a_monteiro@gmx.com>, 2014 - 2020.
msgid ""
msgstr ""
-"Project-Id-Version: apt 2.1.6\n"
+"Project-Id-Version: apt 2.1.10\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2020-08-04 12:40+0200\n"
-"PO-Revision-Date: 2020-06-08 17:06+0000\n"
+"POT-Creation-Date: 2020-11-04 15:54+0100\n"
+"PO-Revision-Date: 2020-08-14 23:28+0000\n"
"Last-Translator: Américo Monteiro <a_monteiro@gmx.com>\n"
"Language-Team: Portuguese <>\n"
"Language: pt\n"
@@ -1991,6 +1991,12 @@ msgid ""
"equally to running <command>apt-mark auto</command> for all installed "
"packages. Configuration Item: <literal>APT::Get::Mark-Auto</literal>."
msgstr ""
+"Após instalação com sucesso, marca todos os pacotes de instalação recente "
+"como instalados automaticamente, o que irá fazer com que cada um dos pacotes "
+"seja removido quando mais nenhum pacote instalado manualmente depender "
+"deste. Isto é igual a correr <command>apt-mark auto</command> para todos os "
+"pacotes instalados. Item de configuração: <literal>APT::Get::Mark-Auto</"
+"literal>."
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-get.8.xml
@@ -2854,10 +2860,8 @@ msgstr ""
#. type: Content of: <refentry><refnamediv><refpurpose>
#: apt-key.8.xml
-#, fuzzy
-#| msgid "APT key management utility"
msgid "Deprecated APT key management utility"
-msgstr "Utilitário de gestão de chaves do APT"
+msgstr "Utilitário de gestão de chaves do APT descontinuado"
#. type: Content of: <refentry><refsect1><para>
#: apt-key.8.xml
@@ -2879,11 +2883,16 @@ msgid ""
"desired the additional installation of the GNU Privacy Guard suite (packaged "
"in <package>gnupg</package>) is required."
msgstr ""
+"O uso de <command>apt-key</command> está descontinuado, excepto para o uso "
+"de <command>apt-key del</command> em scripts de maintainer para remover "
+"chaves existentes do chaveiro principal. Se tal utilização do <command>apt-"
+"key</command> é desejada, é requerida a instalação adicional da suite GNU "
+"Privacy Guard (empacotada em <package>gnupg</package>)."
#. type: Content of: <refentry><refsect1><para>
#: apt-key.8.xml
msgid "apt-key(8) will last be available in Debian 11 and Ubuntu 22.04."
-msgstr ""
+msgstr "apt-key(8) estará disponível por último em Debian 11 e Ubuntu 22.04."
#. type: Content of: <refentry><refsect1><title>
#: apt-key.8.xml
@@ -2968,10 +2977,8 @@ msgstr ""
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><term>
#: apt-key.8.xml
-#, fuzzy
-#| msgid "(deprecated)"
msgid "(mostly deprecated)"
-msgstr "(descontinuado)"
+msgstr "(maioritariamente descontinuado)"
#. type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para>
#: apt-key.8.xml
diff --git a/ftparchive/CMakeLists.txt b/ftparchive/CMakeLists.txt
index 9aa6606f1..4af250474 100644
--- a/ftparchive/CMakeLists.txt
+++ b/ftparchive/CMakeLists.txt
@@ -1,4 +1,4 @@
-include_directories(${BERKELEY_DB_INCLUDE_DIRS})
+include_directories(${BERKELEY_INCLUDE_DIRS})
# Definition of the C++ files used to build the program - note that this
# is expanded at CMake time, so you have to rerun cmake if you add or remove
# a file (you can just run cmake . in the build directory)
@@ -6,8 +6,8 @@ file(GLOB_RECURSE source "*.cc")
add_executable(apt-ftparchive ${source})
# Link the executables against the libraries
-target_include_directories(apt-ftparchive PRIVATE ${BERKELEY_DB_INCLUDE_DIRS})
-target_link_libraries(apt-ftparchive apt-pkg apt-private ${BERKELEY_DB_LIBRARIES})
+target_include_directories(apt-ftparchive PRIVATE ${BERKELEY_INCLUDE_DIRS})
+target_link_libraries(apt-ftparchive apt-pkg apt-private ${BERKELEY_LIBRARIES})
# Install the executables
install(TARGETS apt-ftparchive RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
diff --git a/methods/CMakeLists.txt b/methods/CMakeLists.txt
index d575382f7..a5a360217 100644
--- a/methods/CMakeLists.txt
+++ b/methods/CMakeLists.txt
@@ -23,6 +23,8 @@ target_include_directories(http PRIVATE $<$<BOOL:${SYSTEMD_FOUND}>:${SYSTEMD_INC
target_link_libraries(http ${GNUTLS_LIBRARIES} $<$<BOOL:${SYSTEMD_FOUND}>:${SYSTEMD_LIBRARIES}>)
target_link_libraries(ftp ${GNUTLS_LIBRARIES})
+target_link_libraries(rred apt-private)
+
# Install the library
install(TARGETS file copy store gpgv cdrom http ftp rred rsh mirror
RUNTIME DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/apt/methods)
diff --git a/methods/rred.cc b/methods/rred.cc
index 949fa4773..2164cd19e 100644
--- a/methods/rred.cc
+++ b/methods/rred.cc
@@ -15,6 +15,8 @@
#include <apt-pkg/init.h>
#include <apt-pkg/strutl.h>
+#include <apt-private/private-cmndline.h>
+
#include <iostream>
#include <list>
#include <string>
@@ -33,6 +35,33 @@
#define BLOCK_SIZE (512*1024)
+static bool ShowHelp(CommandLine &)
+{
+ std::cout <<
+ "Usage: rred [options] -t input output patch-1 … patch-N\n"
+ " rred [options] -f patch-1 … patch-N < input > output\n"
+ " rred [options] patch-1 … patch-N > merged-patch\n"
+ "\n"
+ "The main use of this binary is by APTs acquire system, a mode reached\n"
+ "by calling it without any arguments and driven via messages on stdin.\n"
+ "\n"
+ "For the propose of testing as well as simpler direct usage the above\n"
+ "mentioned modes to work with \"reversed restricted ed\" patches as well.\n"
+ "\n"
+ "The arguments used above are:\n"
+ "* input: denotes a file you want to patch.\n"
+ "* output: a file you want to store the patched content in.\n"
+ "* patch-1 … patch-N: One or more files containing a patch.\n"
+ "* merged-patch: All changes by patch-1 … patch-N in one patch.\n"
+ "\n"
+ "This rred supports the commands 'a', 'c' and 'd', both single as well\n"
+ "as multi line. Other commands are not supported (hence 'restricted').\n"
+ "The command to patch the last line must appear first in the patch\n"
+ "(hence 'reversed'). Such a patch can e.g. be produced with 'diff --ed'.\n"
+ ;
+ return true;
+}
+
class MemBlock {
char *start;
size_t size;
@@ -727,62 +756,106 @@ class RredMethod : public aptMethod {
}
};
-int main(int argc, char **argv)
+static const APT::Configuration::Compressor *FindCompressor(std::vector<APT::Configuration::Compressor> const &compressors, std::string const &name) /*{{{*/
{
- int i;
- bool just_diff = true;
- bool test = false;
- Patch patch;
-
- if (argc <= 1) {
+ APT::Configuration::Compressor const * compressor = nullptr;
+ for (auto const & c : compressors)
+ {
+ if (compressor != nullptr && c.Cost >= compressor->Cost)
+ continue;
+ if (c.Name == name || c.Extension == name || (!c.Extension.empty() && c.Extension.substr(1) == name))
+ compressor = &c;
+ }
+ return compressor;
+}
+ /*}}}*/
+static std::vector<aptDispatchWithHelp> GetCommands()
+{
+ return {{nullptr, nullptr, nullptr}};
+}
+int main(int argc, const char *argv[])
+{
+ if (argc <= 1)
return RredMethod().Run();
+
+ CommandLine CmdL;
+ auto const Cmds = ParseCommandLine(CmdL, APT_CMD::RRED, &_config, nullptr, argc, argv, &ShowHelp, &GetCommands);
+
+ FileFd input, output;
+ unsigned int argi = 0;
+ auto const argmax = CmdL.FileSize();
+ bool const quiet = _config->FindI("quiet", 0) >= 2;
+
+ std::string const compressorName = _config->Find("Rred::Compress", "");
+ auto const compressors = APT::Configuration::getCompressors();
+ APT::Configuration::Compressor const * compressor = nullptr;
+ if (not compressorName.empty())
+ {
+ compressor = FindCompressor(compressors, compressorName);
+ if (compressor == nullptr)
+ {
+ std::cerr << "E: Could not find compressor: " << compressorName << '\n';
+ return 101;
+ }
+ }
+
+ bool just_diff = false;
+ if (_config->FindB("Rred::T", false))
+ {
+ if (argmax < 3)
+ {
+ std::cerr << "E: Not enough filenames given on the command line for mode 't'\n";
+ return 101;
+ }
+ if (not quiet)
+ std::clog << "Patching " << CmdL.FileList[0] << " into " << CmdL.FileList[1] << "\n";
+ input.Open(CmdL.FileList[0], FileFd::ReadOnly,FileFd::Extension);
+ if (compressor == nullptr)
+ output.Open(CmdL.FileList[1], FileFd::WriteOnly | FileFd::Create | FileFd::Empty | FileFd::BufferedWrite, FileFd::Extension);
+ else
+ output.Open(CmdL.FileList[1], FileFd::WriteOnly | FileFd::Create | FileFd::Empty | FileFd::BufferedWrite, *compressor);
+ argi = 2;
+ }
+ else
+ {
+ if (compressor == nullptr)
+ output.OpenDescriptor(STDOUT_FILENO, FileFd::WriteOnly | FileFd::Create | FileFd::BufferedWrite);
+ else
+ output.OpenDescriptor(STDOUT_FILENO, FileFd::WriteOnly | FileFd::Create | FileFd::BufferedWrite, *compressor);
+ if (_config->FindB("Rred::F", false))
+ input.OpenDescriptor(STDIN_FILENO, FileFd::ReadOnly);
+ else
+ just_diff = true;
}
- // Usage: rred -t input output diff ...
- if (argc > 1 && strcmp(argv[1], "-t") == 0) {
- // Read config files so we see compressors.
- pkgInitConfig(*_config);
- just_diff = false;
- test = true;
- i = 4;
- } else if (argc > 1 && strcmp(argv[1], "-f") == 0) {
- just_diff = false;
- i = 2;
- } else {
- i = 1;
+ if (argi + 1 > argmax)
+ {
+ std::cerr << "E: At least one patch needs to be given on the command line\n";
+ return 101;
}
- for (; i < argc; i++) {
- FileFd p;
- if (p.Open(argv[i], FileFd::ReadOnly) == false) {
+ Patch merged_patch;
+ for (; argi < argmax; ++argi)
+ {
+ FileFd patch;
+ if (not patch.Open(CmdL.FileList[argi], FileFd::ReadOnly, FileFd::Extension))
+ {
_error->DumpErrors(std::cerr);
- exit(1);
+ return 1;
}
- if (patch.read_diff(p, NULL) == false)
+ if (not merged_patch.read_diff(patch, nullptr))
{
_error->DumpErrors(std::cerr);
- exit(2);
+ return 2;
}
}
- if (test) {
- FileFd out, inp;
- std::cerr << "Patching " << argv[2] << " into " << argv[3] << "\n";
- inp.Open(argv[2], FileFd::ReadOnly,FileFd::Extension);
- out.Open(argv[3], FileFd::WriteOnly | FileFd::Create | FileFd::Empty | FileFd::BufferedWrite, FileFd::Extension);
- patch.apply_against_file(out, inp);
- out.Close();
- } else if (just_diff) {
- FileFd out;
- out.OpenDescriptor(STDOUT_FILENO, FileFd::WriteOnly | FileFd::Create);
- patch.write_diff(out);
- out.Close();
- } else {
- FileFd out, inp;
- out.OpenDescriptor(STDOUT_FILENO, FileFd::WriteOnly | FileFd::Create | FileFd::BufferedWrite);
- inp.OpenDescriptor(STDIN_FILENO, FileFd::ReadOnly);
- patch.apply_against_file(out, inp);
- out.Close();
- }
- return 0;
+ if (just_diff)
+ merged_patch.write_diff(output);
+ else
+ merged_patch.apply_against_file(output, input);
+
+ output.Close();
+ input.Close();
+ return DispatchCommandLine(CmdL, {});
}
diff --git a/po/apt-all.pot b/po/apt-all.pot
index 00623185e..e98aef3dd 100644
--- a/po/apt-all.pot
+++ b/po/apt-all.pot
@@ -5,9 +5,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: apt 2.1.10\n"
+"Project-Id-Version: apt 2.1.12\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2020-08-11 14:34+0200\n"
+"POT-Creation-Date: 2020-11-23 17:52+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/test/integration/test-00-commands-have-help b/test/integration/test-00-commands-have-help
index 4a0cc64d4..f91238d5d 100755
--- a/test/integration/test-00-commands-have-help
+++ b/test/integration/test-00-commands-have-help
@@ -49,7 +49,11 @@ for CMD in 'apt-cache' 'apt-cdrom' 'apt-config' \
checkoptions "$cmd"
done
-for CMD in 'apt-dump-solver' 'apt-internal-solver' 'apt-internal-planner'; do
+
+rred() {
+ runapt "${METHODSDIR}/rred" "$@"
+}
+for CMD in 'apt-dump-solver' 'apt-internal-solver' 'apt-internal-planner' 'rred'; do
checkoptions "$(echo "$CMD" | tr -d '-')"
done
diff --git a/test/integration/test-method-rred b/test/integration/test-method-rred
index 5a885e9d2..fcadac146 100755
--- a/test/integration/test-method-rred
+++ b/test/integration/test-method-rred
@@ -195,3 +195,54 @@ Package: supercoolstuff
failrred 'Wrong order of commands' '7d
17d'
failrred 'End before start' '7,6d'
+
+# deal correctly with patch merging
+mergepatches() {
+ local CONTENT="$1"
+ shift
+ testsuccess runapt "${METHODSDIR}/rred" Packages.ed-* "$@"
+ cp -a rootdir/tmp/testsuccess.output patch.ed
+ if [ "$#" = '0' ]; then
+ testfileequal 'patch.ed' "$CONTENT"
+ fi
+}
+createpatch() {
+ echo "$2"
+}
+
+createpatch 'Change dog to cat + kitties' '19c
+ And a cat!
+
+Package: extra-kittens
+Version: unavailable
+Description: fix later
+.' > Packages.ed-0
+createpatch 'Remove more stuff and fix later' '23d,
+6d' > Packages.ed-1
+testsuccess apthelper cat-file --compress gzip Packages.ed-1
+mv rootdir/tmp/testsuccess.output Packages.ed-1.gz
+testsuccess rm Packages.ed-1
+createpatch 'Remove (old) dog paragraph' '10,19d' > Packages.ed-2
+mergepatches '11,19c
+Package: extra-kittens
+Version: unavailable
+.
+6d' -C 'gzip'
+mv patch.ed patch.ed.gz
+mergepatches '11,19c
+Package: extra-kittens
+Version: unavailable
+.
+6d'
+testfileequal patch.ed "$(apt-helper cat-file patch.ed.gz)"
+testrred 'Apply' 'merged patch' "$(cat patch.ed)" 'Package: coolstuff
+Version: 0.8.15
+Description: collection of stuff
+ A lot, too much to iterate all, but at least this:
+ - stuff
+ - even more stuff
+ .
+ And a cow.
+
+Package: extra-kittens
+Version: unavailable'
diff --git a/test/integration/test-ubuntu-bug-1876495-pkgnames-virtual b/test/integration/test-ubuntu-bug-1876495-pkgnames-virtual
new file mode 100755
index 000000000..00a767479
--- /dev/null
+++ b/test/integration/test-ubuntu-bug-1876495-pkgnames-virtual
@@ -0,0 +1,24 @@
+
+#!/bin/sh
+
+set -e
+
+TESTDIR="$(readlink -f "$(dirname "$0")")"
+. "$TESTDIR/framework"
+setupenvironment
+configarchitecture 'i386'
+
+insertinstalledpackage 'coolstuff' 'all' '1.0' 'Provides: virtual-package
+Source: source-package'
+
+setupaptarchive
+changetowebserver
+
+testsuccess aptget update -o Debug::Acquire::gpg=1
+testsuccessequal "coolstuff
+dpkg" aptcache pkgnames
+
+testsuccessequal "source-package
+coolstuff
+dpkg
+virtual-package" aptcache pkgnames --all-names
diff --git a/test/integration/test-ubuntu-bug-835625-multiarch-lockstep-installed-first b/test/integration/test-ubuntu-bug-835625-multiarch-lockstep-installed-first
index 5a3e2762e..beb7c0854 100755
--- a/test/integration/test-ubuntu-bug-835625-multiarch-lockstep-installed-first
+++ b/test/integration/test-ubuntu-bug-835625-multiarch-lockstep-installed-first
@@ -26,9 +26,9 @@ The following packages will be upgraded:
Inst libsame:i386 [1] (2 unstable [i386]) [apt:i386 ]
Inst libsame (2 unstable [amd64]) [apt:i386 ]
Conf libsame:i386 (2 unstable [i386]) [apt:i386 ]
-Conf libsame (2 unstable [amd64]) [apt:i386 ]
Inst apt:i386 [1] (2 unstable [i386])
-Conf apt:i386 (2 unstable [i386])' 'Reading package lists...
+Conf apt:i386 (2 unstable [i386])
+Conf libsame (2 unstable [amd64])' 'Reading package lists...
Building dependency tree...
The following additional packages will be installed:
apt:i386 libsame:i386