[OE-core] [PATCH] meta-toolchain: Added dnf-nativesdk into cross-development toolchain.
Zheng, Ruoqin
zhengrq.fnst at cn.fujitsu.com
Mon Jun 11 03:26:53 UTC 2018
Ping
--------------------------------------------------
Zheng Ruoqin
Nanjing Fujitsu Nanda Software Tech. Co., Ltd.(FNST)
ADDR.: No.6 Wenzhu Road, Software Avenue,
Nanjing, 210012, China
MAIL : zhengrq.fnst at cn.fujistu.com
-----Original Message-----
From: Zheng, Ruoqin/郑 若钦
Sent: Monday, May 28, 2018 6:21 PM
To: openembedded-core at lists.openembedded.org
Cc: Zheng, Ruoqin/郑 若钦 <zhengrq.fnst at cn.fujitsu.com>
Subject: [OE-core][PATCH] meta-toolchain: Added dnf-nativesdk into cross-development toolchain.
To make dnf work on cross-development environment.
Signed-off-by: Zheng Ruoqin <zhengrq.fnst at cn.fujitsu.com>
---
meta/classes/toolchain-scripts.bbclass | 1 +
.../nativesdk-packagegroup-sdk-host.bb | 4 +++
meta/recipes-core/update-rc.d/update-rc.d_0.7.bb | 2 +-
.../createrepo-c/createrepo-c_git.bb | 7 ++++-
meta/recipes-devtools/file/file_5.32.bb | 2 ++
meta/recipes-devtools/rpm/rpm_4.14.1.bb | 34 ++++++++++++++++++----
.../newt/libnewt-python_0.52.20.bb | 2 +-
meta/recipes-extended/newt/libnewt_0.52.20.bb | 2 +-
meta/recipes-extended/slang/slang_2.3.2.bb | 2 +-
9 files changed, 46 insertions(+), 10 deletions(-)
diff --git a/meta/classes/toolchain-scripts.bbclass b/meta/classes/toolchain-scripts.bbclass
index 71da5e5..58dd00e 100644
--- a/meta/classes/toolchain-scripts.bbclass
+++ b/meta/classes/toolchain-scripts.bbclass
@@ -97,6 +97,7 @@ toolchain_shared_env_script () {
echo 'export CPPFLAGS="${TARGET_CPPFLAGS}"' >> $script
echo 'export KCFLAGS="--sysroot=$SDKTARGETSYSROOT"' >> $script
echo 'export OECORE_DISTRO_VERSION="${DISTRO_VERSION}"' >> $script
+ echo 'export MACHINE_ARCH=${MACHINE_ARCH}' >> $script
echo 'export OECORE_SDK_VERSION="${SDK_VERSION}"' >> $script
echo 'export ARCH=${ARCH}' >> $script
echo 'export CROSS_COMPILE=${TARGET_PREFIX}' >> $script diff --git a/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb b/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb
index e2f6169..1370a82 100644
--- a/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb
+++ b/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb
@@ -25,6 +25,10 @@ RDEPENDS_${PN} = "\
nativesdk-cmake \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'nativesdk-wayland', '', d)} \
nativesdk-sdk-provides-dummy \
+ nativesdk-libnewt-python \
+ nativesdk-createrepo-c \
+ nativesdk-gpgme \
+ nativesdk-update-rc.d \
"
RDEPENDS_${PN}_darwin = "\
diff --git a/meta/recipes-core/update-rc.d/update-rc.d_0.7.bb b/meta/recipes-core/update-rc.d/update-rc.d_0.7.bb
index 76d4312..d3d3e2f 100644
--- a/meta/recipes-core/update-rc.d/update-rc.d_0.7.bb
+++ b/meta/recipes-core/update-rc.d/update-rc.d_0.7.bb
@@ -30,4 +30,4 @@ do_install() {
install -m 0755 ${S}/update-rc.d ${D}${sbindir}/update-rc.d }
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb b/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb
index 3176136..9be9f9e 100644
--- a/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb
+++ b/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb
@@ -21,7 +21,7 @@ inherit cmake pkgconfig bash-completion distutils3-base
EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
# Direct createrepo to read rpm configuration from our sysroot, not the one it was compiled in
do_install_append_class-native() {
@@ -29,3 +29,8 @@ do_install_append_class-native() {
RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm
}
+do_install_append_class-nativesdk() {
+ create_wrapper ${D}/${bindir}/createrepo_c \
+ RPM_CONFIGDIR=${SDKPATHNATIVE}${libdir_nativesdk}/rpm
+ rm -rf ${D}/etc
+}
diff --git a/meta/recipes-devtools/file/file_5.32.bb b/meta/recipes-devtools/file/file_5.32.bb
index 5e15925..9b13261 100644
--- a/meta/recipes-devtools/file/file_5.32.bb
+++ b/meta/recipes-devtools/file/file_5.32.bb
@@ -43,6 +43,8 @@ do_install_append_class-nativesdk() {
BBCLASSEXTEND = "native nativesdk"
PROVIDES_append_class-native = " file-replacement-native"
+PROVIDES_append_class-nativesdk = " file-replacement-nativesdk"
+
# Don't use NATIVE_PACKAGE_PATH_SUFFIX as that hides libmagic from anyone who # depends on file-replacement-native.
bindir_append_class-native = "/file-native"
diff --git a/meta/recipes-devtools/rpm/rpm_4.14.1.bb b/meta/recipes-devtools/rpm/rpm_4.14.1.bb
index d49530e..abcad9f 100644
--- a/meta/recipes-devtools/rpm/rpm_4.14.1.bb
+++ b/meta/recipes-devtools/rpm/rpm_4.14.1.bb
@@ -50,6 +50,7 @@ S = "${WORKDIR}/git"
DEPENDS = "nss libarchive db file popt xz bzip2 dbus elfutils python3"
DEPENDS_append_class-native = " file-replacement-native bzip2-replacement-native"
+DEPENDS_append_class-nativesdk = " file-replacement-nativesdk"
inherit autotools gettext pkgconfig python3native export PYTHON_ABI @@ -67,6 +68,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,7 +79,18 @@ 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() {
+add_native_or_sdk_wrapper(){
+ if [ "$1" = "nativesdk" ]; then
+ RPM_CONFIGDIR=${SDKPATHNATIVE}${libdir_nativesdk}/rpm
+ RPM_ETCCONFIGDIR=${SDKPATHNATIVE}
+ MAGIC=${SDKPATHNATIVE}${datadir_native}/misc/magic.mgc
+
+ else
+ RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm
+ RPM_ETCCONFIGDIR=${STAGING_DIR_NATIVE}
+ MAGIC=${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc
+ fi
+
tools="\
${bindir}/rpm \
${bindir}/rpm2archive \ @@ -93,16 +106,27 @@ do_install_append_class-native() {
for tool in $tools; do
create_wrapper ${D}$tool \
- RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \
- RPM_ETCCONFIGDIR=${STAGING_DIR_NATIVE} \
- MAGIC=${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc \
+ RPM_CONFIGDIR=${RPM_CONFIGDIR} \
+ RPM_ETCCONFIGDIR=${RPM_ETCCONFIGDIR} \
+ MAGIC=${MAGIC} \
RPM_NO_CHROOT_FOR_SCRIPTS=1
done
}
+do_install_append_class-native() {
+ add_native_or_sdk_wrapper "native"
+}
+do_install_append_class-nativesdk() {
+ add_native_or_sdk_wrapper "nativesdk"
+}
+
# Rpm's make install creates var/tmp which clashes with base-files packaging
do_install_append_class-target() {
- rm -rf ${D}/var
+ rm -rf ${D}/var
+}
+
+do_install_append_class-nativesdk() {
+ rm -rf ${D}/var
}
do_install_append () {
diff --git a/meta/recipes-extended/newt/libnewt-python_0.52.20.bb b/meta/recipes-extended/newt/libnewt-python_0.52.20.bb
index 20369ef..433d184 100644
--- a/meta/recipes-extended/newt/libnewt-python_0.52.20.bb
+++ b/meta/recipes-extended/newt/libnewt-python_0.52.20.bb
@@ -25,4 +25,4 @@ PACKAGES_remove = "whiptail"
FILES_${PN} = "${PYTHON_SITEPACKAGES_DIR}/*"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/newt/libnewt_0.52.20.bb b/meta/recipes-extended/newt/libnewt_0.52.20.bb
index 65ce70c..264ef3b 100644
--- a/meta/recipes-extended/newt/libnewt_0.52.20.bb
+++ b/meta/recipes-extended/newt/libnewt_0.52.20.bb
@@ -51,4 +51,4 @@ do_compile_prepend() {
FILES_whiptail = "${bindir}/whiptail"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/slang/slang_2.3.2.bb b/meta/recipes-extended/slang/slang_2.3.2.bb
index 87fd41a..e53c432 100644
--- a/meta/recipes-extended/slang/slang_2.3.2.bb
+++ b/meta/recipes-extended/slang/slang_2.3.2.bb
@@ -78,4 +78,4 @@ FILES_${PN} += "${libdir}/${BPN}/v2/modules/ ${datadir}/slsh/"
PARALLEL_MAKE = ""
PARALLEL_MAKEINST = ""
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
--
2.7.4
More information about the Openembedded-core
mailing list