summaryrefslogtreecommitdiffstats
path: root/meson.build (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-03-06dissect: implement external helper plugin interface for /bin/mountLennart Poettering1-0/+4
With this change we'll install a symlink /sbin/mount.ddi → systemd-dissect. If invoked that way we'll do the equivalent of systemd-dissect --mount. This makes DDIs mountable directly via the "mount" command, by specifying the "-t ddi" pseudo file system type. Moreover you can now mount DDIs directly via /etc/fstab, by specifying "ddi" in the file system column (3rd column).
2023-03-06network: geneve: add InheritInnerProtocol flagJosef Miegl5-13/+30
2023-03-06base-filesystem: Support Arch-style multilibAdrian Vovk1-9/+17
On distros like Arch and on carbonOS, libraries end up in /usr/lib. Thus, /lib64 should point to /usr/lib. This commit adds this functionality as a final fallback (if neither Debian-style nor Fedora-style multilib can be detected)
2023-03-06time-util: drop redundant call of tzset()Yu Watanabe1-2/+0
It is also called at the beginning of `parse_timestamp_maybe_with_tz()`.
2023-03-06gpt-auto: Check for /boot before putting ESP thereAdrian Vovk1-3/+8
We prefer /efi as a mount point for the ESP, and use /boot as a fallback if /efi doesn't exist. However, when root=tmpfs, neither /efi nor /boot exist. gpt-auto should mount to /efi in this case, but it mounted to /boot instead. This is because gpt-auto didn't check for the existence of /boot. Here, we correct this
2023-03-06mkosi: Update to latestDaan De Meyer1-1/+1
Latest version builds nspawn from source which hopefully gets rid of the spurious "Connection timed out" errors we've been seeing in CI.
2023-03-06TODOLennart Poettering1-0/+3
2023-03-06chase-symlinks: Add chase_symlinks_at_and_open()Daan De Meyer3-0/+42
2023-03-06chase-symlinks: Add CHASE_MKDIR_0755Daan De Meyer3-15/+38
2023-03-06chase-symlinks: Add CHASE_PARENTDaan De Meyer3-27/+63
Let's simplify chasing the parent directory of some path by adding CHASE_PARENT.
2023-03-06chase-symlinks: Return "." as path from chase_symlinks_at() instead of NULLDaan De Meyer1-2/+21
2023-03-06chase-symlinks: Skip shortcuts if CHASE_PROHIBIT_SYMLINKS is setDaan De Meyer1-6/+12
2023-03-06udev_rules_parse_file: do not skip ENOENTDmitry V. Levin1-5/+1
Starting with commit ed88bcfb7c15029f9fc95ee2380759a9eb782d46, udev_rules_parse_file() silently skips files it fails to open with ENOENT error, e.g. when they are broken symlinks. As this behavior is undocumented and it seems to be unintended, let's treat ENOENT like any other error. This change would also simplify the implementation of the udev rules syntax checker mentioned in #26606. udev_rules_load(), the only user of udev_rules_parse_file(), is not affected by this change because it essentially ignores the value returned by the latter, the only visible difference would be a log message issued for every udev rules file that couldn't be open because of ENOENT. Fixes: ed88bcfb7c15 ("Be more careful when checking for empty files")
2023-03-06test: add header build tests for newer C and C++ standardsYu Watanabe1-0/+7
2023-03-06Include <threads.h> if possible to get thread_local definitionCristian Rodríguez22-14/+35
IN C23, thread_local is a reserved keyword and we shall therefore do nothing to redefine it. glibc has it defined for older standard version with the right conditions. v2 by Yu Watanabe: Move the definition to missing_threads.h like the way we define e.g. missing syscalls or missing definitions, and include it by the users. Co-authored-by: Yu Watanabe <watanabe.yu+github@gmail.com>
2023-03-06tree-wide: replace IOVEC_INIT with IOVEC_MAKEYu Watanabe5-20/+18
We use gnu11 to build, hence we can use structured initializer with casting, and it is not necessary to use different patterns on initialization and assignment. Addresses https://github.com/systemd/systemd/pull/26560#discussion_r1118875447.
2023-03-06sd-journal: wrap long lineYu Watanabe1-1/+7
Addresses https://github.com/systemd/systemd/pull/26560#discussion_r1118875967.
2023-03-05meson: adjust for removal of gnu-efi compatZbigniew Jędrzejewski-Szmek1-10/+14
gnu-efi-3.0.11-13.fc39 in Fedora dropped the old include paths.
2023-03-05Revert "hwdb: fix swapped buttons for Logitech Lift left"Yu Watanabe1-5/+0
This reverts commit 81cfea95e51c72da6765b517e7038b3e7e3dec9f. The modalias seems to match a generic Logitech USB receiver even the connected mouce is not for left hand. Fixes #26671 and #26676.
2023-03-05mkosi: Install dnf on centos and fedoraDaan De Meyer2-0/+2
dnf is not installed by default anymore, but it's still useful to have in our images, so let's install it explicitly.
2023-03-04man: add an example to (re-)apply new settings to a network interfaceYu Watanabe1-0/+17
Closes #26601.
2023-03-04man: sync the default .link file in exampleYu Watanabe1-6/+9
2023-03-03README: update CentOS CI URLs to the new instanceFrantisek Sumsal1-4/+4
2023-03-03systemctl: explicitly cast the constants to uint64_tFrantisek Sumsal1-1/+1
Otherwise under certain conditions `va_arg()` might get garbage instead of the expected value, i.e.: $ sudo build-o0/systemctl disable asdfasfaf sd_bus_message_appendv: Got uint64_t: 0 Failed to disable unit: Unit file asdfasfaf.service does not exist. $ sudo build-o1/systemctl disable asdfasfaf sd_bus_message_appendv: Got uint64_t: 7954875719681572864 Failed to disable unit: Invalid argument (reproduced on an armv7hl machine) Resolves: #26568 Follow-up to: bf1bea43f15 Related issue: https://github.com/systemd/systemd/pull/14470#discussion_r362893735
2023-03-03test: trigger new events after all currently queued events are processedYu Watanabe1-0/+3
Otherwise, udevd may be busy and udevadm may not receive the reply for the control packet within the time limit.
2023-03-03man: fix doubled wordYu Watanabe1-2/+2
2023-03-03man: fix typo (#26655)наб1-1/+1
2023-03-03hwdb: port to flink_tmpfile()Lennart Poettering1-51/+48
And modernize heavily while doing so. Fixes: #21787 (Strictly speaking, this leaves a race window open: the the system is powered off in the short interval when we linked in the prepared hwdb file into the dir under a temporary name and are about to rename it to the final name, then the file might be left over after all. But this minimizes the window so much that this shouldn't be an issue in real-life. Key after all is that with this change we'll build up the hwdb file under O_TMPFILE, and thus are robust to power loss during the slow operation)
2023-03-03tmpfile-util: teach link_tmpfile() to optionally replace filesLennart Poettering7-63/+97
2023-03-03time-util: refuse non-zero gmtoff with non-UTC timezoneYu Watanabe1-6/+10
Also this moves the range check for gmtoff to parse_timestamp_impl(), to address the post-merge comment: https://github.com/systemd/systemd/pull/26409#discussion_r1118650190
2023-03-03time-util: extend comment a bitYu Watanabe1-7/+7
2023-03-03time-util: rename len -> tz_offsetYu Watanabe1-38/+40
And merge parse_timestamp_with_tz() with parse_timestamp_impl(). Addresses the post-merge comment: https://github.com/systemd/systemd/pull/26409#discussion_r1118647440
2023-03-03time-util: fix typoYu Watanabe1-1/+1
Follow-up for 7a9afae6040af0417d893328cb44b622dcdcb94f.
2023-03-03meson: extend timeout for test-time-utilYu Watanabe1-1/+4
The test forks so many child processes, and may hit the default time limit on slow environment or running with sanitizers.
2023-03-03test: test parse_timestamp() in various timezoneYu Watanabe1-16/+43
2023-03-03meson: show options about tests in the summaryYu Watanabe1-0/+2
2023-03-03nspawn: disable propagation for selected host API bind mountsLennart Poettering1-0/+4
We bind mount two selected inodes from the host into our container. Let's turn off propagation for that, since we just want those inodes, nothing else. With this change "grep master: /proc/self/mountinfo" should list only the mount propagation "tunnel" dir, and nothing else anymore.
2023-03-03nspawn: disconnect mounts propagation from host on our container dirLennart Poettering1-5/+13
@brauner noticed that in invoked containers the root directory is set to still receive mounts from the host. We should disable that, and guarantee we live in our own world, because that's what an (nspawn-style) container *is* after all: a whole new world. This hence mounts the container subtree to MS_PRIVATE after getting the root dir in place. Note that this will later be set to MS_SHARED again. The MS_PRIVATE disconnects mounts from the host, the MS_SHARED then establishes a new peer group for mount propagation events, so that payload service managers (such as systemd) can take benefit of propagation further down the tree.
2023-03-03tools: explicitly specify "setup" subcommandYu Watanabe2-2/+2
As invoking meson without subcommand is deprecated since 0.64.0.
2023-03-03meson: rename conflicting target namesYu Watanabe1-2/+2
The update-man-rules and update-dbus-docs targets are both declared in the main meson.build and man/meson.build, so we cannot build the target with 'meson compile' command: ==== $ meson compile update-man-rules INFO: autodetecting backend as ninja ERROR: Can't invoke target `update-man-rules`: ambiguous name.Add target type and/or path: - ./man/update-man-rules:custom - ./update-man-rules:run ==== Let's rename the targets declared in man/meson.build.
2023-03-03tools: fix the file name that "meson setup" generatesYu Watanabe1-1/+1
2023-03-03test: generate debugging logs for udevd after restartYu Watanabe1-2/+2
2023-03-03test: clear tzname[] after timezone is changedYu Watanabe1-3/+4
Fixes the issue reported in fe56f21ae3943e79ce9faeb40b79c7093c50e644.
2023-03-03test: use get_timezones() to iterate all known timezonesYu Watanabe1-39/+11
2023-03-03meson: add missing man rules for new sd-login functionsYu Watanabe1-0/+3
Follow-up for d71f5b1217986a18e8ddaef3191afddfe731b2d7, c4ef14dc2a0eaae6b93d41e5c82f50ee86e480a4, and d622fefc008ce1cd3bf62ced4a606d3b5277b9fa.
2023-03-02nspawn: drop unused argLennart Poettering1-3/+1
2023-03-02meson: Copy files with git only in true git repositoryMichal Koutný3-3/+3
When mkosi is run from git-worktree(1), the .git is not a repository directory but a textfile pointing to the real git dir (e.g. /home/user/systemd/.git/worktrees/systemd-worktree). This git dir is not bind mounted into build environment and it fails with: > fatal: not a git repository: /home/user/systemd/.git/worktrees/systemd-worktree > test/meson.build:190:16: ERROR: Command `/usr/bin/env -u GIT_WORK_TREE /usr/bin/git --git-dir=/root/src/.git ls-files ':/test/dmidecode-dumps/*.bin'` failed with status 128. There is already a fallback to use shell globbing instead of ls-files, use it with git worktrees as well.
2023-03-02escape: add missing non-NULL parameter assertionsmsizanoen11-0/+2
2023-03-02test-escape: Add tests for escaping bogus UTF-8 sequencesmsizanoen11-0/+4
2023-03-02escape: Ensure that output is always valid UTF-8msizanoen11-7/+18
This ensures that shell string escape operations will not produce output with invalid UTF-8 from the input by escaping invalid UTF-8 data as if they were single byte characters.