aboutsummaryrefslogtreecommitdiff
path: root/base/bash/bash.build
blob: 28d4a7564bb288a827a138c06ebf2906bade0f0b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#!/bin/bash
#
# Maintainer: Deposite Pirate <ofni.sknuplatem@etaripd>

source /usr/src/ports/Build/build.sh

NAME=bash
MAJOR=4.2
VERSION=${MAJOR}.45
BUILD=1

# Description

cat > ${PKG}/install/slack-desc <<EOF
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.  Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct.  It's also
# customary to leave one space after the ':'.

$(padd)|-----handy-ruler------------------------------------------------------|
${NAME}: bash (sh-compatible shell)
${NAME}:
${NAME}: The GNU Bourne-Again SHell. Bash is a sh-compatible command
${NAME}: interpreter that executes commands read from the standard input or
${NAME}: from a file. Bash also incorporates useful features from the Korn
${NAME}: and C shells (ksh and csh). Bash is ultimately intended to be a
${NAME}: conformant implementation of the IEEE Posix Shell and Tools
${NAME}: specification (IEEE Working Group 1003.2).
${NAME}:
${NAME}: Bash must be present for the system to boot properly.
${NAME}:
EOF

cat >> ${PKG}/install/doinst.sh <<EOF
#!/bin/sh

# Install texinfo files

install_info()
{
  for file in "\${*}"; do
    if [ -x usr/bin/install-info ]; then
      usr/bin/install-info --info-dir=usr/share/info usr/share/info/\${file}.info.xz 2> /dev/null
    fi
  done
}

install_info bash

if [ -r usr/bin/bash ]; then
  mv usr/bin/bash usr/bin/bash.old
fi

mv usr/bin/bash4.new usr/bin/bash

if [ -f usr/bin/bash.old ]; then
  rm -f usr/bin/bash.old
fi

if [ ! -r etc/shells ]; then
  touch etc/shells
  chmod 0644 etc/shells
fi

if fgrep "/usr/bin/bash" etc/shells 1> /dev/null 2> /dev/null ; then
  true
else
  echo "/usr/bin/bash" >> etc/shells
fi

if fgrep "/usr/bin/rbash" etc/shells 1> /dev/null 2> /dev/null ; then
  true
else
  echo "/usr/bin/rbash" >> etc/shells
fi
EOF

# Sources

SRCNAME[0]=${NAME}
SRCVERS[0]=${MAJOR}
SRCPACK[0]=ftp://ftp.gnu.org/gnu/bash/${SRCNAME[0]}-${SRCVERS[0]}.tar.gz
SRCCOPY[0]="GPL3"

build0()
{
CFLAGS="${FLAGS}" CXXFLAGS="${FLAGS}" \
./configure \
 --build="${ARCH}-slackware-linux" \
 --prefix="${SYS_DIR[usr]}" \
 --mandir="${SYS_DIR[man]}" \
 --infodir="${SYS_DIR[info]}" \
 --sysconfdir="${SYS_DIR[etc]}" \
 --localstatedir="${SYS_DIR[var]}" \
 --bindir="${SYS_DIR[bin]}" \
 --with-curses
make ${JOBS}
make install DESTDIR="${PKG}"
doc AUTHORS COMPAT
changelog NEWS
install.man doc/*.1 ${PKG}${SYS_DIR[man]}/man1
mv ${PKG}${SYS_DIR[bin]}/bash ${PKG}${SYS_DIR[bin]}/bash4.new
rm -f \
 ${PKG}${SYS_DIR[bin]}/bashbug \
 ${PKG}${SYS_DIR[man]}/man1/bashbug.1
#FIXME: compat
(
  cd ${PKG}${SYS_DIR[bin]}
  ln -sf bash rbash
  ln -sf bash sh
)
}