evince-common 3.4.0-0ubuntu1.4 installs 1810 broken symlinks under /usr in precise

Bug #1089549 reported by Rolf Leggewie
64
This bug affects 2 people
Affects Status Importance Assigned to Milestone
evince (Ubuntu)
Expired
Low
Unassigned

Bug Description

Some examples of dangling symlinks. The full list is in the attachment.

lrwxrwxrwx 1 root root 51 Sep 10 21:30 /usr/share/gnome/help/evince/it/duplex-5pages.page -> ../../../help-langpack/evince/it/duplex-5pages.page
lrwxrwxrwx 1 root root 46 Sep 10 21:30 /usr/share/gnome/help/evince/it/password.page -> ../../../help-langpack/evince/it/password.page
lrwxrwxrwx 1 root root 44 Sep 10 21:30 /usr/share/gnome/help/evince/it/reload.page -> ../../../help-langpack/evince/it/reload.page

Tags: precise
Revision history for this message
Rolf Leggewie (r0lf) wrote :
Revision history for this message
Sebastien Bacher (seb128) wrote :

Thank you for your bug report, do you have language-pack-gnome-it-base installed?

Changed in evince (Ubuntu):
importance: Undecided → Low
status: New → Incomplete
Revision history for this message
Rolf Leggewie (r0lf) wrote :

No, I don't. But as you can see from the attachment this does not only concern the Italian language or only the language packs after all.

Revision history for this message
Sebastien Bacher (seb128) wrote :

hum, what do you mean it doesn't after only the language packs? it seems to be and that's a feature, that's how we implemented the langpacks for help files, the original source ships symlink to the location where the language pack will provide the files. Is that creating any issue for you?

Revision history for this message
Sebastien Bacher (seb128) wrote :

ok, I dupped a few bugs and closed a few others one but I don't intend to try to play catchup on that spamming, please use that bug to discuss the issue before continuing to file new bugs...

Revision history for this message
Rolf Leggewie (r0lf) wrote :

I didn't say "it doesn't", but "I don't", obviously as a response to your question "do you have language-pack-gnome-it-base installed?"

About the symlinks. I have about 30.000 dangling symlinks. The symlinks should obviously be shipped in the packages that provide the file being pointed to. Having all those dangling symlinks makes an rgrep over /usr impossible because I get 30.000 messages about non-existent files. It looks like this problem is self-inflicted pain in Ubuntu. Debian doesn't seem to have done this mistake.

Revision history for this message
Rolf Leggewie (r0lf) wrote :

Maybe I misunderstood your reference of "it doesn't after only the language packs". Honestly, I can't really make heads or tails of that comment.

Lintian (and common sense IMVHO) seem to agree that having tens of thousands of dangling symlinks is NOT a feature but of course a bug: http://lintian.debian.org/tags/package-contains-broken-symlink.html

Revision history for this message
Sebastien Bacher (seb128) wrote :

Sorry for the reply which didn't make sense, I typed that quickly and to be frank rather annoyed after having to deal with the stack of bugs duplicates you filed for this issue...

> The symlinks should obviously be shipped in the packages that provide the file being pointed to.

if you have a good idea on how to implement that, feel free to share it ;-)

The issue there is that the language pack just collect translation files from rosetta, they have no knowledge of what the installation path should be, keeping all the sources in sync with a langpack would be lot of work. The advantage of the current system is that the process is simple and robust, we just replace files by symlinks during the build and then we do export those in a standard location for the language packs.

> It looks like this problem is self-inflicted pain in Ubuntu. Debian doesn't seem to have done this mistake.

Right, Debian doesn't have language-packs, they force you to generate all the locales that exist and to have translations for all those languages installed, eating some hundred megabytes of disk space and bandwith every time you do an update. The situation is a win for most users since there is no reason the symlink problem should be visible to a desktop user.

> your reference of "it doesn't after only the language packs".

sorry, wanted to refer to your statement "this does not only concern the Italian language or only the language packs after all." ... could you point in files in that list which are not shipped by the language packs?

Bottom line: yes, it's not a perfect solution, yes it's a but, yet it's the best we manage to come with to keep the system simple and robust. You are welcome to raise the issue on <email address hidden> if you think it requires discussion (not so many people will read and participate on an evince launchpad bug).

In practice you can probably filter out the noise by redirecting stderr so you don't have those errors in your log

Revision history for this message
Rolf Leggewie (r0lf) wrote :

Sebastien, thank you for the thorough explanation. At least I understand some of the background now. I will see if I can come up with some incredibly cool idea that everybody else overlooked so far ;-)

I've already done as you suggested and redirected stderr but of course that's more of a workaround. I'll redo the search for dangling symlinks, exclude those resulting for the language packs (hopefully) and file the remaining bugs.

I apologize for the noise and the unnecessary work for you, it wasn't apparent to me that most of them shared a common cause. In my defense, I'd like to point out that I had stopped after about 10 packages when there were about 80 left to go, waiting for confirmation which indeed I did receive (in other packages).

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for evince (Ubuntu) because there has been no activity for 60 days.]

Changed in evince (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.