Gentoo Archives: gentoo-dev

From: Mike Frysinger <vapier@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] POSIX shell and "portable"
Date: Mon, 05 Nov 2007 20:23:59
Message-Id: 200711051521.07840.vapier@gentoo.org
In Reply to: Re: [gentoo-dev] POSIX shell and "portable" by Michael Haubenwallner
1 On Monday 05 November 2007, Michael Haubenwallner wrote:
2 > On Mon, 2007-11-05 at 10:13 +0000, Roy Marples wrote:
3 > > While I still have access to the u@g.o email, I'll respond here.
4 > >
5 > > On Mon, 2007-11-05 at 10:22 +0100, Michael Haubenwallner wrote:
6 > > > On Sat, 2007-11-03 at 00:47 +0000, Roy Marples wrote:
7 > > >
8 > > > As it seems too few people really accept your suggestion, I feel it's
9 > > > time for me to chime in too, although I don't know what exactly
10 > > > POSIX-sh standard defines.
11 > > >
12 > > > Agreed, but (speaking for alt/prefix):
13 > > >
14 > > > Alt/prefix is designed to (mainly) work without superuser access on the
15 > > > target machine, which may also be Solaris, AIX, HP-UX and the like.
16 > > > /bin/sh on such a machine is not POSIX-shell, but old bourne-shell
17 > > > (unfortunately with bugs often).
18 > > > And it is _impossible_ to have sysadmins to get /bin/sh a POSIX-Shell
19 > > > nor to have that bugs fixed.
20 > > >
21 > > > But yes, on most machines there is /bin/ksh, which IMHO is POSIX
22 > > > compliant (maybe also with non-fixable bugs).
23 > > >
24 > > > Although I do not know yet for which _installed_ scripts it'd be really
25 > > > useful to have them non-bash in alt/prefix, I appreciate the
26 > > > discussion.
27 > > >
28 > > > To see benefits for alt/prefix too, it _might_ require that discussion
29 > > > going from requiring /bin/sh being POSIX-sh towards being
30 > > > bourne-shell...
31 > >
32 > > Actually you missed the mark completely.
33 > > Nothing in the tree itself specifies what shell to use - instead it's
34 > > the package manager. So the PM on Gentoo/Linux/FreeBSD *could*
35 > > be /bin/sh and on the systems where /bin/sh is not possible to change to
36 > > a POSIX compliant shell then it can still use /bin/bash or wherever it's
37 > > installed.
38 >
39 > So "have the installed scripts to not require bash" is another topic ?
40
41 yes, and generally that's a baked topic. if your script is /bin/sh, then it
42 must be POSIX compliant. if your script is /bin/bash, then you're encouraged
43 to convert it to POSIX /bin/sh. but this is because the *runtime*
44 environment is generally a lot more restricted than that of the *buildtime*
45 environment. runtime implies a lot leaner requirements (think binary-only
46 systems, embedded systems, production systems, etc...) than that of a
47 development system (which requires everything in order to compile).
48
49 > Ok then:
50 > Given that we want to have the tree "more generic unix-able":
51 > What is the benefit from having the tree being POSIX- but not
52 > bourne-shell compatible, so one still needs bash on Solaris/AIX/HP-UX ?
53 > Because I'd say those three are the biggest substitutes for "unix",
54 > while I'd call *BSD and Linux just "unix derivates" (although with
55 > enhancements)...
56
57 we want the installed environment to be portable, not the build environment.
58 i do not see any benefit from forcing the build environment to be pure POSIX
59 compliant and i see many many detrimental problems.
60 -mike

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-dev] POSIX shell and "portable" Roy Marples <uberlord@g.o>