summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Jackson <iwj@ubuntu.com>2015-04-18 19:47:54 +0200
committerGuillem Jover <guillem@debian.org>2015-05-30 02:57:58 +0200
commitbf316c32edf2487d8b4b691ffb82fec368b92a2b (patch)
tree018860fd70db84d6c575726e13770868795889fd
parent7366ce825ae2ab7feb73fe5458323fc79b8baa6f (diff)
downloaddpkg-bf316c32edf2487d8b4b691ffb82fec368b92a2b.tar.gz
dpkg: Honor Conflicts/Breaks/Pre-Depends for packages in unpacked and half states
Closes: #377860 Signed-off-by: Guillem Jover <guillem@debian.org>
-rw-r--r--debian/changelog2
-rw-r--r--src/depcon.c5
2 files changed, 7 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index ed22e9a04..cd62e2693 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -10,6 +10,8 @@ dpkg (1.18.1) UNRELEASED; urgency=low
* Set the SE Linux file context even when the file mode has no file type.
* Make dpkg-buildpackage -j override any parallel option specified in
DEB_BUILD_OPTIONS. Regression introduced in dpkg 1.14.15.
+ * Honor Pre-Depends, Conflicts and Breaks for packages in unpacked and
+ half states. Thanks to Ian Jackson <iwj@ubuntu.com>. Closes: #377860
* Perl modules:
- Add missing strict and warnings pragmas for submodules.
- Use non-destructive substitutions inside map.
diff --git a/src/depcon.c b/src/depcon.c
index 1e73d29bf..a3cccb05d 100644
--- a/src/depcon.c
+++ b/src/depcon.c
@@ -340,6 +340,11 @@ depisok(struct dependency *dep, struct varbuf *whynot,
case PKG_STAT_HALFCONFIGURED:
case PKG_STAT_UNPACKED:
case PKG_STAT_HALFINSTALLED:
+ if (dep->type == dep_predepends ||
+ dep->type == dep_conflicts ||
+ dep->type == dep_breaks)
+ break;
+ /* Fall through. */
case PKG_STAT_CONFIGFILES:
case PKG_STAT_NOTINSTALLED:
return true;