blob: cc7f9e3be005ba006210a14939953c3ad8372a55 [file] [log] [blame]
Patrick Williamsb48b7b42016-08-17 15:04:38 -05001SUMMARY = "Lightweight, easy to configure DNS forwarder and DHCP server"
2HOMEPAGE = "http://www.thekelleys.org.uk/dnsmasq/doc.html"
3SECTION = "net"
4# GPLv3 was added in version 2.41 as license option
5LICENSE = "GPLv2 | GPLv3"
6LIC_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
10SRC_URI = "http://www.thekelleys.org.uk/dnsmasq/${@['archive/', ''][float(d.getVar('PV',1).split('.')[1]) > 15]}dnsmasq-${PV}.tar.gz;name=dnsmasq-${PV} \
11 file://init \
12 file://dnsmasq.conf \
13 file://dnsmasq-resolvconf.service \
14 file://dnsmasq-noresolvconf.service \
15"
16
17inherit pkgconfig update-rc.d systemd
18
19INITSCRIPT_NAME = "dnsmasq"
20INITSCRIPT_PARAMS = "defaults"
21
22PACKAGECONFIG ?= ""
23PACKAGECONFIG[dbus] = ",,dbus"
24PACKAGECONFIG[idn] = ",,libidn"
25PACKAGECONFIG[conntrack] = ",,libnetfilter-conntrack"
26PACKAGECONFIG[lua] = ",,lua"
27PACKAGECONFIG[resolvconf] = ",,,resolvconf"
28EXTRA_OEMAKE = "\
29 'COPTS=${@base_contains('PACKAGECONFIG', 'dbus', '-DHAVE_DBUS', '', d)} \
30 ${@base_contains('PACKAGECONFIG', 'idn', '-DHAVE_IDN', '', d)} \
31 ${@base_contains('PACKAGECONFIG', 'conntrack', '-DHAVE_CONNTRACK', '', d)} \
32 ${@base_contains('PACKAGECONFIG', 'lua', '-DHAVE_LUASCRIPT', '', d)}' \
33 'CFLAGS=${CFLAGS}' \
34 'LDFLAGS=${LDFLAGS}' \
35"
36
37SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'resolvconf', 'file://dnsmasq.resolvconf file://99_dnsmasq file://dnsmasq-resolvconf-helper', '', d)}"
38
39do_compile_append() {
40 # build dhcp_release
41 cd ${S}/contrib/wrt
42 oe_runmake
43}
44
45do_install () {
46 oe_runmake "PREFIX=${D}${prefix}" \
47 "BINDIR=${D}${bindir}" \
48 "MANDIR=${D}${mandir}" \
49 install
50 install -d ${D}${sysconfdir}/ ${D}${sysconfdir}/init.d ${D}${sysconfdir}/dnsmasq.d
51 install -m 644 ${WORKDIR}/dnsmasq.conf ${D}${sysconfdir}/
52 install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/dnsmasq
53
54 install -d ${D}${systemd_unitdir}/system
55
56 if [ "${@base_contains('PACKAGECONFIG', 'resolvconf', 'resolvconf', '', d)}" != "" ]; then
57 install -m 0644 ${WORKDIR}/dnsmasq-resolvconf.service ${D}${systemd_unitdir}/system/dnsmasq.service
58 else
59 install -m 0644 ${WORKDIR}/dnsmasq-noresolvconf.service ${D}${systemd_unitdir}/system/dnsmasq.service
60 fi
61
62 install -m 0755 ${S}/contrib/wrt/dhcp_release ${D}${bindir}
63
64 if [ "${@base_contains('PACKAGECONFIG', 'dbus', 'dbus', '', d)}" != "" ]; then
65 install -d ${D}${sysconfdir}/dbus-1/system.d
66 install -m 644 dbus/dnsmasq.conf ${D}${sysconfdir}/dbus-1/system.d/
67 fi
68 if [ "${@base_contains('PACKAGECONFIG', 'resolvconf', 'resolvconf', '', d)}" != "" ]; then
69 install -d ${D}${sysconfdir}/resolvconf/update.d/
70 install -m 0755 ${WORKDIR}/dnsmasq.resolvconf ${D}${sysconfdir}/resolvconf/update.d/dnsmasq
71
72 install -d ${D}${sysconfdir}/default/volatiles
73 install -m 0644 ${WORKDIR}/99_dnsmasq ${D}${sysconfdir}/default/volatiles
74 install -m 0755 ${WORKDIR}/dnsmasq-resolvconf-helper ${D}${bindir}
75 fi
76}
77
78CONFFILES_${PN} = "${sysconfdir}/dnsmasq.conf"
79
80RPROVIDES_${PN} += "${PN}-systemd"
81RREPLACES_${PN} += "${PN}-systemd"
82RCONFLICTS_${PN} += "${PN}-systemd"
83SYSTEMD_SERVICE_${PN} = "dnsmasq.service"