From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Koen Kooi <koen@dominion.thruhere.net>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH 2/2] udev: enable multilib support
Date: Sat, 06 Apr 2013 23:00:46 +0100 [thread overview]
Message-ID: <1365285646.6526.208.camel@ted> (raw)
In-Reply-To: <AB22E165-191E-4930-929D-E6B277A265F4@dominion.thruhere.net>
On Sat, 2013-04-06 at 12:32 +0200, Koen Kooi wrote:
> Op 5 apr. 2013, om 16:34 heeft Richard Purdie <richard.purdie@linuxfoundation.org> het volgende geschreven:
>
> > On Fri, 2013-04-05 at 16:29 +0300, Alex Damian wrote:
> >> On udev-184 they changed the default location from /sbin/
> >> to /lib/udev/ and I kept same as the upstream is.
> >
> > Firstly, I know some people did ask me questions offlist about this and
> > I probably gave misleading answers. I thought this was a problem with
> > the location of the rules directory initially. We need to have one rules
> > directory regardless of multilibs.
> >
> > Binaries however are a very different question. The multilib code we
> > have in OE is complex and does make some assumptions about layout, not
> > least as we have to interface into several package managers and also
> > work with all their assumptions. The situation is that:
> >
> > * library files are expected to go into /libX
> > * binaries are expected to go into the usual bin/sbin dirs
> > * files in /etc, /usr/share and other similar directories are expected
> > to be identical
> > * We have sanity tests which check for these things
> >
> > The package managers are taught to let certain packages "win" in
> > bin/sbin and to error if overlapping files outside this are not
> > identical.
> >
> > It therefore follows that we would have to start adding exceptions to
> > this code if we have potential for both 32 bit and 64 bit /lib/udev/
> > binaries. We'd also have to add rules about which one would be expected
> > to "win" under which circumstances and so on.
> >
> > To me, the simplest solution here is to point libexec dir at /sbin so
> > that we have /sbin/udev/ since this then works with the various multilib
> > rules. It means a user can install the 64 bit and 32 bit multilibs for
> > udev in parallel (for libudev for example) and that things should all
> > work correctly.
> >
> > I appreciate upstream don't agree with that approach but equally they
> > don't have the generic multilib support we have to worry about. Hacking
> > the multilib code to pieces just to match upstream in this case is going
> > to be a lot more painful, I appreciate its the not optimal solution
> > though.
>
>
> FWIW, the udev *libraries* (libudev, libgudev, etc) go in
> $prefix/lib64 on 64 bit machines, the udev *binaries* into /lib. So
> multi*lib* should work.
Which is effectively what I said.
multilib package A has binary X in /lib. multilib package also B has
binary X in /lib. Package A and B cannot be installed at the same time
(package managers can't cope) and the sanity tests will fail.
Sure, we can force the libraries to be in separate packages. There is no
mechanism to force conflicts between two different multilibs easily
though and the system can still end up trying to install both packages
with conflicting binaries which it needs a resolution to.
So either we set udev to use paths which don't overlap with the lib
handling or we hack the multilib code, each of the package managers and
sanity tests.
Cheers,
Richard
next prev parent reply other threads:[~2013-04-06 22:18 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-03 16:25 [PATCH 0/2 v2] Udev multilib fixes Radu Moisan
2013-04-03 16:25 ` [PATCH 1/2] initramfs-live-boot: enable multilib support Radu Moisan
2013-04-03 16:25 ` [PATCH 2/2] udev: " Radu Moisan
2013-04-03 17:58 ` Koen Kooi
2013-04-03 18:02 ` Burton, Ross
2013-04-03 18:05 ` Khem Raj
2013-04-04 8:48 ` Radu Moisan
2013-04-04 12:45 ` Radu Moisan
2013-04-04 13:03 ` Koen Kooi
2013-04-05 11:59 ` Radu Moisan
2013-04-05 13:29 ` Alex Damian
2013-04-05 14:34 ` Richard Purdie
2013-04-06 10:32 ` Koen Kooi
2013-04-06 22:00 ` Richard Purdie [this message]
2013-04-07 7:54 ` Koen Kooi
-- strict thread matches above, loose matches on Subject: below --
2013-04-03 15:51 [PATCH 0/2] Udev multilib fixes Radu Moisan
2013-04-03 15:51 ` [PATCH 2/2] udev: enable multilib support Radu Moisan
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=1365285646.6526.208.camel@ted \
--to=richard.purdie@linuxfoundation.org \
--cc=koen@dominion.thruhere.net \
--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