Provided by: libconfig-model-perl_2.005-1_all bug


       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

       Model information can be specified by command options or a configuration file:

       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

   --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

       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



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


       Dominique Dumont <>