[oe] [PATCH] Add dhcp 3.1.2p1 and fix unneeded bash dependency in 3.0.*

Marc Olzheim zlo at zlo.nu
Mon Nov 9 15:54:14 UTC 2009


On Thu, Nov 05, 2009 at 11:03:34PM -0200, Otavio Salvador wrote:
> > In any case: the dhclient/scripts/linux is a #!/bin/bash script which
> > does not use any bashisms. As this was (dependency-wise) the only reason
> > for our image to contain bash, I fixed this and while at it moved from
> > 3.0.2 to 3.1.2p1.
> 
> While you're on it, it would be better to make it in a patchset doing:
> 
>  - move it all to a .inc and use INC_PR (to avoid useless duplication)
>  - drop the bash requirement (as you did)
>  - add the new version
> 
> And please, use format-patch to export those patches so we can easily push it.

Ok, thanks for the tip, here's the new patch.

Marc

---
 conf/checksums.ini                           |    4 ++
 recipes/dhcp/dhcp3.inc                       |   62 ++++++++++++++++++++++++++
 recipes/dhcp/dhcp_3.0.1.bb                   |    3 +-
 recipes/dhcp/dhcp_3.0.2.bb                   |   59 ++----------------------
 recipes/dhcp/dhcp_3.1.2p1.bb                 |   12 +++++
 recipes/dhcp/files/useless-use-of-bash.patch |    8 +++
 6 files changed, 93 insertions(+), 55 deletions(-)
 create mode 100644 recipes/dhcp/dhcp3.inc
 create mode 100644 recipes/dhcp/dhcp_3.1.2p1.bb
 create mode 100644 recipes/dhcp/files/useless-use-of-bash.patch

diff --git a/conf/checksums.ini b/conf/checksums.ini
index ec2651a..4c21e29 100644
--- a/conf/checksums.ini
+++ b/conf/checksums.ini
@@ -5178,6 +5178,10 @@ sha256=043dea4144a93b26358ed73cd8fab79be76834a719f13fbb4344a26e8288fc38
 md5=04800a111521e7442749b2ce883f962b
 sha256=21a6e0476fb880e704e0c3cfe7b2bc6a97f6b2b0654db10b38bdd317f511a03a
 
