<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 3, 2017 at 1:07 PM, Niels Thykier <span dir="ltr"><<a href="mailto:niels@thykier.net" target="_blank">niels@thykier.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Niels Thykier:<br>
<span class="gmail-">> Michael Stapelberg:<br>
>> On Sun, Mar 26, 2017 at 2:54 PM, Niels Thykier <<a href="mailto:niels@thykier.net">niels@thykier.net</a>> wrote:<br>
>><br>
>> [...]<br>
>><br>
</span><span class="gmail-">>> Great. Find attached an updated patch including documentation.<br>
>><br>
><br>
> Thanks.  I am a bit busy this week, so odds are I will not have time to<br>
> look at it until the weekend at the earliest.  Please ping me if you<br>
> have not heard from me on this by Tuesday.<br>
><br>
<br>
</span>Created a branch for it:<br>
<br>
<a href="https://anonscm.debian.org/git/debhelper/debhelper.git/log/?h=bug-415396-dh_missing" rel="noreferrer" target="_blank">https://anonscm.debian.org/<wbr>git/debhelper/debhelper.git/<wbr>log/?h=bug-415396-dh_missing</a></blockquote><div><br></div><div>Thanks a lot!</div><div><br></div><div>In turn, I created a branch in the freeradius packaging: <a href="https://anonscm.debian.org/cgit/pkg-freeradius/freeradius.git/log/?h=dh_missing">https://anonscm.debian.org/cgit/pkg-freeradius/freeradius.git/log/?h=dh_missing</a></div><div><br></div><div>Maybe I did the wrong changes (?), but when building, I get an error:</div><div><br></div><div>$ dpkg-buildpackage -b</div><div>[…]</div><div><div>dh_missing: etc/freeradius/3.0/mods-available/pam exists in debian/tmp but is not installed to anywhere</div><div>dh_missing: etc/freeradius/3.0/mods-available/sradutmp exists in debian/tmp but is not installed to anywhere</div><div>dh_missing: etc/freeradius/3.0/mods-available/idn exists in debian/tmp but is not installed to anywhere</div><div>dh_missing: etc/freeradius/3.0/mods-available/ntlm_auth exists in debian/tmp but is not installed to anywhere</div><div><span class="gmail-Apple-tab-span" style="white-space:pre"> </span>The following debhelper tools have reported what they installed</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">        </span> * dh_installman</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">       </span>If the missing files are installed by another tool, please file a bug against it</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">       </span>For a short-term work-around: Add the files to debian/not-installed</div><div>dh_missing: missing files, aborting</div><div>debian/rules:41: recipe for target 'override_dh_missing' failed</div></div><div><div>make[1]: *** [override_dh_missing] Error 255</div><div>make[1]: Leaving directory '/home/michael/d/pkg/freeradius'</div><div>debian/rules:86: recipe for target 'binary' failed</div><div>make: *** [binary] Error 2</div><div>dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2</div><div>dpkg-buildpackage -b Â 60,34s user 7,70s system 165% cpu 41,147 total</div></div><div><br></div><div>Can you reproduce the issue?</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
<br>
Review welcome.  Note that the "installed-by" files work differently<br>
than documented.  I have opted for keeping the behaviour and correcting<br>
the documentation.<br>
<span class="gmail-"><br>
> If you got time to spare and want to keep things moving, I got some<br>
> things I am considering to change:<br>
><br>
>  * Make log_installed_files use "basename($0)" rather than taking an<br>
>  Â  argument for the "helper name".  The actual file name is an<br>
>  Â  implementation-detail anyway, and tool writers do not benefit from<br>
>  Â  the addition complexity<br>
><br>
<br>
</span>Done.<br>
<span class="gmail-"><br>
>  * Make log_installed_files support being called multiple times from<br>
>  Â  the same helper to make it easier for tool writers.  Most of them<br>
>  Â  probably don't need to accumulate their set of installed/processed<br>
>  Â  files.  dh_install basically only does it because it was implementing<br>
>  Â  the "missing" feature AFAICT.<br>
><br>
<br>
</span>Done.  This will probably come in handby due to the next item and the<br>
following call pattern.<br>
<br>
 dh_install -ppkg foo bar<br>
 dh_install --remaining<br>
<span class="gmail-"><br>
> If you want to start on dh_installman (or other tools):<br>
><br>
>  * CAVEAT: The tools have to start acting on *all* packages but<br>
>  Â  "do nothing" for "uninteresting packages" like dh_install does.<br>
>  Â  Otherwise, the user will see "missing" entries when doing an<br>
>  Â  dpkg-buildpackage -B build (or -A).<br>
><br>
<br>
<br>
</span>Did a prototype for dh_installman, which seems to be working (with the<br>
above CAVEAT)<br>
<br>
NB: Due to how this is implemented, the "install-by" files will get<br>
duplicates when you do:<br>
<br>
  dh_install -a # first copy<br>
  dh_install -i # second copy<br>
<br>
It does not appear to be a problem atm., so I have left it at that.<br>
<span class="gmail-"><br>
> The debhelper API here is probably horribly lacking IRT making this<br>
> easy.  So far, it has only been done in dh_install, but it is a<br>
> necessity for this feature to work correctly (Especially with<br>
> --fail-missing).  Bonus points for improving that. :)<br>
><br>
<br>
</span>Still lacking.<br>
<span class="gmail-"><br>
>> Is there any large-scale testing that debhelper has, to confirm that my<br>
>> change doesn’t break things so far?<br>
>><br>
><br>
> No.  But I suppose we could do an upload to experimental and ask if<br>
> Lucas have time to do a mass-rebuild.<br>
><br>
> ~Niels<br>
><br>
<br>
</span>I might do the upload "soon" (before the release), but lets keep the<br>
mass-rebuild for post-freeze to avoid diverting peoples attention.<br>
<br>
Thanks,<br>
~Niels<br>
<br>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Best regards,<br>Michael</div>
</div></div>