Compare commits
No commits in common. "e2357b1c8a87b610066b8b2a59517bcfb20b832e" and "faa73d4e0c8095fedd98ff29851b9634810ff97e" have entirely different histories.
e2357b1c8a
...
faa73d4e0c
19
NEWS
19
NEWS
|
@ -530,15 +530,13 @@ CHANGES WITH 247 in spe:
|
|||
contention for selected parts of the unit hierarchy using the PSI
|
||||
information reported by the kernel, and kills processes when memory
|
||||
or swap pressure is above configured limits. This service is only
|
||||
enabled by default in developer mode (see below) and should be
|
||||
considered a preview in this release. Behaviour details and option
|
||||
names are subject to change without the usual backwards-compatibility
|
||||
promises.
|
||||
enabled in developer mode (see below) and should be considered a
|
||||
preview in this release. Behaviour details and option names are
|
||||
subject to change without the usual backwards-compatibility promises.
|
||||
|
||||
* A new helper oomctl has been added to introspect systemd-oomd state.
|
||||
If also is only enabled by default in developer mode and should be
|
||||
considered a preview without the usual backwards-compatibility
|
||||
promises.
|
||||
If also is only available in developer mode and should be considered
|
||||
a preview without the usual backwards-compatibility promises.
|
||||
|
||||
* New meson option -Dcompat-mutable-uid-boundaries= has been added. If
|
||||
enabled, systemd reads the system UID boundaries from /etc/login.defs
|
||||
|
@ -600,13 +598,6 @@ CHANGES WITH 247 in spe:
|
|||
* "systemctl edit" has been updated to show the original effective unit
|
||||
contents in commented form in the text editor.
|
||||
|
||||
* Units in user mode are now segregated into three new slices:
|
||||
session.slice (units that form the core of graphical session),
|
||||
app.slice ("normal" user applications), and background.slice
|
||||
(low-priority tasks). Unless otherwise configured, user units are
|
||||
placed in app.slice. The plan is to add resource limits and
|
||||
protections for the different slices in the future.
|
||||
|
||||
Contributions from: Adolfo Jayme Barrientos, afg, Alec Moskvin, Alyssa
|
||||
Ross, Amitanand Chikorde, Andrew Hangsleben, Anita Zhang, Ansgar
|
||||
Burchardt, Arian van Putten, Aurelien Jarno, Axel Rasmussen, bauen1,
|
||||
|
|
|
@ -375,10 +375,6 @@ evdev:name:Dell WMI hotkeys:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude*:*
|
|||
evdev:name:Dell WMI hotkeys:dmi:bvn*:bvr*:bd*:svnDell*:pnPrecision*:*
|
||||
KEYBOARD_KEY_100150=f20 # Mic mute toggle, should be micmute
|
||||
|
||||
# Dell Latitude privacy microphone mute
|
||||
evdev:name:Dell Privacy Driver:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude*:sku0A3E:*
|
||||
KEYBOARD_KEY_12001=f20 # Mic mute toggle, should be micmute
|
||||
|
||||
###########################################################
|
||||
# Everex
|
||||
###########################################################
|
||||
|
|
|
@ -42,14 +42,12 @@ if conf.get('ENABLE_HWDB') == 1
|
|||
hwdb_files_test,
|
||||
install_dir : udevhwdbdir)
|
||||
|
||||
if install_sysconfdir
|
||||
meson.add_install_script('sh', '-c',
|
||||
mkdir_p.format(join_paths(sysconfdir, 'udev/hwdb.d')))
|
||||
|
||||
meson.add_install_script('sh', '-c',
|
||||
'test -n "$DESTDIR" || @0@/systemd-hwdb update'
|
||||
.format(rootbindir))
|
||||
endif
|
||||
|
||||
if want_tests != 'false'
|
||||
parse_hwdb_py = find_program('parse_hwdb.py')
|
||||
|
|
|
@ -433,7 +433,7 @@
|
|||
|
||||
<listitem><para>The maximum line length to permit when converting stream logs into record logs. When a systemd
|
||||
unit's standard output/error are connected to the journal via a stream socket, the data read is split into
|
||||
individual log records at newline (<literal>\n</literal>, ASCII 10) and <constant>NUL</constant> characters. If no such delimiter is
|
||||
individual log records at newline (<literal>\n</literal>, ASCII 10) and NUL characters. If no such delimiter is
|
||||
read for the specified number of bytes a hard log record boundary is artificially inserted, breaking up overly
|
||||
long lines into multiple log records. Selecting overly large values increases the possible memory usage of the
|
||||
Journal daemon for each stream client, as in the worst case the journal daemon needs to buffer the specified
|
||||
|
|
|
@ -244,7 +244,7 @@
|
|||
<title>Session limits</title>
|
||||
|
||||
<para>PAM modules earlier in the stack, that is those that come before <command>pam_systemd.so</command>,
|
||||
can set session scope limits using the PAM context objects. The data for these objects is provided as <constant>NUL</constant>-terminated C strings
|
||||
can set session scope limits using the PAM context objects. The data for these objects is provided as NUL-terminated C strings
|
||||
and maps directly to the respective unit resource control directives. Note that these limits apply to individual sessions of the user,
|
||||
they do not apply to all user processes as a combined whole. In particular, the per-user <command>user@.service</command> unit instance,
|
||||
which runs the <command>systemd --user</command> manager process and its children, and is tracked outside of any session, being shared
|
||||
|
|
|
@ -85,8 +85,8 @@
|
|||
|
||||
<programlisting>#define SD_MESSAGE_COREDUMP SD_ID128_MAKE(fc,2e,22,bc,6e,e6,47,b6,b9,07,29,ab,34,a2,50,b1)</programlisting>
|
||||
|
||||
<para><constant>SD_ID128_NULL</constant> may be used to refer to the 128bit ID consisting of only
|
||||
<constant>NUL</constant> bytes.</para>
|
||||
<para><function>SD_ID128_NULL</function> may be used to refer to the 128bit ID consisting of only NUL
|
||||
bytes.</para>
|
||||
|
||||
<para><function>SD_ID128_MAKE_STR()</function> is similar to <function>SD_ID128_MAKE()</function>, but creates a
|
||||
<type>const char*</type> expression that can be conveniently used in message formats and such:</para>
|
||||
|
@ -107,8 +107,9 @@ int main(int argc, char **argv) {
|
|||
puts("Match for coredumps: %s", SD_ID128_CONST_STR(SD_MESSAGE_COREDUMP));
|
||||
}</programlisting>
|
||||
|
||||
<para><constant>SD_ID128_FORMAT_STR</constant> and <function>SD_ID128_FORMAT_VAL()</function> may
|
||||
be used to format a 128-bit ID in a
|
||||
<para><function>SD_ID128_FORMAT_STR()</function> and
|
||||
<function>SD_ID128_FORMAT_VAL()</function> may be used to format a
|
||||
128-bit ID in a
|
||||
<citerefentry project='man-pages'><refentrytitle>printf</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
format string, as shown in the following example:</para>
|
||||
|
||||
|
@ -119,8 +120,8 @@ int main(int argc, char **argv) {
|
|||
return 0;
|
||||
}</programlisting>
|
||||
|
||||
<para><constant>SD_ID128_UUID_FORMAT_STR</constant> is similar to
|
||||
<constant>SD_ID128_FORMAT_STR</constant> but includes separating hyphens to conform to the
|
||||
<para><function>SD_ID128_UUID_FORMAT_STR()</function> is similar to
|
||||
<function>SD_ID128_FORMAT_STR()</function> but includes separating hyphens to conform to the
|
||||
"<ulink url="https://en.wikipedia.org/wiki/Universally_unique_identifier#Format">canonical representation</ulink>".
|
||||
</para>
|
||||
|
||||
|
@ -136,8 +137,7 @@ int main(int argc, char **argv) {
|
|||
return 0;
|
||||
}</programlisting>
|
||||
|
||||
<para>Use <function>sd_id128_is_null()</function> to check if an 128bit ID consists of only
|
||||
<constant>NUL</constant> bytes:</para>
|
||||
<para>Use <function>sd_id128_is_null()</function> to check if an 128bit ID consists of only NUL bytes:</para>
|
||||
|
||||
<programlisting>int main(int argc, char *argv[]) {
|
||||
assert(sd_id128_is_null(SD_ID128_NULL));
|
||||
|
|
|
@ -620,8 +620,8 @@
|
|||
<varlistentry>
|
||||
<term><constant>-EPROTOTYPE</constant></term>
|
||||
|
||||
<listitem><para><function>sd_bus_add_object_vtable()</function> and
|
||||
<function>sd_bus_add_fallback_vtable()</function> have been both called for the same bus
|
||||
<listitem><para><function>sd_bus_add_object_vtable</function> and
|
||||
<function>sd_bus_add_fallback_vtable</function> have been both called for the same bus
|
||||
object path, which is not allowed.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
|
|
@ -104,12 +104,6 @@
|
|||
<refsect2 id='errors'>
|
||||
<title>Errors</title>
|
||||
|
||||
<para>When <function>sd_bus_call()</function> internally receives a D-Bus error reply, it will set
|
||||
<parameter>ret_error</parameter> if it is not <constant>NULL</constant>, and will return a negative
|
||||
value mapped from the error reply, see
|
||||
<citerefentry><refentrytitle>sd_bus_error_get_errno</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
|
||||
</para>
|
||||
|
||||
<para>Returned errors may indicate the following problems:</para>
|
||||
|
||||
<variablelist>
|
||||
|
@ -186,8 +180,7 @@
|
|||
<citerefentry><refentrytitle>sd_bus_call_method</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_call_method_async</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_message_new_method_call</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_message_append</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_error</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
<citerefentry><refentrytitle>sd_bus_message_append</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
<refsect1>
|
||||
<title>Description</title>
|
||||
|
||||
<para><function>sd_bus_can_send()</function> is mostly used for checking if file descriptor
|
||||
<para><function>sd_bus_can_send</function> is mostly used for checking if file descriptor
|
||||
passing is available on the given bus. <parameter>type</parameter> can be any of the
|
||||
<constant>SD_BUS_TYPE</constant> constants.</para>
|
||||
</refsect1>
|
||||
|
|
|
@ -72,7 +72,7 @@
|
|||
is provided that combines them into one.</para>
|
||||
|
||||
<para><function>sd_bus_default_flush_close()</function> is similar to
|
||||
<function>sd_bus_flush_close_unref()</function>, but does not take a bus pointer argument and
|
||||
<function>sd_bus_flush_close_unref</function>, but does not take a bus pointer argument and
|
||||
instead iterates over any of the "default" buses opened by
|
||||
<citerefentry><refentrytitle>sd_bus_default</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
<citerefentry><refentrytitle>sd_bus_default_user</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
||||
|
|
|
@ -439,14 +439,14 @@
|
|||
|
||||
<para>All functions that take a <parameter>const
|
||||
char**</parameter> parameter will store the answer there as an
|
||||
address of a <constant>NUL</constant>-terminated string. It will be valid as long as
|
||||
address of a NUL-terminated string. It will be valid as long as
|
||||
<parameter>c</parameter> remains valid, and should not be freed or
|
||||
modified by the caller.</para>
|
||||
|
||||
<para>All functions that take a <parameter>char***</parameter>
|
||||
parameter will store the answer there as an address of an array
|
||||
of strings. Each individual string is <constant>NUL</constant>-terminated, and the
|
||||
array is <constant>NULL</constant>-terminated as a whole. It will be valid as long as
|
||||
of strings. Each individual string is NUL-terminated, and the
|
||||
array is NULL-terminated as a whole. It will be valid as long as
|
||||
<parameter>c</parameter> remains valid, and should not be freed or
|
||||
modified by the caller.</para>
|
||||
</refsect1>
|
||||
|
|
|
@ -160,10 +160,10 @@
|
|||
but additional domain-specific errors may be defined by
|
||||
applications. The <structfield>message</structfield> field usually
|
||||
contains a human-readable string describing the details, but might
|
||||
be <constant>NULL</constant>. An unset <structname>sd_bus_error</structname> structure
|
||||
should have both fields initialized to <constant>NULL</constant>. Set an error
|
||||
be NULL. An unset <structname>sd_bus_error</structname> structure
|
||||
should have both fields initialized to NULL. Set an error
|
||||
structure to <constant>SD_BUS_ERROR_NULL</constant> in order to
|
||||
reset both fields to <constant>NULL</constant>. When no longer necessary, resources
|
||||
reset both fields to NULL. When no longer necessary, resources
|
||||
held by the <structname>sd_bus_error</structname> structure should
|
||||
be destroyed with <function>sd_bus_error_free()</function>.</para>
|
||||
|
||||
|
@ -181,14 +181,14 @@
|
|||
for a list of well-known error names. Additional error mappings
|
||||
may be defined with
|
||||
<citerefentry><refentrytitle>sd_bus_error_add_map</refentrytitle><manvolnum>3</manvolnum></citerefentry>. If
|
||||
<parameter>e</parameter> is <constant>NULL</constant>, no error structure is initialized,
|
||||
<parameter>e</parameter> is NULL, no error structure is initialized,
|
||||
but the error is still converted into an
|
||||
<varname>errno</varname>-style error. If
|
||||
<parameter>name</parameter> is <constant>NULL</constant>, it is
|
||||
assumed that no error occurred, and 0 is returned. This means that
|
||||
this function may be conveniently used in a
|
||||
<function>return</function> statement. If
|
||||
<parameter>message</parameter> is <constant>NULL</constant>, no message is set. This
|
||||
<parameter>message</parameter> is NULL, no message is set. This
|
||||
call can fail if no memory may be allocated for the name and
|
||||
message strings, in which case an
|
||||
<constant>SD_BUS_ERROR_NO_MEMORY</constant> error might be set
|
||||
|
@ -291,10 +291,10 @@
|
|||
will not be deallocated, and must be <citerefentry
|
||||
project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>d
|
||||
by the caller if necessary. The function may also be called safely
|
||||
on unset errors (error structures with both fields set to <constant>NULL</constant>),
|
||||
on unset errors (error structures with both fields set to NULL),
|
||||
in which case it performs no operation. This call will reset the
|
||||
error structure after freeing the data, so that all fields are set
|
||||
to <constant>NULL</constant>. The structure may be reused afterwards.</para>
|
||||
to NULL. The structure may be reused afterwards.</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
|
|
|
@ -65,7 +65,7 @@
|
|||
<title>Return Value</title>
|
||||
|
||||
<para>Those functions return 1 if the argument is a valid interface / service / member name or object
|
||||
path, and 0 if it is not. If the argument is <constant>NULL</constant>, an error is returned.</para>
|
||||
path, and 0 if it is not. If the argument is NULL, an error is returned.</para>
|
||||
|
||||
<refsect2>
|
||||
<title>Errors</title>
|
||||
|
|
|
@ -54,20 +54,20 @@
|
|||
<title>Description</title>
|
||||
|
||||
<para>The functions
|
||||
<function>sd_bus_message_append_string_memfd()</function> and
|
||||
<function>sd_bus_message_append_string_iovec()</function> can be
|
||||
<function>sd_bus_message_append_string_memfd</function> and
|
||||
<function>sd_bus_message_append_string_iovec</function> can be
|
||||
used to append a single string (item of type <literal>s</literal>)
|
||||
to message <parameter>m</parameter>.</para>
|
||||
|
||||
<para>In case of
|
||||
<function>sd_bus_message_append_string_memfd()</function>, the
|
||||
<function>sd_bus_message_append_string_memfd</function>, the
|
||||
contents of <parameter>memfd</parameter> are the string. They must
|
||||
satisfy the same constraints as described for the
|
||||
<literal>s</literal> type in
|
||||
<citerefentry><refentrytitle>sd_bus_message_append_basic</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para>
|
||||
|
||||
<para>In case of
|
||||
<function>sd_bus_message_append_string_iovec()</function>, the
|
||||
<function>sd_bus_message_append_string_iovec</function>, the
|
||||
payload of <parameter>iov</parameter> is the string. It must
|
||||
satisfy the same constraints as described for the
|
||||
<literal>s</literal> type in
|
||||
|
@ -84,9 +84,9 @@
|
|||
after this call.</para>
|
||||
|
||||
<para>The
|
||||
<function>sd_bus_message_append_string_space()</function> function appends
|
||||
<function>sd_bus_message_append_string_space</function> function appends
|
||||
space for a string to message <parameter>m</parameter>. It behaves
|
||||
similar to <function>sd_bus_message_append_basic()</function> with
|
||||
similar to <function>sd_bus_message_append_basic</function> with
|
||||
type <literal>s</literal>, but instead of copying a string into
|
||||
the message, it returns a pointer to the destination area to
|
||||
the caller in pointer <parameter>p</parameter>. Space for the string
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
<refsect1>
|
||||
<title>Description</title>
|
||||
|
||||
<para>The <function>sd_bus_message_append()</function> function can be
|
||||
<para>The <function>sd_bus_message_append</function> function can be
|
||||
used to append an array of strings to message
|
||||
<parameter>m</parameter>. The parameter <parameter>l</parameter>
|
||||
shall point to a <constant>NULL</constant>-terminated array of pointers
|
||||
|
|
|
@ -143,8 +143,8 @@
|
|||
<para>Message <parameter>call</parameter> is not a method call
|
||||
message.</para>
|
||||
|
||||
<para>The error <parameter>e</parameter> parameter to
|
||||
<function>sd_bus_message_new_method_error()</function> is not set, see
|
||||
<para>The error <parameter>error</parameter> parameter to
|
||||
<function>sd_bus_message_new_method_error</function> is not set, see
|
||||
<citerefentry><refentrytitle>sd_bus_error_is_set</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
|
|
@ -118,7 +118,7 @@
|
|||
will be stored there. Each <literal>%</literal> character will
|
||||
only match the current label. It will never match across labels.
|
||||
Furthermore, only a single directive is allowed per label.
|
||||
If <constant>NULL</constant> is passed as output storage, the
|
||||
If <literal>NULL</literal> is passed as output storage, the
|
||||
label is verified but not returned to the caller.</para>
|
||||
</refsect1>
|
||||
|
||||
|
@ -130,7 +130,7 @@
|
|||
argument. On success, <function>sd_bus_path_decode()</function>
|
||||
returns a positive value if the prefixed matched, or 0 if it
|
||||
did not. If the prefix matched, the external identifier is returned
|
||||
in the return parameter. If it did not match, <constant>NULL</constant> is returned in
|
||||
in the return parameter. If it did not match, NULL is returned in
|
||||
the return parameter. On failure, a negative errno-style error
|
||||
number is returned by either function. The returned strings must
|
||||
be
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
<parameter>ret</parameter> is not <constant>NULL</constant> and the call processed a message,
|
||||
<parameter>*ret</parameter> is set to this message. The caller owns a reference to this message and should call
|
||||
<citerefentry><refentrytitle>sd_bus_message_unref</refentrytitle><manvolnum>3</manvolnum></citerefentry> when the
|
||||
message is no longer needed. If <parameter>ret</parameter> is not <constant>NULL</constant>, progress was made, but no message was
|
||||
message is no longer needed. If <parameter>ret</parameter> is not NULL, progress was made, but no message was
|
||||
processed, <parameter>*ret</parameter> is set to <constant>NULL</constant>.</para>
|
||||
|
||||
<para>If a the bus object is connected to an
|
||||
|
|
|
@ -127,8 +127,8 @@
|
|||
|
||||
<para>Message <parameter>call</parameter> is not attached to a bus.</para>
|
||||
|
||||
<para>The error parameter <parameter>e</parameter> to
|
||||
<function>sd_bus_reply_method_error()</function> is not set, see
|
||||
<para>The error parameter <parameter>error</parameter> to
|
||||
<function>sd_bus_reply_method_error</function> is not set, see
|
||||
<citerefentry><refentrytitle>sd_bus_error_is_set</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
|
|
@ -112,7 +112,7 @@
|
|||
<citerefentry><refentrytitle>sd_bus_open</refentrytitle><manvolnum>3</manvolnum></citerefentry> and
|
||||
similar calls, based on environment variables or built-in defaults.</para>
|
||||
|
||||
<para><function>sd_bus_set_exec()</function> is a shorthand function for setting a
|
||||
<para><function>sd_bus_set_exec</function> is a shorthand function for setting a
|
||||
<literal>unixexec</literal> address that spawns the given executable with the given arguments.
|
||||
If <parameter>argv</parameter> is <constant>NULL</constant>, the given executable is spawned
|
||||
without any extra arguments.</para>
|
||||
|
|
|
@ -157,7 +157,7 @@
|
|||
|
||||
<para>See the
|
||||
<citerefentry><refentrytitle>sd_bus_call_method</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
man page for a list of possible errors.</para>
|
||||
man page for a list of possible errors</para>
|
||||
</refsect2>
|
||||
</refsect1>
|
||||
|
||||
|
|
|
@ -101,11 +101,11 @@
|
|||
<function>sd_bus_track_add_sender()</function>. They may be dropped again via
|
||||
<function>sd_bus_track_remove_name()</function> and
|
||||
<function>sd_bus_track_remove_sender()</function>. Alternatively, references on peers are removed automatically
|
||||
when they disconnect from the bus. If non-<constant>NULL</constant> the <parameter>handler</parameter> may specify
|
||||
a function that is invoked whenever the last reference is dropped, regardless whether the reference is dropped
|
||||
explicitly via <function>sd_bus_track_remove_name()</function> or implicitly because the peer disconnected from the
|
||||
bus. The final argument <parameter>userdata</parameter> may be used to attach a generic user data pointer to the
|
||||
object. This pointer is passed to the handler callback when it is invoked.</para>
|
||||
when they disconnect from the bus. If non-NULL the <parameter>handler</parameter> may specify a function that is
|
||||
invoked whenever the last reference is dropped, regardless whether the reference is dropped explicitly via
|
||||
<function>sd_bus_track_remove_name()</function> or implicitly because the peer disconnected from the bus. The final
|
||||
argument <parameter>userdata</parameter> may be used to attach a generic user data pointer to the object. This
|
||||
pointer is passed to the handler callback when it is invoked.</para>
|
||||
|
||||
<para><function>sd_bus_track_ref()</function> creates a new reference to a bus peer tracking object. This object
|
||||
will not be destroyed until <function>sd_bus_track_unref()</function> has been called as many times plus once
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
|
||||
<para>On success, <function>sd_event_source_get_event()</function>
|
||||
returns the associated event loop object. On failure, it returns
|
||||
<constant>NULL</constant>.</para>
|
||||
NULL.</para>
|
||||
</refsect1>
|
||||
|
||||
<xi:include href="libsystemd-pkgconfig.xml" />
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
when the event source was created. The event source will be disabled
|
||||
if the callback function returns a negative error code. The callback
|
||||
function may be used to reconfigure the precise events to wait for.
|
||||
If the <parameter>callback</parameter> parameter is passed as <constant>NULL</constant>
|
||||
If the <parameter>callback</parameter> parameter is passed as NULL
|
||||
the callback function is reset. </para>
|
||||
|
||||
<para>Event source objects have no preparation callback associated
|
||||
|
|
|
@ -70,7 +70,7 @@
|
|||
<function>sd_event_source_set_userdata()</function> and
|
||||
<function>sd_event_source_get_userdata()</function> return the
|
||||
previously set user data pointer. On failure, they return
|
||||
<constant>NULL</constant>.</para>
|
||||
NULL.</para>
|
||||
</refsect1>
|
||||
|
||||
<xi:include href="libsystemd-pkgconfig.xml" />
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
|
||||
<para><function>sd_get_seats()</function> may be used to determine
|
||||
all currently available local seats. Returns the number of seat
|
||||
identifiers and if the input pointer is non-<constant>NULL</constant>, a
|
||||
identifiers and if the input pointer is non-NULL, a
|
||||
<constant>NULL</constant>-terminated array of seat identifiers
|
||||
is stored at the address.
|
||||
The returned array and all strings it references need to be freed
|
||||
|
|
|
@ -84,7 +84,7 @@
|
|||
<citerefentry><refentrytitle>hwdb</refentrytitle><manvolnum>7</manvolnum></citerefentry> for
|
||||
details.</para>
|
||||
|
||||
<para>The <function>SD_HWDB_FOREACH_PROPERTY()</function> macro combines
|
||||
<para>The <function>SD_HWDB_FOREACH_PROPERTY</function> macro combines
|
||||
<function>sd_hwdb_seek()</function> and <function>sd_hwdb_enumerate()</function>. No error handling is
|
||||
performed and iteration simply stops on error. See the example below.</para>
|
||||
</refsect1>
|
||||
|
|
|
@ -50,9 +50,8 @@
|
|||
<para><function>sd_id128_from_string()</function> implements the reverse operation: it takes a 33 character string
|
||||
with 32 hexadecimal digits (either lowercase or uppercase, terminated by <constant>NUL</constant>) and parses them
|
||||
back into a 128-bit ID returned in <parameter>ret</parameter>. Alternatively, this call can also parse a
|
||||
37-character string with a 128-bit ID formatted as RFC UUID. If <parameter>ret</parameter> is passed as
|
||||
<constant>NULL</constant> the function will validate the passed ID string, but not actually return it in parsed
|
||||
form.</para>
|
||||
37-character string with a 128-bit ID formatted as RFC UUID. If <parameter>ret</parameter> is passed as NULL the
|
||||
function will validate the passed ID string, but not actually return it in parsed form.</para>
|
||||
|
||||
<para>For more information about the <literal>sd_id128_t</literal>
|
||||
type see
|
||||
|
@ -64,8 +63,9 @@
|
|||
easier to use a format string for
|
||||
<citerefentry project='man-pages'><refentrytitle>printf</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
|
||||
This is easily done using the
|
||||
<constant>SD_ID128_FORMAT_STR</constant> and <function>SD_ID128_FORMAT_VAL()</function> macros. For
|
||||
more information see
|
||||
<function>SD_ID128_FORMAT_STR</function> and
|
||||
<function>SD_ID128_FORMAT_VAL()</function> macros. For more
|
||||
information see
|
||||
<citerefentry><refentrytitle>sd-id128</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para>
|
||||
</refsect1>
|
||||
|
||||
|
@ -74,7 +74,7 @@
|
|||
|
||||
<para><function>sd_id128_to_string()</function> always succeeds
|
||||
and returns a pointer to the string array passed in.
|
||||
<function>sd_id128_from_string()</function> returns 0 on success, in
|
||||
<function>sd_id128_from_string</function> returns 0 on success, in
|
||||
which case <parameter>ret</parameter> is filled in, or a negative
|
||||
errno-style error code.</para>
|
||||
</refsect1>
|
||||
|
|
|
@ -91,7 +91,7 @@
|
|||
<refsect1>
|
||||
<title>Examples</title>
|
||||
|
||||
<para>Use the <function>SD_JOURNAL_FOREACH_FIELD()</function> macro to iterate through all field names in use in the
|
||||
<para>Use the <function>SD_JOURNAL_FOREACH_FIELD</function> macro to iterate through all field names in use in the
|
||||
current journal.</para>
|
||||
|
||||
<programlisting>#include <stdio.h>
|
||||
|
|
|
@ -245,7 +245,7 @@
|
|||
<function>sd_journal_get_data()</function>.</para>
|
||||
|
||||
<para>Use the
|
||||
<function>SD_JOURNAL_FOREACH_DATA()</function> macro to
|
||||
<function>SD_JOURNAL_FOREACH_DATA</function> macro to
|
||||
iterate through all fields of the current journal
|
||||
entry:</para>
|
||||
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
<title>Return value</title>
|
||||
<para>Both <function>sd_journal_has_runtime_files()</function>
|
||||
and <function>sd_journal_has_persistent_files()</function> return -EINVAL
|
||||
if their argument is <constant>NULL</constant>.
|
||||
if their argument is NULL.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
|
|
|
@ -192,10 +192,10 @@ sd_journal_send("MESSAGE=Hello World, this is PID %lu!", (unsigned long) getpid(
|
|||
<constant>SD_JOURNAL_SUPPRESS_LOCATION</constant> before including <filename>sd-journal.h</filename>.
|
||||
</para>
|
||||
|
||||
<para><function>sd_journal_print_with_location()</function>,
|
||||
<function>sd_journal_printv_with_location()</function>, <function>sd_journal_send_with_location()</function>,
|
||||
<function>sd_journal_sendv_with_location()</function>, and
|
||||
<function>sd_journal_perror_with_location()</function> are similar to their counterparts without
|
||||
<para><function>sd_journal_print_with_location</function>,
|
||||
<function>sd_journal_printv_with_location</function>, <function>sd_journal_send_with_location</function>,
|
||||
<function>sd_journal_sendv_with_location</function>, and
|
||||
<function>sd_journal_perror_with_location</function> are similar to their counterparts without
|
||||
<literal>_with_location</literal>, but accept additional parameters to explicitly set the source file
|
||||
name, function, and line. Those arguments must contain valid journal entries including the variable name,
|
||||
e.g. <literal>CODE_FILE=src/foo.c</literal>, <literal>CODE_LINE=666</literal>,
|
||||
|
@ -243,10 +243,10 @@ sd_journal_send("MESSAGE=Hello World, this is PID %lu!", (unsigned long) getpid(
|
|||
<citerefentry project='man-pages'><refentrytitle>signal-safety</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
|
||||
</para>
|
||||
|
||||
<para><function>sd_journal_print()</function>,
|
||||
<function>sd_journal_printv()</function>,
|
||||
<function>sd_journal_send()</function>,
|
||||
<function>sd_journal_perror()</function>,
|
||||
<para><function>sd_journal_print</function>,
|
||||
<function>sd_journal_printv</function>,
|
||||
<function>sd_journal_send</function>,
|
||||
<function>sd_journal_perror</function>,
|
||||
and their counterparts with <literal>_with_location</literal>
|
||||
are not async signal safe.</para>
|
||||
</refsect1>
|
||||
|
|
|
@ -151,7 +151,7 @@
|
|||
<refsect1>
|
||||
<title>Examples</title>
|
||||
|
||||
<para>Use the <function>SD_JOURNAL_FOREACH_UNIQUE()</function> macro to iterate through all values a field
|
||||
<para>Use the <function>SD_JOURNAL_FOREACH_UNIQUE</function> macro to iterate through all values a field
|
||||
of the journal can take (and which can be accessed on the given architecture and are not compressed with
|
||||
an unsupported mechanism). The following example lists all unit names referenced in the journal:</para>
|
||||
|
||||
|
|
|
@ -94,7 +94,7 @@
|
|||
<function>sd_listen_fds()</function>, but optionally also returns
|
||||
an array of strings with identification names for the passed file
|
||||
descriptors, if that is available and the
|
||||
<parameter>names</parameter> parameter is non-<constant>NULL</constant>. This
|
||||
<parameter>names</parameter> parameter is non-NULL. This
|
||||
information is read from the <varname>$LISTEN_FDNAMES</varname>
|
||||
variable, which may contain a colon-separated list of names. For
|
||||
socket-activated services, these names may be configured with the
|
||||
|
@ -113,11 +113,11 @@
|
|||
<function>sd_is_socket()</function> and related calls is not
|
||||
sufficient. Note that the names used are not unique in any
|
||||
way. The returned array of strings has as many entries as file
|
||||
descriptors have been received, plus a final <constant>NULL</constant> pointer
|
||||
descriptors have been received, plus a final NULL pointer
|
||||
terminating the array. The caller needs to free the array itself
|
||||
and each of its elements with libc's <function>free()</function>
|
||||
call after use. If the <parameter>names</parameter> parameter is
|
||||
<constant>NULL</constant>, the call is entirely equivalent to
|
||||
NULL, the call is entirely equivalent to
|
||||
<function>sd_listen_fds()</function>.</para>
|
||||
|
||||
<para>Under specific conditions, the following automatic file
|
||||
|
|
|
@ -99,7 +99,7 @@
|
|||
<para> On success, <function>sd_seat_get_active()</function> returns 0 or a positive integer. On success,
|
||||
<function>sd_seat_get_sessions()</function> returns the number of entries in the session identifier
|
||||
array. If the test succeeds,
|
||||
<function>sd_seat_can_tty()</function> and <function>sd_seat_can_graphical()</function> return a positive
|
||||
<function>sd_seat_can_tty</function> and <function>sd_seat_can_graphical</function> return a positive
|
||||
integer, if it fails 0. On failure, these calls return a negative errno-style error code.</para>
|
||||
|
||||
<refsect2>
|
||||
|
|
|
@ -161,10 +161,9 @@
|
|||
<varlistentry>
|
||||
<term><constant>-EINVAL</constant></term>
|
||||
|
||||
<listitem><para>An input parameter was invalid (out of range, or <constant>NULL</constant>,
|
||||
where that is not accepted). This is also returned if the passed user ID is
|
||||
<constant>0xFFFF</constant> or <constant>0xFFFFFFFF</constant>, which are undefined on Linux.
|
||||
</para></listitem>
|
||||
<listitem><para>An input parameter was invalid (out of range, or NULL, where that is not
|
||||
accepted). This is also returned if the passed user ID is <constant>0xFFFF</constant> or
|
||||
<constant>0xFFFFFFFF</constant>, which are undefined on Linux.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
|
|
|
@ -63,7 +63,7 @@
|
|||
<function>sd_watchdog_enabled()</function> will also return with
|
||||
zero.</para>
|
||||
|
||||
<para>If the <parameter>usec</parameter> parameter is non-<constant>NULL</constant>,
|
||||
<para>If the <parameter>usec</parameter> parameter is non-NULL,
|
||||
<function>sd_watchdog_enabled()</function> will write the timeout
|
||||
in µs for the watchdog logic to it.</para>
|
||||
|
||||
|
|
|
@ -131,7 +131,7 @@
|
|||
cached key will have a timeout of 2.5min set, after which it
|
||||
will be purged from the kernel keyring. Note that it is
|
||||
possible to cache multiple passwords under the same keyname,
|
||||
in which case they will be stored as <constant>NUL</constant>-separated list of
|
||||
in which case they will be stored as NUL-separated list of
|
||||
passwords. Use
|
||||
<citerefentry project='die-net'><refentrytitle>keyctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
to access the cached key via the kernel keyring
|
||||
|
|
|
@ -1918,9 +1918,9 @@ RestrictNamespaces=~cgroup net</programlisting>
|
|||
but without the <constant>CAP_SYS_ADMIN</constant> capability (e.g. setting
|
||||
<varname>User=nobody</varname>), <varname>NoNewPrivileges=yes</varname> is implied. This feature
|
||||
makes use of the Secure Computing Mode 2 interfaces of the kernel ('seccomp filtering') and is useful
|
||||
for enforcing a minimal sandboxing environment. Note that the <function>execve()</function>,
|
||||
<function>exit()</function>, <function>exit_group()</function>, <function>getrlimit()</function>,
|
||||
<function>rt_sigreturn()</function>, <function>sigreturn()</function> system calls and the system calls
|
||||
for enforcing a minimal sandboxing environment. Note that the <function>execve</function>,
|
||||
<function>exit</function>, <function>exit_group</function>, <function>getrlimit</function>,
|
||||
<function>rt_sigreturn</function>, <function>sigreturn</function> system calls and the system calls
|
||||
for querying time and sleeping are implicitly allow-listed and do not need to be listed
|
||||
explicitly. This option may be specified more than once, in which case the filter masks are
|
||||
merged. If the empty string is assigned, the filter is reset, all prior assignments will have no
|
||||
|
@ -1932,7 +1932,7 @@ RestrictNamespaces=~cgroup net</programlisting>
|
|||
<varname>SystemCallArchitectures=native</varname> or similar.</para>
|
||||
|
||||
<para>Note that strict system call filters may impact execution and error handling code paths of the service
|
||||
invocation. Specifically, access to the <function>execve()</function> system call is required for the execution
|
||||
invocation. Specifically, access to the <function>execve</function> system call is required for the execution
|
||||
of the service binary — if it is blocked service invocation will necessarily fail. Also, if execution of the
|
||||
service binary fails for some reason (for example: missing service executable), the error handling logic might
|
||||
require access to an additional set of system calls in order to process and log this failure correctly. It
|
||||
|
@ -1943,9 +1943,9 @@ RestrictNamespaces=~cgroup net</programlisting>
|
|||
encountered will take precedence and will dictate the default action (termination or approval of a
|
||||
system call). Then the next occurrences of this option will add or delete the listed system calls
|
||||
from the set of the filtered system calls, depending of its type and the default action. (For
|
||||
example, if you have started with an allow list rule for <function>read()</function> and
|
||||
<function>write()</function>, and right after it add a deny list rule for <function>write()</function>,
|
||||
then <function>write()</function> will be removed from the set.)</para>
|
||||
example, if you have started with an allow list rule for <function>read</function> and
|
||||
<function>write</function>, and right after it add a deny list rule for <function>write</function>,
|
||||
then <function>write</function> will be removed from the set.)</para>
|
||||
|
||||
<para>As the number of possible system calls is large, predefined sets of system calls are provided. A set
|
||||
starts with <literal>@</literal> character, followed by name of the set.
|
||||
|
@ -2757,7 +2757,7 @@ StandardInputData=SWNrIHNpdHplIGRhIHVuJyBlc3NlIEtsb3BzLAp1ZmYgZWVtYWwga2xvcHAncy
|
|||
user IDs, public key material and similar non-sensitive data. For everything else use
|
||||
<varname>LoadCredential=</varname>. In order to embed binary data into the credential data use
|
||||
C-style escaping (i.e. <literal>\n</literal> to embed a newline, or <literal>\x00</literal> to embed
|
||||
a <constant>NUL</constant> byte).</para>
|
||||
a NUL byte).</para>
|
||||
|
||||
<para>If a credential of the same ID is listed in both <varname>LoadCredential=</varname> and
|
||||
<varname>SetCredential=</varname>, the latter will act as default if the former cannot be
|
||||
|
|
|
@ -365,7 +365,7 @@
|
|||
<para>Only applies to <literal>_TRANSPORT=stdout</literal> records: indicates that the log message
|
||||
in the standard output/error stream was not terminated with a normal newline character
|
||||
(<literal>\n</literal>, i.e. ASCII 10). Specifically, when set this field is one of
|
||||
<option>nul</option> (in case the line was terminated by a <constant>NUL</constant> byte), <option>line-max</option> (in
|
||||
<option>nul</option> (in case the line was terminated by a NUL byte), <option>line-max</option> (in
|
||||
case the maximum log line length was reached, as configured with <varname>LineMax=</varname> in
|
||||
<citerefentry><refentrytitle>journald.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>),
|
||||
<option>eof</option> (if this was the last log record of a stream and the stream ended without a
|
||||
|
|
|
@ -1770,8 +1770,7 @@
|
|||
<varlistentry>
|
||||
<term><varname>AdActorSystem=</varname></term>
|
||||
<listitem>
|
||||
<para>Specifies the 802.3ad system mac address. This can not be either
|
||||
<constant>NULL</constant> or <constant>Multicast</constant>.</para>
|
||||
<para>Specifies the 802.3ad system mac address. This can not be either NULL or Multicast.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
|
|
@ -1122,7 +1122,7 @@ IPv6Token=prefixstable:2002:da8:1::</programlisting></para>
|
|||
<para>An [IPv6AddressLabel] section accepts the following keys. Specify several [IPv6AddressLabel]
|
||||
sections to configure several address labels. IPv6 address labels are used for address selection. See
|
||||
<ulink url="https://tools.ietf.org/html/rfc3484">RFC 3484</ulink>. Precedence is managed by userspace,
|
||||
and only the label itself is stored in the kernel.</para>
|
||||
and only the label itself is stored in the kernel</para>
|
||||
|
||||
<variablelist class='network-directives'>
|
||||
<varlistentry>
|
||||
|
@ -1944,7 +1944,7 @@ IPv6Token=prefixstable:2002:da8:1::</programlisting></para>
|
|||
<ulink url="https://en.wikipedia.org/wiki/Escape_sequences_in_C#Table_of_escape_sequences">C-style
|
||||
escapes</ulink>. This setting can be specified multiple times. If an empty string is specified,
|
||||
then all options specified earlier are cleared. Takes a whitespace-separated list of strings. Note that
|
||||
currently <constant>NUL</constant> bytes are not allowed.</para>
|
||||
currently NUL bytes are not allowed.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
|
|
@ -266,10 +266,10 @@
|
|||
<title>String Escaping for Inclusion in Unit Names</title>
|
||||
|
||||
<para>Sometimes it is useful to convert arbitrary strings into unit names. To facilitate this, a method of string
|
||||
escaping is used, in order to map strings containing arbitrary byte values (except <constant>NUL</constant>) into
|
||||
valid unit names and their restricted character set. A common special case are unit names that reflect paths to
|
||||
objects in the file system hierarchy. Example: a device unit <filename>dev-sda.device</filename> refers to a device
|
||||
with the device node <filename index="false">/dev/sda</filename> in the file system.</para>
|
||||
escaping is used, in order to map strings containing arbitrary byte values (except NUL) into valid unit names and
|
||||
their restricted character set. A common special case are unit names that reflect paths to objects in the file
|
||||
system hierarchy. Example: a device unit <filename>dev-sda.device</filename> refers to a device with the device
|
||||
node <filename index="false">/dev/sda</filename> in the file system.</para>
|
||||
|
||||
<para>The escaping algorithm operates as follows: given a string, any <literal>/</literal> character is replaced by
|
||||
<literal>-</literal>, and all other characters which are not ASCII alphanumerics or <literal>_</literal> are
|
||||
|
|
|
@ -111,8 +111,8 @@
|
|||
passed to <function>udev_device_has_tag()</function>, but the opposite might not be true, in case a tag is
|
||||
no longer configured by the rules applied to the most recent device even.</para>
|
||||
|
||||
<para><function>udev_device_get_tags_list_entry()</function> returns a
|
||||
<structname>udev_list_entry</structname> object, encapsulating a list of tags set for the specified
|
||||
<para><function>udev_device_get_tags_list_entry()</function> returns a a
|
||||
<function>udev_list_entry</function> object, encapsulating a list of tags set for the specified
|
||||
device. Similar, <function>udev_device_get_current_tags_list_entry()</function> returns a list of tags
|
||||
set for the specified device as effect of the most recent device event seen (see above for details on the
|
||||
difference).</para>
|
||||
|
|
|
@ -82,11 +82,11 @@
|
|||
<refsect1>
|
||||
<title>Description</title>
|
||||
|
||||
<para><function>udev_device_new_from_syspath()</function>,
|
||||
<function>udev_device_new_from_devnum()</function>,
|
||||
<function>udev_device_new_from_subsystem_sysname()</function>,
|
||||
<function>udev_device_new_from_device_id()</function>, and
|
||||
<function>udev_device_new_from_environment()</function>
|
||||
<para><function>udev_device_new_from_syspath</function>,
|
||||
<function>udev_device_new_from_devnum</function>,
|
||||
<function>udev_device_new_from_subsystem_sysname</function>,
|
||||
<function>udev_device_new_from_device_id</function>, and
|
||||
<function>udev_device_new_from_environment</function>
|
||||
allocate a new udev device object and returns a pointer to it. This
|
||||
object is opaque and must not be accessed by the caller via different
|
||||
means than functions provided by libudev. Initially, the reference count
|
||||
|
@ -95,25 +95,25 @@
|
|||
<function>udev_device_unref()</function>. Once the reference count hits 0,
|
||||
the device object is destroyed and freed.</para>
|
||||
|
||||
<para><function>udev_device_new_from_syspath()</function>,
|
||||
<function>udev_device_new_from_devnum()</function>,
|
||||
<function>udev_device_new_from_subsystem_sysname()</function>, and
|
||||
<function>udev_device_new_from_device_id()</function>
|
||||
<para><function>udev_device_new_from_syspath</function>,
|
||||
<function>udev_device_new_from_devnum</function>,
|
||||
<function>udev_device_new_from_subsystem_sysname</function>, and
|
||||
<function>udev_device_new_from_device_id</function>
|
||||
create the device object based on information found in
|
||||
<filename>/sys/</filename>, annotated with properties from the udev-internal
|
||||
device database. A syspath is any subdirectory of <filename>/sys/</filename>,
|
||||
with the restriction that a subdirectory of <filename>/sys/devices</filename>
|
||||
(or a symlink to one) represents a real device and as such must contain
|
||||
a <filename>uevent</filename> file. <function>udev_device_new_from_devnum()</function>
|
||||
a <filename>uevent</filename> file. <function>udev_device_new_from_devnum</function>
|
||||
takes a device type, which can be <constant>b</constant> for block devices or
|
||||
<constant>c</constant> for character devices, as well as a devnum (see
|
||||
<citerefentry project='man-pages'><refentrytitle>makedev</refentrytitle><manvolnum>3</manvolnum></citerefentry>).
|
||||
<function>udev_device_new_from_subsystem_sysname()</function> looks up devices based
|
||||
<function>udev_device_new_from_subsystem_sysname</function> looks up devices based
|
||||
on the provided subsystem and sysname
|
||||
(see <citerefentry><refentrytitle>udev_device_get_subsystem</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
and
|
||||
<citerefentry><refentrytitle>udev_device_get_sysname</refentrytitle><manvolnum>3</manvolnum></citerefentry>)
|
||||
and <function>udev_device_new_from_device_id()</function> looks up devices based on the provided
|
||||
and <function>udev_device_new_from_device_id</function> looks up devices based on the provided
|
||||
device ID, which is a special string in one of the following four forms:
|
||||
<table>
|
||||
<title>Device ID strings</title>
|
||||
|
@ -142,7 +142,7 @@
|
|||
</table>
|
||||
</para>
|
||||
|
||||
<para><function>udev_device_new_from_environment()</function>
|
||||
<para><function>udev_device_new_from_environment</function>
|
||||
creates a device from the current environment (see
|
||||
<citerefentry project='man-pages'><refentrytitle>environ</refentrytitle><manvolnum>7</manvolnum></citerefentry>).
|
||||
Each key-value pair is interpreted in the same way as if it was
|
||||
|
|
|
@ -106,15 +106,15 @@
|
|||
<title>Return Value</title>
|
||||
|
||||
<para>On success,
|
||||
<function>udev_enumerate_add_match_subsystem()</function>,
|
||||
<function>udev_enumerate_add_nomatch_subsystem()</function>,
|
||||
<function>udev_enumerate_add_match_sysattr()</function>,
|
||||
<function>udev_enumerate_add_nomatch_sysattr()</function>,
|
||||
<function>udev_enumerate_add_match_property()</function>,
|
||||
<function>udev_enumerate_add_match_sysname()</function>,
|
||||
<function>udev_enumerate_add_match_tag()</function>,
|
||||
<function>udev_enumerate_add_match_parent()</function> and
|
||||
<function>udev_enumerate_add_match_is_initialized()</function>
|
||||
<function>udev_enumerate_add_match_subsystem</function>,
|
||||
<function>udev_enumerate_add_nomatch_subsystem</function>,
|
||||
<function>udev_enumerate_add_match_sysattr</function>,
|
||||
<function>udev_enumerate_add_nomatch_sysattr</function>,
|
||||
<function>udev_enumerate_add_match_property</function>,
|
||||
<function>udev_enumerate_add_match_sysname</function>,
|
||||
<function>udev_enumerate_add_match_tag</function>,
|
||||
<function>udev_enumerate_add_match_parent</function> and
|
||||
<function>udev_enumerate_add_match_is_initialized</function>
|
||||
return an integer greater than, or equal to,
|
||||
<constant>0</constant>.</para>
|
||||
</refsect1>
|
||||
|
|
15
meson.build
15
meson.build
|
@ -126,7 +126,6 @@ if rootlibdir == ''
|
|||
rootlibdir = join_paths(rootprefixdir, libdir.split('/')[-1])
|
||||
endif
|
||||
|
||||
install_sysconfdir = get_option('install-sysconfdir')
|
||||
# Dirs of external packages
|
||||
pkgconfigdatadir = get_option('pkgconfigdatadir') == '' ? join_paths(datadir, 'pkgconfig') : get_option('pkgconfigdatadir')
|
||||
pkgconfiglibdir = get_option('pkgconfiglibdir') == '' ? join_paths(libdir, 'pkgconfig') : get_option('pkgconfiglibdir')
|
||||
|
@ -1419,7 +1418,7 @@ if have == 'auto'
|
|||
else
|
||||
have = have == 'true'
|
||||
if have and get_option('mode') != 'developer'
|
||||
warning('oomd is not ready for release mode (yet)')
|
||||
error('oomd is not available in release mode (yet)')
|
||||
endif
|
||||
endif
|
||||
conf.set10('ENABLE_OOMD', have)
|
||||
|
@ -2777,10 +2776,8 @@ if conf.get('ENABLE_BINFMT') == 1
|
|||
|
||||
meson.add_install_script('sh', '-c',
|
||||
mkdir_p.format(binfmtdir))
|
||||
if install_sysconfdir
|
||||
meson.add_install_script('sh', '-c',
|
||||
mkdir_p.format(join_paths(sysconfdir, 'binfmt.d')))
|
||||
endif
|
||||
endif
|
||||
|
||||
if conf.get('ENABLE_REPART') == 1
|
||||
|
@ -2894,10 +2891,8 @@ executable(
|
|||
install : true,
|
||||
install_dir : rootlibexecdir)
|
||||
|
||||
if install_sysconfdir
|
||||
install_data('src/sleep/sleep.conf',
|
||||
install_data('src/sleep/sleep.conf',
|
||||
install_dir : pkgsysconfdir)
|
||||
endif
|
||||
|
||||
public_programs += executable(
|
||||
'systemd-sysctl',
|
||||
|
@ -3248,10 +3243,8 @@ if conf.get('HAVE_KMOD') == 1
|
|||
|
||||
meson.add_install_script('sh', '-c',
|
||||
mkdir_p.format(modulesloaddir))
|
||||
if install_sysconfdir
|
||||
meson.add_install_script('sh', '-c',
|
||||
mkdir_p.format(join_paths(sysconfdir, 'modules-load.d')))
|
||||
endif
|
||||
endif
|
||||
|
||||
public_programs += executable(
|
||||
|
@ -3496,10 +3489,8 @@ subdir('docs/var-log')
|
|||
install_subdir('factory/etc',
|
||||
install_dir : factorydir)
|
||||
|
||||
if install_sysconfdir
|
||||
install_data('xorg/50-systemd-user.sh',
|
||||
install_data('xorg/50-systemd-user.sh',
|
||||
install_dir : xinitrcdir)
|
||||
endif
|
||||
install_data('modprobe.d/systemd.conf',
|
||||
install_dir : modprobedir)
|
||||
install_data('LICENSE.GPL2',
|
||||
|
|
|
@ -180,8 +180,6 @@ option('pamconfdir', type : 'string',
|
|||
description : 'directory for PAM configuration ["no" disables]')
|
||||
option('docdir', type : 'string',
|
||||
description : 'documentation directory')
|
||||
option('install-sysconfdir', type : 'boolean', value : true,
|
||||
description : 'install configuration files to $sysconfdir')
|
||||
|
||||
option('fallback-hostname', type : 'string', value : 'localhost',
|
||||
description : 'the hostname used if none configured')
|
||||
|
|
|
@ -10,10 +10,8 @@ if conf.get('ENABLE_NETWORKD') == 1
|
|||
'80-wifi-station.network.example',
|
||||
install_dir : networkdir)
|
||||
|
||||
if install_sysconfdir
|
||||
meson.add_install_script('sh', '-c',
|
||||
mkdir_p.format(join_paths(sysconfdir, 'systemd/network')))
|
||||
endif
|
||||
endif
|
||||
|
||||
install_data('99-default.link',
|
||||
|
|
|
@ -19,7 +19,7 @@ bool ratelimit_below(RateLimit *r) {
|
|||
ts = now(CLOCK_MONOTONIC);
|
||||
|
||||
if (r->begin <= 0 ||
|
||||
ts - r->begin > r->interval) {
|
||||
r->begin + r->interval < ts) {
|
||||
r->begin = ts;
|
||||
|
||||
/* Reset counter */
|
||||
|
|
|
@ -192,14 +192,12 @@ in_files = [['macros.systemd', rpmmacrosdir],
|
|||
foreach item : in_files
|
||||
file = item[0]
|
||||
dir = item[1]
|
||||
if install_sysconfdir or dir != pkgsysconfdir
|
||||
|
||||
configure_file(
|
||||
input : file + '.in',
|
||||
output : file,
|
||||
configuration : substs,
|
||||
install_dir : dir == 'no' ? '' : dir)
|
||||
endif
|
||||
|
||||
endforeach
|
||||
|
||||
install_data('org.freedesktop.systemd1.conf',
|
||||
|
@ -219,8 +217,6 @@ meson.add_install_script('sh', '-c', mkdir_p.format(systemsleepdir))
|
|||
meson.add_install_script('sh', '-c', mkdir_p.format(systemgeneratordir))
|
||||
meson.add_install_script('sh', '-c', mkdir_p.format(usergeneratordir))
|
||||
|
||||
if install_sysconfdir
|
||||
meson.add_install_script('sh', '-c', mkdir_p.format(join_paths(pkgsysconfdir, 'system')))
|
||||
meson.add_install_script('sh', '-c', mkdir_p.format(join_paths(pkgsysconfdir, 'user')))
|
||||
meson.add_install_script('sh', '-c', mkdir_p.format(join_paths(sysconfdir, 'xdg/systemd')))
|
||||
endif
|
||||
meson.add_install_script('sh', '-c', mkdir_p.format(join_paths(pkgsysconfdir, 'system')))
|
||||
meson.add_install_script('sh', '-c', mkdir_p.format(join_paths(pkgsysconfdir, 'user')))
|
||||
meson.add_install_script('sh', '-c', mkdir_p.format(join_paths(sysconfdir, 'xdg/systemd')))
|
||||
|
|
|
@ -13,7 +13,7 @@ endif
|
|||
|
||||
coredumpctl_sources = files('coredumpctl.c')
|
||||
|
||||
if conf.get('ENABLE_COREDUMP') == 1 and install_sysconfdir
|
||||
if conf.get('ENABLE_COREDUMP') == 1
|
||||
install_data('coredump.conf',
|
||||
install_dir : pkgsysconfdir)
|
||||
endif
|
||||
|
|
|
@ -107,10 +107,8 @@ if conf.get('ENABLE_HOMED') == 1
|
|||
install_data('org.freedesktop.home1.policy',
|
||||
install_dir : polkitpolicydir)
|
||||
|
||||
if install_sysconfdir
|
||||
install_data('homed.conf',
|
||||
install_dir : sysconfdir)
|
||||
endif
|
||||
install_dir : pkgsysconfdir)
|
||||
endif
|
||||
|
||||
tests += [
|
||||
|
|
|
@ -48,10 +48,8 @@ if conf.get('ENABLE_REMOTE') ==1 and conf.get('HAVE_LIBCURL') == 1
|
|||
input : 'journal-upload.conf.in',
|
||||
output : 'journal-upload.conf',
|
||||
configuration : substs)
|
||||
if install_sysconfdir
|
||||
install_data(journal_upload_conf,
|
||||
install_dir : pkgsysconfdir)
|
||||
endif
|
||||
endif
|
||||
|
||||
if conf.get('ENABLE_REMOTE') == 1 and conf.get('HAVE_MICROHTTPD') == 1
|
||||
|
@ -59,10 +57,8 @@ if conf.get('ENABLE_REMOTE') == 1 and conf.get('HAVE_MICROHTTPD') == 1
|
|||
input : 'journal-remote.conf.in',
|
||||
output : 'journal-remote.conf',
|
||||
configuration : substs)
|
||||
if install_sysconfdir
|
||||
install_data(journal_remote_conf,
|
||||
install_dir : pkgsysconfdir)
|
||||
endif
|
||||
|
||||
install_data('browse.html',
|
||||
install_dir : join_paths(pkgdatadir, 'gatewayd'))
|
||||
|
|
|
@ -107,10 +107,8 @@ journalctl_sources = files('''
|
|||
pcre2-dlopen.h
|
||||
'''.split())
|
||||
|
||||
if install_sysconfdir
|
||||
install_data('journald.conf',
|
||||
install_data('journald.conf',
|
||||
install_dir : pkgsysconfdir)
|
||||
endif
|
||||
|
||||
if get_option('create-log-dirs')
|
||||
meson.add_install_script(
|
||||
|
|
|
@ -13,9 +13,6 @@ if want_kernel_install
|
|||
install_mode : 'rwxr-xr-x',
|
||||
install_dir : kernelinstalldir)
|
||||
|
||||
if install_sysconfdir
|
||||
meson.add_install_script('sh', '-c',
|
||||
mkdir_p.format(join_paths(sysconfdir, 'kernel/install.d')))
|
||||
endif
|
||||
|
||||
endif
|
||||
|
|
|
@ -74,10 +74,8 @@ if conf.get('ENABLE_LOGIND') == 1
|
|||
input : 'logind.conf.in',
|
||||
output : 'logind.conf',
|
||||
configuration : substs)
|
||||
if install_sysconfdir
|
||||
install_data(logind_conf,
|
||||
install_dir : pkgsysconfdir)
|
||||
endif
|
||||
|
||||
install_data('org.freedesktop.login1.conf',
|
||||
install_dir : dbuspolicydir)
|
||||
|
|
|
@ -236,10 +236,8 @@ if conf.get('ENABLE_NETWORKD') == 1
|
|||
install_dir : polkitpkladir)
|
||||
endif
|
||||
|
||||
if install_sysconfdir
|
||||
install_data('networkd.conf',
|
||||
install_dir : pkgsysconfdir)
|
||||
endif
|
||||
|
||||
fuzzers += [
|
||||
[['src/network/fuzz-netdev-parser.c',
|
||||
|
|
|
@ -29,8 +29,6 @@ if conf.get('ENABLE_OOMD') == 1
|
|||
install_data('org.freedesktop.oom1.service',
|
||||
install_dir : dbussystemservicedir)
|
||||
|
||||
if install_sysconfdir
|
||||
install_data('oomd.conf',
|
||||
install_dir : sysconfdir)
|
||||
endif
|
||||
install_dir : pkgsysconfdir)
|
||||
endif
|
||||
|
|
|
@ -4,7 +4,7 @@ systemd_pstore_sources = files('''
|
|||
pstore.c
|
||||
'''.split())
|
||||
|
||||
if conf.get('ENABLE_PSTORE') == 1 and install_sysconfdir
|
||||
if conf.get('ENABLE_PSTORE') == 1
|
||||
install_data('pstore.conf',
|
||||
install_dir : pkgsysconfdir)
|
||||
endif
|
||||
|
|
|
@ -169,10 +169,8 @@ if conf.get('ENABLE_RESOLVE') == 1
|
|||
input : 'resolved.conf.in',
|
||||
output : 'resolved.conf',
|
||||
configuration : substs)
|
||||
if install_sysconfdir
|
||||
install_data(resolved_conf,
|
||||
install_dir : pkgsysconfdir)
|
||||
endif
|
||||
|
||||
install_data('resolv.conf',
|
||||
install_dir : rootlibexecdir)
|
||||
|
|
|
@ -26,10 +26,8 @@ if conf.get('ENABLE_TIMESYNCD') == 1
|
|||
input : 'timesyncd.conf.in',
|
||||
output : 'timesyncd.conf',
|
||||
configuration : substs)
|
||||
if install_sysconfdir
|
||||
install_data(timesyncd_conf,
|
||||
install_dir : pkgsysconfdir)
|
||||
endif
|
||||
install_data('org.freedesktop.timesync1.conf',
|
||||
install_dir : dbuspolicydir)
|
||||
install_data('org.freedesktop.timesync1.service',
|
||||
|
|
|
@ -185,10 +185,8 @@ foreach prog : [['ata_id/ata_id.c'],
|
|||
install_dir : udevlibexecdir)
|
||||
endforeach
|
||||
|
||||
if install_sysconfdir
|
||||
install_data('udev.conf',
|
||||
install_data('udev.conf',
|
||||
install_dir : join_paths(sysconfdir, 'udev'))
|
||||
endif
|
||||
|
||||
configure_file(
|
||||
input : 'udev.pc.in',
|
||||
|
@ -196,10 +194,8 @@ configure_file(
|
|||
configuration : substs,
|
||||
install_dir : pkgconfigdatadir == 'no' ? '' : pkgconfigdatadir)
|
||||
|
||||
if install_sysconfdir
|
||||
meson.add_install_script('sh', '-c',
|
||||
meson.add_install_script('sh', '-c',
|
||||
mkdir_p.format(join_paths(sysconfdir, 'udev/rules.d')))
|
||||
endif
|
||||
|
||||
fuzzers += [
|
||||
[['src/udev/net/fuzz-link-parser.c',
|
||||
|
|
|
@ -26,7 +26,5 @@ foreach file : in_files
|
|||
install_dir : sysctldir)
|
||||
endforeach
|
||||
|
||||
if install_sysconfdir
|
||||
meson.add_install_script('sh', '-c',
|
||||
meson.add_install_script('sh', '-c',
|
||||
mkdir_p.format(join_paths(sysconfdir, 'sysctl.d')))
|
||||
endif
|
||||
|
|
|
@ -55,7 +55,7 @@ foreach file : m4_files
|
|||
endif
|
||||
endforeach
|
||||
|
||||
if enable_tmpfiles and install_sysconfdir
|
||||
if enable_tmpfiles
|
||||
meson.add_install_script(
|
||||
'sh', '-c',
|
||||
mkdir_p.format(join_paths(sysconfdir, 'tmpfiles.d')))
|
||||
|
|
|
@ -326,11 +326,9 @@ install_data('user-.slice.d/10-defaults.conf',
|
|||
|
||||
############################################################
|
||||
|
||||
if install_sysconfdir
|
||||
meson.add_install_script(meson_make_symlink,
|
||||
meson.add_install_script(meson_make_symlink,
|
||||
join_paths(pkgsysconfdir, 'user'),
|
||||
join_paths(sysconfdir, 'xdg/systemd/user'))
|
||||
endif
|
||||
meson.add_install_script(meson_make_symlink,
|
||||
join_paths(dbussystemservicedir, 'org.freedesktop.systemd1.service'),
|
||||
join_paths(dbussessionservicedir, 'org.freedesktop.systemd1.service'))
|
||||
|
|
Loading…
Reference in New Issue