It runs on first boot via systemd-repart.service only if config files
are present, which users need to supply in a separate package.

Signed-off-by: Roland Hieber <r...@pengutronix.de>
---
v1 -> v2:
 * don't install /usr/lib/repart.d, notice the user in the kconfig help
   text that they should come from a separate package.

 rules/systemd.in   | 9 +++++++++
 rules/systemd.make | 8 ++++++--
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/rules/systemd.in b/rules/systemd.in
index 00d922a05c0a..0f47386844dc 100644
--- a/rules/systemd.in
+++ b/rules/systemd.in
@@ -19,6 +19,7 @@ menuconfig SYSTEMD
        select LIBKMOD_TOOLS
        select UTIL_LINUX
        select UTIL_LINUX_LIBMOUNT
+       select UTIL_LINUX_LIBFDISK      if SYSTEMD_REPART
        select MACHINE_ID       if RUNTIME
        select XZ               if SYSTEMD_XZ
        select LZ4              if SYSTEMD_LZ4
@@ -170,6 +171,14 @@ config SYSTEMD_NSPAWN
        bool
        prompt "install systemd-nspawn"
 
+config SYSTEMD_REPART
+       bool
+       prompt "install systemd-repart"
+       help
+         systemd-repart repartitions the disk on system boot if configuration
+         files are present. You should install these files in a separate
+         PTXdist package, or call systemd-repart explicitely.
+
 config SYSTEMD_DEFAULT_NET_NAMING_SCHEME
        string
        prompt "default net.naming-scheme= value"
diff --git a/rules/systemd.make b/rules/systemd.make
index d42ab860624e..9cf97acbd4a7 100644
--- a/rules/systemd.make
+++ b/rules/systemd.make
@@ -86,7 +86,7 @@ SYSTEMD_CONF_OPT      := \
        -Delfutils=$(call ptx/truefalse,PTXCONF_SYSTEMD_COREDUMP) \
        -Denvironment-d=false \
        -Dfallback-hostname=$(call 
ptx/ifdef,PTXCONF_ROOTFS_ETC_HOSTNAME,$(PTXCONF_ROOTFS_ETC_HOSTNAME),ptxdist) \
-       -Dfdisk=false \
+       -Dfdisk=$(call ptx/truefalse,PTXCONF_SYSTEMD_REPART) \
        -Dfexecve=false \
        -Dfirstboot=false \
        -Dfuzz-tests=false \
@@ -162,7 +162,7 @@ SYSTEMD_CONF_OPT    := \
        -Dquotaon-path=/usr/sbin/quotaon \
        -Drandomseed=$(call ptx/falsetrue,PTXCONF_SYSTEMD_DISABLE_RANDOM_SEED) \
        -Dremote=$(call ptx/ifdef,PTXCONF_SYSTEMD_JOURNAL_REMOTE,auto,false) \
-       -Drepart=false \
+       -Drepart=$(call ptx/truefalse,PTXCONF_SYSTEMD_REPART) \
        -Dresolve=$(call ptx/truefalse,PTXCONF_SYSTEMD_NETWORK) \
        -Drfkill=false \
        -Dseccomp=$(call ptx/truefalse,PTXCONF_SYSTEMD_SECCOMP) \
@@ -381,6 +381,10 @@ ifdef PTXCONF_SYSTEMD_NSPAWN
        @$(call install_copy, systemd, 0, 0, 0755, -, /usr/bin/systemd-nspawn)
 endif
 
+ifdef PTXCONF_SYSTEMD_REPART
+       @$(call install_copy, systemd, 0, 0, 0755, -, /usr/bin/systemd-repart)
+endif
+
        @$(call install_tree, systemd, 0, 0, -, 
/usr/lib/systemd/system-generators/)
        @$(foreach helper, $(SYSTEMD_HELPER), \
                $(call install_copy, systemd, 0, 0, 0755, -, \
-- 
2.30.2


Reply via email to