1
0
mirror of https://github.com/systemd/systemd synced 2025-11-06 18:34:46 +01:00

Compare commits

...

22 Commits

Author SHA1 Message Date
Daan De Meyer
307f904d6f mkosi: Disable lto feature of systemd spec
This makes sure the systemd spec doesn't check if LTO is working as
expected when it is actually disabled.

(cherry picked from commit a835537f75875bdc1a5d49b82c99c0fccd598366)
2025-11-06 14:13:33 +00:00
Yu Watanabe
00d11b0fb9 libsystemd: drop unused header
Follow-up for 2dbf1c0f1556bcf8fbab2491ec0f23a85884c551.

(cherry picked from commit 89040373dd989d22ca62e4aff9b9328c1d1a8d68)
2025-11-06 14:13:33 +00:00
Yu Watanabe
0988a6146a tree-wide: add missing '#pragma once'
(cherry picked from commit 5963cdf49867885d1d0641fe0693a3513aa4182a)
2025-11-06 14:13:33 +00:00
Zbigniew Jędrzejewski-Szmek
75210f747e mkosi: update fedora commit reference to 8e2833a5b64f7e2ce62ea0a2d0ec9e393e718dfa
* 8e2833a5b6 Automatically figure out the name of the top-level tar dir
* dffbf2beba Make sure fallback source is listed first
* 1d3b892105 Enable sysupdate and sysupdated

(cherry picked from commit 9218e4eacc545a36a1275264013cb3d6b3eef41f)
2025-11-06 14:13:33 +00:00
jouyouyun
a285afb53c backlight: fix typo
(cherry picked from commit 10cdb586905e7620fd67e723d42464e4b96dd950)
2025-11-06 14:13:33 +00:00
jouyouyun
461b05cc08 bootctl: fix typo
(cherry picked from commit 49ca2d87780354c5bb791da06b926111b4522450)
2025-11-06 14:13:33 +00:00
Lennart Poettering
b8da149ab8 docs: add comment about requiring the mount hierarchy to be mounted MS_SHARED
This has been tripping up container manager people. let's document this
explicitly.

