add missing normalize-resolvconf file since it has been moved to a separate file since version 1.90

Message ID 20220620080820.10211-1-qorin.wu@gmail.com
State New
Headers show
Series add missing normalize-resolvconf file since it has been moved to a separate file since version 1.90 | expand

Commit Message

Qorin Wu June 20, 2022, 8:08 a.m. UTC
From: Qorin <qorin.qorinna@nl.abb.com>

---
 meta/recipes-connectivity/resolvconf/resolvconf_1.91.bb | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Luca Ceresoli June 20, 2022, 9:20 a.m. UTC | #1
Hi Qorin,

On Mon, 20 Jun 2022 10:08:20 +0200
"Qorin Wu" <qorin.wu@gmail.com> wrote:

> From: Qorin <qorin.qorinna@nl.abb.com>
> 
> ---
>  meta/recipes-connectivity/resolvconf/resolvconf_1.91.bb | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-connectivity/resolvconf/resolvconf_1.91.bb b/meta/recipes-connectivity/resolvconf/resolvconf_1.91.bb
> index 94fd2c1a70..d2d9973852 100644
> --- a/meta/recipes-connectivity/resolvconf/resolvconf_1.91.bb
> +++ b/meta/recipes-connectivity/resolvconf/resolvconf_1.91.bb
> @@ -9,7 +9,7 @@ LICENSE = "GPL-2.0-or-later"
>  LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
>  AUTHOR = "Thomas Hood"
>  HOMEPAGE = "http://packages.debian.org/resolvconf"
> -RDEPENDS:${PN} = "bash"
> +RDEPENDS:${PN} = "bash sed"

Can you pelase explain how adding the 'sed' RDEPENDS is related to
the normalize-resolvconf change?

>  SRC_URI = "git://salsa.debian.org/debian/resolvconf.git;protocol=https;branch=unstable \
>             file://99_resolvconf \
> @@ -46,6 +46,7 @@ do_install () {
>  	chown -R root:root ${D}${sysconfdir}/
>  	install -m 0755 bin/resolvconf ${D}${base_sbindir}/
>  	install -m 0755 bin/list-records ${D}${base_libdir}/${BPN}
> +	install -m 0755 bin/normalize-resolvconf ${D}${base_libdir}/${BPN}
>  	install -d ${D}/${sysconfdir}/network/if-up.d
>  	install -m 0755 debian/resolvconf.000resolvconf.if-up ${D}/${sysconfdir}/network/if-up.d/000resolvconf
>  	install -d ${D}/${sysconfdir}/network/if-down.d
Luca Ceresoli June 20, 2022, 9:49 a.m. UTC | #2
Hi Qorin,

On Mon, 20 Jun 2022 09:24:22 +0000
Qorin Qorinna <qorin.qorinna@nl.abb.com> wrote:

> Hi Luca,
> 
> it's because the normalize-resolvconf requires sed.
> 
> These are the error messages that I got when I built the package w/o sed
> ERROR: resolvconf-1.91-r0 do_package_qa: QA Issue: /lib/resolvconf/normalize-resolvconf contained in package resolvconf requires /bin/sed, but no providers found in RDEPENDS:resolvconf? [file-rdeps]
> ERROR: resolvconf-1.91-r0 do_package_qa: Fatal QA errors were found, failing task.

I see. In this case it would be nice to add either a line to the commit
message or a comment in the .bb file, just to avoid others to wonder
why sed is needed.

I added a line to the commit message on my branch that I'm going to
test. It would be great if you could do so for future patches. Thanks!
Peter Kjellerstedt June 20, 2022, 10:55 a.m. UTC | #3
> -----Original Message-----
> From: openembedded-core@lists.openembedded.org <openembedded-
> core@lists.openembedded.org> On Behalf Of Luca Ceresoli via
> lists.openembedded.org
> Sent: den 20 juni 2022 11:50
> To: Qorin Qorinna <qorin.qorinna@nl.abb.com>
> Cc: Qorin Wu <qorin.wu@gmail.com>; openembedded-
> core@lists.openembedded.org
> Subject: Re: [OE-core] [PATCH] add missing normalize-resolvconf file since it has been moved to a separate file since version 1.90

It is expected that the subject line is prefixed with the recipe name.
It is also a very long subject line. Better would be to move half of 
it to the commit message body, e.g.:

resolvconf: Install missing normalize-resolvconf file

