summaryrefslogtreecommitdiffstats
path: root/meson.build (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #19507 from nabijaczleweli/bootctlpsko-liteYu Watanabe2021-05-061-1/+1
|\ | | | | bootctl: take --make-machine-id-directory=yes|no|auto and make/remove \$MACHINE_ID accordingly
| * meson: don't fail if latest tag's commit is signedнаб2021-05-041-1/+1
| | | | | | | | | | | | | | | | Today this is v248 with 938bdfc0fa737d86eb3ecc70506e11e5f740e0dc, which, if you don't know about the github webflow key fails to configure with meson.build:724:8: ERROR: String "gpg: Signature made Tue 30 Mar 2021 22:59:02 CEST\ngpg: using RSA key 4AEE18F83AFDEB23\ngpg: Can't check signature: No public key\n1617137942\n" cannot be converted to int or, if you do, with meson.build:724:8: ERROR: String 'gpg: Signature made Tue 30 Mar 2021 22:59:02 CEST\ngpg: using RSA key 4AEE18F83AFDEB23\ngpg: Good signature from "GitHub (web-flow commit signing) <noreply@github.com>" [unknown]\ngpg: WARNING: This key is not certified with a trusted signature!\ngpg: There is no indication that the signature belongs to the owner.\nPrimary key fingerprint: 5DE3 E050 9C47 EA3C F04A 42D3 4AEE 18F8 3AFD EB23\n1617137942\n' cannot be converted to int
* | selinux: use mallocinfo2() if it existsLennart Poettering2021-05-041-0/+1
|/ | | | | | | | New glibc deprecated mallocinfo(), even newer glibc added mallocinfo2() as replacement. Use it, if it exists. Follow-up for 4b6f74f5a0943e0abfa8e6997811f8f7b7f00a15 and related commits.
* Merge pull request #19441 from keszybz/riscv-syscall-listsLennart Poettering2021-04-281-0/+6
|\ | | | | Add syscall list for riscv
| * missing: add syscall wrappers for new mount APILennart Poettering2021-04-281-0/+6
| |
* | hwdb-test: pass an explit path to systemd-hwdbZbigniew Jędrzejewski-Szmek2021-04-281-1/+9
|/ | | | | | | | | | | | | | https://github.com/systemd/systemd/pull/19316 failed with: [1065/1670] Linking target systemd-hwdb --- command --- 14:28:29 /root/src/test/hwdb-test.sh --- stdout --- ./systemd-hwdb does not exist, please build first I'm not sure what is going on here… In principle meson says that tests may be called from any directory, but in practice is was always the build directory. So far we were relying on systemd-hwdb being present in '.', and this worked. Either way, it's nicer to pass the exact path, so let's do that.
* meson, bpf: add HAVE_LIBBPF, BPF_FRAMEWORK optionsJulia Kartseva2021-04-271-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | * Add `bpf-framework` feature gate with 'auto', 'true' and 'false' choices * Add libbpf [0] dependency * Search for clang llvm-strip and bpftool binaries in compile time to generate bpf skeleton. For libbpf [0], make 0.2.0 [1] the minimum required version. If libbpf is satisfied, set HAVE_LIBBPF config option to 1. If `bpf-framework` feature gate is set to 'auto', means that whether bpf feature is enabled or now is defined by the presence of all of libbpf, clang, llvm and bpftool in build environment. With 'auto' all dependencies are optional. If the gate is set to `true`, make all of the libbpf, clang and llvm dependencies mandatory. If it's set to `false`, set `BPF_FRAMEWORK` to false and make libbpf dependency optional. libbpf dependency is dynamic followed by the common pattern in systemd. meson, bpf: add build rule for socket_bind program
* boot/efi: compile on riscv64Emil Renner Berthing2021-04-221-0/+3
| | | | | This makes systemd-boot compile against the latest gnu-efi which just added support for riscv64.
* Merge pull request #19326 from keszybz/reorder-meson-status-outputLuca Boccassi2021-04-151-84/+105
|\ | | | | Reorder meson status output
| * meson: output one "item" for DNS-over-TLSZbigniew Jędrzejewski-Szmek2021-04-151-2/+8
| |
| * meson: reorder the "features" listZbigniew Jędrzejewski-Szmek2021-04-151-57/+64
| | | | | | | | | | | | | | | | | | | | | | Try to make this more manageable by reording: - dependencies / inputs (with subcategory of compression libraries) - major components / outputs - optional features / conditionals that don't fit into the two above categories The division isn't well defined, because libraries often correspond one-to-one to feature, but not always.
| * meson: fold static libsystemd and libudev into the generic status lineZbigniew Jędrzejewski-Szmek2021-04-151-4/+12
| | | | | | | | It's a very specialized feature and we don't need to devote a separate line to it.
| * meson: reindentZbigniew Jędrzejewski-Szmek2021-04-151-24/+24
| |
* | Merge pull request #19317 from ↵Luca Boccassi2021-04-151-13/+17
|\ \ | | | | | | | | | | | | keszybz/check-return-values-from-log_errno-functions Check return values from log_errno functions
| * | basic/log: assert that 0 is not passed as errno, except in test codeZbigniew Jędrzejewski-Szmek2021-04-141-9/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Let's assert if we ever happen to pass 0 to one of the log functions. With the preceding commit to return -EIO from log_*(), passing 0 wouldn't affect the return value any more, but it is still most likely an error. The unit test code is an exception: we fairly often pass the return value to print it, before checking what it is. So let's assert that we're not passing 0 in non-test code. As with the previous check for %m, this is only done in developer mode. We are depending on external code setting errno correctly for us, which might not always be true, and which we can't test, so we shouldn't assert, but just handle this gracefully. I did a bunch of greps to try to figure out if there are any places where we're passing 0 on purpose, and couldn't find any. The one place that failed in tests is adjusted. About "zerook" in the name: I wanted the suffix to be unambiguous. It's a single "word" because each of the words in log_full_errno is also meaningful, and having one term use two words would be confusing.
| * | meson: simplify the BUILD_MODE conditionalZbigniew Jędrzejewski-Szmek2021-04-141-4/+4
| |/ | | | | | | | | | | | | Using a enum is all nice and generic, but at this point it seems unlikely that we'll add further build modes. But having an enum means that we need to include the header file with the enumeration whenerever the conditional is used. I want to use the conditional in log.h, which makes it hard to avoid circular imports.
* / meson.build: typoSevan Janiyan2021-04-151-1/+1
|/
* meson: build tests with -Wno-maybe-uninitialized if -O2/-flto are usedLuca Boccassi2021-04-141-2/+8
| | | | | | | We intentionally do not inline initializations with definitions for a bunch of _cleanup_ variables in tests, to ensure valgrind is triggered. This triggers a lot of maybe-uninitialized false positives when -O2 and -flto are used. Suppress them.
* meson: re-enable -Wmaybe-uninitialized on -O[02] with recent gcc versionsZbigniew Jędrzejewski-Szmek2021-04-081-4/+9
| | | | | | | | | | | | | | | The warning was disabled in 8794164fed5f0142c34358613f92f4f761af4edd to avoid false positives. But it is useful in finding errors, even if it sometimes results in untrue warnings (c.f. 77fac974fe, da46a1bc3c). After #19168, #19169, and #19175, there are no warnings with -Dbuildtype=debug-optimized/-O2 and gcc-11.0.1-0.3.fc34.x86_64. Warnings are reenabled for -O[23] -O0 is good for development, and -O2 is the default optimization level for Fedora package builds. -Os, -O3, -O1, and -Og still generate some warnings. In fact, with -Os the number of warnings seems completely hopeless. Dozens and dozens.
* test: check if the unit file fuzzer corpora is up to dateFrantisek Sumsal2021-04-051-1/+1
| | | | | This follows a similar pattern we already have in place for networkd-related directives.
* units: make locale directory writable for systemd-localedChristian Hesse2021-03-291-0/+3
| | | | | | | | With 8f20232fcb52dbe6255f3df6101fc057af90bcfa systemd-localed supports generating locales when required. This fails if the locale directory is read-only, so make it writable. Closes #19138
* Add READMEs in all .d directoriesZbigniew Jędrzejewski-Szmek2021-03-261-1/+2
|
* meson.build: bump version of libudevLennart Poettering2021-03-171-1/+1
| | | | | It didn't receive new API calls, bit it was changed, hence bump the version accordingly.
* meson.build: make xinitrcdir configurableFranck Bui2021-03-161-1/+1
| | | | SUSE uses a different xinitrcdir ("/usr/etc/X11/xinit/xinitrc.d").
* missing_syscall: add epoll_pwait2() wrapperLennart Poettering2021-02-261-0/+2
|
* meson: refuse when prefix is not a child of rootprefixZbigniew Jędrzejewski-Szmek2021-02-251-0/+5
| | | | | | | This is most likely to happen when setting one but not the other. Note that we already warn when rootprefixdir != rootprefix_default, at the very end.
* meson: bump version numbersv248-rc1Zbigniew Jędrzejewski-Szmek2021-02-231-2/+2
|
* Move rpm stuff into a separate src/rpm/ directoryZbigniew Jędrzejewski-Szmek2021-02-151-0/+1
| | | | | It is only of interest to rpm-based distros, we can move it out of src/core/ which is pretty busy.
* fundamental: move several macros and functions into src/fundamental/Yu Watanabe2021-02-091-0/+4
| | | | | | | | | | sd-boot has a copy of a subset of codes from libbasic. This makes sd-boot share the code with libbasic, and dedup the code. Note, startswith_no_case() is dropped from sd-boot, as - it is not used, - the previous implementation is not correct, - gnu-efi does not have StrniCmp() or so.
* Deprecate builds with split-usr, prepare for removalZbigniew Jędrzejewski-Szmek2021-02-031-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | There is no technical reason to support systems with split-usr, except for backwards compatibility. Even though systemd itself makes an effort to support this, many other tools aren't as careful. Despite those efforts, we (collectively) get it wrong often, because doing it "wrong" on systems with merged-usr has no consequences. Since almost all developers are on such systems, any issues are only discovered late. Supporting this split-usr mode makes both code and documentation more complicated. The split is purely artificial and has no justification except to allow old installation to not update. Mechanisms to update existing systems are available though: Fedora did that in https://fedoraproject.org/wiki/Features/UsrMove, Debian has the usrmerge package. The next version of Debian will only support systems with split-usr=false, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=978636#178: The Technical Committee resolves that Debian 'bookworm' should support only the merged-usr root filesystem layout, dropping support for the non-merged-usr layout. Let's start warning if split-usr mode is used, in preparation to removing the split in one of the future releases.
* meson: use ellipses for rangesZbigniew Jędrzejewski-Szmek2021-02-021-2/+2
| | | | C.f. 1d3a473b4a0a4a0c49963297103af16ff6d841fa.
* meson: take oomd out of the doghouseZbigniew Jędrzejewski-Szmek2021-02-021-8/+0
| | | | | | It's on by default in Fedora 34 [1], so we can't say it's just a preview. [1] https://fedoraproject.org/wiki/Changes/EnableSystemdOomd
* tools: rename helper to match target nameZbigniew Jędrzejewski-Szmek2021-01-281-6/+6
| | | | | | The target is update-syscall-tables, so let's call the script update-syscall-tables.sh to reduce the cognitive overhead when trying to find the right file.
* docs: expose GVARIANT-SERIALIZATION as markdownZbigniew Jędrzejewski-Szmek2021-01-281-1/+1
|
* meson: rename target to update-hwdb-autosuspendZbigniew Jędrzejewski-Szmek2021-01-271-1/+1
| | | | | | | | | | | | | | | | | The script is renamed to match. Now all targets are named uniformly in a tab-completion-friendly fashion, with the exception of systemd-update-po which is generated by the i18n module automatically: $ ninja -C build -t targets | grep update systemd-update-po: phony update-syscall-tables: phony update-syscall-header: phony update-hwdb: phony update-hwdb-autosuspend: phony update-dbus-docs: CUSTOM_COMMAND update-man-rules: CUSTOM_COMMAND
* meson: rename target to update-hwdbZbigniew Jędrzejewski-Szmek2021-01-271-1/+1
| | | | | The goal is to have all "update-*" targets named uniformly so that tab-completion works. The script is renamed to match.
* meson: rename target to update-man-rulesZbigniew Jędrzejewski-Szmek2021-01-271-0/+9
| | | | Same justification as for update-dbus-docs.
* meson: rename target to update-dbus-docsZbigniew Jędrzejewski-Szmek2021-01-271-0/+19
| | | | | | | | | Very old versions of meson did not include the subdirectory name in the target name, so we started adding various "top-level" custom targets in subdirectories. This was nice because the main meson.build file wasn't as cluttered. But then meson started including the subdir name in the target name. So let's move the definition to the root so we can have all targets named uniformly.
* udev: stop to use LOG_REALM_UDEVYu Watanabe2021-01-251-1/+0
| | | | | | | | Before this commit, udevd is built with LOG_REALM=LOG_REALM_UDEV. However, log level specified by e.g. environment variable or kernel command line option are also passed to LOG_REALM_SYSTEMD. So, the maximum log level for the two realms are always equivalent, and it is not necessary to specify the build option. Hence drop it.
* sysext: install in rootbindir, remove template from unitLuca Boccassi2021-01-201-1/+1
| | | | This reverts commit 71ad75f30641b90f9ca0088869f164d9d085430f.
* sysext: install in /usr/lib/systemd/ for nowLuca Boccassi2021-01-191-1/+1
| | | | | This is a brand new binary, and the CI packaging doesn't pick it up, causing the upstream testrun to fail (sysext is pulled in by the unit).
* meson: bindir is the default install_dir, no need to mention itLennart Poettering2021-01-191-2/+1
|
* sysext: new tool for managing "system extensions" for /usr/ + /opt/Lennart Poettering2021-01-191-0/+14
|
* meson: move several definitions related libsystemd to src/libsystemd/meson.buildYu Watanabe2021-01-181-4/+0
|
* meson: use static_libsystemd_picYu Watanabe2021-01-181-1/+1
|
* meson: slightly disentangle code dependenciesYu Watanabe2021-01-181-37/+29
| | | | But, still sd-id128 is used in src/basic.
* meson: sort inclusion of meson.build files in subdirectoriesYu Watanabe2021-01-181-21/+24
|
* meson: move libjournal_core definition to src/journal/meson.buildYu Watanabe2021-01-181-7/+0
|
* meson: move libudev related definitions to src/libudev/meson.buildYu Watanabe2021-01-181-4/+35
| | | | Also, this makes libudev.so built in build directory.
* meson: move and gather find_program()Yu Watanabe2021-01-181-15/+16
|