[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