075b01f2f7
- Drop patch (already in version) - Update hash of bsd-comp.c, ccp.c and passprompt.c (no change in license) - rp-pppoe has been renamed to pppoe sinceb2c36e6c0e
- Manage EAP-TLS which depends on openssl and has been added and is enabled by default sincee87fe1bbd3
It should be noted that openssl is still mandatory with glibc because encrypt and setkey have been removed since version 2.28 (see commitb519bcafe7
) - musl is now supported - Update indentation in hash file (two spaces) https://github.com/paulusmack/ppp/blob/2.4.9/README Fixes: - https://bugs.busybox.net/show_bug.cgi?id=13436 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
125 lines
4.5 KiB
Makefile
125 lines
4.5 KiB
Makefile
################################################################################
|
|
#
|
|
# pppd
|
|
#
|
|
################################################################################
|
|
|
|
PPPD_VERSION = 2.4.9
|
|
PPPD_SITE = $(call github,paulusmack,ppp,ppp-$(PPPD_VERSION))
|
|
PPPD_LICENSE = LGPL-2.0+, LGPL, BSD-4-Clause, BSD-3-Clause, GPL-2.0+
|
|
PPPD_LICENSE_FILES = \
|
|
pppd/tdb.c pppd/plugins/pppoatm/COPYING \
|
|
pppdump/bsd-comp.c pppd/ccp.c pppd/plugins/passprompt.c
|
|
PPPD_CPE_ID_VENDOR = samba
|
|
PPPD_CPE_ID_PRODUCT = ppp
|
|
PPPD_SELINUX_MODULES = ppp
|
|
|
|
PPPD_MAKE_OPTS = HAVE_INET6=y
|
|
|
|
ifeq ($(BR2_PACKAGE_OPENSSL),y)
|
|
PPPD_DEPENDENCIES += openssl
|
|
PPPD_MAKE_OPTS += USE_EAPTLS=y
|
|
else
|
|
PPPD_MAKE_OPTS += \
|
|
USE_CRYPT=y \
|
|
USE_EAPTLS=
|
|
endif
|
|
|
|
PPPD_INSTALL_STAGING = YES
|
|
PPPD_TARGET_BINS = chat pppd pppdump pppstats
|
|
PPPD_RADIUS_CONF = \
|
|
dictionary dictionary.ascend dictionary.compat \
|
|
dictionary.merit dictionary.microsoft \
|
|
issue port-id-map realms servers radiusclient.conf
|
|
|
|
ifeq ($(BR2_PACKAGE_PPPD_FILTER),y)
|
|
PPPD_DEPENDENCIES += libpcap
|
|
PPPD_MAKE_OPTS += FILTER=y
|
|
endif
|
|
|
|
# pppd bundles some but not all of the needed kernel headers. The embedded
|
|
# if_pppol2tp.h is unfortunately not compatible with kernel headers > 2.6.34,
|
|
# and has been part of the kernel headers since 2.6.23, so drop it
|
|
define PPPD_DROP_INTERNAL_IF_PPOL2TP_H
|
|
$(RM) $(@D)/include/linux/if_pppol2tp.h
|
|
endef
|
|
|
|
PPPD_POST_EXTRACT_HOOKS += PPPD_DROP_INTERNAL_IF_PPOL2TP_H
|
|
|
|
# pppd defaults to /etc/ppp/resolv.conf, which not be writable and is
|
|
# definitely not useful since the C library only uses
|
|
# /etc/resolv.conf. Therefore, we change pppd to use /etc/resolv.conf
|
|
# instead.
|
|
define PPPD_SET_RESOLV_CONF
|
|
$(SED) 's,ppp/resolv.conf,resolv.conf,' $(@D)/pppd/pathnames.h
|
|
endef
|
|
ifeq ($(BR2_PACKAGE_PPPD_OVERWRITE_RESOLV_CONF),y)
|
|
PPPD_POST_EXTRACT_HOOKS += PPPD_SET_RESOLV_CONF
|
|
endif
|
|
|
|
define PPPD_CONFIGURE_CMDS
|
|
$(SED) 's/FILTER=y/#FILTER=y/' $(PPPD_DIR)/pppd/Makefile.linux
|
|
$(SED) 's/ifneq ($$(wildcard \/usr\/include\/pcap-bpf.h),)/ifdef FILTER/' $(PPPD_DIR)/*/Makefile.linux
|
|
( cd $(@D); $(TARGET_MAKE_ENV) ./configure --prefix=/usr )
|
|
endef
|
|
|
|
define PPPD_BUILD_CMDS
|
|
$(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" COPTS="$(TARGET_CFLAGS)" \
|
|
-C $(@D) $(PPPD_MAKE_OPTS)
|
|
endef
|
|
|
|
ifeq ($(BR2_PACKAGE_PPPD_RADIUS),y)
|
|
define PPPD_INSTALL_RADIUS
|
|
$(INSTALL) -D $(PPPD_DIR)/pppd/plugins/radius/radattr.so \
|
|
$(TARGET_DIR)/usr/lib/pppd/$(PPPD_VERSION)/radattr.so
|
|
$(INSTALL) -D $(PPPD_DIR)/pppd/plugins/radius/radius.so \
|
|
$(TARGET_DIR)/usr/lib/pppd/$(PPPD_VERSION)/radius.so
|
|
$(INSTALL) -D $(PPPD_DIR)/pppd/plugins/radius/radrealms.so \
|
|
$(TARGET_DIR)/usr/lib/pppd/$(PPPD_VERSION)/radrealms.so
|
|
for m in $(PPPD_RADIUS_CONF); do \
|
|
$(INSTALL) -m 644 -D $(PPPD_DIR)/pppd/plugins/radius/etc/$$m \
|
|
$(TARGET_DIR)/etc/ppp/radius/$$m; \
|
|
done
|
|
$(SED) 's:/usr/local/etc:/etc:' \
|
|
$(TARGET_DIR)/etc/ppp/radius/radiusclient.conf
|
|
$(SED) 's:/usr/local/sbin:/usr/sbin:' \
|
|
$(TARGET_DIR)/etc/ppp/radius/radiusclient.conf
|
|
$(SED) 's:/etc/radiusclient:/etc/ppp/radius:g' \
|
|
$(TARGET_DIR)/etc/ppp/radius/*
|
|
endef
|
|
endif
|
|
|
|
define PPPD_INSTALL_TARGET_CMDS
|
|
for sbin in $(PPPD_TARGET_BINS); do \
|
|
$(INSTALL) -D $(PPPD_DIR)/$$sbin/$$sbin \
|
|
$(TARGET_DIR)/usr/sbin/$$sbin; \
|
|
done
|
|
$(INSTALL) -D $(PPPD_DIR)/pppd/plugins/minconn.so \
|
|
$(TARGET_DIR)/usr/lib/pppd/$(PPPD_VERSION)/minconn.so
|
|
$(INSTALL) -D $(PPPD_DIR)/pppd/plugins/passprompt.so \
|
|
$(TARGET_DIR)/usr/lib/pppd/$(PPPD_VERSION)/passprompt.so
|
|
$(INSTALL) -D $(PPPD_DIR)/pppd/plugins/passwordfd.so \
|
|
$(TARGET_DIR)/usr/lib/pppd/$(PPPD_VERSION)/passwordfd.so
|
|
$(INSTALL) -D $(PPPD_DIR)/pppd/plugins/pppoatm/pppoatm.so \
|
|
$(TARGET_DIR)/usr/lib/pppd/$(PPPD_VERSION)/pppoatm.so
|
|
$(INSTALL) -D $(PPPD_DIR)/pppd/plugins/pppoe/pppoe.so \
|
|
$(TARGET_DIR)/usr/lib/pppd/$(PPPD_VERSION)/pppoe.so
|
|
$(INSTALL) -D $(PPPD_DIR)/pppd/plugins/pppoe/pppoe-discovery \
|
|
$(TARGET_DIR)/usr/sbin/pppoe-discovery
|
|
$(INSTALL) -D $(PPPD_DIR)/pppd/plugins/winbind.so \
|
|
$(TARGET_DIR)/usr/lib/pppd/$(PPPD_VERSION)/winbind.so
|
|
$(INSTALL) -D $(PPPD_DIR)/pppd/plugins/pppol2tp/openl2tp.so \
|
|
$(TARGET_DIR)/usr/lib/pppd/$(PPPD_VERSION)/openl2tp.so
|
|
$(INSTALL) -D $(PPPD_DIR)/pppd/plugins/pppol2tp/pppol2tp.so \
|
|
$(TARGET_DIR)/usr/lib/pppd/$(PPPD_VERSION)/pppol2tp.so
|
|
$(INSTALL) -D -m 0755 $(PPPD_DIR)/scripts/pon $(TARGET_DIR)/usr/bin/pon
|
|
$(INSTALL) -D -m 0755 $(PPPD_DIR)/scripts/poff $(TARGET_DIR)/usr/bin/poff
|
|
$(PPPD_INSTALL_RADIUS)
|
|
endef
|
|
|
|
define PPPD_INSTALL_STAGING_CMDS
|
|
$(TARGET_MAKE_ENV) $(MAKE) INSTROOT=$(STAGING_DIR)/ -C $(@D) $(PPPD_MAKE_OPTS) install-devel
|
|
endef
|
|
|
|
$(eval $(generic-package))
|