Re: RFC Debian package upgrade with Config::Model
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Mon, May 04, 2009 at 05:45:03PM +0200, Dominique Dumont wrote:
>Jonas Smedegaard <dr@jones.dk> writes:
>
>>>I can either:
>>>- tweak config-edit so that temp files for upgrades are stored in
>>> /var/lib/config-model, something like:
>>> config-edit -save_for_upgrade # creates temp file
>>> config-edit -upgrade # use previous temp file
>>>- arrange for the dh-upgrader script to store temp files in
>>> /var/lib/config-model
>>>
>>>First option is probably the best as it would be valid across distros.
>>
>> Is it sane to use /var/lib/config-model across distros?
>
>I'd say yes. OS havings config files in /etc are mostly Unix. Almost
>all unixes follow FHS [1].
I am not sure I understand your logic.
Do you consider it ok _always_ use /var/lib/config-model and _not_ offer
the alternative of using an extension, and that the reason it is ok is
that we only want the tool to support Unix-like systems?
As I see it, there are multiple tools here:
* config-* invoked when config files are manipulated
* dh_config invoked at package build time
I believe it makes sense for config-* scripts to be flexible, and work
even for DOS or other odd systems if possible.
I consider dh_config a Debian-specific tool, which we need not care to
ensure working outside Debian (but we can off course do so if
anyoneprovides patches).
As I see it, the question is if config-* should lookup a chain of config
places that might instruct the tool to switch behaviour, or only use
commandline options. And if dh_config should produce packaging script
snippets with hardcoded options or leave it out to allow overriding on
the system level.
Or more concretely I imagine...:
* "libconfig-model-perl" extended with binary package "config-utils":
+ contains /usr/bin/config-*
+ asks (priority medium) how to store (default: below /var/lib)
* "config-utils-dev" created with binary package "config-utils-dev":
+ contains /usr/bin/dh_config
+ contains /usr/share/cdbs/1/rules/config-common.mk
>> Hey - is it even sane to assume that the tool is (only) a distro tool?
>
>On Debian, config-model could also be used to upgrade user config files
>(in ~/.foo directories). The only hitch is that the
>custom-data-saved-with-old-model part cannot be done.
Yes.
See ikiwiki package for an example of how to support automated
user-level configfile updates during package update (it can't be default
- - local admin must enable this feature, I believe, as it breaks the
assumption of packaging scripts never manipulating user data).
>> I imagine providing the distro routines completely separate from the
>> Config::Model libraries, to encourage alternative uses of the tool.
>> Even as a separate source package. As such, it makes better sense to
>> me to provide a debhelper script. How about calling it dh_config?
>
>Why not ? The actual name may depend on what we want to achieve, like
>upgrading config or installing a new config file ?
Ah, I realize now that it is not either or, but both - see above :-)
- Jonas
- --
* Jonas Smedegaard - idealist og Internet-arkitekt
* Tlf.: +45 40843136 Website: http://dr.jones.dk/
[x] quote me freely [ ] ask before reusing [ ] keep private
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iEYEARECAAYFAkn//K4ACgkQn7DbMsAkQLikwwCfXfToibcZjYVgph4r8rWqQeKp
h6YAn0HgXOMCHctZEf4CmchMjc/p+hI7
=O3E2
-----END PGP SIGNATURE-----
Reply to: