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

Re: RFC: OpenRC as Init System for Debian

On Mon, Apr 30, 2012 at 02:44:42PM +0300, Uoti Urpala wrote:
> > Currently dpkg allows not only warnings about "some of the cases". It
> > always warns user when config file was changed in package and user edited
> > installed copy. And provides a a nice way to quickly take a look to
> > changes, choose which version to use or even start shell for resolving it
> > manually. So you just can't miss time when config should be edited at all.
> Wrong. Any program behavior change may require changing custom
> configuration, but such changes need not be accompanied by changes in
> the default configuration file. Currently dpkg lacks any mechanism to
> show warnings in these cases, even if the maintainers are aware of it.
> The only workaround would be to make dummy changes to the configuration
> files just to trigger the dpkg warnings, but this would cause other
> problems. Thus "can't miss at all" is false.

You are talking about changing "default" values, right? Other cases
("option do_foo starts doing something called bar instead" seems just like
bugs). But even for changing default, a lot of software with editable by
hands config files usually are shipped with well commented options and
commented out default value. Something like this (from dovecot.conf):

   # If you want to specify non-default ports or anything more complex,
   # edit conf.d/master.conf.
   #listen = *, ::
   # Base directory where to store runtime data.
   #base_dir = /var/run/dovecot/
   # Name of this instance. Used to prefix all Dovecot processes in ps
   # output.
   #instance_name = dovecot

So if upstream will decide to change default value, they will also update
configuration file and this will trigger dpkg handling of changed

> > With "etc-overrides-lib" it's not possible at all... 
> This is not true either. You could develop tools that work in this case.
> I think there is no fundamental reason why such tools couldn't work
> better than current dpkg behavior with equal effort. An easy starting
> point (requiring no per-package work at all) would be to show a warning
> if an updated package owns a directory under /etc, and that directory
> contains non-package-owned files. With some extra work, still no worse
> than what's required for current dpkg handling, you should be able to
> include information about changes to the corresponding default files (if
> any).

Yeah. I agree. It's _currently_ not possible at all. But again, it's
possible but introduce new issues complications for users.

By default Debian users are aware that files in /etc are supposed to be
edited by user (directly using editor or via special tool, like passwd can
be edited using useradd/userdel). So if you're using software for a first
time, you can just do "dpkg-query -L cooldaemon | grep /etc" to find out it's
configuration file, quickly edit it and that's all you need. In simple
cases where configuration files are full of comments, you even don't need
to open documentation.

Now compare this with "etc-overrides-lib" case. You're doing same
dpkg-query -L and it show nothing in /etc (or just empty directory if you
are lucky) and a lot of stuff pieces of which looks like a config in /lib,
/usr/lib, /usr/share or any other place. So you should carefully read
documentation to find out, is it possible at all to override such file,
and if yes, how an where to copy these them before editing.
-- WBR, Dmitry

Attachment: signature.asc
Description: Digital signature

Reply to: