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

Re: Patching a config file

On Sun, Oct 30, 2005 at 06:00:48PM +0100, Danai SAE-HAN wrote:
> Package "freetype1-tools" owns a configuration file, namely
> /etc/ttf2pk/ttfonts.map.
It is a conffile, because it is contained in the package:

  $ zgrep freetype1-tools
  /var/cache/apt/ftp.us.debian.org_debian_dists_sid_Contents-i386.gz |grep etc
  etc/ttf2pk/ttfonts.map utils/freetype1-tools

>   This file contains a few entries for different fonts.  I am in the
> process of creating a few font packages to be used with LaTeX and
> CJK4.6.0, and would like each package to add/remove any necessary
> lines automatically to this configuration file.
Its a conffile, so you cannot presently do that (no package may modify
a given packages conffile, even that package itself).

>   Would you suggest a solution with *.d/ directories and update-*
> commands?
Maybe; I would ask the maintainer of the package, Anthony Fok
<foka@debian.org>, who, I seem to recall, is MIA *sigh*.

> Wouldn't it be a bit overkill for such a small package?
Your package cannot implement the update mechanism .. it must be
provided by freetype1-tools, otherwise its just another layer of
indirection between the modifications..

> Or should I use "maintainer scripts" like in chapter 6 of the Debian
> Policy?
The alternative to a "configuration file which is a conffile" is a
"configuration file which is not a conffile".  Such a configuration
file is created (indeed, "maintained") by maintscripts, typically in
postinst.  The package which "owns" the file *might* provide an
"/usr/bin/update-foo" command, to allow other packages to modify it in
a canonical way.  The package might, instead, implement a *.d/
mechanism to allow similar things.

> And could someone suggest a good small source package as an
> example?
I will suggest
  grep etc /var/lib/dpkg/info/*.{post,pre}{inst,rm}

which will give you plenty with which to play.

>   And would you regard this file as a "configuration file", or a
>   "conffile"?
A conffile is a configuration file which is provided by the package.
Typically, a conffile is a file included by a package in /etc/.  A
non-conffile configuration file is a file in /etc/ which is not
contained in any package (thus it is created by some maintscript

Clear skies,

Reply to: