Merge pull request #16804 from keszybz/conditionals-and-spelling-fixes

Conditionals and spelling fixes
This commit is contained in:
Lennart Poettering 2020-08-21 13:36:30 +02:00 committed by GitHub
commit 9aab8d7a98
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
26 changed files with 124 additions and 71 deletions

4
TODO
View File

@ -541,7 +541,7 @@ Features:
directory trees from the host to the services RootImage= and RootDirectory=
environment. Which we can use for /etc/machine-id and in particular
/etc/resolv.conf. Should be smart and do something useful on read-only
images, for example fallback to read-only bind mounting the file instead.
images, for example fall back to read-only bind mounting the file instead.
* show invocation ID in systemd-run output
@ -1018,7 +1018,7 @@ Features:
- journald: also get thread ID from client, plus thread name
- journal: when waiting for journal additions in the client always sleep at least 1s or so, in order to minimize wakeups
- add API to close/reopen/get fd for journal client fd in libsystemd-journal.
- fallback to /dev/log based logging in libsystemd-journal, if we cannot log natively?
- fall back to /dev/log based logging in libsystemd-journal, if we cannot log natively?
- declare the local journal protocol stable in the wiki interface chart
- sd-journal: speed up sd_journal_get_data() with transparent hash table in bg
- journald: when dropping msgs due to ratelimit make sure to write

View File

@ -11,5 +11,14 @@ ninja -C "@BUILD_ROOT@" version.h
target="man/$1.html"
ninja -C "@BUILD_ROOT@" "$target"
fullname="@BUILD_ROOT@/$target"
redirect="$(readlink "$fullname" 2>/dev/null)"
if [ -n "$redirect" ]; then
ninja -C "@BUILD_ROOT@" "man/$redirect"
fullname="@BUILD_ROOT@/man/$redirect"
fi
set -x
exec xdg-open "@BUILD_ROOT@/$target"
exec xdg-open "$fullname"

View File

@ -16,4 +16,13 @@ if [ -z "$target" ]; then
exit 1
fi
ninja -C "@BUILD_ROOT@" "$target"
exec man "@BUILD_ROOT@/$target"
fullname="@BUILD_ROOT@/$target"
redirect="$(sed -n -r '1 s|^\.so man[0-9]/(.*)|\1|p' "$fullname")"
if [ -n "$redirect" ]; then
ninja -C "@BUILD_ROOT@" "man/$redirect"
fullname="@BUILD_ROOT@/man/$redirect"
fi
exec man "$fullname"

View File

