[oe] [meta-networking][PATCH] unbound: create recipe for version 1.9.1
Ben
beniaminsandu at gmail.com
Mon Apr 29 11:25:46 UTC 2019
On 4/29/19 2:16 PM, Tom Rini wrote:
> On Mon, Apr 29, 2019 at 02:09:08PM +0300, Ben wrote:
>> On 4/29/19 3:53 AM, Tom Rini wrote:
>>> On Sun, Apr 28, 2019 at 12:35:51AM +0300, Beniamin Sandu wrote:
>>>
>>>> Signed-off-by: Beniamin Sandu <beniamin.sandu at gmail.com>
>>>> ---
>>>> .../recipes-support/unbound/unbound_1.9.1.bb | 36 +++++++++++++++++++
>>>> 1 file changed, 36 insertions(+)
>>>> create mode 100644 meta-networking/recipes-support/unbound/unbound_1.9.1.bb
>>>>
>>>> diff --git a/meta-networking/recipes-support/unbound/unbound_1.9.1.bb b/meta-networking/recipes-support/unbound/unbound_1.9.1.bb
>>>> new file mode 100644
>>>> index 000000000..84bbe6581
>>>> --- /dev/null
>>>> +++ b/meta-networking/recipes-support/unbound/unbound_1.9.1.bb
>>>> @@ -0,0 +1,36 @@
>>>> +SUMMARY = "Unbound is a validating, recursive, and caching DNS resolver"
>>>> +DESCRIPTION = "Unbound's design is a set of modular components which incorporate \
>>>> + features including enhanced security (DNSSEC) validation, Internet Protocol \
>>>> + Version 6 (IPv6), and a client resolver library API as an integral part of the \
>>>> + architecture"
>>>> +
>>>> +HOMEPAGE = "https://www.unbound.net/"
>>>> +SECTION = "net"
>>>> +LICENSE = "BSD-3-Clause"
>>>> +LIC_FILES_CHKSUM = "file://LICENSE;md5=5308494bc0590c0cb036afd781d78f06"
>>>> +
>>>> +SRC_URI = "git://github.com/NLnetLabs/unbound.git;protocol=http;branch=master"
>>>> +SRCREV="16cc196bf28aec604ed2dae2b5af2ed82c8a58d6"
>>>> +
>>>> +inherit autotools pkgconfig systemd
>>>> +
>>>> +DEPENDS = "openssl libevent libtool-native bison-native expat"
>>>> +RDEPENDS_${PN} = "bash openssl-bin"
>>>> +
>>>> +S = "${WORKDIR}/git"
>>>> +
>>>> +EXTRA_OECONF = "libtool=${TARGET_PREFIX}libtool \
>>>> + --with-ssl=${STAGING_EXECPREFIXDIR}"
>>>> +
>>>> +PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}"
>>>> +PACKAGECONFIG[systemd] = "--enable-systemd,,systemd"
>>> You should probably add:
>>> PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'largefile systemd', d)}"
>>> PACKAGECONFIG[dnscrypt] = "--enable-dnscrypt, --disable-dnscrypt, libsodium"
>>> PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,,"
>>> PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
>> Thanks, I will add those. I've only used unbound a bit and thought about
>> sending a patch with a recipe for it since I noticed there is none, but I
>> didn't look into many configuration options.
> And thanks for your contribution! I only kinda stumbled on those others
> being possible myself.
>
>>>> +do_install_append() {
>>>> + # systemd support
>>>> + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
>>>> + install -d ${D}${systemd_unitdir}/system/
>>>> + install -m 0644 ${B}/contrib/${BPN}.service ${D}${systemd_unitdir}/system/${BPN}.service
>>>> + fi
>>>> +}
>>>> +
>>>> +SYSTEMD_SERVICE_${PN} = "${BPN}.service"
>>> Then you're missing the sysvinit script too? You can just do:
>>> do_install_append() {
>>> install -d ${D}${systemd_unitdir}/system
>>> install -m 0644 ${B}/contrib/unbound.service ${D}${systemd_unitdir}/system
>>>
>>> install -d ${D}${sysconfdir}/init.d
>>> install -m 0755 ${S}/contrib/unbound.init ${D}${sysconfdir}/init.d/unbound
>>> }
>>>
>>> And the right things are packaged or not.
>> Wouldn't be better to install these files under an if where we check
>> DISTRO_FEATURES for systemd/sysvinit like in my initial patch?
> No, that just adds more complexity to the recipe that we don't need to
> have. Oh, and since we're adding the sysvinit script too you need
> to inherit update-rc.d and add some appropriate lines too so it's
> installed right. The current best practice, iirc, is to do both if we
> can do both and then we have the right logic elsewhere to not do
> sysvinit stuff on systemd and vice-versa.
>
Cool, I will send a v2 when I get to a proper machine.
More information about the Openembedded-devel
mailing list