Bug#356307: lintian: wrong error messages for broken symlinks
Michael Spang [EMAIL PROTECTED] writes: Package: lintian Version: 1.23.15 Severity: normal The following lintian error occured during the testing of a package I am preparing: E: firefox-greasemonkey: symlink-should-be-absolute usr/lib/firefox/extensions/{e4a8a97b-f2ed-450b-b12d-ee082ba24781} ../../../../share/mozilla-extensions/greasemonkey And, after making it absolute: E: firefox-greasemonkey: symlink-should-be-relative usr/lib/firefox/extensions/{e4a8a97b-f2ed-450b-b12d-ee082ba24781} /usr/share/mozilla-extensions/greasemonkey The first of these is obviously wrong. After further testing I realized that the symlink ascended one too many levels and was broken. Lintian erronously reported that a broken relative symlink (which should be relative) should be made absolute. It might be wise to add a broken symlink error or warning. I'm pretty sure lintian's behavior here is correct. That message isn't because the symlink is broken; it's because of exactly the problem that you discovered. It ascended one too many levels, which means that it was actually a symlink to: /share/mozilla-extensions/greasemonkey Since the symlink was in /usr and was pointing to a file in /share, it correctly triggered the lintian error about relative symlinks between top-level directories. When you changed it to an absolute symlink, you of course fixed where it was pointing to, and lintian then complained that it should be relative. The circumstances under which you arrived at the error ended up being rather confusing, but I think that lintian was always telling you the truth. lintian cannot in general warn about dangling symlinks since it's not uncommon to have the target of the symlink provided by another package (think development packages for shared libraries, for instance, but there are other cases). -- Russ Allbery ([EMAIL PROTECTED]) http://www.eyrie.org/~eagle/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#356307: lintian: wrong error messages for broken symlinks
Russ Allbery wrote: Michael Spang [EMAIL PROTECTED] writes: I'm pretty sure lintian's behavior here is correct. That message isn't because the symlink is broken; it's because of exactly the problem that you discovered. It ascended one too many levels, which means that it was actually a symlink to: /share/mozilla-extensions/greasemonkey Since the symlink was in /usr and was pointing to a file in /share, it correctly triggered the lintian error about relative symlinks between top-level directories. When you changed it to an absolute symlink, you of course fixed where it was pointing to, and lintian then complained that it should be relative. The circumstances under which you arrived at the error ended up being rather confusing, but I think that lintian was always telling you the truth. lintian cannot in general warn about dangling symlinks since it's not uncommon to have the target of the symlink provided by another package (think development packages for shared libraries, for instance, but there are other cases). Ah, that makes perfect sense. I'm not sure why I didn't realize this myself. Sorry for the noise. I guess you should close this report. ;-) Thanks! Michael Spang -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#356307: lintian: wrong error messages for broken symlinks
Package: lintian Version: 1.23.15 Severity: normal The following lintian error occured during the testing of a package I am preparing: E: firefox-greasemonkey: symlink-should-be-absolute usr/lib/firefox/extensions/{e4a8a97b-f2ed-450b-b12d-ee082ba24781} ../../../../share/mozilla-extensions/greasemonkey And, after making it absolute: E: firefox-greasemonkey: symlink-should-be-relative usr/lib/firefox/extensions/{e4a8a97b-f2ed-450b-b12d-ee082ba24781} /usr/share/mozilla-extensions/greasemonkey The first of these is obviously wrong. After further testing I realized that the symlink ascended one too many levels and was broken. Lintian erronously reported that a broken relative symlink (which should be relative) should be made absolute. It might be wise to add a broken symlink error or warning. Thanks! Michael Spang -- System Information: Debian Release: testing/unstable APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/dash Kernel: Linux 2.6.16-rc5-git3 Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1) Versions of packages lintian depends on: ii binutils 2.16.1cvs20060117-1 The GNU assembler, linker and bina ii diffstat 1.41-1 produces graph of changes introduc ii dpkg-dev 1.13.16 package building tools for Debian ii file 4.15-2 Determines file type using magic ii gettext 0.14.5-2GNU Internationalization utilities ii intltool-debian 0.34.1+20050828 Help i18n of RFC822 compliant conf ii libparse-debianchang 1.0-1 parse Debian changelogs and output ii man-db 2.4.3-3 The on-line manual pager ii perl [libdigest-md5- 5.8.8-2 Larry Wall's Practical Extraction lintian recommends no packages. -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]