[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