@@ -16,4 +16,5 @@ config KAS_BUILD_SYSTEM
source "kas/distro/Kconfig"
source "kas/machine/Kconfig"
+source "kas/package/Kconfig"
source "kas/opt/Kconfig"
new file mode 100644
@@ -0,0 +1,154 @@
+# This software is a part of ISAR.
+# Copyright (C) 2023 ilbers GmbH
+#
+# Authors:
+# Uladzimir Bely <ubely@ilbers.de>
+
+menu "Packages selection"
+
+menu "Isar packages"
+
+config PACKAGE_COWSAY
+ bool "cowsay"
+ default y
+
+config KAS_INCLUDE_PACKAGE_COWSAY
+ string
+ default "kas/package/pkg_cowsay.yaml"
+ depends on PACKAGE_COWSAY
+
+
+config PACKAGE_ENABLE_FSCK
+ bool "enable-fsck"
+ default y
+
+config KAS_INCLUDE_PACKAGE_ENABLE_FSCK
+ string
+ default "kas/package/pkg_enable-fsck.yaml"
+ depends on PACKAGE_ENABLE_FSCK
+
+
+config PACKAGE_EXAMPLE_RAW
+ bool "example-raw"
+ default y
+
+config KAS_INCLUDE_PACKAGE_EXAMPLE_RAW
+ string
+ default "kas/package/pkg_example-raw.yaml"
+ depends on PACKAGE_EXAMPLE_RAW
+
+
+config PACKAGE_EXAMPLE_MODULE
+ bool "example-module"
+ default y
+
+config KAS_INCLUDE_PACKAGE_EXAMPLE_MODULE
+ string
+ default "kas/package/pkg_example-module.yaml"
+ depends on PACKAGE_EXAMPLE_MODULE
+
+
+config PACKAGE_EXAMPLE_PREBUILT
+ bool "example-prebuilt"
+ default y
+
+config KAS_INCLUDE_PACKAGE_EXAMPLE_PREBUILT
+ string
+ default "kas/package/pkg_example-prebuilt.yaml"
+ depends on PACKAGE_EXAMPLE_PREBUILT
+
+
+config PACKAGE_EXPAND_ON_FIRST_BOOT
+ bool "expand-on-first-boot"
+ default y
+
+config KAS_INCLUDE_PACKAGE_EXPAND_ON_FIRST_BOOT
+ string
+ default "kas/package/pkg_expand-on-first-boot.yaml"
+ depends on PACKAGE_EXPAND_ON_FIRST_BOOT
+
+
+config PACKAGE_HELLO
+ bool "hello"
+ default y
+
+config KAS_INCLUDE_PACKAGE_HELLO
+ string
+ default "kas/package/pkg_hello.yaml"
+ depends on PACKAGE_HELLO
+
+
+config PACKAGE_HELLO_ISAR
+ bool "hello-isar"
+ default y
+
+config KAS_INCLUDE_PACKAGE_HELLO_ISAR
+ string
+ default "kas/package/pkg_hello-isar.yaml"
+ depends on PACKAGE_HELLO_ISAR
+
+
+config PACKAGE_ISAR_EXCLUDE_DOCS
+ bool "isar-exclude-docs"
+ default y
+
+config KAS_INCLUDE_PACKAGE_ISAR_EXCLUDE_DOCS
+ string
+ default "kas/package/pkg_isar-exclude-docs.yaml"
+ depends on PACKAGE_ISAR_EXCLUDE_DOCS
+
+
+config PACKAGE_ISAR_DISABLE_APT_CACHE
+ bool "isar-disable-apt-cache"
+ default y
+
+config KAS_INCLUDE_PACKAGE_ISAR_DISABLE_APT_CACHE
+ string
+ default "kas/package/pkg_isar-disable-apt-cache.yaml"
+ depends on PACKAGE_ISAR_DISABLE_APT_CACHE
+
+
+config PACKAGE_KSELFTEST
+ bool "kselftest"
+ default n
+
+config KAS_INCLUDE_PACKAGE_KSELFTEST
+ string
+ default "kas/package/pkg_kselftest.yaml"
+ depends on PACKAGE_KSELFTEST
+
+
+config PACKAGE_SAMEFILE
+ bool "samefile"
+ default y
+
+config KAS_INCLUDE_PACKAGE_SAMEFILE
+ string
+ default "kas/package/pkg_samefile.yaml"
+ depends on PACKAGE_SAMEFILE
+
+
+config PACKAGE_SSHD_REGEN_KEYS
+ bool "sshd-regen-keys"
+ default y
+
+config KAS_INCLUDE_PACKAGE_SSHD_REGEN_KEYS
+ string
+ default "kas/package/pkg_sshd-regen-keys.yaml"
+ depends on PACKAGE_SSHD_REGEN_KEYS
+
+endmenu
+
+config KAS_IMAGE_PREINSTALL
+ string "Distro packages"
+ default "fdisk iproute2 iputils-ping ics-dhcp-client"
+ help
+ Space-separated list of packages that are provided by the selected distro.
+ These packages are downloaded from distro mirrors and just unpacked
+ and configured by Isar.
+
+config KAS_INCLUDE_PACKAGES_DISTRO
+ string
+ default "kas/package/packages-distro.yaml"
+
+endmenu
new file mode 100644
@@ -0,0 +1,9 @@
+# This software is a part of ISAR.
+# Copyright (C) 2023 ilbers GmbH
+
+header:
+ version: 14
+
+local_conf_header:
+ packages-distro: |
+ IMAGE_PREINSTALL:append = " ${KAS_IMAGE_PREINSTALL}"
new file mode 100644
@@ -0,0 +1,9 @@
+# This software is a part of ISAR.
+# Copyright (C) 2023 ilbers GmbH
+
+header:
+ version: 14
+
+local_conf_header:
+ package-cowsay: |
+ IMAGE_INSTALL:append = " cowsay"
new file mode 100644
@@ -0,0 +1,9 @@
+# This software is a part of ISAR.
+# Copyright (C) 2023 ilbers GmbH
+
+header:
+ version: 14
+
+local_conf_header:
+ package-enable-fsck: |
+ IMAGE_INSTALL:append = " enable-fsck"
new file mode 100644
@@ -0,0 +1,9 @@
+# This software is a part of ISAR.
+# Copyright (C) 2023 ilbers GmbH
+
+header:
+ version: 14
+
+local_conf_header:
+ package-example-module: |
+ IMAGE_INSTALL:append = " example-module-${KERNEL_NAME}"
new file mode 100644
@@ -0,0 +1,9 @@
+# This software is a part of ISAR.
+# Copyright (C) 2023 ilbers GmbH
+
+header:
+ version: 14
+
+local_conf_header:
+ package-example-prebuilt: |
+ IMAGE_INSTALL:append = " example-prebuilt"
new file mode 100644
@@ -0,0 +1,9 @@
+# This software is a part of ISAR.
+# Copyright (C) 2023 ilbers GmbH
+
+header:
+ version: 14
+
+local_conf_header:
+ package-example-raw: |
+ IMAGE_INSTALL:append = " example-raw"
new file mode 100644
@@ -0,0 +1,9 @@
+# This software is a part of ISAR.
+# Copyright (C) 2023 ilbers GmbH
+
+header:
+ version: 14
+
+local_conf_header:
+ package-expand-on-first-boot: |
+ IMAGE_INSTALL:append = " expand-on-first-boot"
new file mode 100644
@@ -0,0 +1,9 @@
+# This software is a part of ISAR.
+# Copyright (C) 2023 ilbers GmbH
+
+header:
+ version: 14
+
+local_conf_header:
+ package-hello-isar: |
+ IMAGE_INSTALL:append = " hello-isar"
new file mode 100644
@@ -0,0 +1,9 @@
+# This software is a part of ISAR.
+# Copyright (C) 2023 ilbers GmbH
+
+header:
+ version: 14
+
+local_conf_header:
+ package-hello: |
+ IMAGE_INSTALL:append = " hello"
new file mode 100644
@@ -0,0 +1,9 @@
+# This software is a part of ISAR.
+# Copyright (C) 2023 ilbers GmbH
+
+header:
+ version: 14
+
+local_conf_header:
+ package-isar-disable-apt-cache: |
+ IMAGE_INSTALL:append = " isar-disable-apt-cache"
new file mode 100644
@@ -0,0 +1,9 @@
+# This software is a part of ISAR.
+# Copyright (C) 2023 ilbers GmbH
+
+header:
+ version: 14
+
+local_conf_header:
+ package-isar-exclude-docs: |
+ IMAGE_INSTALL:append = " isar-exclude-docs"
new file mode 100644
@@ -0,0 +1,9 @@
+# This software is a part of ISAR.
+# Copyright (C) 2023 ilbers GmbH
+
+header:
+ version: 14
+
+local_conf_header:
+ package-kselftest: |
+ IMAGE_INSTALL:append = " kselftest"
new file mode 100644
@@ -0,0 +1,9 @@
+# This software is a part of ISAR.
+# Copyright (C) 2023 ilbers GmbH
+
+header:
+ version: 14
+
+local_conf_header:
+ package-samefile: |
+ IMAGE_INSTALL:append = " samefile"
new file mode 100644
@@ -0,0 +1,9 @@
+# This software is a part of ISAR.
+# Copyright (C) 2023 ilbers GmbH
+
+header:
+ version: 14
+
+local_conf_header:
+ package-sshd-regen-keys: |
+ IMAGE_INSTALL:append = " sshd-regen-keys"
This part of configuration allows to choose which additional packages (both from Isar and Debian) to include to the target image. Isar packages are added to IMAGE_INSTALL since Debian packages go to IMAGE_PREINSTALL. The features are implemented as "string" parameter in the menu since it reduces a number of required YAML fragments. Signed-off-by: Uladzimir Bely <ubely@ilbers.de> --- Kconfig | 1 + kas/package/Kconfig | 154 ++++++++++++++++++++ kas/package/packages-distro.yaml | 9 ++ kas/package/pkg_cowsay.yaml | 9 ++ kas/package/pkg_enable-fsck.yaml | 9 ++ kas/package/pkg_example-module.yaml | 9 ++ kas/package/pkg_example-prebuilt.yaml | 9 ++ kas/package/pkg_example-raw.yaml | 9 ++ kas/package/pkg_expand-on-first-boot.yaml | 9 ++ kas/package/pkg_hello-isar.yaml | 9 ++ kas/package/pkg_hello.yaml | 9 ++ kas/package/pkg_isar-disable-apt-cache.yaml | 9 ++ kas/package/pkg_isar-exclude-docs.yaml | 9 ++ kas/package/pkg_kselftest.yaml | 9 ++ kas/package/pkg_samefile.yaml | 9 ++ kas/package/pkg_sshd-regen-keys.yaml | 9 ++ 16 files changed, 281 insertions(+) create mode 100644 kas/package/Kconfig create mode 100644 kas/package/packages-distro.yaml create mode 100644 kas/package/pkg_cowsay.yaml create mode 100644 kas/package/pkg_enable-fsck.yaml create mode 100644 kas/package/pkg_example-module.yaml create mode 100644 kas/package/pkg_example-prebuilt.yaml create mode 100644 kas/package/pkg_example-raw.yaml create mode 100644 kas/package/pkg_expand-on-first-boot.yaml create mode 100644 kas/package/pkg_hello-isar.yaml create mode 100644 kas/package/pkg_hello.yaml create mode 100644 kas/package/pkg_isar-disable-apt-cache.yaml create mode 100644 kas/package/pkg_isar-exclude-docs.yaml create mode 100644 kas/package/pkg_kselftest.yaml create mode 100644 kas/package/pkg_samefile.yaml create mode 100644 kas/package/pkg_sshd-regen-keys.yaml