Install custom packages to target image filesystem using multistrap.
meta-isar/recipes-core/images/files/
multistrap.conf.in | 9 ++++++++-
meta-isar/recipes-core/images/
isar-image-base.bb | 6 +++++-
meta/classes/ext4-img.bbclass | 2 +-
meta/classes/image.bbclass | 11 +----------
4 files changed, 15 insertions(+), 13 deletions(-)
diff --git a/meta-isar/recipes-core/images/files/
multistrap.conf.in b/meta-isar/recipes-core/images/files/
multistrap.conf.in
index 2d08c36..491e5a2 100644
--- a/meta-isar/recipes-core/images/files/
multistrap.conf.in
+++ b/meta-isar/recipes-core/images/files/
multistrap.conf.in
@@ -4,7 +4,7 @@
[General]
noauth=true
unpack=true
-bootstrap=##DISTRO##
+bootstrap=##DISTRO## Isar
aptsources=##DISTRO##
configscript=##CONFIG_SCRIPT##
setupscript=##SETUP_SCRIPT##
@@ -16,3 +16,10 @@ suite=##DISTRO_SUITE##
components=##DISTRO_COMPONENTS##
packages=##IMAGE_PREINSTALL##
omitdebsrc=true
+
+[Isar]
+packages=##IMAGE_INSTALL##
+source=##DEPLOY_DIR_APT##
+suite=##ISAR_DISTRO_SUITE##
+components=main
+omitdebsrc=true
diff --git a/meta-isar/recipes-core/images/
isar-image-base.bb b/meta-isar/recipes-core/images/
isar-image-base.bb
index f4b0125..7798b25 100644
--- a/meta-isar/recipes-core/images/
isar-image-base.bb
+++ b/meta-isar/recipes-core/images/
isar-image-base.bb
@@ -46,6 +46,9 @@ do_rootfs() {
-e 's|##CONFIG_SCRIPT##|./'"$WORKDIR_REL"'/${DISTRO_CONFIG_SCRIPT}|g' \
-e 's|##SETUP_SCRIPT##|./'"$WORKDIR_REL"'/setup.sh|g' \
-e 's|##DIR_HOOKS##|./'"$WORKDIR_REL"'/hooks_multistrap|g' \
+ -e 's|##IMAGE_INSTALL##|${IMAGE_INSTALL}|g' \
+ -e 's|##DEPLOY_DIR_APT##|copy:///${DEPLOY_DIR_APT}/${DISTRO}|g' \
+ -e 's|##ISAR_DISTRO_SUITE##|${DEBDISTRONAME}|g' \
"${WORKDIR}/
multistrap.conf.in" > "${WORKDIR}/multistrap.conf"
# Create root filesystem
@@ -57,4 +60,5 @@ do_rootfs() {
sudo rm "${IMAGE_ROOTFS}/${DISTRO_CONFIG_SCRIPT}"
}
-addtask rootfs before do_populate after do_unpack
+addtask rootfs before do_build after do_populate
+
diff --git a/meta/classes/ext4-img.bbclass b/meta/classes/ext4-img.bbclass
index 3e3768b..9fa9aa5 100644
--- a/meta/classes/ext4-img.bbclass
+++ b/meta/classes/ext4-img.bbclass
@@ -34,4 +34,4 @@ do_ext4_image() {
fi
}
-addtask ext4_image before do_build after do_populate
+addtask ext4_image before do_build after do_rootfs
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 610dd74..e1a5c85 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -61,7 +61,7 @@ addtask cache_config before do_fetch
do_populate[stamp-extra-info] = "${DISTRO}-${MACHINE}"
-# Install Debian packages, that were built from sources
+# Populate Isar apt repository by newly built packages
do_populate() {
if [ -n "${IMAGE_INSTALL}" ]; then
for p in ${IMAGE_INSTALL}; do
@@ -71,15 +71,6 @@ do_populate() {
includedeb ${DEBDISTRONAME} \
${DEPLOY_DIR_DEB}/${p}_*.deb
done
- sudo mkdir -p ${IMAGE_ROOTFS}/deb
-
- for p in ${IMAGE_INSTALL}; do
- sudo cp ${DEPLOY_DIR_DEB}/${p}_*.deb ${IMAGE_ROOTFS}/deb
- done
-
- sudo chroot ${IMAGE_ROOTFS} /usr/bin/dpkg -i -R /deb
-
- sudo rm -rf ${IMAGE_ROOTFS}/deb
fi
}
--
2.1.4