summaryrefslogtreecommitdiffstats
path: root/mkosi.conf.d/10-opensuse
diff options
context:
space:
mode:
Diffstat (limited to 'mkosi.conf.d/10-opensuse')
-rw-r--r--mkosi.conf.d/10-opensuse/macros.db_backend1
-rw-r--r--mkosi.conf.d/10-opensuse/mkosi.conf79
-rw-r--r--mkosi.conf.d/10-opensuse/mkosi.conf.d/10-debug.conf21
-rwxr-xr-xmkosi.conf.d/10-opensuse/mkosi.prepare23
4 files changed, 124 insertions, 0 deletions
diff --git a/mkosi.conf.d/10-opensuse/macros.db_backend b/mkosi.conf.d/10-opensuse/macros.db_backend
new file mode 100644
index 0000000..4a58f06
--- /dev/null
+++ b/mkosi.conf.d/10-opensuse/macros.db_backend
@@ -0,0 +1 @@
+%_db_backend ndb
diff --git a/mkosi.conf.d/10-opensuse/mkosi.conf b/mkosi.conf.d/10-opensuse/mkosi.conf
new file mode 100644
index 0000000..e741aa4
--- /dev/null
+++ b/mkosi.conf.d/10-opensuse/mkosi.conf
@@ -0,0 +1,79 @@
+# SPDX-License-Identifier: LGPL-2.1-or-later
+
+[Match]
+Distribution=opensuse
+
+[Distribution]
+Release=tumbleweed
+Repositories=non-oss
+PackageManagerTrees=macros.db_backend:/etc/rpm/macros.db_backend
+
+[Content]
+VolatilePackages=
+ libsystemd0
+ libudev1
+ systemd
+ systemd-boot
+ systemd-container
+ systemd-devel
+ systemd-doc
+ systemd-experimental
+ systemd-homed
+ systemd-lang
+ systemd-network
+ systemd-portable
+ systemd-sysvcompat
+ systemd-testsuite
+ udev
+
+# We install gawk, gzip, grep, xz, sed, rsync and docbook-xsl-stylesheets here explicitly so that the busybox
+# versions don't get installed instead.
+Packages=
+ bind-utils
+ bpftool
+ btrfs-progs
+ cryptsetup
+ device-mapper
+ dhcp-server
+ docbook-xsl-stylesheets
+ erofs-utils
+ f2fs-tools
+ gawk
+ git-core
+ glibc-locale-base
+ gnutls
+ grep
+ gzip
+ iputils
+ kernel-default
+ kmod
+ knot
+ multipath-tools
+ ncat
+ open-iscsi
+ openssh-clients
+ openssh-server
+ pam
+ patterns-base-minimal_base
+ perf
+ procps4
+ psmisc
+ python3-pefile
+ python3-pexpect
+ python3-psutil
+ qrencode
+ quota
+ rsync
+ sbsigntools
+ sed
+ shadow
+ softhsm
+ squashfs
+ stress-ng
+ tgt
+ timezone
+ tpm2.0-tools
+ veritysetup
+ vim
+ xz
+ zypper
diff --git a/mkosi.conf.d/10-opensuse/mkosi.conf.d/10-debug.conf b/mkosi.conf.d/10-opensuse/mkosi.conf.d/10-debug.conf
new file mode 100644
index 0000000..6c57d04
--- /dev/null
+++ b/mkosi.conf.d/10-opensuse/mkosi.conf.d/10-debug.conf
@@ -0,0 +1,21 @@
+# SPDX-License-Identifier: LGPL-2.1-or-later
+
+[Match]
+Environment=WITH_DEBUG=1
+
+[Content]
+VolatilePackages=
+ libsystemd0-debuginfo
+ libudev1-debuginfo
+ systemd-boot-debuginfo
+ systemd-container-debuginfo
+ systemd-debuginfo
+ systemd-debugsource
+ systemd-experimental-debuginfo
+ systemd-homed-debuginfo
+ systemd-journal-remote-debuginfo
+ systemd-network-debuginfo
+ systemd-portable-debuginfo
+ systemd-sysvcompat-debuginfo
+ systemd-testsuite-debuginfo
+ udev-debuginfo
diff --git a/mkosi.conf.d/10-opensuse/mkosi.prepare b/mkosi.conf.d/10-opensuse/mkosi.prepare
new file mode 100755
index 0000000..6ee0af2
--- /dev/null
+++ b/mkosi.conf.d/10-opensuse/mkosi.prepare
@@ -0,0 +1,23 @@
+#!/bin/bash
+# SPDX-License-Identifier: LGPL-2.1-or-later
+set -e
+
+if [[ "$1" == "build" ]]; then
+ exit 0
+fi
+
+DEPS=""
+
+while read -r PACKAGE; do
+ # zypper's output is not machine readable so we make do with sed instead.
+ DEPS="$DEPS\n$(
+ zypper info --requires --recommends --suggests "$PACKAGE" |
+ sed '/Requires/,$!d' | # Remove everything before Requires line
+ sed --quiet 's/^ //p' # All indented lines have dependencies
+ )"
+done < <(jq --raw-output .VolatilePackages[] <"$MKOSI_CONFIG")
+
+echo -e "$DEPS" |
+ grep --invert-match --regexp systemd --regexp udev --regexp qemu |
+ sort --unique |
+ xargs --delimiter '\n' --no-run-if-empty mkosi-install