diff options
author | Koen Kooi <koen@openembedded.org> | 2010-09-24 17:46:42 +0200 |
---|---|---|
committer | Koen Kooi <koen@openembedded.org> | 2010-09-24 17:46:42 +0200 |
commit | 4bb71df326a82bd6d7fe24ae3be66ec0b2298f12 (patch) | |
tree | 516f42e5ea68d8713dc36d6b55f954fec5169741 | |
parent | e06553979d23531397af3dd71870abb80718c681 (diff) | |
download | openembedded-4bb71df326a82bd6d7fe24ae3be66ec0b2298f12.tar.gz |
dhcp: add 4.x from poky
-rw-r--r-- | recipes/dhcp/dhcp-4.1.1-P1/dhcp-3.0.3-dhclient-dbus.patch | 84 | ||||
-rw-r--r-- | recipes/dhcp/dhcp-4.1.1-P1/fix-client-path.patch | 21 | ||||
-rw-r--r-- | recipes/dhcp/dhcp-4.1.1-P1/fixincludes.patch | 10 | ||||
-rw-r--r-- | recipes/dhcp/dhcp-4.1.1-P1/noattrmode.patch | 20 | ||||
-rw-r--r-- | recipes/dhcp/dhcp-4.1.1-P1/site.h | 21 | ||||
-rw-r--r-- | recipes/dhcp/dhcp4.inc | 57 | ||||
-rw-r--r-- | recipes/dhcp/dhcp_4.1.1-P1.bb | 11 |
7 files changed, 224 insertions, 0 deletions
diff --git a/recipes/dhcp/dhcp-4.1.1-P1/dhcp-3.0.3-dhclient-dbus.patch b/recipes/dhcp/dhcp-4.1.1-P1/dhcp-3.0.3-dhclient-dbus.patch new file mode 100644 index 0000000000..579d72f484 --- /dev/null +++ b/recipes/dhcp/dhcp-4.1.1-P1/dhcp-3.0.3-dhclient-dbus.patch @@ -0,0 +1,84 @@ +--- client/scripts/bsdos ++++ client/scripts/bsdos +@@ -47,6 +47,11 @@ + . /etc/dhcp/dhclient-exit-hooks + fi + # probably should do something with exit status of the local script ++ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then ++ dbus-send --system --dest=com.redhat.dhcp \ ++ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \ ++ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`" ++ fi + exit $exit_status + } + +--- client/scripts/freebsd ++++ client/scripts/freebsd +@@ -57,6 +57,11 @@ + . /etc/dhcp/dhclient-exit-hooks + fi + # probably should do something with exit status of the local script ++ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then ++ dbus-send --system --dest=com.redhat.dhcp \ ++ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \ ++ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`" ++ fi + exit $exit_status + } + +--- client/scripts/linux ++++ client/scripts/linux +@@ -69,6 +69,11 @@ + . /etc/dhcp/dhclient-exit-hooks + fi + # probably should do something with exit status of the local script ++ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then ++ dbus-send --system --dest=com.redhat.dhcp \ ++ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \ ++ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`" ++ fi + exit $exit_status + } + +--- client/scripts/netbsd ++++ client/scripts/netbsd +@@ -47,6 +47,11 @@ + . /etc/dhcp/dhclient-exit-hooks + fi + # probably should do something with exit status of the local script ++ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then ++ dbus-send --system --dest=com.redhat.dhcp \ ++ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \ ++ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`" ++ fi + exit $exit_status + } + +--- client/scripts/openbsd ++++ client/scripts/openbsd +@@ -47,6 +47,11 @@ + . /etc/dhcp/dhclient-exit-hooks + fi + # probably should do something with exit status of the local script ++ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then ++ dbus-send --system --dest=com.redhat.dhcp \ ++ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \ ++ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`" ++ fi + exit $exit_status + } + +--- client/scripts/solaris ++++ client/scripts/solaris +@@ -47,6 +47,11 @@ + . /etc/dhcp/dhclient-exit-hooks + fi + # probably should do something with exit status of the local script ++ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then ++ dbus-send --system --dest=com.redhat.dhcp \ ++ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \ ++ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`" ++ fi + exit $exit_status + } + diff --git a/recipes/dhcp/dhcp-4.1.1-P1/fix-client-path.patch b/recipes/dhcp/dhcp-4.1.1-P1/fix-client-path.patch new file mode 100644 index 0000000000..f6a7be1d81 --- /dev/null +++ b/recipes/dhcp/dhcp-4.1.1-P1/fix-client-path.patch @@ -0,0 +1,21 @@ +CLIENT_PATH is the only environment when executing dhclient-script, +without this patch, dhclient-script won't run properly because it +invokes ifconfig and route + +7/28/2010 - qhe + +diff -ru dhcp-4.1.1-P1.orig//client/Makefile.am dhcp-4.1.1-P1/client/Makefile.am +--- dhcp-4.1.1-P1.orig//client/Makefile.am 2010-07-29 13:20:05.000000000 +0800 ++++ dhcp-4.1.1-P1/client/Makefile.am 2010-07-29 13:28:14.000000000 +0800 +@@ -10,9 +10,9 @@ + EXTRA_DIST = $(man_MANS) + + dhclient.o: dhclient.c +- $(COMPILE) -DCLIENT_PATH='"$(sbindir)"' \ ++ $(COMPILE) -DCLIENT_PATH='"PATH=$(sbindir):$(base_sbindir):$(bindir):$(base_bindir)"' \ + -DLOCALSTATEDIR='"$(localstatedir)"' -c dhclient.c + + dhc6.o: dhc6.c +- $(COMPILE) -DCLIENT_PATH='"$(sbindir)"' \ ++ $(COMPILE) -DCLIENT_PATH='"PATH=$(sbindir):$(base_sbindir):$(bindir):$(base_bindir)"' \ + -DLOCALSTATEDIR='"$(localstatedir)"' -c dhc6.c diff --git a/recipes/dhcp/dhcp-4.1.1-P1/fixincludes.patch b/recipes/dhcp/dhcp-4.1.1-P1/fixincludes.patch new file mode 100644 index 0000000000..91d99cce22 --- /dev/null +++ b/recipes/dhcp/dhcp-4.1.1-P1/fixincludes.patch @@ -0,0 +1,10 @@ +--- dhcp-3.0.2/common/tr.c~compile 2005-10-13 14:23:37.000000000 +0200 ++++ dhcp-3.0.2/common/tr.c 2005-10-13 14:23:45.000000000 +0200 +@@ -39,6 +39,7 @@ + #include "includes/netinet/udp.h" + #include "includes/netinet/if_ether.h" + #include "netinet/if_tr.h" ++#include <asm/types.h> + #include <sys/time.h> + + /* diff --git a/recipes/dhcp/dhcp-4.1.1-P1/noattrmode.patch b/recipes/dhcp/dhcp-4.1.1-P1/noattrmode.patch new file mode 100644 index 0000000000..5c766d6c06 --- /dev/null +++ b/recipes/dhcp/dhcp-4.1.1-P1/noattrmode.patch @@ -0,0 +1,20 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- dhcp-3.0.1/includes/dhcpd.h~compile ++++ dhcp-3.0.1/includes/dhcpd.h +@@ -306,9 +306,9 @@ + # define EPHEMERAL_FLAGS (MS_NULL_TERMINATION | \ + UNICAST_BROADCAST_HACK) + +- binding_state_t __attribute__ ((mode (__byte__))) binding_state; +- binding_state_t __attribute__ ((mode (__byte__))) next_binding_state; +- binding_state_t __attribute__ ((mode (__byte__))) desired_binding_state; ++ binding_state_t binding_state; ++ binding_state_t next_binding_state; ++ binding_state_t desired_binding_state; + + struct lease_state *state; + diff --git a/recipes/dhcp/dhcp-4.1.1-P1/site.h b/recipes/dhcp/dhcp-4.1.1-P1/site.h new file mode 100644 index 0000000000..2289554ef3 --- /dev/null +++ b/recipes/dhcp/dhcp-4.1.1-P1/site.h @@ -0,0 +1,21 @@ +/* + * define config file location in ${S}/includes/site.h + * still need to take care of installation path (${sysconfdir}/dhcpd.conf) + * + * 7/22/2010 - qhe + */ + +/* Define this if you want DNS update functionality to be available. */ + +#define NSUPDATE + +/* Define this if you aren't debugging and you want to save memory + (potentially a _lot_ of memory) by allocating leases in chunks rather + than one at a time. */ + +#define COMPACT_LEASES + + +/* local */ +#define _PATH_DHCPD_CONF "/etc/dhcp/dhcpd.conf" +#define _PATH_DHCLIENT_CONF "/etc/dhcp/dhclient.conf" diff --git a/recipes/dhcp/dhcp4.inc b/recipes/dhcp/dhcp4.inc new file mode 100644 index 0000000000..7652b948f0 --- /dev/null +++ b/recipes/dhcp/dhcp4.inc @@ -0,0 +1,57 @@ +SECTION = "console/network" +DESCRIPTION = "Internet Software Consortium DHCP package" +HOMEPAGE = "http://www.isc.org/" + +LICENSE = "ISC" +LIC_FILES_CHKSUM = "file://LICENSE;beginline=4;md5=bb6fd41f5895b67088ebea61ad365e74" + +SRC_URI = "ftp://ftp.isc.org/isc/dhcp/dhcp-${PV}.tar.gz \ + file://site.h \ + file://init-relay file://default-relay \ + file://init-server file://default-server \ + file://dhclient.conf file://dhcpd.conf" + +inherit autotools + +TARGET_CFLAGS += "-D_GNU_SOURCE" +EXTRA_OECONF = "--with-srv-lease-file=${localstatedir}/lib/dhcp/dhcpd.leases \ + --with-srv6-lease-file=${localstatedir}/lib/dhcp/dhcpd6.leases \ + --with-cli-lease-file=${localstatedir}/lib/dhcp/dhclient.leases \ + --with-cli6-lease-file=${localstatedir}/lib/dhcp/dhclient6.leases" + +do_compile_prepend () { + cp -f ${WORKDIR}/site.h ${S}/includes +} + +do_install_append () { + install -d ${D}${sysconfdir}/init.d + install -d ${D}${sysconfdir}/default + install -d ${D}${sysconfdir}/dhcp + install -m 0755 ${WORKDIR}/init-relay ${D}${sysconfdir}/init.d/dhcp-relay + install -m 0644 ${WORKDIR}/default-relay ${D}${sysconfdir}/default/dhcp-relay + install -m 0755 ${WORKDIR}/init-server ${D}${sysconfdir}/init.d/dhcp-server + install -m 0644 ${WORKDIR}/default-server ${D}${sysconfdir}/default/dhcp-server + + rm -f ${D}${sysconfdir}/dhclient.conf + rm -f ${D}${sysconfdir}/dhcpd.conf + install -m 0644 ${WORKDIR}/dhclient.conf ${D}${sysconfdir}/dhcp/dhclient.conf + install -m 0644 ${WORKDIR}/dhcpd.conf ${D}${sysconfdir}/dhcp/dhcpd.conf + + install -d ${D}${base_sbindir}/ + mv ${D}${sbindir}/dhclient ${D}${base_sbindir}/ + install -m 0755 ${S}/client/scripts/linux ${D}${base_sbindir}/dhclient-script +} + +PACKAGES += "dhcp-server dhcp-client dhcp-relay dhcp-omshell" +FILES_${PN} = "" +FILES_dhcp-server = "${sbindir}/dhcpd ${sysconfdir}/init.d/dhcp-server ${sysconfdir}/default/dhcp-server ${sysconfdir}/dhcp/dhcpd.conf" +FILES_dhcp-relay = "${sbindir}/dhcrelay ${sysconfdir}/init.d/dhcp-relay ${sysconfdir}/default/dhcp-relay" + +FILES_dhcp-client = "${base_sbindir}/dhclient ${base_sbindir}/dhclient-script ${sysconfdir}/dhcp/dhclient.conf" +RDEPENDS_dhcp-client = "bash" + +FILES_dhcp-omshell = "${bindir}/omshell" + +CONFFILES_dhcp-server_nylon = "/etc/dhcp/dhcpd.conf" +CONFFILES_dhcp-relay_nylon = "/etc/default/dhcp-relay" +CONFFILES_dhcp-client_nylon = "/etc/dhcp/dhclient.conf" diff --git a/recipes/dhcp/dhcp_4.1.1-P1.bb b/recipes/dhcp/dhcp_4.1.1-P1.bb new file mode 100644 index 0000000000..ed5a31b7f2 --- /dev/null +++ b/recipes/dhcp/dhcp_4.1.1-P1.bb @@ -0,0 +1,11 @@ +require dhcp4.inc + +PR = "r1" + +SRC_URI += "file://fixincludes.patch \ + file://dhcp-3.0.3-dhclient-dbus.patch;striplevel=0 \ + file://fix-client-path.patch" + +SRC_URI[md5sum] = "ee390a35687dd75dbfc32c856c0938d1" +SRC_URI[sha256sum] = "2f640350cbb1966ec3090198c3f128d649a3655f747f96ce910a477fe63263da" + |