summaryrefslogtreecommitdiff
path: root/meson.build
Commit message (Collapse)AuthorAgeFilesLines
...
| * Add config and kernel commandline option to use short identifiersZbigniew Jędrzejewski-Szmek2019-07-101-0/+3
| | | | | | | | | | | | | | No functional change, just docs and configuration and parsing. v2: - change ShortIdentifiers=yes|no to StatusUnitFormat=name|description.
* | Merge pull request #12926 from keszybz/urlify-logsLennart Poettering2019-07-111-0/+4
|\ \ | | | | | | Urlify CONFIG_FILE and improve SYSTEMD_LOG_LOCATION
| * | basic/log: add a define for path relative to source rootZbigniew Jędrzejewski-Szmek2019-07-041-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using build/ directory inside of the source directory: __FILE__: ../src/test/test-log.c RELATIVE_SOURCE_PATH: .. PROJECT_FILE: src/test/test-log.c When using a build directory outside of the source directory: __FILE__: ../../../home/zbyszek/src/systemd-work/src/test/test-log.c RELATIVE_SOURCE_PATH: ../../../home/zbyszek/src/systemd-work PROJECT_FILE: src/test/test-log.c
* | | boot,shared: share the definitions of EFI_LOADER_FEATURE macrosZbigniew Jędrzejewski-Szmek2019-07-101-0/+1
| |/ |/| | | | | | | | | | | | | | | This means the the code needs to be kept compatible in the shared header, but I think that still nicer than having two places to declare the same things. I added src/boot to -I, so that efi/foo.h needs to be used. This reduces the potential for accidentally including the wrong header.
* | meson: drop varlogdir variableZbigniew Jędrzejewski-Szmek2019-07-041-2/+0
| | | | | | | | | | | | | | | | It was only used for exactly one thing: to substitute in the text in /var/log/README. But it's use there was completely wrong, because the text talks about "missing" log files from syslog, so even if we configured systemd to log to a different directory, the "missing" log files would still be "missing" from the old location.
* | debug-generator: enable custom systemd.debug_shell ttyJan Synacek2019-07-021-0/+1
|/
* meson: default to use libidn2 if both libidn2 and libidn are installedYu Watanabe2019-06-291-8/+8
|
* meson: drop unused debug optionYu Watanabe2019-06-291-5/+0
|
* core: introduce NUMAPolicy and NUMAMask optionsMichal Sekletar2019-06-241-0/+4
| | | | | | | | | | | | | Make possible to set NUMA allocation policy for manager. Manager's policy is by default inherited to all forked off processes. However, it is possible to override the policy on per-service basis. Currently we support, these policies: default, prefer, bind, interleave, local. See man 2 set_mempolicy for details on each policy. Overall NUMA policy actually consists of two parts. Policy itself and bitmask representing NUMA nodes where is policy effective. Node mask can be specified using related option, NUMAMask. Default mask can be overwritten on per-service level.
* resolved: add strict mode for DNS-over-TLSIwan Timmer2019-06-191-1/+1
| | | | Add strict mode for DNS-over-TLS, which will require TLS support from the server. Closes #10755
* meson: fix error messageYu Watanabe2019-06-171-1/+1
|
* Drop support for /usr/sbin/halt.localMichael Biebl2019-05-231-3/+0
| | | | | /usr/sbin/halt.local is a Fedora/Red Hat anachronism from pre-systemd times.
* Merge pull request #12510 from keszybz/test-directivesYu Watanabe2019-05-211-0/+10
|\ | | | | test: run check-directives.sh as part of the test suite
| * test: run check-directives.sh as part of the test suiteZbigniew Jędrzejewski-Szmek2019-05-201-0/+10
| |
* | Merge pull request #12519 from keszybz/man-on-demandYu Watanabe2019-05-211-0/+1
|\ \ | |/ |/| Build man pages on demand only
| * meson: add build/man/man and build/man/html to build and display pagesZbigniew Jędrzejewski-Szmek2019-05-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | Man page generation is generally very slow. I prefer to use -Dman=false when developing systemd, and only build specific pages when introducing changes. Those two little helper tools make it easy: $ build/man/man systemd.link $ build/man/html systemd.link will show systemd.link.8 and systemd.link.html from the build directory build/.
* | fuzzers: use -fsanitizer=fuzzer if clang supports itEvgeny Vereshchagin2019-05-141-2/+17
|/ | | | Closes https://github.com/systemd/systemd/issues/10645
* Merge pull request #11887 from evverx/fuzzbuzzLennart Poettering2019-05-081-32/+41
|\ | | | | tests: hook up fuzz targets to FuzzBuzz
| * tests: hook up fuzz targets to FuzzBuzzEvgeny Vereshchagin2019-05-071-32/+41
| |
* | shared/utmp-wtmp: silence gcc warning about strncpy truncationZbigniew Jędrzejewski-Szmek2019-05-071-0/+3
|/ | | | | | | | | Unfortunately the warning must be known, or otherwise the pragma generates a warning or an error. So let's do a meson check for it. Is it worth doing this to silence the warning? I think so, because apparently the warning was already emitted by gcc-8.1, and with the recent push in gcc to catch more such cases, we'll most likely only get more of those.
* Merge pull request #12218 from keszybz/use-libmount-moreLennart Poettering2019-04-301-0/+1
|\ | | | | Use libmount more
| * mount-tool: use libmount to parse /proc/self/mountinfoZbigniew Jędrzejewski-Szmek2019-04-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | Same motivation as in other places: let's use a single logic to parse this. Use path_equal() to compare the path. A bug in error handling is fixed: if we failed after the GREEDY_REALLOC but before the line that sets the last item to NULL, we would jump to _cleanup_strv_free_ with the strv unterminated. Let's use GREEDY_REALLOC0 to avoid the issue.
* | codespell: fix spelling errorsBen Boeckel2019-04-291-1/+1
|/
* tree-wide: drop several missing_*.h and import relevant headers from kernel-5.0Yu Watanabe2019-04-111-93/+0
|
* meson: drop misplaced -Wl,--undefined argumentJussi Pakkanen2019-04-071-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Ld's man page says the following: -u symbol --undefined=symbol Force symbol to be entered in the output file as an undefined symbol. Doing this may, for example, trigger linking of additional modules from standard libraries. -u may be repeated with different option arguments to enter additional undefined symbols. This option is equivalent to the "EXTERN" linker script command. If this option is being used to force additional modules to be pulled into the link, and if it is an error for the symbol to remain undefined, then the option --require-defined should be used instead. This would imply that it always requires an argument, which this does not pass. Thus it will grab the next argument on the command line as its argument. Before it took one of the many -lrt args (presumably) and now it grabs something other random linker argument and things break. [zj: this line was added in the first version of the meson configuration back in 5c23128daba7236a6080383b2a5649033cfef85c. AFAICT, this was a mistake. No such flag appeared in Makefile.am at the time.] https://github.com/mesonbuild/meson/issues/5113
* build-sys: bump package versionv242-rc2Zbigniew Jędrzejewski-Szmek2019-04-031-1/+1
|
* Merge pull request #12121 from poettering/contribv242-rc1Zbigniew Jędrzejewski-Szmek2019-04-031-2/+2
|\
| * meson: bump so versionsLennart Poettering2019-04-021-2/+2
| | | | | | | | | | Since we aren't quite ready for release v242 yet, let's not bump the package version yet, but let's already bump the soversion.
* | Revert "build: install /etc/systemd/{system,user}-generators"Lennart Poettering2019-04-021-2/+0
|/ | | | This reverts commit 509276f2b7d44d472b66e79cbfa531c1de4c3801.
* build: install /etc/systemd/{system,user}-generatorsTopi Miettinen2019-04-021-0/+2
| | | | | Manual page systemd.generators refers to /etc/systemd/{system,user}-generators, but the paths do not exist, so let's install them.
* meson: disable warnings about unused variables for NDEBUG buildsZbigniew Jędrzejewski-Szmek2019-03-281-0/+10
| | | | | | With assertions disabled, we'd get a bunch of warnings that really bring no value. With this change, a default meson build with -Db_ndebug=true generates no warnings.
* systemctl: split out some SysV compat stuff into its own C fileLennart Poettering2019-03-251-1/+4
| | | | | systemctl.c is way to large already. Let's split out some stuff out that is easy to split out.
* meson: add libseccomp as a nspawn dep (#12067)Franck Bui2019-03-221-1/+2
| | | | | | | | | Due to this specific change: d0b6a10#diff-0203416587516c224c8fcfe8129e7caeR8, systemd-nspawn uses libseccomp now if it is available. We we need to pass -I/usr/include /libseccomp (or wherever seccomp.h is located) when compiling systemd-nspawn because nspawn-settings.h does #include <seccomp.h>. Fixes: #12060
* Re-add uaccess tag for /dev/dri/renderD*Michael Biebl2019-03-141-1/+3
| | | | | | | | | | | Setting an access mode != 0666 is explicitly supported via -Dgroup-render-mode In such a case, re-add the uaccess tag. This is basically the same change that was done for /dev/kvm in commit fa53e24130af3a389573acb9585eadbf7192955f and ace5e3111c0b8d8bfd84b32f2c689b0a4d92c061 and partially reverts the changes from 4e15a7343cb389e97f3eb4f49699161862d8b8b2
* meson: scope more git invocations with current_source_dir()Davide Cavalca2019-03-121-15/+19
|
* build-sys: disable -Wstring-plus-intZbigniew Jędrzejewski-Szmek2019-03-071-1/+2
| | | | | clang-8 warns about constructs like "foobar"+3 (to get "bar"). We like to use patterns like this, so let's just disable the warning.
* Merge pull request #11898 from keszybz/meson-conv-libLennart Poettering2019-03-061-18/+10
|\ | | | | Use a convenience library for the sources shared between core/ and shutdown/
| * meson: use a convenience library for the sources shared between core/ and ↵Zbigniew Jędrzejewski-Szmek2019-03-051-18/+10
| | | | | | | | | | | | | | | | | | | | | | the outside This avoids double compilation. Those files are tiny, so it doesn't save time, but we avoid repeated warnings and errors, and it's generally cleaner to it this way. The number of commands in 'ninja -C build clean && ninja -C build' drops from 1462 to 1455 for me.
* | pkgconfig: avoid double slash with split-usr configurationZbigniew Jędrzejewski-Szmek2019-03-051-1/+3
|/ | | | | | | | | | | | | | | By defining rootprefix= we avoid a double slash in $systemdsystemunitdir and other variables. This fixes a regression introduced in 1c2c7c6cb3d92315624f3711114e86b0acfbce63 where the variables using rootprefix=/ would start with a double slash. This should be interpreted the same, but is certainly ugly. The rootprefix variable was added to systemd.pc in 1c2c7c6cb3d92315624f3711114e86b0acfbce63, so there is no question of backwards compatiblity. If people try to "override" the prefix and specify --define-variable=rootprefix=/, they will get a double slash, which should be OK, and is the same as --define-variable=rootprefix=/something/, which also results in a double slash somewhere in the strings.
* shutdown: rearrange shutdown sources in source treeLennart Poettering2019-03-051-0/+6
| | | | | | | | | | Let's move the shutdown binary into its own subdirectory in src/shutdown, after all it is relatively isolated from the normal PID 1 sources, being a different binary and all. Unfortunately it's not possible to move some of the code, since it is shared with PID 1, that I wished we could move, but I still think it's worth it.
* Merge pull request #11827 from keszybz/pkgconfig-variablesLennart Poettering2019-02-261-1/+2
|\ | | | | Allow overriding pkgconfig prefixes
| * pkgconfig: define variables relative to ${prefix}/${rootprefix}/${sysconfdir}Zbigniew Jędrzejewski-Szmek2018-11-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #4549. People want to be able to redefine the prefixes relative to which the other variables are defined. Something like pkgconf --define-variable=prefix=/home/user/installpath --variable=systemdsystemunitdir systemd I'm not convinced that this entirely useful, because the installed systemd will not look at those paths, but maybe it's OK as an alternative type of $DESTDIR. This has been requested a few times over the years, so let's just provide this. I thought this would be more complicated, since we allow all kinds of directories to be overrides in the compilation configuration. But it turns out that all the directories defined in systemd.pc are relative to three prefixes: $prefix, $rootprefix, and $sysconfdir. So this patch adds $rootprefix and $sysconfdir to the .pc file and then changes the subsequent definitions in the .pc file to use them. In the end we define each path twice using the same rules: once in meson.build and once in the .pc file. Without overrides: $ for i in $(pkgconf --with-path=build/src/core systemd --print-variables); do echo -n "$i = "; pkgconf --with-path=$PWD/build/src/core --variable=$i systemd done containeruidbasemax = 1878982656 containeruidbasemin = 524288 dynamicuidmax = 65519 dynamicuidmin = 61184 systemgidmax = 999 systemuidmax = 999 catalogdir = /usr/lib/systemd/catalog modulesloaddir = /usr/lib/modules-load.d binfmtdir = /usr/lib/binfmt.d sysctldir = /usr/lib/sysctl.d sysusersdir = /usr/lib/sysusers.d tmpfilesdir = /usr/lib/tmpfiles.d systemdshutdowndir = /usr/lib/systemd/system-shutdown systemdsleepdir = /usr/lib/systemd/system-sleep systemdusergeneratordir = /usr/lib/systemd/user-generators systemdsystemgeneratordir = /usr/lib/systemd/system-generators systemduserunitpath = /etc/systemd/user:/etc/systemd/user:/run/systemd/user:/usr/local/lib/systemd/user:/usr/local/share/systemd/user:/usr/lib/systemd/user:/usr/lib/systemd/user:/usr/share/systemd/user systemdsystemunitpath = /etc/systemd/system:/etc/systemd/system:/run/systemd/system:/usr/local/lib/systemd/system:/usr/lib/systemd/system:/usr/lib/systemd/system:/lib/systemd/system systemduserconfdir = /etc/systemd/user systemdsystemconfdir = /etc/systemd/system systemduserpresetdir = /usr/lib/systemd/user-preset systemduserunitdir = /usr/lib/systemd/user systemdsystempresetdir = /usr/lib/systemd/system-preset systemdsystemunitdir = /usr/lib/systemd/system systemdutildir = /usr/lib/systemd sysconfdir = /etc rootprefix = /usr prefix = /usr pcfiledir = /usr/share/pkgconfig With overrides: $ for i in $(pkgconf --with-path=build/src/core systemd --print-variables); do echo -n "$i = "; pkgconf --with-path=$PWD/build/src/core \ --define-variable=prefix=/PREFIX \ --define-variable=rootprefix=/ROOTPREFIX \ --define-variable=sysconfdir=/SYSCONF --variable=$i systemd done containeruidbasemax = 1878982656 containeruidbasemin = 524288 dynamicuidmax = 65519 dynamicuidmin = 61184 systemgidmax = 999 systemuidmax = 999 catalogdir = /PREFIX/lib/systemd/catalog modulesloaddir = /PREFIX/lib/modules-load.d binfmtdir = /PREFIX/lib/binfmt.d sysctldir = /PREFIX/lib/sysctl.d sysusersdir = /PREFIX/lib/sysusers.d tmpfilesdir = /PREFIX/lib/tmpfiles.d systemdshutdowndir = /ROOTPREFIX/lib/systemd/system-shutdown systemdsleepdir = /ROOTPREFIX/lib/systemd/system-sleep systemdusergeneratordir = /PREFIX/lib/systemd/user-generators systemdsystemgeneratordir = /ROOTPREFIX/lib/systemd/system-generators systemduserunitpath = /SYSCONF/systemd/user:/etc/systemd/user:/run/systemd/user:/usr/local/lib/systemd/user:/usr/local/share/systemd/user:/PREFIX/lib/systemd/user:/usr/lib/systemd/user:/usr/share/systemd/user systemdsystemunitpath = /SYSCONF/systemd/system:/etc/systemd/system:/run/systemd/system:/usr/local/lib/systemd/system:/ROOTPREFIX/lib/systemd/system:/usr/lib/systemd/system:/lib/systemd/system systemduserconfdir = /SYSCONF/systemd/user systemdsystemconfdir = /SYSCONF/systemd/system systemduserpresetdir = /PREFIX/lib/systemd/user-preset systemduserunitdir = /PREFIX/lib/systemd/user systemdsystempresetdir = /ROOTPREFIX/lib/systemd/system-preset systemdsystemunitdir = /ROOTPREFIX/lib/systemd/system systemdutildir = /usr/lib/systemd sysconfdir = /SYSCONF rootprefix = /ROOTPREFIX prefix = /PREFIX pcfiledir = /usr/share/pkgconfig (pkgconf doesn't provide a way to print all variables together with their definitions, according to the man page. Disappointing.)
* | meson: declare version.h as dependency for systemdMichael Olbrich2019-02-251-1/+2
| | | | | | | | | | This is a followup to #11815 and adds the last missing dependency. With this #11565 is hopefully really fixed.
* | Merge pull request #11798 from keszybz/mem-sanitizer-fixLennart Poettering2019-02-251-0/+1
|\ \ | | | | | | meson: make sure preprocesor warnings are not treated as errors
| * | meson: make sure preprocesor warnings are not treated as errorsZbigniew Jędrzejewski-Szmek2019-02-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Clang includes -W#warning in -Werror, so the #warning used for msan would be an error. v2: - use -Wno-error=... so that the warning is still emitted, but not as an error.
* | | meson: declare version.h as dep for various targets that include build.hZbigniew Jędrzejewski-Szmek2019-02-251-6/+13
|/ / | | | | | | Should fix #11565.
* | Merge pull request #10408 from keszybz/analyze-cat-presetsLennart Poettering2019-02-181-1/+0
|\ \ | | | | | | systemd-analyze cat-presets
| * | meson: drop unused "udevhomedir"Zbigniew Jędrzejewski-Szmek2019-02-181-1/+0
| | |
* | | meson: drop unused HAVE_STRUCT_FIB_RULE_{UID,PORT}_RANGEYu Watanabe2019-02-181-4/+0
|/ /
* | build-sys: bump package/library versionsv241-rc1Zbigniew Jędrzejewski-Szmek2019-01-261-3/+3
| | | | | | | | We added sd_bus_close_unref().