(Note that the container interface could really use some updates, i.e.
it was written before a time where cgroup namespacing was a thing. But I
am too lazy to fix that now, so let's just add this once facet.)

(cherry picked from commit 32f4e30be58c2d5fabff32efbd4d266ae0d7503d)
2025-11-06 14:13:33 +00:00
Christoph Anton Mitterer
284b3188b5 doc: indicate Type=oneshot also detects invocation failures
Type `simple` explicitly mentions that invocation failures like a missing binary
or `User=` name won’t get detected – whereas type `exec` mentions that it does.

Type `oneshot` refers to being similar to `simple`, which could lead one to
assume it doesn’t detect such invocation failures either – it seems however it
does.

Indicate this my changing its wording to be similar to `exec`.

Signed-off-by: Christoph Anton Mitterer <mail@christoph.anton.mitterer.name>
(cherry picked from commit a983cf253fd099877eae1fa125c95bdef578a15b)
2025-11-06 14:13:33 +00:00
Florian
8f15d8f685 man: fix outdated link to freedesktop.org documentation (#39511)
Freedesktop changed their link format.

(cherry picked from commit f2875c73a2a6816fe190eae2549681922b65925e)
2025-11-06 14:13:33 +00:00
Daan De Meyer
28b9c60de7 nspawn: Fix docs
(cherry picked from commit 097b6d3f662c9c2917360ea779bc531039ba96f1)
2025-11-06 14:13:33 +00:00
Christoph Anton Mitterer
ea5b0b34db man: clarify quoting of $ in command lines (#39494)
When the special executable prefix `:` is used, `$$` yield the literal `$$`.

(cherry picked from commit bfb365d92445f8ac0bb5c57106a8598dc5eb56d4)
2025-11-06 14:13:33 +00:00
dgengtek
8b4eb8f386 man: clarify requirements for BridgeVLAN to work
(cherry picked from commit 4207abb6e108ada8b24f2008533090f318b789e4)
2025-11-06 14:13:33 +00:00
Frantisek Sumsal
c24ce973e2 man: handle leading/trailing/repeating whitespaces in anchor links
So even if a <term> section contains newlines, we get a reasonable
anchor link to it.

Before:
<dt id="
  bind
  UNIT
  PATH
  [PATH]
"><span class="term">
...
<a class="headerlink" title="Permalink to this term" href="#%0A%20%20%20%20%20%20%20%20%20%20%20%20bind%0A%20%20%20%20%20%20%20%20%20%20%20%20UNIT%0A%20%20%20%20%20%20%20%20%20%20%20%20PATH%0A%20%20%20%20%20%20%20%20%20%20%20%20[PATH]%0A%20%20%20%20%20%20%20%20%20%20">¶</a>

After:
<dt id="bind UNIT PATH [PATH]"><span class="term">
...
<a class="headerlink" title="Permalink to this term" href="#bind%20UNIT%20PATH%20[PATH]">¶</a>

Resolves: #39196
(cherry picked from commit 7168535165282772b0a1de56ba3c8fbf506fbe95)
2025-11-06 14:13:33 +00:00
Ronan Pigott
903c8ff577 zsh: add completion for dbus bus address
The DBUS_SESSION_BUS_ADDRESS and DBUS_SYSTEM_BUS_ADDRESS parameters have
an interesting syntax thats useful to complete. Let's include a
completion definition for these parameters.

(cherry picked from commit 6f8e6e50a0e3901e347840c323b1b450945d047a)
2025-11-06 14:13:33 +00:00
Yu Watanabe
c574530e26 man/network: extend document about the default value of IPv6AcceptRA=
Prompted by #39304.

(cherry picked from commit cc7ccd3c6a2be9203057f81be4ef55e94b2ab85c)
2025-11-06 14:13:33 +00:00
Ryan Brue
66acc2ae60 man: Clarify usage of /usr/share/factory/ in programs
As discussed in this thread:
https://github.com/redhat-performance/tuned/issues/798#issuecomment-3197697654

/usr/share/factory/ is not intended to be read from by programs,
but the wording in the FHS can be misread to think that programs
should be using /usr/share/factory/ as the vendor supplied configuration
directory rather than something like /usr/lib/foo/ or /usr/share/foo/.

This commit points developers to the UAPI configuration spec for how to
make their programs hermetic /usr/ compatible.

Signed-off-by: Ryan Brue <ryanbrue.dev@gmail.com>
(cherry picked from commit e80c5eb6e63c394fd90c2d8cf454ee649e59ae21)
2025-11-06 14:13:33 +00:00
Yu Watanabe
b7d5b8aa92 man: fix position of </para> tag
Follow-up for 65664bba4090816f7e1fe40ed743480c19d702ee.

(cherry picked from commit b200f57bfaf19054e5f9e175e8b760a7a8e585e4)
2025-11-06 14:13:33 +00:00
Marien Zwart
3fb23fcc4b docs: fix conversion / calculation errors
0x1770 is 6000, not 60000. It looks like 60000 is intended (the next
range starts at 60000 in both decimal and hex), so use that.

1000 to 60000 is 59001 users, as the range is inclusive on both sides.
Similar off-by-one for one of the "unused" ranges. After these changes,
the sizes of the ranges up to and including the "-1" ID sum up to 65536,
as expected.

I'm not sure where the size of the unused range after the container UID
range came from, but it is not correct (the "Container UID" and this
reserved range combined would be larger than the "HIC SVNT LEONES" 2^31
to 2^32-2 range...). Fix it.

It is unfortunate that the first half of this table makes more sense in
decimal while the second half makes more sense in hex (which would also
make the size in 65536 chunks easy to obtain): I'm tempted to add a
"sizes in hex" column...

(cherry picked from commit 1599b6fbe2aec1431c026fdbdc510e704e9fe8dd)
2025-11-06 14:13:33 +00:00
Luca Boccassi
1b6ab516e3 test: avoid divide-by-zero coverity warning
CID#1587762

(cherry picked from commit d0a066a1a4a391f629f7f52b5005103f8daf411f)
2025-11-06 14:13:33 +00:00
Luca Boccassi
b97ae55edb mkosi: install new knot-keymgr in Fedora rawhide
52aa1c6b27

TEST-75-RESOLVED.sh[116]: + keymgr . generate algorithm=ECDSAP256SHA256 ksk=yes zsk=yes
TEST-75-RESOLVED.sh[454]: /usr/lib/systemd/tests/testdata/units/TEST-75-RESOLVED.sh: line 153: keymgr: command not found

(cherry picked from commit dc567bc4060131dadc482929bd03ade72f6fb6d4)
2025-11-06 14:13:33 +00:00
Zbigniew Jędrzejewski-Szmek
814ca4cf6f man/systemd-systemd.conf: describe DefaultEnvironment= and ManagerEnvironment= better
The description of ME= said "see above", but it was actually above the other
one. So change the order. But while reading this, I found it very hard to
understand. So reword things, hopefully in a way that is easier to understand.
The current behaviour is rather complex and unintuitive, but this description
just tries to describe it truthfully.

(cherry picked from commit 938f7fea7c953e5f5e9e199a5fcd22ac84fd1240)
2025-11-06 14:13:33 +00:00
Zbigniew Jędrzejewski-Szmek
0021c3d5a6 man/crypttab: avoid using jargon spelling
(cherry picked from commit 5a8a6d471e8786980304d96b6ce908ad8983a368)
2025-11-06 14:13:33 +00:00
41 changed files with 167 additions and 81 deletions

View File

@ -39,7 +39,7 @@ jobs:
trigger: pull_request
fmf_url: https://src.fedoraproject.org/rpms/systemd
# This is automatically updated by tools/fetch-distro.py --update fedora
fmf_ref: 7de88c66bdc26920db570e67ef74e579f8461d9c
fmf_ref: 8e2833a5b64f7e2ce62ea0a2d0ec9e393e718dfa
targets:
- fedora-rawhide-x86_64
# testing-farm in the Fedora repository is explicitly configured to use testing-farm bare metal runners as

View File

@ -86,6 +86,12 @@ manager, please consider supporting the following interfaces.
confuse systemd and the admin, but also prevent your implementation from
being "stackable".
8. The mount hierarchy of the container should be mounted `MS_SHARED` before
invoking `systemd` as PID 1. Things will break at various places if this is
not done. Note that of course it's OK if the mounts are first marked
`MS_PRIVATE`/`MS_SLAVE` (to disconnect propagation at least partially) as
long as they are remounted `MS_SHARED` before `systemd` is invoked.
## Environment Variables
1. To allow systemd (and other programs) to identify that it is executed within

View File

@ -275,18 +275,18 @@ i.e. somewhere below `/var/` or similar.
| 1…4 | 0x00000001…0x00000004 | 4 | System users | Distributions | `/etc/passwd` |
| 5 | 0x00000005 | 1 | `tty` group | `systemd` | `/etc/passwd` |
| 6…999 | 0x00000006…0x000003E7 | 994 | System users | Distributions | `/etc/passwd` |
| 1000…60000 | 0x000003E8…0x00001770 | 59000 | Regular users | Distributions | `/etc/passwd` + LDAP/NIS/… |
| 1000…60000 | 0x000003E8…0x0000EA60 | 59001 | Regular users | Distributions | `/etc/passwd` + LDAP/NIS/… |
| 60001…60513 | 0x0000EA61…0x0000EC61 | 513 | Human users (homed) | `systemd` | `nss-systemd` |
| 60514…60577 | 0x0000EC62…0x0000ECA1 | 64 | Host users mapped into containers | `systemd` | `systemd-nspawn` |
| 60578…60705 | 0x0000ECA2…0x0000ED21 | 128 | Dynamic greeter users | `systemd` | `nss-systemd` |
| 60706…61183 | 0x0000ED22…0x0000EEFF | 478 | *unused* | | |
| 61184…65519 | 0x0000EF00…0x0000FFEF | 4336 | Dynamic service users | `systemd` | `nss-systemd` |
| 65520…65533 | 0x0000FFF0…0x0000FFFD | 13 | *unused* | | |
| 65520…65533 | 0x0000FFF0…0x0000FFFD | 14 | *unused* | | |
| 65534 | 0x0000FFFE | 1 | `nobody` user | Linux | `/etc/passwd` + `nss-systemd` |
| 65535 | 0x0000FFFF | 1 | 16-bit `(uid_t) -1` | Linux | |
| 65536…524287 | 0x00010000…0x0007FFFF | 458752 | *unused* | | |
| 524288…1879048191 | 0x00080000…0x6FFFFFFF | 1878523904 | Container UID ranges | `systemd` | `nss-systemd` |
| 1879048192…2147352575 | 0x70000000…0x7FFDFFFF | 1879048192 | *unused* | | |
| 1879048192…2147352575 | 0x70000000…0x7FFDFFFF | 268304384 | *unused* | | |
| 2147352576…2147418111 | 0x7FFE0000…0x7FFEFFFF | 65536 | Foreign UID range | `systemd` | `nss-systemd` |
| 2147418112…2147483647 | 0x7FFF0000…0x7FFFFFFF | 65536 | *unused* | | |
| 2147483648…4294967294 | 0x80000000…0xFFFFFFFE | 2147483647 | *HIC SVNT LEONES* | | |

View File

@ -353,7 +353,7 @@
particular, if the device is used for a mount point, the mount point itself also needs to
have the <option>nofail</option> option, or the boot will fail if the device is not unlocked
successfully. If a keyfile and/or a <option>header</option> are specified, the dependencies on
their respective directories will also not be fatal, so that umounting said directories will
their respective directories will also not be fatal, so that unmounting said directories will
not cause the generated cryptset unit to be deactivated.</para>
<xi:include href="version-info.xml" xpointer="v186"/></listitem>

View File

@ -158,6 +158,8 @@
<xsl:param name="keyNode"/>
<!-- suggested value for generatedID output, a contextually meaningful ID string -->
<xsl:param name="templateID"/>
<!-- Strip leading and trailing whitespaces, and replace repeating whitespaces with a single space -->
<xsl:variable name="normalizedID" select="normalize-space($templateID)"/>
<xsl:variable name="conflictSource" select="preceding::refsect1/title|preceding::refsect1/info/title|
preceding::refsect2/title|preceding::refsect2/info/title|
preceding::varlistentry/term[1]"/>
@ -165,10 +167,10 @@
<xsl:choose>
<!-- special case conflictCount = 0 to preserve compatibility with URLs generated by previous versions of this XSL stylesheet where possible -->
<xsl:when test="$conflictCount = 0">
<xsl:value-of select="$templateID"/>
<xsl:value-of select="$normalizedID"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="concat($templateID, $conflictCount)"/>
<xsl:value-of select="concat($normalizedID, $conflictCount)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>

View File

@ -230,7 +230,9 @@
<listitem><para>Repository for vendor-supplied default configuration files. This directory should be
populated with pristine vendor versions of all configuration files that may be placed in
<filename>/etc/</filename>. This is useful to compare the local configuration of a system with vendor
defaults and to populate the local configuration with defaults.</para></listitem>
defaults and to populate the local configuration with defaults. Software should not read configuration
settings directly from <filename>/usr/share/factory/</filename>. Those files will be copied to
other locations if appropriate, and should only be read from there.</para></listitem>
</varlistentry>
<varlistentry>
@ -239,7 +241,9 @@
<listitem><para>Similar to
<filename>/usr/share/factory/etc/</filename>, but for vendor
versions of files in the variable, persistent data directory
<filename>/var/</filename>.</para></listitem>
<filename>/var/</filename>. The same recommendations as for
<filename>/usr/share/factory/etc/</filename> apply here.
</para></listitem>
</varlistentry>
</variablelist>
</refsect1>

View File

@ -101,7 +101,7 @@
icon name to <replaceable>NAME</replaceable>. The icon name is used by some
graphical applications to visualize this host. The icon name
should follow the <ulink
url="https://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html">Icon
url="https://specifications.freedesktop.org/icon-naming/latest">Icon
Naming Specification</ulink>.</para>
<xi:include href="version-info.xml" xpointer="v249"/></listitem>

View File

@ -924,7 +924,7 @@
<para><citerefentry><refentrytitle>systemd-dissect</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s
<option>--shift</option> switch may be used to shift UID/GID ownership from or to the 0, foreign or
specific container UID/GID base outside of any <command>systemd-nspawn</command></para> invocation.
specific container UID/GID base outside of any <command>systemd-nspawn</command> invocation.</para>
<xi:include href="version-info.xml" xpointer="v230"/></listitem>
</varlistentry>
@ -1601,7 +1601,7 @@ After=sys-subsystem-net-devices-ens1.device</programlisting>
<listitem><para>Binds the home directory of the specified user on the host into the container. Takes
the name of an existing user on the host as argument. May be used multiple times to bind multiple
users into the container. This does three things:</para>
users into the container. This does two things:</para>
<orderedlist>
<listitem><para>The user's home directory is bind mounted from the host into
@ -1616,7 +1616,7 @@ After=sys-subsystem-net-devices-ens1.device</programlisting>
user/group databases.</para></listitem>
</orderedlist>
<para>The combination of the three operations above ensures that it is possible to log into the
<para>The combination of the two operations above ensures that it is possible to log into the
container using the same account information as on the host. The user is only mapped transiently,
while the container is running, and the mapping itself does not result in persistent changes to the
container (except maybe for log messages generated at login time, and similar). Note that in

View File

@ -640,35 +640,15 @@
<title>Environment</title>
<variablelist class='config-directives'>
<varlistentry>
<term><varname>ManagerEnvironment=</varname></term>
<listitem><para>Takes the same arguments as <varname>DefaultEnvironment=</varname>, see above. Sets
environment variables for the manager process itself. These variables are inherited by processes
spawned by user managers, but not the system manager - use <varname>DefaultEnvironment=</varname>
for that. Note that these variables are merged into the existing environment block. In particular, in
case of the system manager, this includes variables set by the kernel based on the kernel command line.
As with <varname>DefaultEnvironment=</varname>, this environment block is internal, and changes are not
reflected in the manager's <filename>/proc/PID/environ</filename>.</para>
<para>Setting environment variables for the manager process may be useful to modify its behaviour.
See <ulink url="https://systemd.io/ENVIRONMENT">Known Environment Variables</ulink> for a
descriptions of some variables understood by <command>systemd</command>.</para>
<para>Simple <literal>%</literal>-specifier expansion is supported, see below for a list of supported
specifiers.</para>
<xi:include href="version-info.xml" xpointer="v248"/>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>DefaultEnvironment=</varname></term>
<listitem><para>Configures environment variables passed to all executed processes. Takes a
space-separated list of variable assignments. See <citerefentry
project='man-pages'><refentrytitle>environ</refentrytitle><manvolnum>7</manvolnum></citerefentry> for
details about environment variables.</para>
details about environment variables. This environment block is internal, and changes are not
reflected in the manager's <filename>/proc/PID/environ</filename>.
</para>
<para>Simple <literal>%</literal>-specifier expansion is supported, see below for a list of supported
specifiers.</para>
@ -684,6 +664,30 @@
<xi:include href="version-info.xml" xpointer="v205"/></listitem>
</varlistentry>
<varlistentry>
<term><varname>ManagerEnvironment=</varname></term>
<listitem><para>Sets environment variables for the manager process itself. Takes a space-separated
list of variable assignment in the same format as <varname>DefaultEnvironment=</varname>, see above.
These variables are merged into the existing environment block of the manager process. In particular,
in case of the system manager, this block includes variables set by the kernel based on the kernel
command line, and in case of the user manager, the variables passed by the system manager. After
those variables have been merged, they will persist until overriden, even if the manager is reloaded
or reexecuted. In case of the user manager, these variables are also inherited by processes spawned
by the manager. As with <varname>DefaultEnvironment=</varname>, this environment block is internal,
and changes are not reflected in the manager's <filename>/proc/PID/environ</filename>.</para>
<para>Setting environment variables for the manager process may be useful to modify its behaviour.
See <ulink url="https://systemd.io/ENVIRONMENT">Known Environment Variables</ulink> for a description
of some variables understood by <command>systemd</command>.</para>
<para>Simple <literal>%</literal>-specifier expansion is supported, see below for a list of supported
specifiers.</para>
<xi:include href="version-info.xml" xpointer="v248"/>
</listitem>
</varlistentry>
</variablelist>
</refsect1>

View File

@ -215,7 +215,8 @@
<term><varname>Multicast=</varname></term>
<listitem>
<para>Takes a boolean. If set to true, the multicast flag on the device is enabled. Defaults
to unset.</para>
to unset and the flag is unchanged. When disabled, <varname>IPv6AcceptRA=</varname> and
<varname>IPv6SendRA=</varname> cannot be enabled.</para>
<xi:include href="version-info.xml" xpointer="v239"/>
</listitem>
@ -942,10 +943,19 @@ DuplicateAddressDetection=none</programlisting></para>
<para>Takes a boolean. Controls IPv6 Router Advertisement (RA) reception support for the interface.
If true, RAs are accepted; if false, RAs are ignored. When RAs are accepted, they may trigger the
start of the DHCPv6 client if the relevant flags are set in the RA data, or if no routers are found
on the link. Defaults to false for bridge devices, when <varname>IPv6Forwarding=</varname>,
<varname>IPv6SendRA=</varname>, or <varname>KeepMaster=</varname> is enabled. Otherwise, enabled by
default. Cannot be enabled on devices aggregated in a bond device or when link-local addressing is
disabled.</para>
on the link.</para>
<para>This cannot be enabled on devices aggregated in a bond device, or when IPv6 link-local
addressing (see <varname>LinkLocalAddressing=</varname>) or multicasting (see
<varname>Multicast=</varname>) is disabled. Note, multicasting is disabled by default for some
configurations, e.g. bridge ports. Hence, in that case <varname>Multicast=</varname> needs to be
explicitly enabled to make this feature usable. When <varname>IPv6SendRA=</varname>,
<varname>IPv6Forwarding=</varname>, or <varname>IPMasquerade=</varname> is enabled, this feature is
disabled by default, but can be overridden by explicitly enabling this setting. Note,
<varname>IPv6Forwarding=</varname> may be indirectly enabled when the global setting with the same
name is enabled, or when <varname>IPMasquerade=</varname> is enabled on <emphasis>any other
interfaces</emphasis>. See also <varname>IPv6Forwarding=</varname> and
<varname>IPMasquerade=</varname> for more details. Enabled by default otherwise.</para>
<para>Further settings for the IPv6 RA support may be configured in the [IPv6AcceptRA]
section, see below.</para>
@ -6309,15 +6319,17 @@ ServerAddress=192.168.0.1/24</programlisting>
<refsect1>
<title>[BridgeVLAN] Section Options</title>
<para>
The [BridgeVLAN] section manages the VLAN ID configurations of a bridge master or port, and accepts the
following keys. To make the settings in this section take an effect,
The [BridgeVLAN] section manages the VLAN ID configuration of a bridge master or enslaved device.
To make the settings in this section take an effect,
<varname>VLANFiltering=</varname> option has to be enabled on the bridge master, see the [Bridge]
section in
<citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
If at least one valid settings specified in this section in a .network file for an interface, all
assigned VLAN IDs on the interface that are not configured in the .network file will be removed. If
<citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry>, and
each enslaved device needs to define the relevant VLAN IDs in its own [BridgeVLAN] section, which it
has in common with the bridge master.
All assigned VLAN IDs on the interface that are not configured in the .network file will be removed. If
VLAN IDs on an interface need to be managed by other tools, then the settings in this section cannot
be used in the matching .network file.
be used in the matching .network file and <varname>VLANFiltering=</varname> needs to be disabled on
the bridge master.
</para>
<variablelist class='network-directives'>

View File

@ -206,7 +206,7 @@
identify the main process of the service. The manager will proceed with starting follow-up units
after the parent process exits.</para></listitem>
<listitem><para>Behavior of <option>oneshot</option> is similar to <option>simple</option>;
<listitem><para>Behavior of <option>oneshot</option> is similar to <option>exec</option>;
however, the service manager will consider the unit up after the main process exits. It will then
start follow-up units. <varname>RemainAfterExit=</varname> is particularly useful for this type
of service. <varname>Type=</varname><option>oneshot</option> is the implied default if neither
@ -1483,7 +1483,8 @@ ExecStart=/bin/echo $ONE $TWO $THREE</programlisting>
<literal>too</literal>.
</para>
<para>To pass a literal dollar sign, use <literal>$$</literal>.
<para>Unless for commands with the special executable prefix <literal>:</literal>,
to pass a literal dollar sign, use <literal>$$</literal>.
Variables whose value is not known at expansion time are treated
as empty strings. Note that the first argument (i.e. the program
to execute) may not be a variable.</para>

View File

@ -4,5 +4,5 @@
Environment=
GIT_URL=https://src.fedoraproject.org/rpms/systemd.git
GIT_BRANCH=rawhide
GIT_COMMIT=7de88c66bdc26920db570e67ef74e579f8461d9c
GIT_COMMIT=8e2833a5b64f7e2ce62ea0a2d0ec9e393e718dfa
PKG_SUBDIR=fedora

View File

@ -0,0 +1,12 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# New package needed for TEST-75-RESOLVED
[Match]
Release=!40
Release=!41
Release=!42
Release=!43
[Content]
Packages=knot-keymgr

View File

@ -82,6 +82,7 @@ CXX_LD="$( ((LLVM)) && echo lld)" \
--noprep \
--build-in-place \
--with upstream \
--without lto \
$( ((WITH_TESTS)) || echo "--nocheck") \
$( ((WITH_DOCS)) || echo "--without=docs") \
--define "_topdir /var/tmp" \

View File

@ -0,0 +1,50 @@
#compdef -value-,DBUS_SESSION_BUS_ADDRESS,-default- -value-,DBUS_SYSTEM_BUS_ADDRESS,-default-
local context state state_descr line
typeset -A val_args
_values -S: kind \
'unix[a unix domain socket]:unix properties:->unix' \
'tcp[a tcp socket]:tcp properties:->tcp' \
'unixexec[a process]:unixexec properties:->unixexec' \
'x-machine-unix[a container]:machine properties:->x-machine-unix'
_sd_bus_get_guid() {
local TYPE VALUE
local -a busname=(org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus)
_call_program -l dbus-guid busctl call $busname GetId |
while read TYPE VALUE; do
[[ $TYPE == 's' && -n $VALUE ]] && compadd "$@" - ${(Q)VALUE};
done
}
local expl ret
case $context in
unix)
_values -s, 'unix socket properties' \
'guid[bus guid]:bus guid:_sd_bus_get_guid -qS,' \
'(abstract)path[unix domain socket path]:path:_files -r, -g "*(=)"' \
'(path)abstract[unix domain socket path in the abstract namespace]:abstract path:_files -r, -P@ -g "*(=)"' \
'uid[unix uid]:uid:_numbers' \
'gid[unix gid]:gid:_numbers'
;;
tcp)
_values -s, 'unix socket properties' \
'guid[bus guid]:bus guid:_sd_bus_get_guid -qS,' \
'host[hostname]:hostname:_hosts -r,'\
'port[port]:port:_numbers' \
'family[address family]:address family:(ipv4 ipv6)'
;;
unixexec)
_values -s, 'unixexec properties' \
'guid[bus guid]:bus guid:_sd_bus_get_guid -qS,' \
'path[command path]:command path:_absolute_command_paths -r,'\
;;
x-machine-unix)
_values -s, 'machine properties' \
'guid[bus guid]:bus guid:_sd_bus_get_guid -qS,' \
'(pid)machine[machine]:machine:_call_function ret _sd_machines' \
'(machine)pid[pid]:pid:_pids'
;;
esac

