[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[PATCH] dpkg: do not activate triggers for unchanged conffiles



Currently, dpkg lets interested packages know when saving a
backup (.dpkg-dist file) for an updated conffile that is not
going to used.

This is, strictly speaking, harmless, since file triggers were
never a guarantee that a file was actually modified.  But on one
hand, the triggered action can be an expensive no-op (such as
restarting a server process), and on the other hand, any package
that relies on triggers being activated in this case will break
once some user decides not to keep a .dpkg-dist file.  So it
seems safer to avoid the unnecessary and misleading trigger.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
Jonathan Nieder wrote:

> Nothing else like this seems to stand out among the remaining changes.
> I did find what looks like a minor pre-existing bug.  Patch to come.

On reflection, 'bug' is a little too strong a word. :) But this is an
improvement, imho.

Patch applies to master.

 src/configure.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/src/configure.c b/src/configure.c
index f5254bc..63b2e87 100644
--- a/src/configure.c
+++ b/src/configure.c
@@ -164,7 +164,6 @@ deferred_configure_conffile(struct pkginfo *pkg, struct conffile *conff)
 		varbufaddstr(&cdr, DPKGDISTEXT);
 		varbufaddc(&cdr, 0);
 		strcpy(cdr2rest, DPKGNEWEXT);
-		trig_file_activate(usenode, pkg);
 		if (rename(cdr2.buf, cdr.buf))
 			warning(_("%s: failed to rename '%.250s' to '%.250s': %s"),
 			        pkg->name, cdr2.buf, cdr.buf, strerror(errno));
-- 
1.6.5.2


Reply to: