[OE-core] [PATCH 3/4] udev: Change hard coded /usr/lib to support multilib

Mark Hatle mark.hatle at windriver.com
Mon Jul 18 15:29:39 UTC 2011


Replying to myself.. sorry, I misunderstood the concern.. see below for a new
explanation..

On 7/18/11 10:25 AM, Mark Hatle wrote:
> On 7/18/11 7:32 AM, Koen Kooi wrote:
>>
>> Op 18 jul 2011, om 09:08 heeft Koen Kooi het volgende geschreven:
>>
>>>
>>> Op 18 jul 2011, om 08:13 heeft Dongxiao Xu het volgende geschreven:
>>>
>>>> Signed-off-by: Dongxiao Xu <dongxiao.xu at intel.com>
>>>> ---
>>>> meta/recipes-core/udev/udev-164/makefile.patch |   16 ++++++++++++++++
>>>> meta/recipes-core/udev/udev-new.inc            |    1 +
>>>> meta/recipes-core/udev/udev_164.bb             |    2 +-
>>>> 3 files changed, 18 insertions(+), 1 deletions(-)
>>>> create mode 100644 meta/recipes-core/udev/udev-164/makefile.patch
>>>>
>>>> diff --git a/meta/recipes-core/udev/udev-164/makefile.patch b/meta/recipes-core/udev/udev-164/makefile.patch
>>>> new file mode 100644
>>>> index 0000000..c46ff4b
>>>> --- /dev/null
>>>> +++ b/meta/recipes-core/udev/udev-164/makefile.patch
>>>> @@ -0,0 +1,16 @@
>>>> +Upstream-Status: Inappropriate [configuration]
>>>
>>> Could you explain why it's inappropriate for upstream but why we do need it here?
>>
>> I asked the udev maintainer:
>>
>> 14:25 < koen> kay: the udev Makefile.am has 'ln -sf $(libexecdir)/udev-acl $(DESTDIR)$(prefix)/lib/ConsoleKit/run-seat.d/udev-acl.ck', any reason for not using ${libdir} over ${prefix}/lib ?
>> 14:29 < kay> koen: libdir is /usr/lib64 here, can't use that
>>
>> So upstream is aware of multilib, but wants to put these scripts in a non-multilib dir. Since I don't have any experience with the fedora/opensuse way of multilib nor the new oe-core one, could you please explain why oe-core needs this patch, but fedora/opensuse don't?
> 
> This is likely a problem with the multilib fix.  "libexecdir" is often /usr/lib
> on many distribuions.. however as your other email mentioned.. setting it to
> /usr/lib64 is a mistake.  It should be /usr/libexec or /usr/lib64.  All of the
> associated multilib packages should work correctly and no conflicts introduced
> with this package (file contents should be identical.)
> 
> It should be permissible for libexecdir to be changed in the configuration if
> someone really wants it to be.  By default (in bitbake.conf) it is:
> 
> export libexecdir = "${exec_prefix}/libexec"

> +-	mkdir -p $(DESTDIR)$(prefix)/lib/ConsoleKit/run-seat.d
> +-	ln -sf $(libexecdir)/udev-acl $(DESTDIR)$(prefix)/lib/ConsoleKit/run-seat.d/udev-acl.ck
> ++	mkdir -p $(DESTDIR)$(libdir)/ConsoleKit/run-seat.d
> ++	ln -sf $(libexecdir)/udev-acl $(DESTDIR)$(libdir)/ConsoleKit/run-seat.d/udev-acl.ck

I see libexecdir CAN be changed.. so the above is already possible..

The part they had hard coded is "/usr/lib/ConsoleKit"...  There is only one
location in the system for ConsoleKit configuration files/scripts.. and that is
distro specific.  Assuming the oe based distributions use
$(PREFIX)/lib/ConsoleKit.. then the previous was correct.

The point being it doesn't matter if it's 32-bit, 64-bit or 24-bit...  only one
ConsoleKit per system should exist.  (There are potentially other files on the
system like this.  I know a recent RPM patch went in that separated /usr/lib/rpm
and /usr/lib64/rpm..  this is also a similar mistake, I just haven't had time to
get a patch out to revert that chunk.)

--Mark

> --Mark
> 
>> regards,
>>
>> Koen
>>
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core at lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
> 
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core





More information about the Openembedded-core mailing list