[OE-core] baselib_dir for udev in multilib cases

Lu, Lianhao lianhao.lu at intel.com
Sat Apr 28 03:26:16 UTC 2012


Koen Kooi wrote on 2012-04-27:
> 
> Op 27 apr. 2012, om 12:47 heeft Richard Purdie het volgende geschreven:
> 
>> On Fri, 2012-04-27 at 13:04 +0800, Lianhao Lu wrote:
>>> Use the base_libdir to set the udev rules directory.
>>> 
>>> Signed-off-by: Lianhao Lu <lianhao.lu at intel.com>
>>> ---
>>> meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb |    6 ++++--
>>> 1 files changed, 4 insertions(+), 2 deletions(-)
>>> 
>>> diff --git a/meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb b/meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb
>>> index 597e8b6..c39cd11 100644
>>> --- a/meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb
>>> +++ b/meta/recipes-multimedia/alsa/alsa-utils_1.0.25.bb
>>> @@ -21,7 +21,9 @@ SRC_URI[sha256sum] = "2e676a2f634bbfe279b260e10a96f617cb72ee63c5bbf6c5f96bb61570
>>> -EXTRA_OECONF = "--disable-xmlto"
>>> +EXTRA_OECONF = "--disable-xmlto \
>>> +		--with-udev-rules-dir=${base_libdir}/udev/rules.d \
>>> +		"
>>> EXTRA_OECONF_append_libc-uclibc = " --disable-nls"
>>> 
>>> inherit autotools gettext
>> 
>> The udev configuration files are probably one case where using /lib
>> makes a lot of sense since we should only have one set of these. I
>> therefore think this should be added as an exception to the sanity
>> test...
> 
> And keep in mind it's more '/lib' than '${base_libdir}' since it isn't supposed to adhere to multilib naming. So even on /lib64 machines the
> rules are in /lib.
> 

I changed the subject because I think we need more discussion about how to handle udev in multilib cases.

I might put the description under the wrong context. These patches were originally designed to fix the udev-rules not get packaged when the user have a baselib_dir other than '/lib', because the udev userspace daemon(udevd) expect the rules to be either in '${sysconfdir}/udev/rules.d' or '${baselib_dir}/udev/rules.d'. These not packaged issues were found during multilib test because including the multilib.conf changes the baselib_dir.

If we plan to have all the udev rules from multilib packages installed into the same place, there are 2 options:
1. install them into '${sysconfdir}/udev/rules.d'
2. patch the udev to use '/lib' instead of '${baselib_dir}/' for rules.

Besides this, some packages not only provide udev rules, but also programs to be executed by udevd. These programs normally installed under '${baselib_dir}/udev'. How to handle these programs? Should they follow the udev rules, i.e. to be installed into the same place in multilib case?

Best Regards,
Lianhao





More information about the Openembedded-core mailing list