APKBUILD 5.98 KB
Newer Older
Natanael Copa's avatar
Natanael Copa committed
1 2
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=ppp
3
pkgver=2.4.7
4
pkgrel=0
Natanael Copa's avatar
Natanael Copa committed
5 6
pkgdesc="A daemon which implements the PPP protocol for dial-up networking"
url="http://www.samba.org/ppp/"
7
arch="all"
Natanael Copa's avatar
Natanael Copa committed
8
license="custom:GPL/BSD"
Natanael Copa's avatar
Natanael Copa committed
9
depends=
10 11 12 13 14
makedepends=
subpackages="$pkgname-chat $pkgname-chat-doc:chat_doc
	    $pkgname-radius $pkgname-radius-doc:radius_doc
	    $pkgname-atm $pkgname-pppoe $pkgname-l2tp $pkgname-winbind
	    $pkgname-passprompt $pkgname-passwordfd $pkgname-minconn $pkgname-doc $pkgname-dev"
Natanael Copa's avatar
Natanael Copa committed
15
source="ftp://ftp.samba.org/pub/$pkgname/$pkgname-$pkgver.tar.gz
16
	defaultroute-metric.3.patch
Timo Teräs's avatar
Timo Teräs committed
17
	musl-fix-headers.patch
18 19 20
	fix-paths.patch
	ip-down
	ip-up"
Natanael Copa's avatar
Natanael Copa committed
21

Natanael Copa's avatar
Natanael Copa committed
22
_builddir="$srcdir"/$pkgname-$pkgver
23 24 25 26 27 28 29 30 31 32
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
}

33
build () {
Natanael Copa's avatar
Natanael Copa committed
34
	cd "$_builddir"
35

Carlo Landmeter's avatar
Carlo Landmeter committed
36 37 38 39 40 41 42 43
	# 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
44 45 46 47 48 49
	# 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
Carlo Landmeter's avatar
Carlo Landmeter committed
50 51
	# Fix build error with recent kernels
	rm include/linux/if_pppol2tp.h
52 53 54 55 56
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		|| return 1
Natanael Copa's avatar
Natanael Copa committed
57
	make COPTS="$CFLAGS" || return 1
Natanael Copa's avatar
Natanael Copa committed
58 59 60 61
}

