<div dir="ltr">Package: pdns-recursor<div style>Severity: wishlist</div><div style><br></div><div style>Please add the hook script /usr/lib/resolvconf/dpkg-event.d/pdns-recursor.<br></div><div style><br></div><div style>The purpose this script is to cause pdns-recursor to take notice of<br>
</div><div>the installation or removal of the resolvconf package. If resolvconf</div><div>has just been installed while pdns-recursor is running, for example,</div><div>then pdns-recursor should register its local listening IP address with</div>
<div>resolvconf. (The pdns-recursor initscript already does the right thing</div><div>if pdns-recursor is started when resolvconf was already installed.)</div><div><br></div><div><div>See below for an excerpt from resolvconf's README file giving</div>
<div>general information about resolvconf packaging-event hook scripts.</div></div><div style>Please see the README file itself for much more background information.</div><div><br></div><div style><div>=== Excerpt from resolvconf README file ===<br>
</div><div><div><div>Any package, foo, that supports supplying information to resolvconf should</div><div>include a hook script /usr/lib/resolvconf/dpkg-event.d/foo which, when called</div><div>with the argument "install", takes whatever actions are necessary to cause the</div>
<div>program(s) in foo to supply their nameserver information to resolvconf; and</div><div>when called with the argument "remove" takes whatever actions are appropriate</div><div>given that the resolvconf package has been removed (and, in being removed, may</div>
<div>have removed foo's nameserver information).</div><div><br></div><div>The hook script thus has the following form.</div><div><br></div><div> #!/bin/sh</div><div> #</div><div> # /usr/lib/resolvconf/dpkg-event.d/foo</div>
<div> #</div><div> # The resolvconf dpkg-event hook script for the foo package</div><div> #</div><div> if foo_is_running ; then</div><div> if [ "$1" = "install" ] ; then</div><div> foo-ctrl send-nameserver-info-to-resolvconf</div>
<div> elif [ "$1" = "remove" ] ; then</div><div> ...</div><div> fi</div><div> fi</div></div></div><div><br></div><div><div>If foo is controlled by an initscript whose methods take appropriate actions</div>
<div>conditional upon resolvconf's presence then something like the following might</div><div>be appropriate.</div><div><br></div><div> force_reload_foo() {</div><div> if which invoke-rc.d >/dev/null 2>&1 ; then</div>
<div> invoke-rc.d foo force-reload</div><div> elif [ -x /etc/init.d/foo ] ; then</div><div> /etc/init.d/foo force-reload</div><div> fi</div><div> }</div><div> case "$1" in</div>
<div> install|remove) force_reload_foo ;;</div><div> esac</div><div><br></div><div>The hook script is called (with argument "install") from resolvconf's postinst</div><div>"configure" method and (with "remove") from resolvconf's postrm "remove"</div>
<div>method.</div><div><br></div><div>Foo's hook script is called with argument "install" if and only if foo is</div><div>fully installed both when resolvconf's preinst install runs and when its</div><div>
postinst configure runs. The hook script is called with argument "remove" if</div><div>and only if foo is fully installed when resolvconf's postrm remove runs.</div><div><br></div><div>The hook script must be owned by root and have its execute permission bit set</div>
<div>and must have the same name as the package that owns it.</div><div><br></div><div>Arguments other than "install" and "remove" are reserved for future use and</div><div>must be silently ignored.</div>
</div><div><br></div></div></div>