[OE-core] [PATCH 2/2] udev: enable multilib support

Radu Moisan radu.moisan at intel.com
Fri Apr 5 11:59:29 UTC 2013


On 04/04/2013 04:03 PM, Koen Kooi wrote:
> Op 4 apr. 2013, om 14:45 heeft Radu Moisan <radu.moisan at intel.com> het volgende geschreven:
>
>> On 04/03/2013 08:58 PM, Koen Kooi wrote:
>>> Op 3 apr. 2013, om 18:25 heeft Radu Moisan <radu.moisan at intel.com> het volgende geschreven:
>>>
>>>> Use base_libdir in place of hardcoded /lib
>>>> Fixes [YOCTO #4096]
>>>>
>>>> Signed-off-by: Radu Moisan <radu.moisan at intel.com>
>>>> ---
>>>> meta/recipes-core/udev/udev.inc |    1 +
>>>> 1 file changed, 1 insertion(+)
>>>>
>>>> diff --git a/meta/recipes-core/udev/udev.inc b/meta/recipes-core/udev/udev.inc
>>>> index e358d2d..6fd0240 100644
>>>> --- a/meta/recipes-core/udev/udev.inc
>>>> +++ b/meta/recipes-core/udev/udev.inc
>>>> @@ -76,6 +76,7 @@ FILES_udev-utils = "${bindir}/udevadm"
>>>>
>>>> do_install_append () {
>>>> 	install -d ${D}${sysconfdir}/init.d
>>>> +	sed -i 's@/lib/udev@${base_libdir}/udev at g' ${WORKDIR}/init
>>>> 	install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev
>>>> 	install -m 0755 ${WORKDIR}/udev-cache ${D}${sysconfdir}/init.d/udev-cache
>>> NACK! The udev maintainers have been clear that it is always /lib/udev, even on 64 bit systems, so you're not fixing a problem, you're creating an extra one.
>> Koen, do you agree with this one?
>> http://patches.openembedded.org/patch/41167/
> That patch seems to match what Fedora does:
>
> koen at rrMBP setup-scripts]$ file /lib/udev/*
> /lib/udev/accelerometer:             ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x600a72599b0896506d2cff430b7126d912370056, not stripped
> /lib/udev/ata_id:                    ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x84bbaed9b1588de0a405bde9c7f7350f4be6839e, not stripped
> /lib/udev/bluetooth_serial:          POSIX shell script, ASCII text executable
> /lib/udev/cdrom_id:                  ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x8bdb6f801be7f68939ece42f4661685654699a01, not stripped
> /lib/udev/check-ptp-camera:          Bourne-Again shell script, ASCII text executable
> /lib/udev/collect:                   ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0xab7db8974d08b609e4750750043d8093d4aa3b80, not stripped
> /lib/udev/findkeyboards:             POSIX shell script, ASCII text executable
> /lib/udev/hwdb.d:                    directory
> /lib/udev/ift-load:                  ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x49f9ba51194518eb078834e8ff5630253e84bfa0, stripped
> /lib/udev/iphone-set-info:           ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x70bd3a730278aace048187c123d500b63d2e3adb, stripped
> /lib/udev/ipod-set-info:             ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x52ed540687d1e2806c5c2a836b60141e2f3d8c36, stripped
> /lib/udev/keyboard-force-release.sh: POSIX shell script, ASCII text executable
> /lib/udev/keymap:                    ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x8b2541255989492410485c979eee55d8237fa85f, not stripped
> /lib/udev/keymaps:                   directory
> /lib/udev/mtd_probe:                 ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x4bb384bb9a2c32cd7a8c8cd3db15f0a44572d5a1, not stripped
> /lib/udev/mtp-probe:                 ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x5f6e4b4944c003b08788f0bfe97840da3cfcd29b, stripped
> /lib/udev/pcmcia-check-broken-cis:   ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x1632f66c648501cf19bb478f50ee689e5caa1590, stripped
> /lib/udev/pcmcia-socket-startup:     ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x48bf0e8e9461ed430c7173974795f3bd1b0d42a6, stripped
> /lib/udev/rename_device:             ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x9740fdf52fb7304ddb56ecef2d3b4e157fd208dc, stripped
> /lib/udev/rules.d:                   directory
> /lib/udev/scsi_id:                   ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x9ca187eac5c28bdcf96b56002329317099870c3b, not stripped
> /lib/udev/tascam_fpga:               POSIX shell script, ASCII text executable
> /lib/udev/tascam_fw:                 POSIX shell script, ASCII text executable
> /lib/udev/udev-add-printer:          Python script, ASCII text executable
> /lib/udev/udev-configure-printer:    ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0xb0ddd749dbefd5abced9b5b64fc5f1280199f2aa, stripped
> /lib/udev/usb_modeswitch:            POSIX shell script, ASCII text executable
> /lib/udev/v4l_id:                    ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0xa8f5533157c207a48ba3876ae61b1c73cb9733fc, not stripped
>
Same thing on my ubuntu.
What I understand from this is that Koen is referring to 64bit binary 
files located in noarch_base_libdir, that is /lib. Please correct me if 
I'm wrong.
Another thing I bumped into... is there any reason why udevd ends up in 
/lib (/lib64) and not in /sbin? On my machine is located in /sbin and 
I'm assuming it is the same for most distributions.

Radu




More information about the Openembedded-core mailing list