From: Michael Vogt Date: Wed, 9 Jun 2010 11:15:34 +0000 (+0200) Subject: merged from lp:~donkult/apt/sid X-Git-Tag: 0.8.0~9^2~39 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/189bb640d2443a5fcaade2ce169429c629ba3148 merged from lp:~donkult/apt/sid --- 189bb640d2443a5fcaade2ce169429c629ba3148 diff --cc apt-pkg/acquire-method.cc index 6e021a445,b82dceecb..17d52cf51 --- a/apt-pkg/acquire-method.cc +++ b/apt-pkg/acquire-method.cc @@@ -378,10 -373,9 +378,10 @@@ int pkgAcqMethod::Run(bool Single Tmp->Uri = LookupTag(Message,"URI"); Tmp->DestFile = LookupTag(Message,"FileName"); - if (StrToTime(LookupTag(Message,"Last-Modified"),Tmp->LastModified) == false) + if (RFC1123StrToTime(LookupTag(Message,"Last-Modified").c_str(),Tmp->LastModified) == false) Tmp->LastModified = 0; Tmp->IndexFile = StringToBool(LookupTag(Message,"Index-File"),false); + Tmp->FailIgnore = StringToBool(LookupTag(Message,"Fail-Ignore"),false); Tmp->Next = 0; // Append it to the list diff --cc apt-pkg/deb/dpkgpm.h index ce3e20f2e,9a4478f7c..b7b5a6def --- a/apt-pkg/deb/dpkgpm.h +++ b/apt-pkg/deb/dpkgpm.h @@@ -32,8 -32,22 +32,23 @@@ class pkgDPkgPM : public pkgPackageMana FILE *history_out; string dpkg_error; + /** \brief record the disappear action and handle accordingly + + dpkg let packages disappear then they have no files any longer and + nothing depends on them. We need to collect this as dpkg as well as + APT doesn't know beforehand that the package will disappear, so the + only possible option is to tell the user afterwards about it. + To enhance the experience we also try to forward the auto-install + flag so the disappear-causer(s) are not autoremoved next time - + for the transfer to happen the disappeared version needs to depend + on the package the flag should be forwarded to and this package + needs to declare a Replaces on the disappeared package. + \param pkgname Name of the package that disappeared + */ + void handleDisappearAction(string const &pkgname); + protected: + int pkgFailures; // progress reporting struct DpkgState @@@ -70,11 -83,8 +85,11 @@@ // Helpers bool RunScriptsWithPkgs(const char *Cnf); bool SendV2Pkgs(FILE *F); - void WriteHistoryTag(string tag, string value); + void WriteHistoryTag(string const &tag, string value); + // apport integration + void WriteApportReport(const char *pkgpath, const char *errormsg); + // dpkg log bool OpenLog(); bool CloseLog(); diff --cc debian/changelog index 1740d196c,56a17eb38..9135d523b --- a/debian/changelog +++ b/debian/changelog @@@ -1,27 -1,67 +1,88 @@@ - apt (0.7.26~exp6) experimental; urgency=low + apt (0.7.26~exp6) UNRELEASED; urgency=low + [ Michael Vogt ] + * merge the remaining Ubuntu change: + - on gpg verification failure warn and restore the last known + good state + - on failure display the IP of the server (useful for servers + that use round robin DNS) + - support Original-Maintainer in RewritePackageOrder + - enable cdrom autodetection via libudev by default + - show messsage about Vcs in use when apt-get source is run for + packages maintained in a Vcs + - better support transitional packages with mark auto-installed. + when the transitional package is in "oldlibs" the new package + is not marked auto installed (same is true for section + metapackages) + - provide new "deb mirror://archive.foo/mirrors.list sid main" + method expects a list of mirrors (generated on the server e.g. + via geoip) and will use that, including cycle on failure + - write apport crash file on package failure (disabled by default + on debian until apport is available) + - support mirror failure reporting (disabled by default on debian) ++ + [ David Kalnischkies ] + * apt-pkg/deb/dpkgpm.cc: + - write Disappeared also to the history.log + - forward manual-installed bit on package disappearance + * apt-pkg/deb/debsystem.cc: + - add better config item for extended_states file + * apt-pkg/pkgcache.h: + - switch {,Install-}Size to unsigned long long + * apt-pkg/depcache.cc: + - do the autoremove mark process also for required packages to handle + these illegally depending on lower priority packages (Closes: #583517) + - try harder to find the other pseudo versions for autoremove multiarch + - correct "Dangerous iterator usage" pointed out by cppcheck + - deal with long long, not with int to remove 2GB Limit (LP: #250909) + - deprecate AddSize with Multiplier as it is unused and switch to + boolean instead to handle the sizes more gracefully. + - switch i{Download,Usr}Size from double to (un)signed long long + * apt-pkg/aptconfiguration.cc: + - remove duplicate architectures in getArchitectures() + * apt-pkg/indexrecords.{cc,h}: + - backport forgotten Valid-Until patch from the obsolete experimental + branch to prevent replay attacks better, thanks to Thomas Viehmann + for the initial patch! (Closes: #499897) + - add a constant Exists check for MetaKeys + * apt-pkg/acquire-item.cc: + - do not try PDiff if it is not listed in the Meta file + * apt-pkg/cacheiterator.h: + - let pkgCache::Iterator inherent std::iterator + * ftparchive/writer.h: + - add a virtual destructor to FTWScanner class (for cppcheck) + * apt-pkg/cacheset.{cc,h}: + - add simple wrapper around std::set for cache structures + - move regex magic from apt-get to new FromRegEx method + - move cmdline parsing from apt-cache to new FromCommandLine method + - support special release-modifier 'installed' and 'candidate' + * apt-pkg/contrib/cmdline.cc: + - fix segfault in SaveInConfig caused by writing over char[] sizes + * apt-pkg/pkgcache.cc: + - get the best matching arch package from a group with FindPreferredPkg + * cmdline/apt-cache.cc: + - make the search multiarch compatible by using GrpIterator instead + - use pkgCacheFile and the new CacheSets all over the place + - add --target-release option (Closes: #115520) + - accept pkg/release and pkg=version in show and co. (Closes: #236270) + - accept package versions in the unmet command + * cmdline/apt-get.cc: + - use unsigned long long instead of double to store values it gets + * apt-pkg/cachefile.{cc,h}: + - split Open() into submethods to be able to build only parts + - make the OpProgress optional in the Cache buildprocess + - store also the SourceList we use internally for export + * doc/apt.conf.5.xml: + - document the new Valid-Until related options + * apt-pkg/contrib/strutl.cc: + - split StrToTime() into HTTP1.1 and FTP date parser methods and + use strptime() instead of some self-made scanf mangling + - use the portable timegm shown in his manpage instead of a strange + looking code copycat from wget + * ftparchive/writer.cc: + - add ValidTime option to generate a Valid-Until header in Release file - -- Michael Vogt Wed, 09 Jun 2010 10:50:17 +0200 + -- David Kalnischkies Wed, 09 Jun 2010 10:52:31 +0200 apt (0.7.26~exp5) experimental; urgency=low