1
0
mirror of https://git.yoctoproject.org/poky synced 2026-06-01 13:09:50 +00:00

selftest: Test needed to verify postinst order

It verifies the following:

1. Compile a minimal image.
2. The compiled image will add the layer with the recipe postinst,
previously created at:
"meta-selftest/recipes-test"
3. Run QEMU.
4. Validate the task execution order.
[YOCTO #5319]

(From OE-Core rev: a8ff789a3bfedcbc4358db7907a45270d8b1b76a)

Signed-off-by: Francisco Pedraza <francisco.j.pedraza.gonzalez@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Francisco Pedraza
2016-11-24 15:54:53 -06:00
committed by Richard Purdie
parent 3f6e6f4e69
commit 23d1c4ffb7
2 changed files with 176 additions and 0 deletions
@@ -0,0 +1,124 @@
LICENSE = "MIT"
ALLOW_EMPTY_${PN}-at-rootfs = "1"
ALLOW_EMPTY_${PN}-delayed-a = "1"
ALLOW_EMPTY_${PN}-delayed-b = "1"
ALLOW_EMPTY_${PN}-delayed-d = "1"
ALLOW_EMPTY_${PN}-delayed-p = "1"
ALLOW_EMPTY_${PN}-delayed-t = "1"
PACKAGES += "${PN}-at-rootfs ${PN}-delayed-a ${PN}-delayed-b ${PN}-delayed-d ${PN}-delayed-p ${PN}-delayed-t"
PROVIDES += "${PN}-at-rootfs ${PN}-delayed-a ${PN}-delayed-b ${PN}-delayed-d ${PN}-delayed-p ${PN}-delayed-t"
FILES_${PN}-delayed-a = ""
FILES_${PN}-delayed-b = ""
FILES_${PN}-delayed-d = ""
FILES_${PN}-delayed-p = ""
FILES_${PN}-delayed-t = ""
# Runtime dependencies
RDEPENDS_${PN}-delayed-a = "${PN}-at-rootfs"
RDEPENDS_${PN}-delayed-b = "${PN}-delayed-a"
RDEPENDS_${PN}-delayed-d = "${PN}-delayed-b"
RDEPENDS_${PN}-delayed-p = "${PN}-delayed-d"
RDEPENDS_${PN}-delayed-t = "${PN}-delayed-p"
# Main recipe post-install
pkg_postinst_${PN}-at-rootfs () {
tfile="/etc/postinsta-test"
if test "x$D" != "x" then
# Need to run on first boot
exit 1
else
echo "lets write postinst" > $tfile
fi
}
# Dependency recipes post-installs
pkg_postinst_${PN}-delayed-a () {
efile="/etc/postinst-test"
tfile="/etc/postinsta-test"
rdeps="postinst"
if test "x$D" != "x"; then
# Need to run on first boot
exit 1
else
if test -e $efile ; then
echo 'success' > $tfile
else
echo 'fail to install $rdeps first!' >&2
exit 1
fi
fi
}
pkg_postinst_${PN}-delayed-b () {
efile="/etc/postinsta-test"
tfile="/etc/postinstb-test"
rdeps="postinsta"
if test "x$D" != "x"; then
# Need to run on first boot
exit 1
else
if test -e $efile ; then
echo 'success' > $tfile
else
echo 'fail to install $rdeps first!' >&2
exit 1
fi
fi
}
pkg_postinst_${PN}-delayed-d () {
efile="/etc/postinstb-test"
tfile="/etc/postinstd-test"
rdeps="postinstb"
if test "x$D" != "x"; then
# Need to run on first boot
exit 1
else
if test -e $efile ; then
echo 'success' > $tfile
else
echo 'fail to install $rdeps first!' >&2
exit 1
fi
fi
}
pkg_postinst_${PN}-delayed-p () {
efile="/etc/postinstd-test"
tfile="/etc/postinstp-test"
rdeps="postinstd"
if test "x$D" != "x"; then
# Need to run on first boot
exit 1
else
if test -e $efile ; then
echo 'success' > $tfile
else
echo 'fail to install $rdeps first!' >&2
exit 1
fi
fi
}
pkg_postinst_${PN}-delayed-t () {
efile="/etc/postinstp-test"
tfile="/etc/postinstt-test"
rdeps="postinstp"
if test "x$D" != "x"; then
# Need to run on first boot
exit 1
else
if test -e $efile ; then
echo 'success' > $tfile
else
echo 'fail to install $rdeps first!' >&2
exit 1
fi
fi
}