diff -Nur e-smith-base-5.8.0.old/createlinks e-smith-base-5.8.0/createlinks --- e-smith-base-5.8.0.old/createlinks 2021-02-18 12:02:54.209000000 -0500 +++ e-smith-base-5.8.0/createlinks 2021-02-18 13:17:16.830000000 -0500 @@ -305,7 +305,6 @@ templates2events("/home/e-smith/ssl.pem/pem", $event); templates2events("/usr/lib/systemd/system/dhcpd.service.d/50koozali.conf", $event); event_link("fix-startup", $event, "05"); -event_link("systemd-default", $event, "05"); event_link("rotate_timestamped_logfiles", $event, "05"); event_link("init-accounts", $event, "05"); event_link("set-hostname", $event, "10"); @@ -319,6 +318,7 @@ event_link("conf-modules", $event, "30"); event_link("create-mnt-floppy", $event, "50"); event_link("conf-routes", $event, "89"); +event_link("systemd-default", $event, "88"); event_link("systemd-isolate", $event, "89"); event_link("systemd-reload", $event, "89"); @@ -336,11 +336,11 @@ templates2events("/etc/smartd.conf", $event); templates2events("/home/e-smith/ssl.pem/pem", $event); -event_link("systemd-default", $event, "05"); event_link("set-hostname", $event, "10"); event_link("user-rsshd", $event, "16"); event_link("conf-modules", $event, "30"); event_link("conf-startup", $event, "60"); +event_link("systemd-default", $event, "88"); event_link("systemd-reload", $event, "89"); event_link("reset-unsavedflag", $event, "95"); @@ -355,12 +355,12 @@ templates2events("/etc/smartd.conf", $event); templates2events("/home/e-smith/ssl.pem/pem", $event); -event_link("systemd-default", $event, "05"); event_link("rmmod-bonding", $event, "10"); event_link("set-hostname", $event, "10"); event_link("user-rsshd", $event, "16"); event_link("conf-modules", $event, "30"); event_link("conf-startup", $event, "60"); +event_link("systemd-default", $event, "88"); event_link("conf-routes", $event, "89"); event_link("systemd-reload", $event, "89"); event_link("reset-unsavedflag", $event, "95"); @@ -372,9 +372,9 @@ templates2events("/etc/nsswitch.conf", $event); templates2events("/etc/pam.d/system-auth", $event); -event_link("systemd-default", $event, "05"); event_link("user-lock-passwd", $event, "15"); event_link("user-modify-unix", $event, "15"); +event_link("systemd-default", $event, "88"); event_link("systemd-reload", $event, "89"); #-------------------------------------------------- @@ -407,7 +407,6 @@ $event = "halt"; -event_link("systemd-default", $event, "05"); event_link("halt", $event, "70"); #-------------------------------------------------- @@ -443,7 +442,6 @@ templates2events("/usr/lib/systemd/system/dhcpd.service.d/50koozali.conf", $event); event_link("fix-startup", $event, "05"); -event_link("systemd-default", $event, "05"); event_link("rotate_timestamped_logfiles", $event, "05"); event_link("init-accounts", $event, "05"); event_link("init-passwords", $event, "10"); @@ -451,6 +449,7 @@ event_link("user-rsshd", $event, "16"); event_link("conf-modules", $event, "30"); event_link("create-mnt-floppy", $event, "50"); +event_link("systemd-default", $event, "88"); event_link("systemd-reload", $event, "89"); #-------------------------------------------------- @@ -461,7 +460,6 @@ templates2events("/usr/lib/systemd/system/dhcpd.service.d/50koozali.conf", $event); event_link("fix-startup", $event, "05"); -event_link("systemd-default", $event, "05"); event_link("rotate_timestamped_logfiles", $event, "05"); event_link("init-accounts", $event, "05"); event_link("conf-startup", $event, "10"); @@ -473,6 +471,7 @@ event_link("conf-modules", $event, "30"); event_link("create-mnt-floppy", $event, "50"); event_link("copy-anaconda-logs", $event, "90"); +event_link("systemd-default", $event, "88"); event_link("systemd-reload", $event, "89"); #-------------------------------------------------- @@ -481,7 +480,6 @@ $event = "reboot"; -event_link("systemd-default", $event, "05"); safe_symlink("stop", "root/etc/e-smith/events/$event/services2adjust/wan"); event_link("reboot", $event, "99"); @@ -492,6 +490,8 @@ $event = "remoteaccess-update"; safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/dhcpd"); +event_link("systemd-default", $event, "88"); +event_link("systemd-reload", $event, "89"); #-------------------------------------------------- # actions for user-create event @@ -613,6 +613,16 @@ # important one), and restart server #-------------------------------------------------- $event = "email-update"; +event_link("systemd-default", $event, "88"); +event_link("systemd-reload", $event, "89"); + +#-------------------------------------------------- +# actions for webapps-update event +#-------------------------------------------------- + +$event = "webapps-update"; +event_link("systemd-default", $event, "88"); +event_link("systemd-reload", $event, "89"); # Set up links to daemontools. @@ -648,6 +658,13 @@ or die "Can't symlink to root/usr/lib/systemd/system/$target.target.wants/$unit: $!"; } } + +foreach my $target (qw(halt reboot shutdown)) +{ + $unit="bootstrap-fix.service"; + safe_symlink("../$unit", "root/usr/lib/systemd/system/$target.target.wants/$unit"); +} + $unit="bootstrap-console.service"; $target="basic"; symlink("../$unit", diff -Nur e-smith-base-5.8.0.old/root/etc/e-smith/events/actions/systemd-default e-smith-base-5.8.0/root/etc/e-smith/events/actions/systemd-default --- e-smith-base-5.8.0.old/root/etc/e-smith/events/actions/systemd-default 2021-02-18 12:02:54.192000000 -0500 +++ e-smith-base-5.8.0/root/etc/e-smith/events/actions/systemd-default 2021-02-18 12:10:24.588000000 -0500 @@ -22,6 +22,19 @@ my %files; my @WantedBy; +# expand preset file +esmith::templates::processTemplate({ + MORE_DATA => { }, + TEMPLATE_PATH => $filename, + OUTPUT_FILENAME => $filename, + }); +# expand content of sme-server.target.d +esmith::templates::processTemplate({ + MORE_DATA => { }, + TEMPLATE_PATH => $filename2, + OUTPUT_FILENAME => $filename2, + }); + # make sure our target is enabled system("/usr/bin/systemctl enable sme-server.target"); # force the main default target in /usr/lib @@ -38,6 +51,7 @@ die("Can't create symlink \"$new_qfn\": $!\n"); } } + # we let the dedicated systemd command tryin to do what we will do later in this script # as up to systemd 236 it is bugged see: # https://github.com/systemd/systemd/pull/7158 and https://github.com/systemd/systemd/pull/7289 @@ -45,19 +59,6 @@ # in case preset-all messed up with our default target system("/usr/bin/systemctl set-default sme-server.target"); - -esmith::templates::processTemplate({ - MORE_DATA => { }, - TEMPLATE_PATH => $filename, - OUTPUT_FILENAME => $filename, - }); -esmith::templates::processTemplate({ - MORE_DATA => { }, - TEMPLATE_PATH => $filename2, - OUTPUT_FILENAME => $filename2, - }); - - # list both preset directories # seek files to be removed from usr/lib if same basename exist foreach my $d (@presetdirpaths) { @@ -165,7 +166,6 @@ } } - # and we add wanted enabled services # we only do it for sme-server.target, ignoring the remaining of WantedBy foreach my $service (sort keys %services) { @@ -183,8 +183,6 @@ } } - - # do something about /usr/lib/systemd/system/sme-server.target.wants/ # we check for rpm owned and not rpm owned # we only inform there, we do not do anything else diff -Nur e-smith-base-5.8.0.old/root/sbin/e-smith/bootstrap-console e-smith-base-5.8.0/root/sbin/e-smith/bootstrap-console --- e-smith-base-5.8.0.old/root/sbin/e-smith/bootstrap-console 2021-02-18 12:02:53.985000000 -0500 +++ e-smith-base-5.8.0/root/sbin/e-smith/bootstrap-console 2021-02-18 12:07:44.266000000 -0500 @@ -51,11 +51,6 @@ esmith::console::save_config->new->doit($console, $db); } -$ARGV[0] = 'tty'; -$console = esmith::console->new(); -use esmith::console::startup; -esmith::console::startup->new->doit($console,$db); - system("/usr/bin/tput", "clear"); exit (0); diff -Nur e-smith-base-5.8.0.old/root/usr/lib/systemd/system/bootstrap-fix.service e-smith-base-5.8.0/root/usr/lib/systemd/system/bootstrap-fix.service --- e-smith-base-5.8.0.old/root/usr/lib/systemd/system/bootstrap-fix.service 1969-12-31 19:00:00.000000000 -0500 +++ e-smith-base-5.8.0/root/usr/lib/systemd/system/bootstrap-fix.service 2021-02-18 13:01:09.688000000 -0500 @@ -0,0 +1,13 @@ +[Unit] +Description=SME server bootup fix +DefaultDependencies=no + +[Service] +Environment=HOME=/root +WorkingDirectory=/root +ExecStart=/etc/e-smith/events/actions/systemd-default +Type=oneshot + +[Install] +WantedBy=basic.target reboot.target shutdown.target halt.target +