#include <errno.h>
#include <regex.h>
#include <sys/wait.h>
+ #include <sstream>
/*}}}*/
using namespace std;
cerr << _("Unable to correct missing packages.") << endl;
return _error->Error(_("Aborting install."));
}
-
+
_system->UnLock();
int status_fd = _config->FindI("APT::Status-Fd",-1);
pkgPackageManager::OrderResult Res = PM->DoInstall(status_fd);
return false;
bool Failed = false;
+ bool TransientNetworkFailure = false;
for (pkgAcquire::ItemIterator I = Fetcher.ItemsBegin(); I != Fetcher.ItemsEnd(); I++)
{
if ((*I)->Status == pkgAcquire::Item::StatDone)
continue;
(*I)->Finished();
-
+
fprintf(stderr,_("Failed to fetch %s %s\n"),(*I)->DescURI().c_str(),
(*I)->ErrorText.c_str());
+
+ if ((*I)->Status == pkgAcquire::Item::StatTransientNetworkError)
+ {
+ TransientNetworkFailure = true;
+ continue;
+ }
+
Failed = true;
}
// Clean out any old list files
- if (!Failed && _config->FindB("APT::Get::List-Cleanup",true) == true)
+ if (!TransientNetworkFailure &&
+ _config->FindB("APT::Get::List-Cleanup",true) == true)
{
if (Fetcher.Clean(_config->FindDir("Dir::State::lists")) == false ||
Fetcher.Clean(_config->FindDir("Dir::State::lists") + "partial/") == false)
if (Cache.BuildCaches() == false)
return false;
- if (Failed == true)
+ if (TransientNetworkFailure == true)
+ _error->Warning(_("Some index files failed to download, they have been ignored, or old ones used instead."));
+ else if (Failed == true)
return _error->Error(_("Some index files failed to download, they have been ignored, or old ones used instead."));
-
+
return true;
}
/*}}}*/
+ // DoAutomaticRemove - Remove all automatic unused packages /*{{{*/
+ // ---------------------------------------------------------------------
+ /* Remove unused automatic packages */
+ bool DoAutomaticRemove(CacheFile &Cache)
+ {
+ if(_config->FindI("Debug::pkgAutoRemove",false))
+ std::cout << "DoAutomaticRemove()" << std::endl;
+
+ if (_config->FindB("APT::Get::Remove",true) == false)
+ return _error->Error(_("We are not supposed to delete stuff, can't "
+ "start AutoRemover"));
+
+ {
+ pkgDepCache::ActionGroup group(*Cache);
+
+ // look over the cache to see what can be removed
+ for (pkgCache::PkgIterator Pkg = Cache->PkgBegin(); ! Pkg.end(); ++Pkg)
+ {
+ if (Cache[Pkg].Garbage)
+ {
+ if(Pkg.CurrentVer() != 0 || Cache[Pkg].Install())
+ fprintf(stdout,"We could delete %s\n", Pkg.Name());
+
+ if(Pkg.CurrentVer() != 0 && Pkg->CurrentState != pkgCache::State::ConfigFiles)
+ Cache->MarkDelete(Pkg, _config->FindB("APT::Get::Purge", false));
+ else
+ Cache->MarkKeep(Pkg, false, false);
+ }
+ }
+ }
+
+ // Now see if we destroyed anything
+ if (Cache->BrokenCount() != 0)
+ {
+ c1out << _("Hmm, seems like the AutoRemover destroyed something which really\n"
+ "shouldn't happen. Please file a bug report against apt.") << endl;
+ c1out << endl;
+ c1out << _("The following information may help to resolve the situation:") << endl;
+ c1out << endl;
+ ShowBroken(c1out,Cache,false);
+
+ return _error->Error(_("Internal Error, AutoRemover broke stuff"));
+ }
+ return true;
+ }
+
// DoUpgrade - Upgrade all packages /*{{{*/
// ---------------------------------------------------------------------
/* Upgrade all packages without installing new packages or erasing old
bool DefRemove = false;
if (strcasecmp(CmdL.FileList[0],"remove") == 0)
DefRemove = true;
+ else if (strcasecmp(CmdL.FileList[0], "autoremove") == 0)
+ {
+ _config->Set("APT::Get::AutomaticRemove", "true");
+ DefRemove = true;
+ }
for (const char **I = CmdL.FileList + 1; *I != 0; I++)
{
return _error->Error(_("Broken packages"));
}
+ if (_config->FindB("APT::Get::AutomaticRemove")) {
+ if (!DoAutomaticRemove(Cache))
+ return false;
+ }
+
/* Print out a list of packages that are going to be installed extra
to what the user asked */
if (Cache->InstCount() != ExpectedInst)
if (*J == 0) {
List += string(I.Name()) + " ";
- VersionsList += string(Cache[I].CandVersion) + "\n";
- }
+ VersionsList += string(Cache[I].CandVersion) + "\n";
+ }
}
ShowList(c1out,_("The following extra packages will be installed:"),List,VersionsList);
_config->Set("APT::Get::Fix-Broken",false);
_config->Set("APT::Get::Force-Yes",false);
_config->Set("APT::Get::List-Cleanup",true);
+ _config->Set("APT::Get::AutomaticRemove",false);
}
/*}}}*/
// SigWinch - Window size change signal handler /*{{{*/
{0,"remove","APT::Get::Remove",0},
{0,"only-source","APT::Get::Only-Source",0},
{0,"arch-only","APT::Get::Arch-Only",0},
+ {0,"auto-remove","APT::Get::AutomaticRemove",0},
{0,"allow-unauthenticated","APT::Get::AllowUnauthenticated",0},
{'c',"config-file",0,CommandLine::ConfigFile},
{'o',"option",0,CommandLine::ArbItem},
{"upgrade",&DoUpgrade},
{"install",&DoInstall},
{"remove",&DoInstall},
+ {"autoremove",&DoInstall},
{"dist-upgrade",&DoDistUpgrade},
{"dselect-upgrade",&DoDSelectUpgrade},
{"build-dep",&DoBuildDep},
-apt (0.6.44.2) unstable; urgency=low
+apt (0.6.44.2ubuntu1) edgy; urgency=low
- * apt-pkg/depcache.cc:
- - added Debug::pkgDepCache::AutoInstall (thanks to infinity)
- * merged from
- http://www.perrier.eu.org/debian/packages/d-i/level4/apt-main:
- * sk.po: Completed to 512t
- * eu.po: Completed to 512t
- * fr.po: Completed to 512t
- * sv.po: Completed to 512t
- * Update all PO and the POT. Gives 506t6f for formerly
- complete translations
+ * merged with debian/unstable
++ * merged the "auto-mark" branch to support aptitude like
++ marking of automatically installed dependencies and added
++ "apt-get remove --auto-remove" to remove unused auto-installed
++ packages again
++ * changed library version from 3.11 to 3.50 to make it clearly
++ different from the debian version (we are ABI incompatible because
++ of the auto-mark patch)
- --
+ -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 3 Jul 2006 18:30:46 +0200
+
+apt (0.6.44.2) unstable; urgency=low
+
+ * apt-pkg/depcache.cc:
+ - added Debug::pkgDepCache::AutoInstall (thanks to infinity)
+ * apt-pkg/acquire-item.cc:
+ - fix missing chmod() in the new aquire code
+ (thanks to Bastian Blank, Closes: #367425)
+ * merged from
+ http://www.perrier.eu.org/debian/packages/d-i/level4/apt-main:
+ * sk.po: Completed to 512t
+ * eu.po: Completed to 512t
+ * fr.po: Completed to 512t
+ * sv.po: Completed to 512t
+ * Update all PO and the POT. Gives 506t6f for formerly
+ complete translations
+
+ -- Michael Vogt <mvo@debian.org> Wed, 14 Jun 2006 12:00:57 +0200
apt (0.6.44.1-0.1) unstable; urgency=low
-- Michael Vogt <mvo@debian.org> Mon, 8 May 2006 22:28:53 +0200
+apt (0.6.43.3ubuntu3) dapper; urgency=low
+
+ * methods/http.cc:
+ - fix the user-agent string
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 26 May 2006 18:09:32 +0200
+
+apt (0.6.43.3ubuntu2) dapper; urgency=low
+
+ * apt-pkg/deb/dpkgpm.cc: wording fixes (thanks to Matt Zimmerman)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 18 Apr 2006 13:24:40 +0200
+
+apt (0.6.43.3ubuntu1) dapper; urgency=low
+
+ * apt-pkg/acquire.cc: don't show ETA if it is 0 or absurdely large in
+ the status-fd (ubuntu #28954)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 28 Mar 2006 20:34:46 +0200
+
apt (0.6.43.3) unstable; urgency=low
* Merge bubulle@debian.org--2005/apt--main--0 up to patch-186:
* pl.po: Completed to 512t. Closes: #349514
* sk.po: Completed to 512t. Closes: #349474
* gl.po: Completed to 512 strings Closes: #349407
+ * vi.po: Completed to 512 strings
* sv.po: Completed to 512 strings Closes: #349210
* ru.po: Completed to 512 strings Closes: #349154
* da.po: Completed to 512 strings Closes: #349084
* fr.po: Completed to 512 strings
+ * LINGUAS: Add Welsh
+ * *.po: Updated from sources (512 strings)
* vi.po: Completed to 511 strings Closes: #348968
- * zh_CN.po: Completed to 512t. Closes: #353936
- * it.po: Completed to 512t. Closes: #352803
- * pt_BR.po: Completed to 512t. Closes: #352419
+ * apt-pkg/deb/deblistparser.cc:
+ - don't explode on a DepCompareOp in a Provides line, but warn about
+ it and ignore it otherwise (thanks to James Troup for reporting it)
+ * cmdline/apt-get.cc:
+ - don't lock the lists directory in DoInstall, breaks --print-uri
+ (thanks to James Troup for reporting it)
+ * debian/apt.dirs: create /etc/apt/sources.list.d
+ * make apt-cache madison work without deb-src entries (#352583)
+ * cmdline/apt-get.cc: only run the list-cleaner if a update was
+ successfull
+ * apt-get update errors are only warnings nowdays
+ * be more careful with the signature file on network failures
+
+ -- Michael Vogt <mvo@debian.org> Wed, 22 Feb 2006 10:13:04 +0100
+
+apt (0.6.43.2ubuntu1) dapper; urgency=low
+
+ * Merge bubulle@debian.org--2005/apt--main--0 up to patch-182:
+ * ca.po: Completed to 512t. Closes: #351592
+ * eu.po: Completed to 512t. Closes: #350483
+ * ja.po: Completed to 512t. Closes: #349806
+ * pl.po: Completed to 512t. Closes: #349514
+ * sk.po: Completed to 512t. Closes: #349474
+ * gl.po: Completed to 512 strings Closes: #349407
+ * vi.po: Completed to 512 strings
+ * sv.po: Completed to 512 strings Closes: #349210
+ * ru.po: Completed to 512 strings Closes: #349154
+ * da.po: Completed to 512 strings Closes: #349084
+ * fr.po: Completed to 512 strings
* LINGUAS: Add Welsh
* *.po: Updated from sources (512 strings)
+ * vi.po: Completed to 511 strings Closes: #348968
* apt-pkg/deb/deblistparser.cc:
- don't explode on a DepCompareOp in a Provides line, but warn about
it and ignore it otherwise (thanks to James Troup for reporting it)
* make apt-cache madison work without deb-src entries (#352583)
* cmdline/apt-get.cc: only run the list-cleaner if a update was
successfull
+ * apt-get update errors are only warnings nowdays
+ * be more careful with the signature file on network failures
- -- Michael Vogt <mvo@debian.org> Wed, 22 Feb 2006 10:13:04 +0100
+ -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 20 Feb 2006 22:27:48 +0100
apt (0.6.43.2) unstable; urgency=low
-- Michael Vogt <mvo@debian.org> Thu, 19 Jan 2006 00:06:33 +0100
-apt (0.6.43.1) unstable; urgency=low
+apt (0.6.43.1ubuntu1) dapper; urgency=low
+ * Merge bubulle@debian.org--2005/apt--main--0 up to patch-159:
+ - en_GB.po, de.po: fix spaces errors in "Ign " translations
+ Closes: #347258
+ - makefile: make update-po a pre-requisite of clean target so
+ that POT and PO files are always up-to-date
+ - sv.po: Completed to 511t. Closes: #346450
+ - sk.po: Completed to 511t. Closes: #346369
+ - fr.po: Completed to 511t
+ - *.po: Updated from sources (511 strings)
+ * add patch to fix http download corruption problem (thanks to
+ Petr Vandrovec, closes: #280844, #290694)
+ * added APT::Periodic::Unattended-Upgrade (requires the package
+ "unattended-upgrade")
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 10 Jan 2006 17:09:31 +0100
+
+apt (0.6.43.1) unstable; urgency=low
+
* Merge bubulle@debian.org--2005/apt--main--0 up to patch-148:
* fr.po: Completed to 510 strings
* it.po: Completed to 510t
-- Michael Vogt <mvo@debian.org> Fri, 6 Jan 2006 01:17:08 +0100
+apt (0.6.43ubuntu2) dapper; urgency=low
+
+ * merged some missing bits that wheren't merged by baz in the previous
+ upload (*grumble*)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 8 Dec 2005 18:35:58 +0100
+
+apt (0.6.43ubuntu1) dapper; urgency=low
+
+ * merged with debian
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 25 Nov 2005 11:36:29 +0100
+
apt (0.6.43) unstable; urgency=medium
* Merge bubulle@debian.org--2005/apt--main--0 up to patch-132:
-- Michael Vogt <mvo@debian.org> Tue, 29 Nov 2005 00:17:07 +0100
+apt (0.6.42.3ubuntu2) dapper; urgency=low
+
+ * Merge bubulle@debian.org--2005/apt--main--0 up to patch-131:
+ * zh_CN.po: Completed to 507 strings(Closes: #338267)
+ * gl.po: Completed to 510 strings (Closes: #338356)
+ * added support for "/etc/apt/sources.list.d" directory
+ (closes: #66325)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 14 Nov 2005 15:30:12 +0100
+
+apt (0.6.42.3ubuntu1) dapper; urgency=low
+
+ * synced with debian
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 10 Nov 2005 05:05:56 +0100
+
apt (0.6.42.3) unstable; urgency=low
* Merge bubulle@debian.org--2005/apt--main--0 up to patch-129:
- unmount the cdrom when apt failed to locate any package files
* allow cdrom failures and fallback to other sources in that case
(closes: #44135)
- * better error text when dpkg-source fails
+ * better error text when dpkg-source fails
* Merge bubulle@debian.org--2005/apt--main--0 up to patch-115:
- patch-99: Added Galician translation
- patch-100: Completed Danish translation (Closes: #325686)
- patch-104: French translation completed
- patch-109: Italian translation completed
- - patch-112: Swedish translation update
+ - patch-112: Swedish translation update
- patch-115: Basque translation completed (Closes: #333299)
* applied french man-page update (thanks to Philippe Batailler)
(closes: #316638, #327456)
* apt-pkg/contrib/md5.cc:
- fix a alignment problem on sparc64 that gives random bus errors
(thanks to Fabbione for providing a test-case)
- * init the default ScreenWidth to 79 columns by default
+ * init the default ScreenWidth to 79 columns by default
(Closes: #324921)
- * cmdline/apt-cdrom.cc:
+ * cmdline/apt-cdrom.cc:
- fix some missing gettext() calls (closes: #334539)
* doc/apt-cache.8.xml: fix typo (closes: #334714)
-
+
-- Michael Vogt <mvo@debian.org> Wed, 19 Oct 2005 22:02:09 +0200
apt (0.6.41) unstable; urgency=low
* improved the support for "error" and "conffile" reporting from
dpkg, added the format to README.progress-reporting
* added README.progress-reporting to the apt-doc package
- * improved the network timeout handling, if a index file from a
- sources.list times out or EAI_AGAIN is returned from getaddrinfo,
+ * improved the network timeout handling, if a index file from a
+ sources.list times out or EAI_AGAIN is returned from getaddrinfo,
don't try to get the other files from that entry
* Support architecture-specific extra overrides
(closes: #225947). Thanks to Anthony Towns for idea and
* Javier Fernandez-Sanguino Pen~a:
- Added a first version of an apt-secure.8 manpage, and modified
apt-key and apt.end accordingly. Also added the 'update'
- argument to apt-key which was previously not documented
+ argument to apt-key which was previously not documented
(Closes: #322120)
* Andreas Pakulat:
- - added example apt-ftparchive.conf file to doc/examples
+ - added example apt-ftparchive.conf file to doc/examples
(closes: #322483)
* Fix a incorrect example in the man-page (closes: #282918)
* Fix a bug for very long lines in the apt-cdrom code (closes: #280356)
* Change pkgPolicy::Pin from private to protected to let subclasses
access it too (closes: #321799)
* add default constructor for PrvIterator (closes: #322267)
- * Reread status configuration on debSystem::Initialize()
+ * Reread status configuration on debSystem::Initialize()
(needed for apt-proxy, thanks to Otavio for this patch)
-
+
-- Michael Vogt <mvo@debian.org> Mon, 5 Sep 2005 22:59:03 +0200
+
+apt (0.6.40.1ubuntu8) breezy; urgency=low
+
+ * Cherry picked michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-62:
+ - fix for a bad memory/file leak in the mmap code (ubuntu #15603)
+ * po/de.po, po/fr.po:
+ - updated the translations
+ * po/makefile:
+ - create a single pot file in each domain dir to make rosetta happy
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 28 Sep 2005 10:16:06 +0200
+
+apt (0.6.40.1ubuntu7) breezy; urgency=low
+
+ * updated the pot/po files , no code changes
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 27 Sep 2005 18:38:16 +0200
+
+apt (0.6.40.1ubuntu6) breezy; urgency=low
+
+ * Cherry picked michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-56:
+ - make it possible for apt to handle a failed MediaChange event and
+ fall back to other sources (ubuntu #13713)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 13 Sep 2005 22:09:50 +0200
+
+apt (0.6.40.1ubuntu5) breezy; urgency=low
+
+ * Cherry picked michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-{50,51}.
+ This adds media-change reporting to the apt status-fd (ubuntu #15213)
+ * Cherry picked michael.vogt@ubuntu.com--2005/apt--mvo--0--patch-55:
+ apt-pkg/cdrom.cc:
+ - unmount the cdrom when apt failed to locate any package files
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 12 Sep 2005 15:44:26 +0200
+
+apt (0.6.40.1ubuntu4) breezy; urgency=low
+
+ * debian/apt.cron.daily:
+ - fix a embarrassing typo
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 7 Sep 2005 10:10:37 +0200
+
+apt (0.6.40.1ubuntu3) breezy; urgency=low
+
+ * debian/apt.cron.daily:
+ - use the ctime as well when figuring what packages need to
+ be removed. This fixes the problem that packages copied with
+ "cp -a" (e.g. from the installer) have old mtimes (ubuntu #14504)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 6 Sep 2005 18:30:46 +0200
+
+apt (0.6.40.1ubuntu2) breezy; urgency=low
+
+ * improved the support for "error" and "conffile" reporting from
+ dpkg, added the format to README.progress-reporting
+ * added README.progress-reporting to the apt-doc package
+ * Do md5sum checking for file and cdrom method (closes: #319142)
+ * Change pkgPolicy::Pin from private to protected to let subclasses
+ access it too (closes: #321799)
+ * methods/connect.cc:
+ - send failure reason for EAI_AGAIN (TmpResolveFailure) to acuire-item
+ * apt-pkg/acquire-item.cc:
+ - fail early if a FailReason is TmpResolveFailure (avoids hangs during
+ the install when no network is available)
+ * merged michael.vogt@ubuntu.com--2005/apt--trust-cdrom--0
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 23 Aug 2005 19:44:55 +0200
+
+apt (0.6.40.1ubuntu1) breezy; urgency=low
+
+ * Synchronize with Debian
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 5 Aug 2005 14:20:56 +0200
apt (0.6.40.1) unstable; urgency=low
-- Michael Vogt <mvo@debian.org> Fri, 5 Aug 2005 13:24:58 +0200
+apt (0.6.40ubuntu1) breezy; urgency=low
+
+ * Synchronize with Debian
+
+ -- Matt Zimmerman <mdz@ubuntu.com> Thu, 4 Aug 2005 15:53:22 -0700
+
apt (0.6.40) unstable; urgency=low
* Patch from Jordi Mallach to mark some additional strings for translation
-- Matt Zimmerman <mdz@debian.org> Thu, 28 Jul 2005 11:57:32 -0700
+apt (0.6.39ubuntu4) breezy; urgency=low
+
+ * Fix keyring paths in apt-key, apt.postinst (I swear I remember doing this
+ before...)
+
+ -- Matt Zimmerman <mdz@ubuntu.com> Wed, 29 Jun 2005 08:39:17 -0700
+
+apt (0.6.39ubuntu3) breezy; urgency=low
+
+ * Fix keyring locations for Ubuntu in apt-key too.
+
+ -- Colin Watson <cjwatson@ubuntu.com> Wed, 29 Jun 2005 14:45:36 +0100
+
+apt (0.6.39ubuntu2) breezy; urgency=low
+
+ * Install ubuntu-archive.gpg rather than debian-archive.gpg as
+ /etc/apt/trusted.gpg.
+
+ -- Colin Watson <cjwatson@ubuntu.com> Wed, 29 Jun 2005 11:53:34 +0100
+
+apt (0.6.39ubuntu1) breezy; urgency=low
+
+ * Michael Vogt
+ - Change debian/bugscript to use #!/bin/bash (Closes: #313402)
+ - Fix a incorrect example in the man-page (closes: #282918)
+ - Support architecture-specific extra overrides
+ (closes: #225947). Thanks to Anthony Towns for idea and
+ the patch, thanks to Colin Watson for testing it.
+ - better report network timeouts from the methods to the acuire code,
+ only timeout once per sources.list line
+
+ -- Matt Zimmerman <mdz@ubuntu.com> Tue, 28 Jun 2005 11:52:24 -0700
+
apt (0.6.39) unstable; urgency=low
* Welsh translation update: daf@muse.19inch.net--2005/apt--main--0--patch-6
* Update priority of apt-utils to important, to match the override file
* Install only one keyring on each branch (Closes: #316119)
- -- Matt Zimmerman <mdz@debian.org> Tue, 28 Jun 2005 11:51:09 -0700
+ -- Matt Zimmerman <mdz@debian.org> Tue, 28 Jun 2005 11:35:21 -0700
+
+apt (0.6.38ubuntu1) breezy; urgency=low
+
+ * First release from Ubuntu branch
+ * Merge with --main--0, switch back to Ubuntu keyring
+
+ -- Matt Zimmerman <mdz@ubuntu.com> Sat, 25 Jun 2005 16:52:41 -0700
apt (0.6.38) unstable; urgency=low
* Add Welsh translation from Dafydd Harries
(daf@muse.19inch.net--2005/apt--main--0--patch-1)
* Change debian/bugscript to use #!/bin/bash (Closes: #313402)
+ * Fix a incorrect example in the man-page (closes: #282918)
-- Matt Zimmerman <mdz@ubuntu.com> Tue, 24 May 2005 14:38:25 -0700