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

Re: Upgrade procedure for tetex

'Christian Leutloff wrote:'
>Chris Fearnley <cjf@netaxs.com> writes:
>> release of our next "stable".  The old TeX though buggy, at least
>> installs properly with dselect.
>oops, most people want to have a *working* system not a system that
>*installs* pretty!! And the old TeX needs a *lot* fixing, regarding
>Postscript etc., it's much more difficult to fix for a newbie than an
>boiling out dpkg. And only more experienced users (using buzz/rex) are
>attacked with the tex to tetex conversation! So PLEASE let tetex in
>Debian 1.3!

I wouldn't pretend to know what *most* people want.  But I want an
easily upgradeable system.

If the consensus is to put tetex in 1.3, then we need to solve the

The tetex packaging is totally unacceptable (I finally looked at it).
There are several principles the developer overlooked.  The big
problem is that Conflicts and Replaces are used incorrectly.  I don't
have time to think this through carefully but here are some basic
suggestions to get the package working:

 Conflicts: mfnfss, babel, textfm, texidoc
 Replaces:  bibtex, mfnfss, texpsfnt, texinfo, texidoc, mfbasfnt, xdvik,
            dvipsk, latex, babel, texlib, mflib, textfm, kpathsea
 Provides:  texpsfnt, mfbasfnt, mfnfss, babel, texlib, textfm

 Conflicts: bibtex, xdvik, dvipsk, texinfo, makeindex, ps2pk, texi2html
 Replaces:  bibtex, xdvik, dvipsk, texbin, texinfo, mflib, kpathsea,
            makeindex, ps2pk, latex, texi2html
 Provides:  bibtex, xdvik, dvipsk, texbin, mflib, kpathsea, ps2pk,
            latex, texi2html

That should fix those two.  Though there will still be problems.
Gettting the dependencies and replaces and provides right is imperative
yet difficult.  One thing I didn't check is if it's possible to break
old packages (like bibtool which depends on bibtex which is replaced
completely by the new tetex.  And will any of the detritus from
incompletely replaced packages cause problems.

My strategy was:
  if package is depended on my many packages, be conservative and
don't conflict with said package (merely replace and provide).
  if package is partially replaced by tetex-base, save the conflicts
and provides lines for tetex-bin.

I skipped several provides some of which /may/ be necessary.  If the
package isn't depended upon by anything in Available, then it doesn't
need to have provides.  Everything else absolutely needs to have
provides (this is the biggest bug with the current packaging).

A quick look showed these problems as well:

- Why does tetex-dev "Conflicts: kpathsea-dev" and "Replaces:
kpathsea-dev"?  I don't have a kpathsea-dev anywhere.

- Why does tetex-doc " Conflicts: latex2e-doc" and "Replaces:
latex2e-doc"?  They seem to have no files in common.

Finally, I dislike the "non-conceptual" names of the packages.  Why
can't tetex-base and tetex-bin be merged into one package?  When would
I need to install tetex-dev?  Etc,

I now believe the problem is solvable.  The problem with the packages
is less a problem with dpkg than with the tetex maintainer trying to
make dpkg into something it isn't.  

But it's going to take a lot of work to fix.  I still think it's
prudent to hold off until the next release.

Brutal experience has taught that major changes to packages need time
to sort out.  And we don't have enough time before the next release
(at least I don't have enough time to debug several failed

Christopher J. Fearnley            |    Linux/Internet Consulting
cjf@netaxs.com, cjf@onit.net       |    UNIX SIG Leader at PACS
http://www.netaxs.com/~cjf         |    (Philadelphia Area Computer Society)
ftp://ftp.netaxs.com/people/cjf    |    Design Science Revolutionary
"Dare to be Naive" -- Bucky Fuller |    Explorer in Universe

Reply to: