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