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
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.gz
16 PKG_SOURCE_URL
:=https
://download.samba.org
/pub
/ppp
/
17 PKG_HASH
:=02e0a3dd3e4799e33103f70ec7df75348c8540966ee7c948e4ed8a42bbccfb30
18 PKG_MAINTAINER
:=Felix Fietkau
<nbd@nbd.name
>
19 PKG_LICENSE
:=BSD-4-Clause
20 PKG_CPE_ID
:=cpe
:/a
:samba
:ppp
22 PKG_BUILD_DIR
:=$(BUILD_DIR
)/$(PKG_NAME
)-$(BUILD_VARIANT
)/$(PKG_NAME
)-$(PKG_VERSION
)
24 PKG_BUILD_DEPENDS
:=libpcap
29 include $(INCLUDE_DIR
)/package.mk
31 define Package
/ppp
/Default
34 URL
:=https
://ppp.samba.org
/
38 $(call Package
/ppp
/Default
)
44 define Package
/ppp-multilink
45 $(call Package
/ppp
/Default
)
47 TITLE
:=PPP daemon
(with multilink support
)
51 define Package
/ppp
/description
52 This package contains the PPP
(Point-to-Point Protocol
) daemon.
55 define Package
/ppp
/conffiles
65 define Package
/ppp-mod-pppoa
66 $(call Package
/ppp
/Default
)
67 DEPENDS
:=@
(PACKAGE_ppp||PACKAGE_ppp-multilink
) +linux-atm
+kmod-pppoa
71 define Package
/ppp-mod-pppoa
/description
72 This package contains a PPPoA
(PPP over ATM
) plugin for ppp.
75 define Package
/ppp-mod-pppoe
76 $(call Package
/ppp
/Default
)
77 DEPENDS
:=@
(PACKAGE_ppp||PACKAGE_ppp-multilink
) +kmod-pppoe
81 define Package
/ppp-mod-pppoe
/description
82 This package contains a PPPoE
(PPP over Ethernet
) plugin for ppp.
85 define Package
/ppp-mod-radius
86 $(call Package
/ppp
/Default
)
87 DEPENDS
:=@
(PACKAGE_ppp||PACKAGE_ppp-multilink
)
91 define Package
/ppp-mod-radius
/description
92 This package contains a RADIUS
(Remote Authentication Dial-In User Service
)
96 define Package
/ppp-mod-radius
/conffiles
101 define Package
/ppp-mod-pppol2tp
102 $(call Package
/ppp
/Default
)
103 DEPENDS
:=@
(PACKAGE_ppp||PACKAGE_ppp-multilink
) +kmod-pppol2tp
104 TITLE
:=PPPoL2TP plugin
107 define Package
/ppp-mod-pppol2tp
/description
108 This package contains a PPPoL2TP
(PPP over L2TP
) plugin for ppp.
111 define Package
/ppp-mod-pptp
112 $(call Package
/ppp
/Default
)
113 DEPENDS
:=@
(PACKAGE_ppp||PACKAGE_ppp-multilink
) +kmod-pptp
+kmod-mppe
+resolveip
117 define Package
/ppp-mod-pptp
/description
118 This package contains a PPtP plugin for ppp.
121 define Package
/ppp-mod-passwordfd
122 $(call Package
/ppp
/Default
)
123 DEPENDS
:=@
(PACKAGE_ppp||PACKAGE_ppp-multilink
)
124 TITLE
:=pap
/chap secret from filedescriptor
127 define Package
/ppp-mod-passwordfd
/description
128 This package allows to pass the PAP
/CHAP secret from a filedescriptor.
129 Eliminates the need for a secrets file.
133 $(call Package
/ppp
/Default
)
134 TITLE
:=Establish conversation with a modem
137 define Package
/chat
/description
138 This package contains an utility to establish conversation with other PPP servers
142 define Package
/pppdump
143 $(call Package
/ppp
/Default
)
144 DEPENDS
:=@
(PACKAGE_ppp||PACKAGE_ppp-multilink
)
145 TITLE
:=Read PPP record file
148 define Package
/pppdump
/description
149 This package contains an utility to read PPP record file.
152 define Package
/pppstats
153 $(call Package
/ppp
/Default
)
154 DEPENDS
:=@
(PACKAGE_ppp||PACKAGE_ppp-multilink
)
155 TITLE
:=Report PPP statistics
158 define Package
/pppstats
/description
159 This package contains an utility to report PPP statistics.
162 define Package
/pppoe-discovery
163 $(call Package
/ppp
/Default
)
164 DEPENDS
:=@
(PACKAGE_ppp||PACKAGE_ppp-multilink
) +ppp-mod-pppoe
165 TITLE
:=Perform a PPPoE-discovery process
168 define Package
/pppoe-discovery
/description
169 This tool performs the same discovery process
as pppoe
, but does
170 not initiate a session. Can be useful to debug pppoe.
174 define Build
/Configure
175 $(call Build
/Configure
/Default
,, \
177 UNAME_R
="$(LINUX_VERSION)" \
180 mkdir
-p
$(PKG_BUILD_DIR
)/pppd
/plugins
/pppoatm
/linux
182 $(LINUX_DIR
)/include/linux
/compiler.h \
183 $(LINUX_DIR
)/include/$(LINUX_UAPI_DIR
)linux
/atm
*.h \
184 $(PKG_BUILD_DIR
)/pppd
/plugins
/pppoatm
/linux
/
186 # Kernel 4.14.9+ only, ignore the exit status of cp in case the file
188 -$(CP
) $(LINUX_DIR
)/include/linux
/compiler_types.h \
189 $(PKG_BUILD_DIR
)/pppd
/plugins
/pppoatm
/linux
/
192 TARGET_CFLAGS
+= -ffunction-sections
-fdata-sections
-flto
193 TARGET_LDFLAGS
+= -Wl
,--gc-sections
-flto
-fuse-linker-plugin
195 MAKE_FLAGS
+= COPTS
="$(TARGET_CFLAGS)" \
196 PRECOMPILED_FILTER
=1 \
197 STAGING_DIR
="$(STAGING_DIR)"
199 ifeq ($(BUILD_VARIANT
),multilink
)
200 MAKE_FLAGS
+= HAVE_MULTILINK
=y
202 MAKE_FLAGS
+= HAVE_MULTILINK
=
205 ifdef CONFIG_USE_MUSL
206 MAKE_FLAGS
+= USE_LIBUTIL
=
209 define Build
/InstallDev
210 $(INSTALL_DIR
) $(1)/usr
/include
211 $(CP
) $(PKG_INSTALL_DIR
)/include/pppd
$(1)/usr
/include/
214 define Package
/ppp
/script_install
217 define Package
/ppp
/install
218 $(INSTALL_DIR
) $(1)/usr
/lib
/pppd
/$(PKG_VERSION
)
219 $(INSTALL_DIR
) $(1)/usr
/sbin
220 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/sbin
/pppd
$(1)/usr
/sbin
/
221 $(INSTALL_DIR
) $(1)/etc
/ppp
222 $(INSTALL_CONF
) .
/files
/etc
/ppp
/chap-secrets
$(1)/etc
/ppp
/
223 $(INSTALL_DATA
) .
/files
/etc
/ppp
/filter $(1)/etc
/ppp
/
224 $(INSTALL_DATA
) .
/files
/etc
/ppp
/options
$(1)/etc
/ppp
/
225 $(LN
) /tmp
/resolv.conf.ppp
$(1)/etc
/ppp
/resolv.conf
226 $(INSTALL_DIR
) $(1)/lib
/netifd
/proto
227 $(INSTALL_BIN
) .
/files
/ppp.sh
$(1)/lib
/netifd
/proto
/
228 $(INSTALL_BIN
) .
/files
/lib
/netifd
/ppp-up
$(1)/lib
/netifd
/
229 $(INSTALL_BIN
) .
/files
/lib
/netifd
/ppp6-up
$(1)/lib
/netifd
/
230 $(INSTALL_BIN
) .
/files
/lib
/netifd
/ppp-down
$(1)/lib
/netifd
/
232 Package
/ppp-multilink
/install=$(Package
/ppp
/install)
234 define Package
/ppp-mod-pppoa
/install
235 $(INSTALL_DIR
) $(1)/usr
/lib
/pppd
/$(PKG_VERSION
)
236 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/lib
/pppd
/$(PKG_VERSION
)/pppoatm.so \
237 $(1)/usr
/lib
/pppd
/$(PKG_VERSION
)/
240 define Package
/ppp-mod-pppoe
/install
241 $(INSTALL_DIR
) $(1)/usr
/lib
/pppd
/$(PKG_VERSION
)
242 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/lib
/pppd
/$(PKG_VERSION
)/rp-pppoe.so \
243 $(1)/usr
/lib
/pppd
/$(PKG_VERSION
)/
246 define Package
/ppp-mod-radius
/install
247 $(INSTALL_DIR
) $(1)/usr
/lib
/pppd
/$(PKG_VERSION
)
248 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/lib
/pppd
/$(PKG_VERSION
)/radius.so \
249 $(1)/usr
/lib
/pppd
/$(PKG_VERSION
)/
250 $(INSTALL_DIR
) $(1)/etc
/ppp
251 $(INSTALL_DATA
) .
/files
/etc
/ppp
/radius.conf
$(1)/etc
/ppp
/
252 $(INSTALL_DIR
) $(1)/etc
/ppp
/radius
253 $(INSTALL_DATA
) .
/files
/etc
/ppp
/radius
/dictionary
* \
255 $(INSTALL_CONF
) .
/files
/etc
/ppp
/radius
/servers \
259 define Package
/ppp-mod-pppol2tp
/install
260 $(INSTALL_DIR
) $(1)/usr
/lib
/pppd
/$(PKG_VERSION
)
261 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/lib
/pppd
/$(PKG_VERSION
)/pppol2tp.so \
262 $(1)/usr
/lib
/pppd
/$(PKG_VERSION
)/
265 define Package
/ppp-mod-pptp
/install
266 $(INSTALL_DIR
) $(1)/usr
/lib
/pppd
/$(PKG_VERSION
)
267 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/lib
/pppd
/$(PKG_VERSION
)/pptp.so \
268 $(1)/usr
/lib
/pppd
/$(PKG_VERSION
)/
269 $(INSTALL_DIR
) $(1)/etc
/ppp
270 $(INSTALL_DATA
) .
/files
/etc
/ppp
/options.pptp
$(1)/etc
/ppp
/
273 define Package
/ppp-mod-passwordfd
/install
274 $(INSTALL_DIR
) $(1)/usr
/lib
/pppd
/$(PKG_VERSION
)
275 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/lib
/pppd
/$(PKG_VERSION
)/passwordfd.so \
276 $(1)/usr
/lib
/pppd
/$(PKG_VERSION
)/
279 define Package
/chat
/install
280 $(INSTALL_DIR
) $(1)/usr
/sbin
281 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/sbin
/chat
$(1)/usr
/sbin
/
284 define Package
/pppdump
/install
285 $(INSTALL_DIR
) $(1)/usr
/sbin
286 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/sbin
/pppdump
$(1)/usr
/sbin
/
289 define Package
/pppstats
/install
290 $(INSTALL_DIR
) $(1)/usr
/sbin
291 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/sbin
/pppstats
$(1)/usr
/sbin
/
294 define Package
/pppoe-discovery
/install
295 $(INSTALL_DIR
) $(1)/usr
/sbin
296 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/sbin
/pppoe-discovery
$(1)/usr
/sbin
/
299 $(eval
$(call BuildPackage
,ppp
))
300 $(eval
$(call BuildPackage
,ppp-multilink
))
301 $(eval
$(call BuildPackage
,ppp-mod-pppoa
))
302 $(eval
$(call BuildPackage
,ppp-mod-pppoe
))
303 $(eval
$(call BuildPackage
,ppp-mod-radius
))
304 $(eval
$(call BuildPackage
,ppp-mod-pppol2tp
))
305 $(eval
$(call BuildPackage
,ppp-mod-pptp
))
306 $(eval
$(call BuildPackage
,ppp-mod-passwordfd
))
307 $(eval
$(call BuildPackage
,chat
))
308 $(eval
$(call BuildPackage
,pppdump
))
309 $(eval
$(call BuildPackage
,pppstats
))
310 $(eval
$(call BuildPackage
,pppoe-discovery
))