diff options
author | Martin Jansa <Martin.Jansa@gmail.com> | 2011-05-10 14:41:05 +0200 |
---|---|---|
committer | Koen Kooi <koen@dominion.thruhere.net> | 2011-05-10 15:23:22 +0200 |
commit | ddc40247cb772c59b98b95111dc3ad09d7c38375 (patch) | |
tree | 3d4a66bd9e0cf49b590ad7c105e5a81f0a8279e3 /meta-oe/recipes-connectivity/dnsmasq | |
parent | f2e554a9ecfe023716be914c18449639e6b3a071 (diff) | |
download | meta-openembedded-ddc40247cb772c59b98b95111dc3ad09d7c38375.tar.gz |
dnsmasq(-dbus): import from oe.dev, needed for connman now
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Diffstat (limited to 'meta-oe/recipes-connectivity/dnsmasq')
5 files changed, 391 insertions, 0 deletions
diff --git a/meta-oe/recipes-connectivity/dnsmasq/dnsmasq-dbus_2.55.bb b/meta-oe/recipes-connectivity/dnsmasq/dnsmasq-dbus_2.55.bb new file mode 100644 index 000000000..896952d53 --- /dev/null +++ b/meta-oe/recipes-connectivity/dnsmasq/dnsmasq-dbus_2.55.bb | |||
@@ -0,0 +1,13 @@ | |||
1 | # dnsmasq with support for DBus interface | ||
2 | |||
3 | require dnsmasq_${PV}.bb | ||
4 | |||
5 | S = "${WORKDIR}/dnsmasq-${PV}" | ||
6 | |||
7 | DEPENDS = "dbus" | ||
8 | EXTRA_OEMAKE = "COPTS=-DHAVE_DBUS" | ||
9 | |||
10 | do_install_append () { | ||
11 | install -d ${D}${sysconfdir}/dbus-1/system.d | ||
12 | install -m 644 dbus/dnsmasq.conf ${D}${sysconfdir}/dbus-1/system.d/ | ||
13 | } | ||
diff --git a/meta-oe/recipes-connectivity/dnsmasq/dnsmasq.inc b/meta-oe/recipes-connectivity/dnsmasq/dnsmasq.inc new file mode 100644 index 000000000..e994852b1 --- /dev/null +++ b/meta-oe/recipes-connectivity/dnsmasq/dnsmasq.inc | |||
@@ -0,0 +1,29 @@ | |||
1 | DESCRIPTION = "Dnsmasq is a lightweight, easy to configure DNS forwarder and DHCP server." | ||
2 | HOMEPAGE = "http://www.thekelleys.org.uk/dnsmasq/doc.html" | ||
3 | SECTION = "console/network" | ||
4 | # GPLv3 was added in version 2.41 as license option | ||
5 | LICENSE = "GPLv2 GPLv3" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ | ||
7 | file://COPYING-v3;md5=d32239bcb673463ab874e80d47fae504" | ||
8 | |||
9 | #at least versions 2.15 and prior are moved to the archive folder on the server | ||
10 | SRC_URI = "http://www.thekelleys.org.uk/dnsmasq/${@['archive/', ''][float(bb.data.getVar('PV',d,1).split('.')[1]) > 15]}dnsmasq-${PV}.tar.gz;name=dnsmasq-${PV} \ | ||
11 | file://init \ | ||
12 | file://dnsmasq.conf" | ||
13 | |||
14 | inherit update-rc.d | ||
15 | |||
16 | INITSCRIPT_NAME = "dnsmasq" | ||
17 | INITSCRIPT_PARAMS = "defaults" | ||
18 | |||
19 | do_install () { | ||
20 | oe_runmake "PREFIX=${D}${prefix}" \ | ||
21 | "BINDIR=${D}${bindir}" \ | ||
22 | "MANDIR=${D}${mandir}" \ | ||
23 | install | ||
24 | install -d ${D}${sysconfdir}/ ${D}${sysconfdir}/init.d ${D}${sysconfdir}/dnsmasq.d | ||
25 | install -m 644 ${WORKDIR}/dnsmasq.conf ${D}${sysconfdir}/ | ||
26 | install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/dnsmasq | ||
27 | } | ||
28 | |||
29 | CONFFILES_${PN} = "${sysconfdir}/dnsmasq.conf" | ||
diff --git a/meta-oe/recipes-connectivity/dnsmasq/dnsmasq_2.55.bb b/meta-oe/recipes-connectivity/dnsmasq/dnsmasq_2.55.bb new file mode 100644 index 000000000..5f877047f --- /dev/null +++ b/meta-oe/recipes-connectivity/dnsmasq/dnsmasq_2.55.bb | |||
@@ -0,0 +1,4 @@ | |||
1 | require dnsmasq.inc | ||
2 | |||
3 | SRC_URI[dnsmasq-2.55.md5sum] = "b093d7c6bc7f97ae6fd35d048529232a" | ||
4 | SRC_URI[dnsmasq-2.55.sha256sum] = "cf63ecf5977f00474cbda98376a9d8743500a82fd98e13f43d7037bce9f9f929" | ||
diff --git a/meta-oe/recipes-connectivity/dnsmasq/files/dnsmasq.conf b/meta-oe/recipes-connectivity/dnsmasq/files/dnsmasq.conf new file mode 100755 index 000000000..1a198a379 --- /dev/null +++ b/meta-oe/recipes-connectivity/dnsmasq/files/dnsmasq.conf | |||
@@ -0,0 +1,293 @@ | |||
1 | # Configuration file for dnsmasq. | ||
2 | # | ||
3 | # Format is one option per line, legal options are the same | ||
4 | # as the long options legal on the command line. See | ||
5 | # "/usr/sbin/dnsmasq --help" or "man 8 dnsmasq" for details. | ||
6 | |||
7 | # Change these lines if you want dnsmasq to serve MX records. | ||
8 | # Only one of mx-host and mx-target need be set, the other defaults | ||
9 | # to the name of the host running dnsmasq. | ||
10 | #mx-host= | ||
11 | #mx-target= | ||
12 | #selfmx | ||
13 | #localmx | ||
14 | |||
15 | # The following two options make you a better netizen, since they | ||
16 | # tell dnsmasq to filter out queries which the public DNS cannot | ||
17 | # answer, and which load the servers (especially the root servers) | ||
18 | # uneccessarily. If you have a dial-on-demand link they also stop | ||
19 | # these requests from bringing up the link uneccessarily. | ||
20 | |||
21 | # Never forward plain names (with a dot or domain part) | ||
22 | domain-needed | ||
23 | # Never forward addresses in the non-routed address spaces. | ||
24 | bogus-priv | ||
25 | |||
26 | |||
27 | # Uncomment this to filter useless windows-originated DNS requests | ||
28 | # which can trigger dial-on-demand links needlessly. | ||
29 | # Note that (amongst other things) this blocks all SRV requests, | ||
30 | # so don't use it if you use eg Kerberos. | ||
31 | #filterwin2k | ||
32 | |||
33 | # Change this line if you want dns to get its upstream servers from | ||
34 | # somewhere other that /etc/resolv.conf | ||
35 | #resolv-file= | ||
36 | |||
37 | # By default, dnsmasq will send queries to any of the upstream | ||
38 | # servers it knows about and tries to favour servers to are known | ||
39 | # to be up. Uncommenting this forces dnsmasq to try each query | ||
40 | # with each server strictly in the order they appear in | ||
41 | # /etc/resolv.conf | ||
42 | #strict-order | ||
43 | |||
44 | # If you don't want dnsmasq to read /etc/resolv.conf or any other | ||
45 | # file, getting its servers for this file instead (see below), then | ||
46 | # uncomment this | ||
47 | #no-resolv | ||
48 | |||
49 | # If you don't want dnsmasq to poll /etc/resolv.conf or other resolv | ||
50 | # files for changes and re-read them then uncomment this. | ||
51 | #no-poll | ||
52 | |||
53 | # Add other name servers here, with domain specs if they are for | ||
54 | # non-public domains. | ||
55 | #server=/localnet/192.168.0.1 | ||
56 | |||
57 | # Add local-only domains here, queries in these domains are answered | ||
58 | # from /etc/hosts or DHCP only. | ||
59 | #local=/localnet/ | ||
60 | |||
61 | # Add domains which you want to force to an IP address here. | ||
62 | # The example below send any host in doubleclick.net to a local | ||
63 | # webserver. | ||
64 | #address=/doubleclick.net/127.0.0.1 | ||
65 | |||
66 | # You no longer (as of version 1.7) need to set these to enable | ||
67 | # dnsmasq to read /etc/ppp/resolv.conf since dnsmasq now uses the | ||
68 | # "dip" group to achieve this. | ||
69 | #user= | ||
70 | #group= | ||
71 | |||
72 | # If you want dnsmasq to listen for requests only on specified interfaces | ||
73 | # (and the loopback) give the name of the interface (eg eth0) here. | ||
74 | # Repeat the line for more than one interface. | ||
75 | #interface= | ||
76 | # Or you can specify which interface _not_ to listen on | ||
77 | #except-interface= | ||
78 | # Or which to listen on by address (remember to include 127.0.0.1 if | ||
79 | # you use this.) | ||
80 | #listen-address= | ||
81 | |||
82 | # On systems which support it, dnsmasq binds the wildcard address, | ||
83 | # even when it is listening on only some interfaces. It then discards | ||
84 | # requests that it shouldn't reply to. This has the advantage of | ||
85 | # working even when interfaces come and go and change address. If you | ||
86 | # want dnsmasq to really bind only the interfaces it is listening on, | ||
87 | # uncomment this option. About the only time you may need this is when | ||
88 | # running another nameserver on the same machine. | ||
89 | #bind-interfaces | ||
90 | |||
91 | # If you don't want dnsmasq to read /etc/hosts, uncomment the | ||
92 | # following line. | ||
93 | #no-hosts | ||
94 | # or if you want it to read another file, as well as /etc/hosts, use | ||
95 | # this. | ||
96 | #addn-hosts=/etc/banner_add_hosts | ||
97 | |||
98 | # Set this (and domain: see below) if you want to have a domain | ||
99 | # automatically added to simple names in a hosts-file. | ||
100 | #expand-hosts | ||
101 | |||
102 | # Set the domain for dnsmasq. this is optional, but if it is set, it | ||
103 | # does the following things. | ||
104 | # 1) Allows DHCP hosts to have fully qualified domain names, as long | ||
105 | # as the domain part matches this setting. | ||
106 | # 2) Sets the "domain" DHCP option thereby potentially setting the | ||
107 | # domain of all systems configured by DHCP | ||
108 | # 3) Provides the domain part for "expand-hosts" | ||
109 | #domain=thekelleys.org.uk | ||
110 | |||
111 | # Uncomment this to enable the integrated DHCP server, you need | ||
112 | # to supply the range of addresses available for lease and optionally | ||
113 | # a lease time. If you have more than one network, you will need to | ||
114 | # repeat this for each network on which you want to supply DHCP | ||
115 | # service. | ||
116 | #dhcp-range=192.168.0.50,192.168.0.150,12h | ||
117 | dhcp-range=10.0.0.10,10.0.0.200,2h | ||
118 | |||
119 | # This is an example of a DHCP range where the netmask is given. This | ||
120 | # is needed for networks we reach the dnsmasq DHCP server via a relay | ||
121 | # agent. If you don't know what a DHCP relay agent is, you probably | ||
122 | # don't need to worry about this. | ||
123 | #dhcp-range=192.168.0.50,192.168.0.150,255.255.255.0,12h | ||
124 | |||
125 | # This is an example of a DHCP range with a network-id, so that | ||
126 | # some DHCP options may be set only for this network. | ||
127 | #dhcp-range=red,192.168.0.50,192.168.0.150 | ||
128 | |||
129 | # Supply parameters for specified hosts using DHCP. There are lots | ||
130 | # of valid alternatives, so we will give examples of each. Note that | ||
131 | # IP addresses DO NOT have to be in the range given above, they just | ||
132 | # need to be on the same network. The order of the parameters in these | ||
133 | # do not matter, it's permissble to give name,adddress and MAC in any order | ||
134 | |||
135 | # Always allocate the host with ethernet address 11:22:33:44:55:66 | ||
136 | # The IP address 192.168.0.60 | ||
137 | #dhcp-host=11:22:33:44:55:66,192.168.0.60 | ||
138 | |||
139 | # Always set the name of the host with hardware address | ||
140 | # 11:22:33:44:55:66 to be "fred" | ||
141 | #dhcp-host=11:22:33:44:55:66,fred | ||
142 | |||
143 | # Always give the host with ethernet address 11:22:33:44:55:66 | ||
144 | # the name fred and IP address 192.168.0.60 and lease time 45 minutes | ||
145 | #dhcp-host=11:22:33:44:55:66,fred,192.168.0.60,45m | ||
146 | |||
147 | # Give the machine which says it's name is "bert" IP address | ||
148 | # 192.168.0.70 and an infinite lease | ||
149 | #dhcp-host=bert,192.168.0.70,infinite | ||
150 | |||
151 | # Always give the host with client identifier 01:02:02:04 | ||
152 | # the IP address 192.168.0.60 | ||
153 | #dhcp-host=id:01:02:02:04,192.168.0.60 | ||
154 | |||
155 | # Always give the host with client identifier "marjorie" | ||
156 | # the IP address 192.168.0.60 | ||
157 | #dhcp-host=id:marjorie,192.168.0.60 | ||
158 | |||
159 | # Enable the address given for "judge" in /etc/hosts | ||
160 | # to be given to a machine presenting the name "judge" when | ||
161 | # it asks for a DHCP lease. | ||
162 | #dhcp-host=judge | ||
163 | |||
164 | # Never offer DHCP service to a machine whose ethernet | ||
165 | # address is 11:22:33:44:55:66 | ||
166 | #dhcp-host=11:22:33:44:55:66,ignore | ||
167 | |||
168 | # Ignore any client-id presented by the machine with ethernet | ||
169 | # address 11:22:33:44:55:66. This is useful to prevent a machine | ||
170 | # being treated differently when running under different OS's or | ||
171 | # between PXE boot and OS boot. | ||
172 | #dhcp-host=11:22:33:44:55:66,id:* | ||
173 | |||
174 | # Send extra options which are tagged as "red" to | ||
175 | # the machine with ethernet address 11:22:33:44:55:66 | ||
176 | #dhcp-host=11:22:33:44:55:66,net:red | ||
177 | |||
178 | # Send extra options which are tagged as "red" to any machine whose | ||
179 | # DHCP vendorclass string includes the substring "Linux" | ||
180 | #dhcp-vendorclass=red,Linux | ||
181 | |||
182 | # Send extra options which are tagged as "red" to any machine one | ||
183 | # of whose DHCP userclass strings includes the substring "accounts" | ||
184 | #dhcp-userclass=red,accounts | ||
185 | |||
186 | # If this line is uncommented, dnsmasq will read /etc/ethers and act | ||
187 | # on the ethernet-address/IP pairs found there just as if they had | ||
188 | # been given as --dhcp-host options. Useful if you keep | ||
189 | # MAC-address/host mappings there for other purposes. | ||
190 | #read-ethers | ||
191 | |||
192 | # Send options to hosts which ask for a DHCP lease. | ||
193 | # See RFC 2132 for details of available options. | ||
194 | # Note that all the common settings, such as netmask and | ||
195 | # broadcast address, DNS server and default route, are given | ||
196 | # sane defaults by dnsmasq. You very likely will not need any | ||
197 | # any dhcp-options. If you use Windows clients and Samba, there | ||
198 | # are some options which are recommended, they are detailed at the | ||
199 | # end of this section. | ||
200 | # For reference, the common options are: | ||
201 | # subnet mask - 1 | ||
202 | # default router - 3 | ||
203 | # DNS server - 6 | ||
204 | # broadcast address - 28 | ||
205 | |||
206 | # Set the NTP time server addresses to 192.168.0.4 and 10.10.0.5 | ||
207 | #dhcp-option=42,192.168.0.4,10.10.0.5 | ||
208 | |||
209 | # Set the NTP time server address to be the same machine as | ||
210 | # is running dnsmasq | ||
211 | #dhcp-option=42,0.0.0.0 | ||
212 | |||
213 | # Set the NIS domain name to "welly" | ||
214 | #dhcp-option=40,welly | ||
215 | |||
216 | # Set the default time-to-live to 50 | ||
217 | #dhcp-option=23,50 | ||
218 | |||
219 | # Set the "all subnets are local" flag | ||
220 | #dhcp-option=27,1 | ||
221 | |||
222 | # Send the etherboot magic flag and then etherboot options (a string). | ||
223 | #dhcp-option=128,e4:45:74:68:00:00 | ||
224 | #dhcp-option=129,NIC=eepro100 | ||
225 | |||
226 | # Specify an option which will only be sent to the "red" network | ||
227 | # (see dhcp-range for the declaration of the "red" network) | ||
228 | #dhcp-option=red,42,192.168.1.1 | ||
229 | |||
230 | # The following DHCP options set up dnsmasq in the same way as is specified | ||
231 | # for the ISC dhcpcd in | ||
232 | # http://www.samba.org/samba/ftp/docs/textdocs/DHCP-Server-Configuration.txt | ||
233 | # adapted for a typical dnsmasq installation where the host running | ||
234 | # dnsmasq is also the host running samba. | ||
235 | # you may want to uncomment them if you use Windows clients and Samba. | ||
236 | #dhcp-option=19,0 # option ip-forwarding off | ||
237 | #dhcp-option=44,0.0.0.0 # set netbios-over-TCP/IP nameserver(s) aka WINS server(s) | ||
238 | #dhcp-option=45,0.0.0.0 # netbios datagram distribution server | ||
239 | #dhcp-option=46,8 # netbios node type | ||
240 | #dhcp-option=47 # empty netbios scope. | ||
241 | |||
242 | |||
243 | # Set the boot filename and tftpd server name and address | ||
244 | # for BOOTP. You will only need this is you want to | ||
245 | # boot machines over the network. | ||
246 | #dhcp-boot=/var/ftpd/pxelinux.0,boothost,192.168.0.3 | ||
247 | |||
248 | # Set the limit on DHCP leases, the default is 150 | ||
249 | #dhcp-lease-max=150 | ||
250 | |||
251 | # The DHCP server needs somewhere on disk to keep its lease database. | ||
252 | # This defaults to a sane location, but if you want to change it, use | ||
253 | # the line below. | ||
254 | #dhcp-leasefile=/var/lib/misc/dnsmasq.leases | ||
255 | |||
256 | # Set the cachesize here. | ||
257 | #cache-size=150 | ||
258 | |||
259 | # If you want to disable negative caching, uncomment this. | ||
260 | #no-negcache | ||
261 | |||
262 | # Normally responses which come form /etc/hosts and the DHCP lease | ||
263 | # file have Time-To-Live set as zero, which conventionally means | ||
264 | # do not cache further. If you are happy to trade lower load on the | ||
265 | # server for potentially stale date, you can set a time-to-live (in | ||
266 | # seconds) here. | ||
267 | #local-ttl= | ||
268 | |||
269 | # If you want dnsmasq to detect attempts by Verisign to send queries | ||
270 | # to unregistered .com and .net hosts to its sitefinder service and | ||
271 | # have dnsmasq instead return the correct NXDOMAIN response, uncomment | ||
272 | # this line. You can add similar lines to do the same for other | ||
273 | # registries which have implemented wildcard A records. | ||
274 | #bogus-nxdomain=64.94.110.11 | ||
275 | |||
276 | # If you want to fix up DNS results from upstream servers, use the | ||
277 | # alias option. This only works for IPv4. | ||
278 | # This alias makes a result of 1.2.3.4 appear as 5.6.7.8 | ||
279 | #alias=1.2.3.4,5.6.7.8 | ||
280 | # and this maps 1.2.3.x to 5.6.7.x | ||
281 | #alias=1.2.3.0,5.6.7.0,255.255.255.0 | ||
282 | |||
283 | # For debugging purposes, log each DNS query as it passes through | ||
284 | # dnsmasq. | ||
285 | #log-queries | ||
286 | |||
287 | # Include a another lot of configuration options. | ||
288 | #conf-file=/etc/dnsmasq.more.conf | ||
289 | |||
290 | |||
291 | |||
292 | |||
293 | |||
diff --git a/meta-oe/recipes-connectivity/dnsmasq/files/init b/meta-oe/recipes-connectivity/dnsmasq/files/init new file mode 100644 index 000000000..d1aa9e517 --- /dev/null +++ b/meta-oe/recipes-connectivity/dnsmasq/files/init | |||
@@ -0,0 +1,52 @@ | |||
1 | #!/bin/sh | ||
2 | DAEMON=/usr/bin/dnsmasq | ||
3 | NAME=dnsmasq | ||
4 | DESC="DNS forwarder and DHCP server" | ||
5 | ARGS="-7 /etc/dnsmasq.d" | ||
6 | |||
7 | test -f $DAEMON || exit 0 | ||
8 | |||
9 | set -e | ||
10 | |||
11 | case "$1" in | ||
12 | start) | ||
13 | echo -n "starting $DESC: $NAME... " | ||
14 | test -d /var/lib/misc/ || mkdir /var/lib/misc/ | ||
15 | start-stop-daemon -S -x $DAEMON -- $ARGS | ||
16 | echo "done." | ||
17 | ;; | ||
18 | stop) | ||
19 | echo -n "stopping $DESC: $NAME... " | ||
20 | start-stop-daemon -K -x $DAEMON | ||
21 | echo "done." | ||
22 | ;; | ||
23 | status) | ||
24 | echo -n "dnsmasq " | ||
25 | start-stop-daemon -q -K -t -x $DAEMON | ||
26 | RET=$? | ||
27 | if [ "$RET" = "0" ]; then | ||
28 | PID=`cat /var/run/dnsmasq.pid` | ||
29 | echo "($PID) is running" | ||
30 | else | ||
31 | echo "is not running" | ||
32 | exit $RET | ||
33 | fi | ||
34 | ;; | ||
35 | restart) | ||
36 | echo "restarting $DESC: $NAME... " | ||
37 | $0 stop | ||
38 | $0 start | ||
39 | echo "done." | ||
40 | ;; | ||
41 | reload) | ||
42 | echo -n "reloading $DESC: $NAME... " | ||
43 | killall -HUP $(basename ${DAEMON}) | ||
44 | echo "done." | ||
45 | ;; | ||
46 | *) | ||
47 | echo "Usage: $0 {start|stop|status|restart|reload}" | ||
48 | exit 1 | ||
49 | ;; | ||
50 | esac | ||
51 | |||
52 | exit 0 | ||