From e709637b3a87048d3dfaf51525d7a42e5bb8e135 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Sat, 28 Dec 2024 22:57:59 +0100 Subject: Re-include std:: symbols in the symbols file as optional again This will restore most of the symbols from before and ensure reverse dependencies not depending on new symbols can migrate. It also ensures we see any missing symbols. --- abicheck/symbol-merge.py | 65 ++++++---- debian/libapt-pkg6.0t64.symbols | 280 +++++++++++++++++++++++++++++++++++++++- 2 files changed, 317 insertions(+), 28 deletions(-) diff --git a/abicheck/symbol-merge.py b/abicheck/symbol-merge.py index 1fa540c94..1b4048e08 100644 --- a/abicheck/symbol-merge.py +++ b/abicheck/symbol-merge.py @@ -17,7 +17,7 @@ import apt_inst import apt.progress.text -IGNORE = ( +STDLIB = ( "^typeinfo for std::" "|^vtable for std::" "|^typeinfo name for std::" @@ -31,7 +31,7 @@ IGNORE = ( "|^__gnu_cxx::" "|^[a-z]* __gnu_cxx::" ) -IGNORE_RE = re.compile(IGNORE) +STDLIB_RE = re.compile(STDLIB) def get_archs(dist: str) -> set[str]: @@ -109,13 +109,15 @@ def read_main_symbols() -> dict[str, str]: with open(glob.glob("debian/libapt-pkg*.symbols")[0]) as sf: for line in sf: if not line.startswith(" "): - prelude.append(line.strip()) + if not symbols: + prelude.append(line.strip()) continue if line.startswith(" "): symbol, version = line.strip().rsplit(None, 1) if '"' in symbol: print(symbol.strip().split('"')) - symbol = '(c++)"{}"'.format(symbol.strip().split('"')[1]) + prefix="(c++|optional=std)" if "optional=std" in symbol else "(c++)" + symbol = '{}"{}"'.format(prefix, symbol.strip().split('"')[1]) symbols[symbol] = version # Register the symbol so we keep the ordering later. print("SYMBOL", symbol) @@ -136,10 +138,11 @@ def read_symbol_file(debname: str) -> None: symbol, version = decoded_line.strip().rsplit(None, 1) symbol = symbol.strip() # Our version is higher than the registered one, so lower it again - if IGNORE_RE.search(symbol): - continue if line != decoded_line: - symbol = '(c++)"{}"'.format(symbol) + if STDLIB_RE.search(symbol): + symbol = '(c++|optional=std)"{}"'.format(symbol) + else: + symbol = '(c++)"{}"'.format(symbol) if ( symbol not in smallest_symbol_version or apt_pkg.version_compare(version, smallest_symbol_version[symbol]) < 0 @@ -160,28 +163,36 @@ def print_merged() -> None: for line in prelude: print(line) - print(f' (c++|regex)"{IGNORE}" 999:0misbuilt') - - for symbol, line_archs in symbol_archs.items(): - if archs == line_archs: - print("", symbol, smallest_symbol_version[symbol]) + for optional in False, True: + if optional: + print("# Optional C++ standard library symbols") + print("# These are inlined libstdc++ symbols and not supposed to be part of our ABI") + print("# but we cannot stop stuff from linking against it, sigh.") - for symbol, line_archs in symbol_archs.items(): - if archs != line_archs and line_archs: - print_archs = " ".join(sorted(line_archs)) - if len(line_archs) > len(archs - line_archs): - print_archs = " ".join("!" + a for a in sorted(archs - line_archs)) + for symbol, line_archs in symbol_archs.items(): + if optional != ("optional=std" in symbol): + continue + if archs == line_archs: + print("", symbol, smallest_symbol_version[symbol]) - if "(c++)" in symbol: - print( - "", - symbol.replace("(c++)", f"(arch={print_archs}|c++)"), - smallest_symbol_version[symbol], - ) - else: - print( - f" (arch={print_archs}){symbol} {smallest_symbol_version[symbol]}" - ) + for symbol, line_archs in symbol_archs.items(): + if optional != ("optional=std" in symbol): + continue + if archs != line_archs and line_archs: + print_archs = " ".join(sorted(line_archs)) + if len(line_archs) > len(archs - line_archs): + print_archs = " ".join("!" + a for a in sorted(archs - line_archs)) + + if "(c++" in symbol: + print( + "", + symbol.replace("(c++", f"(arch={print_archs}|c++"), + smallest_symbol_version[symbol], + ) + else: + print( + f" (arch={print_archs}){symbol} {smallest_symbol_version[symbol]}" + ) if __name__ == "__main__": diff --git a/debian/libapt-pkg6.0t64.symbols b/debian/libapt-pkg6.0t64.symbols index ed22093c6..557aa3c80 100644 --- a/debian/libapt-pkg6.0t64.symbols +++ b/debian/libapt-pkg6.0t64.symbols @@ -1,6 +1,5 @@ libapt-pkg.so.6.0 libapt-pkg6.0t64 #MINVER# * Build-Depends-Package: libapt-pkg-dev - (c++|regex)"^typeinfo for std::|^vtable for std::|^typeinfo name for std::|^guard variable for std::|^std::|^[a-z]* std::|^typeinfo for __gnu_cxx::|^vtable for __gnu_cxx::|^typeinfo name for __gnu_cxx::|^guard variable for __gnu_cxx::|^__gnu_cxx::|^[a-z]* __gnu_cxx::" 999:0misbuilt TFRewritePackageOrder@APTPKG_6.0 0.8.0 TFRewriteSourceOrder@APTPKG_6.0 0.8.0 (c++)"FileExists(std::__cxx11::basic_string, std::allocator >)@APTPKG_6.0" 0.8.0 @@ -1335,3 +1334,282 @@ libapt-pkg.so.6.0 libapt-pkg6.0t64 #MINVER# (arch=armel armhf|c++)"FTPMDTMStrToTime(char const*, long long&)@APTPKG_6.0" 0.8.0 (arch=armel armhf|c++)"RFC1123StrToTime(std::__cxx11::basic_string, std::allocator > const&, long long&)@APTPKG_6.0" 1.9.0 (arch=armel armhf|c++)"TimeRFC1123[abi:cxx11](long long, bool)@APTPKG_6.0" 2.7.14 +# Optional C++ standard library symbols +# These are inlined libstdc++ symbols and not supposed to be part of our ABI +# but we cannot stop stuff from linking against it, sigh. + (c++|optional=std)"guard variable for std::__detail::_AnyMatcher, false, false, false>::operator()(char) const::__nul@APTPKG_6.0" 2.9.17 + (c++|optional=std)"guard variable for std::__detail::_AnyMatcher, false, false, true>::operator()(char) const::__nul@APTPKG_6.0" 2.9.17 + (c++|optional=std)"guard variable for std::__detail::_AnyMatcher, false, true, false>::operator()(char) const::__nul@APTPKG_6.0" 2.9.17 + (c++|optional=std)"guard variable for std::__detail::_AnyMatcher, false, true, true>::operator()(char) const::__nul@APTPKG_6.0" 2.9.17 + (c++|optional=std)"std::__cxx11::regex_traits::_RegexMask std::__cxx11::regex_traits::lookup_classname(char const*, char const*, bool) const@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__cxx11::basic_string, std::allocator > std::__cxx11::regex_traits::lookup_collatename(char const*, char const*) const@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, metaIndex::checkSum*>, std::_Select1st, std::allocator > const, metaIndex::checkSum*> >, std::less, std::allocator > >, std::allocator, std::allocator > const, metaIndex::checkSum*> > >::find(std::__cxx11::basic_string, std::allocator > const&) const@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > >, std::_Select1st, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::__cxx11::basic_string, std::allocator > > > >::find(std::__cxx11::basic_string, std::allocator > const&) const@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Executor >, std::__cxx11::regex_traits, false>::_M_word_boundary() const@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Executor >, std::__cxx11::regex_traits, true>::_M_word_boundary() const@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::_Hashtable, std::allocator >, std::pair, std::allocator > const, APT::VersionContainer > > >, std::allocator, std::allocator > const, APT::VersionContainer > > > >, std::__detail::_Select1st, std::equal_to, std::allocator > >, std::hash, std::allocator > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::clear()@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::_Hashtable, std::allocator >, std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > >, std::allocator, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, std::__detail::_Select1st, std::equal_to, std::allocator > >, std::hash, std::allocator > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::find(std::__cxx11::basic_string, std::allocator > const&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::_Hashtable, std::__detail::_Identity, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::clear()@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::_Deque_base >::~_Deque_base()@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::deque >, std::allocator > > >::_M_push_back_aux > const&>(std::__detail::_StateSeq > const&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::deque >::_M_push_back_aux(long const&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(HashString const&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(CdromDevice const&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(IndexTarget const&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(char (&) [1025], unsigned short&, unsigned short&, unsigned short&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(pkgSrcRecords::File const&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(pkgSrcRecords::Parser::BuildDepRec&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(pkgTagSection::Tag&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(pkgAcquireStatus::ReleaseInfoChange&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(pkgCache::DepIterator const&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(pkgCache::PkgIterator const&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(pkgCache::VerIterator const&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(pkgCache::VerIterator&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(pkgDPkgPM::Item::Ops&&, pkgCache::PkgIterator&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(pkgDPkgPM::Item::Ops&&, pkgCache::PkgIterator&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append, std::allocator >&>(pkgDPkgPM::Item::Ops&&, pkgCache::PkgIterator&, std::__cxx11::basic_string, std::allocator >&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(pkgDPkgPM::Item&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::vector >::_M_insert_rval(__gnu_cxx::__normal_iterator > >, pkgDPkgPM::DpkgState&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(pkgDPkgPM::DpkgState const&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, pkgDPkgPM::DpkgState&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, pkgPolicy::Pin&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_insert(__gnu_cxx::__normal_iterator > >, pkgPolicy::PkgPin&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector, std::allocator >, std::allocator, std::allocator > > >::_M_insert_aux, std::allocator > >(__gnu_cxx::__normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > >, std::__cxx11::basic_string, std::allocator >&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector, std::allocator >, std::allocator, std::allocator > > >::_M_realloc_append<>()@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector, std::allocator >, std::allocator, std::allocator > > >::_M_realloc_append(char const (&) [4])@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector, std::allocator >, std::allocator, std::allocator > > >::_M_realloc_append, std::allocator > const&>(std::__cxx11::basic_string, std::allocator > const&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector, std::allocator >, std::allocator, std::allocator > > >::_M_realloc_append, std::allocator > >(std::__cxx11::basic_string, std::allocator >&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector, std::allocator >, std::allocator, std::allocator > > >::_M_realloc_append > >(std::basic_string_view >&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector, std::allocator >, std::allocator, std::allocator > > >::_M_realloc_insert(__gnu_cxx::__normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > >, char const (&) [4])@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector, std::allocator >, std::allocator, std::allocator > > >::_M_realloc_insert(__gnu_cxx::__normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > >, char const (&) [5])@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector, std::allocator >, std::allocator, std::allocator > > >::_M_realloc_insert(__gnu_cxx::__normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > >, char const (&) [6])@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector, std::allocator >, std::allocator, std::allocator > > >::_M_realloc_insert, std::allocator > const&>(__gnu_cxx::__normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > >, std::__cxx11::basic_string, std::allocator > const&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector, std::allocator >, std::allocator, std::allocator > > >::_M_realloc_insert, std::allocator > >(__gnu_cxx::__normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > >, std::__cxx11::basic_string, std::allocator >&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector::_RegexMask, std::allocator::_RegexMask> >::_M_realloc_append::_RegexMask const&>(std::__cxx11::regex_traits::_RegexMask const&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector, std::allocator > >::_M_realloc_append >(std::__detail::_State&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(pkgIndexFile* const&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(pkgIndexFile*&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(metaIndex*&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(char const* const&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(char const*&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(pkgAcquire::Item* const&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(pkgSrcRecords::Parser* const&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(APT::CacheFilter::Matcher* const&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(APT::Progress::PackageManagerFancy*&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(pkgCache::DepIterator*&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(pkgCache::GrpIterator*&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(pkgCache::PkgIterator*&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(pkgCache::PrvIterator*&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(pkgCache::VerIterator*&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(pkgCache::DescIterator*&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(pkgCache::PkgFileIterator*&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(pkgCache::RlsFileIterator*&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(pkgCache::Version*&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >*, std::allocator >*> >::_M_realloc_append >*>(std::basic_string_view >*&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(char*&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >, std::allocator > > >::_M_realloc_append > >(std::unique_ptr >&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector, std::allocator >, ConfigType>, std::allocator, std::allocator >, ConfigType> > >::_M_realloc_append, std::allocator >, ConfigType>(std::__cxx11::basic_string, std::allocator >&&, ConfigType&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector, std::allocator >, std::__cxx11::basic_string, std::allocator > >, std::allocator, std::allocator >, std::__cxx11::basic_string, std::allocator > > > >::_M_realloc_append, std::allocator >, std::__cxx11::basic_string, std::allocator > > >(std::pair, std::allocator >, std::__cxx11::basic_string, std::allocator > >&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector, std::allocator > >, std::allocator, std::allocator > > > >::_M_realloc_append, std::allocator > >(pkgDPkgPM::Item*&&, std::__cxx11::basic_string, std::allocator >&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector, std::allocator > >::_M_realloc_append >(std::pair&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector, std::allocator > > >, std::allocator, std::allocator > > > > >::_M_realloc_append, std::allocator > > const&>(long&, std::vector, std::allocator > > const&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::vector >::_M_insert_aux(std::_Bit_iterator, bool)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::vector >::_M_erase(std::_Bit_iterator, std::_Bit_iterator)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(char&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(unsigned int const&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::vector >::_M_realloc_append(unsigned int&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__cxx11::_List_base >::_M_clear()@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__cxx11::basic_string, std::allocator >::swap(std::__cxx11::basic_string, std::allocator >&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__cxx11::basic_string, std::allocator >::_M_assign(std::__cxx11::basic_string, std::allocator > const&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::_Rb_tree_iterator > > std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::_M_emplace_hint_unique > >(std::_Rb_tree_const_iterator > >, std::pair >&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::_Rb_tree, std::allocator >, std::__cxx11::basic_string, std::allocator >, std::_Identity, std::allocator > >, std::less, std::allocator > >, std::allocator, std::allocator > > >::find(std::__cxx11::basic_string, std::allocator > const&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > >, std::_Select1st, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::__cxx11::basic_string, std::allocator > > > >::equal_range(std::__cxx11::basic_string, std::allocator > const&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, bool> std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > >, std::_Select1st, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::__cxx11::basic_string, std::allocator > > > >::_M_emplace_unique, std::allocator > const>(char const (&) [13], std::__cxx11::basic_string, std::allocator > const&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, bool> std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > >, std::_Select1st, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::__cxx11::basic_string, std::allocator > > > >::_M_emplace_unique, std::allocator > const>(char const (&) [20], std::__cxx11::basic_string, std::allocator > const&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, bool> std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > >, std::_Select1st, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::__cxx11::basic_string, std::allocator > > > >::_M_emplace_unique, std::allocator > > >(std::pair, std::allocator > >&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, bool> std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > >, std::_Select1st, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::__cxx11::basic_string, std::allocator > > > >::_M_emplace_unique >(std::pair&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > >, std::_Select1st, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::__cxx11::basic_string, std::allocator > > > >::find(std::__cxx11::basic_string, std::allocator > const&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, std::vector > >, std::_Select1st, std::allocator > const, std::vector > > >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::vector > > > >::find(std::__cxx11::basic_string, std::allocator > const&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::pair, bool> std::_Rb_tree, std::less, std::allocator >::_M_emplace_unique(unsigned int const&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::__detail::__to_chars_10_impl(char*, unsigned int, unsigned int)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_NFA >::_M_eliminate_dummy()@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Scanner::_M_eat_class(char)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Scanner::_M_scan_normal()@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Scanner::_M_scan_in_brace()@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Scanner::_M_eat_escape_awk()@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Scanner::_M_eat_escape_ecma()@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Scanner::_M_scan_in_bracket()@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Scanner::_M_eat_escape_posix()@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Compiler >::_M_try_char()@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Compiler >::_M_assertion()@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Compiler >::_M_quantifier()@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Compiler >::_M_alternative()@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Compiler >::_M_disjunction()@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Compiler >::_M_cur_int_value(int)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"bool std::__detail::_Compiler >::_M_expression_term(std::__detail::_Compiler >::_BracketState&, std::__detail::_BracketMatcher, false, false>&)@APTPKG_6.0" 2.9.17 + (c++|optional=std)"bool std::__detail::_Compiler >::_M_expression_term(std::__detail::_Compiler >::_BracketState&, std::__detail::_BracketMatcher, false, true>&)@APTPKG_6.0" 2.9.17 + (c++|optional=std)"bool std::__detail::_Compiler >::_M_expression_term(std::__detail::_Compiler >::_BracketState&, std::__detail::_BracketMatcher, true, false>&)@APTPKG_6.0" 2.9.17 + (c++|optional=std)"bool std::__detail::_Compiler >::_M_expression_term(std::__detail::_Compiler >::_BracketState&, std::__detail::_BracketMatcher, true, true>&)@APTPKG_6.0" 2.9.17 + (c++|optional=std)"std::__detail::_Compiler >::_M_bracket_expression()@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::__detail::_Compiler >::_M_insert_bracket_matcher(bool)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::__detail::_Compiler >::_M_insert_bracket_matcher(bool)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::__detail::_Compiler >::_M_insert_bracket_matcher(bool)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::__detail::_Compiler >::_M_insert_bracket_matcher(bool)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::__detail::_Compiler >::_M_insert_character_class_matcher()@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::__detail::_Compiler >::_M_insert_character_class_matcher()@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::__detail::_Compiler >::_M_insert_character_class_matcher()@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::__detail::_Compiler >::_M_insert_character_class_matcher()@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Compiler >::_M_atom()@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Executor >, std::__cxx11::regex_traits, false>::_M_lookahead(long)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Executor >, std::__cxx11::regex_traits, false>::_M_handle_repeat(std::__detail::_Executor >, std::__cxx11::regex_traits, false>::_Match_mode, long)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Executor >, std::__cxx11::regex_traits, false>::_M_rep_once_more(std::__detail::_Executor >, std::__cxx11::regex_traits, false>::_Match_mode, long)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Executor >, std::__cxx11::regex_traits, false>::_M_handle_subexpr_end(std::__detail::_Executor >, std::__cxx11::regex_traits, false>::_Match_mode, long)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Executor >, std::__cxx11::regex_traits, false>::_M_dfs(std::__detail::_Executor >, std::__cxx11::regex_traits, false>::_Match_mode, long)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Executor >, std::__cxx11::regex_traits, true>::_M_lookahead(long)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Executor >, std::__cxx11::regex_traits, true>::_M_handle_repeat(std::__detail::_Executor >, std::__cxx11::regex_traits, true>::_Match_mode, long)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Executor >, std::__cxx11::regex_traits, true>::_M_rep_once_more(std::__detail::_Executor >, std::__cxx11::regex_traits, true>::_Match_mode, long)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Executor >, std::__cxx11::regex_traits, true>::_M_handle_backref(std::__detail::_Executor >, std::__cxx11::regex_traits, true>::_Match_mode, long)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Executor >, std::__cxx11::regex_traits, true>::_M_handle_subexpr_end(std::__detail::_Executor >, std::__cxx11::regex_traits, true>::_Match_mode, long)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Executor >, std::__cxx11::regex_traits, true>::_M_dfs(std::__detail::_Executor >, std::__cxx11::regex_traits, true>::_Match_mode, long)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Map_base, std::allocator >, std::pair, std::allocator > const, APT::VersionContainer > > >, std::allocator, std::allocator > const, APT::VersionContainer > > > >, std::__detail::_Select1st, std::equal_to, std::allocator > >, std::hash, std::allocator > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits, true>::operator[](std::__cxx11::basic_string, std::allocator >&&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Map_base, std::allocator >, std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > >, std::allocator, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, std::__detail::_Select1st, std::equal_to, std::allocator > >, std::hash, std::allocator > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits, true>::operator[](std::__cxx11::basic_string, std::allocator > const&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Map_base, std::allocator >, std::pair, std::allocator > const, std::forward_list, std::allocator >, std::allocator, std::allocator > > > >, std::allocator, std::allocator > const, std::forward_list, std::allocator >, std::allocator, std::allocator > > > > >, std::__detail::_Select1st, std::equal_to, std::allocator > >, std::hash, std::allocator > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits, true>::operator[](std::__cxx11::basic_string, std::allocator > const&)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_StateSeq >::_M_clone()@APTPKG_6.0" 0.8.0 + (c++|optional=std)"void std::seed_seq::generate(unsigned int*, unsigned int*)@APTPKG_6.0" 2.9.17 + (c++|optional=std)"std::__cxx11::basic_string, std::allocator >* std::__do_uninit_copy<__gnu_cxx::__normal_iterator, std::allocator > const*, std::vector, std::allocator >, std::allocator, std::allocator > > > >, std::__cxx11::basic_string, std::allocator >*>(__gnu_cxx::__normal_iterator, std::allocator > const*, std::vector, std::allocator >, std::allocator, std::allocator > > > >, __gnu_cxx::__normal_iterator, std::allocator > const*, std::vector, std::allocator >, std::allocator, std::allocator > > > >, std::__cxx11::basic_string, std::allocator >*)@APTPKG_6.0" 0.8.0 + (c++|optional=std)"typeinfo for std::__detail::_AnyMatcher, false, false, false>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo for std::__detail::_AnyMatcher, false, false, true>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo for std::__detail::_AnyMatcher, false, true, false>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo for std::__detail::_AnyMatcher, false, true, true>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo for std::__detail::_AnyMatcher, true, false, false>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo for std::__detail::_AnyMatcher, true, false, true>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo for std::__detail::_AnyMatcher, true, true, false>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo for std::__detail::_AnyMatcher, true, true, true>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo for std::__detail::_CharMatcher, false, false>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo for std::__detail::_CharMatcher, false, true>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo for std::__detail::_CharMatcher, true, false>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo for std::__detail::_CharMatcher, true, true>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo for std::__detail::_BracketMatcher, false, false>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo for std::__detail::_BracketMatcher, false, true>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo for std::__detail::_BracketMatcher, true, false>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo for std::__detail::_BracketMatcher, true, true>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo name for std::__detail::_AnyMatcher, false, false, false>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo name for std::__detail::_AnyMatcher, false, false, true>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo name for std::__detail::_AnyMatcher, false, true, false>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo name for std::__detail::_AnyMatcher, false, true, true>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo name for std::__detail::_AnyMatcher, true, false, false>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo name for std::__detail::_AnyMatcher, true, false, true>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo name for std::__detail::_AnyMatcher, true, true, false>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo name for std::__detail::_AnyMatcher, true, true, true>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo name for std::__detail::_CharMatcher, false, false>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo name for std::__detail::_CharMatcher, false, true>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo name for std::__detail::_CharMatcher, true, false>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo name for std::__detail::_CharMatcher, true, true>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo name for std::__detail::_BracketMatcher, false, false>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo name for std::__detail::_BracketMatcher, false, true>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo name for std::__detail::_BracketMatcher, true, false>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo name for std::__detail::_BracketMatcher, true, true>@APTPKG_6.0" 2.9.17 + (c++|optional=std)"typeinfo name for std::_Sp_make_shared_tag@APTPKG_6.0" 2.9.17 + (c++|optional=std)"std::__cxx11::regex_traits::lookup_classname(char const*, char const*, bool) const::__classnames@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__cxx11::regex_traits::lookup_collatename(char const*, char const*) const::__collatenames@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_AnyMatcher, false, false, false>::operator()(char) const::__nul@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_AnyMatcher, false, false, true>::operator()(char) const::__nul@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_AnyMatcher, false, true, false>::operator()(char) const::__nul@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_AnyMatcher, false, true, true>::operator()(char) const::__nul@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Executor >, std::__cxx11::regex_traits, false>::_M_is_word(char) const::__s@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::__detail::_Executor >, std::__cxx11::regex_traits, true>::_M_is_word(char) const::__s@APTPKG_6.0" 0.8.0 + (c++|optional=std)"std::_Sp_make_shared_tag::_S_ti()::__tag@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386|c++|optional=std)"int __gnu_cxx::__stoa(long (*)(char const*, char**, int), char const*, char const*, unsigned long*, int)@APTPKG_6.0" 1.3~exp2 + (arch=!armel !armhf !i386|c++|optional=std)"std::_Hashtable, std::allocator >, std::pair, std::allocator > const, APT::VersionContainer > > >, std::allocator, std::allocator > const, APT::VersionContainer > > > >, std::__detail::_Select1st, std::equal_to, std::allocator > >, std::hash, std::allocator > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node, std::allocator > const, APT::VersionContainer > > >, true>*, unsigned long)@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386|c++|optional=std)"std::_Hashtable, std::allocator >, std::pair, std::allocator > const, std::vector, std::allocator >, std::allocator, std::allocator > > > >, std::allocator, std::allocator > const, std::vector, std::allocator >, std::allocator, std::allocator > > > > >, std::__detail::_Select1st, std::equal_to, std::allocator > >, std::hash, std::allocator > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node, std::allocator > const, std::vector, std::allocator >, std::allocator, std::allocator > > > >, true>*, unsigned long)@APTPKG_6.0" 0.8.0 + (arch=mips64el riscv64|c++|optional=std)"std::_Hashtable, std::__detail::_Identity, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node*, unsigned long)@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386|c++|optional=std)"std::_Deque_base >::_M_initialize_map(unsigned long)@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386|c++|optional=std)"std::deque >, std::allocator > > >::_M_reallocate_map(unsigned long, bool)@APTPKG_6.0" 0.8.0 + (arch=!i386 !s390x|c++|optional=std)"std::vector >::_M_erase(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >)@APTPKG_6.0" 0.8.0 + (arch=!i386 !s390x|c++|optional=std)"__gnu_cxx::__normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > > std::vector, std::allocator >, std::allocator, std::allocator > > >::_M_emplace_aux(__gnu_cxx::__normal_iterator, std::allocator > const*, std::vector, std::allocator >, std::allocator, std::allocator > > > >, char const (&) [4])@APTPKG_6.0" 0.8.0 + (arch=!i386 !s390x|c++|optional=std)"__gnu_cxx::__normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > > std::vector, std::allocator >, std::allocator, std::allocator > > >::_M_emplace_aux(__gnu_cxx::__normal_iterator, std::allocator > const*, std::vector, std::allocator >, std::allocator, std::allocator > > > >, char const (&) [5])@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386|c++|optional=std)"std::vector, std::allocator >, std::allocator, std::allocator > > >::reserve(unsigned long)@APTPKG_6.0" 0.8.0 + (arch=!i386 !s390x|c++|optional=std)"std::vector, std::allocator >, std::allocator, std::allocator > > >::_M_erase(__gnu_cxx::__normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > >)@APTPKG_6.0" 0.8.0 + (arch=!i386 !s390x|c++|optional=std)"std::vector, std::allocator >, std::allocator, std::allocator > > >::_M_erase(__gnu_cxx::__normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > >, __gnu_cxx::__normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > >)@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386|c++|optional=std)"std::vector, std::allocator > >::_M_fill_assign(unsigned long, std::__cxx11::sub_match const&)@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386|c++|optional=std)"void std::vector, std::allocator > >::_M_realloc_append >(std::pair&&)@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386|c++|optional=std)"std::vector >::_M_default_append(unsigned long)@APTPKG_6.0" 0.8.0 + (arch=!i386 !s390x|c++|optional=std)"std::vector >::_M_erase(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >)@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf|c++|optional=std)"void std::vector >::_M_realloc_append(long&&)@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386|c++|optional=std)"void std::vector >::_M_realloc_append(unsigned long const&)@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386|c++|optional=std)"std::__cxx11::basic_string, std::allocator >::_M_replace(unsigned long, unsigned long, char const*, unsigned long)@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386|c++|optional=std)"std::__cxx11::basic_string, std::allocator >::_M_replace_aux(unsigned long, unsigned long, unsigned long, char)@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386|c++|optional=std)"std::__cxx11::basic_string, std::allocator >::_M_replace_cold(char*, unsigned long, char const*, unsigned long, unsigned long)@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386|c++|optional=std)"std::__cxx11::basic_string, std::allocator >::resize(unsigned long, char)@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386|c++|optional=std)"std::__cxx11::basic_string, std::allocator >::reserve(unsigned long)@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386|c++|optional=std)"std::__cxx11::basic_string, std::allocator >::_M_erase(unsigned long, unsigned long)@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386|c++|optional=std)"std::__cxx11::basic_string, std::allocator >::_M_append(char const*, unsigned long)@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386|c++|optional=std)"std::__cxx11::basic_string, std::allocator >::_M_mutate(unsigned long, unsigned long, char const*, unsigned long)@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386 !s390x|c++|optional=std)"std::pair, std::allocator > >, bool> std::_Rb_tree, std::allocator >, std::__cxx11::basic_string, std::allocator >, std::_Identity, std::allocator > >, std::less, std::allocator > >, std::allocator, std::allocator > > >::_M_insert_unique, std::allocator > const&>(std::__cxx11::basic_string, std::allocator > const&)@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386 !s390x|c++|optional=std)"std::pair, std::allocator > >, bool> std::_Rb_tree, std::allocator >, std::__cxx11::basic_string, std::allocator >, std::_Identity, std::allocator > >, std::less, std::allocator > >, std::allocator, std::allocator > > >::_M_insert_unique, std::allocator > >(std::__cxx11::basic_string, std::allocator >&&)@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386 !s390x|c++|optional=std)"std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, bool> std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > >, std::_Select1st, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::__cxx11::basic_string, std::allocator > > > >::_M_emplace_unique, std::allocator > const&>(char const (&) [10], std::__cxx11::basic_string, std::allocator > const&)@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386 !s390x|c++|optional=std)"std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, bool> std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > >, std::_Select1st, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::__cxx11::basic_string, std::allocator > > > >::_M_emplace_unique(char const (&) [11], char const (&) [5])@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386 !s390x|c++|optional=std)"std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, bool> std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > >, std::_Select1st, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::__cxx11::basic_string, std::allocator > > > >::_M_emplace_unique(char const (&) [15], char const (&) [5])@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386 !s390x|c++|optional=std)"std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, bool> std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > >, std::_Select1st, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::__cxx11::basic_string, std::allocator > > > >::_M_emplace_unique, std::allocator > const&>(char const (&) [15], std::__cxx11::basic_string, std::allocator > const&)@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386 !s390x|c++|optional=std)"std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, bool> std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > >, std::_Select1st, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::__cxx11::basic_string, std::allocator > > > >::_M_emplace_unique(char const (&) [22], char const (&) [4])@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386 !s390x|c++|optional=std)"std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, bool> std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > >, std::_Select1st, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::__cxx11::basic_string, std::allocator > > > >::_M_emplace_unique(char const (&) [28], char const (&) [5])@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386 !s390x|c++|optional=std)"std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, bool> std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > >, std::_Select1st, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::__cxx11::basic_string, std::allocator > > > >::_M_emplace_unique(char const (&) [9], char const (&) [5])@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386 !s390x|c++|optional=std)"std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, bool> std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > >, std::_Select1st, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::__cxx11::basic_string, std::allocator > > > >::_M_emplace_unique, std::allocator > const&>(char const (&) [9], std::__cxx11::basic_string, std::allocator > const&)@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386|c++|optional=std)"void std::__detail::__to_chars_10_impl(char*, unsigned int, unsigned long)@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386|c++|optional=std)"std::__detail::_NFA >::_M_insert_backref(unsigned long)@APTPKG_6.0" 0.8.0 + (arch=!i386|c++|optional=std)"std::__detail::_Scanner::_Scanner(char const*, char const*, std::regex_constants::syntax_option_type, std::locale)@APTPKG_6.0" 0.8.0 + (arch=!amd64 !i386|c++|optional=std)"void std::__detail::_Compiler >::_M_insert_char_matcher()@APTPKG_6.0" 0.8.0 + (arch=!amd64 !i386|c++|optional=std)"void std::__detail::_Compiler >::_M_insert_char_matcher()@APTPKG_6.0" 0.8.0 + (arch=!i386|c++|optional=std)"std::__detail::_Compiler >::_Compiler(char const*, char const*, std::locale const&, std::regex_constants::syntax_option_type)@APTPKG_6.0" 0.8.0 + (arch=!armel !armhf !i386|c++|optional=std)"void std::shuffle<__gnu_cxx::__normal_iterator > >, std::linear_congruential_engine&>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::linear_congruential_engine&)@APTPKG_6.0" 1.3~rc2 + (arch=armel riscv64|c++|optional=std)"typeinfo for __gnu_cxx::__mutex@APTPKG_6.0" 2.9.17 + (arch=armel riscv64|c++|optional=std)"typeinfo for std::_Mutex_base<(__gnu_cxx::_Lock_policy)1>@APTPKG_6.0" 2.9.17 + (arch=armel riscv64|c++|optional=std)"typeinfo for std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)1>@APTPKG_6.0" 2.9.17 + (arch=armel riscv64|c++|optional=std)"typeinfo for std::_Sp_counted_ptr_inplace >, std::allocator, (__gnu_cxx::_Lock_policy)1>@APTPKG_6.0" 2.9.17 + (arch=armel riscv64|c++|optional=std)"typeinfo name for __gnu_cxx::__mutex@APTPKG_6.0" 2.9.17 + (arch=armel riscv64|c++|optional=std)"typeinfo name for std::_Mutex_base<(__gnu_cxx::_Lock_policy)1>@APTPKG_6.0" 2.9.17 + (arch=armel riscv64|c++|optional=std)"typeinfo name for std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)1>@APTPKG_6.0" 2.9.17 + (arch=armel riscv64|c++|optional=std)"typeinfo name for std::_Sp_counted_ptr_inplace >, std::allocator, (__gnu_cxx::_Lock_policy)1>@APTPKG_6.0" 2.9.17 + (arch=armel riscv64|c++|optional=std)"vtable for std::_Sp_counted_ptr_inplace >, std::allocator, (__gnu_cxx::_Lock_policy)1>@APTPKG_6.0" 2.9.17 + (arch=armel armhf i386|c++|optional=std)"int __gnu_cxx::__stoa(long (*)(char const*, char**, int), char const*, char const*, unsigned int*, int)@APTPKG_6.0" 2.9.17 + (arch=armel armhf i386|c++|optional=std)"std::_Hashtable, std::allocator >, std::pair, std::allocator > const, APT::VersionContainer > > >, std::allocator, std::allocator > const, APT::VersionContainer > > > >, std::__detail::_Select1st, std::equal_to, std::allocator > >, std::hash, std::allocator > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned int, unsigned int, std::__detail::_Hash_node, std::allocator > const, APT::VersionContainer > > >, true>*, unsigned int)@APTPKG_6.0" 0.8.0 + (arch=armel armhf i386|c++|optional=std)"std::_Hashtable, std::allocator >, std::pair, std::allocator > const, std::vector, std::allocator >, std::allocator, std::allocator > > > >, std::allocator, std::allocator > const, std::vector, std::allocator >, std::allocator, std::allocator > > > > >, std::__detail::_Select1st, std::equal_to, std::allocator > >, std::hash, std::allocator > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned int, unsigned int, std::__detail::_Hash_node, std::allocator > const, std::vector, std::allocator >, std::allocator, std::allocator > > > >, true>*, unsigned int)@APTPKG_6.0" 0.8.0 + (arch=armel armhf|c++|optional=std)"std::_Hashtable, std::__detail::_Identity, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_insert_unique_node(unsigned int, unsigned int, std::__detail::_Hash_node*, unsigned int)@APTPKG_6.0" 0.8.0 + (arch=armel armhf i386|c++|optional=std)"std::_Deque_base >::_M_initialize_map(unsigned int)@APTPKG_6.0" 0.8.0 + (arch=armel armhf s390x|c++|optional=std)"void std::deque >, std::allocator > > >::_M_push_back_aux > >(std::__detail::_StateSeq >&&)@APTPKG_6.0" 0.8.0 + (arch=armel armhf i386|c++|optional=std)"std::deque >, std::allocator > > >::_M_reallocate_map(unsigned int, bool)@APTPKG_6.0" 0.8.0 + (arch=!amd64 !i386 !mips64el !riscv64|c++|optional=std)"void std::vector >::_M_realloc_append, std::allocator > >(pkgDPkgPM::Item::Ops&&, pkgCache::PkgIterator&, std::__cxx11::basic_string, std::allocator >&&)@APTPKG_6.0" 0.8.0 + (arch=armel armhf i386|c++|optional=std)"std::vector, std::allocator >, std::allocator, std::allocator > > >::reserve(unsigned int)@APTPKG_6.0" 0.8.0 + (arch=armel armhf i386|c++|optional=std)"std::vector, std::allocator > >::_M_fill_assign(unsigned int, std::__cxx11::sub_match const&)@APTPKG_6.0" 0.8.0 + (arch=armel armhf i386|c++|optional=std)"void std::vector, std::allocator > >::_M_realloc_append >(std::pair&&)@APTPKG_6.0" 0.8.0 + (arch=armel armhf i386|c++|optional=std)"std::vector >::_M_reallocate(unsigned int)@APTPKG_6.0" 0.8.0 + (arch=armel armhf i386|c++|optional=std)"std::vector >::_M_default_append(unsigned int)@APTPKG_6.0" 0.8.0 + (arch=armel armhf|c++|optional=std)"void std::vector >::_M_realloc_append(long long&&)@APTPKG_6.0" 0.8.0 + (arch=armel armhf i386|c++|optional=std)"std::__cxx11::basic_string, std::allocator >::_M_replace(unsigned int, unsigned int, char const*, unsigned int)@APTPKG_6.0" 0.8.0 + (arch=armel armhf i386|c++|optional=std)"std::__cxx11::basic_string, std::allocator >::_M_replace_aux(unsigned int, unsigned int, unsigned int, char)@APTPKG_6.0" 0.8.0 + (arch=armel armhf i386|c++|optional=std)"std::__cxx11::basic_string, std::allocator >::_M_replace_cold(char*, unsigned int, char const*, unsigned int, unsigned int)@APTPKG_6.0" 0.8.0 + (arch=armel armhf i386|c++|optional=std)"std::__cxx11::basic_string, std::allocator >::resize(unsigned int, char)@APTPKG_6.0" 0.8.0 + (arch=armel armhf i386|c++|optional=std)"std::__cxx11::basic_string, std::allocator >::reserve(unsigned int)@APTPKG_6.0" 0.8.0 + (arch=armel armhf i386|c++|optional=std)"std::__cxx11::basic_string, std::allocator >::_M_erase(unsigned int, unsigned int)@APTPKG_6.0" 0.8.0 + (arch=armel armhf i386|c++|optional=std)"std::__cxx11::basic_string, std::allocator >::_M_append(char const*, unsigned int)@APTPKG_6.0" 0.8.0 + (arch=armel armhf i386|c++|optional=std)"std::__cxx11::basic_string, std::allocator >::_M_mutate(unsigned int, unsigned int, char const*, unsigned int)@APTPKG_6.0" 0.8.0 + (arch=armel armhf i386 s390x|c++|optional=std)"std::_Rb_tree_iterator > std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_emplace_hint_unique(std::_Rb_tree_const_iterator >, unsigned int const&, unsigned int const&)@APTPKG_6.0" 0.8.0 + (arch=armel armhf|c++|optional=std)"void std::__detail::__to_chars_10_impl(char*, unsigned int, unsigned long long)@APTPKG_6.0" 0.8.0 + (arch=armel armhf i386|c++|optional=std)"std::__detail::_NFA >::_M_insert_backref(unsigned int)@APTPKG_6.0" 0.8.0 + (arch=armel armhf i386|c++|optional=std)"void std::shuffle<__gnu_cxx::__normal_iterator > >, std::linear_congruential_engine&>(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, std::linear_congruential_engine&)@APTPKG_6.0" 2.9.17 + (arch=!armel !riscv64|c++|optional=std)"typeinfo for std::_Mutex_base<(__gnu_cxx::_Lock_policy)2>@APTPKG_6.0" 1.9.11~ + (arch=!armel !riscv64|c++|optional=std)"typeinfo for std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>@APTPKG_6.0" 1.9.11~ + (arch=armel armhf|c++|optional=std)"typeinfo for std::_Sp_make_shared_tag@APTPKG_6.0" 2.9.17 + (arch=!armel !riscv64|c++|optional=std)"typeinfo for std::_Sp_counted_ptr_inplace >, std::allocator, (__gnu_cxx::_Lock_policy)2>@APTPKG_6.0" 2.9.17 + (arch=!armel !riscv64|c++|optional=std)"typeinfo name for std::_Mutex_base<(__gnu_cxx::_Lock_policy)2>@APTPKG_6.0" 1.9.11~ + (arch=!armel !riscv64|c++|optional=std)"typeinfo name for std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>@APTPKG_6.0" 1.9.11~ + (arch=!armel !riscv64|c++|optional=std)"typeinfo name for std::_Sp_counted_ptr_inplace >, std::allocator, (__gnu_cxx::_Lock_policy)2>@APTPKG_6.0" 2.9.17 + (arch=!armel !riscv64|c++|optional=std)"vtable for std::_Sp_counted_ptr_inplace >, std::allocator, (__gnu_cxx::_Lock_policy)2>@APTPKG_6.0" 2.9.17 + (arch=amd64 arm64 ppc64el s390x|c++|optional=std)"std::vector >::_M_reallocate(unsigned long)@APTPKG_6.0" 0.8.0 + (arch=amd64 arm64 ppc64el|c++|optional=std)"std::pair, bool> std::_Rb_tree, std::less, std::allocator >::_M_insert_unique(pkgCache::PkgIterator const&)@APTPKG_6.0" 0.8.0 + (arch=amd64 arm64 ppc64el|c++|optional=std)"std::_Rb_tree, std::less, std::allocator >::_M_get_insert_unique_pos(pkgCache::PkgIterator const&)@APTPKG_6.0" 0.8.0 + (arch=amd64 i386|c++|optional=std)"bool std::__detail::__regex_algo_impl >, char, std::__cxx11::regex_traits >(char const*, char const*, std::__cxx11::match_results > >&, std::__cxx11::basic_regex > const&, std::regex_constants::match_flag_type, std::__detail::_RegexExecutorPolicy, bool)@APTPKG_6.0" 2.9.17 + (arch=i386 s390x|c++|optional=std)"std::_List_iterator std::__cxx11::list >::insert, void>(std::_List_const_iterator, std::_List_const_iterator, std::_List_const_iterator)@APTPKG_6.0" 0.8.0 + (arch=i386 s390x|c++|optional=std)"std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, std::__cxx11::basic_string, std::allocator > >, std::_Select1st, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >, std::less, std::allocator > >, std::allocator, std::allocator > const, std::__cxx11::basic_string, std::allocator > > > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node, std::allocator > const, std::__cxx11::basic_string, std::allocator > > >*)@APTPKG_6.0" 0.8.0 + (arch=i386 s390x|c++|optional=std)"std::_Rb_tree_iterator, std::allocator > const, unsigned int> > std::_Rb_tree, std::allocator >, std::pair, std::allocator > const, unsigned int>, std::_Select1st, std::allocator > const, unsigned int> >, std::less, std::allocator > >, std::allocator, std::allocator > const, unsigned int> > >::_M_emplace_hint_unique, std::allocator >&&>, std::tuple<> >(std::_Rb_tree_const_iterator, std::allocator > const, unsigned int> >, std::piecewise_construct_t const&, std::tuple, std::allocator >&&>&&, std::tuple<>&&)@APTPKG_6.0" 0.8.0 + (arch=i386 s390x|c++|optional=std)"std::piecewise_construct@APTPKG_6.0" 2.9.17 -- cgit v1.2.3-70-g09d2 From 44c378faa2b56ebeae7473bec2afe7c283acec75 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Sat, 28 Dec 2024 23:00:49 +0100 Subject: Release 2.9.20 --- CMakeLists.txt | 2 +- debian/changelog | 7 +++++++ doc/apt-verbatim.ent | 2 +- doc/po/apt-doc.pot | 4 ++-- po/apt-all.pot | 4 ++-- 5 files changed, 13 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cd911a365..cbb846fe3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -204,7 +204,7 @@ endif() # Configure some variables like package, version and architecture. set(PACKAGE ${PROJECT_NAME}) set(PACKAGE_MAIL "APT Development Team ") -set(PACKAGE_VERSION "2.9.19") +set(PACKAGE_VERSION "2.9.20") string(REGEX MATCH "^[0-9.]+" PROJECT_VERSION ${PACKAGE_VERSION}) if (NOT DEFINED DPKG_DATADIR) diff --git a/debian/changelog b/debian/changelog index 5f6bb7205..114a36cc3 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +apt (2.9.20) unstable; urgency=medium + + * symbols: Merge 2.9.19 and fix version for InsertErrno + * Re-include std:: symbols in the symbols file as optional again + + -- Julian Andres Klode Sat, 28 Dec 2024 22:59:50 +0100 + apt (2.9.19) unstable; urgency=medium * Replace GnuTLS and gcrypt with OpenSSL diff --git a/doc/apt-verbatim.ent b/doc/apt-verbatim.ent index ff46fbcb1..3bdd78c4a 100644 --- a/doc/apt-verbatim.ent +++ b/doc/apt-verbatim.ent @@ -274,7 +274,7 @@ "> - + diff --git a/doc/po/apt-doc.pot b/doc/po/apt-doc.pot index f34cdfc61..9b83387b2 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.9.19\n" +"Project-Id-Version: apt-doc 2.9.20\n" "Report-Msgid-Bugs-To: APT Development Team \n" -"POT-Creation-Date: 2024-12-23 11:22+0000\n" +"POT-Creation-Date: 2024-12-28 22:00+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/po/apt-all.pot b/po/apt-all.pot index 8ac65fba4..69a954c55 100644 --- a/po/apt-all.pot +++ b/po/apt-all.pot @@ -5,9 +5,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: apt 2.9.19\n" +"Project-Id-Version: apt 2.9.20\n" "Report-Msgid-Bugs-To: APT Development Team \n" -"POT-Creation-Date: 2024-12-23 11:22+0000\n" +"POT-Creation-Date: 2024-12-28 22:00+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" -- cgit v1.2.3-70-g09d2