On 05/23/2013 06:15 AM, Laurentiu Palcu wrote:
Hi all,
My work at #4484 revealed that the package managers deb/ipk/rpm handle removal
of PM meta-data (when the PM is not deployed) and the delayed postinstalls
execution in their own way. Currently we have:
* run-postinsts (for deb/ipk) and rpm-postinsts (for rpm) for running the
delayed
postinstalls on target when the PM is not part of the image;
* opkg removes the meta-data and some uneeded packages whilst deb/rpm remove
only the meta-data;
* both opkg and deb have no way of running the delayed postinstalls on target,
if package-management is not part of IMAGE_FEATURES, because the meta-data
was deleted (and it would have been useless anyway since the PM is not
installed);
That being said, this patchset tries to create a more unified solution for all
PM backends.
rpm-postinsts recipe is replaced by run-postinsts but I'll keep it in oe-core
for a while (a couple of weeks maybe), just in case the current solution does
not
satisfy the RPM users (I doubt it though).
I did tests with core-image-minimal using sysvinit/systemd and with/without
delayed
postinstalls. The results are as expected.
This seems to have a problem building on the auto builder, most of the
failures are due to the following:
/usr/sbin/update-rc.d: /bin/sh: bad interpreter: No such file or directory
Details here:
| log_check: Using
/srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/nightly-ppc/build/build/tmp/work/qemuppc-poky-linux/core-image-minimal-dev/1.0-r0/temp/log.do_rootfs.32640
as logfile
| Logfile is clean
| rpm -e --nodeps
--root=/srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/nightly-ppc/build/build/tmp/work/qemuppc-poky-linux/core-image-minimal-dev/1.0-r0/rootfs
--dbpath=/var/lib/rpm update-rc.d base-passwd run-postinsts
|
/srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/nightly-ppc/build/build/tmp/sysroots/x86_64-linux/var/tmp/rpm-tmp.67450:
/usr/sbin/update-rc.d: /bin/sh: bad interpreter: No such file or directory
| error: %postun(run-postinsts-1.0-r9.ppc603e) scriptlet failed, exit status 126
| ERROR: Function failed: do_rootfs (see
/srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/nightly-ppc/build/build/tmp/work/qemuppc-poky-linux/core-image-minimal-dev/1.0-r0/temp/log.do_rootfs.32640
for further information)
NOTE: recipe core-image-minimal-dev-1.0-r0: task do_rootfs: Failed
ERROR: Task 71
(/srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/nightly-ppc/bu
Sau!
Thanks,
Laurentiu
The following changes since commit f7b639e527a65f9ce77aef07651ac5ec1e094e52:
rpm-postinsts.bb: enable postinst logging (2013-05-23 10:28:05 +0100)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib lpalcu/run_postinsts_refactor
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=lpalcu/run_postinsts_refactor
Laurentiu Palcu (7):
systemd: add udev-utils dependency for udev-hwdb
rootfs_*.bbclass: add some helper functions
image.bbclass: remove unneeded files from the image
core-image-minimal: do not remove packaging files in the rootfs
postprocess
run-postinsts: make it generic
rootfs_rpm.bbclas: switch to using run-postinsts
rpm: replace rpm-postinsts dependency with run-postinsts
meta/classes/image.bbclass | 33 +++++++++++
meta/classes/rootfs_deb.bbclass | 23 +++++++-
meta/classes/rootfs_ipk.bbclass | 39 ++++++-------
meta/classes/rootfs_rpm.bbclass | 25 ++++++++-
meta/recipes-core/images/core-image-minimal.bb | 2 -
meta/recipes-core/systemd/systemd_199.bb | 2 +
.../dpkg/run-postinsts/run-postinsts | 59 ++++++++++++--------
.../dpkg/run-postinsts/run-postinsts.awk | 30 ----------
meta/recipes-devtools/dpkg/run-postinsts_1.0.bb | 7 +--
meta/recipes-devtools/rpm/rpm_5.4.9.bb | 2 +-
10 files changed, 135 insertions(+), 87 deletions(-)
delete mode 100644 meta/recipes-devtools/dpkg/run-postinsts/run-postinsts.awk
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core