[OE-core] [pyro][PATCH 19/25] texinfo: Avoid a problem with a dependency on perl(Locale::gettext_xs)

Peter Kjellerstedt peter.kjellerstedt at axis.com
Thu Aug 31 13:58:28 UTC 2017


> -----Original Message-----
> From: Richard Purdie [mailto:richard.purdie at linuxfoundation.org]
> Sent: den 30 augusti 2017 23:37
> To: Peter Kjellerstedt <peter.kjellerstedt at axis.com>; Armin Kuster
> <akuster808 at gmail.com>; openembedded-core at lists.openembedded.org
> Subject: Re: [OE-core] [pyro][PATCH 19/25] texinfo: Avoid a problem
> with a dependency on perl(Locale::gettext_xs)
> 
> On Tue, 2017-08-29 at 23:21 +0200, Peter Kjellerstedt wrote:
> > We do not build the Locale::gettext_xs Perl module and the code will
> > test for it and happily use Locale::gettext_pp instead if it is not
> > found. However, this still causes a file dependency on
> > perl(Locale::gettext_xs) to be generated, which must be satisfied by
> > adding an explicit provide for it.
> >
> > Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt at axis.com>
> > Signed-off-by: Mark Hatle <mark.hatle at windriver.com>
> > Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
> > ---
> >  meta/recipes-extended/texinfo/texinfo_6.3.bb | 6 ++++++
> >  1 file changed, 6 insertions(+)
> >
> > diff --git a/meta/recipes-extended/texinfo/texinfo_6.3.bb
> > b/meta/recipes-extended/texinfo/texinfo_6.3.bb
> > index d82731e11e..f58df928aa 100644
> > --- a/meta/recipes-extended/texinfo/texinfo_6.3.bb
> > +++ b/meta/recipes-extended/texinfo/texinfo_6.3.bb
> > @@ -79,4 +79,10 @@ FILES_${PN}-doc = "${infodir}/texinfo* \
> >                     ${datadir}/${tex_texinfo} \
> >                     ${mandir}/man1 ${mandir}/man5"
> >
> > +# Lie about providing the Locale::gettext_xs module. It is not
> > actually built,
> > +# but the code will test for it and if not found use
> > Locale::gettext_pp instead.
> > +# However, this causes a file dependency on perl(Locale::gettext_xs)
> > to be
> > +# generated, which must be satisfied.
> > +RPROVIDES_${PN} += "perl(Locale::gettext_xs)"
> > +
> >  BBCLASSEXTEND = "native nativesdk"
> 
> Breaks in do_package_write_deb:
> 
> e.g.
> https://autobuilder.yoctoproject.org/main/builders/nightly-
> arm64/builds/827
> 
> but also many other builds. Possibly missing some other backport?
> 
> Cheers,
> 
> Richard

Ok, the problem was easily reproducible by building nativesdk-texinfo 
with package_deb in PACKAGE_CLASSES. What that result in, is an error 
like this:

dpkg-deb: error: parsing file 'tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-texinfo/6.3-r0/packages-split/nativesdk-texinfo/DEBIAN/control' near line 15 package 'nativesdk-texinfo':
 'Provides' field, reference to 'nativesdk-perl__Locale': invalid architecture name ':gettext_xs__': must start with an alphanumeric

Which is due to the following line in the Debian control file:

Provides: nativesdk-perl__Locale::gettext_xs__

And it is clear that dpkg does not like the two colons on that line. 
However, that got me thinking. Why is this not a problem when building 
with master of Poky? So I went and built the same with master and 
looked at log.do_package_write_dep for nativesdl-texinfo, and as I 
suspected the error was there as well. However, the error was ignored 
which led to the build succeeding, but without actually producing the 
texinfo deb package!

After some testing it turned out that commit dd540fba "package_deb: 
Enable multithreaded package creation" is the culprit. If I revert 
that, building nativesdk-texinfo will start to fail for master if 
Debian packaging is enabled.

Given that Mark disabled Perl dependencies from being generated, I 
think the easiest solution is to just drop this patch from Pyro, and 
revert the corresponding patch from master. 

I will leave fixing the multithreaded package creation support in 
package_deb.bbclass to you because I have no idea about that...

//Peter



More information about the Openembedded-core mailing list