blob: 0f5d3a672548c028db2334964b7eb9b9c3c1bd85 (
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
#!/bin/bash
#
# build script for mod_python
# by rhatto at riseup.net
# build it with slacktrack, example:
#
# slacktrack -jefkzp "mod_python-2.7.11-x86_64-1rha.tgz" "./mod_python.build"
#
CWD="`pwd`"
if [ -f "/etc/slackbuildrc" ]; then
source /etc/slackbuildrc
fi
if [ -f "~/.slackbuildrc" ]; then
source ~/.slackbuildrc
fi
# default settings
PACKAGE="mod_python"
VERSION=${VERSION:=2.7.11}
ARCH="${ARCH:=x86_64}"
BUILD=${BUILD:=6rha}
SRC_DIR=${SRC:=$CWD}
TMP=${TMP:=/tmp}
# ------- error codes for createpkg --------------
ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33
ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36
ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39
ERROR_PATCH=40
if [ "$ARCH" == "x86_64" ]; then
export CFLAGS="-fPIC"
export LDFLAGS="-L/lib64 -L/usr/lib64 -fPIC"
LIBDIR=/usr/lib64
else
LIBDIR=/usr/lib
fi
RTOOL="wget"
PACKAGE_EXT="tgz"
SRC="$PACKAGE-$VERSION.$PACKAGE_EXT"
URL="http://ftp.unicamp.br/pub/apache/httpd/modpython/$SRC"
SRC_DIR="$SRC_DIR/$PACKAGE"
if [ ! -d "$SRC_DIR" ]; then
mkdir -p $SRC_DIR
fi
if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
fi
TMP="$TMP/$PACKAGE"
if [ ! -d "$TMP" ]; then
mkdir -p $TMP
fi
cd $TMP
tar xvf $SRC_DIR/$SRC || exit $ERROR_TAR
cd $PACKAGE-$VERSION
if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
patch -p1 < $CWD/$PACKAGE-$VERSION.diff || exit $ERROR_PATCH
fi
if [ -f "$CWD/$PACKAGE-$VERSION-$ARCH.diff" ]; then
patch -p1 < $CWD/$PACKAGE-$VERSION-$ARCH.diff || exit $ERROR_PATCH
fi
./configure || exit $ERROR_CONF
# coxa, favor corrigir!
if [ "$ARCH" == "x86_64" ]; then
sed -e 's/^OPT=$/OPT=-fPIC -DEAPI/' src/Makefile > src/Makefile.new
sed -e 's/^PY_STD_LIB=\/usr\/lib/PY_STD_LIB=\/usr\/lib64/' src/Makefile.new > src/Makefile
# mv src/Makefile.new src/Makefile
mv lib lib64
else
sed -e 's/^OPT=$/OPT=-DEAPI/' src/Makefile > src/Makefile.new
mv src/Makefile.new src/Makefile
fi
make || exit $ERROR_MAKE
make install || exit $ERROR_INSTALL
# strip
strip --strip-unneeded /usr/libexec/apache/mod_python.so
CWD="`pwd`"
mkdir /install
cat << EOF > /install/slack-desc
# 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 ':'.
|-----handy-ruler-----------------------------------------------------|
mod_python: mod_python (Apache/Python Integration)
mod_python:
mod_python: Mod_python is an Apache module that embeds the Python interpreter
mod_python: within the server. With mod_python you can write web-based
mod_python: applications in Python that will run many times faster than
mod_python: traditional CGI and will have access to advanced features such as
mod_python: ability to retain database connections and other data between hits
mod_python: and access to Apache internals
mod_python:
mod_python:
mod_python:
EOF
# docs
mkdir -p /usr/doc/$PACKAGE-$VERSION
for file in COPYRIGHT CREDITS NEWS README; do
cp $CWD/$file* /usr/doc/$PACKAGE-$VERSION/
done
# install script
echo '( echo Now dont forget to edit your main config and add )' > /install/doinst.sh
echo '( echo LoadModule python_module /usr/libexec/apache/mod_python.so )' >> /install/doinst.sh
echo '( echo If your configuration uses ClearModuleList, then also add )' >> /install/doinst.sh
echo '( echo AddModule mod_python.c )' >> /install/doinst.sh
|