summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArtturi <Artturin@artturin.com>2023-11-26 02:43:01 +0200
committerGitHub <noreply@github.com>2023-11-26 02:43:01 +0200
commit993a44d202cc100a0e9078cc0e189287fda757a2 (patch)
tree0271aa7027912075e2f9807d1ad6af966a5dce55
parentRevert "systemd: remove some redundancy on mesonFlags" (diff)
downloadnixpkgs-origin/revert-269620-systemd-rewrite.tar.gz
Revert "systemd: use lib.meson* functions"origin/revert-269620-systemd-rewrite
This reverts commit 1129756b1a44deeeb08d09e4745f2aa8ed428282.
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix174
1 files changed, 86 insertions, 88 deletions
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index 4e58972e4ba6..0311d46d1fc4 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -449,74 +449,73 @@ stdenv.mkDerivation (finalAttrs: {
mesonBuildType = "release";
mesonFlags = [
- (lib.mesonOption "version-tag" version)
+ "-Dversion-tag=${version}"
# We bump this variable on every (major) version change to ensure
# that we have known-good value for a timestamp that is in the (not so distant) past.
# This serves as a lower bound for valid system timestamps during startup. Systemd will
# reset the system timestamp if this date is +- 15 years from the system time.
# See the systemd v250 release notes for further details:
# https://github.com/systemd/systemd/blob/60e930fc3e6eb8a36fbc184773119eb8d2f30364/NEWS#L258-L266
- (lib.mesonOption "time-epoch" releaseTimestamp)
+ "-Dtime-epoch=${releaseTimestamp}"
- (lib.mesonOption "mode" "release")
- (lib.mesonOption "dbuspolicydir" "${placeholder "out"}/share/dbus-1/system.d")
- (lib.mesonOption "dbussessionservicedir" "${placeholder "out"}/share/dbus-1/services")
- (lib.mesonOption "dbussystemservicedir" "${placeholder "out"}/share/dbus-1/system-services")
-
- (lib.mesonBool "pam" withPam)
- (lib.mesonOption "pamconfdir" "${placeholder "out"}/etc/pam.d")
- (lib.mesonOption "rootprefix" "${placeholder "out"}")
- (lib.mesonOption "pkgconfiglibdir" "${placeholder "dev"}/lib/pkgconfig")
- (lib.mesonOption "pkgconfigdatadir" "${placeholder "dev"}/share/pkgconfig")
- (lib.mesonOption "loadkeys-path" "${kbd}/bin/loadkeys")
- (lib.mesonOption "setfont-path" "${kbd}/bin/setfont")
- (lib.mesonOption "tty-gid" "3") # tty in NixOS has gid 3
- (lib.mesonOption "debug-shell" "${bashInteractive}/bin/bash")
- (lib.mesonBool "glib" withTests)
+ "-Dmode=release"
+ "-Ddbuspolicydir=${placeholder "out"}/share/dbus-1/system.d"
+ "-Ddbussessionservicedir=${placeholder "out"}/share/dbus-1/services"
+ "-Ddbussystemservicedir=${placeholder "out"}/share/dbus-1/system-services"
+ "-Dpam=${lib.boolToString withPam}"
+ "-Dpamconfdir=${placeholder "out"}/etc/pam.d"
+ "-Drootprefix=${placeholder "out"}"
+ "-Dpkgconfiglibdir=${placeholder "dev"}/lib/pkgconfig"
+ "-Dpkgconfigdatadir=${placeholder "dev"}/share/pkgconfig"
+ "-Dloadkeys-path=${kbd}/bin/loadkeys"
+ "-Dsetfont-path=${kbd}/bin/setfont"
+ "-Dtty-gid=3" # tty in NixOS has gid 3
+ "-Ddebug-shell=${bashInteractive}/bin/bash"
+ "-Dglib=${lib.boolToString withTests}"
# while we do not run tests we should also not build them. Removes about 600 targets
- (lib.mesonBool "tests" false)
- (lib.mesonBool "acl" withAcl)
- (lib.mesonBool "analyze" withAnalyze)
- (lib.mesonBool "audit" withAudit)
- (lib.mesonBool "gcrypt" wantGcrypt)
- (lib.mesonBool "importd" withImportd)
- (lib.mesonBool "lz4" withCompression)
- (lib.mesonBool "homed" withHomed)
- (lib.mesonBool "logind" withLogind)
- (lib.mesonBool "localed" withLocaled)
- (lib.mesonBool "hostnamed" withHostnamed)
- (lib.mesonBool "machined" withMachined)
- (lib.mesonBool "networkd" withNetworkd)
- (lib.mesonBool "oomd" withOomd)
- (lib.mesonBool "polkit" withPolkit)
- (lib.mesonBool "libcryptsetup" withCryptsetup)
- (lib.mesonBool "portabled" withPortabled)
- (lib.mesonBool "hwdb" withHwdb)
- (lib.mesonBool "remote" withRemote)
- (lib.mesonBool "timedated" withTimedated)
- (lib.mesonBool "timesyncd" withTimesyncd)
- (lib.mesonBool "userdb" withUserDb)
- (lib.mesonBool "coredump" withCoredump)
- (lib.mesonBool "firstboot" false)
- (lib.mesonBool "resolve" withResolved)
- (lib.mesonBool "split-usr" false)
- (lib.mesonBool "libcurl" wantCurl)
- (lib.mesonBool "libidn" false)
- (lib.mesonBool "libidn2" withLibidn2)
- (lib.mesonBool "firstboot" withFirstboot)
- (lib.mesonBool "sysusers" withSysusers)
- (lib.mesonBool "repart" withRepart)
- (lib.mesonBool "sysupdate" withSysupdate)
- (lib.mesonBool "quotacheck" false)
- (lib.mesonBool "ldconfig" false)
- (lib.mesonBool "smack" true)
- (lib.mesonBool "b_pie" true)
- (lib.mesonBool "install-sysconfdir" false)
- (lib.mesonOption "sbat-distro" "nixos")
- (lib.mesonOption "sbat-distro-summary" "NixOS")
- (lib.mesonOption "sbat-distro-url" "https://nixos.org/")
- (lib.mesonOption "sbat-distro-pkgname" "${pname}")
- (lib.mesonOption "sbat-distro-version" "${version}")
+ "-Dtests=false"
+ "-Dacl=${lib.boolToString withAcl}"
+ "-Danalyze=${lib.boolToString withAnalyze}"
+ "-Daudit=${lib.boolToString withAudit}"
+ "-Dgcrypt=${lib.boolToString wantGcrypt}"
+ "-Dimportd=${lib.boolToString withImportd}"
+ "-Dlz4=${lib.boolToString withCompression}"
+ "-Dhomed=${lib.boolToString withHomed}"
+ "-Dlogind=${lib.boolToString withLogind}"
+ "-Dlocaled=${lib.boolToString withLocaled}"
+ "-Dhostnamed=${lib.boolToString withHostnamed}"
+ "-Dmachined=${lib.boolToString withMachined}"
+ "-Dnetworkd=${lib.boolToString withNetworkd}"
+ "-Doomd=${lib.boolToString withOomd}"
+ "-Dpolkit=${lib.boolToString withPolkit}"
+ "-Dlibcryptsetup=${lib.boolToString withCryptsetup}"
+ "-Dportabled=${lib.boolToString withPortabled}"
+ "-Dhwdb=${lib.boolToString withHwdb}"
+ "-Dremote=${lib.boolToString withRemote}"
+ "-Dtimedated=${lib.boolToString withTimedated}"
+ "-Dtimesyncd=${lib.boolToString withTimesyncd}"
+ "-Duserdb=${lib.boolToString withUserDb}"
+ "-Dcoredump=${lib.boolToString withCoredump}"
+ "-Dfirstboot=false"
+ "-Dresolve=${lib.boolToString withResolved}"
+ "-Dsplit-usr=false"
+ "-Dlibcurl=${lib.boolToString wantCurl}"
+ "-Dlibidn=false"
+ "-Dlibidn2=${lib.boolToString withLibidn2}"
+ "-Dfirstboot=${lib.boolToString withFirstboot}"
+ "-Dsysusers=${lib.boolToString withSysusers}"
+ "-Drepart=${lib.boolToString withRepart}"
+ "-Dsysupdate=${lib.boolToString withSysupdate}"
+ "-Dquotacheck=false"
+ "-Dldconfig=false"
+ "-Dsmack=true"
+ "-Db_pie=true"
+ "-Dinstall-sysconfdir=false"
+ "-Dsbat-distro=nixos"
+ "-Dsbat-distro-summary=NixOS"
+ "-Dsbat-distro-url=https://nixos.org/"
+ "-Dsbat-distro-pkgname=${pname}"
+ "-Dsbat-distro-version=${version}"
/*
As of now, systemd doesn't allow runtime configuration of these values. So
the settings in /etc/login.defs have no effect on it. Many people think this
@@ -527,50 +526,49 @@ stdenv.mkDerivation (finalAttrs: {
- https://github.com/systemd/systemd/issues/9843
- https://github.com/systemd/systemd/issues/10184
*/
- (lib.mesonOption "system-uid-max" "999")
- (lib.mesonOption "system-gid-max" "999")
+ "-Dsystem-uid-max=999"
+ "-Dsystem-gid-max=999"
- (lib.mesonOption "sysvinit-path" "")
- (lib.mesonOption "sysvrcnd-path" "")
+ "-Dsysvinit-path="
+ "-Dsysvrcnd-path="
- (lib.mesonOption "sulogin-path" "${util-linux.login}/bin/sulogin")
- (lib.mesonOption "nologin-path" "${util-linux.login}/bin/nologin")
- (lib.mesonOption "mount-path" "${lib.getOutput "mount" util-linux}/bin/mount")
- (lib.mesonOption "umount-path" "${lib.getOutput "mount" util-linux}/bin/umount")
- (lib.mesonBool "create-log-dirs" false)
+ "-Dsulogin-path=${util-linux.login}/bin/sulogin"
+ "-Dnologin-path=${util-linux.login}/bin/nologin"
+ "-Dmount-path=${lib.getOutput "mount" util-linux}/bin/mount"
+ "-Dumount-path=${lib.getOutput "mount" util-linux}/bin/umount"
+ "-Dcreate-log-dirs=false"
# Use cgroupsv2. This is already the upstream default, but better be explicit.
- (lib.mesonOption "default-hierarchy" "unified")
+ "-Ddefault-hierarchy=unified"
# Upstream defaulted to disable manpages since they optimize for the much
# more frequent development builds
- (lib.mesonBool "man" true)
+ "-Dman=true"
- (lib.mesonBool "efi" withEfi)
- (lib.mesonBool "bootloader" withBootloader)
+ "-Defi=${lib.boolToString withEfi}"
+ "-Dbootloader=${lib.boolToString withBootloader}"
- (lib.mesonBool "ukify" withUkify)
+ "-Dukify=${lib.boolToString withUkify}"
] ++ lib.optionals (withShellCompletions == false) [
- (lib.mesonOption "bashcompletiondir" "no")
- (lib.mesonOption "zshcompletiondir" "no")
+ "-Dbashcompletiondir=no"
+ "-Dzshcompletiondir=no"
] ++ lib.optionals (!withNss) [
- (lib.mesonBool "nss-myhostname" false)
- (lib.mesonBool "nss-mymachines" false)
- (lib.mesonBool "nss-resolve" false)
- (lib.mesonBool "nss-systemd" false)
+ "-Dnss-myhostname=false"
+ "-Dnss-mymachines=false"
+ "-Dnss-resolve=false"
+ "-Dnss-systemd=false"
] ++ lib.optionals withLibBPF [
- (lib.mesonBool "bpf-framework" true)
+ "-Dbpf-framework=true"
] ++ lib.optionals withTpm2Tss [
- (lib.mesonBool "tpm2" true)
+ "-Dtpm2=true"
] ++ lib.optionals (!withUtmp) [
- (lib.mesonBool "utmp" false)
+ "-Dutmp=false"
] ++ lib.optionals stdenv.hostPlatform.isMusl [
- (lib.mesonBool "gshadow" false)
- (lib.mesonBool "idn" false)
+ "-Dgshadow=false"
+ "-Didn=false"
] ++ lib.optionals withKmod [
- (lib.mesonBool "kmod" true)
- (lib.mesonOption "kmod-path" "${kmod}/bin/kmod")
+ "-Dkmod=true"
+ "-Dkmod-path=${kmod}/bin/kmod"
];
-
preConfigure =
let
# A list of all the runtime binaries that the systemd executables, tests and libraries are referencing in their source code, scripts and unit files.