aports/main/ppp/APKBUILD
2018-09-27 15:55:31 +00:00

183 lines
6.2 KiB
Plaintext

# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=ppp
pkgver=2.4.7
pkgrel=6
pkgdesc="A daemon which implements the PPP protocol for dial-up networking"
url="http://www.samba.org/ppp/"
arch="all"
license="BSD and LGPL-2.0-or-later and GPL-2.0-or-later and Public-Domain"
makedepends="bsd-compat-headers linux-headers"
subpackages="$pkgname-doc $pkgname-dev $pkgname-chat $pkgname-radius
$pkgname-atm $pkgname-pppoe $pkgname-l2tp $pkgname-winbind
$pkgname-passprompt $pkgname-passwordfd $pkgname-minconn
$pkgname-openrc $pkgname-daemon
"
# for compatibility reasons the 'ppp' package is an empty meta package
# that pulls in all except -dev and -doc subpackages
depends="$pkgname-chat $pkgname-radius
$pkgname-atm $pkgname-pppoe $pkgname-l2tp $pkgname-winbind
$pkgname-passprompt $pkgname-passwordfd $pkgname-minconn
$pkgname-daemon
"
source="https://ftp.samba.org/pub/ppp/ppp-$pkgver.tar.gz
defaultroute-metric.3.patch
musl-fix-headers.patch
fix-paths.patch
0011-build-sys-don-t-put-connect-errors-log-to-etc-ppp.patch
ip-down
ip-up
pppd.initd"
_builddir="$srcdir"/$pkgname-$pkgver
prepare() {
local i
cd "$_builddir"
for i in $source; do
case $i in
*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
esac
done
}
build () {
cd "$_builddir"
# fix CFLAGS
# -D_GNU_SOURCE is needed for IPv6 to work apparently
export CFLAGS="$CFLAGS -D_GNU_SOURCE"
sed -i "s:-O2 -pipe -Wall -g:${CFLAGS}:" pppd/Makefile.linux
sed -i "s:-g -O2:${CFLAGS}:" pppd/plugins/Makefile.linux
sed -i "s:-O2:${CFLAGS}:" pppstats/Makefile.linux
sed -i "s:-O2 -g -pipe:${CFLAGS}:" chat/Makefile.linux
sed -i "s:-O:${CFLAGS}:" pppdump/Makefile.linux
# enable active filter
sed -i "s:^#FILTER=y:FILTER=y:" pppd/Makefile.linux
# enable ipv6 support
sed -i "s:^#HAVE_INET6=y:HAVE_INET6=y:" pppd/Makefile.linux
# Enable Microsoft proprietary Callback Control Protocol
sed -i "s:^#CBCP=y:CBCP=y:" pppd/Makefile.linux
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--localstatedir=/var \
|| return 1
make COPTS="$CFLAGS" || return 1
}
package() {
cd "$_builddir"
make INSTROOT="$pkgdir" install || return 1
install -Dm644 include/net/ppp_defs.h \
"$pkgdir"/usr/include/net/ppp_defs.h || return 1
install -D -m755 "$srcdir"/ip-up "$pkgdir"/etc/ppp/ip-up
install -D -m755 "$srcdir"/ip-down "$pkgdir"/etc/ppp/ip-down
install -D -m755 "$srcdir"/pppd.initd "$pkgdir"/etc/init.d/pppd
install -D -m644 etc.ppp/options "$pkgdir"/etc/ppp/options
install -D -m600 etc.ppp/pap-secrets "$pkgdir"/etc/ppp/pap-secrets
install -D -m600 etc.ppp/chap-secrets "$pkgdir"/etc/ppp/chap-secrets
# busybox ifup/ifdown needs pon/poff
install -D -m644 scripts/pon.1 "$pkgdir"/usr/share/man/man1/pon.1
install -D -m755 scripts/pon "$pkgdir"/usr/bin/pon || return 1
install -D -m755 scripts/poff "$pkgdir"/usr/bin/poff || return 1
install -d "$pkgdir"/usr/share/doc/ppp
for i in scripts/*; do
case $i in
pon|poff|*.1) continue;
esac
if [ -f "$i" ]; then
cp $i "$pkgdir"/usr/share/doc/ppp/ || return 1
fi
done
install -d "$pkgdir"/etc/ppp/peers
}
atm() {
pkgdesc="pppd plugin to implement PPPoATM protocol"
depends="ppp-daemon"
_mv usr/lib/pppd/$pkgver/pppoatm.so 755
}
minconn() {
pkgdesc="pppd plugin to implement a 'minconnect' option"
depends="ppp-daemon"
_mv usr/lib/pppd/$pkgver/minconn.so 755
}
winbind() {
pkgdesc="WINBIND plugin for pppd"
depends="ppp-daemon"
_mv usr/lib/pppd/$pkgver/winbind.so 755
}
passprompt() {
pkgdesc="pppd plugin to invoke an external PAP password prompter"
depends="ppp-daemon"
_mv usr/lib/pppd/$pkgver/passprompt.so 755
}
passwordfd() {
pkgdesc="pppd plugin let's you pass the password via a file descriptor"
depends="ppp-daemon"
_mv usr/lib/pppd/$pkgver/passwordfd.so 755
}
chat() {
pkgdesc="a program for automatic ppp session establishment"
depends=
_mv usr/sbin/chat 755
}
l2tp() {
pkgdesc="pppd plugin to implement PPPoL2TP protocol"
depends="ppp-daemon"
_mv usr/lib/pppd/$pkgver/openl2tp.so 755
_mv usr/lib/pppd/$pkgver/pppol2tp.so 755
}
pppoe() {
pkgdesc="pppd plugin for kernel-mode PPPoE on Linux"
depends="ppp-daemon"
_mv usr/lib/pppd/$pkgver/rp-pppoe.so 755
_mv usr/sbin/pppoe-discovery 755
}
radius() {
pkgdesc="RADIUS plugin for pppd"
depends="ppp-daemon"
_mv usr/lib/pppd/$pkgver/radius.so 755
_mv usr/lib/pppd/$pkgver/radattr.so 755
_mv usr/lib/pppd/$pkgver/radrealms.so 755
install -d "$subpkgdir"/etc/radiusclient
cp -r "$_builddir"/pppd/plugins/radius/etc/* "$subpkgdir"/etc/radiusclient
mv "$subpkgdir"/etc/radiusclient/radiusclient.conf.in "$subpkgdir"/etc/radiusclient/radiusclient.conf
sed -i "s:@pkgsysconfdir@:/etc/radiusclient:g" "$subpkgdir"/etc/radiusclient/radiusclient.conf
sed -i "s:@sbindir@:/usr/sbin:g" "$subpkgdir"/etc/radiusclient/radiusclient.conf
}
_mv() {
install -m $2 -D "$pkgdir"/$1 "$subpkgdir"/$1
rm "$pkgdir"/$1
}
daemon() {
pkgdesc="A daemon which implements the PPP protocol"
depends=
mkdir -p "$subpkgdir"
mv "$pkgdir"/* "$subpkgdir"/ || return 1
}
sha512sums="e34ce24020af6a73e7a26c83c4f73a9c83fa455b7b363794dba27bf01f70368be06bff779777843949bd77f4bc9385d6ad455ea48bf8fff4e0d73cc8fef16ae2 ppp-2.4.7.tar.gz
fccc7a6809ae4a617796ccf1d2132de8edb1cc0c71d76a95393585a5970b92be2a54da558702db355c8aea8d37b4dfffc64406129a2b3322f0b10e8f0481f685 defaultroute-metric.3.patch
2f071ea9db15e4abf1bed6cce8130dc81b710a31bfef5fa8f9370c353f845dbc47674b1551b8e040478e5156add6f98d480530206125e8bb308f0f4288d1eec6 musl-fix-headers.patch
8384afb992a98a7f97b484866e6aa1b1de51e901d7837f84f7ce2beba6815591450fab43957f03b65804424c4940c59640a9cd878979240a171aa77427e9c4ff fix-paths.patch
b490971d03fef4de66b61123f80a0087270bcb88466ae8ed98ea9a08b35d4c7c46b2dadd304e2970a4206bb5760a14370d7e3873de6240119d88e927ecef840c 0011-build-sys-don-t-put-connect-errors-log-to-etc-ppp.patch
160260bd2a788beaac395eadb38efbfd1e0e1a458fe151555acacf2c4f3a12381d644672c664f9793db6e3459a4f05a54e3ff6d407b0d37e8014b15bd0f11bcc ip-down
8258c95a6b6e8e94d6001b5cd3a99bd3270f29ba0f2e5050a26c8d5f1b67eead8d039e71ce86a784d45e620047b0a2bb14b258d80a9ea62084ba588a4c2e2d84 ip-up
bd6f43588b037367ffdb57f5e331492dcaa5969003e219c2dc8b90e6be1aa407282ff6114b91d1379ebeff766983fa0622456520cc0ac592b4f0b1496acf21bf pppd.initd"