Magellan Linux

Contents of /trunk/toolchain/toolchain-bash/toolchain-bash-2.05b-r5.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 153 - (show annotations) (download)
Mon Jul 4 00:41:38 2005 UTC (18 years, 10 months ago) by niro
File size: 3163 byte(s)
new toolchain create utilities and smages

1 # $Header: /home/cvsd/magellan-cvs/magellan-src/toolchain/toolchain-bash/toolchain-bash-2.05b-r5.smage2,v 1.1 2005-07-04 00:41:38 niro Exp $
2
3 PNAME="toolchain-bash"
4 PVER="2.05b"
5 PBUILD="r5"
6
7 SRCFILE="bash-${PVER}.tar.gz"
8 SRCDIR="${BUILDDIR}/bash-${PVER}"
9
10 SRC_URI=(
11 mirror://bash/${SRCFILE}
12 mirror://bash/bash205b-001
13 mirror://bash/bash205b-002
14 mirror://bash/bash205b-003
15 mirror://bash/bash205b-004
16 mirror://bash/bash205b-005
17 mirror://bash/bash205b-006
18 mirror://bash/bash205b-007
19 mirror://bash/bash-${PVER}-multibyte-locale.patch
20 mirror://bash/bash-${PVER}-empty-herestring.patch
21 mirror://bash/bash-${PVER}-rbash.patch
22 mirror://bash/bash-${PVER}-parallel-build.patch
23 mirror://bash/bash-${PVER}-jobs.patch
24 )
25
26 # needs: ncurses-5.1
27
28 ## global toolchain var ##
29 # export CFLAGS, CHOST, TOOLCHAIN_PREFIX
30 export CFLAGS="-mtune=i486 -Os -pipe"
31 export CXXFLAGS="${CFLAGS}"
32 export TOOLCHAIN_PREFIX="/tools"
33
34 zapmost() {
35 local rootdir
36 rootdir="${1}/"
37 [ ! -e "$rootdir" ] && echo "zapmost: $rootdir not found; skipping..." && return 1
38 install -d ${BUILDDIR}/zap
39 local dirs
40 shift
41 local x
42 for x in ${*}
43 do
44 if [ "${x##*/}" = "${x}" ]
45 then
46 #one deep
47 mv ${rootdir}${x} ${BUILDDIR}/zap
48 else
49 #more than one deep; create intermediate directories
50 dirs=${x%/*}
51 install -d ${BUILDDIR}/zap/${dirs}
52 mv ${rootdir}${x} ${BUILDDIR}/zap/${x}
53 fi
54 done
55 rm -rf ${rootdir}*
56 mv ${BUILDDIR}/zap/* ${rootdir}
57 }
58
59
60 src_prepare() {
61 munpack ${SRCFILE} || die
62 cd ${SRCDIR}
63
64 # official patches:
65 mpatch -Np0 bash205b-001 || die
66 mpatch -Np0 bash205b-002 || die
67 mpatch -Np0 bash205b-003 || die
68 mpatch -Np0 bash205b-004 || die
69 mpatch -Np0 bash205b-005 || die
70 mpatch -Np0 bash205b-006 || die
71 mpatch -Np0 bash205b-007 || die
72
73 # readline is slow with multibyte locale
74 mpatch -Np1 bash-${PVER}-multibyte-locale.patch || die
75 # segfault on empty herestring
76 mpatch -Np1 bash-${PVER}-empty-herestring.patch || die
77 # fix broken rbash functionality
78 mpatch -Np1 bash-${PVER}-rbash.patch || die
79 # fix parallel make
80 mpatch -Np0 bash-${PVER}-parallel-build.patch || die
81
82 # fix using bash with post-20040808 glibc
83 mpatch -Np1 bash-${PVER}-jobs.patch || die
84
85 # enable SSH_SOURCE_BASHRC
86 sed -e 's:^.*\(#define SSH_SOURCE_BASHRC\).*$:\1:' \
87 -i config-top.h || die
88
89 # Force pgrp synchronization
90 # (https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=81653)
91 #
92 # The session will hang cases where you 'su' (not 'su -') and
93 # then run a piped command in emacs.
94 # This problem seem to happen due to scheduler changes kernel
95 # side - although reproduceble with later 2.4 kernels, it is
96 # especially easy with 2.6 kernels.
97 echo '#define PGRP_PIPE 1' >> config-bot.h || die
98 }
99
100 src_compile() {
101 cd ${SRCDIR}
102
103 ./configure \
104 --host=${CHOST} \
105 --prefix=${TOOLCHAIN_PREFIX} \
106 --disable-profiling \
107 --with-curses \
108 --without-gnu-malloc \
109 --disable-nls \
110 || die
111
112 mmake || die
113 }
114
115 src_install() {
116 cd ${SRCDIR}
117
118 make DESTDIR=${BINDIR} install || die
119
120 # needed symlink
121 ln -snf bash ${BINDIR}/${TOOLCHAIN_PREFIX}/bin/sh || die
122
123 # remove unwanted stuff
124 KEEPFILES="bin/bash bin/sh"
125 zapmost ${BINDIR}${TOOLCHAIN_PREFIX} ${KEEPFILES} || die
126 }