diff options
-rw-r--r-- | .bzrignore | 2 | ||||
-rw-r--r-- | apt-pkg/cdrom.cc | 76 | ||||
-rw-r--r-- | configure.in | 2 | ||||
-rw-r--r-- | debian/changelog | 18 | ||||
-rw-r--r-- | debian/control | 21 | ||||
-rw-r--r-- | debian/libapt-inst1.4.install | 2 | ||||
-rw-r--r-- | debian/libapt-inst1.4.install.in | 1 | ||||
-rw-r--r-- | debian/libapt-pkg-dev.dirs | 2 | ||||
-rw-r--r-- | debian/libapt-pkg-dev.install | 3 | ||||
-rw-r--r-- | debian/libapt-pkg-dev.install.in | 3 | ||||
-rw-r--r-- | debian/libapt-pkg4.12.install | 2 | ||||
-rw-r--r-- | debian/libapt-pkg4.12.install.in | 1 | ||||
-rwxr-xr-x | debian/rules | 31 |
13 files changed, 125 insertions, 39 deletions
diff --git a/.bzrignore b/.bzrignore index 7c4b11b10..dab38cf71 100644 --- a/.bzrignore +++ b/.bzrignore @@ -10,6 +10,8 @@ build/ configure buildlib/config.sub buildlib/config.guess +debian/libapt-pkg[0-9]*.install +debian/libapt-inst[0-9]*.install # abichecker related files/dir abicheck/apt_build.xml diff --git a/apt-pkg/cdrom.cc b/apt-pkg/cdrom.cc index a9c63fd21..07983e44f 100644 --- a/apt-pkg/cdrom.cc +++ b/apt-pkg/cdrom.cc @@ -78,25 +78,43 @@ bool pkgCdrom::FindPackages(string CD, { SigList.push_back(CD); } + /* Aha! We found some package files. We assume that everything under this dir is controlled by those package files so we don't look down anymore */ - if (stat("Packages",&Buf) == 0 || stat("Packages.gz",&Buf) == 0) - { - List.push_back(CD); + std::vector<std::string> types = APT::Configuration::getCompressionTypes(); + types.push_back(""); + for (std::vector<std::string>::const_iterator t = types.begin(); + t != types.end(); ++t) + { + std::string filename = std::string("Packages"); + if ((*t).size() > 0) + filename.append("."+*t); + if (stat(filename.c_str(), &Buf) == 0) + { + List.push_back(CD); - // Continue down if thorough is given - if (_config->FindB("APT::CDROM::Thorough",false) == false) - return true; - } - if (stat("Sources.gz",&Buf) == 0 || stat("Sources",&Buf) == 0) - { - SList.push_back(CD); + // Continue down if thorough is given + if (_config->FindB("APT::CDROM::Thorough",false) == false) + return true; + break; + } + } + for (std::vector<std::string>::const_iterator t = types.begin(); + t != types.end(); ++t) + { + std::string filename = std::string("Sources"); + if ((*t).size() > 0) + filename.append("."+*t); + { + SList.push_back(CD); - // Continue down if thorough is given - if (_config->FindB("APT::CDROM::Thorough",false) == false) - return true; - } + // Continue down if thorough is given + if (_config->FindB("APT::CDROM::Thorough",false) == false) + return true; + break; + } + } // see if we find translatin indexes if (stat("i18n",&Buf) == 0) @@ -109,9 +127,15 @@ bool pkgCdrom::FindPackages(string CD, if (_config->FindB("Debug::aptcdrom",false) == true) std::clog << "found translations: " << Dir->d_name << "\n"; string file = Dir->d_name; - if(file.substr(file.size()-3,file.size()) == ".gz") - file = file.substr(0,file.size()-3); - TransList.push_back(CD+"i18n/"+ file); + for (std::vector<std::string>::const_iterator t = types.begin(); + t != types.end(); ++t) + { + std::string needle = "." + *t; + if(file.substr(file.size()-needle.size()) == needle) + file = file.substr(0, file.size()-needle.size()); + TransList.push_back(CD+"i18n/"+ file); + break; + } } } closedir(D); @@ -257,11 +281,19 @@ bool pkgCdrom::DropRepeats(vector<string> &List,const char *Name) for (unsigned int I = 0; I != List.size(); I++) { struct stat Buf; - if (stat((List[I] + Name).c_str(),&Buf) != 0 && - stat((List[I] + Name + ".gz").c_str(),&Buf) != 0) - _error->Errno("stat","Failed to stat %s%s",List[I].c_str(), - Name); - Inodes[I] = Buf.st_ino; + std::vector<std::string> types = APT::Configuration::getCompressionTypes(); + types.push_back(""); + for (std::vector<std::string>::const_iterator t = types.begin(); + t != types.end(); ++t) + { + std::string filename = List[I] + Name; + if ((*t).size() > 0) + filename.append("." + *t); + if (stat(filename.c_str(), &Buf) != 0) + _error->Errno("stat","Failed to stat %s%s",List[I].c_str(), + Name); + Inodes[I] = Buf.st_ino; + } } if (_error->PendingError() == true) { diff --git a/configure.in b/configure.in index c2602cf36..065afccf1 100644 --- a/configure.in +++ b/configure.in @@ -18,7 +18,7 @@ AC_CONFIG_AUX_DIR(buildlib) AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in) dnl -- SET THIS TO THE RELEASE VERSION -- -AC_DEFINE_UNQUOTED(VERSION,"0.8.16~exp6") +AC_DEFINE_UNQUOTED(VERSION,"0.8.16~exp9") PACKAGE="apt" AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE") AC_SUBST(PACKAGE) diff --git a/debian/changelog b/debian/changelog index 3c0de2c62..25e7fa18e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,21 @@ +apt (0.8.16~exp9) UNRELEASED; urgency=low + + [ Julian Andres Klode ] + * apt-pkg/cdrom.cc: + - Accept .bz2, .xz files in addition to .gz files (Closes: #649451) + + [ Michael Vogt ] + * apt-pkg/cdrom.cc: + - use aptconfiguration to get the supported compression types + * debian/control: + - bump debhelper build-dep to debhelper (>= 8.1.3~) + - set libapt-pkg-dev to multi-arch: same too + + [ Colin Watson ] + * Convert libapt-pkg4.12 and libapt-inst1.4 to Multi-Arch: same. + + -- Julian Andres Klode <jak@debian.org> Mon, 21 Nov 2011 18:46:36 +0100 + apt (0.8.16~exp8) experimental; urgency=low [ David Kalnischkies ] diff --git a/debian/control b/debian/control index 7efb6ca8a..24c429ad4 100644 --- a/debian/control +++ b/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>, Julian Andres Klode <jak@debian.org> Standards-Version: 3.9.2 -Build-Depends: dpkg-dev (>= 1.15.8), debhelper (>= 7.2.3~), libdb-dev, +Build-Depends: dpkg-dev (>= 1.15.8), debhelper (>= 8.1.3~), 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 @@ -35,9 +35,20 @@ Description: APT's commandline package manager * apt-config as an interface to the configuration settings * apt-key as an interface to manage authentication keys +Package: libapt-common +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends} +Breaks: libapt-pkg4.12 (<< 0.8.16~exp9), libapt-inst1.4 (<< 0.8.16~exp9) +Replaces: libapt-pkg4.12 (<< 0.8.16~exp9), libapt-inst1.4 (<< 0.8.16~exp9) +Description: Common files for APT libraries + This package includes translation files common to APT library packages. + Package: libapt-pkg4.12 Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${shlibs:Depends}, ${misc:Depends}, libapt-common Description: APT's package managment runtime library This library provides the common functionality for searching and managing packages as well as information about packages. @@ -56,7 +67,9 @@ Description: APT's package managment runtime library Package: libapt-inst1.4 Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${shlibs:Depends}, ${misc:Depends}, libapt-common Description: APT's deb package format runtime library This library provides methods to query and extract information from deb packages. This includes the control data and the package @@ -73,7 +86,9 @@ Description: Documentation for APT Package: libapt-pkg-dev Architecture: any +Multi-Arch: same Priority: optional +Pre-Depends: ${misc:Pre-Depends} Depends: ${libapt-pkg-name} (= ${binary:Version}), ${libapt-inst-name} (= ${binary:Version}), ${misc:Depends}, zlib1g-dev | zlib-dev Section: libdevel Description: Development files for APT's libapt-pkg and libapt-inst diff --git a/debian/libapt-inst1.4.install b/debian/libapt-inst1.4.install deleted file mode 100644 index b7b63be81..000000000 --- a/debian/libapt-inst1.4.install +++ /dev/null @@ -1,2 +0,0 @@ -bin/libapt-inst*.so.* usr/lib/ -usr/share/locale/*/*/libapt-inst*.mo diff --git a/debian/libapt-inst1.4.install.in b/debian/libapt-inst1.4.install.in new file mode 100644 index 000000000..b81d15c10 --- /dev/null +++ b/debian/libapt-inst1.4.install.in @@ -0,0 +1 @@ +bin/libapt-inst*.so.* usr/lib/@DEB_HOST_MULTIARCH@/ diff --git a/debian/libapt-pkg-dev.dirs b/debian/libapt-pkg-dev.dirs deleted file mode 100644 index 844642ab0..000000000 --- a/debian/libapt-pkg-dev.dirs +++ /dev/null @@ -1,2 +0,0 @@ -usr/lib -usr/include/apt-pkg diff --git a/debian/libapt-pkg-dev.install b/debian/libapt-pkg-dev.install deleted file mode 100644 index bd1a6c174..000000000 --- a/debian/libapt-pkg-dev.install +++ /dev/null @@ -1,3 +0,0 @@ -bin/libapt-pkg*.so usr/lib/ -bin/libapt-inst*.so usr/lib/ -include/apt-pkg/*.h usr/include/apt-pkg/ diff --git a/debian/libapt-pkg-dev.install.in b/debian/libapt-pkg-dev.install.in new file mode 100644 index 000000000..be8022107 --- /dev/null +++ b/debian/libapt-pkg-dev.install.in @@ -0,0 +1,3 @@ +bin/libapt-pkg*.so usr/lib/@DEB_HOST_MULTIARCH@/ +bin/libapt-inst*.so usr/lib/@DEB_HOST_MULTIARCH@/ +include/apt-pkg/*.h usr/include/apt-pkg/ diff --git a/debian/libapt-pkg4.12.install b/debian/libapt-pkg4.12.install deleted file mode 100644 index 91b39a31b..000000000 --- a/debian/libapt-pkg4.12.install +++ /dev/null @@ -1,2 +0,0 @@ -bin/libapt-pkg*.so.* usr/lib/ -usr/share/locale/*/*/libapt-pkg*.mo diff --git a/debian/libapt-pkg4.12.install.in b/debian/libapt-pkg4.12.install.in new file mode 100644 index 000000000..0db4075fa --- /dev/null +++ b/debian/libapt-pkg4.12.install.in @@ -0,0 +1 @@ +bin/libapt-pkg*.so.* usr/lib/@DEB_HOST_MULTIARCH@/ diff --git a/debian/rules b/debian/rules index 30474c06b..6a5c95d22 100755 --- a/debian/rules +++ b/debian/rules @@ -5,6 +5,7 @@ export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +export DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) # FOR AUTOCONF 2.52 AND NEWER ONLY ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) @@ -118,9 +119,31 @@ clean: [ ! -f Makefile ] || $(MAKE) clean distclean rm -rf build + rm -f debian/$(LIBAPT_PKG).install debian/$(LIBAPT_INST).install \ + debian/libapt-pkg-dev.install -binary-indep: apt-doc libapt-pkg-doc +debian/%.install: debian/%.install.in + sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' $< > $@ + +binary-indep: libapt-common apt-doc libapt-pkg-doc # Build architecture-independent files here. +libapt-common: build + dh_testdir -p$@ + dh_testroot -p$@ + dh_prep -p$@ + dh_installdirs -p$@ + + dh_install -p$@ --sourcedir=$(BLD) + dh_installdocs -p$@ + dh_installchangelogs -p$@ + dh_strip -p$@ + dh_compress -p$@ + dh_fixperms -p$@ + dh_installdeb -p$@ + dh_gencontrol -p$@ + dh_md5sums -p$@ + dh_builddeb -p$@ + libapt-pkg-doc: build-doc dh_testdir -p$@ dh_testroot -p$@ @@ -217,7 +240,7 @@ apt: build build-doc dh_md5sums -p$@ dh_builddeb -p$@ -libapt-pkg-dev: build +libapt-pkg-dev: build debian/libapt-pkg-dev.install dh_testdir -p$@ dh_testroot -p$@ dh_prep -p$@ @@ -265,7 +288,7 @@ apt-utils: build dh_md5sums -p$@ dh_builddeb -p$@ -$(LIBAPT_PKG): build +$(LIBAPT_PKG): build debian/$(LIBAPT_PKG).install dh_testdir -p$@ dh_testroot -p$@ dh_prep -p$@ @@ -284,7 +307,7 @@ $(LIBAPT_PKG): build dh_md5sums -p$@ dh_builddeb -p$@ -$(LIBAPT_INST): build +$(LIBAPT_INST): build debian/$(LIBAPT_INST).install dh_testdir -p$@ dh_testroot -p$@ dh_prep -p$@ |