Re: [NTG-context] Dash equivalent of $BASH_SOURCE (for setuptex)
On 11/21/2012 8:28 PM, Peter Münster wrote: On Wed, Nov 21 2012, Mojca Miklavec wrote: But Peter's idea is also not that bad. The drawback is that the distribution cannot be moved to a different directory then, but one could also have combination of both approaches somehow. Is it worth the trouble to keep setuptex? Just saying Please add ... to your PATH should be enough IMO. I often use it. - Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl - ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___
Re: [NTG-context] Dash equivalent of $BASH_SOURCE (for setuptex)
On 11/22/2012 10:18 AM, Hans Hagen wrote: On 11/21/2012 8:28 PM, Peter Münster wrote: On Wed, Nov 21 2012, Mojca Miklavec wrote: But Peter's idea is also not that bad. The drawback is that the distribution cannot be moved to a different directory then, but one could also have combination of both approaches somehow. Is it worth the trouble to keep setuptex? Just saying Please add ... to your PATH should be enough IMO. I often use it. Me too, I have quite a bunch of scripts that are distributed to online servers that do not all have the same architecture. Best wishes, Taco ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___
Re: [NTG-context] Dash equivalent of $BASH_SOURCE (for setuptex)
On Thu, 22 Nov 2012 10:21:28 +0100 Taco Hoekwater t...@elvenkind.com wrote: On 11/22/2012 10:18 AM, Hans Hagen wrote: On 11/21/2012 8:28 PM, Peter Münster wrote: On Wed, Nov 21 2012, Mojca Miklavec wrote: But Peter's idea is also not that bad. The drawback is that the distribution cannot be moved to a different directory then, but one could also have combination of both approaches somehow. Is it worth the trouble to keep setuptex? Just saying Please add ... to your PATH should be enough IMO. I often use it. Me too, I have quite a bunch of scripts that are distributed to online servers that do not all have the same architecture. Sourcing setuptex (. pathtocontext/setuptex) will fail to find and thus modify the path under pure Borne shells and their equivalents. It will work just fine under bash, ksh (but sourcing the script will fail totally under csh and tcsh). Executing the script (pathtocontext/setuptex) should run correctly under all shells but will in all cases fail to set the path. My suggestion is simply to modify the message printed at the end: In the case of an execution rather than a sourcing, or in the case of sourcing under a Borne shell, the script could instruct the user to manually modify the path. In the other case, it could set the path. Alan ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___
Re: [NTG-context] Dash equivalent of $BASH_SOURCE (for setuptex)
Mojca, I'm not sure that I understand the question. 1. dash (Debian version of the real 100% posix-compatible Borne shell) but also /bin/sh on freebsd and other Unixes (BSD, sysV or POSIX). It is the least common denominator for shell scripts on most (if not all) unix-like systems, as far as I know. 2. $0 will give the the path of the script, unless it is called as ./script or script (in the current directory). In this case it will probably be ./script or by pathtoscript/script in which case it will return pathtoscript/script. The current directory can then be found by `pwd` or $PWD 3 Sourcing the script (not calling it as an executable) as source script or . script will return as $0 /bin/bash or /usr/local/bin/bash or /bin/sh or whatever shell is in use. This is your problem, I believe. There does not seem to be a way to determine the path to a script under a Borne shell if the script is SOURCED and not EXECUTED. Of course, a script that is executed runs a sub-shell and so this cannot be used to set variables, even environmental variables, for the calling shell. Alan On Wed, 21 Nov 2012 12:56:54 +0100 Mojca Miklavec mojca.miklavec.li...@gmail.com wrote: Hi everyone, Hans wrote me the following, but I'm unable to figure it out myself. The script setuptex (which is in fact not urgently needed as one can just as well export the right path, but it comes in handy) can be used in two ways: (a) . /path/to/context/tex/setuptex (b) . /path/to/context/tex/setuptex /path/to/context/tex The first approach only works if the shell interpreting setuptex knows where the sourced script is located. Currently the script uses the following code and works in Bash, KSH (and maybe some other shells as well, but I'm not sure which ones). if [ z$BASH_SOURCE != z ]; then SCRIPTPATH=$BASH_SOURCE elif [ z$KSH_VERSION != z ]; then SCRIPTPATH=${.sh.file} else SCRIPTPATH=$0 fi Hans had problems with Dash, however, I have no clue how to enable (a) in Dash. The (b) approach always works though, so in the worst case the answer to Hans would be provide the path to your tex root, or write your own script with hardcoded path ;), but if anyone has any clue if finding path to the executed script is possible in Dash or in any other POSIX-compatible way, please let me know. Mojca On Mon, Nov 19, 2012 at 10:31 AM, Hans Hagen wrote: Hi Mojca, One of the things you need to look into is the first-setup and setup tex scripts (just look at the dash issues thread) .. i have the impression that the setuptex script doesn't find its root (own) under dash because it has different $0 handling (dash is the debian variant of bash, so we're talking of debian installations) Hans ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___
Re: [NTG-context] Dash equivalent of $BASH_SOURCE (for setuptex)
On Wed, Nov 21 2012, Mojca Miklavec wrote: write your own script with hardcoded path ;) What about adding this line to the end of first-setup.sh: echo 'PATH=$PATH:'$CONTEXTROOT/texmf-$platform/bin'' $CONTEXTROOT/setuptex ? -- Peter ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___
Re: [NTG-context] Dash equivalent of $BASH_SOURCE (for setuptex)
On Wed, Nov 21, 2012 at 6:35 PM, Alan BRASLAU wrote: 3 Sourcing the script (not calling it as an executable) as source script or . script will return as $0 /bin/bash or /usr/local/bin/bash or /bin/sh or whatever shell is in use. This is your problem, I believe. True. But Peter's idea is also not that bad. The drawback is that the distribution cannot be moved to a different directory then, but one could also have combination of both approaches somehow. Mojca ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___
Re: [NTG-context] Dash equivalent of $BASH_SOURCE (for setuptex)
On Wed, Nov 21 2012, Mojca Miklavec wrote: But Peter's idea is also not that bad. The drawback is that the distribution cannot be moved to a different directory then, but one could also have combination of both approaches somehow. Is it worth the trouble to keep setuptex? Just saying Please add ... to your PATH should be enough IMO. -- Peter ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___
Re: [NTG-context] Dash equivalent of $BASH_SOURCE (for setuptex)
On Wed, Nov 21, 2012 at 8:28 PM, Peter Münster pmli...@free.fr wrote: Just saying Please add ... to your PATH should be enough IMO. We currently have the following wording: When you want to use context, you need to initialize the tree by typing: . /path/to/context/tex/setuptex in your shell or add /path/to/context/tex/texmf-osx-64/bin to PATH variable if you want to set it permanently. This can usually be done in .bashrc, .bash_profile (or whatever file is used to initialize your shell). But we could remove the part about setuptex and be more explicit by writing down export PATH=... ;) The reason why I use/like setuptex is because I'm nowadays mostly working with TeX Live 2012 and only switch to distribution when I need that (a new feature or when I want to test something). And it far easier to use tab-completion to point to the desired setuptex than to write an explicit export PATH=... every time a shell is started. I could of course write my own distribution switcher. Mojca ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___