Darren J Moffat wrote: > Alan Coopersmith wrote: > > ### Part 2: Project-private location for shell function library > > /usr/lib/shell/ is reserved as project private location, mainly to > > build a (platform/architecture-specific) library of dynamically > > loadable shell functions in a similar form as java packages. > > Why /usr/lib/shell rather than /usr/share/lib/shell ?
Because the content of the shell scripts may be platform-specific, e.g. behave differently on different platforms (for example we may hardcode ISA-specific PATHs). /usr/share/lib/shell/ would only be correct if the contents of this directory can be shared between different ISAs/architectures and that won't be the case for the content delivered to /usr/lib/shell/ > The java packages are in /usr/share/lib/ and /usr/share/lib/java/ I doubt the JAVA packages there have any ISA-specific code inside. > Is it expected that the *default* case is that /usr/lib/shell/ content > is *not* ISA independent ? It's not intended to be the default case but we don't want to make any restrictions for consumers (and we don't want to squish-out more speed by compiling the shell code (see below) and then loose the performance win again because we have zillions of $ if [[ "$ISA" == i386 ]] ; ... elif [[ "$ISA" == amd64 ]] ; ... elif [[ "$ISA" == sparc ]] ; ... elif [[ "$ISA" == sparcv7 ]] ; ... elif [[ "$ISA" == sparcv8 ]] ; ... elif [[ "$ISA" == sparcv8a ]] ; ... elif [[ "$ISA" == sparcv8b ]] ; ... elif [[ "$ISA" == sparc9 ]] ; ... elif [[ "$ISA" == sparcv9a ]] ; ... elif [[ "$ISA" == sparcv9b ]] ; ... elif [[ "$ISA" == ppc ]] ; ... elif [[ "$ISA" == ppc64 ]] ; ... elif [[ "$ISA" == systemz ]] ; ... elif [[ "$ISA" == systemz64 ]] ... # in the code). > Surely it is shell script files ? For ksh93-based modules (and for zsh, too) we only provide _compiled_ shell script modules (compiled via "shcomp"; the resulting binary shell scripts are portable across different CPU architectures and endian-independent but the content may still behave differently on different platforms since the underlying script code may behave that way). ---- Bye, Roland -- __ . . __ (o.\ \/ /.o) roland.mainz at nrubsig.org \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer /O /==\ O\ TEL +49 641 7950090 (;O/ \/ \O;)