+[ftp://ftp.isc.org/isc/dhcp/dhcp-3.1-history/dhcp-3.1.2p1.tar.gz]
+md5=787b2924a1965f0d8558521b36dca73d
+sha256=e0cb405e0fef0ecebec7aaed294032a06178ff28be87498596e6069ccda4341e
+
 [http://savannah.nongnu.org/download/dhcp-fwd/dhcp-forwarder-0.6.tar.bz2]
 md5=cbe60c8c904394a8e38e12ac42c02284
 sha256=45b708fb49a9fab10d814eb1e340a0960dac91f92800b3d39ddf0245ac913e30
diff --git a/recipes/dhcp/dhcp3.inc b/recipes/dhcp/dhcp3.inc
new file mode 100644
index 0000000..f099003
--- /dev/null
+++ b/recipes/dhcp/dhcp3.inc
@@ -0,0 +1,62 @@
+SECTION = "console/network"
+DESCRIPTION = "Internet Software Consortium DHCP package"
+HOMEPAGE = "http://www.isc.org/"
+LICENSE = "BSD"
+INC_PR = "r11"
+
+SRC_URI = "ftp://ftp.isc.org/isc/dhcp/dhcp-3.1-history/dhcp-${PV}.tar.gz \
+	   file://fixincludes.patch;patch=1 \
+	   file://useless-use-of-bash.patch;patch=1 \
+           file://dhclient-script-exit-status.dpatch;patch=1 \
+	   file://dhcp-3.0.3-dhclient-dbus.patch;patch=1;pnum=0 \
+	   file://init-relay file://default-relay \
+	   file://init-server file://default-server \
+	   file://dhclient.conf file://dhcpd.conf"
+
+
+inherit update-rc.d
+
+INITSCRIPT_PACKAGES = "dhcp-server"
+INITSCRIPT_NAME_dhcp-server = dhcp-server
+INITSCRIPT_PARAMS_dhcp-server = "start 30 2 3 4 5 . stop 30 0 1 6 ."
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_configure() {
+	./configure
+}
+
+do_compile() {
+	make RANLIB=${RANLIB} PREDEFINES='-D_PATH_DHCPD_DB=\"/var/lib/dhcp/dhcpd.leases\" \
+        -D_PATH_DHCLIENT_DB=\"/var/lib/dhcp/dhclient.leases\" \
+        -D_PATH_DHCLIENT_SCRIPT=\"/sbin/dhclient-script\" \
+        -D_PATH_DHCPD_CONF=\"/etc/dhcp/dhcpd.conf\" \
+        -D_PATH_DHCLIENT_CONF=\"/etc/dhcp/dhclient.conf\"'
+}
+
+do_install() {
+	make -e DESTDIR=${D} USRMANDIR=${mandir}/man1 ADMMANDIR=${mandir}/man8 FFMANDIR=${mandir}/man5 LIBMANDIR=${mandir}/man3 LIBDIR=${libdir} INCDIR=${includedir} install
+	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
+	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}/var/lib/dhcp3
+}
+
+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 /var/lib/dhcp3"
+
+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_3.0.1.bb b/recipes/dhcp/dhcp_3.0.1.bb
index 7d55dc3..2deee26 100644
--- a/recipes/dhcp/dhcp_3.0.1.bb
+++ b/recipes/dhcp/dhcp_3.0.1.bb
@@ -2,10 +2,11 @@ SECTION = "console/network"
 DESCRIPTION = "Internet Software Consortium DHCP package"
 HOMEPAGE = "http://www.isc.org/"
 LICENSE = "BSD"
-PR = "r3"
+PR = "r4"
 SRC_URI = "ftp://ftp.isc.org/isc/dhcp/dhcp-3.0-history/dhcp-${PV}.tar.gz \
 	   file://noattrmode.patch;patch=1 \
 	   file://fixincludes.patch;patch=1 \
+	   file://useless-use-of-bash.patch;patch=1 \
 	   file://init-relay file://default-relay \
 	   file://init-server file://default-server \
 	   file://dhclient.conf file://dhcpd.conf"
diff --git a/recipes/dhcp/dhcp_3.0.2.bb b/recipes/dhcp/dhcp_3.0.2.bb
index 052fa7e..7955c8e 100644
--- a/recipes/dhcp/dhcp_3.0.2.bb
+++ b/recipes/dhcp/dhcp_3.0.2.bb
@@ -1,62 +1,13 @@
-SECTION = "console/network"
-DESCRIPTION = "Internet Software Consortium DHCP package"
-HOMEPAGE = "http://www.isc.org/"
-LICENSE = "BSD"
-PR = "r10"
+require dhcp3.inc
+
 SRC_URI = "ftp://ftp.isc.org/isc/dhcp/dhcp-3.0-history/dhcp-${PV}.tar.gz \
 	   file://noattrmode.patch;patch=1 \
 	   file://fixincludes.patch;patch=1 \
-           file://dhclient-script-exit-status.dpatch;patch=1 \
+	   file://useless-use-of-bash.patch;patch=1 \
+	   file://dhclient-script-exit-status.dpatch;patch=1 \
 	   file://dhcp-3.0.3-dhclient-dbus.patch;patch=1;pnum=0 \
 	   file://init-relay file://default-relay \
 	   file://init-server file://default-server \
 	   file://dhclient.conf file://dhcpd.conf"
 
-
-inherit update-rc.d
-
-INITSCRIPT_PACKAGES = "dhcp-server"
-INITSCRIPT_NAME_dhcp-server = dhcp-server
-INITSCRIPT_PARAMS_dhcp-server = "start 30 2 3 4 5 . stop 30 0 1 6 ."
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-do_configure() {
-	./configure
-}
-
-do_compile() {
-	make RANLIB=${RANLIB} PREDEFINES='-D_PATH_DHCPD_DB=\"/var/lib/dhcp/dhcpd.leases\" \
-        -D_PATH_DHCLIENT_DB=\"/var/lib/dhcp/dhclient.leases\" \
-        -D_PATH_DHCLIENT_SCRIPT=\"/sbin/dhclient-script\" \
-        -D_PATH_DHCPD_CONF=\"/etc/dhcp/dhcpd.conf\" \
-        -D_PATH_DHCLIENT_CONF=\"/etc/dhcp/dhclient.conf\"'
-}
-
-do_install() {
-	make -e DESTDIR=${D} USRMANDIR=${mandir}/man1 ADMMANDIR=${mandir}/man8 FFMANDIR=${mandir}/man5 LIBMANDIR=${mandir}/man3 LIBDIR=${libdir} INCDIR=${includedir} install
-	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
-	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}/var/lib/dhcp3
-}
-
-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 /var/lib/dhcp3"
-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"
+PR = "${INC_PR}"
diff --git a/recipes/dhcp/dhcp_3.1.2p1.bb b/recipes/dhcp/dhcp_3.1.2p1.bb
new file mode 100644
index 0000000..df3c9b9
--- /dev/null
+++ b/recipes/dhcp/dhcp_3.1.2p1.bb
@@ -0,0 +1,12 @@
+require dhcp3.inc
+
+SRC_URI = "ftp://ftp.isc.org/isc/dhcp/dhcp-3.1-history/dhcp-${PV}.tar.gz \
+	   file://fixincludes.patch;patch=1 \
+	   file://useless-use-of-bash.patch;patch=1 \
+	   file://dhclient-script-exit-status.dpatch;patch=1 \
+	   file://dhcp-3.0.3-dhclient-dbus.patch;patch=1;pnum=0 \
+	   file://init-relay file://default-relay \
+	   file://init-server file://default-server \
+	   file://dhclient.conf file://dhcpd.conf"
+
+PR = "${INC_PR}"
diff --git a/recipes/dhcp/files/useless-use-of-bash.patch b/recipes/dhcp/files/useless-use-of-bash.patch
new file mode 100644
index 0000000..6628fe7
--- /dev/null
+++ b/recipes/dhcp/files/useless-use-of-bash.patch
@@ -0,0 +1,8 @@
+--- dhcp-3.0.2p1/client/scripts/linux	2006-07-22 04:24:16.000000000 +0200
++++ dhcp-3.0.2p1/client/scripts/linux	2009-11-03 17:51:55.000000000 +0100
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ # dhclient-script for Linux. Dan Halbert, March, 1997.
+ # Updated for Linux 2.[12] by Brian J. Murrell, January 1999.
+ # No guarantees about this. I'm a novice at the details of Linux
-- 
1.6.3.1
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20091109/8ffdae56/attachment-0002.sig>


More information about the Openembedded-devel mailing list