summaryrefslogtreecommitdiffstats
path: root/lib/Xconfig
diff options
context:
space:
mode:
authorMartin Whitaker <mageia@martin-whitaker.me.uk>2025-12-27 12:02:54 +0000
committerMartin Whitaker <mageia@martin-whitaker.me.uk>2025-12-27 12:06:07 +0000
commit18315811d8a2143fc397c13ecf99e000c06c04ff (patch)
tree38a417a24aa2c24085ac2d6d9449e79fa47b627e /lib/Xconfig
parent8e6f9055b8433a2d91452d6ba680835552433e72 (diff)
downloaddrakx-kbd-mouse-x11-master.tar
drakx-kbd-mouse-x11-master.tar.gz
drakx-kbd-mouse-x11-master.tar.bz2
drakx-kbd-mouse-x11-master.tar.xz
drakx-kbd-mouse-x11-master.zip
Fix setting systemd default.target to requested runlevel.HEADmaster
systemd no longer has direct runlevel targets. So map run level 5 to graphical.target and all other levels to multi-user.target.
Diffstat (limited to 'lib/Xconfig')
-rw-r--r--lib/Xconfig/various.pm6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/Xconfig/various.pm b/lib/Xconfig/various.pm
index d19d62b..14ef888 100644
--- a/lib/Xconfig/various.pm
+++ b/lib/Xconfig/various.pm
@@ -270,7 +270,7 @@ sub runlevel {
if ($o_runlevel) {
log::l("setting runlevel to $o_runlevel");
substInFile { s/^id:\d:initdefault:\s*$/id:$o_runlevel:initdefault:\n/ } $f if !$::testing;
- my $t = "/lib/systemd/system/runlevel$o_runlevel.target";
+ my $t = '/lib/systemd/system/' . ($o_runlevel == 5 ? 'graphical.target' : 'multi-user.target');
if (!$::testing && -f "$::prefix$t") {
my $d = "$::prefix/etc/systemd/system/default.target";
unlink($d);
@@ -278,7 +278,9 @@ sub runlevel {
}
} else {
cat_($f) =~ /^id:(\d):initdefault:\s*$/m && return $1;
- readlink("$::prefix/etc/systemd/system/default.target") =~ /runlevel(\d).target/m && return $1;
+ my $link = readlink("$::prefix/etc/systemd/system/default.target") ||
+ readlink("$::prefix/lib/systemd/system/default.target");
+ return $link =~ /graphical.target/m ? 5 : 3;
}
}