1 NAME: bash |
|
2 VERSION: 4.1 |
|
3 DESCRIPTION: GNU Bourne Again Shell |
|
4 LICENSE: GPLv3, GFDLv1.2 |
|
5 PACKAGE: SUNWbash |
|
6 PROJECT_URL: http://www.gnu.org/software/bash/bash.html |
|
7 SOURCE_DOWNLOAD: ftp://ftp.gnu.org/gnu/bash/bash-4.1.tar.gz |
|
8 SUPPORT: B |
|
9 BUGTRAQ: solaris/utility/bash |
|
10 OSR: 12655 |
|
11 COMMENTS: |
|
12 |
|
13 Needs special compiler flags and additional Solaris patches |
|
14 |
|
15 =============================================================== |
|
16 |
|
17 Explanation of some unusual compiler flags: |
|
18 |
|
19 1. We must use the c99 C Compiler driver, and not cc -xc99=%all. |
|
20 Some functions from the Standard Math Library are only available |
|
21 with the c99 driver, for example, isinf(3M). |
|
22 |
|
23 2. The included libreadline.a and libsh.a want to use FIONREAD. |
|
24 The Linux assumption is that FIONREAD is defined in <sys/ioctl.h>, |
|
25 but on Solaris it is defined in <sys/filio.h>. The workaround is |
|
26 to raise -DSOLARIS on compiler line, and #ifdef guard the inclusion |
|
27 of <sys/filio.h> on the SOLARIS macro being raised. |
|
28 |
|
29 3. Bash supports full multi-byte and internationalization. Because |
|
30 we want this feature, we must raise all the C99 conformance compiler |
|
31 flags, in order to make available all the wchar_t Standard C Library |
|
32 functions. |
|
33 |
|
34 4. We want to use the curses library in /usr/lib/libcurses.so.1. |
|
35 But because we are raising the full C99 conformance macros, the |
|
36 compiler will automatically link /usr/xpg4/lib/libcurses.so.2. |
|
37 The workaround is to pass /usr/lib/libcurses.so.1 with absolute |
|
38 path in ./configure during the libcurses availability test. This |
|
39 gets passed verbatim to the Makefile. |
|
40 |
|
41 5. The file $(top_srcdir)/support/signames.c creates some bogus |
|
42 signal names (named SIGJUNK%d) because it does not know about |
|
43 Solaris' SIGJVM1 and SIGJVM2. This, in turn, creates a big problem |
|
44 with the actual number of signal names defined in |
|
45 $(top_srcdir)/signames.h -- namely, the number of signal strings |
|
46 in the signal_names array ends up exceeding the number of char pointers |
|
47 defined by NSIG + 4, and the compiler aborts. We work around this by |
|
48 patching $(top_srcdir)/support/signames.c appropriately, and create |
|
49 the signal name strings for SIGJVM1 and SIGJVM2. |
|
50 |
|
51 6. The bash test harness passes 100% if and only if all the UTF-8 |
|
52 locales are installed on the build/test system. |
|
53 |
|
54 7. The test harness will, for certain tests, print out what appears |
|
55 to be errors. Please read the output of the test harness, and determine |
|
56 that what appears to be an error is actually an error. Some tests will |
|
57 warn that test output is expected, and does not necessarily indicate |
|
58 an error condition. |
|
59 |
|
60 =============================================================== |
|
61 |
|
62 All upstream bash 4.1 patches are incorporated in this release. |
|
63 |
|
64 =============================================================== |
|
65 |
|