Ferenc Wágner:
> On Sun, 09 Oct 2016 08:06:00 +0000 Niels Thykier <ni...@thykier.net> wrote:
> 
>> I will have a look at fixing the debhelper side of this, so it becomes
>> less magic.  As it is, I cannot quite grok the proposed solution in
>> dh-exec - which I am pretty sure is no fault of dh-exec itself, but
>> rather an artefact of the entire --fail-missing interface.
> 
> Hi Niels,
> 
> Could you please update this bug with the current best practices or
> plans in light of dh_missing or other advances?
> 

What I can say is that dh_missing exists and is ready to be tested.
Whether it can be used to fix the dh-exec interaction is not entirely
clear to me, but perhaps we can figure that out in this bug now.

The new interface is that:

 * dh_install records what it installs where for all packages (even
   packages not acted on to support -a/-i builds)

 * dh_missing checks the logs from dh_install (among other) and compares
   it with what is present in d/tmp (--sourcedir).
   - dh_missing also responds to d/not-installed and --exclude, which
     can also be used to control what is important to install and what
     is not.

 * If all files in d/tmp are recorded (or excluded), everything is
   presumed to be fine.

 * Caveat: Files can be processed twice!  For packages that do a
   separate -i and -a run under a regular build, the config files will
   be processed twice as dh_install cannot know that the other call will
   happen.

In summary:

 * If dh-exec ensures that all files are properly recorded (even for
   packages that are not acted on) then we are good.
   - this applies to more helpers now as e.g. dh_installman also records
     what files are installed.

 * For packages not acted on, dh_install (et al) will just record the
   file as being installed, but won't actually do anything.
   - For renames, this means that dh-exec can probably just list the
     original source file without doing the rename in the "no-act"
     case.

Future work/known issues:

 * For things that do multiple builds, dh_missing has some problems.
   These are reportedly solvable with the buildlabels prototype in
   experimental.

Thanks,
~Niels

Reply via email to