From 8afecaa6350be7f7d8331e59bbd584ad35f83003 Mon Sep 17 00:00:00 2001 From: Qing He Date: Wed, 17 Nov 2010 13:55:14 +0800 Subject: dhcp: upgrade to version 4.2.0 from 4.1.1-P1 Signed-off-by: Qing He --- .../dhcp/dhcp-4.2.0/dhcp-3.0.3-dhclient-dbus.patch | 84 ++++++++++++++++++++++ .../dhcp/dhcp-4.2.0/fix-client-path.patch | 21 ++++++ .../dhcp/dhcp-4.2.0/fixincludes.patch | 10 +++ .../dhcp/dhcp-4.2.0/noattrmode.patch | 20 ++++++ meta/recipes-connectivity/dhcp/dhcp-4.2.0/site.h | 21 ++++++ 5 files changed, 156 insertions(+) create mode 100644 meta/recipes-connectivity/dhcp/dhcp-4.2.0/dhcp-3.0.3-dhclient-dbus.patch create mode 100644 meta/recipes-connectivity/dhcp/dhcp-4.2.0/fix-client-path.patch create mode 100644 meta/recipes-connectivity/dhcp/dhcp-4.2.0/fixincludes.patch create mode 100644 meta/recipes-connectivity/dhcp/dhcp-4.2.0/noattrmode.patch create mode 100644 meta/recipes-connectivity/dhcp/dhcp-4.2.0/site.h (limited to 'meta/recipes-connectivity/dhcp/dhcp-4.2.0') diff --git a/meta/recipes-connectivity/dhcp/dhcp-4.2.0/dhcp-3.0.3-dhclient-dbus.patch b/meta/recipes-connectivity/dhcp/dhcp-4.2.0/dhcp-3.0.3-dhclient-dbus.patch new file mode 100644 index 0000000000..579d72f484 --- /dev/null +++ b/meta/recipes-connectivity/dhcp/dhcp-4.2.0/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/meta/recipes-connectivity/dhcp/dhcp-4.2.0/fix-client-path.patch b/meta/recipes-connectivity/dhcp/dhcp-4.2.0/fix-client-path.patch new file mode 100644 index 0000000000..f6a7be1d81 --- /dev/null +++ b/meta/recipes-connectivity/dhcp/dhcp-4.2.0/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/meta/recipes-connectivity/dhcp/dhcp-4.2.0/fixincludes.patch b/meta/recipes-connectivity/dhcp/dhcp-4.2.0/fixincludes.patch new file mode 100644 index 0000000000..91d99cce22 --- /dev/null +++ b/meta/recipes-connectivity/dhcp/dhcp-4.2.0/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 + #include + + /* diff --git a/meta/recipes-connectivity/dhcp/dhcp-4.2.0/noattrmode.patch b/meta/recipes-connectivity/dhcp/dhcp-4.2.0/noattrmode.patch new file mode 100644 index 0000000000..5c766d6c06 --- /dev/null +++ b/meta/recipes-connectivity/dhcp/dhcp-4.2.0/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/meta/recipes-connectivity/dhcp/dhcp-4.2.0/site.h b/meta/recipes-connectivity/dhcp/dhcp-4.2.0/site.h new file mode 100644 index 0000000000..2289554ef3 --- /dev/null +++ b/meta/recipes-connectivity/dhcp/dhcp-4.2.0/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" -- cgit v1.2.3-54-g00ecf