Browse Source

* debian/control:
- depend on dpkg-dev (>= 1.15.8) to have c++ symbol mangling
* debian/rules:
- remove shlibs.local creation and usage
- show differences in the symbol files, but never fail
* debian/{apt,apt-utils}.symbols:
- ship experimental unmangled c++ symbol files

David Kalnischkies 15 years ago
parent
commit
149daa1656
5 changed files with 1401 additions and 27 deletions
  1. 119 0
      debian/apt-utils.symbols
  2. 1263 0
      debian/apt.symbols
  3. 6 1
      debian/changelog
  4. 1 1
      debian/control
  5. 12 25
      debian/rules

+ 119 - 0
debian/apt-utils.symbols

@@ -0,0 +1,119 @@
+libapt-inst.so.1.2 libapt-inst1.2
+| apt-utils #MINVER#
+* Build-Depends-Package: libapt-pkg-dev
+ (c++)"ExtractTar::Done(bool)@Base" 0.8.0
+ (c++)"ExtractTar::Go(pkgDirStream&)@Base" 0.8.0
+ (c++)"ExtractTar::StartGzip()@Base" 0.8.0
+ (c++)"ExtractTar::ExtractTar(FileFd&, unsigned long, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)@Base" 0.8.0
+ (c++)"ExtractTar::~ExtractTar()@Base" 0.8.0
+ (c++)"debDebFile::GotoMember(char const*)@Base" 0.8.0
+ (c++)"debDebFile::CheckMember(char const*)@Base" 0.8.0
+ (c++)"debDebFile::MergeControl(pkgDataBase&)@Base" 0.8.0
+ (c++)"debDebFile::ControlExtract::DoItem(pkgDirStream::Item&, int&)@Base" 0.8.0
+ (c++)"debDebFile::ControlExtract::~ControlExtract()@Base" 0.8.0
+ (c++)"debDebFile::ExtractArchive(pkgDirStream&)@Base" 0.8.0
+ (c++)"debDebFile::ExtractControl(pkgDataBase&)@Base" 0.8.0
+ (c++)"debDebFile::MemControlExtract::TakeControl(void const*, unsigned long)@Base" 0.8.0
+ (c++)"debDebFile::MemControlExtract::Read(debDebFile&)@Base" 0.8.0
+ (c++)"debDebFile::MemControlExtract::DoItem(pkgDirStream::Item&, int&)@Base" 0.8.0
+ (c++)"debDebFile::MemControlExtract::Process(pkgDirStream::Item&, unsigned char const*, unsigned long, unsigned long)@Base" 0.8.0
+ (c++)"debDebFile::MemControlExtract::~MemControlExtract()@Base" 0.8.0
+ (c++)"debDebFile::debDebFile(FileFd&)@Base" 0.8.0
+ (c++)"pkgExtract::FinishedFile(pkgDirStream::Item&, int)@Base" 0.8.0
+ (c++)"pkgExtract::CheckDirReplace(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int)@Base" 0.8.0
+ (c++)"pkgExtract::HandleOverwrites(pkgFLCache::NodeIterator, bool)@Base" 0.8.0
+ (c++)"pkgExtract::Fail(pkgDirStream::Item&, int)@Base" 0.8.0
+ (c++)"pkgExtract::DoItem(pkgDirStream::Item&, int&)@Base" 0.8.0
+ (c++)"pkgExtract::Aborted()@Base" 0.8.0
+ (c++)"pkgExtract::Finished()@Base" 0.8.0
+ (c++)"pkgExtract::pkgExtract(pkgFLCache&, pkgCache::VerIterator)@Base" 0.8.0
+ (c++)"pkgExtract::~pkgExtract()@Base" 0.8.0
+ (c++)"pkgFLCache::TreeLookup(unsigned int*, char const*, char const*, unsigned long, unsigned int*, bool)@Base" 0.8.0
+ (c++)"pkgFLCache::AddConfFile(char const*, char const*, pkgFLCache::PkgIterator const&, unsigned char const*)@Base" 0.8.0
+ (c++)"pkgFLCache::AddDiversion(pkgFLCache::PkgIterator const&, char const*, char const*)@Base" 0.8.0
+ (c++)"pkgFLCache::BeginDiverLoad()@Base" 0.8.0
+ (c++)"pkgFLCache::FinishDiverLoad()@Base" 0.8.0
+ (c++)"pkgFLCache::GetPkg(char const*, char const*, bool)@Base" 0.8.0
+ (c++)"pkgFLCache::Header::Header()@Base" 0.8.0
+ (c++)"pkgFLCache::GetNode(char const*, char const*, unsigned int, bool, bool)@Base" 0.8.0
+ (c++)"pkgFLCache::DropNode(unsigned int)@Base" 0.8.0
+ (c++)"pkgFLCache::HashNode(pkgFLCache::NodeIterator const&)@Base" 0.8.0
+ (c++)"pkgFLCache::PrintTree(unsigned int, unsigned long)@Base" 0.8.0
+ (c++)"pkgFLCache::pkgFLCache(DynamicMMap&)@Base" 0.8.0
+ (c++)"pkgDataBase::GetMetaTmp(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@Base" 0.8.0
+ (c++)"pkgDataBase::~pkgDataBase()@Base" 0.8.0
+ (c++)"pkgDirStream::FinishedFile(pkgDirStream::Item&, int)@Base" 0.8.0
+ (c++)"pkgDirStream::Fail(pkgDirStream::Item&, int)@Base" 0.8.0
+ (c++)"pkgDirStream::DoItem(pkgDirStream::Item&, int&)@Base" 0.8.0
+ (c++)"pkgDirStream::Process(pkgDirStream::Item&, unsigned char const*, unsigned long, unsigned long)@Base" 0.8.0
+ (c++)"pkgDirStream::~pkgDirStream()@Base" 0.8.0
+ (c++|optional)"debListParser::~debListParser()@Base" 0.8.0
+ (c++|optional)"pkgCacheGenerator::ListParser::CollectFileProvides(pkgCache&, pkgCache::VerIterator&)@Base" 0.8.0
+ (c++|optional)"pkgCacheGenerator::ListParser::~ListParser()@Base" 0.8.0
+ (c++|optional)"pkgCache::DepIterator::operator++(int)@Base" 0.8.0
+ (c++|optional)"pkgCache::DepIterator::operator++()@Base" 0.8.0
+ (c++|optional)"pkgCache::VerIterator::operator++(int)@Base" 0.8.0
+ (c++|optional)"pkgCache::VerIterator::operator++()@Base" 0.8.0
+ (c++)"ARArchive::LoadHeaders()@Base" 0.8.0
+ (c++)"ARArchive::ARArchive(FileFd&)@Base" 0.8.0
+ (c++)"ARArchive::~ARArchive()@Base" 0.8.0
+ (c++)"debDpkgDB::InitMetaTmp(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@Base" 0.8.0
+ (c++)"debDpkgDB::LoadChanges()@Base" 0.8.0
+ (c++)"debDpkgDB::ReadConfFiles()@Base" 0.8.0
+ (c++)"debDpkgDB::ReadyFileList(OpProgress&)@Base" 0.8.0
+ (c++)"debDpkgDB::ReadyPkgCache(OpProgress&)@Base" 0.8.0
+ (c++)"debDpkgDB::ReadDiversions()@Base" 0.8.0
+ (c++)"debDpkgDB::ReadFList(OpProgress&)@Base" 0.8.0
+ (c++)"debDpkgDB::debDpkgDB()@Base" 0.8.0
+ (c++)"debDpkgDB::~debDpkgDB()@Base" 0.8.0
+ (c++)"pkgFLCache::NodeIterator::RealPackage() const@Base" 0.8.0
+ (c++)"pkgFLCache::Header::CheckSizes(pkgFLCache::Header&) const@Base" 0.8.0
+ (c++|optional)"pkgCache::DepIterator::OwnerPointer() const@Base" 0.8.0
+ (c++|optional)"pkgCache::VerIterator::OwnerPointer() const@Base" 0.8.0
+ (c++)"ARArchive::FindMember(char const*) const@Base" 0.8.0
+ (c++)"typeinfo for ExtractTar@Base" 0.8.0
+ (c++)"typeinfo for pkgExtract@Base" 0.8.0
+ (c++)"typeinfo for pkgDataBase@Base" 0.8.0
+ (c++)"typeinfo for pkgDirStream@Base" 0.8.0
+ (c++)"typeinfo for debDpkgDB@Base" 0.8.0
+ (c++)"typeinfo for debDebFile::ControlExtract@Base" 0.8.0
+ (c++)"typeinfo for debDebFile::MemControlExtract@Base" 0.8.0
+ (c++|optional)"typeinfo for pkgCacheGenerator::ListParser@Base" 0.8.0
+ (c++|optional)"typeinfo for pkgCache::DepIterator@Base" 0.8.0
+ (c++|optional)"typeinfo for pkgCache::VerIterator@Base" 0.8.0
+ (c++|optional)"typeinfo for pkgCache::Iterator<pkgCache::Dependency, pkgCache::DepIterator>@Base" 0.8.0
+ (c++|optional)"typeinfo for pkgCache::Iterator<pkgCache::Package, pkgCache::PkgIterator>@Base" 0.8.0
+ (c++|optional)"typeinfo for pkgCache::Iterator<pkgCache::Version, pkgCache::VerIterator>@Base" 0.8.0
+ (c++)"typeinfo name for ExtractTar@Base" 0.8.0
+ (c++)"typeinfo name for pkgExtract@Base" 0.8.0
+ (c++)"typeinfo name for pkgDataBase@Base" 0.8.0
+ (c++)"typeinfo name for pkgDirStream@Base" 0.8.0
+ (c++)"typeinfo name for debDpkgDB@Base" 0.8.0
+ (c++)"typeinfo name for debDebFile::ControlExtract@Base" 0.8.0
+ (c++)"typeinfo name for debDebFile::MemControlExtract@Base" 0.8.0
+ (c++|optional)"typeinfo name for pkgCacheGenerator::ListParser@Base" 0.8.0
+ (c++|optional)"typeinfo name for pkgCache::DepIterator@Base" 0.8.0
+ (c++|optional)"typeinfo name for pkgCache::VerIterator@Base" 0.8.0
+ (c++|optional)"typeinfo name for pkgCache::Iterator<pkgCache::Dependency, pkgCache::DepIterator>@Base" 0.8.0
+ (c++|optional)"typeinfo name for pkgCache::Iterator<pkgCache::Package, pkgCache::PkgIterator>@Base" 0.8.0
+ (c++|optional)"typeinfo name for pkgCache::Iterator<pkgCache::Version, pkgCache::VerIterator>@Base" 0.8.0
+ (c++)"vtable for ExtractTar@Base" 0.8.0
+ (c++)"vtable for pkgExtract@Base" 0.8.0
+ (c++)"vtable for pkgDataBase@Base" 0.8.0
+ (c++)"vtable for pkgDirStream@Base" 0.8.0
+ (c++)"vtable for debDpkgDB@Base" 0.8.0
+ (c++)"vtable for debDebFile::ControlExtract@Base" 0.8.0
+ (c++)"vtable for debDebFile::MemControlExtract@Base" 0.8.0
+ (c++|optional)"vtable for pkgCacheGenerator::ListParser@Base" 0.8.0
+ (c++|optional)"vtable for pkgCache::DepIterator@Base" 0.8.0
+ (c++|optional)"vtable for pkgCache::VerIterator@Base" 0.8.0
+ (c++|optional)"vtable for pkgCache::Iterator<pkgCache::Dependency, pkgCache::DepIterator>@Base" 0.8.0
+ (c++|optional)"vtable for pkgCache::Iterator<pkgCache::Package, pkgCache::PkgIterator>@Base" 0.8.0
+ (c++|optional)"vtable for pkgCache::Iterator<pkgCache::Version, pkgCache::VerIterator>@Base" 0.8.0
+### try to ignore std:: template instances
+ (c++|optional)"std::basic_string<char, std::char_traits<char>, std::allocator<char> >& std::basic_string<char, std::char_traits<char>, std::allocator<char> >::append<unsigned char*>(unsigned char*, unsigned char*)@Base" 0.8.0
+ (c++|regex|optional)"^std::basic_string<.+ >\(.+\)@Base$" 0.8.0
+ (c++|regex|optional)"^char\* std::[^ ]+<.+ >::_.+@Base$" 0.8.0
+ (c++|regex|optional)"^typeinfo name for std::iterator<.*>@Base$" 0.8.0
+ (c++|regex|optional)"^typeinfo for std::iterator<.*>@Base$" 0.8.0
+###

