Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Pavel Zhukov <pavel@zhukoff.net>
To: Alexandre Belloni <alexandre.belloni@bootlin.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH 1/3] dummy-sdk-package.inc: Filter packages which are marked for installation
Date: Fri, 06 Oct 2023 08:37:49 +0200	[thread overview]
Message-ID: <874jj4s196.fsf@desktop.zhukoff.net> (raw)
In-Reply-To: <202310051928481b3031dd@mail.local>


Hi Alex,

Thank you for heads up. Interesting breakage... Reproduced locally.

-- 
Pavel

Alexandre Belloni <alexandre.belloni@bootlin.com> writes:

> Hello,
>
> This series causes the following failure:
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/20/builds/8312/steps/12/logs/stdio
>
> | Can't locate Text/Tabs.pm in @INC (you may need to install the
> | Text::Tabs module) (@INC entries checked:
> | /home/pokybuild/yocto-worker/buildtools/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/buildtools-extended-tarball/1.0/testimage-sdk/bitbake-build-2946y_hb/tmp/work/x86_64-linux/automake-native/1.16.5/build/lib/
> | /home/pokybuild/yocto-worker/buildtools/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/buildtools-extended-tarball/1.0/testimage-sdk/bitbake-build-2946y_hb/tmp/work/x86_64-linux/automake-native/1.16.5/build/../automake-1.16.5/lib/
> | /home/pokybuild/yocto-worker/buildtools/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/buildtools-extended-tarball/1.0/testimage-sdk/sysroots/x86_64-pokysdk-linux/usr/bin/../..//usr/lib/perl5/site_perl/5.38.0/x86_64-linux
> | /home/pokybuild/yocto-worker/buildtools/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/buildtools-extended-tarball/1.0/testimage-sdk/sysroots/x86_64-pokysdk-linux/usr/bin/../..//usr/lib/perl5/site_perl/5.38.0
> | /home/pokybuild/yocto-worker/buildtools/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/buildtools-extended-tarball/1.0/testimage-sdk/sysroots/x86_64-pokysdk-linux/usr/bin/../..//usr/lib/perl5/vendor_perl/5.38.0
> | /home/pokybuild/yocto-worker/buildtools/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/buildtools-extended-tarball/1.0/testimage-sdk/sysroots/x86_64-pokysdk-linux/usr/bin/../..//usr/lib/perl5/5.38.0/x86_64-linux
> | /home/pokybuild/yocto-worker/buildtools/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/buildtools-extended-tarball/1.0/testimage-sdk/sysroots/x86_64-pokysdk-linux/usr/bin/../..//usr/lib/perl5/5.38.0
> | /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/lib/perl5/site_perl/5.38.0/x86_64-linux
> | /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/lib/perl5/site_perl/5.38.0
> | /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/lib/perl5/vendor_perl/5.38.0/x86_64-linux
> | /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/lib/perl5/vendor_perl/5.38.0
> | /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/lib/perl5/5.38.0/x86_64-linux
> | /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/lib/perl5/5.38.0)
> | at ../automake-1.16.5/doc/help2man line 28.
> | BEGIN failed--compilation aborted at ../automake-1.16.5/doc/help2man line 28.
> | make: *** [Makefile:3741: doc/aclocal-1.16.1] Error 2
> | make: *** Waiting for unfinished jobs....
> | if LC_ALL=C grep '@[a-zA-Z0-9_][a-zA-Z0-9_]*@' runtest-t; then echo
> | "runtest contains unexpanded substitution (see lines above)"; exit
> | 1; fi; chmod a-w runtest-t && mv -f runtest-t runtest
> | Can't locate Text/Tabs.pm in @INC (you may need to install the
> | Text::Tabs module) (@INC entries checked:
> | /home/pokybuild/yocto-worker/buildtools/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/buildtools-extended-tarball/1.0/testimage-sdk/bitbake-build-2946y_hb/tmp/work/x86_64-linux/automake-native/1.16.5/build/lib/
> | /home/pokybuild/yocto-worker/buildtools/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/buildtools-extended-tarball/1.0/testimage-sdk/bitbake-build-2946y_hb/tmp/work/x86_64-linux/automake-native/1.16.5/build/../automake-1.16.5/lib/
> | /home/pokybuild/yocto-worker/buildtools/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/buildtools-extended-tarball/1.0/testimage-sdk/sysroots/x86_64-pokysdk-linux/usr/bin/../..//usr/lib/perl5/site_perl/5.38.0/x86_64-linux
> | /home/pokybuild/yocto-worker/buildtools/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/buildtools-extended-tarball/1.0/testimage-sdk/sysroots/x86_64-pokysdk-linux/usr/bin/../..//usr/lib/perl5/site_perl/5.38.0
> | /home/pokybuild/yocto-worker/buildtools/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/buildtools-extended-tarball/1.0/testimage-sdk/sysroots/x86_64-pokysdk-linux/usr/bin/../..//usr/lib/perl5/vendor_perl/5.38.0
> | /home/pokybuild/yocto-worker/buildtools/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/buildtools-extended-tarball/1.0/testimage-sdk/sysroots/x86_64-pokysdk-linux/usr/bin/../..//usr/lib/perl5/5.38.0/x86_64-linux
> | /home/pokybuild/yocto-worker/buildtools/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/buildtools-extended-tarball/1.0/testimage-sdk/sysroots/x86_64-pokysdk-linux/usr/bin/../..//usr/lib/perl5/5.38.0
> | /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/lib/perl5/site_perl/5.38.0/x86_64-linux
> | /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/lib/perl5/site_perl/5.38.0
> | /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/lib/perl5/vendor_perl/5.38.0/x86_64-linux
> | /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/lib/perl5/vendor_perl/5.38.0
> | /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/lib/perl5/5.38.0/x86_64-linux
> | /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/lib/perl5/5.38.0)
> | at ../automake-1.16.5/doc/help2man line 28.
> | BEGIN failed--compilation aborted at ../automake-1.16.5/doc/help2man line 28.
> | make: *** [Makefile:3743: doc/automake-1.16.1] Error 2
> | if LC_ALL=C grep '@[a-zA-Z0-9_][a-zA-Z0-9_]*@'
> | t/ax/shell-no-trail-bslash-t; then echo "t/ax/shell-no-trail-bslash
> | contains unexpanded substitution (see lines above)"; exit 1; fi;
> | chmod a-w t/ax/shell-no-trail-bslash-t && mv -f
> | t/ax/shell-no-trail-bslash-t t/ax/shell-no-trail-bslash
> | ERROR: oe_runmake failed
> | WARNING: exit code 1 from a shell command.
>
> On 04/10/2023 18:13:16+0200, Pavel Zhukov wrote:
>> if packages is provided by dummysdk and in the same time marked for
>> installation with IMAGE_INSTALL it causes conflict in apt because virtual providers are
>> not taken into account if package is asked to be installed explicitly.
>> Filter such packages from provides/conflicts to workaround this problem.
>> This workaround brakes RPM usecase because of file conlicts with
>> DUMMYPROVIDES, use DUMMYPROVIDES_PACKAGES_MULTILIB instead (which
>> doesn't include file based conflicts).
>> While this is needed for the case of package_deb only adding it for all
>> package managers to not complicate the code.
>> 
>> Fixes: [Yocto #13338] [Yocto #14066]
>> 
>> Fixes:
>> The following information may help to resolve the situation:
>> 
>> The following packages have unmet dependencies:
>>  target-sdk-provides-dummy : Conflicts: bash
>> E: Unable to correct problems, you have held broken packages.
>> 
>> Signed-off-by: Pavel Zhukov <pavel@zhukoff.net>
>> ---
>>  meta/recipes-core/meta/dummy-sdk-package.inc | 5 +++--
>>  1 file changed, 3 insertions(+), 2 deletions(-)
>> 
>> diff --git a/meta/recipes-core/meta/dummy-sdk-package.inc b/meta/recipes-core/meta/dummy-sdk-package.inc
>> index bd26e39ad3..6ccafbf8bc 100644
>> --- a/meta/recipes-core/meta/dummy-sdk-package.inc
>> +++ b/meta/recipes-core/meta/dummy-sdk-package.inc
>> @@ -19,13 +19,14 @@ PR[vardeps] += "DUMMYPROVIDES"
>>  PR[vardeps] += "DUMMYPROVIDES_PACKAGES"
>>  
>>  DUMMYPROVIDES_PACKAGES ??= ""
>> -DUMMYPROVIDES_PACKAGES_MULTILIB = "${@' '.join([multilib_pkg_extend(d, pkg) for pkg in d.getVar('DUMMYPROVIDES_PACKAGES').split()])}"
>> +DUMMYPROVIDES_PACKAGES_FILTERED = "${@' '.join([pkg for pkg in d.getVar('DUMMYPROVIDES_PACKAGES').split() if d.getVar('IMAGE_INSTALL') is not None and pkg not in d.getVar('IMAGE_INSTALL').split()])}"
>> +DUMMYPROVIDES_PACKAGES_MULTILIB = "${@' '.join([multilib_pkg_extend(d, pkg) for pkg in d.getVar('DUMMYPROVIDES_PACKAGES_FILTERED').split()])}"
>>  DUMMYPROVIDES += "${DUMMYPROVIDES_PACKAGES_MULTILIB}"
>>  
>>  python populate_packages:prepend() {
>>      p = d.getVar("PN")
>>      d.appendVar("RPROVIDES:%s" % p, "${DUMMYPROVIDES}")
>> -    d.appendVar("RCONFLICTS:%s" % p, "${DUMMYPROVIDES}")
>> +    d.appendVar("RCONFLICTS:%s" % p, "${DUMMYPROVIDES_PACKAGES_MULTILIB}")
>>      d.appendVar("RREPLACES:%s" % p, "${DUMMYPROVIDES_PACKAGES_MULTILIB}")
>>  }
>>  
>> -- 
>> 2.41.0
>> 
>
>> 
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Links: You receive all messages sent to this group.
>> View/Reply Online (#188690): https://lists.openembedded.org/g/openembedded-core/message/188690
>> Mute This Topic: https://lists.openembedded.org/mt/101758725/3617179
>> Group Owner: openembedded-core+owner@lists.openembedded.org
>> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com]
>> -=-=-=-=-=-=-=-=-=-=-=-
>> 



      reply	other threads:[~2023-10-06  6:42 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-04 16:13 [PATCH 1/3] dummy-sdk-package.inc: Filter packages which are marked for installation Pavel Zhukov
2023-10-04 16:13 ` [PATCH 2/3] package_deb: Revert versioned providers workaround Pavel Zhukov
2023-10-04 16:13 ` [PATCH 3/3] selftest: Add tests for populate_sdk task Pavel Zhukov
2023-10-05 19:28 ` [OE-core] [PATCH 1/3] dummy-sdk-package.inc: Filter packages which are marked for installation Alexandre Belloni
2023-10-06  6:37   ` Pavel Zhukov [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=874jj4s196.fsf@desktop.zhukoff.net \
    --to=pavel@zhukoff.net \
    --cc=alexandre.belloni@bootlin.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox