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