summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross@openedhand.com>2007-01-19 20:55:09 +0000
committerRoss Burton <ross@openedhand.com>2007-01-19 20:55:09 +0000
commit776490a40df8d1b4a84a07dd3e13bd10cd4c8bdd (patch)
tree489df56bf4725a99dc095a17cdfe7ef4c680ac82
parent6564355fb79604e818722ae3f6acf3dbb0665fca (diff)
downloadpoky-776490a40df8d1b4a84a07dd3e13bd10cd4c8bdd.tar.gz
Add dhcp3 and dhcdbd for Network Manager
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1175 311d38ba-8fff-0310-9ca6-ca027cbcb966
-rw-r--r--meta-extras/packages/dhcdbd/dhcdbd_2.0.bb25
-rw-r--r--meta-extras/packages/dhcdbd/files/dbus-api-fix.patch20
-rw-r--r--meta-extras/packages/dhcdbd/files/dhcdbd28
-rw-r--r--meta-extras/packages/dhcdbd/files/dhcdbd-1.14-pkgconfig_dbus.patch26
-rw-r--r--meta-extras/packages/dhcdbd/files/no-ext-options.patch13
-rw-r--r--meta-extras/packages/dhcp/dhcp_3.0.2.bb50
-rw-r--r--meta-extras/packages/dhcp/files/default-relay12
-rw-r--r--meta-extras/packages/dhcp/files/default-server7
-rw-r--r--meta-extras/packages/dhcp/files/dhclient.conf50
-rw-r--r--meta-extras/packages/dhcp/files/dhcp-3.0.3-dhclient-dbus.patch84
-rw-r--r--meta-extras/packages/dhcp/files/dhcpd.conf108
-rw-r--r--meta-extras/packages/dhcp/files/fixincludes.patch10
-rw-r--r--meta-extras/packages/dhcp/files/init-relay44
-rw-r--r--meta-extras/packages/dhcp/files/init-server44
-rw-r--r--meta-extras/packages/dhcp/files/noattrmode.patch20
15 files changed, 541 insertions, 0 deletions
diff --git a/meta-extras/packages/dhcdbd/dhcdbd_2.0.bb b/meta-extras/packages/dhcdbd/dhcdbd_2.0.bb
new file mode 100644
index 0000000000..de9e24abd5
--- /dev/null
+++ b/meta-extras/packages/dhcdbd/dhcdbd_2.0.bb
@@ -0,0 +1,25 @@
1DESCRIPTION="DBus-enabled dhcp client"
2SECTION="net"
3LICENSE="GPL"
4HOMEPAGE="http://people.redhat.com/jvdias/dhcdbd/"
5
6DEPENDS = "dbus"
7RDEPENDS = "dhcp-client"
8
9PR = "r0"
10
11SRC_URI="http://people.redhat.com/dcantrel/dhcdbd/dhcdbd-${PV}.tar.bz2 \
12 file://no-ext-options.patch;patch=1 \
13 file://dhcdbd"
14
15do_compile() {
16 CC=${TARGET_SYS}-gcc DESTDIR=${prefix} make
17}
18
19do_install() {
20 DESTDIR=${D} make install
21 install -d ${D}/etc/init.d
22 install -m 0755 ${WORKDIR}/dhcdbd ${D}/etc/init.d/
23}
24
25FILES_${PN} += "${sysconfdir} ${datadir}/dbus-1 ${base_sbindir}/*"
diff --git a/meta-extras/packages/dhcdbd/files/dbus-api-fix.patch b/meta-extras/packages/dhcdbd/files/dbus-api-fix.patch
new file mode 100644
index 0000000000..ce05fc7bf8
--- /dev/null
+++ b/meta-extras/packages/dhcdbd/files/dbus-api-fix.patch
@@ -0,0 +1,20 @@
1--- /tmp/dbus_service.c 2006-08-24 22:09:14.000000000 +0200
2+++ dhcdbd-1.14/dbus_service.c 2006-08-24 22:09:44.228306000 +0200
3@@ -1412,7 +1412,7 @@
4 return ( cs );
5
6 give_up:
7- dbus_connection_disconnect( connection );
8+ dbus_connection_close( connection );
9 dbus_shutdown();
10 return ( 0L );
11 }
12@@ -1456,7 +1456,7 @@
13 cs->roots=0L;
14
15
16- dbus_connection_disconnect( cs->connection );
17+ dbus_connection_close( cs->connection );
18 dbus_shutdown();
19 free( cs );
20 }
diff --git a/meta-extras/packages/dhcdbd/files/dhcdbd b/meta-extras/packages/dhcdbd/files/dhcdbd
new file mode 100644
index 0000000000..568753c28c
--- /dev/null
+++ b/meta-extras/packages/dhcdbd/files/dhcdbd
@@ -0,0 +1,28 @@
1#!/bin/sh
2#
3# DHCDBD startup script
4
5. /etc/profile
6
7case $1 in
8 'start')
9 echo -n "Starting dhcdbd daemon: dhcdbd"
10 /sbin/dhcdbd --system
11 echo "."
12 ;;
13
14 'stop')
15 echo -n "Stopping dhcdbd: dhcdbd"
16 killall `ps |grep /sbin/dhcdbd | grep -v grep | cut "-d " -f2`
17 echo "."
18 ;;
19
20 'restart')
21 $0 stop
22 $0 start
23 ;;
24
25 *)
26 echo "Usage: $0 { start | stop | restart }"
27 ;;
28esac
diff --git a/meta-extras/packages/dhcdbd/files/dhcdbd-1.14-pkgconfig_dbus.patch b/meta-extras/packages/dhcdbd/files/dhcdbd-1.14-pkgconfig_dbus.patch
new file mode 100644
index 0000000000..c2e2151d17
--- /dev/null
+++ b/meta-extras/packages/dhcdbd/files/dhcdbd-1.14-pkgconfig_dbus.patch
@@ -0,0 +1,26 @@
1diff -Naur dhcdbd-1.14/Makefile dhcdbd-1.14-mod/Makefile
2--- dhcdbd-1.14/Makefile 2006-01-17 22:23:51.000000000 +0100
3+++ dhcdbd-1.14-mod/Makefile 2006-08-02 18:02:42.000000000 +0200
4@@ -7,8 +7,8 @@
5 LDFLAGS ?= -g
6 DESTDIR ?= /
7 LIBDIR ?= lib
8-DBUS_INCLUDES ?= -I/usr/$(LIBDIR)/dbus-1.0/include -I/usr/include/dbus-1.0
9-DBUS_LIBS ?= -ldbus-1
10+DBUS_INCLUDES ?= `pkg-config dbus-1 --cflags`
11+DBUS_LIBS ?= `pkg-config dbus-1 --libs`
12 OBJS = dbus_service.o dhcdbd.o dhcp_options.o main.o
13 SRCS = dbus_service.c dhcdbd.c dhcp_options.c main.c
14 INCS = dbus_service.h dhcdbd.h dhcp_options.h includes.h
15diff -Naur dhcdbd-1.14/tests/Makefile dhcdbd-1.14-mod/tests/Makefile
16--- dhcdbd-1.14/tests/Makefile 2006-01-17 22:23:51.000000000 +0100
17+++ dhcdbd-1.14-mod/tests/Makefile 2006-08-02 18:11:43.000000000 +0200
18@@ -2,7 +2,7 @@
19 LD = ${CC}
20 CFLAGS ?= -g -Wall
21 LDFLAGS ?= -g
22-DBUS_LIBS ?= -ldbus-1
23+DBUS_LIBS ?= `pkg-config dbus-1 --libs`
24
25 all: test_dhcp_options test_dhcdbd_state test_subscriber test_subscriber_dbus test_prospective_subscriber
26
diff --git a/meta-extras/packages/dhcdbd/files/no-ext-options.patch b/meta-extras/packages/dhcdbd/files/no-ext-options.patch
new file mode 100644
index 0000000000..774a2cf140
--- /dev/null
+++ b/meta-extras/packages/dhcdbd/files/no-ext-options.patch
@@ -0,0 +1,13 @@
1Index: dhcdbd-2.0/include/dhcdbd.h
2===================================================================
3--- dhcdbd-2.0.orig/include/dhcdbd.h 2006-10-18 09:38:18.000000000 +0100
4+++ dhcdbd-2.0/include/dhcdbd.h 2006-10-18 09:38:45.000000000 +0100
5@@ -76,7 +76,7 @@
6 #endif
7
8 #ifndef DHCLIENT_EXTENDED_OPTION_ENVIRONMENT
9-#define DHCLIENT_EXTENDED_OPTION_ENVIRONMENT 1
10+#define DHCLIENT_EXTENDED_OPTION_ENVIRONMENT 0
11 #endif
12
13 #define DHCDBD_INTERFACE_TEXT "text"
diff --git a/meta-extras/packages/dhcp/dhcp_3.0.2.bb b/meta-extras/packages/dhcp/dhcp_3.0.2.bb
new file mode 100644
index 0000000000..033ed13260
--- /dev/null
+++ b/meta-extras/packages/dhcp/dhcp_3.0.2.bb
@@ -0,0 +1,50 @@
1SECTION = "console/network"
2DESCRIPTION = "Internet Software Consortium DHCP package"
3HOMEPAGE = "http://www.isc.org/"
4LICENSE = "BSD"
5PR = "r4"
6SRC_URI = "ftp://ftp.isc.org/isc/dhcp/dhcp-3.0-history/dhcp-${PV}.tar.gz \
7 file://noattrmode.patch;patch=1 \
8 file://fixincludes.patch;patch=1 \
9 file://dhcp-3.0.3-dhclient-dbus.patch;patch=1;pnum=0 \
10 file://init-relay file://default-relay \
11 file://init-server file://default-server \
12 file://dhclient.conf file://dhcpd.conf"
13
14do_configure() {
15 ./configure
16}
17
18do_compile() {
19 make RANLIB=${RANLIB} PREDEFINES='-D_PATH_DHCPD_DB=\"/var/lib/dhcp/dhcpd.leases\" \
20 -D_PATH_DHCLIENT_DB=\"/var/lib/dhcp/dhclient.leases\" \
21 -D_PATH_DHCLIENT_SCRIPT=\"/sbin/dhclient-script\" \
22 -D_PATH_DHCPD_CONF=\"/etc/dhcp/dhcpd.conf\" \
23 -D_PATH_DHCLIENT_CONF=\"/etc/dhcp/dhclient.conf\"'
24}
25
26do_install() {
27 make -e DESTDIR=${D} USRMANDIR=${mandir}/man1 ADMMANDIR=${mandir}/man8 FFMANDIR=${mandir}/man5 LIBMANDIR=${mandir}/man3 LIBDIR=${libdir} INCDIR=${includedir} install
28 install -d ${D}${sysconfdir}/init.d
29 install -d ${D}${sysconfdir}/default
30 install -d ${D}${sysconfdir}/dhcp
31 install -m 0755 ${WORKDIR}/init-relay ${D}${sysconfdir}/init.d/dhcp-relay
32 install -m 0644 ${WORKDIR}/default-relay ${D}${sysconfdir}/default/dhcp-relay
33 install -m 0755 ${WORKDIR}/init-server ${D}${sysconfdir}/init.d/dhcp-server
34 install -m 0644 ${WORKDIR}/default-server ${D}${sysconfdir}/default/dhcp-server
35 install -m 0644 ${WORKDIR}/dhclient.conf ${D}${sysconfdir}/dhcp/dhclient.conf
36 install -m 0644 ${WORKDIR}/dhcpd.conf ${D}${sysconfdir}/dhcp/dhcpd.conf
37}
38
39PACKAGES =+ "dhcp-server dhcp-client dhcp-relay dhcp-omshell"
40FILES_dhcp-server = "${sbindir}/dhcpd /etc/init.d/dhcp-server /etc/default/dhcp-server /etc/dhcp/dhcpd.conf"
41FILES_dhcp-relay = "${sbindir}/dhcrelay /etc/init.d/dhcp-relay /etc/default/dhcp-relay"
42
43FILES_dhcp-client = "/sbin/ /etc/dhcp/dhclient.conf"
44#RDEPENDS_dhcp-client = "bash"
45
46FILES_dhcp-omshell = "${bindir}/omshell"
47
48CONFFILES_dhcp-server_nylon = "/etc/dhcp/dhcpd.conf"
49CONFFILES_dhcp-relay_nylon = "/etc/default/dhcp-relay"
50CONFFILES_dhcp-client_nylon = "/etc/dhcp/dhclient.conf"
diff --git a/meta-extras/packages/dhcp/files/default-relay b/meta-extras/packages/dhcp/files/default-relay
new file mode 100644
index 0000000000..59249db283
--- /dev/null
+++ b/meta-extras/packages/dhcp/files/default-relay
@@ -0,0 +1,12 @@
1# Defaults for dhcp-relay initscript
2# sourced by /etc/init.d/dhcp-relay
3
4# What servers should the DHCP relay forward requests to?
5# e.g: SERVERS="192.168.0.1"
6SERVERS=""
7
8# On what interfaces should the DHCP relay (dhrelay) serve DHCP requests?
9INTERFACES=""
10
11# Additional options that are passed to the DHCP relay daemon?
12OPTIONS="" \ No newline at end of file
diff --git a/meta-extras/packages/dhcp/files/default-server b/meta-extras/packages/dhcp/files/default-server
new file mode 100644
index 0000000000..0385d16992
--- /dev/null
+++ b/meta-extras/packages/dhcp/files/default-server
@@ -0,0 +1,7 @@
1# Defaults for dhcp initscript
2# sourced by /etc/init.d/dhcp-server
3# installed at /etc/default/dhcp-server by the maintainer scripts
4
5# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
6# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
7INTERFACES=""
diff --git a/meta-extras/packages/dhcp/files/dhclient.conf b/meta-extras/packages/dhcp/files/dhclient.conf
new file mode 100644
index 0000000000..0e6dcf96c2
--- /dev/null
+++ b/meta-extras/packages/dhcp/files/dhclient.conf
@@ -0,0 +1,50 @@
1# Configuration file for /sbin/dhclient, which is included in Debian's
2# dhcp3-client package.
3#
4# This is a sample configuration file for dhclient. See dhclient.conf's
5# man page for more information about the syntax of this file
6# and a more comprehensive list of the parameters understood by
7# dhclient.
8#
9# Normally, if the DHCP server provides reasonable information and does
10# not leave anything out (like the domain name, for example), then
11# few changes must be made to this file, if any.
12#
13
14#send host-name "andare.fugue.com";
15#send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
16#send dhcp-lease-time 3600;
17#supersede domain-name "fugue.com home.vix.com";
18#prepend domain-name-servers 127.0.0.1;
19request subnet-mask, broadcast-address, time-offset, routers,
20 domain-name, domain-name-servers, host-name,
21 netbios-name-servers, netbios-scope;
22#require subnet-mask, domain-name-servers;
23#timeout 60;
24#retry 60;
25#reboot 10;
26#select-timeout 5;
27#initial-interval 2;
28#script "/etc/dhcp3/dhclient-script";
29#media "-link0 -link1 -link2", "link0 link1";
30#reject 192.33.137.209;
31
32#alias {
33# interface "eth0";
34# fixed-address 192.5.5.213;
35# option subnet-mask 255.255.255.255;
36#}
37
38#lease {
39# interface "eth0";
40# fixed-address 192.33.137.200;
41# medium "link0 link1";
42# option host-name "andare.swiftmedia.com";
43# option subnet-mask 255.255.255.0;
44# option broadcast-address 192.33.137.255;
45# option routers 192.33.137.250;
46# option domain-name-servers 127.0.0.1;
47# renew 2 2000/1/12 00:00:01;
48# rebind 2 2000/1/12 00:00:01;
49# expire 2 2000/1/12 00:00:01;
50#}
diff --git a/meta-extras/packages/dhcp/files/dhcp-3.0.3-dhclient-dbus.patch b/meta-extras/packages/dhcp/files/dhcp-3.0.3-dhclient-dbus.patch
new file mode 100644
index 0000000000..579d72f484
--- /dev/null
+++ b/meta-extras/packages/dhcp/files/dhcp-3.0.3-dhclient-dbus.patch
@@ -0,0 +1,84 @@
1--- client/scripts/bsdos
2+++ client/scripts/bsdos
3@@ -47,6 +47,11 @@
4 . /etc/dhcp/dhclient-exit-hooks
5 fi
6 # probably should do something with exit status of the local script
7+ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then
8+ dbus-send --system --dest=com.redhat.dhcp \
9+ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \
10+ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`"
11+ fi
12 exit $exit_status
13 }
14
15--- client/scripts/freebsd
16+++ client/scripts/freebsd
17@@ -57,6 +57,11 @@
18 . /etc/dhcp/dhclient-exit-hooks
19 fi
20 # probably should do something with exit status of the local script
21+ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then
22+ dbus-send --system --dest=com.redhat.dhcp \
23+ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \
24+ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`"
25+ fi
26 exit $exit_status
27 }
28
29--- client/scripts/linux
30+++ client/scripts/linux
31@@ -69,6 +69,11 @@
32 . /etc/dhcp/dhclient-exit-hooks
33 fi
34 # probably should do something with exit status of the local script
35+ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then
36+ dbus-send --system --dest=com.redhat.dhcp \
37+ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \
38+ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`"
39+ fi
40 exit $exit_status
41 }
42
43--- client/scripts/netbsd
44+++ client/scripts/netbsd
45@@ -47,6 +47,11 @@
46 . /etc/dhcp/dhclient-exit-hooks
47 fi
48 # probably should do something with exit status of the local script
49+ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then
50+ dbus-send --system --dest=com.redhat.dhcp \
51+ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \
52+ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`"
53+ fi
54 exit $exit_status
55 }
56
57--- client/scripts/openbsd
58+++ client/scripts/openbsd
59@@ -47,6 +47,11 @@
60 . /etc/dhcp/dhclient-exit-hooks
61 fi
62 # probably should do something with exit status of the local script
63+ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then
64+ dbus-send --system --dest=com.redhat.dhcp \
65+ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \
66+ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`"
67+ fi
68 exit $exit_status
69 }
70
71--- client/scripts/solaris
72+++ client/scripts/solaris
73@@ -47,6 +47,11 @@
74 . /etc/dhcp/dhclient-exit-hooks
75 fi
76 # probably should do something with exit status of the local script
77+ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then
78+ dbus-send --system --dest=com.redhat.dhcp \
79+ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \
80+ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`"
81+ fi
82 exit $exit_status
83 }
84
diff --git a/meta-extras/packages/dhcp/files/dhcpd.conf b/meta-extras/packages/dhcp/files/dhcpd.conf
new file mode 100644
index 0000000000..0001c0f00e
--- /dev/null
+++ b/meta-extras/packages/dhcp/files/dhcpd.conf
@@ -0,0 +1,108 @@
1#
2# Sample configuration file for ISC dhcpd for Debian
3#
4# $Id: dhcpd.conf,v 1.1.1.1 2002/05/21 00:07:44 peloy Exp $
5#
6
7# The ddns-updates-style parameter controls whether or not the server will
8# attempt to do a DNS update when a lease is confirmed. We default to the
9# behavior of the version 2 packages ('none', since DHCP v2 didn't
10# have support for DDNS.)
11ddns-update-style none;
12
13# option definitions common to all supported networks...
14option domain-name "example.org";
15option domain-name-servers ns1.example.org, ns2.example.org;
16
17default-lease-time 600;
18max-lease-time 7200;
19
20# If this DHCP server is the official DHCP server for the local
21# network, the authoritative directive should be uncommented.
22#authoritative;
23
24# Use this to send dhcp log messages to a different log file (you also
25# have to hack syslog.conf to complete the redirection).
26log-facility local7;
27
28# No service will be given on this subnet, but declaring it helps the
29# DHCP server to understand the network topology.
30
31#subnet 10.152.187.0 netmask 255.255.255.0 {
32#}
33
34# This is a very basic subnet declaration.
35
36#subnet 10.254.239.0 netmask 255.255.255.224 {
37# range 10.254.239.10 10.254.239.20;
38# option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
39#}
40
41# This declaration allows BOOTP clients to get dynamic addresses,
42# which we don't really recommend.
43
44#subnet 10.254.239.32 netmask 255.255.255.224 {
45# range dynamic-bootp 10.254.239.40 10.254.239.60;
46# option broadcast-address 10.254.239.31;
47# option routers rtr-239-32-1.example.org;
48#}
49
50# A slightly different configuration for an internal subnet.
51#subnet 10.5.5.0 netmask 255.255.255.224 {
52# range 10.5.5.26 10.5.5.30;
53# option domain-name-servers ns1.internal.example.org;
54# option domain-name "internal.example.org";
55# option routers 10.5.5.1;
56# option broadcast-address 10.5.5.31;
57# default-lease-time 600;
58# max-lease-time 7200;
59#}
60
61# Hosts which require special configuration options can be listed in
62# host statements. If no address is specified, the address will be
63# allocated dynamically (if possible), but the host-specific information
64# will still come from the host declaration.
65
66#host passacaglia {
67# hardware ethernet 0:0:c0:5d:bd:95;
68# filename "vmunix.passacaglia";
69# server-name "toccata.fugue.com";
70#}
71
72# Fixed IP addresses can also be specified for hosts. These addresses
73# should not also be listed as being available for dynamic assignment.
74# Hosts for which fixed IP addresses have been specified can boot using
75# BOOTP or DHCP. Hosts for which no fixed address is specified can only
76# be booted with DHCP, unless there is an address range on the subnet
77# to which a BOOTP client is connected which has the dynamic-bootp flag
78# set.
79#host fantasia {
80# hardware ethernet 08:00:07:26:c0:a5;
81# fixed-address fantasia.fugue.com;
82#}
83
84# You can declare a class of clients and then do address allocation
85# based on that. The example below shows a case where all clients
86# in a certain class get addresses on the 10.17.224/24 subnet, and all
87# other clients get addresses on the 10.0.29/24 subnet.
88
89#class "foo" {
90# match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
91#}
92
93#shared-network 224-29 {
94# subnet 10.17.224.0 netmask 255.255.255.0 {
95# option routers rtr-224.example.org;
96# }
97# subnet 10.0.29.0 netmask 255.255.255.0 {
98# option routers rtr-29.example.org;
99# }
100# pool {
101# allow members of "foo";
102# range 10.17.224.10 10.17.224.250;
103# }
104# pool {
105# deny members of "foo";
106# range 10.0.29.10 10.0.29.230;
107# }
108#}
diff --git a/meta-extras/packages/dhcp/files/fixincludes.patch b/meta-extras/packages/dhcp/files/fixincludes.patch
new file mode 100644
index 0000000000..91d99cce22
--- /dev/null
+++ b/meta-extras/packages/dhcp/files/fixincludes.patch
@@ -0,0 +1,10 @@
1--- dhcp-3.0.2/common/tr.c~compile 2005-10-13 14:23:37.000000000 +0200
2+++ dhcp-3.0.2/common/tr.c 2005-10-13 14:23:45.000000000 +0200
3@@ -39,6 +39,7 @@
4 #include "includes/netinet/udp.h"
5 #include "includes/netinet/if_ether.h"
6 #include "netinet/if_tr.h"
7+#include <asm/types.h>
8 #include <sys/time.h>
9
10 /*
diff --git a/meta-extras/packages/dhcp/files/init-relay b/meta-extras/packages/dhcp/files/init-relay
new file mode 100644
index 0000000000..019a7e84cf
--- /dev/null
+++ b/meta-extras/packages/dhcp/files/init-relay
@@ -0,0 +1,44 @@
1#!/bin/sh
2#
3# $Id: dhcp3-relay,v 1.1 2004/04/16 15:41:08 ml Exp $
4#
5
6# It is not safe to start if we don't have a default configuration...
7if [ ! -f /etc/default/dhcp-relay ]; then
8 echo "/etc/default/dhcp-relay does not exist! - Aborting..."
9 echo "create this file to fix the problem."
10 exit 1
11fi
12
13# Read init script configuration (interfaces the daemon should listen on
14# and the DHCP server we should forward requests to.)
15. /etc/default/dhcp-relay
16
17# Build command line for interfaces (will be passed to dhrelay below.)
18IFCMD=""
19if test "$INTERFACES" != ""; then
20 for I in $INTERFACES; do
21 IFCMD=${IFCMD}"-i "${I}" "
22 done
23fi
24
25DHCRELAYPID=/var/run/dhcrelay.pid
26
27case "$1" in
28 start)
29 start-stop-daemon -S -x /usr/sbin/dhcrelay -- -q $OPTIONS $IFCMD $SERVERS
30 ;;
31 stop)
32 start-stop-daemon -K -x /usr/sbin/dhcrelay
33 ;;
34 restart | force-reload)
35 $0 stop
36 sleep 2
37 $0 start
38 ;;
39 *)
40 echo "Usage: /etc/init.d/dhcp-relay {start|stop|restart|force-reload}"
41 exit 1
42esac
43
44exit 0
diff --git a/meta-extras/packages/dhcp/files/init-server b/meta-extras/packages/dhcp/files/init-server
new file mode 100644
index 0000000000..34c20852b9
--- /dev/null
+++ b/meta-extras/packages/dhcp/files/init-server
@@ -0,0 +1,44 @@
1#!/bin/sh
2#
3# $Id: dhcp3-server.init.d,v 1.4 2003/07/13 19:12:41 mdz Exp $
4#
5
6test -f /usr/sbin/dhcpd || exit 0
7
8# It is not safe to start if we don't have a default configuration...
9if [ ! -f /etc/default/dhcp-server ]; then
10 echo "/etc/default/dhcp-server does not exist! - Aborting..."
11 exit 0
12fi
13
14# Read init script configuration (so far only interfaces the daemon
15# should listen on.)
16. /etc/default/dhcp-server
17
18case "$1" in
19 start)
20 echo -n "Starting DHCP server: "
21 test -d /var/lib/dhcp/ || mkdir -p /var/lib/dhcp/
22 test -f /var/lib/dhcp/dhcpd.leases || touch /var/lib/dhcp/dhcpd.leases
23 start-stop-daemon -S -x /usr/sbin/dhcpd -- -q $INTERFACES
24 echo "."
25 ;;
26 stop)
27 echo -n "Stopping DHCP server: dhcpd3"
28 start-stop-daemon -K -x /usr/sbin/dhcpd
29 echo "."
30 ;;
31 restart | force-reload)
32 $0 stop
33 sleep 2
34 $0 start
35 if [ "$?" != "0" ]; then
36 exit 1
37 fi
38 ;;
39 *)
40 echo "Usage: /etc/init.d/dhcp-server {start|stop|restart|force-reload}"
41 exit 1
42esac
43
44exit 0
diff --git a/meta-extras/packages/dhcp/files/noattrmode.patch b/meta-extras/packages/dhcp/files/noattrmode.patch
new file mode 100644
index 0000000000..5c766d6c06
--- /dev/null
+++ b/meta-extras/packages/dhcp/files/noattrmode.patch
@@ -0,0 +1,20 @@
1
2#
3# Patch managed by http://www.holgerschurig.de/patcher.html
4#
5
6--- dhcp-3.0.1/includes/dhcpd.h~compile
7+++ dhcp-3.0.1/includes/dhcpd.h
8@@ -306,9 +306,9 @@
9 # define EPHEMERAL_FLAGS (MS_NULL_TERMINATION | \
10 UNICAST_BROADCAST_HACK)
11
12- binding_state_t __attribute__ ((mode (__byte__))) binding_state;
13- binding_state_t __attribute__ ((mode (__byte__))) next_binding_state;
14- binding_state_t __attribute__ ((mode (__byte__))) desired_binding_state;
15+ binding_state_t binding_state;
16+ binding_state_t next_binding_state;
17+ binding_state_t desired_binding_state;
18
19 struct lease_state *state;
20