Re: It's Huntin' Season
Adam Heath <email@example.com> writes:
> Then your package has a serious(RC) bug. Policy(11.7) states that packages
> which place files in /etc(either by having it in the deb, or thru some
> maintainer script) *MUST* preserve user edits.
> This doesn't mean you can interpeted as attempting to save changes. Must is
> must is must.
>> Should we change the Debian Emacs policy to allow me to put them
>> somewhere else?
> Emacs policy is wrong in this sense then. Emacs policy does not replace
> Debian Policy, it enhances it. And Debian Policy is very clear about files
> in /etc.
(Wow - long thread...)
Here's my current take. I have wondered for a little while whether or
not having /etc/* be the only place that packages can put code that
runs at startup is sufficient. For packages that want to make sure
certain things happen no matter what, things that shouldn't be
considered user-configurable, /etc is arguably not the right place.
The only reason that I chose /etc initially was because I was trying
to follow emacs upstream behaviour as closely as possible, and they
put all the auto-loaded stuff in /etc. However, that doesn't mean
that we couldn't also augment policy to add a
/usr/share/emacs/site-start.d/ where packages could put their
non-configurable code. However, then there would be the question of
ordering -- what happens first -- offhand, I'd say that /usr/share
would run before /etc so that admins could override things.
However, even if share/site-start.d is a bad idea, it seems like any
package manager can get almost the same effect by putting their init
code in /usr/share/<packagename>/foo.el and then putting something
like this into /etc/emacs/site-start.d/50foo-package.el:
# The following line will run the default package initialization
or perhaps the more fine grained:
# Admin: comment out the following lines if you want to override
# these directives
# site-wide loading (controlled by debconf lookups?)
# favorite frob color
rlb @defaultvalue.org, @linuxdevel.com, and @debian.org
GPG=1C58 8B2C FB5E 3F64 EA5C 64AE 78FE E5FE F0CB A0AD