Magellan Linux

Annotation of /trunk/core/bash/bash-4.4-r2.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 28775 - (hide annotations) (download)
Tue May 2 09:19:38 2017 UTC (7 years ago) by niro
File size: 3702 byte(s)
auto added: ver bump to 4.4-r2
1 niro 28775 # $Id$
2    
3     PNAME="bash"
4     PVER="4.4"
5     PBUILD="r2"
6    
7     PATCH_LEVEL="12"
8    
9     PCAT="app-shells"
10    
11     DESCRIPTION="The standard GNU Bourne again shell."
12     HOMEPAGE="http://www.gnu.org/software/bash/bash.html"
13    
14     DEPEND=">= sys-libs/ncurses-6.0
15     >= sys-libs/readline-7.0"
16    
17     SRCFILE="${PNAME}-${PVER}.tar.gz"
18     SRCDIR="${BUILDDIR}/${PNAME}-${PVER}"
19    
20     sminclude mtools
21    
22     SRC_URI=(
23     gnu://${PNAME}/${SRCFILE}
24     mirror://${PNAME}/${SRCFILE}
25     mirror://${PNAME}/dot.bashrc
26     mirror://${PNAME}/dot.bash_profile
27     mirror://${PNAME}/dot.bash_logout
28     mirror://${PNAME}/bashrc
29     mirror://${PNAME}/bash_logout
30     $(for ((i=1;i <= PATCH_LEVEL; i++))
31     do
32     ver=00${i}
33     [[ ${i} -ge 10 ]] && ver=0${i}
34     [[ ${i} -ge 100 ]] && ver=${i}
35     echo "gnu://${PNAME}/${PNAME}-${PVER}-patches/${PNAME}${PVER/./}-${ver}"
36     echo "mirror://${PNAME}/${PNAME}${PVER/./}-${ver}"
37     done)
38     mirror://${PNAME}/${PNAME}-3.0-parallel-build.patch
39     mirror://${PNAME}/${PNAME}-3.0-trap-fg-signals.patch
40     )
41    
42     [[ ! -z ${PATCH_LEVEL} ]] && UP2PVER="${PVER}.${PATCH_LEVEL}"
43     UP2DATE="updatecmd_gnu ${PNAME} gz"
44    
45     src_prepare()
46     {
47     munpack ${SRCFILE} || die
48     cd ${SRCDIR}
49    
50     # apply all upstream patches
51     local i
52     local ver
53     for ((i=1; i <= PATCH_LEVEL; i++))
54     do
55     ver=00${i}
56     [[ ${i} -ge 10 ]] && ver=0${i}
57     [[ ${i} -ge 100 ]] && ver=${i}
58    
59     mpatch ${PNAME}${PVER/./}-${ver} || die
60     done
61    
62     # fix parallel make
63     mpatch ${PNAME}-3.0-parallel-build.patch || die
64    
65     # other redhat patches:
66    
67     # don't barf on handled signals in scripts
68     mpatch ${PNAME}-3.0-trap-fg-signals.patch || die
69    
70     # enable SSH_SOURCE_BASHRC
71     sed -i 's:^.*\(#define SSH_SOURCE_BASHRC\).*$:\1:' config-top.h || die
72    
73     # location of the default mail directory
74     # (not using config-top.h but config.h.in to suppress annoying warnings)
75     sed -i 's:^\(#define DEFAULT_MAIL_DIRECTORY\).*:\1 "/usr/spool/mail":' config.h.in || die
76    
77     # run the startup files
78     echo '#define NON_INTERACTIVE_LOGIN_SHELLS' >> config-top.h || die
79    
80     # location of system-wide bashrc
81     echo '#define SYS_BASHRC "/etc/bash/bashrc"' >> config-top.h || die
82    
83     # location of system-wide bash_logout
84     echo '#define SYS_BASH_LOGOUT "/etc/bash/bash_logout"' >> config-top.h || die
85    
86     # Force pgrp synchronization
87     # (https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=81653)
88     #
89     # The session will hang cases where you 'su' (not 'su -') and
90     # then run a piped command in emacs.
91     # This problem seem to happen due to scheduler changes kernel
92     # side - although reproduceble with later 2.4 kernels, it is
93     # especially easy with 2.6 kernels.
94     echo '#define PGRP_PIPE 1' >> config-bot.h || die
95     }
96    
97     src_compile()
98     {
99     cd ${SRCDIR}
100    
101     mconfigure \
102     --disable-profiling \
103     --enable-readline \
104     --with-curses \
105     --without-gnu-malloc \
106     --with-installed-readline \
107     || die
108    
109     # on x86_64 parallel is broken; patch not work
110     mmake -j1 || die
111     }
112    
113     src_install()
114     {
115     cd ${SRCDIR}
116     make DESTDIR=${BINDIR} install || die
117    
118     # some needed symlinks
119     mlink bash /usr/bin/sh || die
120     mlink bash /usr/bin/rbash || die
121    
122     # install skeletons
123     for i in bashrc bash_profile bash_logout
124     do
125     minstalletc dot.${i} .${i} /etc/skel || die
126     done
127    
128     # install global rcs
129     minstalletc bashrc bashrc /etc/bash || die
130     minstalletc bash_logout bash_logout /etc/bash || die
131    
132     minstalldocs ABOUT-NLS AUTHORS CHANGES COMPAT COPYING MANIFEST \
133     NEWS NOTES POSIX RBASH README || die
134     }
135    
136     postinstall()
137     {
138     # install skeletons for root, as bash is our default shell
139     if [[ ! -f ${MROOT}/root/.bashrc ]]
140     then
141     install -m0644 ${MROOT}/etc/skel/.bashrc ${MROOT}/root
142     fi
143     if [[ ! -f ${MROOT}/root/.bash_profile ]]
144     then
145     install -m0644 ${MROOT}/etc/skel/.bash_profile ${MROOT}/root
146     fi
147     if [[ ! -f ${MROOT}/root/.bash_logout ]]
148     then
149     install -m0644 ${MROOT}/etc/skel/.bash_logout ${MROOT}/root
150     fi
151     }