From: Mark Hatle <mark.hatle@windriver.com>
To: "Burton, Ross" <ross.burton@intel.com>,
Robert Yang <liezhi.yang@windriver.com>
Cc: OE-core <openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH 1/1] python-smartpm-native: prefer same arch when install
Date: Tue, 27 Oct 2015 14:04:00 -0500 [thread overview]
Message-ID: <562FCAA0.3020109@windriver.com> (raw)
In-Reply-To: <CAJTo0La8YZQafC-8SKdBt_4K5N8TsHU6bq3oeykJ6-j6pc6isw@mail.gmail.com>
On 10/27/15 1:45 PM, Burton, Ross wrote:
>
> On 27 October 2015 at 14:05, Robert Yang <liezhi.yang@windriver.com
> <mailto:liezhi.yang@windriver.com>> wrote:
>
> We had made smart install multilib RDEPENDS correctly from
> package_manager.py, but it couldn't handle RRECOMMANDS, this patch fix
> the issue from python-smartpm-native, and make it work well.
>
> The logic is: when pkg_A rdepends/rrecommands pkg_B, then let pkg_B use
> pkg_A's arch when possible.
>
>
> I added this patch and rebuilt core-image-sato, then ran buildhistory-diff:
>
> Changes to images/intel_corei7_64/glibc/core-image-sato
> (installed-package-names.txt):
> lib32-ncurses-terminfo-base was added
> lib32-libjpeg9 was added
> lib32-glibc-gconv-iso8859-1 was added
> lib32-shared-mime-info was added
> lib32-libxml2 was added
> lib32-wpa-supplicant-cli was added
> lib32-libgdk-pixbuf-2.0-loader-png was added
> lib32-wpa-supplicant-passphrase was added
> lib32-pango-module-basic-fc was added
> lib32-bash was added
> lib32-libgdk-pixbuf-2.0-loader-jpeg was added
> lib32-libgdk-pixbuf-2.0-loader-gif was added
> lib32-libgdk-pixbuf-2.0-loader-xpm was added
> lib32-glibc-gconv was added
>
> Some of those are good (gdk-pixbuf and pango), some bad (bash,
> wpa-supplicant-cli), some probably bugs in packages that should be allarch
> (termino, shared-mime-info).
bash, wpa-supplicant-cli is a good example of why this is an issue. RPM luckily
says, well we've got two versions of bash, lets resolve this by following the
ELF resolution rule. So while two packages may exist in the manifest, you won't
get any conflicts and space is likely not duplicated.
But you can't automatically say "give me any bash, but give me arch specific
versions of everything else". The default in RPM is if I ask for 'bash', give
me any version of bash.. if I ask for 'bash.i586' I was -the- i586 version.
This is why the fix for this is either adjust the behavior (as Robert has done)
to suck in more dependencies and consider the ELF resolver to be adequate -- or
to add some kind of a hint to the recipe mechanisms that select dependencies
must be of the same arch type. One we handle in the resolver, and one we could
handle when we generate the packages themselves.
I'm not sure there is an obvious solution, I prefer the later with a variant of
the former myself. (Variant being if all things are equal we weight
dependencies to match the arch.. but if something is already in with that
provide we use it..) Then the hint would cause the produced packages to be able
to say they need explicit versions of the plugins.
> I'm undecided what we do about this. Fixing the dependency chains is good, but
> we're definitely pulling in more than expected.
I agree, I have a feeling what I wrote about is the right answer... but I don't
have any code to prove it.. and I'm not sure that we should be making that big
of a change right now.
Robert's patch SHOULD resolve the problem at the expense of a slightly larger
resolution manifest, which may be acceptable.
--Mark
> Ross
>
>
next prev parent reply other threads:[~2015-10-27 19:04 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-27 14:05 [PATCH 0/1] python-smartpm-native: prefer same arch when install Robert Yang
2015-10-27 14:05 ` [PATCH 1/1] " Robert Yang
2015-10-27 18:45 ` Burton, Ross
2015-10-27 19:04 ` Mark Hatle [this message]
2015-10-28 2:11 ` Robert Yang
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=562FCAA0.3020109@windriver.com \
--to=mark.hatle@windriver.com \
--cc=liezhi.yang@windriver.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=ross.burton@intel.com \
/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