package() {
	cd "$_builddir"
62 63 64
	make INSTROOT="$pkgdir" install || return 1
	install -Dm644 include/net/ppp_defs.h \
		"$pkgdir"/usr/include/net/ppp_defs.h || return 1
Natanael Copa's avatar
Natanael Copa committed
65 66
	install -D -m755 "$srcdir"/ip-up "$pkgdir"/etc/ppp/ip-up
	install -D -m755 "$srcdir"/ip-down "$pkgdir"/etc/ppp/ip-down
67
	install -D -m644 etc.ppp/options "$pkgdir"/etc/ppp/options
Natanael Copa's avatar
Natanael Copa committed
68 69
	install -D -m600 etc.ppp/pap-secrets "$pkgdir"/etc/ppp/pap-secrets
	install -D -m600 etc.ppp/chap-secrets "$pkgdir"/etc/ppp/chap-secrets
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 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
	install -D -m644 scripts/pon.1 "$pkgdir"/usr/share/man/man1/pon.1
	install -d "$pkgdir"/usr/share/doc/ppp
	cp scripts/* "$pkgdir"/usr/share/doc/ppp/
	rm "$pkgdir"/usr/share/doc/ppp/pon.1
	install -d "$pkgdir"/etc/ppp/peers
}

atm() {
	pkgdesc="pppd plugin to implement PPPoATM protocol"
	depends="ppp"
	_mv usr/lib/pppd/$pkgver/pppoatm.so 755
}

minconn() {
	pkgdesc="pppd plugin to implement a 'minconnect' option"
	depends="ppp"
	_mv usr/lib/pppd/$pkgver/minconn.so 755
}

winbind() {
	pkgdesc="WINBIND plugin for pppd"
	depends="ppp"
	_mv usr/lib/pppd/$pkgver/winbind.so 755
}


passprompt() {
	pkgdesc="pppd plugin to invoke an external PAP password prompter"
	depends="ppp"
	_mv usr/lib/pppd/$pkgver/passprompt.so 755
}

passwordfd() {
	pkgdesc="pppd plugin let's you pass the password via a file descriptor"
	depends="ppp"
	_mv usr/lib/pppd/$pkgver/passwordfd.so 755
}

chat() {
	pkgdesc="a program for automatic ppp session establishment"
	_mv usr/sbin/chat 755
}

chat_doc() {
	arch="noarch"
	_mv usr/share/man/man8/chat.8 644 doc
}

l2tp() {
	pkgdesc="pppd plugin to implement PPPoL2TP protocol"
	depends="ppp"
	_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"
	_mv usr/lib/pppd/$pkgver/rp-pppoe.so 755
	_mv usr/sbin/pppoe-discovery 755
}

radius() {
	pkgdesc="RADIUS plugin for pppd"
	depends="ppp"
	_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
}

radius_doc() {
	arch="noarch"
	_mv usr/share/man/man8/pppd-radius.8 644 doc
	_mv usr/share/man/man8/pppd-radattr.8 644 doc
}

_mv() {
	install -m $2 -D "$pkgdir"/$1 "$subpkgdir"/$1
	if [ "$3" = "doc" ]; then
		gzip -9 "$subpkgdir"/$1
	fi
	rm "$pkgdir"/$1
Natanael Copa's avatar
Natanael Copa committed
157
}
158
md5sums="78818f40e6d33a1d1de68a1551f6595a  ppp-2.4.7.tar.gz
159 160
5a5c2d1bdca62979d9ed7a5a648e86d1  defaultroute-metric.3.patch
8d2128c74d62a2844491a24794b05a3e  musl-fix-headers.patch
161 162 163 164
c8f78e010a776d114d687b1a742ca6bb  fix-paths.patch
a88b40b1bf91eb5cca3762b7195e4fe2  ip-down
fac0c773490371ea673f4be0977a230f  ip-up"
sha256sums="02e0a3dd3e4799e33103f70ec7df75348c8540966ee7c948e4ed8a42bbccfb30  ppp-2.4.7.tar.gz
165 166
1f69c03747ed68eaaaa8b2f0a239e57f167967fc90a6f89d802dcfe77026846f  defaultroute-metric.3.patch
b136d5366e64a686a3ea24baaaeb4a37c2654c098dd7fcb263caebf9e9281956  musl-fix-headers.patch
167 168 169 170
b6453eeb32a78d6748b3fc5ef9f21a7862f70f8316c3903097ad63f00497266b  fix-paths.patch
84f2b44c9f4b8abdbc9cfbfffb669fa19385b80da55f9c292df115189dc62bd6  ip-down
7d44e21ed945434c32a385f44c690826f74c3d5ddac353deae8174692d8d1beb  ip-up"
sha512sums="e34ce24020af6a73e7a26c83c4f73a9c83fa455b7b363794dba27bf01f70368be06bff779777843949bd77f4bc9385d6ad455ea48bf8fff4e0d73cc8fef16ae2  ppp-2.4.7.tar.gz
171 172
fccc7a6809ae4a617796ccf1d2132de8edb1cc0c71d76a95393585a5970b92be2a54da558702db355c8aea8d37b4dfffc64406129a2b3322f0b10e8f0481f685  defaultroute-metric.3.patch
2f071ea9db15e4abf1bed6cce8130dc81b710a31bfef5fa8f9370c353f845dbc47674b1551b8e040478e5156add6f98d480530206125e8bb308f0f4288d1eec6  musl-fix-headers.patch
173 174 175
8384afb992a98a7f97b484866e6aa1b1de51e901d7837f84f7ce2beba6815591450fab43957f03b65804424c4940c59640a9cd878979240a171aa77427e9c4ff  fix-paths.patch
160260bd2a788beaac395eadb38efbfd1e0e1a458fe151555acacf2c4f3a12381d644672c664f9793db6e3459a4f05a54e3ff6d407b0d37e8014b15bd0f11bcc  ip-down
8258c95a6b6e8e94d6001b5cd3a99bd3270f29ba0f2e5050a26c8d5f1b67eead8d039e71ce86a784d45e620047b0a2bb14b258d80a9ea62084ba588a4c2e2d84  ip-up"