[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#382861: Updating Sarge teTeX to etch/sid TeX live ... help



Norbert Preining <preining@logic.at> wrote:

> Hi Frank!
>
> I didn't follow all the thread, so what is the current status? I think
> the one error that there is the 99local.cfg is fixed with the new
> tex-common. 

Yes, the problem with 99postinst.cfg is fixed with the new tex-common.
However, this is a leftover from the woody->sarge upgrade of tetex.

> Do I have to include somneting into the maintainer scripts of texlive
> now, the magic /usr/share/tex-common/update-from-tetex-function
> or is this now done in tex-common postinst?
>

There's still the fact that 00tetex.cnf will be lying around, without a
magic comment, when you dist-upgrade from sarge and switch to texlive at
the same time (e.g. using aptitude in interactive mode).  For its
handling, I wanted to provide the functions in the tetex-bin-upgrade
script in the tex-common package, but found out that this doesn't work
for tetex-bin: It has to start the handling already in preinst, where
tex-common is not guaranteed to be present.  Or rather, it does that at
the moment and I blindly assumed this has to be kept.  Therefore I
decided that it doesn't make sense to put the code in tex-common, when
tetex-bin needs a copy in its preinst anyway.

However, looking at it again, I don't see why it needs to be in preinst.
I know why it's there historically: When transitioning (renaming,
putting into an other package) conffiles with dpkg only, there's no way
around that.  However, with ucf, and ucf we use, all handling is done in
the postinst, not by dpkg, and there's no need for a preinst action.

So we could still upload a new version of tex-common with the code in
it, or duplicate it.  I still think tex-common would be better.  For
reference, I attach below the code from tetex-bin.

There's yet a different thing detected in this bug, texlive-base-bin's
missing dependency on ed.  But I think I've already fixed that in the
repository. 

Regards, Frank

preinst:

    # rename 00tetex.cnf to 01tetex.cnf
    if [ -f $ETCTEXMF/fmt.d/00tetex.cnf ]; then 
      if [ ! -f $ETCTEXMF/fmt.d/01tetex.cnf ]; then
	# not yet transitioned
	mv $ETCTEXMF/fmt.d/00tetex.cnf $ETCTEXMF/fmt.d/01tetex.cnf
      else
	# some older experimental version has installed the new file, but not 
	# transitioned the old one.
        # did texlive do anything about it?
	current_md5sum=`md5sum $ETCTEXMF/fmt.d/00tetex.cnf | cut -d ' ' -f 1`
	if [ "$current_md5sum" = "55811af3562faf342261dbc3b5e060a2" ]; then
	  rm $ETCTEXMF/fmt.d/00tetex.cnf
	else
	  # we do nothing; experimental users should be able to solve this
	  :
	fi
      fi
    fi

postinst:

#UCF="ucf --verbose -d --debconf-ok"
UCF="ucf --debconf-ok"


# Variables needed for upgrading
UCF_FILES=<:=$UCF_FILES:> # will be replaced by fmt.d/01tetex.cnf only
UCF_SOURCEDIR=/usr/share/tetex-bin

# upgrade from sarge:  fmtutil snippet renamed
    for name in $UCF_FILES; do
      filename=`basename $name`
      $UCF $UCF_SOURCEDIR/$filename /etc/texmf/$name
    done


-- 
Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX/TeXLive)



Reply to: