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

Dropping the dependency on teTeX for Type 1 font packages



Hi,

As you may know, I have a request (#290001) to drop lmodern's
dependencies on tetex-base and tetex-bin. With teTeX 3, this becomes
easy (I think), because /etc/texmf/updmap.d/10lmodern.cfg can be a
conffile.

Well, easy but maybe not good enough: the need for the tetex-bin dep
arises from the calls to update-updmap, mktexlsr and updmap in postinst.

Note: there was a real need for tetex-base with the old updmap scheme;
this need is now gone but for the moment, I prefer keeping the
tetex-base dep as long as there is a tetex-bin one since it maximizes
the chances that the TeX system is correctly configured when lmodern is
itself configured, at no cost---tetex-bin depends on tetex-base and
there are no circular deps with lmodern.

Now, suppose I remove both dependencies. Testing whether the 3 scripts
are available before trying to execute them looks like a wrong approach
to me because they may be available and at the same time not working, if
tetex-bin is unpacked but not yet configured (for instance, mktexlsr
uses kpsewhich but I suppose that at such a time, we cannot assume
texmf.cnf has been generated).

Therefore, it seems the only possibility would be to call the scripts
with '|| true' appended. It should work[1] because if tetex-bin is
installed /after/ lmodern (which cannot be done currently), it will run
the 3 scripts, making the fonts available to TeX (if it is installed
before, everything happens as usual, of course). However, this approach
has the problem that it doesn't distinguish between "one of the 3
scripts failed because tetex-bin isn't configured yet" and "one of the 3
scripts failed because the user's TeX system is in a broken state".
Grmpf.

What do you think?


[1] Provided that the 3 scripts are those from teTeX 3... which we
    cannot ensure anymore through the dependencies!

    I see at least two solutions for this:

      (a) f=$(which updmap)
          su nobody -c "$f --version" >/dev/null 2>&1 || echo "teTeX 2"

      (b) I think that if $(which update-updmap) is executable and
          /var/lib/tex-common/fontmap-cfg is an existing directory, we
          can safely assume that the scripts don't come from teTeX <= 2.

-- 
Florent



Reply to: