2 # Copyright (C) 2006-2015 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
9 include $(INCLUDE_DIR
)/kernel.mk
15 PKG_SOURCE_URL
:=https
://github.com
/paulusmack
/ppp
16 PKG_SOURCE_DATE
:=2021-01-04
17 PKG_SOURCE_VERSION
:=4fb319056f168bb8379865b91b4fd3e1ada73f1e
18 PKG_MIRROR_HASH
:=429cb5fcff36e1d8698766130711d4764347f08b83233dfb4831bea21616efef
19 PKG_MAINTAINER
:=Felix Fietkau
<nbd@nbd.name
>
20 PKG_LICENSE
:=BSD-4-Clause
21 PKG_CPE_ID
:=cpe
:/a
:samba
:ppp
23 PKG_RELEASE_VERSION
:=2.4.9
24 PKG_VERSION
:=$(PKG_RELEASE_VERSION
).git-
$(PKG_SOURCE_DATE
)
26 PKG_BUILD_DEPENDS
:=libpcap
28 PKG_ASLR_PIE_REGULAR
:=1
29 PKG_BUILD_FLAGS
:=gc-sections
33 include $(INCLUDE_DIR
)/package.mk
35 define Package
/ppp
/Default
38 URL
:=https
://ppp.samba.org
/
42 $(call Package
/ppp
/Default
)
48 define Package
/ppp-multilink
49 $(call Package
/ppp
/Default
)
51 TITLE
:=PPP daemon
(with multilink support
)
55 define Package
/ppp
/description
56 This package contains the PPP
(Point-to-Point Protocol
) daemon.
59 define Package
/ppp
/conffiles
69 define Package
/ppp-mod-pppoa
70 $(call Package
/ppp
/Default
)
71 DEPENDS
:=@
(PACKAGE_ppp||PACKAGE_ppp-multilink
) +linux-atm
+kmod-pppoa
75 define Package
/ppp-mod-pppoa
/description
76 This package contains a PPPoA
(PPP over ATM
) plugin for ppp.
79 define Package
/ppp-mod-pppoe
80 $(call Package
/ppp
/Default
)
81 DEPENDS
:=@
(PACKAGE_ppp||PACKAGE_ppp-multilink
) +kmod-pppoe
85 define Package
/ppp-mod-pppoe
/description
86 This package contains a PPPoE
(PPP over Ethernet
) plugin for ppp.
89 define Package
/ppp-mod-radius
90 $(call Package
/ppp
/Default
)
91 DEPENDS
:=@
(PACKAGE_ppp||PACKAGE_ppp-multilink
)
95 define Package
/ppp-mod-radius
/description
96 This package contains a RADIUS
(Remote Authentication Dial-In User Service
)
100 define Package
/ppp-mod-radius
/conffiles
105 define Package
/ppp-mod-pppol2tp
106 $(call Package
/ppp
/Default
)
107 DEPENDS
:=@
(PACKAGE_ppp||PACKAGE_ppp-multilink
) +kmod-pppol2tp
108 TITLE
:=PPPoL2TP plugin
111 define Package
/ppp-mod-pppol2tp
/description
112 This package contains a PPPoL2TP
(PPP over L2TP
) plugin for ppp.
115 define Package
/ppp-mod-pptp
116 $(call Package
/ppp
/Default
)
117 DEPENDS
:=@
(PACKAGE_ppp||PACKAGE_ppp-multilink
) +kmod-pptp
+kmod-mppe
+resolveip
121 define Package
/ppp-mod-pptp
/description
122 This package contains a PPtP plugin for ppp.
125 define Package
/ppp-mod-passwordfd
126 $(call Package
/ppp
/Default
)
127 DEPENDS
:=@
(PACKAGE_ppp||PACKAGE_ppp-multilink
)
128 TITLE
:=pap
/chap secret from filedescriptor
131 define Package
/ppp-mod-passwordfd
/description
132 This package allows to pass the PAP
/CHAP secret from a filedescriptor.
133 Eliminates the need for a secrets file.
137 $(call Package
/ppp
/Default
)
138 TITLE
:=Establish conversation with a modem
141 define Package
/chat
/description
142 This package contains an utility to establish conversation with other PPP servers
146 define Package
/pppdump
147 $(call Package
/ppp
/Default
)
148 DEPENDS
:=@
(PACKAGE_ppp||PACKAGE_ppp-multilink
)
149 TITLE
:=Read PPP record file
152 define Package
/pppdump
/description
153 This package contains an utility to read PPP record file.
156 define Package
/pppstats
157 $(call Package
/ppp
/Default
)
158 DEPENDS
:=@
(PACKAGE_ppp||PACKAGE_ppp-multilink
)
159 TITLE
:=Report PPP statistics
162 define Package
/pppstats
/description
163 This package contains an utility to report PPP statistics.
166 define Package
/pppoe-discovery
167 $(call Package
/ppp
/Default
)
168 DEPENDS
:=@
(PACKAGE_ppp||PACKAGE_ppp-multilink
) +ppp-mod-pppoe
169 TITLE
:=Perform a PPPoE-discovery process
172 define Package
/pppoe-discovery
/description
173 This tool performs the same discovery process
as pppoe
, but does
174 not initiate a session. Can be useful to debug pppoe.
178 define Build
/Configure
179 $(call Build
/Configure
/Default
,, \
181 UNAME_R
="$(LINUX_VERSION)" \
184 mkdir
-p
$(PKG_BUILD_DIR
)/pppd
/plugins
/pppoatm
/linux
186 $(LINUX_DIR
)/include/linux
/compiler.h \
187 $(LINUX_DIR
)/include/$(LINUX_UAPI_DIR
)linux
/atm
*.h \
188 $(PKG_BUILD_DIR
)/pppd
/plugins
/pppoatm
/linux
/
190 # Kernel 4.14.9+ only, ignore the exit status of cp in case the file
192 -$(CP
) $(LINUX_DIR
)/include/linux
/compiler_types.h \
193 $(PKG_BUILD_DIR
)/pppd
/plugins
/pppoatm
/linux
/
196 TARGET_CFLAGS
+= -flto
197 TARGET_LDFLAGS
+= -flto
-fuse-linker-plugin
199 MAKE_FLAGS
+= COPTS
="$(TARGET_CFLAGS)" \
200 PRECOMPILED_FILTER
=1 \
201 STAGING_DIR
="$(STAGING_DIR)"
203 ifeq ($(BUILD_VARIANT
),multilink
)
204 MAKE_FLAGS
+= HAVE_MULTILINK
=y
206 MAKE_FLAGS
+= HAVE_MULTILINK
=
209 ifdef CONFIG_USE_MUSL
210 MAKE_FLAGS
+= USE_LIBUTIL
=
213 define Build
/InstallDev
214 $(INSTALL_DIR
) $(1)/usr
/include
215 $(CP
) $(PKG_INSTALL_DIR
)/include/pppd
$(1)/usr
/include/
218 define Package
/ppp
/script_install
221 define Package
/ppp
/install
222 $(INSTALL_DIR
) $(1)/usr
/lib
/pppd
/$(PKG_RELEASE_VERSION
)
223 $(INSTALL_DIR
) $(1)/usr
/sbin
224 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/sbin
/pppd
$(1)/usr
/sbin
/
225 $(INSTALL_DIR
) $(1)/etc
/ppp
226 $(INSTALL_CONF
) .
/files
/etc
/ppp
/chap-secrets
$(1)/etc
/ppp
/
227 $(INSTALL_DATA
) .
/files
/etc
/ppp
/filter $(1)/etc
/ppp
/
228 $(INSTALL_DATA
) .
/files
/etc
/ppp
/options
$(1)/etc
/ppp
/
229 $(LN
) /tmp
/resolv.conf.ppp
$(1)/etc
/ppp
/resolv.conf
230 $(INSTALL_DIR
) $(1)/lib
/netifd
/proto
231 $(INSTALL_BIN
) .
/files
/ppp.sh
$(1)/lib
/netifd
/proto
/
232 $(INSTALL_BIN
) .
/files
/lib
/netifd
/ppp-up
$(1)/lib
/netifd
/
233 $(INSTALL_BIN
) .
/files
/lib
/netifd
/ppp6-up
$(1)/lib
/netifd
/
234 $(INSTALL_BIN
) .
/files
/lib
/netifd
/ppp-down
$(1)/lib
/netifd
/
236 Package
/ppp-multilink
/install=$(Package
/ppp
/install)
238 define Package
/ppp-mod-pppoa
/install
239 $(INSTALL_DIR
) $(1)/usr
/lib
/pppd
/$(PKG_RELEASE_VERSION
)
240 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/lib
/pppd
/$(PKG_RELEASE_VERSION
)/pppoatm.so \
241 $(1)/usr
/lib
/pppd
/$(PKG_RELEASE_VERSION
)/
244 define Package
/ppp-mod-pppoe
/install
245 $(INSTALL_DIR
) $(1)/usr
/lib
/pppd
/$(PKG_RELEASE_VERSION
)
246 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/lib
/pppd
/$(PKG_RELEASE_VERSION
)/pppoe.so \
247 $(1)/usr
/lib
/pppd
/$(PKG_RELEASE_VERSION
)/
250 define Package
/ppp-mod-radius
/install
251 $(INSTALL_DIR
) $(1)/usr
/lib
/pppd
/$(PKG_RELEASE_VERSION
)
252 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/lib
/pppd
/$(PKG_RELEASE_VERSION
)/radius.so \
253 $(1)/usr
/lib
/pppd
/$(PKG_RELEASE_VERSION
)/
254 $(INSTALL_DIR
) $(1)/etc
/ppp
255 $(INSTALL_DATA
) .
/files
/etc
/ppp
/radius.conf
$(1)/etc
/ppp
/
256 $(INSTALL_DIR
) $(1)/etc
/ppp
/radius
257 $(INSTALL_DATA
) .
/files
/etc
/ppp
/radius
/dictionary
* \
259 $(INSTALL_CONF
) .
/files
/etc
/ppp
/radius
/servers \
263 define Package
/ppp-mod-pppol2tp
/install
264 $(INSTALL_DIR
) $(1)/usr
/lib
/pppd
/$(PKG_RELEASE_VERSION
)
265 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/lib
/pppd
/$(PKG_RELEASE_VERSION
)/pppol2tp.so \
266 $(1)/usr
/lib
/pppd
/$(PKG_RELEASE_VERSION
)/
269 define Package
/ppp-mod-pptp
/install
270 $(INSTALL_DIR
) $(1)/usr
/lib
/pppd
/$(PKG_RELEASE_VERSION
)
271 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/lib
/pppd
/$(PKG_RELEASE_VERSION
)/pptp.so \
272 $(1)/usr
/lib
/pppd
/$(PKG_RELEASE_VERSION
)/
273 $(INSTALL_DIR
) $(1)/etc
/ppp
274 $(INSTALL_DATA
) .
/files
/etc
/ppp
/options.pptp
$(1)/etc
/ppp
/
277 define Package
/ppp-mod-passwordfd
/install
278 $(INSTALL_DIR
) $(1)/usr
/lib
/pppd
/$(PKG_RELEASE_VERSION
)
279 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/lib
/pppd
/$(PKG_RELEASE_VERSION
)/passwordfd.so \
280 $(1)/usr
/lib
/pppd
/$(PKG_RELEASE_VERSION
)/
283 define Package
/chat
/install
284 $(INSTALL_DIR
) $(1)/usr
/sbin
285 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/sbin
/chat
$(1)/usr
/sbin
/
288 define Package
/pppdump
/install
289 $(INSTALL_DIR
) $(1)/usr
/sbin
290 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/sbin
/pppdump
$(1)/usr
/sbin
/
293 define Package
/pppstats
/install
294 $(INSTALL_DIR
) $(1)/usr
/sbin
295 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/sbin
/pppstats
$(1)/usr
/sbin
/
298 define Package
/pppoe-discovery
/install
299 $(INSTALL_DIR
) $(1)/usr
/sbin
300 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/sbin
/pppoe-discovery
$(1)/usr
/sbin
/
303 $(eval
$(call BuildPackage
,ppp
))
304 $(eval
$(call BuildPackage
,ppp-multilink
))
305 $(eval
$(call BuildPackage
,ppp-mod-pppoa
))
306 $(eval
$(call BuildPackage
,ppp-mod-pppoe
))
307 $(eval
$(call BuildPackage
,ppp-mod-radius
))
308 $(eval
$(call BuildPackage
,ppp-mod-pppol2tp
))
309 $(eval
$(call BuildPackage
,ppp-mod-pptp
))
310 $(eval
$(call BuildPackage
,ppp-mod-passwordfd
))
311 $(eval
$(call BuildPackage
,chat
))
312 $(eval
$(call BuildPackage
,pppdump
))
313 $(eval
$(call BuildPackage
,pppstats
))
314 $(eval
$(call BuildPackage
,pppoe-discovery
))