shared/cryptsetup-util: build problematic code only in developer mode

This code doesn't link when gcc+lld is used:

$ LDFLAGS=-fuse-ld=lld meson setup build-lld && ninja -C build-lld udevadm
...
ld.lld: error: src/shared/libsystemd-shared-255.a(libsystemd-shared-255.a.p/cryptsetup-util.c.o):
  symbol crypt_token_external_path@@ has undefined version
collect2: error: ld returned 1 exit status

As a work-around, restrict it to developer mode.

Closes https://github.com/systemd/systemd/issues/30218.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2023-11-28 20:23:45 +00:00
committed by Luca Boccassi
parent 51219be992
commit 25757715fe
2 changed files with 3 additions and 4 deletions
+2 -1
View File
@@ -472,7 +472,8 @@ disk images with `--image=` or similar:
* `$SYSTEMD_CRYPTSETUP_TOKEN_PATH` – takes a path to a directory in the file
system. If specified overrides where libcryptsetup will look for token
modules (.so). This is useful for debugging token modules: set this
environment variable to the build directory and you are set.
environment variable to the build directory and you are set. This variable
is only supported when systemd is compiled in developer mode.
Various tools that read passwords from the TTY, such as `systemd-cryptenroll`
and `homectl`: