Hi,

I overlooked this bug report.  Sorry for slow response.

Yep, I need to take care this generated file and symlink issue.

Let me think.  

In the mean time, I just fixed more important issue of clean install problem.

Osamu

On Tue, 2023-12-19 at 17:18 +0100, Sven Joachim wrote:
> On 2023-12-18 22:57 +0100, Christoph Anton Mitterer wrote:
> 
> > Package: debian-reference
> > Version: 2.109
> > Severity: normal
> > 
> > 
> > Hey.
> > 
> > Something looks odd with the package’s files registration in Debian.
> > On upgrade from 2.108 to 2.109 I got:
> > Unpacking debian-reference-common (2.109) over (2.108) ...
> > dpkg: warning: unable to delete old directory '/usr/share/debian-
> > reference/images': Directory not empty
> > Preparing to unpack .../01-debian-reference-en_2.109_all.deb ...
> > Unpacking debian-reference-en (2.109) over (2.108) ...
> > dpkg: warning: unable to delete old directory '/usr/share/debian-reference':
> > Directory not empty
> > 
> > 
> > And indeed, none of these files seem to belong to a Debian package:
> > $ dpkg -S /usr/share/debian-reference/images/*
> > dpkg-query: no path found matching pattern /usr/share/debian-
> > reference/images/caution.png
> > dpkg-query: no path found matching pattern /usr/share/debian-
> > reference/images/home.png
> > dpkg-query: no path found matching pattern /usr/share/debian-
> > reference/images/important.png
> > dpkg-query: no path found matching pattern /usr/share/debian-
> > reference/images/next.png
> > dpkg-query: no path found matching pattern /usr/share/debian-
> > reference/images/note.png
> > dpkg-query: no path found matching pattern /usr/share/debian-
> > reference/images/prev.png
> > dpkg-query: no path found matching pattern /usr/share/debian-
> > reference/images/tip.png
> > dpkg-query: no path found matching pattern /usr/share/debian-
> > reference/images/up.gif
> > dpkg-query: no path found matching pattern /usr/share/debian-
> > reference/images/warning.png
> > $ dpkg -S /usr/share/debian-reference/*
> > dpkg-query: no path found matching pattern /usr/share/debian-
> > reference/apa.en.html
> > dpkg-query: no path found matching pattern /usr/share/debian-
> > reference/ch01.en.html
> > dpkg-query: no path found matching pattern /usr/share/debian-
> > reference/ch02.en.html
> > dpkg-query: no path found matching pattern /usr/share/debian-
> > reference/ch03.en.html
> > dpkg-query: no path found matching pattern /usr/share/debian-
> > reference/ch04.en.html
> > dpkg-query: no path found matching pattern /usr/share/debian-
> > reference/ch05.en.html
> > dpkg-query: no path found matching pattern /usr/share/debian-
> > reference/ch06.en.html
> > dpkg-query: no path found matching pattern /usr/share/debian-
> > reference/ch07.en.html
> > dpkg-query: no path found matching pattern /usr/share/debian-
> > reference/ch08.en.html
> > dpkg-query: no path found matching pattern /usr/share/debian-
> > reference/ch09.en.html
> > dpkg-query: no path found matching pattern /usr/share/debian-
> > reference/ch10.en.html
> > dpkg-query: no path found matching pattern /usr/share/debian-
> > reference/ch11.en.html
> > dpkg-query: no path found matching pattern /usr/share/debian-
> > reference/ch12.en.html
> > dpkg-query: no path found matching pattern /usr/share/debian-
> > reference/debian-reference.css
> > dpkg-query: no path found matching pattern /usr/share/debian-
> > reference/debian-reference.en.pdf
> > dpkg-query: no path found matching pattern /usr/share/debian-
> > reference/debian-reference.en.txt.gz
> > dpkg-query: no path found matching pattern /usr/share/debian-
> > reference/images
> > dpkg-query: no path found matching pattern /usr/share/debian-
> > reference/index.en.html
> > dpkg-query: no path found matching pattern /usr/share/debian-
> > reference/index.html
> > dpkg-query: no path found matching pattern /usr/share/debian-
> > reference/pr01.en.html
> > 
> > These files do however seem to exist in the package, though registered as:
> > $ grep /usr/share/doc/debian-reference-common/docs
> > /var/lib/dpkg/info/debian-reference-common.list
> > /usr/share/doc/debian-reference-common/docs
> > /usr/share/doc/debian-reference-common/docs/.htaccess
> > /usr/share/doc/debian-reference-common/docs/debian-reference.css
> > /usr/share/doc/debian-reference-common/docs/images
> > /usr/share/doc/debian-reference-common/docs/images/caution.png
> > /usr/share/doc/debian-reference-common/docs/images/home.png
> > /usr/share/doc/debian-reference-common/docs/images/important.png
> > /usr/share/doc/debian-reference-common/docs/images/next.png
> > /usr/share/doc/debian-reference-common/docs/images/note.png
> > /usr/share/doc/debian-reference-common/docs/images/prev.png
> > /usr/share/doc/debian-reference-common/docs/images/tip.png
> > /usr/share/doc/debian-reference-common/docs/images/up.gif
> > /usr/share/doc/debian-reference-common/docs/images/warning.png
> > /var/lib/dpkg/info$ grep /usr/share/doc/debian-reference-common/docs
> > /var/lib/dpkg/info/debian-reference-en.list
> > /usr/share/doc/debian-reference-common/docs
> > /usr/share/doc/debian-reference-common/docs/apa.en.html
> > /usr/share/doc/debian-reference-common/docs/ch01.en.html
> > /usr/share/doc/debian-reference-common/docs/ch02.en.html
> > /usr/share/doc/debian-reference-common/docs/ch03.en.html
> > /usr/share/doc/debian-reference-common/docs/ch04.en.html
> > /usr/share/doc/debian-reference-common/docs/ch05.en.html
> > /usr/share/doc/debian-reference-common/docs/ch06.en.html
> > /usr/share/doc/debian-reference-common/docs/ch07.en.html
> > /usr/share/doc/debian-reference-common/docs/ch08.en.html
> > /usr/share/doc/debian-reference-common/docs/ch09.en.html
> > /usr/share/doc/debian-reference-common/docs/ch10.en.html
> > /usr/share/doc/debian-reference-common/docs/ch11.en.html
> > /usr/share/doc/debian-reference-common/docs/ch12.en.html
> > /usr/share/doc/debian-reference-common/docs/debian-reference.en.pdf
> > /usr/share/doc/debian-reference-common/docs/debian-reference.en.txt.gz
> > /usr/share/doc/debian-reference-common/docs/index.en.html
> > /usr/share/doc/debian-reference-common/docs/pr01.en.html
> > 
> > That, in my case, is a symlink:
> > $ ls -al /usr/share/doc/debian-reference-common/docs
> > lrwxrwxrwx 1 root root 22 Dec 19  2013 /usr/share/doc/debian-reference-
> > common/docs -> ../../debian-reference
> > 
> > 
> > I'd blinly presume, that one this was indeed a symlink, but no longer is
> > and when the switch was made, no proper cleanup took place leaving now
> > all people that upgraded behind with that situation?
> > 
> > Any ideas what's going on here and how to clean up?
> 
> In debian-reference-common version 2.108 and earlier,
> /usr/share/doc/debian-reference-common/docs was a symlink, as you had
> noticed.  Version 2.109 switched it to a directory, but as mentioned
> in Policy[1] dpkg never replaces a symlink to a directory with a
> directory and rather leaves the existing state alone.
> 
> The solution is to use maintainer scripts to turn the symlink into a
> directory.  Please refer to dpkg-maintscript-helper(1) and
> dh_installdeb(1) how this is usually done.
> 
> Cheers,
>        Sven
> 
> 
> 1. https://www.debian.org/doc/debian-policy/ch-maintainerscripts.html#details-
> of-unpack-phase-of-installation-or-upgrade

Reply via email to