bug-lilypond
[Top][All Lists]
Advanced

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

Re: /etc/profile.d/lilypond.sh is a bad idea


From: Mats Bengtsson
Subject: Re: /etc/profile.d/lilypond.sh is a bad idea
Date: Mon, 23 Feb 2004 14:33:18 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040113



Reuben Thomas wrote:
Yes, and separate scripts for xdvi, dvips, kdvi, gdvi, texi2dvi?  I
don't think that this is a good approach.


Need it be scripts? Can't you just make a system call with the TEXMF shell
variable prepended, i.e.

TEXMF=blah <program-and-args>

The problem is not the calls from within the lilypond script. The
problem is that a user may want to use any of these programs himself
on a file generated by lilypond or lilypond-book.

Perhaps best of all would simply be to install your stuff in TEXMF_LOCAL
(if it exists) and otherwise TEXMF. I'm happy to help with getting this
working if you think it's a good idea.

Is there a standardized procedure for this?


I don't know, and it doesn't look like it. tetex is pretty monolithic. In
this particular case the problem was that the location (in fact the very
existence) of TEXLOCAL changed as a result of going from Fedora packages
to ATRPMs packages. But the general principle of having it work across
lilypond and tetex upgrades still stands.

I think the best solution for the RPM is to store files directly in
/usr/share/texmf, and for user installs in a TEXLOCAL or TEXHOME tree.
lilypond.sh could remain as an option for those who wanted to install
everything under a lilypond directory.

In fact, this is the approach used in the Debian package, since the
Debian rules say you that the packages should avoid setting environment
variables to reduce the risk for interference between packages.
The problem, as you have noted is that there is no simple way to write
an automatic installation command that can handle all these different
situations. Furthermore, there may be situations where a user has an
older version of LilyPond installed in /usr/{bin,share} and he wants to
install a newer version in a local directory. With the current solution
it is simple to assure that the correct version is found first but we
can not know how people have set up their TEXLOCAL or TEXHOME or
whatever. Finally, in a standard teTeX installation, there is no
TEXLOCAL or TEXHOME. If you have one, it's because your Linux
distribution or some local system admin has set it up this way.

I welcome all proposals for better solutions, but at the moment, setting
TEXMF to add an additional TEXMF tree for LilyPond is the cleanest
solution I know of. Also, since we introduced it some years ago, there
have been surprisingly few problems related to the TeX setup on the
mailing list. Earlier, we used to set TEXINPUTS, MFINPUTS, ...
separately and we had lots of trouble with users where it didn't
work on their perticular system.

    /Mats




reply via email to

[Prev in Thread] Current Thread [Next in Thread]