If we create a macros file under etc/, the populate_sdk task would
fail if 'package-management' is in SDKIMAGE_FEATURES and nativesdk-rpm-build
is installed.. The error message is like below:
unable to place /.../sdk/image/etc/rpm in final SDK location
This is because it's trying to move the etc/rpm dictory into the
host sysroot but the <host_sysroot>/etc/rpm has already exists.
To solve this problem, avoid creating /etc/rpm/macros for nativesdk-rpm-build,
use ${libdir}/macros instead. In this way, the macros file is hold
in nativesdk-rpm. As nativesdk-rpm-build depends on nativesdk-rpm,
the 'rpmbuild' command inside SDK can still correctly find find-debuginfo
binary.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
do_install:append:class-nativesdk() {
rm -rf ${D}${SDKPATHNATIVE}/var
# Ensure find-debuginfo is located correctly inside SDK
- mkdir -p ${D}${SDKPATHNATIVE}/etc/rpm
- echo "%__find_debuginfo ${SDKPATHNATIVE}/usr/bin/find-debuginfo" >> ${D}${SDKPATHNATIVE}/etc/rpm/macros
+ mkdir -p ${D}${libdir}/rpm
+ echo "%__find_debuginfo ${SDKPATHNATIVE}/usr/bin/find-debuginfo" >> ${D}${libdir}/rpm/macros
}
do_install:append () {
${libdir}/rpm/macros.p* \
${libdir}/rpm/fileattrs/* \
"
-FILES:${PN}-build:append:class-nativesdk = " ${SDKPATHNATIVE}/etc/rpm/macros"
FILES:${PN}-sign = "\
${bindir}/rpmsign \