On 21/03/2021 18.59, wf...@niif.hu wrote:
wf...@niif.hu writes:

Andreas Beckmann <a...@debian.org> writes:

According to policy 7.2 you cannot rely on the depends being available
during purge, only the essential packages are available for sure.

I can't see coturn rely on any of its dependencies during purge, do you?

Hi Andreas,

Have you got anything to add here?

No. In the past, a common error causing failure to purge was unconditionally using some command provided by the package dependencies and the template was coined for that. (We even have more specific templates for unconditional ucf and adduser usage, not needed for years.)

(this was observed in a piuparts nodocs test)

Could you please explain to me what a "nodocs" test is?

I read through the Salsa repo, I get it now.

Since the postinst creates /var/lib/turn/turndb if it doesn't exist,
I've got no idea how /var/lib/turn can be missing during purge.

Now I understand: it's created only if the needed schema file is
present.  Unfortunately it's used from under /usr/share/doc.  I'll
upload a fix shortly.

That's something I haven't come across so far ;-) (Conditional usage of /usr/share/doc content in postinst, unconditional usage of the generated side effect in postrm purge.) Please move the bits needed by the package out of /usr/share/doc/$pkg to /usr/share/$pkg and use it from there.

Andreas

PS: for your reference, this is the template we use for packages failing to access /usr/share/doc content in nodocs tests:

To: sub...@bugs.debian.org
Subject: postinst uses /usr/share/doc content (Policy 12.3):

Package:
Version:
Severity: serious
User: debian...@lists.debian.org
Usertags: piuparts

Hi,

a test with piuparts revealed that your package uses files from
/usr/share/doc in its maintainer scripts which is a violation of
Policy 12.3: "Packages must not require the existence of any files in
/usr/share/doc/ in order to function."
https://www.debian.org/doc/debian-policy/ch-docs.html#additional-documentation

These files must be moved to /usr/share/$PACKAGE and may be symlinked
from /usr/share/doc/$PACKAGE.

This piuparts test prevents the installation of (most) files into
/usr/share/doc with 'dpkg --path-exclude=...'.

From the attached log (scroll to the bottom...):



Cheers,

Reply via email to