It was moved to a separate file in version 1.90.

> Hi Qorin,
> 
> On Mon, 20 Jun 2022 09:24:22 +0000
> Qorin Qorinna <qorin.qorinna@nl.abb.com> wrote:
> 
> > Hi Luca,
> >
> > it's because the normalize-resolvconf requires sed.
> >
> > These are the error messages that I got when I built the package w/o sed
> > ERROR: resolvconf-1.91-r0 do_package_qa: QA Issue: /lib/resolvconf/normalize-resolvconf contained in package resolvconf requires /bin/sed, but no providers found in RDEPENDS:resolvconf? [file-rdeps]
> > ERROR: resolvconf-1.91-r0 do_package_qa: Fatal QA errors were found, failing task.
> 
> I see. In this case it would be nice to add either a line to the commit
> message or a comment in the .bb file, just to avoid others to wonder
> why sed is needed.

The problem here is that sed is provided by busybox and in almost all 
cases you do not want an explicit dependency on sed as that instead will 
install the sed program from the sed recipe. 

In this case I would recommend to add something like this:

# The normalize-resolvconf sed script uses /bin/sed on the shebang line.
# Ignore the file-rdeps test to avoid having to add a runtime dependency on sed.
INSANE_SKIP:${PN} += "file-rdeps"

> I added a line to the commit message on my branch that I'm going to
> test. It would be great if you could do so for future patches. Thanks!
> 
> --
> Luca Ceresoli, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com

//Peter
Qorin Wu June 20, 2022, 1:15 p.m. UTC | #4
Hi Peter and Luca,

Thanks. I have updated the sed dependency and fixed the commit message.
Ignore the 2nd mail, the 3rd mail was the correct one.

Regards,
Qorin

On Mon, Jun 20, 2022 at 12:55 PM Peter Kjellerstedt <
peter.kjellerstedt@axis.com> wrote:

> > -----Original Message-----
> > From: openembedded-core@lists.openembedded.org <openembedded-
> > core@lists.openembedded.org> On Behalf Of Luca Ceresoli via
> > lists.openembedded.org
> > Sent: den 20 juni 2022 11:50
> > To: Qorin Qorinna <qorin.qorinna@nl.abb.com>
> > Cc: Qorin Wu <qorin.wu@gmail.com>; openembedded-
> > core@lists.openembedded.org
> > Subject: Re: [OE-core] [PATCH] add missing normalize-resolvconf file
> since it has been moved to a separate file since version 1.90
>
> It is expected that the subject line is prefixed with the recipe name.
> It is also a very long subject line. Better would be to move half of
> it to the commit message body, e.g.:
>
> resolvconf: Install missing normalize-resolvconf file
>
> It was moved to a separate file in version 1.90.
>
> > Hi Qorin,
> >
> > On Mon, 20 Jun 2022 09:24:22 +0000
> > Qorin Qorinna <qorin.qorinna@nl.abb.com> wrote:
> >
> > > Hi Luca,
> > >
> > > it's because the normalize-resolvconf requires sed.
> > >
> > > These are the error messages that I got when I built the package w/o
> sed
> > > ERROR: resolvconf-1.91-r0 do_package_qa: QA Issue:
> /lib/resolvconf/normalize-resolvconf contained in package resolvconf
> requires /bin/sed, but no providers found in RDEPENDS:resolvconf?
> [file-rdeps]
> > > ERROR: resolvconf-1.91-r0 do_package_qa: Fatal QA errors were found,
> failing task.
> >
> > I see. In this case it would be nice to add either a line to the commit
> > message or a comment in the .bb file, just to avoid others to wonder
> > why sed is needed.
>
> The problem here is that sed is provided by busybox and in almost all
> cases you do not want an explicit dependency on sed as that instead will
> install the sed program from the sed recipe.
>
> In this case I would recommend to add something like this:
>
> # The normalize-resolvconf sed script uses /bin/sed on the shebang line.
> # Ignore the file-rdeps test to avoid having to add a runtime dependency
> on sed.
> INSANE_SKIP:${PN} += "file-rdeps"
>
> > I added a line to the commit message on my branch that I'm going to
> > test. It would be great if you could do so for future patches. Thanks!
> >
> > --
> > Luca Ceresoli, Bootlin
> > Embedded Linux and Kernel engineering
> > https://bootlin.com
>
> //Peter
>
>
Luca Ceresoli June 21, 2022, 8:11 a.m. UTC | #5
Hi Qorin,

