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

Re: problem with emacs configuration scripts



Joey Hess <joeyh@debian.org> writes:

> Thomas Bushnell, BSG wrote:
> > Specifically, because the files are conffiles, they are not removed
> > when the package is removed, and so the files stay around to continue
> > to affect the behavior of emacs.  This happened to me with the user-de
> > and user-es packages, which I installed long ago, and long ago
> > removed.  But the scripts they install have a bug on current emacs20,
> > and because the scripts are conffiles, they didn't get deleted.
> 
> Look at how this is handled by packages that contain menu-methods files
> for the menu package. They have the same basic problem: script conffiles that
> are left around when the package is removed, and will not work. The
> solution is this in the postrm:
> 
> if [ "$1" = "remove" -a -f "$inst" ]; then
> 	chmod a-x /etc/menu-methods/package
> fi
> 
> (And equivilant code in the postinst.)
> 
> Menu recognizes that it should ignore non-executable files in that
> directrory. I think that the emacsen packages should use a similar
> method to allow the scripts to be disabled. Execute permissions might be
> the wrong fix, but something along the same lines should work.

That would work.

I would like *something* specified so the packages which currently
install emacs scripts as conffiles that persist can fix their
behavior.  One maintainer rudely said "this isn't a bug, nyaa nyaa";
most wonder what the right thing is.  So I'd like it if we could reach
some closure quickly.

> > I think we should specify that programs should not install conffiles
> > which change the behavior of different packages
> 
> That is an incredibly vague statement, and there are probably 100
> different things in debian that violate it in perfectly sensible
> behavior. (See above menu-methods example for one.)

The menu-methods technique works fine, but I don't think it would
violate my proposed policy addition.  Perhaps a better way to say it
is:

"Packages which install conffiles should be careful that those
conffiles do not continue to affect the behavior of other programs
once the package has been removed.  It should not be necessary to
purge a package in order to prevent it from having an affect on other
programs."

menu-methods installers would meet this by changing the mode.  Emacs
scripts could do it by my "callout" suggestion or by having the emacs
load code do something more clever than it does now.

Thomas



Reply to: