summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Hesse <mail@eworm.de>2021-03-28 13:00:49 +0200
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2021-03-29 12:33:36 +0200
commit46cfe8f50db6d15a00384cc422f1f9d068207238 (patch)
treebad15d85401efe46a74ae00b4059aae811a0043c
parent945317a4b69d33752c9513bb8994fe8d5a786ea6 (diff)
downloadsystemd-46cfe8f50db6d15a00384cc422f1f9d068207238.tar.gz
units: make locale directory writable for systemd-localed
With 8f20232fcb52dbe6255f3df6101fc057af90bcfa systemd-localed supports generating locales when required. This fails if the locale directory is read-only, so make it writable. Closes #19138
-rw-r--r--meson.build3
-rw-r--r--units/systemd-localed.service.in2
2 files changed, 4 insertions, 1 deletions
diff --git a/meson.build b/meson.build
index f41a811e2e..6a474afdac 100644
--- a/meson.build
+++ b/meson.build
@@ -857,10 +857,13 @@ conf.set_quoted('SYSTEMD_DEFAULT_LOCALE', default_locale)
localegen_path = get_option('localegen-path')
have = false
+writable = ''
if localegen_path != ''
conf.set_quoted('LOCALEGEN_PATH', localegen_path)
have = true
+ writable = ' /usr/lib/locale'
endif
+substs.set('SERVICE_LOCALEGEN_WRITABLE', writable)
conf.set10('HAVE_LOCALEGEN', have)
conf.set_quoted('GETTEXT_PACKAGE', meson.project_name())
diff --git a/units/systemd-localed.service.in b/units/systemd-localed.service.in
index 652b956a34..e60a173591 100644
--- a/units/systemd-localed.service.in
+++ b/units/systemd-localed.service.in
@@ -33,7 +33,7 @@ ProtectKernelLogs=yes
ProtectKernelModules=yes
ProtectKernelTunables=yes
ProtectSystem=strict
-ReadWritePaths=/etc
+ReadWritePaths=/etc@SERVICE_LOCALEGEN_WRITABLE@
RestrictAddressFamilies=AF_UNIX
RestrictNamespaces=yes
RestrictRealtime=yes