123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- ################################################################################
- #
- # pppd
- #
- ################################################################################
- PPPD_VERSION = 2.4.8
- 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
- # 0001-pppd-Fix-bounds-check.patch
- PPPD_IGNORE_CVES += CVE-2020-8597
- PPPD_MAKE_OPTS = HAVE_INET6=y
- ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y)
- PPPD_DEPENDENCIES += openssl
- else
- PPPD_MAKE_OPTS += USE_CRYPT=y
- 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/rp-pppoe/rp-pppoe.so \
- $(TARGET_DIR)/usr/lib/pppd/$(PPPD_VERSION)/rp-pppoe.so
- $(INSTALL) -D $(PPPD_DIR)/pppd/plugins/rp-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))
|