Control: -1 severity important Control: -1 retitle [fontconfig-config] Removed symlinks in /etc/fonts/conf.d get recreated when the opposite link doesn't exist either
Hi, > This is what I do: > # rm /etc/fonts/conf.d/70-no-bitmaps.conf So, what is happening is that this is not a supported operation with the current scripts. Ths is where the data is read from the current state: ==== debian/fontconfig-config.config ==== enable_bitmaps="dunno" yes_bitmaps_2_3="30-debconf-yes-bitmaps.conf" yes_bitmaps_2_4="70-yes-bitmaps.conf" no_bitmaps_2_3="30-debconf-no-bitmaps.conf" no_bitmaps_2_4="70-no-bitmaps.conf" if [ -h $CONFDIR/$yes_bitmaps_2_4 -o -h $CONFDIR/$yes_bitmaps_2_3 ]; then enable_bitmaps="true" fi if [ -h $CONFDIR/$no_bitmaps_2_4 -o -h $CONFDIR/$no_bitmaps_2_3 ]; then enable_bitmaps="false" fi # Versions prior to 2.6.0-2 are broken and leave us with no symbolic # link, so we have to re-ask the user his choice :( if [ "$enable_bitmaps" = "dunno" ]; then db_fset fontconfig/enable_bitmaps seen false enable_bitmaps="false" fi db_set fontconfig/enable_bitmaps "$enable_bitmaps" ==== end snippet ==== And this is where it's applied: ==== debian/fontconfig-config.postinst ==== db_get fontconfig/enable_bitmaps enable_bitmaps="$RET" yes_bitmaps="70-yes-bitmaps.conf" no_bitmaps="70-no-bitmaps.conf" if [ -h $CONFDIR/$yes_bitmaps ]; then rm $CONFDIR/$yes_bitmaps fi if [ -h $CONFDIR/$no_bitmaps ]; then rm $CONFDIR/$no_bitmaps fi case "$enable_bitmaps" in "true") ln -s $CONFAVAIL/$yes_bitmaps $CONFDIR/$yes_bitmaps ;; *) ln -s $CONFAVAIL/$no_bitmaps $CONFDIR/$no_bitmaps ;; esac ==== end snippet ==== So, as you can see, it either creates the yes symlink or the no symlink. When you remove the no symlink without creating the yes symlink, you end up in an inconsistent state. This is the same situation for the other two debconf questions, if you remove the symlinks instead of creating the opposite one, you end up in an inconsistent state. This means a very bad user experience, but I'm not convinced that this is a grave bug, it's actually doing the "right" thing in reading the links that exist and not using debconf as a registry. It's just that you need to create the "yes" symlink instead of just removing the "no" symlink. Imagine that instead of symlinks this would be a conf file with a field in it, say "enable_bitmaps", and you can either set it to true or false, but you go and set it to an empty string. This would be an inconsistent state and it would be acceptable for the field to be re-filled to turn into a consistent state again. The solution to your problem is to either run dpkg-reconfigure fontconfig-config and answer the bitmap question with yes, or manually create the yes file. The solution to this bug is much more complex, as it would require somehow signalling from the .config to the .postinst script that the user is in an inconsistent state and that state shouldn't be corrected. -- Regards, Marga -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org