On Son, 20 Mai 2007, Frank Küster wrote: > After upgrading from etch with tetex it is at its intended place.
Good. > After upgrading from etch with texlive it is not: Damend. > Preserving removal of /etc/texmf/xdvi/xdvi.cfg. Ok, now I remember that we discussed this once, but never fixed it. The problem is: in texlive-base-bin.preinst the following happens (more or less): # try to move tetex version check_move /etc/texmf/xdvi.cfg /etc/texmf/xdvi/xdvi.cfg $version -> . file /etc/texmf/xdvi.cfg is not readable . we upgrade from a previous version . thus we generate /etc/texmf/xdvi/xdvi.cfg.preinst-deleted # now the texlive version of the file check_move /etc/texmf/texlive/xdvi.cfg /etc/texmf/xdvi/xdvi.cfg $version -> scenario 1: file /etc/texmf/texlive/xdvi.cfg is readable but unchanged . remove unchanged config file /etc/texmf/texlive/xdvi.cfg scenario 2: file /etc/texmf/texlive/xdvi.cfg is changed . mv /etc/texmf/texlive/xdvi.cfg /etc/texmf/xdvi/xdvi.cfg.preinst-copy then we come to postinst ... -f /etc/texmf/xdvi/xdvi.cfg.preinst-deleted -> Preserving removal of $cfgfile -f /etc/texmf/xdvi/xdvi.cfg.preinst-copy scenario 1: NO -> do nothing, file disappeared !!! scenario 2: YES -> mv ... , file still present. So if you changed it in texlive, it is present If you didn't change it, it is gone. The solution is problematic because we cannot check whether we upgrade from a tetex version or a texlive version (both could be installed, removed (but not purged), reinstalled etc etc). So I suggest the following code instead of the one currently present in common-function.preinst: # for xdvi.cfg we first want to move tetex files, and later # texlives /etc/texmf/xdvi/xdvi.cfg) # here we have to care for the tetex version # we cannot use check_move because if it is not present # because tetex was never installed then a -preinst-deleted # will be created. So we do the same as check_move but a bit # different: # orig="/etc/texmf/xdvi.cfg" new="/etc/texmf/xdvi/xdvi.cfg" if [ -r "$orig" ] ; then mdorig=$(dpkg_md5sum "$orig") if [ $(md5sum "$orig" | cut -f 1 -d ' ') = "$mdorig" ] ; then rm "$orig" else mkdir -p $(dirname "$new") mv "$orig" "$new".preinst-copy fi else if [ -n "$version" ]; then # we are upgrading from texlive, so this does mean # that the tetex version was never installed or purged # don't create the preinst-delete, just do nothing : fi fi # now set the conf_oldpath to the texlive version conf_oldpath="/etc/texmf/texlive/xdvi.cfg" ;; esac check_move $conf_oldpath $cfgfile $version Best wishes Norbert ------------------------------------------------------------------------------- Dr. Norbert Preining <[EMAIL PROTECTED]> Università di Siena Debian Developer <[EMAIL PROTECTED]> Debian TeX Group gpg DSA: 0x09C5B094 fp: 14DF 2E6C 0307 BE6D AD76 A9C0 D2BF 4AA3 09C5 B094 ------------------------------------------------------------------------------- GOOLE (n.) The puddle on the bar into which the barman puts your change. --- Douglas Adams, The Meaning of Liff -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]