All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-networking][PATCH] unbound: create recipe for version 1.9.1
@ 2019-04-27 21:35 Beniamin Sandu
  2019-04-29  0:53 ` Tom Rini
  0 siblings, 1 reply; 7+ messages in thread
From: Beniamin Sandu @ 2019-04-27 21:35 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Beniamin Sandu

Signed-off-by: Beniamin Sandu <beniamin.sandu@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"
+
+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"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [meta-networking][PATCH] unbound: create recipe for version 1.9.1
  2019-04-27 21:35 [meta-networking][PATCH] unbound: create recipe for version 1.9.1 Beniamin Sandu
@ 2019-04-29  0:53 ` Tom Rini
  2019-04-29 11:09   ` Ben
  0 siblings, 1 reply; 7+ messages in thread
From: Tom Rini @ 2019-04-29  0:53 UTC (permalink / raw)
  To: Beniamin Sandu; +Cc: openembedded-devel, Beniamin Sandu

On Sun, Apr 28, 2019 at 12:35:51AM +0300, Beniamin Sandu wrote:

> Signed-off-by: Beniamin Sandu <beniamin.sandu@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"

> +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.

I had a recipe for 1.9.0 locally that I didn't post as I ran into some
other problem with unbound, and then ran out of time to re-visit, which
is why I have these bits handy.

-- 
Tom


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [meta-networking][PATCH] unbound: create recipe for version 1.9.1
  2019-04-29  0:53 ` Tom Rini
@ 2019-04-29 11:09   ` Ben
  2019-04-29 11:16     ` Tom Rini
  0 siblings, 1 reply; 7+ messages in thread
From: Ben @ 2019-04-29 11:09 UTC (permalink / raw)
  To: Tom Rini; +Cc: openembedded-devel, Beniamin Sandu

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@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.

>
>> +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?
>
> I had a recipe for 1.9.0 locally that I didn't post as I ran into some
> other problem with unbound, and then ran out of time to re-visit, which
> is why I have these bits handy.
>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [meta-networking][PATCH] unbound: create recipe for version 1.9.1
  2019-04-29 11:09   ` Ben
@ 2019-04-29 11:16     ` Tom Rini
  2019-04-29 11:25       ` Ben
  0 siblings, 1 reply; 7+ messages in thread
From: Tom Rini @ 2019-04-29 11:16 UTC (permalink / raw)
  To: Ben; +Cc: openembedded-devel, Beniamin Sandu

[-- Attachment #1: Type: text/plain, Size: 3869 bytes --]

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@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.

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [meta-networking][PATCH] unbound: create recipe for version 1.9.1
  2019-04-29 11:16     ` Tom Rini
@ 2019-04-29 11:25       ` Ben
  2019-05-28 18:33         ` Ben
  0 siblings, 1 reply; 7+ messages in thread
From: Ben @ 2019-04-29 11:25 UTC (permalink / raw)
  To: Tom Rini; +Cc: openembedded-devel, Beniamin Sandu

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@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.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [meta-networking][PATCH] unbound: create recipe for version 1.9.1
  2019-04-29 11:25       ` Ben
@ 2019-05-28 18:33         ` Ben
  2019-05-29  9:12           ` Khem Raj
  0 siblings, 1 reply; 7+ messages in thread
From: Ben @ 2019-05-28 18:33 UTC (permalink / raw)
  To: Tom Rini; +Cc: openembedded-devel, Beniamin Sandu

Hi,

I got back to this and updated the recipe. Problem is the sysvinit 
script/systemd service file that come from the original package, don't 
work out of the box, they both require tinkering.

What is the best "oe approach" for this? Do we ship new files that work 
with our bitbake package? Is the end user supposed to adapt the config 
files to the needed environment?

Cheers,

Beni

On 29.04.2019 14:25, Ben wrote:
> 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@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.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [meta-networking][PATCH] unbound: create recipe for version 1.9.1
  2019-05-28 18:33         ` Ben
@ 2019-05-29  9:12           ` Khem Raj
  0 siblings, 0 replies; 7+ messages in thread
From: Khem Raj @ 2019-05-29  9:12 UTC (permalink / raw)
  To: Ben; +Cc: Tom Rini, openembeded-devel, Beniamin Sandu

On Tue, May 28, 2019 at 8:33 PM Ben <beniaminsandu@gmail.com> wrote:
>
> Hi,
>
> I got back to this and updated the recipe. Problem is the sysvinit
> script/systemd service file that come from the original package, don't
> work out of the box, they both require tinkering.
>
> What is the best "oe approach" for this? Do we ship new files that work
> with our bitbake package? Is the end user supposed to adapt the config
> files to the needed environment?

Generate the diff on top of provided scripts and submit patch upstream
to the package developers
and a patch to OE as well.

>
> Cheers,
>
> Beni
>
> On 29.04.2019 14:25, Ben wrote:
> > 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@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.
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-05-29  9:12 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-27 21:35 [meta-networking][PATCH] unbound: create recipe for version 1.9.1 Beniamin Sandu
2019-04-29  0:53 ` Tom Rini
2019-04-29 11:09   ` Ben
2019-04-29 11:16     ` Tom Rini
2019-04-29 11:25       ` Ben
2019-05-28 18:33         ` Ben
2019-05-29  9:12           ` Khem Raj

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.