[OE-core] [PATCH 1/1] btrfs-tools: fix installed-vs-shipped

Robert Yang liezhi.yang at windriver.com
Thu Jul 21 01:47:29 UTC 2016



On 07/20/2016 07:59 PM, Burton, Ross wrote:
>
> On 20 July 2016 at 06:54, Robert Yang <liezhi.yang at windriver.com
> <mailto:liezhi.yang at windriver.com>> wrote:
>
>        /lib64/udev/rules.d/64-btrfs-dm.rules
>
>
> This says that the btrfstools recipe is broken, not the packaging.  udev looks
> in /lib no matter what $libdir is.
>
> udev reads UDEVLIBEXECDIR/rules.d, where udevlibexecdir=$(rootprefix)/lib/udev
> and we pass rootprefix=$baseprefix (which defaults to /).

Thanks, I was misleaded by eudev, whose udevlibexecdir is ${rootlibexecdir}
which is ${libdir}/udev, so it is /lib64/udev. It supports /lib/udev and
/lib64/udev as the code in eudev-3.2/src/udev/udev-rules.c shows:

static const char* const rules_dirs[] = {
         UDEV_CONF_DIR "/rules.d",
         UDEV_RULES_DIR,
         UDEV_ROOT_RUN "/udev/rules.d",
         UDEV_LIBEXEC_DIR "/rules.d",
#ifdef HAVE_SPLIT_USR
         "/lib/udev/rules.d",
         "/usr/lib/udev/rules.d",
#endif
         NULL};


But for systemd, it hardcoded to $(rootprefix)/lib/udev.

I looked into tmp/deploy/rpms, the following packages doesn't install
to /lib/udev, but /lib64/udev or /usr/lib64/udev:

tmp/deploy/rpm/core2_64/pcmciautils-018-r1.0.core2_64.rpm
tmp/deploy/rpm/core2_64/pulseaudio-server-8.0-r0.0.core2_64.rpm
tmp/deploy/rpm/core2_64/alsa-utils-alsactl-1.1.1-r0.0.core2_64.rpm
tmp/deploy/rpm/core2_64/mdadm-3.4-r0.0.core2_64.rpm
tmp/deploy/rpm/core2_64/libinput-1.3.0-r0.0.core2_64.rpm
tmp/deploy/rpm/core2_64/bluez5-5.40-r0.0.core2_64.rpm

I will fix all of them.

// Robert

>
> Ross



More information about the Openembedded-core mailing list