[v4] meta: Add Debian Trixie

Message ID 20240315135811.3906804-1-amikan@ilbers.de
State Under Review, archived
Headers show
Series [v4] meta: Add Debian Trixie | expand

Commit Message

Anton Mikanovich March 15, 2024, 1:58 p.m. UTC
Add the next testing target in Isar and CI.
Also update documentation with the new distro name.

Building debian-trixie requires host >= bookworm.

Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
---
Changes since v3:
 - Add kas config
 - Fix some wording

Changes since v2:
 - Rebase on next
 - Update kernel list
 - Fix DISTRO_GCC value
 - Add DEBIAN_COMPAT value
 - Use base image in CI

 README.md                                     |  2 +-
 doc/user_manual.md                            |  5 +++++
 kas/distro/debian-trixie.yaml                 |  7 +++++++
 meta-isar/conf/mc.conf                        |  3 +++
 .../conf/multiconfig/qemuamd64-trixie.conf    |  7 +++++++
 .../conf/multiconfig/qemuarm-trixie.conf      |  7 +++++++
 .../conf/multiconfig/qemuarm64-trixie.conf    |  7 +++++++
 meta/conf/distro/debian-trixie.conf           | 19 +++++++++++++++++++
 meta/conf/distro/debian-trixie.list           |  8 ++++++++
 testsuite/citest.py                           | 13 +++++++++++++
 10 files changed, 77 insertions(+), 1 deletion(-)
 create mode 100644 kas/distro/debian-trixie.yaml
 create mode 100644 meta-isar/conf/multiconfig/qemuamd64-trixie.conf
 create mode 100644 meta-isar/conf/multiconfig/qemuarm-trixie.conf
 create mode 100644 meta-isar/conf/multiconfig/qemuarm64-trixie.conf
 create mode 100644 meta/conf/distro/debian-trixie.conf
 create mode 100644 meta/conf/distro/debian-trixie.list

Patch

diff --git a/README.md b/README.md
index f549aa9f..b53cd094 100644
--- a/README.md
+++ b/README.md
@@ -22,7 +22,7 @@  To test the QEMU image, run the following command:
         $ start_vm -a <arch of your build> -d <distro of your build>
 
 Ex: Architecture of your build could be arm,arm64,i386,amd64,etc.
-    Distribution of your build could be buster,bullseye,bookworm,etc.
+    Distribution of your build could be buster, bullseye, bookworm, trixie, etc.
 
 The default root password is 'root'.
 
diff --git a/doc/user_manual.md b/doc/user_manual.md
index 52f04aa1..419d5339 100644
--- a/doc/user_manual.md
+++ b/doc/user_manual.md
@@ -68,6 +68,8 @@  The steps below describe how to build the images provided by default.
 
 The supported host system is >= buster.
 
