add support for multiple /etc/ppp/ip-{up,down} scripts.
[openwrt/svn-archive/archive.git] / openwrt / package / ppp / Makefile
index f248412ae9d4065e2c7491789f383252de2612da..c2c7c9694031ff24f8b72100663249ee4d055849 100644 (file)
@@ -4,7 +4,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ppp
 PKG_VERSION:=2.4.3
-PKG_RELEASE:=5
+PKG_RELEASE:=7
 PKG_MD5SUM:=848f6c3cafeb6074ffeb293c3af79b7c
 
 PKG_SOURCE_URL:=ftp://ftp.samba.org/pub/ppp/
@@ -28,15 +28,22 @@ $$(IPKG_$(1)):
 endef
 
 $(eval $(call PKG_template,PPP,ppp,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,PPP_MOD_PPPOA,ppp-mod-pppoa,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
 $(eval $(call PKG_template,PPP_MOD_PPPOE,ppp-mod-pppoe,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
 $(eval $(call PKG_template,PPP_MOD_RADIUS,ppp-mod-radius,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
 $(eval $(call PKG_template,CHAT,chat,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
 $(eval $(call PKG_template,PPPDUMP,pppdump,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
 $(eval $(call PKG_template,PPPSTATS,pppstats,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
 
+$(eval $(call PKG_mod_template,PPP_MOD_PPPOA,pppoatm))
 $(eval $(call PKG_mod_template,PPP_MOD_PPPOE,rp-pppoe))
 $(eval $(call PKG_mod_template,PPP_MOD_RADIUS,radius))
 
+PKG_DEPEND:="kmod-ppp"
+ifeq ($(BR2_PACKAGE_PPP_WITH_FILTER),y)
+ENABLE_FILTER:="PRECOMPILED_FILTER=1"
+endif
+
 $(PKG_BUILD_DIR)/.configured:
        (cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
                $(TARGET_CONFIGURE_OPTS) \
@@ -71,23 +78,39 @@ $(PKG_BUILD_DIR)/.built:
                CC=$(TARGET_CC) \
                COPTS="$(TARGET_CFLAGS)" \
                HAVE_INET6="1" \
+               $(ENABLE_FILTER) \
+               STAGING_DIR=$(STAGING_DIR) \
                DESTDIR="$(PKG_INSTALL_DIR)/usr" \
                all install
        touch $@
 
+ifeq ($(BR2_PACKAGE_PPP_WITH_FILTER),y)
+INSTALL_FILTER=install -m0644 ./files/etc/ppp/filter $(IDIR_PPP)/etc/ppp/
+endif
+
 $(IPKG_PPP):
        install -d -m0755 $(IDIR_PPP)/etc/ppp
        ln -sf /tmp/resolv.conf $(IDIR_PPP)/etc/ppp/resolv.conf
        install -m0600 ./files/etc/ppp/chap-secrets $(IDIR_PPP)/etc/ppp/
        install -m0644 ./files/etc/ppp/options $(IDIR_PPP)/etc/ppp/
-       install -d -m0755 $(IDIR_PPP)/etc/ppp/peers
-       install -m0644 ./files/etc/ppp/peers/sample $(IDIR_PPP)/etc/ppp/peers/
+       $(INSTALL_FILTER)
+       install -m0755 ./files/etc/ppp/ip-up $(IDIR_PPP)/etc/ppp/
+       install -d -m0755 ./files/etc/ppp/ip-up.d
+       install -m0755 ./files/etc/ppp/ip-down $(IDIR_PPP)/etc/ppp/
+       install -d -m0755 ./files/etc/ppp/ip-down.d
        install -d -m0755 $(IDIR_PPP)/usr/sbin
        install -m0755 $(PKG_INSTALL_DIR)/usr/sbin/pppd $(IDIR_PPP)/usr/sbin/
        install -d -m0755 $(IDIR_PPP)/usr/lib/pppd
+       echo "Depends: $(PKG_DEPEND)" >> $(IDIR_PPP)/CONTROL/control
        $(RSTRIP) $(IDIR_PPP)
        $(IPKG_BUILD) $(IDIR_PPP) $(PACKAGE_DIR)
        
+$(IDIR_PPP_MOD_PPPOA)/sbin/ifup.pppoa:
+       install -d -m0755 $(IDIR_PPP_MOD_PPPOA)/sbin
+       install -m0755 ./files/ifup.pppoa $(IDIR_PPP_MOD_PPPOA)/sbin/
+
+$(IPKG_PPP_MOD_PPPOA): $(IDIR_PPP_MOD_PPPOA)/sbin/ifup.pppoa
+
 $(IDIR_PPP_MOD_PPPOE)/sbin/ifup.pppoe:
        install -d -m0755 $(IDIR_PPP_MOD_PPPOE)/sbin
        install -m0755 ./files/ifup.pppoe $(IDIR_PPP_MOD_PPPOE)/sbin/
@@ -95,7 +118,6 @@ $(IDIR_PPP_MOD_PPPOE)/sbin/ifup.pppoe:
 $(IPKG_PPP_MOD_PPPOE): $(IDIR_PPP_MOD_PPPOE)/sbin/ifup.pppoe
 
 $(IDIR_PPP_MOD_RADIUS)/etc/ppp/radius.conf:
-
        install -d -m0755 $(IDIR_PPP_MOD_RADIUS)/etc/ppp
        install -m644 ./files/etc/ppp/radius.conf $(IDIR_PPP_MOD_RADIUS)/etc/ppp/
        install -d -m0755 $(IDIR_PPP_MOD_RADIUS)/etc/ppp/radius
@@ -108,19 +130,19 @@ $(IPKG_PPP_MOD_RADIUS): $(IDIR_PPP_MOD_RADIUS)/etc/ppp/radius.conf
 
 $(IPKG_CHAT):
        install -d -m0755 $(IDIR_CHAT)/usr/sbin
-       cp -fpR $(PKG_INSTALL_DIR)/usr/sbin/chat $(IDIR_CHAT)/usr/sbin/
+       $(CP) $(PKG_INSTALL_DIR)/usr/sbin/chat $(IDIR_CHAT)/usr/sbin/
        $(RSTRIP) $(IDIR_CHAT)
        $(IPKG_BUILD) $(IDIR_CHAT) $(PACKAGE_DIR)
 
 $(IPKG_PPPDUMP):
        install -d -m0755 $(IDIR_PPPDUMP)/usr/sbin
-       cp -fpR $(PKG_INSTALL_DIR)/usr/sbin/pppdump $(IDIR_PPPDUMP)/usr/sbin/
+       $(CP) $(PKG_INSTALL_DIR)/usr/sbin/pppdump $(IDIR_PPPDUMP)/usr/sbin/
        $(RSTRIP) $(IDIR_PPPDUMP)
        $(IPKG_BUILD) $(IDIR_PPPDUMP) $(PACKAGE_DIR)
 
 $(IPKG_PPPSTATS): $(IPKG_PPP)
        install -d -m0755 $(IDIR_PPPSTATS)/usr/sbin
-       cp -fpR $(PKG_INSTALL_DIR)/usr/sbin/pppstats $(IDIR_PPPSTATS)/usr/sbin/
+       $(CP) $(PKG_INSTALL_DIR)/usr/sbin/pppstats $(IDIR_PPPSTATS)/usr/sbin/
        $(RSTRIP) $(IDIR_PPPSTATS)
        $(IPKG_BUILD) $(IDIR_PPPSTATS) $(PACKAGE_DIR)