1SUMMARY = "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 = "GPL-2.0-only | GPL-3.0-only" 6LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ 7 file://COPYING-v3;md5=d32239bcb673463ab874e80d47fae504 \ 8 " 9 10#at least versions 2.69 and prior are moved to the archive folder on the server 11SRC_URI = "http://www.thekelleys.org.uk/dnsmasq/${@['archive/', ''][float(d.getVar('PV').split('.')[1]) > 69]}dnsmasq-${PV}.tar.gz;name=dnsmasq-${PV} \ 12 file://init \ 13 file://dnsmasq.conf \ 14 file://dnsmasq-resolvconf.service \ 15 file://dnsmasq-noresolvconf.service \ 16 file://dnsmasq-resolved.conf \ 17 file://CVE-2023-28450.patch \ 18" 19 20inherit pkgconfig update-rc.d systemd 21 22INITSCRIPT_NAME = "dnsmasq" 23INITSCRIPT_PARAMS = "defaults" 24 25PACKAGECONFIG ?= "" 26PACKAGECONFIG[dbus] = ",,dbus" 27PACKAGECONFIG[idn] = ",,libidn" 28PACKAGECONFIG[conntrack] = ",,libnetfilter-conntrack" 29PACKAGECONFIG[lua] = ",,lua" 30PACKAGECONFIG[resolvconf] = ",,,resolvconf" 31EXTRA_OEMAKE = "\ 32 'COPTS=${@bb.utils.contains('PACKAGECONFIG', 'dbus', '-DHAVE_DBUS', '', d)} \ 33 ${@bb.utils.contains('PACKAGECONFIG', 'idn', '-DHAVE_IDN', '', d)} \ 34 ${@bb.utils.contains('PACKAGECONFIG', 'conntrack', '-DHAVE_CONNTRACK', '', d)} \ 35 ${@bb.utils.contains('PACKAGECONFIG', 'lua', '-DHAVE_LUASCRIPT', '', d)}' \ 36 'CFLAGS=${CFLAGS}' \ 37 'LDFLAGS=${LDFLAGS}' \ 38" 39 40SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'resolvconf', 'file://dnsmasq.resolvconf file://99_dnsmasq file://dnsmasq-resolvconf-helper', '', d)}" 41 42do_compile:append() { 43 # build dhcp_release 44 cd ${S}/contrib/lease-tools 45 oe_runmake 46} 47 48do_install () { 49 oe_runmake "PREFIX=${D}${prefix}" \ 50 "BINDIR=${D}${bindir}" \ 51 "MANDIR=${D}${mandir}" \ 52 install 53 install -d ${D}${sysconfdir}/ ${D}${sysconfdir}/init.d ${D}${sysconfdir}/dnsmasq.d 54 install -m 644 ${WORKDIR}/dnsmasq.conf ${D}${sysconfdir}/ 55 install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/dnsmasq 56 57 install -d ${D}${systemd_unitdir}/system 58 59 if [ "${@bb.utils.filter('PACKAGECONFIG', 'resolvconf', d)}" ]; then 60 install -m 0644 ${WORKDIR}/dnsmasq-resolvconf.service ${D}${systemd_unitdir}/system/dnsmasq.service 61 else 62 install -m 0644 ${WORKDIR}/dnsmasq-noresolvconf.service ${D}${systemd_unitdir}/system/dnsmasq.service 63 fi 64 install -d ${D}${sysconfdir}/systemd/resolved.conf.d/ 65 install -m 0644 ${WORKDIR}/dnsmasq-resolved.conf ${D}${sysconfdir}/systemd/resolved.conf.d/ 66 67 install -m 0755 ${S}/contrib/lease-tools/dhcp_release ${D}${bindir} 68 69 if [ "${@bb.utils.filter('PACKAGECONFIG', 'dbus', d)}" ]; then 70 install -d ${D}${sysconfdir}/dbus-1/system.d 71 install -m 644 dbus/dnsmasq.conf ${D}${sysconfdir}/dbus-1/system.d/ 72 fi 73 if [ "${@bb.utils.filter('PACKAGECONFIG', 'resolvconf', d)}" ]; then 74 install -d ${D}${sysconfdir}/resolvconf/update.d/ 75 install -m 0755 ${WORKDIR}/dnsmasq.resolvconf ${D}${sysconfdir}/resolvconf/update.d/dnsmasq 76 77 install -d ${D}${sysconfdir}/default/volatiles 78 install -m 0644 ${WORKDIR}/99_dnsmasq ${D}${sysconfdir}/default/volatiles 79 install -m 0755 ${WORKDIR}/dnsmasq-resolvconf-helper ${D}${bindir} 80 fi 81} 82 83CONFFILES:${PN} = "${sysconfdir}/dnsmasq.conf" 84 85RPROVIDES:${PN} += "${PN}-systemd" 86RREPLACES:${PN} += "${PN}-systemd" 87RCONFLICTS:${PN} += "${PN}-systemd" 88SYSTEMD_SERVICE:${PN} = "dnsmasq.service" 89