+Building `debian-trixie` requires host system >= bookworm.
+
 Install the following packages:
 ```
 apt install \
@@ -445,6 +447,7 @@  following distros:
  - debian-buster
  - debian-bullseye
  - debian-bookworm
+ - debian-trixie (host >= bookworm)
  - ubuntu-focal
  - ubuntu-jammy (requires host dpkg >= 1.21)
  - raspios-bullseye
@@ -1011,6 +1014,8 @@  Debian cross-compilation works out of the box. Currently the following build con
  - bookworm armhf
  - bookworm arm64
  - bookworm mipsel
+ - trixie armhf
+ - trixie arm64
 
 Experimental support for riscv64 is available as well.
 
diff --git a/kas/distro/debian-trixie.yaml b/kas/distro/debian-trixie.yaml
new file mode 100644
index 00000000..7320b2c7
--- /dev/null
+++ b/kas/distro/debian-trixie.yaml
@@ -0,0 +1,7 @@ 
+# This software is a part of Isar.
+# Copyright (C) 2024 ilbers GmbH
+
+header:
+  version: 14
+
+distro: debian-trixie
diff --git a/meta-isar/conf/mc.conf b/meta-isar/conf/mc.conf
index fde00a71..0143e768 100644
--- a/meta-isar/conf/mc.conf
+++ b/meta-isar/conf/mc.conf
@@ -9,9 +9,11 @@  BBMULTICONFIG = " \
     qemuarm-buster \
     qemuarm-bullseye \
     qemuarm-bookworm \
+    qemuarm-trixie \
     qemuarm64-buster \
     qemuarm64-bullseye \
     qemuarm64-bookworm \
+    qemuarm64-trixie \
     qemui386-buster \
     qemui386-bullseye \
     qemui386-bookworm \
@@ -19,6 +21,7 @@  BBMULTICONFIG = " \
     qemuamd64-bullseye \
     qemuamd64-sb-bullseye \
     qemuamd64-bookworm \
+    qemuamd64-trixie \
     container-amd64-buster \
     container-amd64-bullseye \
     container-amd64-bookworm \
diff --git a/meta-isar/conf/multiconfig/qemuamd64-trixie.conf b/meta-isar/conf/multiconfig/qemuamd64-trixie.conf
new file mode 100644
index 00000000..09368deb
--- /dev/null
+++ b/meta-isar/conf/multiconfig/qemuamd64-trixie.conf
@@ -0,0 +1,7 @@ 
+# This software is a part of Isar.
+# Copyright (C) 2024 ilbers GmbH
+#
+# SPDX-License-Identifier: MIT
+
+MACHINE ?= "qemuamd64"
+DISTRO ?= "debian-trixie"
diff --git a/meta-isar/conf/multiconfig/qemuarm-trixie.conf b/meta-isar/conf/multiconfig/qemuarm-trixie.conf
new file mode 100644
index 00000000..5600ab23
--- /dev/null
+++ b/meta-isar/conf/multiconfig/qemuarm-trixie.conf
@@ -0,0 +1,7 @@ 
+# This software is a part of Isar.
+# Copyright (C) 2024 ilbers GmbH
+#
+# SPDX-License-Identifier: MIT
+
+MACHINE ?= "qemuarm"
+DISTRO ?= "debian-trixie"
diff --git a/meta-isar/conf/multiconfig/qemuarm64-trixie.conf b/meta-isar/conf/multiconfig/qemuarm64-trixie.conf
new file mode 100644
index 00000000..ec61f5ee
--- /dev/null
+++ b/meta-isar/conf/multiconfig/qemuarm64-trixie.conf
@@ -0,0 +1,7 @@ 
+# This software is a part of Isar.
+# Copyright (C) 2024 ilbers GmbH
+#
+# SPDX-License-Identifier: MIT
+
+MACHINE ?= "qemuarm64"
+DISTRO ?= "debian-trixie"
diff --git a/meta/conf/distro/debian-trixie.conf b/meta/conf/distro/debian-trixie.conf
new file mode 100644
index 00000000..f265b233
--- /dev/null
+++ b/meta/conf/distro/debian-trixie.conf
@@ -0,0 +1,19 @@ 
+# This software is a part of Isar.
+# Copyright (C) 2024 ilbers GmbH
+#
+# SPDX-License-Identifier: MIT
+
+require debian-common.conf
+
+BASE_DISTRO_CODENAME = "trixie"
+
+HOST_DISTRO ?= "debian-${BASE_DISTRO_CODENAME}"
+
+DISTRO_CONFIG_SCRIPT ?= "debian-configscript.sh"
+DISTRO_KERNELS ?= "5kc-malta 686 686-pae amd64 arm64 armmp armmp-lpae \
+        cloud-amd64 cloud-arm64 loongson-3 mips64r2el octeon powerpc64le rpi \
+        rt-686-pae rt-amd64 rt-arm64 rt-armmp s390x"
+
+DISTRO_GCC = "13"
+
+DEBIAN_COMPAT = "13"
diff --git a/meta/conf/distro/debian-trixie.list b/meta/conf/distro/debian-trixie.list
new file mode 100644
index 00000000..4f5f665d
--- /dev/null
+++ b/meta/conf/distro/debian-trixie.list
@@ -0,0 +1,8 @@ 
+deb	http://deb.debian.org/debian trixie main contrib non-free-firmware non-free
+deb-src	http://deb.debian.org/debian trixie main contrib non-free-firmware non-free
+
+deb	http://deb.debian.org/debian-security/ trixie-security main contrib non-free-firmware non-free
+deb-src	http://deb.debian.org/debian-security/ trixie-security main contrib non-free-firmware non-free
+
+deb	http://deb.debian.org/debian trixie-updates main contrib non-free-firmware non-free
+deb-src	http://deb.debian.org/debian trixie-updates main contrib non-free-firmware non-free
diff --git a/testsuite/citest.py b/testsuite/citest.py
index 607a0b20..be9c7cd4 100755
--- a/testsuite/citest.py
+++ b/testsuite/citest.py
@@ -231,6 +231,19 @@  class NoCrossTest(CIBaseTest):
         except:
             self.cancel('KFAIL')
 
+    def test_nocross_trixie(self):
+        targets = [
+            'mc:qemuamd64-trixie:isar-image-base',
+            'mc:qemuarm64-trixie:isar-image-base',
+            'mc:qemuarm-trixie:isar-image-base',
+                  ]
+
+        self.init()
+        try:
+            self.perform_build_test(targets, cross=False)
+        except:
+            self.cancel('KFAIL')
+
     def test_nocross_sid(self):
         targets = [
             'mc:qemuriscv64-sid:isar-image-base',