diff options
author | Arch Librarian <arch@canonical.com> | 2004-09-20 16:54:34 +0000 |
---|---|---|
committer | Arch Librarian <arch@canonical.com> | 2004-09-20 16:54:34 +0000 |
commit | 9d4c8f671af479cba90e1db2f68d9abf9daaa4a4 (patch) | |
tree | a4df483b58f0fef7c23e1240a72f7951a16fd925 /apt-pkg/packagemanager.cc | |
parent | e5054186e69880d24528092c2f8a9dd3023224f8 (diff) |
Force-LoopBreak
Author: jgg
Date: 1999-08-12 05:59:47 GMT
Force-LoopBreak
Diffstat (limited to 'apt-pkg/packagemanager.cc')
-rw-r--r-- | apt-pkg/packagemanager.cc | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/apt-pkg/packagemanager.cc b/apt-pkg/packagemanager.cc index 68827f53c..28a8d7fb2 100644 --- a/apt-pkg/packagemanager.cc +++ b/apt-pkg/packagemanager.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: packagemanager.cc,v 1.19 1999/08/03 05:19:41 jgg Exp $ +// $Id: packagemanager.cc,v 1.20 1999/08/12 05:59:54 jgg Exp $ /* ###################################################################### Package Manager - Abstacts the package manager @@ -364,6 +364,17 @@ bool pkgPackageManager::EarlyRemove(PkgIterator Pkg) // Woops, it will not be re-installed! if (List->IsFlag(Pkg,pkgOrderList::InList) == false) return false; + + // Essential packages get special treatment + if ((Pkg->Flags & pkgCache::Flag::Essential) != 0) + { + if (_config->FindB("APT::Force-LoopBreak",false) == false) + return _error->Error("This installation run will require temporarily " + "removing the essential package %s due to a " + "Conflicts/Pre-Depends loop. This is often bad, " + "but if you really want to do it, activate the " + "APT::Force-LoopBreak option.",Pkg.Name()); + } bool Res = SmartRemove(Pkg); if (Cache[Pkg].Delete() == false) |