[Pkg-cups-devel] Bug#774918: Fwd: Re: Bug#776072: dpkg-maintscript-helper dir_to_symlink explodes on subtree in cups-pdf package

Andreas Beckmann anbe at debian.org
Fri Jan 23 16:14:28 UTC 2015




-------- Forwarded Message --------
Subject: Re: Bug#776072: dpkg-maintscript-helper dir_to_symlink explodes
on subtree in cups-pdf package
Date: Fri, 23 Jan 2015 17:12:17 +0100
From: Guillem Jover <guillem at debian.org>
To: Andreas Beckmann <anbe at debian.org>, 776072-done at bugs.debian.org

Hi!

On Fri, 2015-01-23 at 16:44:53 +0100, Andreas Beckmann wrote:
> Package: dpkg
> Version: 1.17.23
> Severity: serious
> Control: block 774918 by -1

I don't think this is a bug in dpkg, see below.

> cups-pdf recently switched to dir_to_symlink which explodes for whatever
> reason (the cups-pdf bug is #774918):
> 
>   Selecting previously unselected package printer-driver-cups-pdf.
>   Preparing to unpack .../printer-driver-cups-pdf_2.6.1-14.1_amd64.deb ...
>   Unpacking printer-driver-cups-pdf (2.6.1-14.1) ...
>   Replacing files in old package cups-pdf (2.6.1-6) ...
>   Preparing to unpack .../cups-pdf_2.6.1-14.1_all.deb ...
>   dpkg-query: no packages found matching cups-pdf:all
>   dpkg-query: package 'cups-pdf' is not installed
>   Use dpkg --info (= dpkg-deb --info) to examine archive files,
>   and dpkg --contents (= dpkg-deb --contents) to list their contents.
[…]
>   dpkg-maintscript-helper: error: directory '/usr/share/doc/cups-pdf' contains files not owned by package cups-pdf:all, cannot switch to symlink
>   dpkg: error processing archive /var/cache/apt/archives/cups-pdf_2.6.1-14.1_all.deb (--unpack):
>    subprocess new pre-installation script returned error exit status 1
>   Preparing to unpack .../libreadline5_5.2+dfsg-2_amd64.deb ...
>   Unpacking libreadline5:amd64 (5.2+dfsg-2) over (5.2+dfsg-2~deb7u1) ...
>   Preparing to unpack .../libpam-runtime_1.1.8-3.1_all.deb ...
>   Unpacking libpam-runtime (1.1.8-3.1) over (1.1.3-7.1) ...
>   Errors were encountered while processing:
>    /var/cache/apt/archives/cups-pdf_2.6.1-14.1_all.deb

That's because the previous version (2.6.1-6) was an arch:any package,
so the dpkg-query on cups-pdf:all does not find it. This works as
expected, and a fix needs to be implemented in cups-pdf itsel to cope
with that.

> At this point we still have these files:
> 
> # dpkg -S $(find /usr/share/doc/cups-pdf)
[…]

Yes, if dpkg-maintscript-helper cannot do its job it will abort.

> and the preinst looks like this:
> 
> #!/bin/sh
> set -e
> # Automatically added by dh_installdeb
> dpkg-maintscript-helper dir_to_symlink /usr/share/doc/cups-pdf /usr/share/doc/printer-driver-cups-pdf -- "$@"
> # End automatically added section

This needs to be passed the correct arch-qualified package name (either
:<arch> or :all) for the previous package. Thus closing. But feel free
to reopen if I missed something else.

Thanks,
Guillem



More information about the Pkg-cups-devel mailing list