Public bug reported:

The symlinks(8) programs breaks lsb_release program.  It appears
symlinks uses PWD or CWD when resolving relative targets, and it deletes
otherwise good links.  For example, the lsb-release package uses this:

$ ls -Al /usr/lib/python3/dist-packages/lsb_release.py
lrwxrwxrwx 1 root root 38 Mar 24  2022 
/usr/lib/python3/dist-packages/lsb_release.py -> 
../../../share/pyshared/lsb_release.py
$ ls /usr/share/pyshared/lsb_release.py 
/usr/share/pyshared/lsb_release.py

symlinks does not evaluate '../../../share/pyshared/lsb_release.py'
properly, so the symlinks program deletes '/usr/lib/python3/dist-
packages/lsb_release.py'.  In turn, the removal breaks `lsb_release -a`
and friends.

When running a diff of outputs before/after running symlinks, it shows
the break:

$ diff symlinks.1.txt symlinks.2.txt 
3637d3636
< relative: /usr/lib/python2.7/dist-packages/lsb_release.py -> 
../../../share/pyshared/lsb_release.py
7345d7343
< relative: /usr/lib/python3/dist-packages/lsb_release.py -> 
../../../share/pyshared/lsb_release.py

A second problem with symlinks(8) is, the documentation says the program
deletes dangling links.  dangling links are listed as 'dangling'.  The
man page does not say the program deletes links that are listed as
'relative'.

Also see <https://lists.ubuntu.com/archives/ubuntu-
users/2025-December/315418.html> on the ubuntu-users mailing list.

** Affects: symlinks (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2136999

Title:
  symlinks(8) breaks lsb_release

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/symlinks/+bug/2136999/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to