[neon/neon/livecd-rootfs/Neon/release] /: Enable building intel-iot live-server images.
Łukasz 'sil2100' Zemczak
null at kde.org
Mon Mar 20 14:53:57 GMT 2023
Git commit 2075062139b95f781d8d20a3a33af5d9aa0ce238 by Łukasz 'sil2100' Zemczak.
Committed on 17/03/2023 at 11:34.
Pushed by jriddell into branch 'Neon/release'.
Enable building intel-iot live-server images.
M +6 -0 debian/changelog
M +15 -6 live-build/auto/config
M +11 -8 live-build/lb_binary_layered
M +2 -0 live-build/ubuntu-server/hooks/03-kernel-metapkg.chroot_early
M +2 -0 live-build/ubuntu-server/hooks/04-kernel-bits.binary
https://invent.kde.org/neon/neon/livecd-rootfs/commit/2075062139b95f781d8d20a3a33af5d9aa0ce238
diff --git a/debian/changelog b/debian/changelog
index 0c98d282..72e67ad0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+livecd-rootfs (2.765.20) UNRELEASED; urgency=medium
+
+ * Enable building intel-iot live-server images (LP: #1980067).
+
+ -- Łukasz 'sil2100' Zemczak <lukasz.zemczak at ubuntu.com> Fri, 17 Mar 2023 12:31:55 +0100
+
livecd-rootfs (2.765.19) jammy; urgency=medium
* auto/config: Add support for ubuntu core arm64 generic images (LP: #2009067)
diff --git a/live-build/auto/config b/live-build/auto/config
index dde8e587..c076521a 100755
--- a/live-build/auto/config
+++ b/live-build/auto/config
@@ -855,12 +855,18 @@ case $PROJECT in
# written generically to support both even though a lot of the
# time only one kernel is offered.
- if [ $ARCH = riscv64 ]; then
- # However, for RISC-V we only offer one kernel
- variants='ga'
- else
- variants='ga hwe'
- fi
+ case "$ARCH+${SUBARCH:-}" in
+ amd64+intel-iot)
+ variants='intel'
+ ;;
+ riscv64*)
+ # However, for RISC-V we only offer one kernel
+ variants='ga'
+ ;;
+ *)
+ variants='ga hwe'
+ ;;
+ esac
for variant in $variants; do
if [ "$variant" = "ga" ]; then
@@ -869,6 +875,9 @@ case $PROJECT in
elif [ "$variant" = "hwe" ]; then
kernel_metapkg=linux-generic-hwe-$(lsb_release -sr)
flavor=generic-hwe
+ elif [ "$variant" = "intel" ]; then
+ kernel_metapkg=linux-intel-iotg
+ flavor=intel-iotg
else
echo "bogus variant: $variant"
exit 1
diff --git a/live-build/lb_binary_layered b/live-build/lb_binary_layered
index 424f7001..f31d5e22 100755
--- a/live-build/lb_binary_layered
+++ b/live-build/lb_binary_layered
@@ -56,9 +56,12 @@ build_layered_squashfs () {
Echo_message "lb_binary_layered: treating pass $pass"
+ # Per convention, we include the subarch name next to the project
+ PROJECT_FULL=$PROJECT${SUBARCH:+-$SUBARCH}
+
# Building squashfs filesystem & manifest
local overlay_dir="overlay.${pass}"
- base="${PWD}/livecd.${PROJECT}.${pass}"
+ base="${PWD}/livecd.${PROJECT_FULL}.${pass}"
squashfs_f="${base}.squashfs"
# We have already treated that pass
@@ -113,7 +116,7 @@ build_layered_squashfs () {
create_manifest "chroot" "${squashfs_f_manifest}.full"
# Delta manifest
- diff -NU0 ${PWD}/livecd.${PROJECT}.$(get_parent_pass $pass).manifest.full ${squashfs_f_manifest}.full|grep -v ^@ > $squashfs_f_manifest
+ diff -NU0 ${PWD}/livecd.${PROJECT_FULL}.$(get_parent_pass $pass).manifest.full ${squashfs_f_manifest}.full|grep -v ^@ > $squashfs_f_manifest
squashfs_f_size="${base}.size"
du -B 1 -s "overlay.${pass}/" | cut -f1 > "${squashfs_f_size}"
@@ -121,7 +124,7 @@ build_layered_squashfs () {
# We take first live pass for "global" ISO properties (used by installers and checkers):
# Prepare initrd + kernel
# Main manifest and size files
- prefix="livecd.$PROJECT${SUBARCH:+-$SUBARCH}"
+ prefix="livecd.$PROJECT_FULL"
if [ ! -e "${prefix}.manifest" ] && $(is_live_layer "$pass"); then
totalsize=$(cat ${squashfs_f_size})
curpass="$pass"
@@ -130,7 +133,7 @@ build_layered_squashfs () {
# We climbed up the tree to the root layer, we are done
[ -z "$curpass" ] && break
- totalsize=$(expr $totalsize + $(cat "${PWD}/livecd.${PROJECT}.${curpass}.size"))
+ totalsize=$(expr $totalsize + $(cat "${PWD}/livecd.${PROJECT_FULL}.${curpass}.size"))
done
echo ${totalsize} > "${prefix}.size"
@@ -141,7 +144,7 @@ build_layered_squashfs () {
if [ -f config/$pass.catalog-in.yaml ]; then
echo "Expanding catalog entry template for $pass"
- usc_opts="--output livecd.${PROJECT}.install-sources.yaml \
+ usc_opts="--output livecd.${PROJECT_FULL}.install-sources.yaml \
--template config/$pass.catalog-in.yaml \
--size $(du -B 1 -s chroot/ | cut -f1) --squashfs ${pass}.squashfs \
--translations config/catalog-translations"
@@ -168,9 +171,9 @@ do
done
# Ubiquity-compatible removal manifest for ISO not using a layered-aware installer
-if [ -n "$(ls livecd.${PROJECT}.*install.live.manifest.full 2>/dev/null)" ] && \
- [ -n "$(ls livecd.${PROJECT}.*install.manifest.full 2>/dev/null)" ]; then
- echo "$(diff livecd.${PROJECT}.*install.live.manifest.full livecd.${PROJECT}.*install.manifest.full | awk '/^< / { print $2 }')" > livecd.${PROJECT}-manifest-remove
+if [ -n "$(ls livecd.${PROJECT_FULL}.*install.live.manifest.full 2>/dev/null)" ] && \
+ [ -n "$(ls livecd.${PROJECT_FULL}.*install.manifest.full 2>/dev/null)" ]; then
+ echo "$(diff livecd.${PROJECT_FULL}.*install.live.manifest.full livecd.${PROJECT_FULL}.*install.manifest.full | awk '/^< / { print $2 }')" > livecd.${PROJECT_FULL}-manifest-remove
fi
chmod 644 *.squashfs *.manifest* *.size
diff --git a/live-build/ubuntu-server/hooks/03-kernel-metapkg.chroot_early b/live-build/ubuntu-server/hooks/03-kernel-metapkg.chroot_early
index 864d4c4c..3e0be41b 100755
--- a/live-build/ubuntu-server/hooks/03-kernel-metapkg.chroot_early
+++ b/live-build/ubuntu-server/hooks/03-kernel-metapkg.chroot_early
@@ -8,6 +8,8 @@ case $PASS in
kernel_metapkg=linux-generic
elif [ "$flavor" = "generic-hwe" ]; then
kernel_metapkg=linux-generic-hwe-$(lsb_release -sr)
+ elif [ "$flavor" = "intel-iotg" ]; then
+ kernel_metapkg=linux-intel-iotg
else
echo "bogus flavor: $flavor"
exit 1
diff --git a/live-build/ubuntu-server/hooks/04-kernel-bits.binary b/live-build/ubuntu-server/hooks/04-kernel-bits.binary
index c0b2e3d7..51520265 100755
--- a/live-build/ubuntu-server/hooks/04-kernel-bits.binary
+++ b/live-build/ubuntu-server/hooks/04-kernel-bits.binary
@@ -10,6 +10,8 @@ case $PASS in
;;
esac
+PROJECT=$PROJECT${SUBARCH:+-$SUBARCH}
+
# Fish out generated kernel image and initrd
mv chroot/boot/initrd.img-* ${PWD}/livecd.${PROJECT}.initrd-$flavor
mv chroot/boot/vmlinu?-* ${PWD}/livecd.${PROJECT}.kernel-$flavor
More information about the Neon-commits
mailing list