diff options
author | Michael Vogt <egon@bottom> | 2008-02-21 16:49:03 +0100 |
---|---|---|
committer | Michael Vogt <egon@bottom> | 2008-02-21 16:49:03 +0100 |
commit | 0252c6beaab880081c1dc491bfe0904614a1baa7 (patch) | |
tree | 3a31cbb1530a99a5f936dad9d5c3345a5cb90890 /apt-pkg | |
parent | e3a1f08d41bf6ef6a42bbc6e5f8e20f7b4aa37a0 (diff) | |
parent | 7810fc042d4d3dda6b2c721d09d3eb7eadc12e2d (diff) |
* cmdline/apt-key:
- add support for a master-keyring that contains signing keys
that can be used to sign the archive signing keys. This should
make key-rollover easier.
* apt-pkg/deb/dpkgpm.cc:
- merged patch from Kees Cook to fix anoying upper-case display
on amd64 in sbuild
* apt-pkg/algorithms.cc:
- add APT::Update::Post-Invoke-Success script slot
- Make the breaks handling use the kill list. This means, that a
Breaks: Pkg (<< version) may put Pkg onto the remove list.
* apt-pkg/deb/debmetaindex.cc:
- add missing "Release" file uri when apt-get update --print-uris
is run
* methods/connect.cc:
- remember hosts with Resolve failures or connect Timeouts
Diffstat (limited to 'apt-pkg')
-rw-r--r-- | apt-pkg/algorithms.cc | 19 | ||||
-rw-r--r-- | apt-pkg/deb/debmetaindex.cc | 9 | ||||
-rw-r--r-- | apt-pkg/deb/dpkgpm.cc | 4 |
3 files changed, 24 insertions, 8 deletions
diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc index 57b85e24f..eaab4c0ea 100644 --- a/apt-pkg/algorithms.cc +++ b/apt-pkg/algorithms.cc @@ -985,17 +985,17 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) if (Start->Type == pkgCache::Dep::DpkgBreaks) { - /* Would it help if we upgraded? */ - if (Cache[End] & pkgDepCache::DepGCVer) { + // first, try upgradring the package, if that + // does not help, the breaks goes onto the + // kill list + // FIXME: use DoUpgrade(Pkg) instead? + if (Cache[End] & pkgDepCache::DepGCVer) + { if (Debug) clog << " Upgrading " << Pkg.Name() << " due to Breaks field in " << I.Name() << endl; Cache.MarkInstall(Pkg, false, 0, false); continue; } - if (Debug) - clog << " Will not break " << Pkg.Name() << " as stated in Breaks field in " << I.Name() <<endl; - Cache.MarkKeep(I, false, false); - continue; } // Skip adding to the kill list if it is protected @@ -1066,6 +1066,7 @@ bool pkgProblemResolver::Resolve(bool BrokenFix) if ((Cache[J->Dep] & pkgDepCache::DepGNow) == 0) { if (J->Dep->Type == pkgCache::Dep::Conflicts || + J->Dep->Type == pkgCache::Dep::DpkgBreaks || J->Dep->Type == pkgCache::Dep::Obsoletes) { if (Debug == true) @@ -1371,7 +1372,11 @@ bool ListUpdate(pkgAcquireStatus &Stat, return _error->Error(_("Some index files failed to download, they have been ignored, or old ones used instead.")); - // Run the scripts if all was fine + // Run the success scripts if all was fine + if(!TransientNetworkFailure && !Failed) + RunScripts("APT::Update::Post-Invoke-Success"); + + // Run the other scripts RunScripts("APT::Update::Post-Invoke"); return true; } diff --git a/apt-pkg/deb/debmetaindex.cc b/apt-pkg/deb/debmetaindex.cc index 9ac659f78..ee035191f 100644 --- a/apt-pkg/deb/debmetaindex.cc +++ b/apt-pkg/deb/debmetaindex.cc @@ -146,7 +146,16 @@ bool debReleaseIndex::GetIndexes(pkgAcquire *Owner, bool GetAll) const new pkgAcqIndex(Owner, (*Target)->URI, (*Target)->Description, (*Target)->ShortDesc, HashString()); } + // this is normally created in pkgAcqMetaSig, but if we run + // in --print-uris mode, we add it here + new pkgAcqMetaIndex(Owner, MetaIndexURI("Release"), + MetaIndexInfo("Release"), "Release", + MetaIndexURI("Release.gpg"), + ComputeIndexTargets(), + new indexRecords (Dist)); + } + new pkgAcqMetaSig(Owner, MetaIndexURI("Release.gpg"), MetaIndexInfo("Release.gpg"), "Release.gpg", MetaIndexURI("Release"), MetaIndexInfo("Release"), "Release", diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index 34e166447..bc15b8819 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -702,14 +702,16 @@ bool pkgDPkgPM::Go(int OutStatusFd) sighandler_t old_SIGINT = signal(SIGINT,SIG_IGN); struct termios tt; + struct termios tt_out; struct winsize win; int master; int slave; // FIXME: setup sensible signal handling (*ick*) tcgetattr(0, &tt); + tcgetattr(1, &tt_out); ioctl(0, TIOCGWINSZ, (char *)&win); - if (openpty(&master, &slave, NULL, &tt, &win) < 0) + if (openpty(&master, &slave, NULL, &tt_out, &win) < 0) { const char *s = _("Can not write log, openpty() " "failed (/dev/pts not mounted?)\n"); |