On Mon, 20 Jun 2022 10:08:20 +0200
"Qorin Wu" <qorin.wu@gmail.com> wrote:

> From: Qorin <qorin.qorinna@nl.abb.com>
> 
> ---
>  meta/recipes-connectivity/resolvconf/resolvconf_1.91.bb | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-connectivity/resolvconf/resolvconf_1.91.bb b/meta/recipes-connectivity/resolvconf/resolvconf_1.91.bb
> index 94fd2c1a70..d2d9973852 100644
> --- a/meta/recipes-connectivity/resolvconf/resolvconf_1.91.bb
> +++ b/meta/recipes-connectivity/resolvconf/resolvconf_1.91.bb
> @@ -9,7 +9,7 @@ LICENSE = "GPL-2.0-or-later"
>  LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
>  AUTHOR = "Thomas Hood"
>  HOMEPAGE = "http://packages.debian.org/resolvconf"
> -RDEPENDS:${PN} = "bash"
> +RDEPENDS:${PN} = "bash sed"
>  
>  SRC_URI = "git://salsa.debian.org/debian/resolvconf.git;protocol=https;branch=unstable \
>             file://99_resolvconf \
> @@ -46,6 +46,7 @@ do_install () {
>  	chown -R root:root ${D}${sysconfdir}/
>  	install -m 0755 bin/resolvconf ${D}${base_sbindir}/
>  	install -m 0755 bin/list-records ${D}${base_libdir}/${BPN}
> +	install -m 0755 bin/normalize-resolvconf ${D}${base_libdir}/${BPN}
>  	install -d ${D}/${sysconfdir}/network/if-up.d
>  	install -m 0755 debian/resolvconf.000resolvconf.if-up ${D}/${sysconfdir}/network/if-up.d/000resolvconf
>  	install -d ${D}/${sysconfdir}/network/if-down.d

When running this patch in the autobuilders, there are failures related
to resolvconf:

  ERROR: When reparsing /tmp/selftest-fetchpkz67tpd/test.bb:do_checkuri,
 the basehash value changed from 84b9e23a83a764e7a5d8a96ee523199e2b1c604f4280a45030e248de0ff52962 to 4123da244f465feffecb2b4fd2b132b64851981ec2fb70bf9445df8b0ea6a69e. The metadata is not deterministic and this needs to be fixed.

I must say there is no clear reason for me for this error given the
simple patch you sent. Other here can be more helpful. I'm waiting
for this to be understood before taking updated version of your patch.

Here are some logs showing the error:

https://autobuilder.yoctoproject.org/typhoon/#/builders/80/builds/3671/steps/14/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/86/builds/3687/steps/14/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/87/builds/3731/steps/14/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/79/builds/3723/steps/15/logs/stdio

Patch

diff --git a/meta/recipes-connectivity/resolvconf/resolvconf_1.91.bb b/meta/recipes-connectivity/resolvconf/resolvconf_1.91.bb
index 94fd2c1a70..d2d9973852 100644
--- a/meta/recipes-connectivity/resolvconf/resolvconf_1.91.bb
+++ b/meta/recipes-connectivity/resolvconf/resolvconf_1.91.bb
@@ -9,7 +9,7 @@  LICENSE = "GPL-2.0-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
 AUTHOR = "Thomas Hood"
 HOMEPAGE = "http://packages.debian.org/resolvconf"
-RDEPENDS:${PN} = "bash"
+RDEPENDS:${PN} = "bash sed"
 
 SRC_URI = "git://salsa.debian.org/debian/resolvconf.git;protocol=https;branch=unstable \
            file://99_resolvconf \
@@ -46,6 +46,7 @@  do_install () {
 	chown -R root:root ${D}${sysconfdir}/
 	install -m 0755 bin/resolvconf ${D}${base_sbindir}/
 	install -m 0755 bin/list-records ${D}${base_libdir}/${BPN}
+	install -m 0755 bin/normalize-resolvconf ${D}${base_libdir}/${BPN}
 	install -d ${D}/${sysconfdir}/network/if-up.d
 	install -m 0755 debian/resolvconf.000resolvconf.if-up ${D}/${sysconfdir}/network/if-up.d/000resolvconf
 	install -d ${D}/${sysconfdir}/network/if-down.d