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;)

Reply via email to