summaryrefslogtreecommitdiffstats
path: root/meta/classes/rootfs_rpm.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes/rootfs_rpm.bbclass')
-rw-r--r--meta/classes/rootfs_rpm.bbclass27
1 files changed, 25 insertions, 2 deletions
diff --git a/meta/classes/rootfs_rpm.bbclass b/meta/classes/rootfs_rpm.bbclass
index d373dab408..4194c5621c 100644
--- a/meta/classes/rootfs_rpm.bbclass
+++ b/meta/classes/rootfs_rpm.bbclass
@@ -114,8 +114,8 @@ fakeroot rootfs_rpm_do_rootfs () {
${ROOTFS_POSTPROCESS_COMMAND}
if ${@base_contains("IMAGE_FEATURES", "read-only-rootfs", "true", "false" ,d)}; then
- if [ -d ${IMAGE_ROOTFS}/etc/rpm-postinsts ] ; then
- if [ "`ls -A ${IMAGE_ROOTFS}/etc/rpm-postinsts`" != "" ] ; then
+ if [ -d ${IMAGE_ROOTFS}${sysconfdir}/rpm-postinsts ] ; then
+ if [ "`ls -A ${IMAGE_ROOTFS}${sysconfdir}/rpm-postinsts`" != "" ] ; then
bberror "Some packages could not be configured offline and rootfs is read-only."
exit 1
fi
@@ -135,6 +135,20 @@ fakeroot rootfs_rpm_do_rootfs () {
log_check rootfs
}
+rootfs_rpm_do_rootfs[vardeps] += "delayed_postinsts"
+
+delayed_postinsts() {
+ if [ -d ${IMAGE_ROOTFS}${sysconfdir}/rpm-postinsts ]; then
+ ls ${IMAGE_ROOTFS}${sysconfdir}/rpm-postinsts
+ fi
+}
+
+save_postinsts() {
+ # this is just a stub. For RPM, the failed postinstalls are already saved in
+ # /etc/rpm-postinsts
+ true
+}
+
remove_packaging_data_files() {
# Save the rpmlib for increment rpm image generation
t="${T}/saved_rpmlib/var/lib"
@@ -165,6 +179,15 @@ rootfs_install_packages() {
package_install_internal_rpm
}
+rootfs_remove_packages() {
+ rpm -e --nodeps --root=${IMAGE_ROOTFS} --dbpath=/var/lib/rpm\
+ --define='_cross_scriptlet_wrapper ${WORKDIR}/scriptlet_wrapper'\
+ --define='_tmppath /install/tmp' $@
+
+ # remove temp directory
+ rm -rf ${IMAGE_ROOTFS}/install
+}
+
python () {
if d.getVar('BUILD_IMAGES_FROM_FEEDS', True):
flags = d.getVarFlag('do_rootfs', 'recrdeptask')