From b7c5ca8c3138c2a8045bb4ef3545cb348a05e67b Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Thu, 10 Jan 2008 12:08:21 +0100 Subject: * apt-pkg/algorithms.cc: - Since APT::Get::List-Cleanup and APT::List-Cleanup both default to true, the effect of the compatibility code was to require both of them to be set to false in order to disable list cleanup; this broke the installer. Instead, disable list cleanup if either of them is set to false. --- apt-pkg/algorithms.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'apt-pkg') diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc index 6e2b97557..57b85e24f 100644 --- a/apt-pkg/algorithms.cc +++ b/apt-pkg/algorithms.cc @@ -1356,7 +1356,7 @@ bool ListUpdate(pkgAcquireStatus &Stat, // Keep "APT::Get::List-Cleanup" name for compatibility, but // this is really a global option for the APT library now if (!TransientNetworkFailure && !Failed && - (_config->FindB("APT::Get::List-Cleanup",true) == true || + (_config->FindB("APT::Get::List-Cleanup",true) == true && _config->FindB("APT::List-Cleanup",true) == true)) { if (Fetcher.Clean(_config->FindDir("Dir::State::lists")) == false || -- cgit v1.2.3-70-g09d2 From 51dbf3686ee62584d7c2a21b6209a45ebceac5c9 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Thu, 31 Jan 2008 10:06:00 +0100 Subject: * apt-pkg/deb/dpkgpm.cc: - merged patch from Kees Cook to fix anoying upper-case display on amd64 in sbuild --- apt-pkg/deb/dpkgpm.cc | 4 +++- debian/changelog | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'apt-pkg') 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"); diff --git a/debian/changelog b/debian/changelog index 92fdcf57c..d0e0c754d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -13,6 +13,9 @@ apt (0.7.11) UNRELEASED; urgency=low - 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 -- Michael Vogt Thu, 10 Jan 2008 12:06:12 +0100 -- cgit v1.2.3-70-g09d2 From e06c72cd8d39433b04883f35dea81619b8464b0e Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Fri, 1 Feb 2008 16:55:44 +0100 Subject: * apt-pkg/algorithms.cc: - add APT::Update::Post-Invoke-Success script slot --- apt-pkg/algorithms.cc | 6 +++++- debian/changelog | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'apt-pkg') diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc index 57b85e24f..503a928ac 100644 --- a/apt-pkg/algorithms.cc +++ b/apt-pkg/algorithms.cc @@ -1371,7 +1371,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/debian/changelog b/debian/changelog index d0e0c754d..497053111 100644 --- a/debian/changelog +++ b/debian/changelog @@ -16,6 +16,8 @@ apt (0.7.11) UNRELEASED; urgency=low * 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 -- Michael Vogt Thu, 10 Jan 2008 12:06:12 +0100 -- cgit v1.2.3-70-g09d2 From 5d149bfc7f34bc39e0edf8d9d98786cadefeeedf Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Mon, 4 Feb 2008 14:15:17 +0100 Subject: add APT::Update::Auth-Failure script --- apt-pkg/acquire-item.cc | 1 + test/pre-upload-check.py | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) (limited to 'apt-pkg') diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc index ad48adcff..a00b0b6d3 100644 --- a/apt-pkg/acquire-item.cc +++ b/apt-pkg/acquire-item.cc @@ -1179,6 +1179,7 @@ void pkgAcqMetaIndex::Failed(string Message,pkgAcquire::MethodConfig *Cnf) "GPG error: %s: %s\n"), Desc.Description.c_str(), LookupTag(Message,"Message").c_str()); + RunScripts("APT::Update::Auth-Failure"); return; } else { _error->Warning(_("GPG error: %s: %s"), diff --git a/test/pre-upload-check.py b/test/pre-upload-check.py index ca44ec726..de43122ce 100755 --- a/test/pre-upload-check.py +++ b/test/pre-upload-check.py @@ -25,7 +25,8 @@ class testAptAuthenticationReliability(unittest.TestCase): apt = "apt-get" def setUp(self): - pass + if os.path.exists("/tmp/autFailure"): + os.unlink("/tmp/authFailure"); def testRepositorySigFailure(self): """ test if a repository that used to be authenticated and fails on @@ -39,26 +40,33 @@ class testAptAuthenticationReliability(unittest.TestCase): os.utime("/var/lib/apt/lists/%s" % os.path.basename(f), (0,0)) res = call([self.apt, "update", - "-o","Dir::Etc::sourcelist=./authReliability/sources.list.failure" + "-o","Dir::Etc::sourcelist=./authReliability/sources.list.failure", + "-o",'APT::Update::Auth-Failure::=touch /tmp/authFailure', ] + apt_args, stdout=stdout, stderr=stderr) self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release.gpg"), "The gpg file disappeared, this should not happen") self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Packages"), "The Packages file disappeared, this should not happen") + self.assert_(os.path.exists("/tmp/authFailure"), + "The APT::Update::Auth-Failure script did not run") + os.unlink("/tmp/authFailure"); # the same with i-m-s hit this time for f in glob.glob("./authReliability/lists/*"): shutil.copy(f,"/var/lib/apt/lists") os.utime("/var/lib/apt/lists/%s" % os.path.basename(f), (time.time(),time.time())) res = call([self.apt, "update", - "-o","Dir::Etc::sourcelist=./authReliability/sources.list.failure" + "-o","Dir::Etc::sourcelist=./authReliability/sources.list.failure", + "-o",'APT::Update::Auth-Failure::=touch /tmp/authFailure', ] + apt_args, stdout=stdout, stderr=stderr) self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Release.gpg"), "The gpg file disappeared, this should not happen") self.assert_(os.path.exists("/var/lib/apt/lists/people.ubuntu.com_%7emvo_apt_auth-test-suit_gpg-package-broken_Packages"), "The Packages file disappeared, this should not happen") + self.assert_(os.path.exists("/tmp/authFailure"), + "The APT::Update::Auth-Failure script did not run") def testRepositorySigGood(self): """ test that a regular repository with good data stays good @@ -239,5 +247,5 @@ if __name__ == "__main__": stderr = sys.stderr # run only one for now - #unittest.main(defaultTest="testAptAuthenticationReliability") - unittest.main() + unittest.main(defaultTest="testAptAuthenticationReliability") + #unittest.main() -- cgit v1.2.3-70-g09d2