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

Reply via email to