usr/src/cmd/bash/METADATA
changeset 72 82bde2a81435
parent 71 121736d79438
child 73 73cc228b67a6
equal deleted inserted replaced
71:121736d79438 72:82bde2a81435
     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