Drop support for SysV rc-local script support
As already announced for several years.
This commit is contained in:
@@ -172,9 +172,6 @@ pstore:
|
|||||||
random-seed:
|
random-seed:
|
||||||
- changed-files:
|
- changed-files:
|
||||||
- any-glob-to-any-file: '**/*random-seed*'
|
- any-glob-to-any-file: '**/*random-seed*'
|
||||||
rc-local-generator:
|
|
||||||
- changed-files:
|
|
||||||
- any-glob-to-any-file: 'src/rc-local-generator/*'
|
|
||||||
remount-fs:
|
remount-fs:
|
||||||
- changed-files:
|
- changed-files:
|
||||||
- any-glob-to-any-file: '**/*remount-fs*'
|
- any-glob-to-any-file: '**/*remount-fs*'
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ You need to make the follow changes to adapt systemd to your distribution:
|
|||||||
|
|
||||||
1. Find the right configure parameters for:
|
1. Find the right configure parameters for:
|
||||||
|
|
||||||
* `-Drc-local=`
|
|
||||||
* `-Dloadkeys-path=`
|
* `-Dloadkeys-path=`
|
||||||
* `-Dsetfont-path=`
|
* `-Dsetfont-path=`
|
||||||
* `-Dtty-gid=`
|
* `-Dtty-gid=`
|
||||||
|
|||||||
@@ -12,7 +12,6 @@
|
|||||||
<!ENTITY KILL_USER_PROCESSES "{{ 'yes' if KILL_USER_PROCESSES else 'no' }}">
|
<!ENTITY KILL_USER_PROCESSES "{{ 'yes' if KILL_USER_PROCESSES else 'no' }}">
|
||||||
<!ENTITY JOURNAL_STORAGE_DEFAULT "{{JOURNAL_STORAGE_DEFAULT}}">
|
<!ENTITY JOURNAL_STORAGE_DEFAULT "{{JOURNAL_STORAGE_DEFAULT}}">
|
||||||
<!ENTITY DEBUGTTY "{{DEBUGTTY}}">
|
<!ENTITY DEBUGTTY "{{DEBUGTTY}}">
|
||||||
<!ENTITY SYSTEM_SYSVRCLOCAL_PATH "{{SYSTEM_SYSVRCLOCAL_PATH}}">
|
|
||||||
<!ENTITY HIGH_RLIMIT_NOFILE "{{HIGH_RLIMIT_NOFILE}}">
|
<!ENTITY HIGH_RLIMIT_NOFILE "{{HIGH_RLIMIT_NOFILE}}">
|
||||||
<!ENTITY DEFAULT_DNSSEC_MODE "{{DEFAULT_DNSSEC_MODE_STR}}">
|
<!ENTITY DEFAULT_DNSSEC_MODE "{{DEFAULT_DNSSEC_MODE_STR}}">
|
||||||
<!ENTITY DEFAULT_DNS_OVER_TLS_MODE "{{DEFAULT_DNS_OVER_TLS_MODE_STR}}">
|
<!ENTITY DEFAULT_DNS_OVER_TLS_MODE "{{DEFAULT_DNS_OVER_TLS_MODE_STR}}">
|
||||||
|
|||||||
@@ -1130,10 +1130,6 @@ manpages = [
|
|||||||
'8',
|
'8',
|
||||||
['systemd-random-seed'],
|
['systemd-random-seed'],
|
||||||
'ENABLE_RANDOMSEED'],
|
'ENABLE_RANDOMSEED'],
|
||||||
['systemd-rc-local-generator',
|
|
||||||
'8',
|
|
||||||
['rc-local.service'],
|
|
||||||
'HAVE_SYSV_RC_LOCAL'],
|
|
||||||
['systemd-remount-fs.service', '8', ['systemd-remount-fs'], ''],
|
['systemd-remount-fs.service', '8', ['systemd-remount-fs'], ''],
|
||||||
['systemd-repart', '8', ['systemd-repart.service'], 'ENABLE_REPART'],
|
['systemd-repart', '8', ['systemd-repart.service'], 'ENABLE_REPART'],
|
||||||
['systemd-resolved.service', '8', ['systemd-resolved'], 'ENABLE_RESOLVE'],
|
['systemd-resolved.service', '8', ['systemd-resolved'], 'ENABLE_RESOLVE'],
|
||||||
|
|||||||
@@ -1,80 +0,0 @@
|
|||||||
<?xml version='1.0'?>
|
|
||||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
||||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
||||||
<!ENTITY % entities SYSTEM "custom-entities.ent" >
|
|
||||||
%entities;
|
|
||||||
]>
|
|
||||||
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
|
|
||||||
|
|
||||||
<refentry id="systemd-rc-local-generator" conditional='HAVE_SYSV_RC_LOCAL'>
|
|
||||||
<refentryinfo>
|
|
||||||
<title>systemd-rc-local-generator</title>
|
|
||||||
<productname>systemd</productname>
|
|
||||||
</refentryinfo>
|
|
||||||
|
|
||||||
<refmeta>
|
|
||||||
<refentrytitle>systemd-rc-local-generator</refentrytitle>
|
|
||||||
<manvolnum>8</manvolnum>
|
|
||||||
</refmeta>
|
|
||||||
|
|
||||||
<refnamediv>
|
|
||||||
<refname>systemd-rc-local-generator</refname>
|
|
||||||
<refname>rc-local.service</refname>
|
|
||||||
<refpurpose>Compatibility generator and service to start <filename>&SYSTEM_SYSVRCLOCAL_PATH;</filename> during boot</refpurpose>
|
|
||||||
</refnamediv>
|
|
||||||
|
|
||||||
<refsynopsisdiv>
|
|
||||||
<para><filename>/usr/lib/systemd/system-generators/systemd-rc-local-generator</filename></para>
|
|
||||||
<para><filename>rc-local.service</filename></para>
|
|
||||||
</refsynopsisdiv>
|
|
||||||
|
|
||||||
<refsect1>
|
|
||||||
<title>Description</title>
|
|
||||||
|
|
||||||
<para><command>systemd-rc-local-generator</command> is a generator that checks whether
|
|
||||||
<filename>&SYSTEM_SYSVRCLOCAL_PATH;</filename> exists and is executable, and if it is, pulls the
|
|
||||||
<filename>rc-local.service</filename> unit into the boot process. This unit is responsible for running
|
|
||||||
this script during late boot. The script is run after <filename>network.target</filename>, but in
|
|
||||||
parallel with most other regular system services.</para>
|
|
||||||
|
|
||||||
<para>Note that <filename>rc-local.service</filename> runs with slightly different semantics than the
|
|
||||||
original System V version, which was executed "last" in the boot process, which is a concept that does
|
|
||||||
not translate to systemd.</para>
|
|
||||||
|
|
||||||
<para>Also note that <filename>rc-local.service</filename> is ordered after
|
|
||||||
<filename>network.target</filename>, which does not mean that the network is functional, see
|
|
||||||
<citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
|
|
||||||
If the script requires a configured network connection, it may be desirable to pull in and order it after
|
|
||||||
<filename>network-online.target</filename> with a drop-in:</para>
|
|
||||||
|
|
||||||
<programlisting># /etc/systemd/system/rc-local.service.d/network.conf
|
|
||||||
[Unit]
|
|
||||||
Wants=network-online.target
|
|
||||||
After=network-online.target
|
|
||||||
</programlisting>
|
|
||||||
|
|
||||||
<para>Support for <filename>&SYSTEM_SYSVRCLOCAL_PATH;</filename> is provided for compatibility with specific
|
|
||||||
System V systems only. However, it is strongly recommended to avoid using this script today, and instead
|
|
||||||
provide proper unit files with appropriate dependencies for any scripts to run during the boot process.
|
|
||||||
Note that the path to the script is set at compile time and varies between distributions.</para>
|
|
||||||
|
|
||||||
<para><filename>systemd-rc-local-generator</filename> implements
|
|
||||||
<citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
|
|
||||||
</refsect1>
|
|
||||||
|
|
||||||
<refsect1>
|
|
||||||
<title>Notes</title>
|
|
||||||
|
|
||||||
<para>On systems with SELinux, when creating the file, make sure to set the appropriate context, e.g.
|
|
||||||
with "<command>sudo restorecon -v &SYSTEM_SYSVRCLOCAL_PATH;</command>".
|
|
||||||
</para>
|
|
||||||
</refsect1>
|
|
||||||
|
|
||||||
<refsect1>
|
|
||||||
<title>See Also</title>
|
|
||||||
<para><simplelist type="inline">
|
|
||||||
<member><citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry></member>
|
|
||||||
<member><citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry></member>
|
|
||||||
</simplelist></para>
|
|
||||||
</refsect1>
|
|
||||||
</refentry>
|
|
||||||
@@ -405,7 +405,6 @@ find $dir</programlisting>
|
|||||||
<member><citerefentry><refentrytitle>systemd-getty-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
|
<member><citerefentry><refentrytitle>systemd-getty-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
|
||||||
<member><citerefentry><refentrytitle>systemd-gpt-auto-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
|
<member><citerefentry><refentrytitle>systemd-gpt-auto-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
|
||||||
<member><citerefentry><refentrytitle>systemd-hibernate-resume-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
|
<member><citerefentry><refentrytitle>systemd-hibernate-resume-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
|
||||||
<member><citerefentry><refentrytitle>systemd-rc-local-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
|
|
||||||
<member><citerefentry><refentrytitle>systemd-system-update-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
|
<member><citerefentry><refentrytitle>systemd-system-update-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
|
||||||
<member><citerefentry><refentrytitle>systemd-xdg-autostart-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
|
<member><citerefentry><refentrytitle>systemd-xdg-autostart-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
|
||||||
<member><citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry></member>
|
<member><citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry></member>
|
||||||
|
|||||||
@@ -90,8 +90,6 @@ conf.set10('HAVE_SPLIT_BIN', split_bin,
|
|||||||
|
|
||||||
have_standalone_binaries = get_option('standalone-binaries')
|
have_standalone_binaries = get_option('standalone-binaries')
|
||||||
|
|
||||||
sysvrclocal_path = get_option('rc-local')
|
|
||||||
conf.set10('HAVE_SYSV_RC_LOCAL', sysvrclocal_path != '')
|
|
||||||
conf.set10('CREATE_LOG_DIRS', get_option('create-log-dirs'))
|
conf.set10('CREATE_LOG_DIRS', get_option('create-log-dirs'))
|
||||||
|
|
||||||
if get_option('hibernate') and not get_option('initrd')
|
if get_option('hibernate') and not get_option('initrd')
|
||||||
@@ -299,7 +297,6 @@ conf.set_quoted('SYSTEM_GENERATOR_DIR', systemgeneratordir
|
|||||||
conf.set_quoted('SYSTEM_PRESET_DIR', systempresetdir)
|
conf.set_quoted('SYSTEM_PRESET_DIR', systempresetdir)
|
||||||
conf.set_quoted('SYSTEM_SHUTDOWN_PATH', systemshutdowndir)
|
conf.set_quoted('SYSTEM_SHUTDOWN_PATH', systemshutdowndir)
|
||||||
conf.set_quoted('SYSTEM_SLEEP_PATH', systemsleepdir)
|
conf.set_quoted('SYSTEM_SLEEP_PATH', systemsleepdir)
|
||||||
conf.set_quoted('SYSTEM_SYSVRCLOCAL_PATH', sysvrclocal_path)
|
|
||||||
conf.set_quoted('SYSUSERS_DIR', sysusersdir)
|
conf.set_quoted('SYSUSERS_DIR', sysusersdir)
|
||||||
conf.set_quoted('TMPFILES_DIR', tmpfilesdir)
|
conf.set_quoted('TMPFILES_DIR', tmpfilesdir)
|
||||||
conf.set_quoted('USER_TMPFILES_DIR', usertmpfilesdir)
|
conf.set_quoted('USER_TMPFILES_DIR', usertmpfilesdir)
|
||||||
@@ -2401,7 +2398,6 @@ subdir('src/pstore')
|
|||||||
subdir('src/ptyfwd')
|
subdir('src/ptyfwd')
|
||||||
subdir('src/quotacheck')
|
subdir('src/quotacheck')
|
||||||
subdir('src/random-seed')
|
subdir('src/random-seed')
|
||||||
subdir('src/rc-local-generator')
|
|
||||||
subdir('src/remount-fs')
|
subdir('src/remount-fs')
|
||||||
subdir('src/repart')
|
subdir('src/repart')
|
||||||
subdir('src/reply-password')
|
subdir('src/reply-password')
|
||||||
@@ -3022,7 +3018,6 @@ summary({
|
|||||||
'sysconf directory' : sysconfdir,
|
'sysconf directory' : sysconfdir,
|
||||||
'include directory' : includedir,
|
'include directory' : includedir,
|
||||||
'lib directory' : libdir,
|
'lib directory' : libdir,
|
||||||
'SysV rc.local script' : sysvrclocal_path,
|
|
||||||
'PAM modules directory' : pamlibdir,
|
'PAM modules directory' : pamlibdir,
|
||||||
'PAM configuration directory' : pamconfdir,
|
'PAM configuration directory' : pamconfdir,
|
||||||
'ssh server configuration directory' : sshdconfdir,
|
'ssh server configuration directory' : sshdconfdir,
|
||||||
|
|||||||
+1
-1
@@ -45,7 +45,7 @@ option('sysvinit-path', type : 'string', value : '/etc/init.d', deprecated : tru
|
|||||||
description : 'This option is deprecated and will be removed in a future release')
|
description : 'This option is deprecated and will be removed in a future release')
|
||||||
option('sysvrcnd-path', type : 'string', value : '/etc/rc.d', deprecated : true,
|
option('sysvrcnd-path', type : 'string', value : '/etc/rc.d', deprecated : true,
|
||||||
description : 'This option is deprecated and will be removed in a future release')
|
description : 'This option is deprecated and will be removed in a future release')
|
||||||
option('rc-local', type : 'string', value : '/etc/rc.local',
|
option('rc-local', type : 'string', value : '/etc/rc.local', deprecated : true,
|
||||||
description : 'path to SysV rc.local script')
|
description : 'path to SysV rc.local script')
|
||||||
option('initrd', type : 'boolean',
|
option('initrd', type : 'boolean',
|
||||||
description : 'install services for use when running systemd in initrd')
|
description : 'install services for use when running systemd in initrd')
|
||||||
|
|||||||
@@ -16,6 +16,5 @@ VolatilePackages=
|
|||||||
systemd-networkd-debuginfo
|
systemd-networkd-debuginfo
|
||||||
systemd-portable-debuginfo
|
systemd-portable-debuginfo
|
||||||
systemd-resolved-debuginfo
|
systemd-resolved-debuginfo
|
||||||
systemd-sysvcompat-debuginfo
|
|
||||||
systemd-testsuite-debuginfo
|
systemd-testsuite-debuginfo
|
||||||
udev-debuginfo
|
udev-debuginfo
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ while read -r filelist; do
|
|||||||
-e '/(initctl|runlevel|telinit)/ d' \
|
-e '/(initctl|runlevel|telinit)/ d' \
|
||||||
-e 's/systemd-quotacheck.service.8/systemd-quotacheck@.service.8/' \
|
-e 's/systemd-quotacheck.service.8/systemd-quotacheck@.service.8/' \
|
||||||
-e '/systemd-sysv-generator/d' \
|
-e '/systemd-sysv-generator/d' \
|
||||||
|
-e '/rc-local/d' \
|
||||||
"$filelist" >"/tmp/$(basename "$filelist")"
|
"$filelist" >"/tmp/$(basename "$filelist")"
|
||||||
mount --bind "/tmp/$(basename "$filelist")" "$filelist"
|
mount --bind "/tmp/$(basename "$filelist")" "$filelist"
|
||||||
done < <(find "pkg/$PKG_SUBDIR${GIT_SUBDIR:+/$GIT_SUBDIR}" -name "files.*")
|
done < <(find "pkg/$PKG_SUBDIR${GIT_SUBDIR:+/$GIT_SUBDIR}" -name "files.*")
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
||||||
|
|
||||||
executables += [
|
|
||||||
generator_template + {
|
|
||||||
'name' : 'systemd-rc-local-generator',
|
|
||||||
'sources' : files('rc-local-generator.c'),
|
|
||||||
'conditions' : [
|
|
||||||
'HAVE_SYSV_RC_LOCAL',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
]
|
|
||||||
@@ -1,74 +0,0 @@
|
|||||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
|
||||||
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
#include "generator.h"
|
|
||||||
#include "initrd-util.h"
|
|
||||||
#include "log.h"
|
|
||||||
#include "mkdir-label.h"
|
|
||||||
#include "string-util.h"
|
|
||||||
|
|
||||||
static const char *arg_dest = NULL;
|
|
||||||
|
|
||||||
/* So you are reading this, and might wonder: why is this implemented as a generator rather than as a plain, statically
|
|
||||||
* enabled service that carries appropriate ConditionFileIsExecutable= lines? The answer is this: conditions bypass
|
|
||||||
* execution of a service's binary, but they have no influence on unit dependencies. Thus, a service that is
|
|
||||||
* conditioned out will still act as synchronization point in the dependency tree, and we'd rather not have that for
|
|
||||||
* these two legacy scripts. */
|
|
||||||
|
|
||||||
static int add_symlink(const char *service, const char *where) {
|
|
||||||
const char *from, *to;
|
|
||||||
|
|
||||||
assert(service);
|
|
||||||
assert(where);
|
|
||||||
|
|
||||||
from = strjoina(SYSTEM_DATA_UNIT_DIR "/", service);
|
|
||||||
to = strjoina(arg_dest, "/", where, ".wants/", service);
|
|
||||||
|
|
||||||
(void) mkdir_parents_label(to, 0755);
|
|
||||||
|
|
||||||
if (symlink(from, to) < 0) {
|
|
||||||
if (errno == EEXIST)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
return log_error_errno(errno, "Failed to create symlink %s: %m", to);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int check_executable(const char *path) {
|
|
||||||
assert(path);
|
|
||||||
|
|
||||||
if (access(path, X_OK) < 0) {
|
|
||||||
if (errno == ENOENT)
|
|
||||||
return log_debug_errno(errno, "%s does not exist, skipping.", path);
|
|
||||||
if (errno == EACCES)
|
|
||||||
return log_info_errno(errno, "%s is not marked executable, skipping.", path);
|
|
||||||
|
|
||||||
return log_warning_errno(errno, "Couldn't determine if %s exists and is executable, skipping: %m", path);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int run(const char *dest, const char *dest_early, const char *dest_late) {
|
|
||||||
int r = 0, k = 0;
|
|
||||||
|
|
||||||
assert_se(arg_dest = dest);
|
|
||||||
|
|
||||||
if (in_initrd()) {
|
|
||||||
log_debug("Skipping generator, running in the initrd.");
|
|
||||||
return EXIT_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (check_executable(SYSTEM_SYSVRCLOCAL_PATH) >= 0) {
|
|
||||||
log_debug("Automatically adding rc-local.service.");
|
|
||||||
|
|
||||||
r = add_symlink("rc-local.service", "multi-user.target");
|
|
||||||
}
|
|
||||||
|
|
||||||
return r < 0 ? r : k;
|
|
||||||
}
|
|
||||||
|
|
||||||
DEFINE_MAIN_GENERATOR_FUNCTION(run);
|
|
||||||
@@ -29,8 +29,7 @@ fi
|
|||||||
for unit_file in "${UNIT_FILES[@]}"; do
|
for unit_file in "${UNIT_FILES[@]}"; do
|
||||||
# Skip the check for a couple of units, namely:
|
# Skip the check for a couple of units, namely:
|
||||||
# - syslog.socket: the corresponding syslog.service might not be installed
|
# - syslog.socket: the corresponding syslog.service might not be installed
|
||||||
# - rc-local.service: compat API, /etc/rc.d/rc.local most likely won't be present
|
if [[ "$unit_file" =~ /syslog.socket$ ]]; then
|
||||||
if [[ "$unit_file" =~ /(syslog.socket|rc-local.service)$ ]]; then
|
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -11,9 +11,6 @@
|
|||||||
Description=Console Getty
|
Description=Console Getty
|
||||||
Documentation=man:agetty(8) man:systemd-getty-generator(8)
|
Documentation=man:agetty(8) man:systemd-getty-generator(8)
|
||||||
After=systemd-user-sessions.service plymouth-quit-wait.service getty-pre.target
|
After=systemd-user-sessions.service plymouth-quit-wait.service getty-pre.target
|
||||||
{% if HAVE_SYSV_RC_LOCAL %}
|
|
||||||
After=rc-local.service
|
|
||||||
{% endif %}
|
|
||||||
Before=getty.target
|
Before=getty.target
|
||||||
|
|
||||||
# OCI containers may be run without a console
|
# OCI containers may be run without a console
|
||||||
|
|||||||
@@ -12,9 +12,6 @@ Description=Container Getty on /dev/pts/%I
|
|||||||
Documentation=man:agetty(8) man:systemd-getty-generator(8)
|
Documentation=man:agetty(8) man:systemd-getty-generator(8)
|
||||||
Documentation=man:machinectl(1)
|
Documentation=man:machinectl(1)
|
||||||
After=systemd-user-sessions.service plymouth-quit-wait.service getty-pre.target
|
After=systemd-user-sessions.service plymouth-quit-wait.service getty-pre.target
|
||||||
{% if HAVE_SYSV_RC_LOCAL %}
|
|
||||||
After=rc-local.service
|
|
||||||
{% endif %}
|
|
||||||
Before=getty.target
|
Before=getty.target
|
||||||
IgnoreOnIsolate=yes
|
IgnoreOnIsolate=yes
|
||||||
ConditionPathExists=/dev/pts/%I
|
ConditionPathExists=/dev/pts/%I
|
||||||
|
|||||||
@@ -12,9 +12,6 @@ Description=Getty on %I
|
|||||||
Documentation=man:agetty(8) man:systemd-getty-generator(8)
|
Documentation=man:agetty(8) man:systemd-getty-generator(8)
|
||||||
Documentation=https://0pointer.de/blog/projects/serial-console.html
|
Documentation=https://0pointer.de/blog/projects/serial-console.html
|
||||||
After=systemd-user-sessions.service plymouth-quit-wait.service getty-pre.target
|
After=systemd-user-sessions.service plymouth-quit-wait.service getty-pre.target
|
||||||
{% if HAVE_SYSV_RC_LOCAL %}
|
|
||||||
After=rc-local.service
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
# If additional gettys are spawned during boot then we should make
|
# If additional gettys are spawned during boot then we should make
|
||||||
# sure that this is synchronized before getty.target, even though
|
# sure that this is synchronized before getty.target, even though
|
||||||
|
|||||||
@@ -174,10 +174,6 @@ units = [
|
|||||||
'file' : 'quotaon-root.service.in',
|
'file' : 'quotaon-root.service.in',
|
||||||
'conditions' : ['ENABLE_QUOTACHECK'],
|
'conditions' : ['ENABLE_QUOTACHECK'],
|
||||||
},
|
},
|
||||||
{
|
|
||||||
'file' : 'rc-local.service.in',
|
|
||||||
'conditions' : ['HAVE_SYSV_RC_LOCAL'],
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
'file' : 'reboot.target',
|
'file' : 'reboot.target',
|
||||||
'symlinks' : ['ctrl-alt-del.target'],
|
'symlinks' : ['ctrl-alt-del.target'],
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
||||||
#
|
|
||||||
# This file is part of systemd.
|
|
||||||
#
|
|
||||||
# systemd is free software; you can redistribute it and/or modify it
|
|
||||||
# under the terms of the GNU Lesser General Public License as published by
|
|
||||||
# the Free Software Foundation; either version 2.1 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
|
|
||||||
# This unit gets pulled automatically into multi-user.target by
|
|
||||||
# systemd-rc-local-generator if {{SYSTEM_SYSVRCLOCAL_PATH}} is executable.
|
|
||||||
[Unit]
|
|
||||||
Description={{SYSTEM_SYSVRCLOCAL_PATH}} Compatibility
|
|
||||||
Documentation=man:systemd-rc-local-generator(8)
|
|
||||||
ConditionFileIsExecutable={{SYSTEM_SYSVRCLOCAL_PATH}}
|
|
||||||
After=network.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=forking
|
|
||||||
ExecStart={{SYSTEM_SYSVRCLOCAL_PATH}} start
|
|
||||||
TimeoutSec=infinity
|
|
||||||
RemainAfterExit=yes
|
|
||||||
GuessMainPID=no
|
|
||||||
@@ -13,9 +13,6 @@ Documentation=man:agetty(8) man:systemd-getty-generator(8)
|
|||||||
Documentation=https://0pointer.de/blog/projects/serial-console.html
|
Documentation=https://0pointer.de/blog/projects/serial-console.html
|
||||||
BindsTo=dev-%i.device
|
BindsTo=dev-%i.device
|
||||||
After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service getty-pre.target
|
After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service getty-pre.target
|
||||||
{% if HAVE_SYSV_RC_LOCAL %}
|
|
||||||
After=rc-local.service
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
# If additional gettys are spawned during boot then we should make
|
# If additional gettys are spawned during boot then we should make
|
||||||
# sure that this is synchronized before getty.target, even though
|
# sure that this is synchronized before getty.target, even though
|
||||||
|
|||||||
Reference in New Issue
Block a user