From: Michael Vogt Date: Tue, 23 Sep 2014 12:20:27 +0000 (+0200) Subject: Merge branch 'debian/sid' into debian/experimental X-Git-Tag: 1.1.exp3~14 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/c511c5e8ed3f59ddee1b174b39e5cc16a2f11922 Merge branch 'debian/sid' into debian/experimental Conflicts: apt-pkg/acquire-item.cc apt-pkg/acquire-item.h apt-pkg/cachefilter.h configure.ac debian/changelog --- c511c5e8ed3f59ddee1b174b39e5cc16a2f11922 diff --cc apt-pkg/acquire-item.cc index 3feb17ffa,36c0fa567..bbdd3897a --- a/apt-pkg/acquire-item.cc +++ b/apt-pkg/acquire-item.cc @@@ -1101,17 -1053,24 +1126,19 @@@ void pkgAcqIndex::ReverifyAfterIMS(std: to the uncompressed version of the file. If this is so the file is copied into the partial directory. In all other cases the file is decompressed with a gzip uri. */ -void pkgAcqIndex::Done(string Message,unsigned long long Size,string Hash, +void pkgAcqIndex::Done(string Message,unsigned long long Size,HashStringList const &Hashes, pkgAcquire::MethodConfig *Cfg) { - Item::Done(Message,Size,Hashes,Cfg); + Item::Done(Message,Size,Hash,Cfg); + std::string const compExt = CompressionExtension.substr(0, CompressionExtension.find(' ')); if (Decompression == true) { - if (_config->FindB("Debug::pkgAcquire::Auth", false)) - { - std::cerr << std::endl << RealURI << ": Computed Hash: " << Hash; - std::cerr << " Expected Hash: " << ExpectedHash.toStr() << std::endl; - } - - if (!ExpectedHash.empty() && ExpectedHash.toStr() != Hash) + if (ExpectedHashes.usable() && ExpectedHashes != Hashes) { + Desc.URI = RealURI; RenameOnError(HashSumMismatch); + printHashSumComparision(RealURI, ExpectedHashes, Hashes); return; } @@@ -1137,11 -1096,10 +1164,10 @@@ } // Done, move it into position - string FinalFile = _config->FindDir("Dir::State::lists"); - FinalFile += URItoFileName(RealURI); + string FinalFile = GetFinalFilename(RealURI, compExt); Rename(DestFile,FinalFile); chmod(FinalFile.c_str(),0644); - + /* We restore the original name to DestFile so that the clean operation will work OK */ DestFile = _config->FindDir("Dir::State::lists") + "partial/"; diff --cc apt-pkg/acquire-item.h index 0500a3627,384c5ee2b..c027a2764 --- a/apt-pkg/acquire-item.h +++ b/apt-pkg/acquire-item.h @@@ -707,9 -706,14 +707,18 @@@ class pkgAcqIndex : public pkgAcqBaseIn */ std::string CompressionExtension; ++ + /** \brief Do the changes needed to fetch via AptByHash (if needed) */ + void InitByHashIfNeeded(const std::string MetaKey); + + /** \brief Get the full pathname of the final file for the given URI + */ + std::string GetFinalFilename(std::string const &URI, + std::string const &compExt); + + /** \brief Schedule file for verification after a IMS hit */ + void ReverifyAfterIMS(std::string const &FileName); + public: // Specialized action members diff --cc configure.ac index 356c40614,2e591cdf2..89950fccd --- a/configure.ac +++ b/configure.ac @@@ -18,7 -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) PACKAGE="apt" - PACKAGE_VERSION="1.1~exp2" -PACKAGE_VERSION="1.0.9.1" ++PACKAGE_VERSION="1.1~exp3" PACKAGE_MAIL="APT Development Team " AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE") AC_DEFINE_UNQUOTED(PACKAGE_VERSION,"$PACKAGE_VERSION") diff --cc debian/changelog index 5b885ad6c,36353bd95..32447d5e1 --- a/debian/changelog +++ b/debian/changelog @@@ -1,73 -1,81 +1,151 @@@ +apt (1.1~exp2) experimental; urgency=medium + + [ Guillem Jover ] + * Add new Base256ToNum long long overload function + * Fix ar and tar code to be LFS-safe (Closes: #742882) + + [ Michael Vogt ] + * increase libapt-inst to version 1.6 + * Only allow "apt-get build-dep path" when path starts with ./ or / + * Allow passing a full path to apt-get install /foo/bar.deb (CLoses: #752327) + * merge changes from the 1.0.6 upload + + -- Michael Vogt Thu, 10 Jul 2014 13:18:08 +0200 + +apt (1.1~exp1) experimental; urgency=low + + [ David Kalnischkies ] + * [API Break] change "std::string pkgAcquire::Item::DescURI()" to + "std::string pkgAcquire::Item::DescURI() const" + * [ABI-Break] increase hashtable size for packages/groups by factor 5 + * [ABI-Break] cleanup datatypes mix used in binary cache + * [internal API-Break] remove the Section member from package struct + * use 'best' hash for source authentication (LP: 1098738) + * use HashStringList in the acquire system + * deal with hashes in ftparchive more dynamic as well + * reenable pipelining via hashsum reordering support + * parse and retrieve multiple Descriptions in one record + * improve pkgTagSection scanning and parsing + * invalid cache if architecture set doesn't match (Closes: 745036) + + [ Michael Vogt ] + * add support for "apt-get build-dep foo.dsc" + * add support for "apt-get build-dep unpacked-source-dir" + * add support for "apt-get install foo_1.0_all.deb" + * make "apt-get update" progress much more accurate by loading the + sizes of the targets into the fetcher early + * Implement simple by-hash for apt update to improve reliability of + the update. Apt will try to fetch the Packages file via + /by-hash/$hash_type/$hash_value if the repo supports that. + - add APT::Acquire::$(host)::By-Hash=1 knob + - add Acquire-By-Hash=1 to Release file + * add Debug::Acquire::Progress debug option + * [ABI-Break] lp:~mvo/apt/source-hashes: + - use sha{512,256,1} for deb-src when available LP: #1098738 + * [ABI-Break] stop exporting the accidently exported parsenetrc() symbol + * [ABI-Break] remove the PACKAGE_MATCHER_ABI_COMPAT defines + * [ABI BREAK] apt-pkg/pkgcache.h: + - adjust pkgCache::State::VerPriority enum, to match reality + * test/integration/test-debsrc-hashes: + - add integration test, thanks to Daniel Hartwig + * [ABI-Break] remove the PACKAGE_MATCHER_ABI_COMPAT defines + * [ABI-Break] Pass struct IndexTarget/indexRecords to + pkgAcqIndex{,Merge}Diffs + * [internal API-Break] rename pkgCache::Package::NextPackage to + pkgCache::Package::Next + * Calculate Percent as part of pkgAcquireStatus to provide a weighted + percent for both items and bytes + * apt-pkg/contrib/macros.h: bump library version to 4.13 + * apt-private/acqprogress.cc: do not show file size on IMSHit, it wasn't + fetched + * Fix warnings from clang -Wall/clang -fsanitize=address + * add DropPrivs() and drop privileges to nobody when running the + the buildin apt and dump solvers + * lp:~mvo/apt/webserver-simulate-broken-with-fix346386: + - fix invalid InRelease file download checking and add regression + test to server broken files to the buildin test webserver + - add regression test for LP: #34638 + + -- Michael Vogt Thu, 19 Jun 2014 12:01:48 +0200 + + apt (1.0.9.1) unstable; urgency=high + + [ Michael Vogt ] + * Allow override of Proxy-Auto-Detect by the users configuration + (Closes: 759264) + * fix ci autopkgtest + * fix regression from 1.0.9 when file:/// source are used and + those are on a different partition than the apt state directory + and add regression test + + [ Trần Ngọc Quân ] + * l10n: vi.po (636t): Update program translation + + [ Chris Leick ] + * Updated German documentation translation + + [ Mert Dirik ] + * Turkish program translation update (Closes: 761394) + + -- Michael Vogt Tue, 16 Sep 2014 20:52:25 +0200 + + apt (1.0.9) unstable; urgency=high + + * SECURITY UPDATE: + - incorrect invalidating of unauthenticated data (CVE-2014-0488) + - incorect verification of 304 reply (CVE-2014-0487) + - incorrect verification of Acquire::Gzip indexes (CVE-2014-0489) + + -- Michael Vogt Mon, 15 Sep 2014 08:34:46 +0200 + + apt (1.0.8) unstable; urgency=medium + + [ Holger Wansing ] + * German program translation update (Closes: 758837) + + [ Américo Monteiro ] + * Portuguese manpages translation update (Closes: 759608) + + [ Warren He ] + * initialize iPolicyBrokenCount in DepCache::Update (Closes: 758397) + + [ Andreas Oberritter ] + * Avoid yielding blank lines with APT::Cmd::use-format=true + + [ Michael Vogt ] + * Make Proxy-Auto-Detect check for each host (Closes: #759264) + * Add testcase for apt list --all-versions + * * apt-pkg/deb/dpkgpm.cc: + - update string matching for dpkg I/O errors. (LP: #1363257) + - properly parse the dpkg status line so that package name + is properly set and an apport report is created. Thanks + to Anders Kaseorg for the patch (LP: #1353171) + * Use heap to allocate PatternMatch to avoid potential stack overflow + (Closes: 759612) + * Run autopkgtest tests with "env -i" to avoid pollution from the host env + (Closes: #759655) + * test/integration/test-ubuntu-bug-346386-apt-get-update-paywall: + - use downloadfile() to fix test failure + * Fix incorrect upgradable listing in "apt list" + (thanks to Michael Musenbrock) (Closes: #753297) + * apt-pkg/cachefile.cc: + - ensure we have a Policy in CacheFile.BuildDepCache() + * methods/http.cc: + - Improve Debug::Acquire::http debug output + + [ Dimitri John Ledkov ] + * apt-ftparchive: make Packages & Sources generation optional, + during Generate call + + [ David Kalnischkies ] + * support regular expressions in 'apt search' + * implement --full in apt search + * fix progress report for upgrade and reinstall + * rework PTY magic to fix stair-stepping on kfreebsd (Closes: 759684) + * don't call pager in non-terminals for changelog (Closes: 755040) + + -- Michael Vogt Tue, 09 Sep 2014 20:09:11 +0200 + apt (1.0.7) unstable; urgency=medium [ Michael Vogt ] diff --cc debian/gbp.conf index 4991e409e,ec6d9894e..135522d40 --- a/debian/gbp.conf +++ b/debian/gbp.conf @@@ -1,5 -1,7 +1,7 @@@ [DEFAULT] prebuild = ./prepare-release pre-export postbuild = ./prepare-release post-build -debian-branch = debian/sid +debian-branch = debian/experimental debian-tag = %(version)s + export-dir = ../build-area + sign-tags = True diff --cc test/integration/test-apt-progress-fd index 7ddf355f3,d72e7e72d..c147c4517 --- a/test/integration/test-apt-progress-fd +++ b/test/integration/test-apt-progress-fd @@@ -31,8 -31,24 +31,24 @@@ pmstatus:testing:100:Installed testing exec 3> apt-progress.log testsuccess aptget install testing=0.8.15 -y -o APT::Status-Fd=3 testequal "dlstatus:1:0:Retrieving file 1 of 1 -dlstatus:1:0:Retrieving file 1 of 1 +dlstatus:1:20:Retrieving file 1 of 1 pmstatus:dpkg-exec:0:Running dpkg + pmstatus:testing:0:Installing testing (amd64) + pmstatus:testing:20:Preparing testing (amd64) + pmstatus:testing:40:Unpacking testing (amd64) + pmstatus:testing:60:Preparing to configure testing (amd64) + pmstatus:dpkg-exec:60:Running dpkg + pmstatus:testing:60:Configuring testing (amd64) + pmstatus:testing:80:Configuring testing (amd64) + pmstatus:testing:100:Installed testing (amd64)" cat apt-progress.log + + # reinstall + exec 3> apt-progress.log + testsuccess aptget install testing=0.8.15 --reinstall -y -o APT::Status-Fd=3 + testequal "dlstatus:1:0:Retrieving file 1 of 1 + dlstatus:1:0:Retrieving file 1 of 1 + pmstatus:dpkg-exec:0:Running dpkg + pmstatus:testing:0:Installing testing (amd64) pmstatus:testing:20:Preparing testing (amd64) pmstatus:testing:40:Unpacking testing (amd64) pmstatus:testing:60:Preparing to configure testing (amd64)