We have found a problem with upgrading packages on our own image.
(Hopefully it'll show up to an error from our side).
After upgrading system packages, like busybox, we render our system
unusable... In the busybox case, all symlinks pointing to busybox has
been removed, and not reinstated during the post-install script.
The output from the rpm upgrade is shown below [2].
In order to get some feedback, I've reproduced the problem using a
sligthly modified core-image-minimal built for qemux86. In the image, we
increased the rootfs size, removed the removing of packaging data files
and added rpm (dropbear was added to be able to easily tranfser a test
rpm to the system). The patch is at the end of the mail [1].
Once this was done, the image was built, and after that, we bumped the
PR of busybox and rebuilt that package. We transfered the updated
busybox rpm to a running qemux86 instance, and tried to `rpm -Uvh
busybox-1.18.5-r2`. After running this, all links normally pointing to
/bin/busybox are non-existing, most certainly due to problems in the
post-install script.
Thanks in advance for any feedback/suggestions.
Cheers,
Anders
[1]
diff --git a/meta/recipes-core/images/core-image-minimal.bb
b/meta/recipes-core/images/core-image-mi
index 56fc20c..91f648f 100644
--- a/meta/recipes-core/images/core-image-minimal.bb
+++ b/meta/recipes-core/images/core-image-minimal.bb
@@ -9,7 +9,9 @@ LICENSE = MIT
inherit core-image
-IMAGE_ROOTFS_SIZE = 8192
+IMAGE_ROOTFS_SIZE = 65536
# remove not needed ipkg informations
-ROOTFS_POSTPROCESS_COMMAND += remove_packaging_data_files ;
+#ROOTFS_POSTPROCESS_COMMAND += remove_packaging_data_files ;
+IMAGE_INSTALL += rpm \
+ dropbear
[2]
root@qemux86:~# rpm -Uv busybox-1.18.5-r2.i586.rpm
Preparing packages for installation...
busybox-1.18.5-r2.i586
update-alternatives: Linking //usr/bin/bunzip2 to /usr/bin/bunzip2.bzip2
update-alternatives: Linking //usr/bin/bzcat to /usr/bin/bzcat.bzip2
update-alternatives: Linking //bin/date to busybox
update-alternatives: Linking //bin/base64 to busybox
update-alternatives: Linking //usr/bin/patch to ../../bin/busybox
update-alternatives: Linking //usr/bin/find to ../../bin/busybox
update-alternatives: Linking //bin/grep to busybox
update-alternatives: Linking //bin/egrep to busybox
update-alternatives: Linking //bin/fgrep to busybox
update-alternatives: Linking //usr/bin/xargs to ../../bin/busybox
update-alternatives: Linking //sbin/bootchartd to ../bin/busybox
update-alternatives: Linking //sbin/halt to halt.sysvinit
update-alternatives: Linking //sbin/poweroff to poweroff.sysvinit
update-alternatives: Linking //sbin/reboot to reboot.sysvinit
update-alternatives: Linking //sbin/insmod to ../bin/busybox
update-alternatives: Linking //sbin/lsmod to ../bin/busybox
update-alternatives: Linking //sbin/modinfo to ../bin/busybox
update-alternatives: Linking //sbin/modprobe to ../bin/busybox
update-alternatives: Linking //sbin/rmmod to ../bin/busybox
update-alternatives: Linking //usr/sbin/nbd-client to ../../bin/busybox
update-alternatives: Linking //bin/iostat to busybox
update-alternatives: Linking //bin/mpstat to busybox
update-alternatives: Linking //usr/bin/pmap to ../../bin/busybox
update-alternatives: Linking //bin/powertop to busybox
update-alternatives: Linking //usr/bin/smemcap to ../../bin/busybox
update-alternatives: Linking //bin/ash to busybox
update-alternatives: Linking //bin/sh to busybox
update-alternatives: Linking //sbin/blockdev to ../bin/busybox
update-alternatives: Linking //bin/rev to busybox
update-alternatives: Linking //usr/bin/[ to ../../bin/busybox
update-alternatives: Linking //usr/bin/[[ to ../../bin/busybox
update-alternatives: Linking //usr/bin/ar to ../../bin/busybox
update-alternatives: Linking //usr/bin/awk to ../../bin/busybox
update-alternatives: Linking //usr/bin/basename to ../../bin/busybox
update-alternatives: Linking //bin/cat to busybox
update-alternatives: Linking //bin/chattr to busybox
update-alternatives: Linking //bin/chgrp to busybox
update-alternatives: Linking //bin/chmod to busybox
update-alternatives: Linking //bin/chown to busybox
update-alternatives: Linking //usr/sbin/chroot to ../../bin/busybox
update-alternatives: Linking //usr/bin/chvt to ../../bin/busybox
update-alternatives: Linking //usr/bin/clear to ../../bin/busybox
update-alternatives: Linking //usr/bin/cmp to ../../bin/busybox
update-alternatives: Linking //bin/cp to busybox
update-alternatives: Linking //bin/cpio to busybox
update-alternatives: Linking //usr/bin/cut to ../../bin/busybox
update-alternatives: Linking //usr/bin/dc to ../../bin/busybox
update-alternatives: Linking //bin/dd to busybox
update-alternatives: Linking //usr/bin/deallocvt to ../../bin/busybox
update-alternatives: Linking //bin/df to busybox
update-alternatives: Linking //usr/bin/diff to ../../bin/busybox
update-alternatives: Linking //usr/bin/dirname to ../../bin/busybox
update-alternatives: Linking //bin/dmesg to busybox