View File

@ -24,6 +24,7 @@ items = [['_busctl', ''],
['_udevadm', ''],
['_varlinkctl', ''],
['_kernel-install', 'ENABLE_KERNEL_INSTALL'],
['_sd_bus_address', ''],
['_sd_hosts_or_user_at_host', ''],
['_sd_outputmodes', ''],
['_sd_unit_files', ''],

View File

@ -1,3 +1,4 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_compare_versions(int argc, char *argv[], void *userdata);

View File

@ -1,3 +1,4 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_fdstore(int argc, char *argv[], void *userdata);

View File

@ -1,3 +1,4 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int verb_image_policy(int argc, char *argv[], void *userdata);

View File

@ -203,7 +203,7 @@ static int validate_device(sd_device *device) {
r = device_in_subsystem(device, "leds");
if (r < 0)
return log_device_debug_errno(device, r, "Failed to check if device is in backlight subsystem: %m");
return log_device_debug_errno(device, r, "Failed to check if device is in leds subsystem: %m");
if (r > 0)
return true; /* We assume LED device is always valid. */

View File

@ -1,4 +1,5 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
#include "proto/loaded-image.h"

View File

@ -1,4 +1,5 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
#include "forward.h"

View File

@ -572,7 +572,7 @@ int verb_status(int argc, char *argv[], void *userdata) {
* to _either_ of them, print a warning. */
if (!sd_id128_is_null(esp_uuid) && !sd_id128_equal(stub_partition_uuid, esp_uuid) &&
!sd_id128_is_null(xbootldr_uuid) && !sd_id128_equal(stub_partition_uuid, xbootldr_uuid))
printf("WARNING: The stub loader reports a different UUID than the detected ESP and XBOOTDLR partitions "
printf("WARNING: The stub loader reports a different UUID than the detected ESP and XBOOTLDR partitions "
"("SD_ID128_UUID_FORMAT_STR" vs. "SD_ID128_UUID_FORMAT_STR"/"SD_ID128_UUID_FORMAT_STR")!\n",
SD_ID128_FORMAT_VAL(stub_partition_uuid),
SD_ID128_FORMAT_VAL(esp_uuid),

View File

@ -1,4 +1,5 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
#include "forward.h"

View File

@ -1,4 +1,5 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
#include "forward.h"

View File

@ -1,4 +1,5 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
/* The SPDX header above is actually correct in claiming this was
* LGPL-2.1-or-later, because it is. Since the kernel doesn't consider that

View File

@ -1,4 +1,5 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
/* The SPDX header above is actually correct in claiming this was
* LGPL-2.1-or-later, because it is. Since the kernel doesn't consider that

View File

@ -1,4 +1,5 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
/* The SPDX header above is actually correct in claiming this was
* LGPL-2.1-or-later, because it is. Since the kernel doesn't consider that

View File

@ -1,4 +1,5 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
/* The SPDX header above is actually correct in claiming this was
* LGPL-2.1-or-later, because it is. Since the kernel doesn't consider that

View File

@ -1,4 +1,5 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
#include <stdint.h>

View File

@ -1,4 +1,5 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
#ifdef SBAT_DISTRO
# include "version.h"

View File

@ -1,4 +1,5 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
#include <stdbool.h>

View File

@ -1,4 +1,5 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
/* The SPDX header above is actually correct in claiming this was
* LGPL-2.1-or-later, because it is. Since the kernel doesn't consider that

View File

@ -1,4 +1,5 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
#include <linux/if.h>
#include <linux/if_link.h>

View File

@ -1,4 +1,5 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
#include "forward.h"

View File

@ -1,4 +1,5 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
/* The SPDX header above is actually correct in claiming this was
* LGPL-2.1-or-later, because it is. Since the kernel doesn't consider that

View File

@ -1,4 +1,5 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
#include "forward.h"

View File

@ -1,29 +0,0 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#ifndef foosdutf8hfoo
#define foosdutf8hfoo
/***
systemd is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
systemd is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <https://www.gnu.org/licenses/>.
***/
#include "_sd-common.h"
_SD_BEGIN_DECLARATIONS;
_sd_pure_ const char *sd_utf8_is_valid(const char *s);
_sd_pure_ const char *sd_ascii_is_valid(const char *s);
_SD_END_DECLARATIONS;
#endif

View File

@ -1,4 +1,5 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
#include "sysupdate-forward.h"

View File

@ -667,6 +667,7 @@ static void test_float_match(sd_json_variant *v) {
assert_se(fabs(1.0 - (DBL_MIN / 2 / sd_json_variant_real(sd_json_variant_by_index(v, 9)))) <= delta);
assert_se(sd_json_variant_is_real(sd_json_variant_by_index(v, 10)) &&
!sd_json_variant_is_integer(sd_json_variant_by_index(v, 10)));
assert_se(!iszero_safe(sd_json_variant_real(sd_json_variant_by_index(v, 10))));
assert_se(fabs(1.0 - (-DBL_MIN / 2 / sd_json_variant_real(sd_json_variant_by_index(v, 10)))) <= delta);
}

View File

@ -1,4 +1,5 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
#include "forward.h"