]> git.ipfire.org Git - people/ms/ipfire-3.x.git/blame - bash/bash.nm
attr: Make package work on x86_64.
[people/ms/ipfire-3.x.git] / bash / bash.nm
CommitLineData
166a6c21 1###############################################################################
802ea3af
MT
2# IPFire.org - An Open Source Firewall Solution #
3# Copyright (C) - IPFire Development Team <info@ipfire.org> #
166a6c21
MT
4###############################################################################
5
802ea3af
MT
6name = bash
7version = 4.2
cd711c7b 8release = 5
166a6c21 9
cd711c7b 10groups = System/Tools
802ea3af
MT
11url = http://www.gnu.org/software/bash/
12license = GPLv2+
13summary = Bash is short for born again shell.
166a6c21 14
802ea3af 15description
166a6c21
MT
16 Bash is the shell, or command language interpreter, that will appear in \
17 the GNU operating system. Bash is an sh-compatible shell that incorporates \
18 useful features from the Korn shell (ksh) and C shell (csh). It is intended \
19 to conform to the IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools standard.
802ea3af
MT
20end
21
22source_dl = http://ftp.gnu.org/gnu/bash/
23
24build
25 requires
26 autoconf
27 automake
28 bison
29 ncurses-devel
30 readline-devel
31 end
32
33 prepare_cmds
34 # Bash uses the RTLD_LAZY option when loading libraries. We want to use
35 # RTLD_NOW (it is defined from <dlfcn.h>:
36 sed -e "s/filename, RTLD_LAZY/filename, RTLD_NOW/" \
37 -i builtins/enable.def
38
39 sed -i "s|htmldir = @htmldir@|htmldir = /usr/share/doc/%{thisapp}|" \
40 Makefile.in
41 end
42
43 configure_options += \
44 --bindir=/bin \
45 --without-bash-malloc \
46 --with-installed-readline
47
48 # Test hangs forever
49 #def test
50 # make tests
51 #end
52
53 install_cmds
54 mkdir -pv %{BUILDROOT}/{bin,etc/profile.d,root}
55
56 # Bash startup files
57 cp -vf %{DIR_SOURCE}/dot_bash_logout %{BUILDROOT}/root/.bash_logout
58 cp -vf %{DIR_SOURCE}/dot_bash_profile %{BUILDROOT}/root/.bash_profile
59 cp -vf %{DIR_SOURCE}/dot_bashrc %{BUILDROOT}/root/.bashrc
60
61 # /etc/profile.d
62 cp -vf %{DIR_SOURCE}/profile.d/* %{BUILDROOT}/etc/profile.d
63
64 ln -svf bash %{BUILDROOT}/bin/sh
65 end
66end
67
68packages
69 package %{name}
cd711c7b
MT
70 groups += Base Build
71
c84c1f1a 72 prerequires = coreutils
802ea3af 73 requires = /etc/bashrc /etc/profile
84292e3e
MT
74
75 script postin
76 # Create /etc/shells, if it does not exist.
77 [ -f "/etc/shells" ] || touch /etc/shells
78
c84c1f1a
MT
79 found_sh=0
80 found_bash=0
81 while read line; do
82 if [ "/bin/bash" = "${line}" ]; then
83 found_bash=1
84 elif [ "/bin/sh" = "${line}" ]; then
85 found_sh=1
86 fi
87 done < /etc/shells
88
89 if [ "${found_bash}" = "0" ]; then
84292e3e
MT
90 echo "/bin/bash" >> /etc/shells
91 fi
92
c84c1f1a 93 if [ "${found_sh}" = "0" ]; then
84292e3e
MT
94 echo "/bin/sh" >> /etc/shells
95 fi
96 end
97
98 script postun
99 [ -e "/etc/shells" ] || exit 0
100
101 # Remove /bin/bash and /bin/sh from /etc/shells.
102 while read line; do
c84c1f1a 103 if [ "/bin/bash" = "${line}" ]; then
84292e3e 104 continue
c84c1f1a 105 elif [ "/bin/sh" = "${line}" ]; then
84292e3e
MT
106 continue
107 fi
108
109 echo "${line}"
110 done < /etc/shells > /etc/shells.$$
111
112 mv -f /etc/shells{.$$,}
113 end
802ea3af 114 end
1f9bc2f0
MT
115
116 package %{name}-debuginfo
117 template DEBUGINFO
118 end
802ea3af 119end