[tex-live] Bug in install-tl.sh (TeX Collection '03 and TLC2)

Tigran Aivazian tigran at aivazian.fsnet.co.uk
Sun Jul 25 00:12:50 CEST 2004


why do we need to use "ls -l" at all and do all those execs, pipes etc?
why not simply:

(cd /whatever ; echo *)

as long as the script is executed by bash echo is going to be builtin and 
will produce the desired output, without any overhead of forking another 
process.

Kind regards
Tigran

On Fri, 23 Jul 2004, Olaf Weber wrote:

> Ulrich M Schwarz writes:
> 
> > (Oh, btw: tex-demo at tug.org, which is given within install-tl.sh itself
> > as a contact address, bounced on me.)
> 
> > Dear TeX-Live team,
> 
> > I have, regrettably, discovered that install-tl will break on systems
> > with too new a ls:
> 
> > Apparently, with recent versions of GNU ls (5.2.1 fails, 4.1 used to
> > work), the output format for the file date has changed:
> 
> > # ls (fileutils) 4.1 (as shipped with SuSE 8.0)
> > : ~/temp/fixtl [0 534]; /mnt/datadisk/bin/ls -l /dvd/bin
> > total 112
> > drwxr-xr-x    2 root     root        32768 Sep 28  2003 i386-linux
> > drwxr-xr-x    2 root     root        32768 Sep 28  2003 powerpc-darwin6.6
> > drwxr-xr-x    4 root     root        49152 Mar 11 13:49 win32
> 
> > # ls (coreutils) 5.2.1 (as ships with slackware 10)
> > : ~/temp/fixtl [0 540]; ls -l /dvd/bin
> > total 112
> > drwxr-xr-x  2 root root 32768 2003-09-28 20:50 i386-linux
> > drwxr-xr-x  2 root root 32768 2003-09-28 20:50 powerpc-darwin6.6
> > drwxr-xr-x  4 root root 49152 2004-03-11 13:49 win32
> 
> This is because the output format of the date is sensitive to the
> locale settings.  Putting an
>        export LC_ALL=C
> somewhere suitable in the script should work, and is probably (part
> of) the best solution.
> 
> > As a consequence, install-tl.sh cannot extract platform names from the
> > bin/ directory and (silently!) fails to install any binaries at all
> > (It expects the name in record 9, whereas it is record 8 with the
> > newer version), consequently (again, silently) fails to build formats
> > and all sorts of "It's not working" fun ensue.
> 
> > As a fix, I would suggest that line 60 in series_init be changed as
> > follows:
> 
> > systems=`(cd $BIN; ls -l | grep "^d" | awk '{print $9}')`
> 
> > to
> 
> > systems=`(cd $BIN; ls -l | awk '/^d/ {print $NF}')`
> 
> > which will eliminate a spurious call to grep as well and should work
> > as long as the file name is the last entry in the line. (This will
> > break for symlinks, but I do not think that ought to happen under
> > these circumstances. This will also break if platform names may
> > contain spaces and need not be unique in their last "word", but so did
> > the old one.)
> 
> I don't think the platform can contain spaces, as I'm reasonably
> certain it would make the configure scripts explode.
> 
> 



More information about the tex-live mailing list