summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <egon@bottom>2007-10-15 21:28:47 +0200
committerMichael Vogt <egon@bottom>2007-10-15 21:28:47 +0200
commit312764930ff995ea9e7239b170af387f10d16a11 (patch)
tree8a665fec46adfb0a85200e3cb34210d5a06e314d
parent6edbc051f4cc97ec24b0b95791aa3cdc2ade3aae (diff)
parent477b5d6cacb53e868ec182330ffdcc3678a98560 (diff)
* merge from apt--mvo (fix resource leak, run apt.cron.daily only if
apt-get check is successfull)
-rw-r--r--apt-pkg/deb/dpkgpm.cc5
-rw-r--r--debian/apt.cron.daily6
-rw-r--r--debian/changelog2
3 files changed, 12 insertions, 1 deletions
diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
index 4323b5fd2..706abcb92 100644
--- a/apt-pkg/deb/dpkgpm.cc
+++ b/apt-pkg/deb/dpkgpm.cc
@@ -864,8 +864,11 @@ bool pkgDPkgPM::Go(int OutStatusFd)
signal(SIGQUIT,old_SIGQUIT);
signal(SIGINT,old_SIGINT);
- if(master >= 0 && slave >= 0)
+ if(master >= 0)
+ {
tcsetattr(0, TCSAFLUSH, &tt);
+ close(master);
+ }
// Check for an error code.
if (WIFEXITED(Status) == 0 || WEXITSTATUS(Status) != 0)
diff --git a/debian/apt.cron.daily b/debian/apt.cron.daily
index 34d6b164f..5524c16ee 100644
--- a/debian/apt.cron.daily
+++ b/debian/apt.cron.daily
@@ -170,6 +170,12 @@ if which on_ac_power >/dev/null; then
fi
fi
+# check if we can lock the cache and if the cache is clean
+if ! apt-get check -q -q 2>/dev/null; then
+ exit 1
+fi
+
+
UPDATE_STAMP=/var/lib/apt/periodic/update-stamp
if check_stamp $UPDATE_STAMP $UpdateInterval; then
if apt-get -qq update 2>/dev/null; then
diff --git a/debian/changelog b/debian/changelog
index 98b57eb45..22e966f0f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -42,6 +42,8 @@ apt (0.7.7) UNRELEASED; urgency=low
(thanks to Laurent Bigonville)
* apt-pkg/depcache.cc:
- set "APT::Install-Recommends" to true by default (OMG!)
+ * debian/apt.cron.daily:
+ - only run the cron job if apt-get check succeeds (LP: #131719)
[ Program translations ]
- French updated