summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--network/pptp/pptp.SlackBuild24
-rw-r--r--network/pptp/routing.c.patch28
2 files changed, 46 insertions, 6 deletions
diff --git a/network/pptp/pptp.SlackBuild b/network/pptp/pptp.SlackBuild
index d7d156b2c0..b280776039 100644
--- a/network/pptp/pptp.SlackBuild
+++ b/network/pptp/pptp.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for pptp
# Copyright 2007 AbortRetryFail <abortretryfail@gmail.com>
-# Copyright 2007-2009 Robby Workman, Northport, Alabama, USA
+# Copyright 2007,2008,2009,2010 Robby Workman, Northport, Alabama, USA
# All rights reserved.
#
@@ -26,10 +26,19 @@
PRGNAM=pptp
VERSION=1.7.2
-ARCH=${ARCH:-i486}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i486 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
@@ -44,6 +53,9 @@ elif [ "$ARCH" = "i686" ]; then
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
fi
set -e
@@ -61,16 +73,16 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+# Fix path to 'ip' binary
+patch -p1 < $CWD/routing.c.patch
+
make OPTIMIZE="$SLKCFLAGS"
make install MANDIR=$PKG/usr/man DESTDIR=$PKG
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-( cd $PKG/usr/man
- find . -type f -exec gzip -9 {} \;
- for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done
-)
+find $PKG/usr/man -type f -exec gzip -9 {} \;
# Let's not clobber the existing config file
mv $PKG/etc/ppp/options.pptp $PKG/etc/ppp/options.pptp.new
diff --git a/network/pptp/routing.c.patch b/network/pptp/routing.c.patch
new file mode 100644
index 0000000000..45d2ca9c03
--- /dev/null
+++ b/network/pptp/routing.c.patch
@@ -0,0 +1,28 @@
+--- a/routing.c.ORIG 2008-05-14 08:33:55.000000000 +0200
++++ a/routing.c 2009-07-29 23:37:03.196933022 +0200
+@@ -55,7 +55,7 @@ regardless (not yet implemented).
+
+ void routing_init(char *ip) {
+ char buf[256];
+- snprintf(buf, 255, "/bin/ip route get %s", ip);
++ snprintf(buf, 255, "/sbin/ip route get %s", ip);
+ FILE *p = popen(buf, "r");
+ fgets(buf, 255, p);
+ /* TODO: check for failure of fgets */
+@@ -66,14 +66,14 @@ void routing_init(char *ip) {
+
+ void routing_start() {
+ char buf[256];
+- snprintf(buf, 255, "/bin/ip route replace %s", route);
++ snprintf(buf, 255, "/sbin/ip route replace %s", route);
+ FILE *p = popen(buf, "r");
+ pclose(p);
+ }
+
+ void routing_end() {
+ char buf[256];
+- snprintf(buf, 255, "/bin/ip route delete %s", route);
++ snprintf(buf, 255, "/sbin/ip route delete %s", route);
+ FILE *p = popen(buf, "r");
+ pclose(p);
+ }