Yu Watanabe
db9ecf0501
license: LGPL-2.1+ -> LGPL-2.1-or-later
2020-11-09 13:23:58 +09:00
Michal Koutný
0bc2f071e1
meson: Fix missing libseccomp dependencies
...
The builds with HAVE_SECCOMP fail on missing include paths:
FAILED: src/basic/libbasic.a.p/parse-util.c.o
cc -Isrc/basic/libbasic.a.p -Isrc/basic -I../src/basic -Isrc/boot -I../src/boot -Isrc/home -I../src/home -Isrc/shared -I../src/shared -Isrc/systemd -I../src/systemd -Isrc/journal -I../src/journal -Isrc/journal-remote -I../src/journal-remote -Isrc/nspawn -I../src/nspawn -Isrc/resolve -I../src/resolve -Isrc/timesync -I../src/timesync -I../src/time-wait-sync -Isrc/login -I../src/login -Isrc/udev -I../src/udev -Isrc/libudev -I../src/libudev -Isrc/core -I../src/core -Isrc/shutdown -I../src/shutdown -I../src/xdg-autostart-generator -I../src/libsystemd/sd-bus -I../src/libsystemd/sd-device -I../src/libsystemd/sd-event -I../src/libsystemd/sd-hwdb -I../src/libsystemd/sd-id128 -I../src/libsystemd/sd-netlink -I../src/libsystemd/sd-network -I../src/libsystemd/sd-resolve -Isrc/libsystemd-network -I../src/libsystemd-network -I. -I.. -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=gnu99 -g -Wno-unused-parameter -Wno-missing-field-initializers -Wno-unused-result -Wno-format-signedness -Werror=undef -Wlogical-op -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wsuggest-attribute=noreturn -Werror=missing-prototypes -Werror=implicit-function-declaration -Werror=missing-declarations -Werror=return-type -Werror=incompatible-pointer-types -Werror=format=2 -Wstrict-prototypes -Wredundant-decls -Wmissing-noreturn -Wimplicit-fallthrough=5 -Wshadow -Wendif-labels -Wstrict-aliasing=2 -Wwrite-strings -Werror=overflow -Werror=shift-count-overflow -Werror=shift-overflow=2 -Wdate-time -Wnested-externs -Wno-maybe-uninitialized -ffast-math -fno-common -fdiagnostics-show-option -fno-strict-aliasing -fvisibility=hidden -fstack-protector -fstack-protector-strong --param=ssp-buffer-size=4 -Werror=shadow -include config.h -fPIC -pthread -fvisibility=default -MD -MQ src/basic/libbasic.a.p/parse-util.c.o -MF src/basic/libbasic.a.p/parse-util.c.o.d -o src/basic/libbasic.a.p/parse-util.c.o -c ../src/basic/parse-util.c
In file included from ../src/basic/parse-util.c:20:
../src/shared/seccomp-util.h:4:10: fatal error: seccomp.h: No such file or directory
4 | #include <seccomp.h>
| ^~~~~~~~~~~
compilation terminated.
FAILED: test-parse-util.p/src_test_test-parse-util.c.o
cc -Itest-parse-util.p -I. -I.. -Isrc/basic -I../src/basic -Isrc/boot -I../src/boot -Isrc/home -I../src/home -Isrc/shared -I../src/shared -Isrc/systemd -I../src/systemd -Isrc/journal -I../src/journal -Isrc/journal-remote -I../src/journal-remote -Isrc/nspawn -I../src/nspawn -Isrc/resolve -I../src/resolve -Isrc/timesync -I../src/timesync -I../src/time-wait-sync -Isrc/login -I../src/login -Isrc/udev -I../src/udev -Isrc/libudev -I../src/libudev -Isrc/core -I../src/core -Isrc/shutdown -I../src/shutdown -I../src/xdg-autostart-generator -I../src/libsystemd/sd-bus -I../src/libsystemd/sd-device -I../src/libsystemd/sd-event -I../src/libsystemd/sd-hwdb -I../src/libsystemd/sd-id128 -I../src/libsystemd/sd-netlink -I../src/libsystemd/sd-network -I../src/libsystemd/sd-resolve -Isrc/libsystemd-network -I../src/libsystemd-network -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=gnu99 -g -Wno-unused-parameter -Wno-missing-field-initializers -Wno-unused-result -Wno-format-signedness -Werror=undef -Wlogical-op -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wsuggest-attribute=noreturn -Werror=missing-prototypes -Werror=implicit-function-declaration -Werror=missing-declarations -Werror=return-type -Werror=incompatible-pointer-types -Werror=format=2 -Wstrict-prototypes -Wredundant-decls -Wmissing-noreturn -Wimplicit-fallthrough=5 -Wshadow -Wendif-labels -Wstrict-aliasing=2 -Wwrite-strings -Werror=overflow -Werror=shift-count-overflow -Werror=shift-overflow=2 -Wdate-time -Wnested-externs -Wno-maybe-uninitialized -ffast-math -fno-common -fdiagnostics-show-option -fno-strict-aliasing -fvisibility=hidden -fstack-protector -fstack-protector-strong --param=ssp-buffer-size=4 -Werror=shadow -include config.h -MD -MQ test-parse-util.p/src_test_test-parse-util.c.o -MF test-parse-util.p/src_test_test-parse-util.c.o.d -o test-parse-util.p/src_test_test-parse-util.c.o -c ../src/test/test-parse-util.c
In file included from ../src/test/test-parse-util.c:14:
../src/shared/seccomp-util.h:4:10: fatal error: seccomp.h: No such file or directory
4 | #include <seccomp.h>
| ^~~~~~~~~~~
compilation terminated.
Add the respective deps.
Fixes: 005bfaf118
("exec: Add kill action to system call filters")
2020-10-16 12:30:24 +09:00
Zbigniew Jędrzejewski-Szmek
69c0807432
Merge pull request #15206 from anitazha/systoomd-v0
...
systemd-oomd
2020-10-15 14:16:52 +02:00
Anita Zhang
510ca79cf2
parse-util: add parse_loadavg_fixed_point
2020-10-07 16:17:24 -07:00
Yu Watanabe
b2f61e0da0
basic: import linux/ipv6_route.h
2020-10-07 15:22:09 +02:00
Yu Watanabe
473a64e569
meson: add missing files
2020-10-07 15:22:09 +02:00
Lennart Poettering
49b19567d6
dlfcn-util: add dlsym_many_and_warn() helper
...
When we dlopen() some library we most likely will resolve more than a
few symbols, hence add a helper that makes it easy.
2020-06-25 09:27:11 +02:00
Lennart Poettering
88d775b734
util: add dlfcn-util.h
...
This just adds a _cleanup_ helper call encapsulating dlclose().
This also means libsystemd-shared is linked against libdl now. I don't
think this is much of an issue, since libdl is part of glibc anyway, and
anything from exotic. It's not an optional part of the OS (think: NSS
requires dynamic linking), hence this pulls in no deps and is almost
certainly loaded into all process' memory anyway.
[zj: use DEFINE_TRIVIAL_CLEANUP_FUNC().]
2020-06-23 17:23:27 +02:00
Lennart Poettering
fef7397022
Merge pull request #15251 from keszybz/coverity-fixes
...
A few small fixups for stuff found by coverity
2020-03-30 17:18:35 +02:00
Zbigniew Jędrzejewski-Szmek
29d4392ca0
basic: add _cleanup_ wrappers for pthread_mutex_{lock,unlock}
...
I put the helper functions in a separate header file, because they don't fit
anywhere else. pthread_mutex_{lock,unlock} is used in two places: nss-systemd
and hashmap. I don't indent to convert hashmap to use the helpers, because
there it'd make the code more complicated. Is it worth to create a new header
file even if the only use is in nss-systemd.c? I think yes, because it feels
clean and also I think it's likely that pthread_mutex_{lock,unlock} will be
used in other places later.
2020-03-28 13:29:39 +01:00
Zbigniew Jędrzejewski-Szmek
09e6443ef4
Move path-lookup.c to src/basic
...
I want to use it from sd-path later on so it needs to be moved out of
src/shared (libsystemd is not allowed to use code from src/shared).
2020-03-27 20:12:44 +01:00
Lennart Poettering
845a7c1fc1
basic: add quota-util.[ch] with some helpers for the Linux quotactl() API
2019-12-17 20:03:40 +01:00
Yu Watanabe
f5947a5e92
tree-wide: drop missing.h
2019-10-31 17:57:03 +09:00
Zbigniew Jędrzejewski-Szmek
0e7f5ad9d3
Move PLYMOUTH_SOCKET define to def.h and nuke plymouth-util.h
...
Let's not have a file with a single define.
2019-10-24 11:48:08 +02:00
Zbigniew Jędrzejewski-Szmek
8a2c82ac88
Remove unused plymouth_running() function
2019-10-24 11:48:08 +02:00
Zbigniew Jędrzejewski-Szmek
0bb2f0f10e
util-lib: split shared/efivars into basic/efivars and shared/efi-loader
...
I want to use efivars.[ch] in proc-cmdline.c, but most of the efivars stuff is
not needed in basic/. Move the file from shared/ to basic/, but then move back
most of the higher-level functions to the new shared/efi-loader.c file.
2019-09-16 18:08:53 +02:00
Yu Watanabe
7f686722f7
util: introduce format_ifname()
2019-05-29 14:21:19 +09:00
Yu Watanabe
ac9b17271f
linux: import if_ether.h from kernel-5.0
...
kernel-4.15's if_ether.h has a bug that the header does not provide
'struct ethhdr'. The bug is introduced by
6926e041a8920c8ec27e4e155efa760aa01551fd (4.15-rc8)
and fixed by da360299b6734135a5f66d7db458dcc7801c826a (4.16-rc3).
This makes systemd built with kernel-4.15 headers.
Fixes #12319 .
2019-04-16 10:27:01 +02:00
Yu Watanabe
aa81290495
linux: also import l2tp.h from kernel-5.0
...
The L2TP_ATTR_UDP_ZERO_CSUM6_{TX,RX} attributes are introduced by
6b649feafe10b293f4bd5a74aca95faf625ae525, which is included in
kernel-3.16. To support older kernel, let's import the header.
Fixes #12300 .
2019-04-13 22:51:05 +09:00
Yu Watanabe
7057b6144f
linux: also import linux/in.h and in6.h from kernel-5.0
...
Now linux/in.h has better conflict detection with glibc's
netinet/in.h. So, let's import the headers.
Note that our code already have many workarounds for the conflict,
but in this commit does not drop them. Let's do that in the later
commits if this really helps.
2019-04-13 22:44:21 +09:00
Yu Watanabe
76566792e3
linux: move netdevice.h from shared/linux to basic/linux
...
As the header linux/if_arp.h includes linux/netdevice.h.
2019-04-13 22:43:59 +09:00
Yu Watanabe
45cae4abfb
linux: import if_macsec.h from kernel-5.0
...
MACsec is introduced since kernel-4.6. Let's support order kernels.
2019-04-12 10:12:30 +09:00
Yu Watanabe
01234e1fe7
tree-wide: drop several missing_*.h and import relevant headers from kernel-5.0
2019-04-11 19:00:37 +02:00
Lennart Poettering
d8b4d14df4
util: split out nulstr related stuff to nulstr-util.[ch]
2019-03-14 13:25:52 +01:00
Lennart Poettering
f05e1d0d9f
util: split out kbd related stuff
...
This stuff is neither generic enough to be in def.h, nor really has much
to do with locale, hence give it its own .c/.h file pair.
2019-03-14 13:25:51 +01:00
Lennart Poettering
2b2fec7db0
util: split out errno related stuff
2019-03-14 13:25:51 +01:00
Lennart Poettering
e56f9ffe51
util: split out plymouth related stuff
2019-03-14 13:25:51 +01:00
Lennart Poettering
760877e90c
util: split out sorting related calls to new sort-util.[ch]
2019-03-13 12:16:43 +01:00
Lennart Poettering
0a9707187b
util: split out memcmp()/memset() related calls into memory-util.[ch]
...
Just some source rearranging.
2019-03-13 12:16:43 +01:00
Lennart Poettering
eefc66aa8f
util: split out some stuff into a new file limits-util.[ch]
2019-03-13 12:16:43 +01:00
Lennart Poettering
0cb8e3d118
util: split out namespace related stuff into a new namespace-util.[ch] pair
...
Just some minor reorganiztion.
2019-03-13 12:16:38 +01:00
Zbigniew Jędrzejewski-Szmek
311b63fef8
Remove now-unused refcnt.h
2019-03-04 14:16:39 +01:00
Louis Taylor
d1084aa2f8
meson: make version a dependency and use it in libbasic
...
This should hopefully ensure it gets generated before basic build
happens.
Fixes #11483 .
2019-01-22 14:39:38 +01:00
Zbigniew Jędrzejewski-Szmek
df93e8ef05
meson: declare version.h as dep for libbasic
...
"meson build && ninja -C build systemd-cat" would fail on missing version.h.
Fixes #11335 .
2019-01-05 13:30:23 +01:00
Zbigniew Jędrzejewski-Szmek
681bd2c524
meson: generate version tag from git
...
$ build/systemctl --version
systemd 239-3555-g6178cbb5b5
+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN +PCRE2 default-hierarchy=hybrid
$ git tag v240 -m 'v240'
$ ninja -C build
ninja: Entering directory `build'
[76/76] Linking target fuzz-unit-file.
$ build/systemctl --version
systemd 240
+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN +PCRE2 default-hierarchy=hybrid
This is very useful during development, because a precise version string is
embedded in the build product and displayed during boot, so we don't have to
guess answers for questions like "did I just boot the latest version or the one
from before?".
This change creates an overhead for "noop" builds. On my laptop, 'ninja -C
build' that does nothing goes from 0.1 to 0.5 s. It would be nice to avoid
this, but I think that <1 s is still acceptable.
Fixes #7183 .
PACKAGE_VERSION is renamed to GIT_VERSION, to make it obvious that this is the
more dynamically changing version string.
Why save to a file? It would be easy to generate the version tag using
run_command(), but we want to go through a file so that stuff gets rebuilt when
this file changes. If we just defined an variable in meson, ninja wouldn't know
it needs to rebuild things.
2018-12-21 13:43:20 +01:00
Yu Watanabe
5b139f86a6
missing: re-add drm related entries
...
This effectively reverts dab28f0905
.
Fixes #11075 .
2018-12-07 12:46:55 +01:00
Yu Watanabe
0b7d48f5f4
af-list,arphrd-list: also include relevant missing_*.h headers
2018-12-07 11:48:41 +09:00
Yu Watanabe
18bf324ab5
journal: use missing_audit.h to generate audit_type-list.txt
2018-12-07 11:48:37 +09:00
Yu Watanabe
54480d649f
cap-list: use missing_capabilty.h to generate list of capabilities
2018-12-07 11:31:22 +09:00
Zbigniew Jędrzejewski-Szmek
871fa294ff
Merge pull request #10935 from poettering/rlimit-nofile-safe
...
Merged by hand to resolve a trivial conflict in TODO.
2018-12-06 17:19:21 +01:00
Yu Watanabe
503f480f8e
missing: move fs or mount related definitions to missing_fs.h
...
This also fixes errnous definition MS_REC -> MS_SLAVE.
2018-12-06 13:30:43 +01:00
Yu Watanabe
22332e339b
missing: move sched.h related definitions to missing_sched.h
2018-12-06 13:28:28 +01:00
Yu Watanabe
470f348b97
missing: move definition of secure_getenv() to missing_stdlib.h
2018-12-06 13:26:55 +01:00
Yu Watanabe
b19bb11142
missing: move rand related definitions to missing_random.h
2018-12-06 13:26:55 +01:00
Yu Watanabe
c8a363eb15
missing: add memfd related definitions to missing_mman.h
2018-12-06 13:25:24 +01:00
Yu Watanabe
d7330b60a9
missing: move timer related definition to missing_timerfd.h
2018-12-06 13:25:24 +01:00
Yu Watanabe
66ffbdf933
missing: move socket related definitions to missing_socket.h
2018-12-06 13:25:24 +01:00
Yu Watanabe
dea72eda9c
missing: move fcntl related definitions to missing_fcntl.h
2018-12-06 13:25:24 +01:00
Yu Watanabe
6c76de27ee
missing: move resource related definitions to missing_resource.h
2018-12-06 13:25:24 +01:00
Yu Watanabe
0e7117d001
missing: move audit related definitions to missing_audit.h
2018-12-06 13:25:24 +01:00