Hi Lei,

The rpm in SDK uses a wrapper, and looking at the settings I don't think it's supposed to be used with '--root'.

export RPM_CONFIGDIR=`dirname $realpath`/../lib/rpm RPM_ETCCONFIGDIR=${RPM_ETCCONFIGDIR-`dirname $realpath`/../../etc/..} MAGIC=`dirname $realpath`/../share/misc/magic.mgc RPM_NO_CHROOT_FOR_SCRIPTS=1
exec -a "$0" $realdir/rpm.real "$@"

Besides, checking the macros file, it has already set %_usr, %_prefix, %_libdir to point to locations under SDK. I think that also implies that it's not supposed to be used with '--root'. And that's we should do the same for %_var.

Regards,
Chen Qi

On 09/03/2020 01:40 PM, leimaohui wrote:
Hi,

I'm sorry but I don't understand this patch.

    error: cannot open Packages index using db5 - Permission denied (13)
    error: cannot open Packages database in /var/lib/rpm
I think these two error messages is just because invoking nativesdk-rpm without 
"--root=":
-------------------------------------------------
$ /opt/poky/3.1+snapshot/sysroots/x86_64-pokysdk-linux/usr/bin/rpm -qplv 
attr-2.4.48-r0.core2_64.rpm
error: cannot open Packages index using db5 - Permission denied (13)
error: cannot open Packages database in 
/opt/poky/3.1+snapshot/sysroots/x86_64-pokysdk-linux/var/lib/rpm
drwxr-xr-x    2 root     root                        0 Jun 19  2018 /etc
-rw-r--r--    1 root     root                      642 Jun 19  2018 
/etc/xattr.conf
...

Same as nativesdk-gcc adding "--sysroot=", nativesdk-rpm should be invoked with 
"--root=":
--------------------------------------------------
$ /opt/poky/3.1+snapshot/sysroots/x86_64-pokysdk-linux/usr/bin/rpm -qplv 
attr-2.4.48-r0.core2_64.rpm --root=/home/leimh/test-rootfs/
drwxr-xr-x    2 root     root                        0 Jun 19  2018 /etc
-rw-r--r--    1 root     root                      642 Jun 19  2018 
/etc/xattr.conf
......

But now with this patch, "--root=" doesn't work for nativesdk-rpm. Even I use nativesdk-rpm with 
"--root=", the database of nativesdk-rpm still is written to ${SDK_INTALL_DIR}/var/lib/rpm/,  not 
the directory that I set by "--root=".


Best regards
Lei



-----Original Message-----
From: openembedded-core@lists.openembedded.org <openembedded-
c...@lists.openembedded.org> On Behalf Of Chen Qi
Sent: Thursday, July 16, 2020 2:57 PM
To: openembedded-core@lists.openembedded.org
Subject: [OE-core][PATCH] rpm: fix nativesdk's default var location

For now, the nativesdk-rpm's %_var in /usr/lib/rpm/macros is '/var'. This is
causing error when running `rpm -qplv A.rpm'.

    error: cannot open Packages index using db5 - Permission denied (13)
    error: cannot open Packages database in /var/lib/rpm

The rpm in SDK should be using its own database. So we should remove this
configure option, letting the SDK's native sysroot prefix to be there in %_var. 
In
fact, '%_usr' in macros has already got the prefix.
After this change, we have in the macros file lines like below.

"""
%_usr                   /opt/windriver/wrlinux/20.29/sysroots/x86_64-wrlinuxsdk-
linux/usr
%_usrsrc                %{_usr}/src
%_var                   /opt/windriver/wrlinux/20.29/sysroots/x86_64-wrlinuxsdk-
linux/var
"""

Signed-off-by: Chen Qi <qi.c...@windriver.com>
---
  meta/recipes-devtools/rpm/rpm_4.15.1.bb | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/rpm/rpm_4.15.1.bb b/meta/recipes-
devtools/rpm/rpm_4.15.1.bb
index cbe1acffe2..b5a0ac9382 100644
--- a/meta/recipes-devtools/rpm/rpm_4.15.1.bb
+++ b/meta/recipes-devtools/rpm/rpm_4.15.1.bb
@@ -67,7 +67,7 @@ EXTRA_OECONF_append_libc-musl = " --disable-nls --
disable-openmp"
  # Disable dbus for native, so that rpm doesn't attempt to inhibit shutdown via
session dbus even when plugins support is enabled.
  # Also disable plugins by default for native.
  EXTRA_OECONF_append_class-native = " --sysconfdir=/etc --
localstatedir=/var --disable-plugins"
-EXTRA_OECONF_append_class-nativesdk = " --sysconfdir=/etc --
localstatedir=/var --disable-plugins"
+EXTRA_OECONF_append_class-nativesdk = " --sysconfdir=/etc --disable-
plugins"

  BBCLASSEXTEND = "native nativesdk"

--
2.17.1









-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#142156): 
https://lists.openembedded.org/g/openembedded-core/message/142156
Mute This Topic: https://lists.openembedded.org/mt/75536801/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub  
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to