xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-connectivity/ppp/ppp_2.4.9.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1SUMMARY = "Point-to-Point Protocol (PPP) support"
2DESCRIPTION = "ppp (Paul's PPP Package) is an open source package which implements \
3the Point-to-Point Protocol (PPP) on Linux and Solaris systems."
4SECTION = "console/network"
5HOMEPAGE = "http://samba.org/ppp/"
6BUGTRACKER = "http://ppp.samba.org/cgi-bin/ppp-bugs"
7DEPENDS = "libpcap openssl virtual/crypt"
8LICENSE = "BSD-3-Clause & BSD-3-Clause-Attribution & GPL-2.0-or-later & LGPL-2.0-or-later & PD"
9LIC_FILES_CHKSUM = "file://pppd/ccp.c;beginline=1;endline=29;md5=e2c43fe6e81ff77d87dc9c290a424dea \
10                    file://pppd/plugins/passprompt.c;beginline=1;endline=10;md5=3bcbcdbf0e369c9a3e0b8c8275b065d8 \
11                    file://pppd/tdb.c;beginline=1;endline=27;md5=4ca3a9991b011038d085d6675ae7c4e6 \
12                    file://chat/chat.c;beginline=1;endline=15;md5=0d374b8545ee5c62d7aff1acbd38add2"
13
14SRC_URI = "https://download.samba.org/pub/${BPN}/${BP}.tar.gz \
15           file://makefix.patch \
16           file://pon \
17           file://poff \
18           file://init \
19           file://ip-up \
20           file://ip-down \
21           file://08setupdns \
22           file://92removedns \
23           file://pap \
24           file://ppp_on_boot \
25           file://provider \
26           file://ppp@.service \
27           file://0001-ppp-fix-build-against-5.15-headers.patch \
28           file://CVE-2022-4603.patch \
29           "
30
31SRC_URI[sha256sum] = "f938b35eccde533ea800b15a7445b2f1137da7f88e32a16898d02dee8adc058d"
32
33inherit autotools-brokensep systemd
34
35TARGET_CC_ARCH += " ${LDFLAGS}"
36EXTRA_OEMAKE = "CC='${CC}' STRIPPROG=${STRIP} MANDIR=${D}${datadir}/man/man8 INCDIR=${D}${includedir} LIBDIR=${D}${libdir}/pppd/${PV} BINDIR=${D}${sbindir}"
37EXTRA_OECONF = "--disable-strip"
38
39# Package Makefile computes CFLAGS, referencing COPTS.
40# Typically hard-coded to '-O2 -g' in the Makefile's.
41#
42EXTRA_OEMAKE += ' COPTS="${CFLAGS} -I${STAGING_INCDIR}/openssl -I${S}/include"'
43
44EXTRA_OECONF:append:libc-musl = " --disable-ipxcp"
45
46do_configure () {
47	oe_runconf
48}
49
50do_install:append () {
51	make install-etcppp ETCDIR=${D}/${sysconfdir}/ppp
52	mkdir -p ${D}${bindir}/ ${D}${sysconfdir}/init.d
53	mkdir -p ${D}${sysconfdir}/ppp/ip-up.d/
54	mkdir -p ${D}${sysconfdir}/ppp/ip-down.d/
55	install -m 0755 ${WORKDIR}/pon ${D}${bindir}/pon
56	install -m 0755 ${WORKDIR}/poff ${D}${bindir}/poff
57	install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/ppp
58	install -m 0755 ${WORKDIR}/ip-up ${D}${sysconfdir}/ppp/
59	install -m 0755 ${WORKDIR}/ip-down ${D}${sysconfdir}/ppp/
60	install -m 0755 ${WORKDIR}/08setupdns ${D}${sysconfdir}/ppp/ip-up.d/
61	install -m 0755 ${WORKDIR}/92removedns ${D}${sysconfdir}/ppp/ip-down.d/
62	mkdir -p ${D}${sysconfdir}/chatscripts
63	mkdir -p ${D}${sysconfdir}/ppp/peers
64	install -m 0755 ${WORKDIR}/pap ${D}${sysconfdir}/chatscripts
65	install -m 0755 ${WORKDIR}/ppp_on_boot ${D}${sysconfdir}/ppp/ppp_on_boot
66	install -m 0755 ${WORKDIR}/provider ${D}${sysconfdir}/ppp/peers/provider
67	install -d ${D}${systemd_system_unitdir}
68	install -m 0644 ${WORKDIR}/ppp@.service ${D}${systemd_system_unitdir}
69	sed -i -e 's,@SBINDIR@,${sbindir},g' \
70	       ${D}${systemd_system_unitdir}/ppp@.service
71	rm -rf ${D}/${mandir}/man8/man8
72	chmod u+s ${D}${sbindir}/pppd
73}
74
75do_install:append:libc-musl () {
76	install -Dm 0644 ${S}/include/net/ppp_defs.h ${D}${includedir}/net/ppp_defs.h
77}
78
79CONFFILES:${PN} = "${sysconfdir}/ppp/pap-secrets ${sysconfdir}/ppp/chap-secrets ${sysconfdir}/ppp/options"
80PACKAGES =+ "${PN}-oa ${PN}-oe ${PN}-radius ${PN}-winbind ${PN}-minconn ${PN}-password ${PN}-l2tp ${PN}-tools"
81FILES:${PN}        = "${sysconfdir} ${bindir} ${sbindir}/chat ${sbindir}/pppd ${systemd_system_unitdir}/ppp@.service"
82FILES:${PN}-oa       = "${libdir}/pppd/${PV}/pppoatm.so"
83FILES:${PN}-oe       = "${sbindir}/pppoe-discovery ${libdir}/pppd/${PV}/*pppoe.so"
84FILES:${PN}-radius   = "${libdir}/pppd/${PV}/radius.so ${libdir}/pppd/${PV}/radattr.so ${libdir}/pppd/${PV}/radrealms.so"
85FILES:${PN}-winbind  = "${libdir}/pppd/${PV}/winbind.so"
86FILES:${PN}-minconn  = "${libdir}/pppd/${PV}/minconn.so"
87FILES:${PN}-password = "${libdir}/pppd/${PV}/pass*.so"
88FILES:${PN}-l2tp     = "${libdir}/pppd/${PV}/*l2tp.so"
89FILES:${PN}-tools    = "${sbindir}/pppstats ${sbindir}/pppdump"
90SUMMARY:${PN}-oa       = "Plugin for PPP for PPP-over-ATM support"
91SUMMARY:${PN}-oe       = "Plugin for PPP for PPP-over-Ethernet support"
92SUMMARY:${PN}-radius   = "Plugin for PPP for RADIUS support"
93SUMMARY:${PN}-winbind  = "Plugin for PPP to authenticate against Samba or Windows"
94SUMMARY:${PN}-minconn  = "Plugin for PPP to set a delay before the idle timeout applies"
95SUMMARY:${PN}-password = "Plugin for PPP to get passwords via a pipe"
96SUMMARY:${PN}-l2tp     = "Plugin for PPP for l2tp support"
97SUMMARY:${PN}-tools    = "Additional tools for the PPP package"
98
99# Ignore compatibility symlink rp-pppoe.so->pppoe.so
100INSANE_SKIP:${PN}-oe += "dev-so"
101