| Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
mkosi will always run all commands with the C.UTF-8 locale so we
don't need a workaround in the build script anymore.
|
|
Build scripts will always run in an environment with /etc/ available
now, so we don't need this workaround anymore.
|
|
|
|
When running in a container, like podman, docker or so, creating new mount
namespace may be disabled.
Fixes #26474.
Fixes RHBZ#2165004 (https://bugzilla.redhat.com/show_bug.cgi?id=2165004).
|
|
|
|
|
|
In 6abe882bae1bb12827ef395c60f21ab8bb1bc61b the renderer was made to
unconditionally append a newline to output. This works, but is ugly. A nicer
solution is to tell jinja2 to not strip the newline in the first place, via
keep_trailing_newline=True. It seems that the result is unchanged because all
our source files have exactly one trailing newline.
Also, enable lstrip_blocks=True. This would cause whitespace on the line before
an {%if block to be automatically stripped. It seems reasonable to enable that
if trim_blocks=True.
Overall, no change is expected, though I didn't test combinations of
configurations, so there might be a change in some cases. But now the rules of
rendering are more logical, e.g. we should be able to indent nested conditional
statements without getting unexpected whitespace in the output.
|
|
Let's skip parsing of some irrelevant information that we don't use
to speed up building UKIs with large initrds from +-15s to less than
1s.
|
|
|
|
Let's hide the hard to grasp 62 behind a name.
|
|
We should be more careful with distinguishing the cases "all bits set in
caps mask" from "cap mask invalid". We so far mostly used UINT64_MAX for
both, which is not correct though (as it would mean
AmbientCapabilities=~0 followed by AmbientCapabilities=0) would result
in capability 63 to be set (which we don't really allow, since that
means unset).
|
|
The rest of our codebase stores caps masks in a uint64_t, and also
assumes UINT64_MAX was a suitable value for "unset mask". Hence refuse
any caps outside of 0…62.
(right now the kernel knows 40 caps, hence 22 more to go before we have
to reconsider our life's choices.)
|
|
Let's use strextend_with_separator() and CAPABILITY_TO_STRING().
|
|
allocate fallback buffer
Let's add a helper that can return a numeric string in case we don't
recognize a name for a capability.
|
|
We refuse it otherwise currently, simply because we cannot store it in a
uint64_t caps mask value anymore while retaining the ability to use
UINT64_MAX as "unset" marker.
The check actually was in place already, just one off.
|
|
Make return parameter optional. And return whether there were any caps
we didn't recognize via 0/1 return value.
|
|
We typically don't use the _alloc() suffix anymore for anything, hence
drop it here too.
|
|
|
|
r and R take globs, so let's name the argument appropriately in the tl;dr listing.
Also, use 'clean-up' in the file name where it represents the verb "clean up",
and other minor spelling adjustments.
|
|
In 6a34639e76b8b59233a97533b13836d5a44e8d4a arg_hwdb_bin_dir was replaced by
default_hwdb_bin_dir, which is constant. Generally we'd use a #define instead,
but since there's just one use, let's just avoid the indirection altogether.
|
|
Fixes https://github.com/systemd/systemd/issues/26493
|
|
|
|
|
|
|
|
Let's keep all the timeout definitions in one place.
|
|
Also add mac_smack_apply_at() as its a requirement for
renameat_and_apply_smack_floor_label().
|
|
|
|
|
|
|
|
No functional change, as currently the function is always called with
non-NULL argument. Just a preparation for #26048 or #25839.
|
|
The priority of device node symlink can be negative. So the
initialization is confusing.
Fortunately, this changes no functionality, as we only compare the
priorities of symlinks only when we parsed at least one device node and
its priority.
|
|
gcov is incompatible with DynamicUser=true without additional tweaks, so
let's ignore its complaints in this test, as working around it is not
worth it (in this case).
|
|
Otherwise we might get unexpected test fails due to SIGPIPE:
```
[ 14.334917] testsuite-74.sh[565]: + grep -q '^root:.*:0:0:.*:/bin/fooshell$' test-root/etc/passwd
[ 14.335670] testsuite-74.sh[681]: + systemd-firstboot --root=test-root --prompt-root-shell
[ 14.336382] testsuite-74.sh[680]: + echo -ne '\n/bin/barshell\n'
[ 14.336980] testsuite-74.sh[680]: .//usr/lib/systemd/tests/testdata/units/testsuite-74.firstboot.sh: line 166: echo: write error: Broken pipe
```
|
|
systemctl disable some.service fails to acquire interactive permission
because the DisableUnitFilesWithFlagsAndInstallInto method isn't permitted
|
|
|
|
Then, the two error handlings becomes consistent with the one in
execute_directories().
|
|
This is useful for debugging issues like #26474.
|
|
There is a double free of unit_name when an instance is used, causing
systemctl --user edit service@instance to abort.
|
|
Previously, we skip the entries before arg_lines
unconditionally, which doesn't behave correctly
when used with --grep. After this commit, when
a pattern is specified, we don't skip the entries
early, but rely on the count of the lines shown
to tell us when to stop. To achieve that we would
have to search backwards instead.
Fixes #25147
|
|
Fixes a bug introduced by da4fd28871227d23d4719e30da03af5a71f47e5a.
|
|
|
|
|
|
Follow-up for a2b052b29f8bc141e94a4af95d1653a38a57eaeb.
|
|
|
|
|
|
This substantially reworks mempool_cleanup() so that it releases pools
with all freed tiles only, but keeps all pools with still-allocated
tiles around.
This is more correct, as the previous implementation just released all
pools regardless if anything was still used or not. This would make
valgrind shut up but would just hide memory leaks altogether. Moreover
if called during regular runtime of a program would result in bad memory
accesses all over.
Hence, let's add a proper implementation and only trim pools we really
know are empty.
This way we can safely call these functions later, when under memory
pressure, at any time.
|
|
To match how we usually do this current allocation code.
(Also, make it accept a NULL pointer, also in order to match behaviour
in the rest of our codebase)
|
|
This new helper returns the beginning of the usable area of the pool
object.
For now this is only used once, a later commit will use it more.
|