Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.bugs.dist > #1179227 > unrolled thread

Bug#1058960: dpkg: warning: unable to delete old directory '/usr/share/debian-reference': Directory not empty

Started byChristoph Anton Mitterer <calestyo@scientia.org>
First post2023-12-18 23:10 +0100
Last post2023-12-19 17:30 +0100
Articles 2 — 2 participants

Back to article view | Back to linux.debian.bugs.dist


Contents

  Bug#1058960: dpkg: warning: unable to delete old directory '/usr/share/debian-reference': Directory not empty Christoph Anton Mitterer <calestyo@scientia.org> - 2023-12-18 23:10 +0100
    Bug#1058960: dpkg: warning: unable to delete old directory '/usr/share/debian-reference': Directory not empty Sven Joachim <svenjoac@gmx.de> - 2023-12-19 17:30 +0100

#1179227 — Bug#1058960: dpkg: warning: unable to delete old directory '/usr/share/debian-reference': Directory not empty

FromChristoph Anton Mitterer <calestyo@scientia.org>
Date2023-12-18 23:10 +0100
SubjectBug#1058960: dpkg: warning: unable to delete old directory '/usr/share/debian-reference': Directory not empty
Message-ID<HMtYd-evgq-1@gated-at.bofh.it>
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?



Cheers,
Chris

-- System Information:
Debian Release: trixie/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.5.0-5-amd64 (SMP w/16 CPU threads; PREEMPT)
Locale: LANG=en_DE.UTF-8, LC_CTYPE=en_DE.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages debian-reference depends on:
ii  debian-reference-en  2.109

Versions of packages debian-reference recommends:
pn  debian-reference-de     <none>
pn  debian-reference-es     <none>
pn  debian-reference-fr     <none>
pn  debian-reference-id     <none>
pn  debian-reference-it     <none>
pn  debian-reference-ja     <none>
pn  debian-reference-pt     <none>
pn  debian-reference-zh-cn  <none>
pn  debian-reference-zh-tw  <none>

debian-reference suggests no packages.

-- no debconf information

[toc] | [next] | [standalone]


#1179338

FromSven Joachim <svenjoac@gmx.de>
Date2023-12-19 17:30 +0100
Message-ID<HML8J-eFH1-1@gated-at.bofh.it>
In reply to#1179227
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

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.bugs.dist


csiph-web