@ -63,7 +63,7 @@ manpages = [
['repart.d', '5', [], 'ENABLE_REPART'],
['resolvectl', '1', ['resolvconf'], 'ENABLE_RESOLVE'],
['resolved.conf', '5', ['resolved.conf.d'], 'ENABLE_RESOLVE'],
['runlevel', '8', [], ''],
['runlevel', '8', [], 'HAVE_SYSV_COMPAT'],
['sd-bus-errors',
'3',
['SD_BUS_ERROR_ACCESS_DENIED',
@ -785,7 +785,7 @@ manpages = [
['shutdown', '8', [], ''],
['sysctl.d', '5', [], ''],
['systemctl', '1', [], ''],
['systemd-analyze', '1', [], ''],
['systemd-analyze', '1', [], 'ENABLE_ANALYZE'],
['systemd-ask-password-console.service',
'8',
['systemd-ask-password-console.path',
@ -818,7 +818,7 @@ manpages = [
['systemd-debug-generator', '8', [], ''],
['systemd-delta', '1', [], ''],
['systemd-detect-virt', '1', [], ''],
['systemd-dissect', '1', [], ''],
['systemd-dissect', '1', [], 'HAVE_BLKID'],
['systemd-environment-d-generator',
'8',
['30-systemd-environment-d-generator'],
@ -831,7 +831,7 @@ manpages = [
''],
['systemd-fstab-generator', '8', [], ''],
['systemd-getty-generator', '8', [], ''],
['systemd-gpt-auto-generator', '8', [], ''],
['systemd-gpt-auto-generator', '8', [], 'HAVE_BLKID'],
['systemd-halt.service',
'8',
['systemd-kexec.service',
@ -912,7 +912,7 @@ manpages = [
'8',
['systemd-random-seed'],
'ENABLE_RANDOMSEED'],
['systemd-rc-local-generator', '8', [], ''],
['systemd-rc-local-generator', '8', [], 'HAVE_SYSV_COMPAT'],
['systemd-remount-fs.service', '8', ['systemd-remount-fs'], ''],
['systemd-repart', '8', ['systemd-repart.service'], 'ENABLE_REPART'],
['systemd-resolved.service', '8', ['systemd-resolved'], 'ENABLE_RESOLVE'],
@ -1010,7 +1010,7 @@ manpages = [
['systemd.timer', '5', [], ''],
['systemd.unit', '5', [], ''],
['sysusers.d', '5', [], 'ENABLE_SYSUSERS'],
['telinit', '8', [], ''],
['telinit', '8', [], 'HAVE_SYSV_COMPAT'],
['timedatectl', '1', [], 'ENABLE_TIMEDATECTL'],
['timesyncd.conf', '5', ['timesyncd.conf.d'], 'ENABLE_TIMESYNCD'],
['tmpfiles.d', '5', [], ''],

View File

@ -3,7 +3,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="runlevel"
<refentry id="runlevel" conditional='HAVE_SYSV_COMPAT'
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
@ -159,5 +159,4 @@
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
</para>
</refsect1>
</refentry>

View File

@ -3,7 +3,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="systemd-analyze"
<refentry id="systemd-analyze" conditional='ENABLE_ANALYZE'
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>

View File

@ -3,7 +3,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="systemd-dissect"
<refentry id="systemd-dissect" conditional='HAVE_BLKID'
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>

View File

@ -1,9 +1,9 @@
<?xml version="1.0"?>
<!--*-nxml-*-->
<?xml version="1.0"?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="systemd-gpt-auto-generator">
<refentry id="systemd-gpt-auto-generator" conditional='HAVE_BLKID'>
<refentryinfo>
<title>systemd-gpt-auto-generator</title>

View File

@ -3,8 +3,7 @@
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="systemd-rc-local-generator">
<refentry id="systemd-rc-local-generator" conditional='HAVE_SYSV_COMPAT'>
<refentryinfo>
<title>systemd-rc-local-generator</title>
<productname>systemd</productname>
@ -51,5 +50,4 @@
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
</para>
</refsect1>
</refentry>

View File

@ -3,7 +3,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="telinit"
<refentry id="telinit" conditional='HAVE_SYSV_COMPAT'
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
@ -148,5 +148,4 @@
<citerefentry project='man-pages'><refentrytitle>wall</refentrytitle><manvolnum>1</manvolnum></citerefentry>
</para>
</refsect1>
</refentry>

View File

@ -791,7 +791,7 @@ tty_gid = get_option('tty-gid')
conf.set('TTY_GID', tty_gid)
substs.set('TTY_GID', tty_gid)
# Ensure provided GID argument is numeric, otherwise fallback to default assignment
# Ensure provided GID argument is numeric, otherwise fall back to default assignment
users_gid = get_option('users-gid')
substs.set('USERS_GID', users_gid < 0 ? '-' : users_gid)
@ -1415,42 +1415,43 @@ else
endif
conf.set10('ENABLE_REMOTE', have)
foreach term : ['utmp',
'hibernate',
'environment-d',
foreach term : ['analyze',
'backlight',
'binfmt',
'coredump',
'pstore',
'resolve',
'logind',
'efi',
'environment-d',
'firstboot',
'gshadow',
'hibernate',
'hostnamed',
'hwdb',
'idn',
'ima',
'initrd',
'ldconfig',
'localed',
'logind',
'machined',
'portabled',
'userdb',
'networkd',
'nss-myhostname',
'nss-systemd',
'portabled',
'pstore',
'quotacheck',
'randomseed',
'resolve',
'rfkill',
'smack',
'sysusers',
'timedated',
'timesyncd',
'firstboot',
'randomseed',
'backlight',
'vconsole',
'quotacheck',
'sysusers',
'tmpfiles',
'hwdb',
'rfkill',
'xdg-autostart',
'ldconfig',
'efi',
'tpm',
'ima',
'smack',
'gshadow',
'idn',
'initrd',
'nss-myhostname',
'nss-systemd']
'userdb',
'utmp',
'vconsole',
'xdg-autostart']
have = get_option(term)
name = 'ENABLE_' + term.underscorify().to_upper()
conf.set10(name, have)
@ -1767,7 +1768,7 @@ public_programs += executable(
libmount,
libblkid],
install_rpath : rootlibexecdir,
install : get_option('analyze'))
install : conf.get('ENABLE_ANALYZE'))
executable(
'systemd-journald',
@ -3681,7 +3682,7 @@ foreach tuple : [
['link-networkd-shared', get_option('link-networkd-shared')],
['link-timesyncd-shared', get_option('link-timesyncd-shared')],
['kernel-install', get_option('kernel-install')],
['systemd-analyze', get_option('analyze')],
['systemd-analyze', conf.get('ENABLE_ANALYZE') == 1],
]
if tuple.length() >= 2

View File

@ -976,6 +976,6 @@ int read_nr_open(void) {
return v;
}
/* If we fail, fallback to the hard-coded kernel limit of 1024 * 1024. */
/* If we fail, fall back to the hard-coded kernel limit of 1024 * 1024. */
return 1024 * 1024;
}

View File

@ -120,7 +120,7 @@ int rename_noreplace(int olddirfd, const char *oldpath, int newdirfd, const char
if (!IN_SET(errno, EINVAL, ENOSYS, ENOTTY, EPERM)) /* FAT returns EPERM on link()… */
return -errno;
/* OK, neither RENAME_NOREPLACE nor linkat()+unlinkat() worked. Let's then fallback to the racy TOCTOU
/* OK, neither RENAME_NOREPLACE nor linkat()+unlinkat() worked. Let's then fall back to the racy TOCTOU
* vulnerable accessat(F_OK) check followed by classic, replacing renameat(), we have nothing better. */
if (faccessat(newdirfd, newpath, F_OK, AT_SYMLINK_NOFOLLOW) >= 0)

View File

@ -173,7 +173,7 @@ int fd_is_mount_point(int fd, const char *filename, int flags) {
if (!ERRNO_IS_NOT_SUPPORTED(errno) && !ERRNO_IS_PRIVILEGE(errno))
return -errno;
/* If statx() is not available or forbidden, fallback to name_to_handle_at() below */
/* If statx() is not available or forbidden, fall back to name_to_handle_at() below */
} else if (FLAGS_SET(sx.stx_attributes_mask, STATX_ATTR_MOUNT_ROOT)) /* yay! */
return FLAGS_SET(sx.stx_attributes, STATX_ATTR_MOUNT_ROOT);
@ -186,7 +186,7 @@ int fd_is_mount_point(int fd, const char *filename, int flags) {
goto fallback_fdinfo;
else if (r == -EOPNOTSUPP)
/* This kernel or file system does not support name_to_handle_at(), hence let's see if the upper fs
* supports it (in which case it is a mount point), otherwise fallback to the traditional stat()
* supports it (in which case it is a mount point), otherwise fall back to the traditional stat()
* logic */
nosupp = true;
else if (r < 0)

View File

@ -4371,11 +4371,11 @@ const char *manager_get_confirm_spawn(Manager *m) {
*
* If the console suddenly disappear at the time our children will really it
* then they will simply fail to acquire it and a positive answer will be
* assumed. New children will fallback to /dev/console though.
* assumed. New children will fall back to /dev/console though.
*
* Note: TTYs are devices that can come and go any time, and frequently aren't
* available yet during early boot (consider a USB rs232 dongle...). If for any
* reason the configured console is not ready, we fallback to the default
* reason the configured console is not ready, we fall back to the default
* console. */
if (!m->confirm_spawn || path_equal(m->confirm_spawn, "/dev/console"))

View File

@ -650,7 +650,7 @@ static int clone_device_node(
*make_devnode = false;
}
/* We're about to fallback to bind-mounting the device
/* We're about to fall back to bind-mounting the device
* node. So create a dummy bind-mount target.
* Do not prepare device-node SELinux label (see issue 13762) */
r = mknod(dn, S_IFREG, 0);

View File

@ -1034,7 +1034,7 @@ static void service_search_main_pid(Service *s) {
assert(s);
/* If we know it anyway, don't ever fallback to unreliable
/* If we know it anyway, don't ever fall back to unreliable
* heuristics */
if (s->main_pid_known)
return;

View File

@ -95,7 +95,7 @@ for initrd in "${INITRD_OPTIONS[@]}"; do
fi
done
# If no initrd option is supplied, fallback to "initrd" which is
# If no initrd option is supplied, fall back to "initrd" which is
# the name used by dracut when generating it in its kernel-install hook
[[ ${#INITRD_OPTIONS[@]} == 0 ]] && INITRD_OPTIONS=( initrd )

View File

@ -166,7 +166,7 @@ static int do_umount(const char *user) {
int r;
/* The user may be already removed. So, first try to parse the string by parse_uid(),
* and if it fails, fallback to get_user_creds().*/
* and if it fails, fall back to get_user_creds().*/
if (parse_uid(user, &uid) < 0) {
r = get_user_creds(&user, &uid, NULL, NULL, NULL, 0);
if (r < 0)

View File

@ -72,10 +72,11 @@ int make_inaccessible_nodes(
{ "inaccessible/sock", S_IFSOCK | 0000 },
/* The following two are likely to fail if we lack the privs for it (for example in an userns
* environment, if CAP_SYS_MKNOD is missing, or if a device node policy prohibit major/minor of 0
* device nodes to be created). But that's entirely fine. Consumers of these files should carry
* fallback to use a different node then, for example <root>/inaccessible/sock, which is close
* enough in behaviour and semantics for most uses. */
* environment, if CAP_SYS_MKNOD is missing, or if a device node policy prohibits creation of
* device nodes with a major/minor of 0). But that's entirely fine. Consumers of these files
* should implement falling back to use a different node then, for example
* <root>/inaccessible/sock, which is close enough in behaviour and semantics for most uses.
*/
{ "inaccessible/chr", S_IFCHR | 0000 },
{ "inaccessible/blk", S_IFBLK | 0000 },
};

View File

@ -813,8 +813,8 @@ int dissect_image(
_cleanup_free_ char *o = NULL;
const char *options = NULL;
/* If the root has was set, then we won't fallback to a generic node, because the root hash
* decides */
/* If the root hash was set, then we won't fall back to a generic node, because the
* root hash decides. */
if (root_hash)
return -EADDRNOTAVAIL;
@ -1426,7 +1426,7 @@ static int verity_partition(
r = crypt_activate_by_volume_key(cd, name, root_hash, root_hash_size, CRYPT_ACTIVATE_READONLY);
/* libdevmapper can return EINVAL when the device is already in the activation stage.
* There's no way to distinguish this situation from a genuine error due to invalid
* parameters, so immediately fallback to activating the device with a unique name.
* parameters, so immediately fall back to activating the device with a unique name.
* Improvements in libcrypsetup can ensure this never happens: https://gitlab.com/cryptsetup/cryptsetup/-/merge_requests/96 */
if (r == -EINVAL && FLAGS_SET(flags, DISSECT_IMAGE_VERITY_SHARE))
return verity_partition(m, v, root_hash, root_hash_size, verity_data, NULL, root_hash_sig ?: hash_sig_from_file, root_hash_sig_size, flags & ~DISSECT_IMAGE_VERITY_SHARE, d);

View File

@ -6,7 +6,7 @@ int update_reboot_parameter_and_warn(const char *parameter, bool keep);
typedef enum RebootFlags {
REBOOT_LOG = 1 << 0, /* log about what we are going to do and all errors */
REBOOT_DRY_RUN = 1 << 1, /* return 0 right before actually doing the reboot */
REBOOT_FALLBACK = 1 << 2, /* fallback to plain reboot() if argument-based reboot doesn't work, isn't configured or doesn't apply otherwise */
REBOOT_FALLBACK = 1 << 2, /* fall back to plain reboot() if argument-based reboot doesn't work, isn't configured or doesn't apply otherwise */
} RebootFlags;
int read_reboot_parameter(char **parameter);

View File

@ -53,7 +53,7 @@ enum DnsOverTlsMode {
DNS_OVER_TLS_NO,
/* Try to connect using DNS-over-TLS, but if connection fails,
* fallback to using an unencrypted connection */
* fall back to using an unencrypted connection */
DNS_OVER_TLS_OPPORTUNISTIC,
/* Enforce DNS-over-TLS and require valid server certificates */

View File

@ -7,6 +7,7 @@
#include "acl-util.h"
#include "fd-util.h"
#include "format-util.h"
#include "string-util.h"
#include "tmpfile-util.h"
#include "user-util.h"
@ -18,6 +19,8 @@ static void test_add_acls_for_user(void) {
uid_t uid;
int r;
log_info("/* %s */", __func__);
fd = mkostemp_safe(fn);
assert_se(fd >= 0);
@ -39,6 +42,7 @@ static void test_add_acls_for_user(void) {
uid = getuid();
r = add_acls_for_user(fd, uid);
log_info_errno(r, "add_acls_for_user(%d, "UID_FMT"): %m", fd, uid);
assert_se(r >= 0);
cmd = strjoina("ls -l ", fn);

View File

@ -326,6 +326,38 @@ static void test_strjoina(void) {
assert_se(streq(actual, "foo"));
}
static void test_strjoin(void) {
char *actual;
actual = strjoin("", "foo", "bar");
assert_se(streq(actual, "foobar"));
mfree(actual);
actual = strjoin("foo", "bar", "baz");
assert_se(streq(actual, "foobarbaz"));
mfree(actual);
actual = strjoin("foo", "", "bar", "baz");
assert_se(streq(actual, "foobarbaz"));
mfree(actual);
actual = strjoin("foo", NULL);
assert_se(streq(actual, "foo"));
mfree(actual);
actual = strjoin(NULL, NULL);
assert_se(streq(actual, ""));
mfree(actual);
actual = strjoin(NULL, "foo");
assert_se(streq(actual, ""));
mfree(actual);
actual = strjoin("foo", NULL, "bar");
assert_se(streq(actual, "foo"));
mfree(actual);
}
static void test_strcmp_ptr(void) {
assert_se(strcmp_ptr(NULL, NULL) == 0);
assert_se(strcmp_ptr("", NULL) > 0);
@ -727,6 +759,7 @@ int main(int argc, char *argv[]) {
test_ascii_strlower();
test_strshorten();
test_strjoina();
test_strjoin();
test_strcmp_ptr();
test_foreach_word();
test_foreach_word_quoted();

View File

@ -372,7 +372,7 @@ fallback:
if (r < 0)
return log_device_debug_errno(dev_usb, r, "Failed to get idProduct attribute: %m");
/* fallback to USB vendor & device */
/* fall back to USB vendor & device */
if (vendor_str[0] == '\0') {
const char *usb_vendor;