File diff suppressed because it is too large
+ 1263 - 0
debian/apt.symbols


+ 6 - 1
debian/changelog

@@ -18,6 +18,7 @@ apt (0.8.11+wheezy) unstable; urgency=low
   * debian/control:
     - add Vcs-Browser now that loggerhead works again (Closes: #511168)
     - depend on debhelper 7 to raise compat level
+    - depend on dpkg-dev (>= 1.15.8) to have c++ symbol mangling
   * apt-pkg/contrib/fileutl.cc:
     - add a RealFileExists method and check that your configuration files
       are real files to avoid endless loops if not (Closes: #604401)
@@ -42,10 +43,14 @@ apt (0.8.11+wheezy) unstable; urgency=low
     - remove obsolete references to non-us (Closes: #594495)
   * debian/rules:
     - use -- instead of deprecated -u for dh_gencontrol
+    - remove shlibs.local creation and usage
+    - show differences in the symbol files, but never fail
   * pre-build.sh:
     - remove as it is not needed for a working 'bzr bd'
+  * debian/{apt,apt-utils}.symbols:
+    - ship experimental unmangled c++ symbol files
 
- -- David Kalnischkies <kalnischkies@gmail.com>  Fri, 14 Jan 2011 14:40:35 +0100
+ -- David Kalnischkies <kalnischkies@gmail.com>  Sat, 15 Jan 2011 02:42:18 +0100
 
 apt (0.8.10) unstable; urgency=low
 

+ 1 - 1
debian/control

@@ -6,7 +6,7 @@ Uploaders: Michael Vogt <mvo@debian.org>, Otavio Salvador <otavio@debian.org>,
  Christian Perrier <bubulle@debian.org>, Daniel Burrows <dburrows@debian.org>,
  Luca Bruno <lethalman88@gmail.com>, Julian Andres Klode <jak@debian.org>
 Standards-Version: 3.9.0
-Build-Depends: debhelper (>= 7), libdb-dev, gettext (>= 0.12), libcurl4-gnutls-dev (>= 7.19.0), zlib1g-dev | libz-dev, debiandoc-sgml, xsltproc, docbook-xsl, docbook-xml, po4a (>= 0.34-2), autotools-dev, autoconf, automake, doxygen
+Build-Depends: dpkg-dev (>= 1.15.8), debhelper (>= 7), libdb-dev, gettext (>= 0.12), libcurl4-gnutls-dev (>= 7.19.0), zlib1g-dev | libz-dev, debiandoc-sgml, xsltproc, docbook-xsl, docbook-xml, po4a (>= 0.34-2), autotools-dev, autoconf, automake, doxygen
 Build-Conflicts: autoconf2.13, automake1.4
 Vcs-Bzr: http://bzr.debian.org/apt/debian-sid/
 Vcs-Browser: http://bzr.debian.org/loggerhead/apt/debian-sid/

+ 12 - 25
debian/rules

@@ -74,18 +74,8 @@ include buildlib/libversion.mak
 LIBAPTPKG_PROVIDE=libapt-pkg$(LIBAPTPKG_MAJOR)
 LIBAPTINST_PROVIDE=libapt-inst$(LIBAPTINST_MAJOR)
 
-debian/shlibs.local: apt-pkg/makefile
-	# We have 3 shlibs.local files: One for 'apt', one for 'apt-utils' and
-	# one for the rest of the packages. This ensures that each package gets
-	# the right overrides…
-	rm -rf $@ $@.apt $@.apt-utils
-	echo "libapt-pkg $(LIBAPTPKG_MAJOR)" > $@.apt
-
-	echo "libapt-pkg $(LIBAPTPKG_MAJOR) $(LIBAPTPKG_PROVIDE)" > $@.apt-utils
-	echo "libapt-inst $(LIBAPTINST_MAJOR)" >> $@.apt-utils
-
-	echo "libapt-pkg $(LIBAPTPKG_MAJOR) $(LIBAPTPKG_PROVIDE)" > $@
-	echo "libapt-inst $(LIBAPTINST_MAJOR) $(LIBAPTINST_PROVIDE)" >> $@
+# do not fail as we are just experimenting with symbol files for now
+export DPKG_GENSYMBOLS_CHECK_LEVEL=0
 
 build: build/build-stamp
 build-doc: build/build-doc-stamp
@@ -120,12 +110,9 @@ clean:
 	[ ! -f Makefile ] || $(MAKE) clean distclean
 	rm -rf build
 
-	# Add here commands to clean up after the build process.
-	dh_clean debian/copyright debian/shlibs.local debian/shlibs.local.apt debian/shlibs.local.apt-utils
-
 binary-indep: apt-doc libapt-pkg-doc
 # Build architecture-independent files here.
-libapt-pkg-doc: build-doc debian/shlibs.local
+libapt-pkg-doc: build-doc
 	dh_testdir -p$@
 	dh_testroot -p$@
 	dh_prep -p$@
@@ -177,7 +164,7 @@ apt-doc: build-doc
 
 binary-arch: apt libapt-pkg-dev apt-utils apt-transport-https
 apt_MANPAGES = apt-cache apt-cdrom apt-config apt-get apt-key apt-mark apt-secure apt apt.conf apt_preferences sources.list
-apt: build build-doc debian/shlibs.local
+apt: build build-doc
 	dh_testdir -p$@
 	dh_testroot -p$@
 	dh_prep -p$@
@@ -226,14 +213,14 @@ apt: build build-doc debian/shlibs.local
 	dh_strip -p$@
 	dh_compress -p$@
 	dh_fixperms -p$@
-	dh_makeshlibs -p$@ --major=$(LIBAPTPKG_MAJOR) --version-info='$(LIBAPTPKG_PROVIDE)'
+	dh_makeshlibs -p$@
 	dh_installdeb -p$@
-	dh_shlibdeps -p$@ -l$(CURDIR)/debian/apt/usr/lib:$(CURDIR)/debian/$@/usr/lib -- -Ldebian/shlibs.local.apt
+	dh_shlibdeps -p$@ -l$(CURDIR)/debian/apt/usr/lib:$(CURDIR)/debian/$@/usr/lib
 	dh_gencontrol -p$@ -- -Vlibapt-pkg:provides=$(LIBAPTPKG_PROVIDE)
 	dh_md5sums -p$@
 	dh_builddeb -p$@
 
-libapt-pkg-dev: build debian/shlibs.local
+libapt-pkg-dev: build
 	dh_testdir -p$@
 	dh_testroot -p$@
 	dh_prep -p$@
@@ -258,7 +245,7 @@ libapt-pkg-dev: build debian/shlibs.local
 	dh_builddeb -p$@
 
 apt-utils_MANPAGES = apt-sortpkgs apt-ftparchive apt-extracttemplates
-apt-utils: build debian/shlibs.local
+apt-utils: build
 	dh_testdir -p$@
 	dh_testroot -p$@
 	dh_prep -p$@
@@ -279,14 +266,14 @@ apt-utils: build debian/shlibs.local
 	dh_strip -p$@
 	dh_compress -p$@
 	dh_fixperms -p$@
-	dh_makeshlibs -p$@ --major=$(LIBAPTINST_MAJOR) --version-info='$(LIBAPTINST_PROVIDE)'
+	dh_makeshlibs -p$@
 	dh_installdeb -p$@
-	dh_shlibdeps -p$@ -l$(CURDIR)/debian/apt/usr/lib:$(CURDIR)/debian/$@/usr/lib -- -Ldebian/shlibs.local.apt-utils
+	dh_shlibdeps -p$@ -l$(CURDIR)/debian/apt/usr/lib:$(CURDIR)/debian/$@/usr/lib
 	dh_gencontrol -p$@ -- -Vlibapt-inst:provides=$(LIBAPTINST_PROVIDE)
 	dh_md5sums -p$@
 	dh_builddeb -p$@
 
-apt-transport-https: build debian/shlibs.local libapt-pkg-dev
+apt-transport-https: build libapt-pkg-dev
 	dh_testdir -p$@
 	dh_testroot -p$@
 	dh_prep -p$@
@@ -321,4 +308,4 @@ really-clean: clean
 	rm -f l33ch-stamp
 
 binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary debian/shlibs.local
+.PHONY: build clean binary-indep binary-arch binary