diff --git a/package/dhcp-forwarder/Makefile b/package/dhcp-forwarder/Makefile index 4f3508610..92f2fe232 100644 --- a/package/dhcp-forwarder/Makefile +++ b/package/dhcp-forwarder/Makefile @@ -7,43 +7,85 @@ PKG_VERSION := 0.7 PKG_RELEASE := 4 PKG_MD5SUM := e7f876e615ebc3f96418f6477b4451e2 -PKG_SOURCE_SITE := http://savannah.nongnu.org/download/dhcp-fwd/ \ +PKG_SOURCE_URL := http://savannah.nongnu.org/download/dhcp-fwd/ \ http://nthill.free.fr/openwrt/sources/$(PKG_NAME)/ -PKG_SOURCE_FILE := $(PKG_NAME)-$(PKG_VERSION).tar.bz2 -PKG_SOURCE_CAT := bzcat -PKG_SOURCE_DIR := $(PKG_NAME)-$(PKG_VERSION) -PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_SOURCE_DIR) +PKG_SOURCE := $(PKG_NAME)-$(PKG_VERSION).tar.bz2 +PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) +PKG_CAT := bzcat PKG_IPK := $(PACKAGE_DIR)/$(PKG_NAME)_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk +PKG_IPK_DIR := $(PKG_BUILD_DIR)/ipkg +PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install -$(DL_DIR)/$(PKG_SOURCE_FILE): - mkdir -p $(DL_DIR) - $(SCRIPT_DIR)/download.pl $(DL_DIR) $(PKG_SOURCE_FILE) $(PKG_MD5SUM) $(PKG_SOURCE_SITE) +$(DL_DIR)/$(PKG_SOURCE): + $(SCRIPT_DIR)/download.pl $(DL_DIR) $(PKG_SOURCE) $(PKG_MD5SUM) $(PKG_SOURCE_URL) -$(PKG_BUILD_DIR)/ipkg/rules: $(DL_DIR)/$(PKG_SOURCE_FILE) - mkdir -p $(TOOL_BUILD_DIR) - $(PKG_SOURCE_CAT) $(DL_DIR)/$(PKG_SOURCE_FILE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - -# $(PATCH) $(PKG_BUILD_DIR) ./patches - cp -fpR ./ipkg $(PKG_BUILD_DIR)/ - chmod a+x $(PKG_BUILD_DIR)/ipkg/rules - touch $(PKG_BUILD_DIR)/ipkg/rules +$(PKG_BUILD_DIR)/.unpacked: $(DL_DIR)/$(PKG_SOURCE) + $(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - + touch $(PKG_BUILD_DIR)/.unpacked -$(PKG_IPK): $(PKG_BUILD_DIR)/ipkg/rules - cd $(PKG_BUILD_DIR); \ - TOPDIR="$(TOPDIR)" IPKG_RULES_INC="$(TOPDIR)/rules.mk" \ - ./ipkg/rules package +$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.unpacked + (cd $(PKG_BUILD_DIR); rm -rf config.cache; \ + $(TARGET_CONFIGURE_OPTS) \ + CFLAGS="$(TARGET_CFLAGS)" \ + ac_cv_func_malloc_0_nonnull="yes" \ + ./configure \ + --target=$(GNU_TARGET_NAME) \ + --host=$(GNU_TARGET_NAME) \ + --build=$(GNU_HOST_NAME) \ + --program-prefix="" \ + --program-suffix="" \ + --prefix=/usr \ + --exec-prefix=/usr \ + --bindir=/usr/bin \ + --datadir=/usr/share \ + --includedir=/usr/include \ + --infodir=/usr/share/info \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib \ + --localstatedir=/var \ + --mandir=/usr/share/man \ + --sbindir=/usr/sbin \ + --sysconfdir=/etc \ + $(DISABLE_LARGEFILE) \ + $(DISABLE_NLS) \ + ) + touch $(PKG_BUILD_DIR)/.configured + +$(PKG_BUILD_DIR)/.built: $(PKG_BUILD_DIR)/.configured + $(MAKE) -C $(PKG_BUILD_DIR) \ + cfg_filename="/etc/dhcp-fwd.conf" + touch $(PKG_BUILD_DIR)/.built + +$(PKG_INSTALL_DIR)/usr/sbin/dhcp-fwd: $(PKG_BUILD_DIR)/.built + mkdir -p $(PKG_INSTALL_DIR) + $(MAKE) -C $(PKG_BUILD_DIR) \ + DESTDIR="$(PKG_INSTALL_DIR)" \ + install + +$(PKG_IPK): $(PKG_INSTALL_DIR)/usr/sbin/dhcp-fwd + $(SCRIPT_DIR)/make-ipkg-dir.sh $(PKG_IPK_DIR) $(PKG_NAME).control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH) + cp -fp $(PKG_NAME).conffiles $(PKG_IPK_DIR)/CONTROL/conffiles + chmod 0644 $(PKG_IPK_DIR)/CONTROL/conffiles + mkdir -p $(PKG_IPK_DIR)/etc + cp -fp $(PKG_BUILD_DIR)/contrib/dhcp-fwd.conf $(PKG_IPK_DIR)/etc/ + chmod 0644 $(PKG_IPK_DIR)/etc/dhcp-fwd.conf + mkdir -p $(PKG_IPK_DIR)/etc/init.d + cp -fp $(PKG_NAME).init $(PKG_IPK_DIR)/etc/init.d/dhcp-fwd + chmod 0755 $(PKG_IPK_DIR)/etc/init.d/dhcp-fwd + mkdir -p $(PKG_IPK_DIR)/usr/bin + cp -fp $(PKG_INSTALL_DIR)/usr/sbin/dhcp-fwd $(PKG_IPK_DIR)/usr/bin/ + $(STRIP) $(PKG_IPK_DIR)/usr/bin/* + $(IPKG_BUILD) $(PKG_IPK_DIR) $(PACKAGE_DIR) $(IPKG_STATE_DIR)/info/$(PKG_NAME).list: $(PKG_IPK) $(IPKG) install $(PKG_IPK) -source: $(DL_DIR)/$(PKG_SOURCE_FILE) -prepare: $(PKG_BUILD_DIR)/ipkg/rules +source: $(DL_DIR)/$(PKG_SOURCE) +prepare: $(PKG_BUILD_DIR)/.unpacked compile: $(PKG_IPK) install: $(IPKG_STATE_DIR)/info/$(PKG_NAME).list clean: - -cd $(PKG_BUILD_DIR); \ - TOPDIR="$(TOPDIR)" IPKG_RULES_INC="$(TOPDIR)/rules.mk" \ - ./ipkg/rules clean rm -rf $(PKG_BUILD_DIR) rm -f $(PKG_IPK) diff --git a/package/dhcp-forwarder/dhcp-forwarder.conffiles b/package/dhcp-forwarder/dhcp-forwarder.conffiles new file mode 100644 index 000000000..70be85a8a --- /dev/null +++ b/package/dhcp-forwarder/dhcp-forwarder.conffiles @@ -0,0 +1 @@ +/etc/dhcp-fwd.conf diff --git a/package/dhcp-forwarder/dhcp-forwarder.control b/package/dhcp-forwarder/dhcp-forwarder.control new file mode 100644 index 000000000..75128bab3 --- /dev/null +++ b/package/dhcp-forwarder/dhcp-forwarder.control @@ -0,0 +1,8 @@ +Package: dhcp-forwarder +Priority: optional +Section: net +Version: [TBDL] +Architecture: [TBDL] +Maintainer: Nico +Source: http://nthill.free.fr/openwrt/sources/dhcp-forwarder/ +Description: a DHCP relay agent diff --git a/package/dhcp-forwarder/dhcp-forwarder.init b/package/dhcp-forwarder/dhcp-forwarder.init new file mode 100644 index 000000000..6ad3858e8 --- /dev/null +++ b/package/dhcp-forwarder/dhcp-forwarder.init @@ -0,0 +1,21 @@ +#!/bin/sh + +LOG_D=/var/log +RUN_D=/var/run +PID_F=$RUN_D/dhcpd-fwd.pid + +case $1 in + start) + [ -d $LOG_D ] || mkdir -p $LOG_D + [ -d $RUN_D ] || mkdir -p $RUN_D + dhcp-fwd + ;; + stop) + [ -f $PID_F ] && kill $(cat $PID_F) + ;; + *) + echo "usage: $0 (start|stop)" + exit 1 +esac + +exit $?