diff --git a/openwrt/package/dhcp-forwarder/Config.in b/openwrt/package/dhcp-forwarder/Config.in
index 8fa396d030b132cb2859a27ad1601363bb8acd0c..34ff1c01671fcf9f9fbdd5e3d6c83862b74c645c 100644
--- a/openwrt/package/dhcp-forwarder/Config.in
+++ b/openwrt/package/dhcp-forwarder/Config.in
@@ -1,4 +1,4 @@
-config BR2_PACKAGE_DHCPFWD
+config BR2_PACKAGE_DHCP_FORWARDER
 	tristate "dhcp-forwarder (a DHCP relay agent)"
 	default m if CONFIG_DEVEL
 	help
diff --git a/openwrt/package/dhcp-forwarder/Makefile b/openwrt/package/dhcp-forwarder/Makefile
index 92f2fe2325f9610ee2093ed0c892f035032e1357..c9d5ff9f582846c4a71e62efacff3a01697e36bb 100644
--- a/openwrt/package/dhcp-forwarder/Makefile
+++ b/openwrt/package/dhcp-forwarder/Makefile
@@ -7,24 +7,29 @@ PKG_VERSION := 0.7
 PKG_RELEASE := 4
 PKG_MD5SUM := e7f876e615ebc3f96418f6477b4451e2
 
