mirror of
https://github.com/systemd/systemd
synced 2026-04-13 10:35:08 +02:00
Compare commits
No commits in common. "ba900c1719549f09bb388207e5b879af99423acc" and "e91aa2ea23e17c3f589376aab626adc2096e97c7" have entirely different histories.
ba900c1719
...
e91aa2ea23
2
.github/workflows/mkosi.yml
vendored
2
.github/workflows/mkosi.yml
vendored
@ -40,7 +40,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579
|
- uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579
|
||||||
- uses: systemd/mkosi@30288805db1a953ea31045933adb93194f91e3da
|
- uses: systemd/mkosi@01ea953fd2af738f974b228991c768c12b50db95
|
||||||
|
|
||||||
- name: Install
|
- name: Install
|
||||||
run: sudo apt-get update && sudo apt-get install --no-install-recommends python3-pexpect python3-jinja2
|
run: sudo apt-get update && sudo apt-get install --no-install-recommends python3-pexpect python3-jinja2
|
||||||
|
|||||||
41
meson.build
41
meson.build
@ -989,32 +989,12 @@ if want_bpf_framework == 'false'
|
|||||||
else
|
else
|
||||||
# Support 'versioned' clang/llvm-strip binaries, as seen on Debian/Ubuntu
|
# Support 'versioned' clang/llvm-strip binaries, as seen on Debian/Ubuntu
|
||||||
# (like clang-10/llvm-strip-10)
|
# (like clang-10/llvm-strip-10)
|
||||||
if meson.is_cross_build() or cc.get_id() != 'clang' or cc.cmd_array()[0].contains('afl-clang') or cc.cmd_array()[0].contains('hfuzz-clang')
|
clang_bin = cc.get_id() == 'clang' ? cc.cmd_array()[0] : 'clang'
|
||||||
r = find_program('clang', required : bpf_framework_required)
|
if meson.is_cross_build() or clang_bin.contains('afl-clang') or clang_bin.contains('hfuzz-clang')
|
||||||
clang_found = r.found()
|
clang_bin = 'clang'
|
||||||
if clang_found
|
|
||||||
if meson.version().version_compare('>= 0.55')
|
|
||||||
clang = [r.full_path()]
|
|
||||||
else
|
|
||||||
clang = [r.path()]
|
|
||||||
endif
|
endif
|
||||||
endif
|
clang = find_program(clang_bin, required : bpf_framework_required)
|
||||||
# Assume that the required flags are supported by the found clang.
|
if not meson.is_cross_build() and clang.found()
|
||||||
clang_supports_flags = clang_found
|
|
||||||
else
|
|
||||||
clang_found = true
|
|
||||||
clang = cc.cmd_array()
|
|
||||||
clang_supports_flags = cc.has_argument('-Wno-compare-distinct-pointer-types')
|
|
||||||
endif
|
|
||||||
|
|
||||||
if clang_found
|
|
||||||
# Check if 'clang -target bpf' is supported.
|
|
||||||
clang_supports_bpf = run_command(clang, '-target', 'bpf', '--print-supported-cpus', check : false).returncode() == 0
|
|
||||||
else
|
|
||||||
clang_supports_bpf = false
|
|
||||||
endif
|
|
||||||
|
|
||||||
if not meson.is_cross_build() and clang_found
|
|
||||||
llvm_strip_bin = run_command(clang, '--print-prog-name', 'llvm-strip',
|
llvm_strip_bin = run_command(clang, '--print-prog-name', 'llvm-strip',
|
||||||
check : true).stdout().strip()
|
check : true).stdout().strip()
|
||||||
else
|
else
|
||||||
@ -1024,14 +1004,9 @@ else
|
|||||||
|
|
||||||
# Debian installs this in /usr/sbin/ which is not in $PATH.
|
# Debian installs this in /usr/sbin/ which is not in $PATH.
|
||||||
# We check for 'bpftool' first, honouring $PATH, and in /usr/sbin/ for Debian.
|
# We check for 'bpftool' first, honouring $PATH, and in /usr/sbin/ for Debian.
|
||||||
# We use 'bpftool gen' subcommand, it was added by 985ead416df39d6fe8e89580cc1db6aa273e0175 (v5.6).
|
bpftool = find_program('bpftool', '/usr/sbin/bpftool', required : bpf_framework_required)
|
||||||
bpftool = find_program('bpftool',
|
|
||||||
'/usr/sbin/bpftool',
|
|
||||||
required : bpf_framework_required,
|
|
||||||
version : '>= 5.6')
|
|
||||||
|
|
||||||
deps_found = libbpf.found() and clang_found and clang_supports_bpf and clang_supports_flags and llvm_strip.found() and bpftool.found()
|
|
||||||
|
|
||||||
|
deps_found = libbpf.found() and clang.found() and llvm_strip.found() and bpftool.found()
|
||||||
# Can build BPF program from source code in restricted C
|
# Can build BPF program from source code in restricted C
|
||||||
conf.set10('BPF_FRAMEWORK', deps_found)
|
conf.set10('BPF_FRAMEWORK', deps_found)
|
||||||
endif
|
endif
|
||||||
@ -3901,7 +3876,7 @@ if git.found()
|
|||||||
command : [env, 'etags', '-o', '@0@/TAGS'.format(project_source_root)] + all_files)
|
command : [env, 'etags', '-o', '@0@/TAGS'.format(project_source_root)] + all_files)
|
||||||
run_target(
|
run_target(
|
||||||
'ctags',
|
'ctags',
|
||||||
command : [env, 'ctags', '--tag-relative=never', '-o', '@0@/tags'.format(project_source_root)] + all_files)
|
command : [env, 'ctags', '-o', '@0@/tags'.format(project_source_root)] + all_files)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
[Distribution]
|
[Distribution]
|
||||||
Distribution=debian
|
Distribution=debian
|
||||||
Release=testing
|
Release=unstable
|
||||||
|
|
||||||
[Packages]
|
[Packages]
|
||||||
BuildPackages=
|
BuildPackages=
|
||||||
|
|||||||
@ -1314,15 +1314,11 @@ static int append_cgroup(sd_bus_message *reply, const char *p, Set *pids) {
|
|||||||
for (;;) {
|
for (;;) {
|
||||||
pid_t pid;
|
pid_t pid;
|
||||||
|
|
||||||
/* libvirt / qemu uses threaded mode and cgroup.procs cannot be read at the lower levels.
|
|
||||||
* From https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html#threads,
|
|
||||||
* “cgroup.procs” in a threaded domain cgroup contains the PIDs of all processes in
|
|
||||||
* the subtree and is not readable in the subtree proper. */
|
|
||||||
r = cg_read_pid(f, &pid);
|
r = cg_read_pid(f, &pid);
|
||||||
if (IN_SET(r, 0, -EOPNOTSUPP))
|
|
||||||
break;
|
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
if (r == 0)
|
||||||
|
break;
|
||||||
|
|
||||||
if (is_kernel_thread(pid) > 0)
|
if (is_kernel_thread(pid) > 0)
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@ -89,6 +89,7 @@ static int show_cgroup_one_by_path(
|
|||||||
_cleanup_fclose_ FILE *f = NULL;
|
_cleanup_fclose_ FILE *f = NULL;
|
||||||
_cleanup_free_ char *p = NULL;
|
_cleanup_free_ char *p = NULL;
|
||||||
size_t n = 0;
|
size_t n = 0;
|
||||||
|
pid_t pid;
|
||||||
char *fn;
|
char *fn;
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
@ -101,18 +102,7 @@ static int show_cgroup_one_by_path(
|
|||||||
if (!f)
|
if (!f)
|
||||||
return -errno;
|
return -errno;
|
||||||
|
|
||||||
for (;;) {
|
while ((r = cg_read_pid(f, &pid)) > 0) {
|
||||||
pid_t pid;
|
|
||||||
|
|
||||||
/* libvirt / qemu uses threaded mode and cgroup.procs cannot be read at the lower levels.
|
|
||||||
* From https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html#threads,
|
|
||||||
* “cgroup.procs” in a threaded domain cgroup contains the PIDs of all processes in
|
|
||||||
* the subtree and is not readable in the subtree proper. */
|
|
||||||
r = cg_read_pid(f, &pid);
|
|
||||||
if (IN_SET(r, 0, -EOPNOTSUPP))
|
|
||||||
break;
|
|
||||||
if (r < 0)
|
|
||||||
return r;
|
|
||||||
|
|
||||||
if (!(flags & OUTPUT_KERNEL_THREADS) && is_kernel_thread(pid) > 0)
|
if (!(flags & OUTPUT_KERNEL_THREADS) && is_kernel_thread(pid) > 0)
|
||||||
continue;
|
continue;
|
||||||
@ -123,6 +113,9 @@ static int show_cgroup_one_by_path(
|
|||||||
pids[n++] = pid;
|
pids[n++] = pid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (r < 0)
|
||||||
|
return r;
|
||||||
|
|
||||||
show_pid_array(pids, n, prefix, n_columns, false, more, flags);
|
show_pid_array(pids, n, prefix, n_columns, false, more, flags);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@ -333,7 +333,7 @@ TEST_RET(copy_holes) {
|
|||||||
assert_se(fd >= 0);
|
assert_se(fd >= 0);
|
||||||
|
|
||||||
fd_copy = mkostemp_safe(fn_copy);
|
fd_copy = mkostemp_safe(fn_copy);
|
||||||
assert_se(fd_copy >= 0);
|
assert_se(fd >= 0);
|
||||||
|
|
||||||
r = RET_NERRNO(fallocate(fd, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 1));
|
r = RET_NERRNO(fallocate(fd, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 1));
|
||||||
if (ERRNO_IS_NOT_SUPPORTED(r))
|
if (ERRNO_IS_NOT_SUPPORTED(r))
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user