Rechercher une page de manuel

Chercher une autre page de manuel:


Langue: en

Version: 2010-06-11 (ubuntu - 24/10/10)

Section: 1 (Commandes utilisateur)


dh_config_model_upgrade - add Config::Model based configuration merge


  dh_config_model_upgrade [ debhelper options ] [ --model_name xx ] \
   [ --model_package xx [ --model_version yy ] ] \
   [ --edit_option "..." ] [ -p pkg ]


dh_config_model_upgrade is experimental

dh_config_model_upgrade is a debhelper that will modify the package script to perform configuration merge on package upgrade. This merge is based on config-edit from Config::Model.

Model information can be specified by command options or a configuration file: "debian/foo.config-model"

A Model must be either :

Delivered in the package in "debian/config-model/models/" directory
Provided by another package


For this program to work, package maintainer must ensure that:
ensure that *.postinst and *.config have a #DEBHELPER# line (if these files exist)
ensure that control file has a dependency on ${misc:Depends}


--model_name XX

Specifies the model name (a la "Config::Model") that will be used to perform the upgrade. Without this information, "dh_config_model_upgrade" will do nothing. (shortcut "--mn")

--model_for xx yy

Specifies the package to act upon. Without this option, "dh_config_model_upgrade" will do nothing. To specify several packages, list the packages between quotes. (shortcut "--mf")

--model_package XX

Specifies the debian package that provide the model specified bu "-model_name". (shortcut "--mp")

--model_version YY

Specifies the minimal version of the package that provides the model. (shortcut "--mv")

--edit_option ...

Specify a list of options or command that will be passed verbatim to config-edit during upgrade. Be sure to use quotes.


debhelper option to specify which package(s) to act on.


"dh_config_model_upgrade" can be used with only command line options. For instance
  dh_config_model_upgrade --model_name Sshd  -p openssh-server \
            --model_package lib-config-model-openssh-perl --model_version 1.206

Alternatively, you can specify relevant information in configuration files. For instance:

  $ cat debian/openssh-server.config-model
  model_name: Sshd
  model_package: lib-config-model-openssh-perl
  model_version: 1.206
  $ cat debian/openssh-client.config-model
  model_name: Ssh
  model_package: lib-config-model-openssh-perl
  model_version: 1.206

In this case, "dh_config_model_upgrade" will be invoked this way


If the model are delivered within the package, you will have to specify them in xx.install file.

Here's a example based on "approx" package where the model file and the parser/writer are delivered in approx package.

Debian dir contains:


"debian/approx.install" contains:

   debian/config-model/ usr/share/perl5/Config/Model
   debian/config-model/models/ usr/share/perl5/Config/Model/models

dh_config_model_upgrade is invoked as :

   dh_config_model_upgrade -model_name Approx

debian files setup

"dh_config_model_upgrade" will work if:
"control" file contains a "S{misc:Depends}" variable in "Depends" line
"rules" contains a "#DEBHELPER#" line to insert generated postinst snippet


"dh_config_model_upgrade" can be called in the rules file via the dh command (no options are possible, you will have to specify "debian/*.config_model" files):
    dh --with config_model

Or directly at the start of the build with

    dh_config_model_upgrade -model_name FooBar

Here's an example to avoid using Augeas when upgrading

    dh_config_model_upgrade -model_name Sshd -edit_option "-backend custom"


Using options with a single dash (e.g. "-model_name" instead of "--model_name") will lead to ""Unknown option"" errors.


This program will exit(0) if "DH_NO_ACT" is set or if "DEB_BUILD_OPTIONS" contains "noconfigmodel".



This program is an addendum to debhelper (part of libconfig-model-perl).


Dominique Dumont <>
C'est par accident que celui qui creuse la fosse trouve un trésor car
l'un de ces faits n'est ni la conséquence de l'autre, et il n'est pas
constant qu'en plantant un arbre on trouve un trésor.
-+- Aristote, Métaphysique Delta, 30 -+-