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

Re: debhelper v2



On 2 May 1999, Karl M. Hegbloom wrote:

> >>>>> "Joey" == Joey Hess <joey@kitenet.net> writes:
> 
>     Joey> Edward Betts wrote:
> 
>     Joey> Ok, init.d script were a bad idea (I think that policy is
>     Joey> flawed, btw.  Policy allows in general for files in /etc to
>     Joey> not be registed as conffiles if you offer an interface to
>     Joey> allow modifications to them).
> 
>     Joey> A better example is using dh_installmodules to stick a
>     Joey> module fragment in /etc/modutils/, or using dh_installmenu
>     Joey> to stick a menu-method file in /etc/menu-methods/. In either
>     Joey> of these cases, policy allows the file to not be a conffile,
>     Joey> if you have an interface to let it be modified.
> 
>  So if you use that interface to make changes to that
>  /etc/modutils/blah file, an upgrade could blow them away?  It still
>  would need to be a conffile in that case.

No. Configuration files should either a) be a conffile, or b) not be
included in the package at all[1]. If policy allows otherwise, policy is
wrong, IMHO.

If a file is a conffile, scripts (and other programs) are not allowed to
modify it when a package[2] is installed, configured or removed.

If a file isn't included in a package, but is instead created when the
package is installed, the program that creates it must take care of not
overwriting it without warning. Also, it must be removed when the package
is purged, but not when the package is removed.

If a file is included in a package and isn't a conffile, it will be
overwritten without warning when the package is upgraded, even if the
sysadmin has changed the file. IMNSHO, there should be no such files under
/etc. A sysadmin should be allowed to expect that any changes made to
files under /etc can be preserved during package upgrades.

Remco

[1] A file not included in the .deb file can be created by the postinst
script, but you should take care of not surprising the sysadmin (by
overwriting his/her customised version of the config file) when the
package is upgraded. And it should be removed by the postrm script, but
only when the package is purged.

[2] Any package, not just the package owning the file.

-- 
rd1936: 10:40pm  up  6:35,  6 users,  load average: 1.46, 1.39, 1.39


Reply to: