summaryrefslogtreecommitdiff
path: root/README
Commit message (Collapse)AuthorAgeFilesLines
* docs: update unit name for sd-tmpfiles-setupMike Yuan2023-03-191-1/+1
|
* boot: Bring back bootloader buildsJan Janssen2023-03-101-0/+1
| | | | | | | | | | | | This adds back sd-boot builds by using meson compile targets directly. We can do this now, because userspace binaries use the special dependency that allows us to easily separate flags, so that we don't pass anything to EFI builds that shouldn't be passed. Additionally, we pass a bunch of flags to hopefully disable/override any distro provided flags that should not be used for EFI binaries. Fixes: #12275
* tree-wide: Drop gnu-efiJan Janssen2023-03-101-1/+0
| | | | | | | This drops all mentions of gnu-efi and its manual build machinery. A future commit will bring bootloader builds back. A new bootloader meson option is now used to control whether to build sd-boot and its userspace tooling.
* meson: merge our two valgrind configuration conditions into oneZbigniew Jędrzejewski-Szmek2023-02-221-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | Most of the support for valgrind was under HAVE_VALGRIND_VALGRIND_H, i.e. we would enable if the valgrind headers were found. The operations then we be conditionalized on RUNNING_UNDER_VALGRIND. But in a few places we had code which was conditionalized on VALGRIND, i.e. the config option. I noticed because I compiled with -Dvalgrind=true on a machine that didn't have valgrind.h, and the build failed because RUNNING_UNDER_VALGRIND was not defined. My first idea was to add a check that the header is present if the option is set, but it seems better to just remove the option. The code to support valgrind is trivial, and if we're !RUNNING_UNDER_VALGRIND, it has negligible cost. And the case of running under valgrind is always some special testing/debugging mode, so we should just do those extra steps to make valgrind output cleaner. Removing the option makes things simpler and we don't have to think if something should be covered by the one or the other configuration bit. I had a vague recollection that in some places we used -Dvalgrind=true not for valgrind support, but to enable additional cleanup under other sanitizers. But that code would fail to build without the valgrind headers anyway, so I'm not sure if that was still used. If there are uses like that, we can extend the condition for cleanup_pools().
* README: explicitly note that util-linux's mount/swap are requiredLuca Boccassi2023-02-101-1/+3
| | | | | These are the most visible and hard requirements, as we use options that busybox does not provide, so list them explicitly to avoid surprises
* ci: install pefileZbigniew Jędrzejewski-Szmek2022-12-071-0/+1
|
* README: note Kconfig for verifying DDIs via MoK keysLuca Boccassi2022-11-141-0/+5
| | | | Also note them in the mkosi.build kernel config list
* README: use https on one more linkLuca Boccassi2022-11-121-1/+1
|
* README: Fix libbpf minimum versionDaan De Meyer2022-10-171-1/+1
| | | | This didn't get properly updated as part of #24511
* Bump libbpf version to 0.7Daan De Meyer2022-10-061-1/+1
| | | | | | | | We already depend on the skeleton APIs introduced in libbpf 0.7 so let's bump our minimum version to reflect that. We don't enforce bpf compilation on mkosi anymore since not all distros have sufficiently up-to-date libbpf available.
* README: we don't use crypto API in kernel anymoreLennart Poettering2022-09-071-5/+0
| | | | | | | This effectively reverts 9c7f7d86f86322b76fc903ca8a06b87c4be4bd4a. We dropped kernel crypto API use with 1fc8d0c9dd6a21de81e49cfa01af4a4d9a3ed37d, hence catch up in README.
* README: make section title less confusingLennart Poettering2022-09-071-1/+1
| | | | This is about glibc NSS, not about the TLS implementation library NSS.
* README: drop some spurious empty lines, we otherwise don't place after ↵Lennart Poettering2022-09-071-2/+0
| | | | section titles
* README: use right emoji UTF-8 sequences for stop/warning signLennart Poettering2022-09-071-5/+5
|
* README: clarify baseline situation a bit (add emojis!)Lennart Poettering2022-09-061-4/+9
|
* README: gcc now has a minimum requirement of 4.7matoro2022-07-141-1/+2
|
* man: update the description of taint flagsZbigniew Jędrzejewski-Szmek2022-07-091-1/+3
| | | | | | We had a description in README, and an outdated list in the man page. I think we should keep a reference-style list in the man page. The description in README is more free-form.
* tree-wide: streamline wiki linksBenjamin Franzke2022-05-211-1/+1
| | | | | | | | * Avoid traling slash as most links are defined without. * Always use https:// protocol and www. subdomain Allows for easier tree-wide linkvalidation for our migration to systemd.io.
* README: fix typoZbigniew Jędrzejewski-Szmek2022-05-181-1/+1
|
* README: say that recent releases are supportedZbigniew Jędrzejewski-Szmek2022-05-161-0/+20
| | | | | Prompted by the discussion in https://github.com/systemd/systemd/pull/23391.
* README: recommend --no-rebuild for sudo meson installZbigniew Jędrzejewski-Szmek2022-05-161-1/+1
| | | | | sudo and rebuilding don't mix well. C.f. fe2b7631ad20b0e518b9f566608ff5f9b84d4d8b.
* README: add missing colons and wrap to ~80 columnsZbigniew Jędrzejewski-Szmek2022-05-161-66/+59
| | | | | Some paragraphs were narrow for no good reason. Let's make things a bit more uniform.
* README: mention kernel requirement for ambient capabilitiesYu Watanabe2022-05-061-0/+1
| | | | Closes #23231.
* README: recommend zstd over xzZbigniew Jędrzejewski-Szmek2022-04-121-1/+1
| | | | | | | | git archive automatically uses gzip when --output=*.tar.gz is used, but not for other extensions. Thus we need to invoke the compressor separately :( It's a good pattern to use a variable for the repeating number, so let's recommend that.
* docs: stop recommending meson compileZbigniew Jędrzejewski-Szmek2022-04-121-3/+3
| | | | | | | | | | | | | | | | | | With meson-0.60, meson compile stopped working with some targets: $ meson compile -C build update-man-rules ERROR: Can't invoke target `update-man-rules`: ambiguous name. Add target type and/or path: `PATH/NAME:TYPE` This is obviously a regression in meson, but based on a chat with the maintainers, it seems that there's some disagreement as to whether 'meson compile' is useful and how exactly it should work. Since we're already at meson 0.60.3 and this hasn't been fixed, and people generally don't seem to consider this an issue, let's return to documenting the usual practice of 'ninja -C build' that just works everywhere. (Since nobody has raised any fuss in systemd, it means that people are generally using the shorter form during development too. I only noticed because I pasted a command from the release docs when preparing -rc1.)
* Merge pull request #23009 from ↵Lennart Poettering2022-04-081-0/+1
|\ | | | | | | | | keszybz/fix-detection-of-libsystemd-shared-with-suffix Fix detection of libsystemd-shared with suffix
| * README: add one more kernel-version lineZbigniew Jędrzejewski-Szmek2022-04-071-0/+1
| | | | | | | | | | I want to add as many as possible to show people that each kernel version has something nice to entice them to keep moving up ;)
* | core: taint if /usr is unmergedLuca Boccassi2022-04-061-0/+7
|/ | | | | | 9afd5e7b975e8051c011ff9c07c95e80bd954469 introduced a build-time taint, introduce a runtime one as well, in preparation for removing support for unmerged-usr in a future release
* README: describe taint flags and how to check themZbigniew Jędrzejewski-Szmek2022-04-051-8/+25
| | | | | We should have this somewhere. We talk about versions of things in the README, so it seems as good a place as any.
* README: say kernel 4.15 is the minimum recommendedZbigniew Jędrzejewski-Szmek2022-04-051-8/+15
| | | | | | | | | | | | After various long discussions (https://lists.freedesktop.org/archives/systemd-devel/2022-March/047587.html, https://lwn.net/Articles/889610/), there is no clear answer what the minimum version should be. Bumping the version above 3.15 doesn't allow us to make any significant simplifications (unless we went *much* higher). In particular, even renameat2() is not fully supported with latest kernel versions, e.g. nfs still doesn't have it. And the bpf stuff is optional anyway. So let's just say that 4.15 is what we recommend, because it provides fairly complete cgroups-v2, but without any removals of compat in the code.
* time-util: assume CLOCK_BOOTTIME always existsLennart Poettering2022-03-281-1/+1
| | | | | | | | Let's raise our supported baseline a bit: CLOCK_BOOTTIME started to work with timerfd in kernel 3.15 (i.e. back in 2014), let's require support for it now. This will raise our baseline only modestly from 3.13 → 3.15.
* meson: Drop required libfdisk version to 2.32Daan De Meyer2022-02-241-1/+1
| | | | | | | | | | | | We initially pinned this to 2.33 in e71f5585b9b0580428f9530d0a485265c9c25165 because libfdisk 2.32 in CentOS 8 didn't have https://github.com/karelzak/util-linux/commit/2f35c1ead621f42f32f7777232568cb03185b473 backported. If we check now, we can see it has been backported (https://git.centos.org/rpms/util-linux/blob/c8s/f/SOURCES/0048-libfdisk-count-gaps-to-possible-size-when-resize.patch) which means we can drop the required version to 2.32 instead of 2.33.
* README: CONFIG_KCMP is the new kernel compile time option for kcmp()Lennart Poettering2022-02-081-1/+1
| | | | Fixes: #21947
* README: link to the new pageZbigniew Jędrzejewski-Szmek2022-01-121-4/+6
| | | | | Lennart's blog is now mostly of historical interest, and the wiki landing page has been replaced by systemd.io.
* change req meson versiongregzuro2021-10-261-1/+1
| | | | since `meson compile` first appears in 0.54.0
* sd-boot: Require gnu-efi 3.0.5Jan Janssen2021-10-171-0/+1
| | | | | | | | | This version is from 2017 and should be stale enough to not cause an outrage. All the relevant distros have it or a newer version. We also already depend on some symbols defined in 3.0.5 anyway, so let's take the opportunity to reduce our missing_efi.h baggage.
* README: document LSM BPF requirementsIago López Galeiras2021-10-061-1/+8
|
* add LICENSES/README.md explaining the license situationLuca Boccassi2021-10-011-6/+1
|
* README: add requirements for RestrictNetworkInterfaces=Mauricio Vásquez2021-08-191-1/+3
| | | | Signed-off-by: Mauricio Vásquez <mauricio@kinvolk.io>
* rpm: use a helper script to actually invoke systemctl commandsZbigniew Jędrzejewski-Szmek2021-07-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Instead of embedding the commands to invoke directly in the macros, let's use a helper script as indirection. This has a couple of advantages: - the macro language is awkward, we need to suffix most commands by "|| :" and "\", which is easy to get wrong. In the new scheme, the macro becomes a single simple command. - in the script we can use normal syntax highlighting, shellcheck, etc. - it's also easier to test the invoked commands by invoking the helper manually. - most importantly, the logic is contained in the helper, i.e. we can update systemd rpm and everything uses the new helper. Before, we would have to rebuild all packages to update the macro definition. This raises the question whether it makes sense to use the lua scriptlets when the real work is done in a bash script. I think it's OK: we still have the efficient lua scripts that do the short scripts, and we use a single shared implementation in bash to do the more complex stuff. The meson version is raised to 0.47 because that's needed for install_mode. We were planning to raise the required version anyway…
* docs: update autofs Kconfig nameAndrea Pappacoda2021-06-241-1/+1
|
* README: drop reference to KinvolkLennart Poettering2021-05-261-5/+0
| | | | | | Kinvolk got bought by Microsoft recently, I doubt they'd even be open for engineering services like this, hence let's drop the free advertisement.
* README: point at IRC channel on the new networkMantas Mikulėnas2021-05-251-1/+1
|
* Drop dependency on m4Zbigniew Jędrzejewski-Szmek2021-05-191-1/+1
| | | | | | | | | | | | | | | | m4 was hugely popular in the past, because autotools, automake, flex, bison and many other things used it. But nowadays it much less popular, and might not even be installed in the buildroot. (m4 is small, so it doesn't make a big difference.) (FWIW, Fedora dropped make from the buildroot now, https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot. I think it's reasonable to assume that m4 will be dropped at some point too.) The main reason to drop m4 is that the syntax is not very nice, and we should minimize the number of different syntaxes that we use. We still have two (configure_file() with @FOO@ and jinja2 templates with {{foo}} and the pythonesque conditional expressions), but at least we don't need m4 (with m4_dnl and `quotes').
* meson, mkosi: pull in jinja2 as requiredZbigniew Jędrzejewski-Szmek2021-05-191-0/+1
| | | | In preparation for subsequent changes.
* readme: update README with requirements for bpfJulia Kartseva2021-04-261-1/+20
|
* README: add config_psi as requirement for systemd-oomdAnita Zhang2021-02-231-0/+3
|
* tree-wide: fix links to systemd.io pagesZbigniew Jędrzejewski-Szmek2021-02-191-1/+1
| | | | | Having the extra slash at the end is not a problem, just inconsistent. But the links with .html or .md return 404.
* Adding an explanation for CONFIG_NET requirement (#18600)heretoenhance2021-02-161-1/+1
| | | * README: replace CONFIG_NET with CONFIG_UNIX in requirements list
* Deprecate builds with split-usr, prepare for removalZbigniew Jędrzejewski-Szmek2021-02-031-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | 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.