[OS X TeX] /Library/TeX (was local vs. global symlink)
Jérome Laurens
jerome.laurens at u-bourgogne.fr
Wed Nov 29 09:54:29 CET 2006
Le 29 nov. 06 à 03:53, Charilaos Skiadas a écrit :
> On Nov 28, 2006, at 8:36 PM, Claus Gerhardt wrote:
>
>> In my home directory are 11 "folders" and nothing else. Two of the
>> folders are symlinks texmf and texprograms and I can't detect any
>> clutter or pollution by junk . I already encountered similar
>> reactions about the questions if one could place a symlink texmf
>> in ~/ as I did, but these reactions are very difficult to
>> understand - at least for someone like me.
>>
> The Apple Guidelines are very clear on this matter:
> http://developer.apple.com/documentation/MacOSX/Conceptual/
> BPFileSystem/Articles/WhereToPutFiles.html
>
> "It is important to remember that the user domain (/Users) is
> intended for files created by the user. With the exception of the ~/
> Library directory, your application should never install files into
> the user’s home directory. In particular, you should never install
> files into a user’s Documents directory or into the /Users/Shared
> directory. These directories should only be modified by the user."
>
> I like the idea of putting things under a ~/Library/TeX folder. I
> would perhaps suggest ~/Library/Application Support/TeX instead
> (http://developer.apple.com/documentation/MacOSX/Conceptual/
> BPFileSystem/Articles/LibraryDirectory.html).
Yes. Both are good.
In general Application Support should be used for one app in particular
for example TeXShop was expected to put its private stuff in .../
Library/Application Support/TeXShop
Of course, there is /Library/Safari, /Library/iTunes... that are not
in Application Support, but they are Apple's...
We can say that /Library/TeX can gather everything related to TeX,
including any distribution which does not depend on a specific
application.
Finally I would say that from a developper point of view, \Library/
TeX is better (shorter and space character free)
I assume that every /Library/TeX folder is reserved for TeX purpose,
for an open world, here is what it should look like
if it exists ~/Library/TeX/bin is a folder containing (links to)
executable (CLI or apps)
it seems a good name to gather general CLI programs related to TeX.
It satisfies the WhereToPutFiles requirements, it contains "TeX", it
contains "bin" like /usr/bin, /usr/local/bin...
if it exists ~/Library/TeX/bin/current-distribution is a link to a
folder containing (links to) executable (CLI or apps)
if it exists ~/Library/TeX/distribution is a folder containing
uniquely identified directories where installers are allowed to put
whatever they want.
if it exists ~/Library/TeX/distribution/unique_id/bin is a folder
containing (links to) executable (CLI or apps)
The same for the global domain:
if it exists /Library/TeX/bin is a folder containing (links to)
executable (CLI or apps)
if it exists /Library/TeX/bin/current-distribution is a link to a
folder containing (links to) executable (CLI or apps)
if it exists /Library/TeX/distribution is a folder containing
uniquely identified directories where installers are allowed to put
whatever they want.
if it exists /Library/TeX/distribution/unique_id/bin is a folder
containing (links to) executable (CLI or apps)
A TeX distribution installer should ask the user whether it should
install in the user domain (/Users/me) or in the local domain.
Then it whould put all its stuff in for example ???/Library/TeX/
distribution/TeXLive or whatsoever
then make an appropriate symlink to ???/Library/TeX/bin/current-
distribution
where ??? stands for /Users/me or nothing
A poor man switcher (like Claus TeX switcher) could just look what is
inside the /Library/TeX/distribution and make the appropriate links
A frontend would just have to search binaries in ~/Library/TeX/bin:~/
Library/TeX/bin/current-distribution:/Library/Tex/bin:/Library/TeX/
bin/current-distribution.
In no way the frontend should read any profile.
This is very easy to implement, but I do not know if textmate, alpha
X, textwrangler, would be smart enough to support that.
By the way, textmate just has to use /Library/TeX/bin/current-
distribution and it will work better than it works now,
in the sense that it will not be sensible to a change in the
distribution.
For the CLI, the PATH environment variable should contain
PATH="...blah:~/Library/TeX/bin:~/Library/TeX/bin/current-
distribution:/Library/Tex/bin:/Library/TeX/bin/current-
distribution:blah..."
such that when the terminal looks for a command, it searches for the
first occurrence in
1: ~/Library/TeX/bin
2: ~/Library/TeX/bin/current-distribution
3: /Library/Tex/bin
4: /Library/TeX/bin/current-distribution
This is an open design and average users won't see any difference.
The names are not really important here, only the overall design.
------------------------- Info --------------------------
Mac-TeX Website: http://www.esm.psu.edu/mac-tex/
& FAQ: http://latex.yauh.de/faq/
TeX FAQ: http://www.tex.ac.uk/faq
List Archive: http://tug.org/pipermail/macostex-archives/
More information about the macostex-archives
mailing list