mirror of
https://git.yoctoproject.org/poky
synced 2026-04-26 00:32:12 +02:00
nativesdk-rpm: Add wrappers for nativesdk support
When installing the SDK to a non-default path, running "rpm --showrc" from the sdk will produce the following error: error: Unable to open /opt/windriver/wrlinux-small/10.17.41/sysroots/x86_64-wrlinuxsdk-linux/usr/lib/rpm/rpmrc for reading: No such file or directory. Fix this by adding wrappers that dynamically export the RPM_CONFIGDIR, RPM_ETCCONFIGDIR and MAGIC environment variables, pointing to the proper sdk locations. (From OE-Core rev: 760103cdaed3e820888d8984ec0b76cfc831d534) Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com> Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
c9fc9110be
commit
3b0e1e2275
@@ -67,6 +67,7 @@ EXTRA_OECONF_append_libc-musl = " --disable-nls"
|
||||
# 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 --without-dbus --disable-plugins"
|
||||
EXTRA_OECONF_append_class-nativesdk = " --sysconfdir=/etc --localstatedir=/var --without-dbus --disable-plugins"
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
|
||||
@@ -77,21 +78,22 @@ ASNEEDED = ""
|
||||
|
||||
# Direct rpm-native to read configuration from our sysroot, not the one it was compiled in
|
||||
# libmagic also has sysroot path contamination, so override it
|
||||
do_install_append_class-native() {
|
||||
tools="\
|
||||
${bindir}/rpm \
|
||||
${bindir}/rpm2archive \
|
||||
${bindir}/rpm2cpio \
|
||||
${bindir}/rpmbuild \
|
||||
${bindir}/rpmdb \
|
||||
${bindir}/rpmgraph \
|
||||
${bindir}/rpmkeys \
|
||||
${bindir}/rpmsign \
|
||||
${bindir}/rpmspec \
|
||||
${libdir}/rpm/rpmdeps \
|
||||
"
|
||||
|
||||
for tool in $tools; do
|
||||
WRAPPER_TOOLS = " \
|
||||
${bindir}/rpm \
|
||||
${bindir}/rpm2archive \
|
||||
${bindir}/rpm2cpio \
|
||||
${bindir}/rpmbuild \
|
||||
${bindir}/rpmdb \
|
||||
${bindir}/rpmgraph \
|
||||
${bindir}/rpmkeys \
|
||||
${bindir}/rpmsign \
|
||||
${bindir}/rpmspec \
|
||||
${libdir}/rpm/rpmdeps \
|
||||
"
|
||||
|
||||
do_install_append_class-native() {
|
||||
for tool in ${WRAPPER_TOOLS}; do
|
||||
create_wrapper ${D}$tool \
|
||||
RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \
|
||||
RPM_ETCCONFIGDIR=${STAGING_DIR_NATIVE} \
|
||||
@@ -100,6 +102,18 @@ do_install_append_class-native() {
|
||||
done
|
||||
}
|
||||
|
||||
do_install_append_class-nativesdk() {
|
||||
for tool in ${WRAPPER_TOOLS}; do
|
||||
create_wrapper ${D}$tool \
|
||||
RPM_CONFIGDIR='`dirname $''realpath`'/${@os.path.relpath(d.getVar('libdir', True), d.getVar('bindir', True))}/rpm \
|
||||
RPM_ETCCONFIGDIR='$'{RPM_ETCCONFIGDIR-'`dirname $''realpath`'/${@os.path.relpath(d.getVar('sysconfdir', True), d.getVar('bindir', True))}/..} \
|
||||
MAGIC='`dirname $''realpath`'/${@os.path.relpath(d.getVar('datadir', True), d.getVar('bindir', True))}/misc/magic.mgc \
|
||||
RPM_NO_CHROOT_FOR_SCRIPTS=1
|
||||
done
|
||||
|
||||
rm -rf ${D}/var
|
||||
}
|
||||
|
||||
# Rpm's make install creates var/tmp which clashes with base-files packaging
|
||||
do_install_append_class-target() {
|
||||
rm -rf ${D}/var
|
||||
|
||||
Reference in New Issue
Block a user