-PKG_SOURCE_URL := 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 := $(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_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
 
+IPKG_DHCP_FORWARDER:=$(PACKAGE_DIR)/$(PKG_NAME)_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
+IDIR_DHCP_FORWARDER:=$(PKG_BUILD_DIR)/ipkg/$(PKG_NAME)
+INFO_DHCP_FORWARDER:=$(IPKG_STATE_DIR)/info/$(PKG_NAME).list
+
 $(DL_DIR)/$(PKG_SOURCE):
 	 $(SCRIPT_DIR)/download.pl $(DL_DIR) $(PKG_SOURCE) $(PKG_MD5SUM) $(PKG_SOURCE_URL)
 
-$(PKG_BUILD_DIR)/.unpacked: $(DL_DIR)/$(PKG_SOURCE)
+$(PKG_BUILD_DIR)/.prepared: $(DL_DIR)/$(PKG_SOURCE)
+	rm -rf $(PKG_BUILD_DIR)
 	$(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
-	touch $(PKG_BUILD_DIR)/.unpacked
+	touch $(PKG_BUILD_DIR)/.prepared
 
-$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.unpacked
-	(cd $(PKG_BUILD_DIR); rm -rf config.cache; \
+$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.prepared
+	(cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
 		$(TARGET_CONFIGURE_OPTS) \
 		CFLAGS="$(TARGET_CFLAGS)" \
 		ac_cv_func_malloc_0_nonnull="yes" \
@@ -53,39 +58,35 @@ $(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.unpacked
 
 $(PKG_BUILD_DIR)/.built: $(PKG_BUILD_DIR)/.configured
 	$(MAKE) -C $(PKG_BUILD_DIR) \
-	  cfg_filename="/etc/dhcp-fwd.conf"
+		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
+		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_DHCP_FORWARDER): $(PKG_INSTALL_DIR)/usr/sbin/dhcp-fwd
+	$(SCRIPT_DIR)/make-ipkg-dir.sh $(IDIR_DHCP_FORWARDER) ./ipkg/$(PKG_NAME).control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH)
+	install -m0644 ./ipkg/$(PKG_NAME).conffiles $(IDIR_DHCP_FORWARDER)/CONTROL/conffiles
+	install -m0755 -d $(IDIR_DHCP_FORWARDER)/etc/init.d
+	install -m0755 ./ipkg/$(PKG_NAME).init $(IDIR_DHCP_FORWARDER)/etc/init.d/dhcp-fwd
+	install -m0755 -d $(IDIR_DHCP_FORWARDER)/etc
+	install -m0644 $(PKG_BUILD_DIR)/contrib/dhcp-fwd.conf $(IDIR_DHCP_FORWARDER)/etc/
+	install -m0755 -d $(IDIR_DHCP_FORWARDER)/usr/bin
+	cp -fpR $(PKG_INSTALL_DIR)/usr/sbin/dhcp-fwd $(IDIR_DHCP_FORWARDER)/usr/bin/
+	$(RSTRIP) $(IDIR_DHCP_FORWARDER)
+	$(IPKG_BUILD) $(IDIR_DHCP_FORWARDER) $(PACKAGE_DIR)
 
-$(IPKG_STATE_DIR)/info/$(PKG_NAME).list: $(PKG_IPK)
-	$(IPKG) install $(PKG_IPK)
+$(INFO_DHCP_FORWARDER): $(IPKG_DHCP_FORWARDER)
+	$(IPKG) install $(IPKG_DHCP_FORWARDER)
 
 source: $(DL_DIR)/$(PKG_SOURCE)
-prepare: $(PKG_BUILD_DIR)/.unpacked
-compile: $(PKG_IPK)
-install: $(IPKG_STATE_DIR)/info/$(PKG_NAME).list
+prepare: $(PKG_BUILD_DIR)/.prepared
+compile: $(IPKG_DHCP_FORWARDER)
+install: $(INFO_DHCP_FORWARDER)
 
 clean:
 	rm -rf $(PKG_BUILD_DIR)
-	rm -f $(PKG_IPK)
-
+	rm -rf $(IPKG_DHCP_FORWARDER)
diff --git a/openwrt/package/dhcp-forwarder/dhcp-forwarder.conffiles b/openwrt/package/dhcp-forwarder/ipkg/dhcp-forwarder.conffiles
similarity index 100%
rename from openwrt/package/dhcp-forwarder/dhcp-forwarder.conffiles
rename to openwrt/package/dhcp-forwarder/ipkg/dhcp-forwarder.conffiles
diff --git a/openwrt/package/dhcp-forwarder/dhcp-forwarder.control b/openwrt/package/dhcp-forwarder/ipkg/dhcp-forwarder.control
similarity index 100%
rename from openwrt/package/dhcp-forwarder/dhcp-forwarder.control
rename to openwrt/package/dhcp-forwarder/ipkg/dhcp-forwarder.control
diff --git a/openwrt/package/dhcp-forwarder/dhcp-forwarder.init b/openwrt/package/dhcp-forwarder/ipkg/dhcp-forwarder.init
similarity index 100%
rename from openwrt/package/dhcp-forwarder/dhcp-forwarder.init
rename to openwrt/package/dhcp-forwarder/ipkg/dhcp-forwarder.init
diff --git a/openwrt/package/dhcp-forwarder/ipkg/dhcp-forwarder/CONTROL/conffiles b/openwrt/package/dhcp-forwarder/ipkg/dhcp-forwarder/CONTROL/conffiles
deleted file mode 100644
index 70be85a8a4dafa921fd70c2b556da839928bb078..0000000000000000000000000000000000000000
--- a/openwrt/package/dhcp-forwarder/ipkg/dhcp-forwarder/CONTROL/conffiles
+++ /dev/null
@@ -1 +0,0 @@
-/etc/dhcp-fwd.conf
diff --git a/openwrt/package/dhcp-forwarder/ipkg/dhcp-forwarder/CONTROL/control b/openwrt/package/dhcp-forwarder/ipkg/dhcp-forwarder/CONTROL/control
deleted file mode 100644
index 75128bab3c74ad8c4f2d9bb61dc54a207019becb..0000000000000000000000000000000000000000
--- a/openwrt/package/dhcp-forwarder/ipkg/dhcp-forwarder/CONTROL/control
+++ /dev/null
@@ -1,8 +0,0 @@
-Package: dhcp-forwarder
-Priority: optional
-Section: net
-Version: [TBDL]
-Architecture: [TBDL]
-Maintainer: Nico <nthill@free.fr>
-Source: http://nthill.free.fr/openwrt/sources/dhcp-forwarder/
-Description: a DHCP relay agent
diff --git a/openwrt/package/dhcp-forwarder/ipkg/dhcp-forwarder/etc/init.d/dhcp-fwd b/openwrt/package/dhcp-forwarder/ipkg/dhcp-forwarder/etc/init.d/dhcp-fwd
deleted file mode 100644
index 8557c78f9e47ed95624a448e5b7143358aa1e8a3..0000000000000000000000000000000000000000
--- a/openwrt/package/dhcp-forwarder/ipkg/dhcp-forwarder/etc/init.d/dhcp-fwd
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/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 >/dev/null 2>&1
-  ;;
- stop)
-  [ -f $PID_F ] && kill $(cat $PID_F) >/dev/null 2>&1
-  ;;
- *)
-  echo "usage: $0 (start|stop)"
-  exit 1
-esac
-
-exit $?
diff --git a/openwrt/package/dhcp-forwarder/ipkg/rules b/openwrt/package/dhcp-forwarder/ipkg/rules
deleted file mode 100644
index eb9bbcde3bec0c3f7f405078f7f0decca17b4398..0000000000000000000000000000000000000000
--- a/openwrt/package/dhcp-forwarder/ipkg/rules
+++ /dev/null
@@ -1,128 +0,0 @@
-#!/usr/bin/make -f
-
-ifneq ($(strip ${IPKG_RULES_INC}),)
- include $(IPKG_RULES_INC)
-endif
-
-##
-
-PKG_VERSION := $(shell cat ./ipkg/version)
-CURRENT_DIR := $(shell pwd)
-INSTALL_DIR ?= $(CURRENT_DIR)/ipkg-install
-
-unexport INSTALL_DIR
-
-I_DHCP_FORWARDER := ipkg/dhcp-forwarder
-
-BUILD_DEPS := \
-
-CONFIGURE_OPTS = \
-
-##
-
-all: package
-
-
-.stamp-configured: $(BUILD_DEPS)
-
-	rm -rf config.cache
-	$(TARGET_CONFIGURE_OPTS) \
-	CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include" \
-	LDFLAGS="-L$(STAGING_DIR)/usr/lib" \
-	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) \
-	  $(CONFIGURE_OPTS) \
-
-	touch .stamp-configured
-
-
-.stamp-built: .stamp-configured
-
-	$(MAKE) \
-	  $(TARGET_CONFIGURE_OPTS) \
-	  cfg_filename="/etc/dhcp-fwd.conf" \
-
-	touch .stamp-built
-
-
-$(INSTALL_DIR)/usr/sbin/dhcp-fwd: .stamp-built
-
-	mkdir -p $(INSTALL_DIR)
-
-	$(MAKE) \
-	  DESTDIR="$(INSTALL_DIR)" \
-	 install
-
-
-configure: .stamp-configured
-
-
-build: .stamp-built
-
-
-install: $(INSTALL_DIR)/usr/sbin/dhcp-fwd
-
-
-package: $(INSTALL_DIR)/usr/sbin/dhcp-fwd
-
-	mkdir -p $(I_DHCP_FORWARDER)/etc
-	cp -fpR contrib/dhcp-fwd.conf $(I_DHCP_FORWARDER)/etc/
-
-	mkdir -p $(I_DHCP_FORWARDER)/usr/sbin
-	cp -fpR $(INSTALL_DIR)/usr/sbin/dhcp-fwd $(I_DHCP_FORWARDER)/usr/sbin/
-	$(STRIP) $(I_DHCP_FORWARDER)/usr/sbin/*
-
-	chmod 0755 $(I_DHCP_FORWARDER)/etc/
-	chmod 0600 $(I_DHCP_FORWARDER)/etc/dhcp-fwd.conf
-	chmod 0755 $(I_DHCP_FORWARDER)/etc/init.d/
-	chmod 0755 $(I_DHCP_FORWARDER)/etc/init.d/dhcp-fwd
-
-	chmod 0755 ipkg/*/CONTROL/
-	chmod 0644 ipkg/*/CONTROL/control
-	-chmod 0644 ipkg/*/CONTROL/conffiles
-
-	perl -pi -e "s/^Arch.*:.*/Architecture: $(ARCH)/g" ipkg/*/CONTROL/control
-ifneq ($(strip $(PKG_VERSION)),)
-	perl -pi -e "s/^Vers.*:.*/Version: $(PKG_VERSION)/g" ipkg/*/CONTROL/control
-endif
-
-	$(IPKG_BUILD) $(I_DHCP_FORWARDER) $(IPKG_TARGET_DIR)
-
-
-clean:
-
-	-$(MAKE) \
-	  DESTDIR="$(INSTALL_DIR)" \
-	 uninstall clean
-	
-	rm -rf .stamp-* \
-	  $(I_DHCP_FORWARDER)/etc/dhcp-fwd.conf \
-	  $(I_DHCP_FORWARDER)/usr \
-
-
-control:
-
-	@cat $(I_DHCP_FORWARDER)/CONTROL/control
-	@echo
-	
-
-.PHONY: configure build install package clean control
diff --git a/openwrt/package/dhcp-forwarder/ipkg/version b/openwrt/package/dhcp-forwarder/ipkg/version
deleted file mode 100644
index d079bce27450b9030094c599f9a5ddb3b9eb329d..0000000000000000000000000000000000000000
--- a/openwrt/package/dhcp-forwarder/ipkg/version
+++ /dev/null
@@ -1 +0,0 @@
-0.7-4