On Tue, Jul 15, 2008 at 01:00:43AM +0800, jida...@jidanni.org wrote: > Indeed, defoma-reconfigure removes and recreates those dangling links > all over again. > > It should check that it doesn't make dangling symlinks. > > Anyway, whatever script it is reading is making those dangling symlinks.
Same thing happened to me. I got here after using cruft(8) on my Ubuntu system, and finding similar problems. find -L /var/lib/defoma/gs.d/ -type l -ls 679682 0 lrwxrwxrwx 1 root root 60 Nov 3 14:45 /var/lib/defoma/gs.d/dirs/fonts/ae_AlMothnna_bold.ttf -> /usr/share/fonts/truetype/ttf-arabeyes/ae_AlMothnna_bold.ttf 4679686 0 lrwxrwxrwx 1 root root 69 Nov 3 14:45 /var/lib/defoma/gs.d/dirs/fonts/AnjaliOldLipi-0.730.ttf -> /usr/share/fonts/truetype/ttf-malayalam-fonts/AnjaliOldLipi-0.730.ttf 4679687 0 lrwxrwxrwx 1 root root 54 Nov 3 14:45 /var/lib/defoma/gs.d/dirs/fonts/ae_AlYermok.ttf -> /usr/share/fonts/truetype/ttf-arabeyes/ae_AlYermok.ttf ... Defoma doesn't rebuild its info every time, it just adds/subtracts from what's registered in postrm/preinst. So probably defoma has some fonts registered that aren't in any installed packages anymore. I'm not surprised that this is the case for me, since my / and /usr got out of sync, so I effectively removed packages without running their prerm scripts. I had a disk failure in the past that took out my root filesystem, but not /usr. So after restoring /, my dpkg state files didn't match what was in /usr anymore, because my last backup of / was before a system upgrade. yeah, I'm lazy about backups. :( And instead of re-installing exactly the same versions of all the same packages, that my / knew about, I went ahead and upgraded/purged right from the old /, new /usr state, since debian packages are generally pretty robust, and I was prepared to sort out the mess. I maybe have been able to restore /var/lib/dpkg/status from a backup copy of just that one file. Can't remember, so maybe I didn't really skip the prerm scripts for the packages I purged instead of upgrading. I then did some package reinstalls until debsums -ac was happy. There were no serious problems after that, and I'm only now getting to the cosmetic stuff, like leftover files and broken symlinks that cruft found. defoma is the only thing I've come to that can't be fixed just by re-running /var/lib/dpkg/info/foo.postinst configure to rebuild things that I deleted after seeing them in the cruft report... If there's a bug here, it's the same bug as http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=487454 and should be titled "defoma's state management isn't robust". Debsums depends on packages adding/subtracting things from its state, rather than building a list of installed stuff from files that packages drop into a directory (maybe in /usr/share?). Being able to rebuild the state from files that can be checked with debsums would be much more robust. For user customization, another directory in /etc could be read, too. Now I'm going to go see if I can find what the master file is for all this, and weed out the lines that refer to files not on my system. -- #define X(x,y) x##y Peter Cordes ; e-mail: X(pe...@cor , des.ca) "The gods confound the man who first found out how to distinguish the hours! Confound him, too, who in this place set up a sundial, to cut and hack my day so wretchedly into small pieces!" -- Plautus, 200 BC -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org