Compare commits

...

28 Commits

Author SHA1 Message Date
igo95862 e6ce785d61 man: Add a paragraph to sd_bus_call explaning callback message lifetime 2020-11-17 11:13:10 +01:00
Zbigniew Jędrzejewski-Szmek 8dc299a0da
Merge pull request #17584 from yuwata/news-networkd
NEWS: several entries for networkd
2020-11-17 10:59:20 +01:00
Yu Watanabe 042b028ae9 NEWS: slightly fix explanation about oomd 2020-11-17 10:27:00 +01:00
Yu Watanabe 9f2c260ef9 man: DHCPv6PrefixDelegation= is disabled by dafault 2020-11-17 10:27:00 +01:00
Yu Watanabe 70a51d7e08 NEWS: add several entries for networkd 2020-11-17 10:27:00 +01:00
Zbigniew Jędrzejewski-Szmek ffe3533eb7
Merge pull request #17599 from yuwata/meson-fuzz-tests
meson: do not build fuzzers when -Dfuzz-tests=false
2020-11-17 10:16:47 +01:00
Anita Zhang 6ace20b971 test-oomd-util: remove memory_pressure == 0 checks
test_oomd_cgroup_context_acquire_and_insert reads the live cgroup data used
by the unit test. Under certain conditions, the memory pressure for the cgroup
can be non-zero (although most of the time it is 0 since these tests don't
generate much pressure).

Since these values are too dependent on the state of the system, remove the
checks. The type used is always >= 0 and test-psi-util already unit tests that
PSI values are parsed correctly from files so this test is redundant anyways.
2020-11-17 10:08:32 +01:00
Yu Watanabe cbdc906288 man: mention that FirewallMark= optionally takes firewall mask
Closes #17587.
2020-11-17 10:08:06 +01:00
Zbigniew Jędrzejewski-Szmek 40ebe49259
Merge pull request #17597 from yuwata/fix-typo
tree-wide: Fix typo
2020-11-17 10:06:58 +01:00
Yu Watanabe a614a6e2f8 meson: fix build tests for c++14 and c++17 2020-11-17 09:55:08 +01:00
Zbigniew Jędrzejewski-Szmek 88e574e7c1
Merge pull request #17603 from yuwata/systemctl-fix-underline
systemctl: always show underline even if unit has no job ID
2020-11-17 09:49:05 +01:00
Yu Watanabe 5b90b906c7 udev: use FOREACH_DEVICE_TAG() macro at one more place 2020-11-17 09:47:14 +01:00
Zbigniew Jędrzejewski-Szmek 91ed0c8e32
Merge pull request #17612 from yuwata/fix-man-pages
man: fix two issues
2020-11-17 09:45:50 +01:00
Zbigniew Jędrzejewski-Szmek 44c6c5df2b
Merge pull request #17614 from jwrdegoede/hwdb-logitech-kbd-fixes
hwdb Logitech keyboard fixes
2020-11-17 09:33:58 +01:00
igo95862 2e4238a6d1 man: Separated paragraph about making sd_bus object reply async 2020-11-17 09:05:18 +01:00
Hans de Goede 7983b4d9c6 hwdb: 60-keyboard: Update Logitech MX5000 key mappings
2 updates to the Logitech MX5000 key mappings:

1. Fix Logitech MX5000 Media key mapping:

The MX5000 has a key clearly marked "media" (in text) and when they gets
pressed the keyboards LCD briefly shows "MEDIA" in a big font.

Yet the keyboard sends a HID usage code which according to the HUTT
is config/control-panel. Map this to media so that the key behaves as
labeled.

2. Add mapping for the scan-code send by the Fn on/off toggle key
2020-11-14 22:21:53 +01:00
Hans de Goede d46c0febab hwdb: 60-keyboard: Add Logitech Dinovo Edge special key key-mappings
The Logitech Dinovo Edge has 5 special hotkeys, one with a phone symbol
and the 4 usual Logitech A-D smartkeys. These send custom Logitech
0xc10xx keycodes, add mappings for these.
2020-11-14 22:21:53 +01:00
Hans de Goede b0a3a3ff5d hwdb: 60-keyboard: Add Fn key mapping for Logitech wireless keyboards
Some Logitech wireless keyboards report when there Fn key is pressed,
add a mapping for this.

While it also fix identiation of 2 adjescent key-maps to use tabs like the
other Logitech entries
2020-11-14 22:21:53 +01:00
Yu Watanabe 483abcc65b man: fix prototpe of sd_bus_message_peek_type()
Fixes #17609.
2020-11-15 05:15:46 +09:00
Yu Watanabe e55c073161 man: add missing <para> tag, and drop redundant ">"
Fixes #17609.
2020-11-15 05:15:16 +09:00
Yu Watanabe 5ba97fc0a9 systemctl: fix minor coding style issue 2020-11-14 09:06:35 +09:00
Yu Watanabe ca7b9e1e0a systemctl: use unsigned for job_count
As, the number of units `c` is unsigned.
2020-11-14 09:05:32 +09:00
Yu Watanabe 810394481b systemctl: always show underline even if unit has no job ID 2020-11-14 09:19:01 +09:00
Yu Watanabe 85a03fda7d ci: also set -Dfuzz-tests=true if -Dslow-tests=true 2020-11-13 18:15:41 +09:00
Yu Watanabe 1763ef1d49 meson: do not build fuzzers when fuzz-tests=false
Closes #17578.
2020-11-13 18:15:37 +09:00
Yu Watanabe d3f044ddf4 test: fix typo 2020-11-13 16:29:00 +09:00
Yu Watanabe 5c09eac7d2 man: fix typo 2020-11-13 16:29:00 +09:00
Yu Watanabe d51c4fca29 tree-wide: fix "a the" or "the a" 2020-11-13 16:28:47 +09:00
26 changed files with 82 additions and 46 deletions

View File

@ -103,7 +103,7 @@ for args in "${ARGS[@]}"; do
SECONDS=0
info "Checking build with $args"
if ! AR="$AR" CC="$CC" CXX="$CXX" CFLAGS="-Werror" CXXFLAGS="-Werror" meson -Dtests=unsafe -Dslow-tests=true --werror $args build; then
if ! AR="$AR" CC="$CC" CXX="$CXX" CFLAGS="-Werror" CXXFLAGS="-Werror" meson -Dtests=unsafe -Dslow-tests=true -Dfuzz-tests=true --werror $args build; then
fatal "meson failed with $args"
fi

23
NEWS
View File

@ -462,15 +462,30 @@ CHANGES WITH 247 in spe:
via the new Independent= boolean setting.
* systemd-networkd's Gateway= setting in .network files now accepts the
special values _dhcp4 and _ipv6ra to configure additional, locally
defined, explicit routes to the gateway acquired via DHCP or IPv6
Router Advertisements.
special values "_dhcp4" and "_ipv6ra" to configure additional,
locally defined, explicit routes to the gateway acquired via DHCP or
IPv6 Router Advertisements. The old setting "_dhcp" is deprecated,
but still accepted for backwards compatibility.
* systemd-networkd's [IPv6PrefixDelegation] section and
IPv6PrefixDelegation= options have been renamed as [IPv6SendRA] and
IPv6SendRA= (the old names are still accepted for backwards
compatibility).
* systemd-networkd's .network files gained the DHCPv6PrefixDelegation=
boolean setting in [Network] section. If enabled, the delegated prefix
gained by another link will be configured, and an address within the
prefix will be assigned.
* systemd-networkd's .network files gained the Announce= boolean setting
in [DHCPv6PrefixDelegation] section. When enabled, the delegated
prefix will be announced through IPv6 router advertisement (IPv6 RA).
The setting is enabled by default.
* systemd-networkd's .netdev files gained the Independent= boolean
setting in [VXLAN] section. When enabled, the vxlan interface will be
created without underlying interfaces. Defaults to false.
* systemctl gained support for two new verbs: "service-log-level" and
"service-log-target" may be used on services that implement the
generic org.freedesktop.LogControl1 D-Bus interface to dynamically
@ -536,7 +551,7 @@ CHANGES WITH 247 in spe:
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
It is only enabled by default in developer mode and should be
considered a preview without the usual backwards-compatibility
promises.

2
TODO
View File

@ -646,7 +646,7 @@ Features:
parameters
* maybe hook of xfs/ext4 quotactl() with services? i.e. automatically manage
the quota of a the user indicated in User= via unit file settings, like the
the quota of the user indicated in User= via unit file settings, like the
other resource management concepts. Would mix nicely with DynamicUser=1. Or
alternatively, do this with projids, so that we can also cover services
running as root. Quota should probably cover all the special dirs such as

View File

@ -926,6 +926,7 @@ evdev:input:b0003v046Dp00*
KEYBOARD_KEY_c1029=shuffle # Shuffle button
KEYBOARD_KEY_c102a=back # Back button
KEYBOARD_KEY_c102b=cyclewindows # Empty window icon
KEYBOARD_KEY_c102c=fn # Fn key
KEYBOARD_KEY_c102d=www # www text + magnifierglass icon
KEYBOARD_KEY_c1031=connect # Pickup phone button → connect → XF86Go
KEYBOARD_KEY_c1032=cancel # Hangup phone button → cancel → Cancel
@ -1028,6 +1029,7 @@ evdev:input:b0003v046Dp00FE*
# MX5000 keyboard (HID proxy mode and bluetooth matches)
evdev:input:b0003v046DpB305*
evdev:input:b0005v046DpB305*
KEYBOARD_KEY_c0183=media # HUT says config, kbd says Media
KEYBOARD_KEY_c0230=zoomreset # HUT says fullscreen, kbd says 100%
KEYBOARD_KEY_c1004=send # Send and receive / sync button
KEYBOARD_KEY_c1006=coffee # Status (online/away) button
@ -1040,13 +1042,25 @@ evdev:input:b0005v046DpB305*
KEYBOARD_KEY_c1039=prog2 # Smartkey B → XF86Launch2
KEYBOARD_KEY_c103a=prog3 # Smartkey C → XF86Launch3
KEYBOARD_KEY_c103b=prog4 # Smartkey D → XF86Launch4
KEYBOARD_KEY_c1040=fn_esc # Fn mode on/off toggle
# Dinovo Edge (HID proxy mode and bluetooth matches)
evdev:input:b0003v046DpB309*
evdev:input:b0005v046DpB309*
KEYBOARD_KEY_c102c=fn # Fn key
KEYBOARD_KEY_c1038=prog1 # Fn + F9 Smartkey A → XF86Launch1
KEYBOARD_KEY_c1039=prog2 # Fn + F10 Smartkey B → XF86Launch2
KEYBOARD_KEY_c103a=prog3 # Fn + F11 Smartkey C → XF86Launch3
KEYBOARD_KEY_c103b=prog4 # Fn + F12 Smartkey D → XF86Launch4
KEYBOARD_KEY_c1050=phone # Fn + F1 Phone button
# MX5500 keyboard (HID proxy mode and bluetooth matches)
evdev:input:b0003v046DpB30B*
evdev:input:b0005v046DpB30B*
KEYBOARD_KEY_c0183=media # HUT says consumer control configuration, kbd says Media Center
KEYBOARD_KEY_c100e=images # Camera icon, "Photo Gallery"
KEYBOARD_KEY_c100f=config # Window with gear icon
KEYBOARD_KEY_c100e=images # Camera icon, "Photo Gallery"
KEYBOARD_KEY_c100f=config # Window with gear icon
KEYBOARD_KEY_c102c=fn # Fn key
KEYBOARD_KEY_c1038=prog1 # Smartkey A → XF86Launch1
KEYBOARD_KEY_c1039=prog2 # Smartkey B → XF86Launch2
KEYBOARD_KEY_c103a=prog3 # Smartkey C → XF86Launch3

View File

@ -292,11 +292,13 @@
attached to the request object path, interface and member. Finally, the property callbacks
attached to the request object path, interface and member are called. If the final callback
returns zero, an error reply is sent back to the caller indicating no matching object for the
request was found. Note that you can return a positive integer from a callback without
request was found.</para>
<para>Note that you can return a positive integer from a callback without
immediately sending a reply. This informs sd-bus this callback will take responsibility for
replying to the request without forcing the callback to produce a reply immediately. This allows
a callback to perform any number of asynchronous operations required to construct a reply. Note
that if producing a reply takes too long, the method call will time out at the caller.</para>
a callback to perform any number of asynchronous operations required to construct a reply.
However, if producing a reply takes too long, the method call will time out at the caller.</para>
<para>If a callback was invoked to handle a request that expects a reply and the callback
returns a negative value, the value is interpreted as a negative errno-style error code and sent
@ -369,8 +371,8 @@
with the message the callback was invoked with. Parameter <replaceable>flags</replaceable> is a
combination of flags, see below.</para>
<constant>SD_BUS_METHOD_WITH_ARGS()</constant> is a shorthand for calling
<constant>SD_BUS_METHOD_WITH_ARGS_OFFSET()</constant> with an offset of zero.
<para><constant>SD_BUS_METHOD_WITH_ARGS()</constant> is a shorthand for calling
<constant>SD_BUS_METHOD_WITH_ARGS_OFFSET()</constant> with an offset of zero.</para>
</listitem>
</varlistentry>
@ -404,7 +406,7 @@
<varlistentry>
<term><constant>SD_BUS_SIGNAL_WITH_ARGS()</constant></term>
<listitem><para>>Declare a D-Bus signal with the name <replaceable>member</replaceable> and
<listitem><para>Declare a D-Bus signal with the name <replaceable>member</replaceable> and
arguments <replaceable>args</replaceable>. <replaceable>args</replaceable> expects a sequence of
argument type/name pairs wrapped in the <constant>SD_BUS_ARGS()</constant> macro. The elements at
even indices in this list describe the types of the signal's arguments. The signal's parameter

View File

@ -89,6 +89,12 @@
input parameter; it can be used to propagate errors from the callback handler, it will not receive any
error that was received as method reply.)</para>
<para>The message <parameter>m</parameter> passed to the callback is only borrowed, that is, the callback should
not call <citerefentry><refentrytitle>sd_bus_message_unref</refentrytitle><manvolnum>3</manvolnum></citerefentry>
on it. If the callback wants to hold on to the message beyond the lifetime of the callback, it needs to call
<citerefentry><refentrytitle>sd_bus_message_ref</refentrytitle><manvolnum>3</manvolnum></citerefentry> to create a
new reference.</para>
<para>If <parameter>usec</parameter> is zero, the default D-Bus method call timeout is used. See
<citerefentry><refentrytitle>sd_bus_get_method_call_timeout</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
</para>

View File

@ -44,6 +44,7 @@
<funcprototype>
<funcdef>int <function>sd_bus_message_peek_type</function></funcdef>
<paramdef>sd_bus_message *<parameter>m</parameter></paramdef>
<paramdef>char *<parameter>type</parameter></paramdef>
<paramdef>const char **<parameter>contents</parameter></paramdef>
</funcprototype>

View File

@ -59,7 +59,7 @@
message is no longer needed. If <parameter>ret</parameter> is not <constant>NULL</constant>, 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
<para>If the bus object is connected to an
<citerefentry><refentrytitle>sd-event</refentrytitle><manvolnum>3</manvolnum></citerefentry> event loop (with
<citerefentry><refentrytitle>sd_bus_attach_event</refentrytitle><manvolnum>3</manvolnum></citerefentry>), it is not
necessary to call <function>sd_bus_process()</function> directly as it is invoked automatically when

View File

@ -825,7 +825,7 @@ IPv6Token=prefixstable:2002:da8:1::</programlisting></para>
configured on another link. By default, an address within each delegated prefix will be
assigned, and the prefixes will be announced through IPv6 Router Advertisement when
<varname>IPv6SendRA=</varname> is enabled. Such default settings can be configured in
[DHCPv6PrefixDelegation] section.</para></listitem>
[DHCPv6PrefixDelegation] section. Defaults to disabled.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>IPv6MTUBytes=</varname></term>
@ -1170,7 +1170,9 @@ IPv6Token=prefixstable:2002:da8:1::</programlisting></para>
<varlistentry>
<term><varname>FirewallMark=</varname></term>
<listitem>
<para>Specifies the iptables firewall mark value to match (a number between 1 and 4294967295).</para>
<para>Specifies the iptables firewall mark value to match (a number between 1 and
4294967295). Optionally, the firewall mask (also a number between 1 and 4294967295) can be
suffixed with a slash (<literal>/</literal>), e.g., <literal>7/255</literal>.</para>
</listitem>
</varlistentry>
<varlistentry>

View File

@ -132,7 +132,7 @@
<para>The string can be prefixed with a lowercase e (e"string\n") to mark the string as
<ulink url="https://en.wikipedia.org/wiki/Escape_sequences_in_C#Table_of_escape_sequences">C-style escaped</ulink>.
For example, e"string\n" is parsed as 7 characters: 6 lowercase letters and a newline.
This can be useful for writting special characters when a kernel driver requires them.</para>
This can be useful for writing special characters when a kernel driver requires them.</para>
<para>Please note that <constant>NUL</constant> is not allowed in either string variant.</para>
</refsect2>

View File

@ -3438,7 +3438,7 @@ endif
fuzzer_exes = []
if get_option('tests') != 'false'
if fuzz_tests or fuzzer_build
foreach tuple : fuzzers
sources = tuple[0]
link_with = tuple[1].length() > 0 ? tuple[1] : [libshared]
@ -3560,7 +3560,7 @@ foreach tuple : sanitizers
if name != prev
if want_tests == 'false'
message('Not compiling @0@ because tests is set to false'.format(name))
elif slow_tests or fuzz_tests
elif fuzz_tests
exe = custom_target(
name,
output : name,
@ -3570,12 +3570,12 @@ foreach tuple : sanitizers
'@OUTPUT@'],
build_by_default : true)
else
message('Not compiling @0@ because slow-tests/fuzz-tests is set to false'.format(name))
message('Not compiling @0@ because fuzz-tests is set to false'.format(name))
endif
endif
prev = name
if want_tests != 'false' and (slow_tests or fuzz_tests)
if fuzz_tests
test('@0@:@1@:@2@'.format(b, c, sanitizer),
env,
env : ['UBSAN_OPTIONS=print_stacktrace=1:print_summary=1:halt_on_error=1'],

View File

@ -86,7 +86,7 @@ EOF
# disable autopkgtests which are not for upstream
sed -i '/# NOUPSTREAM/ q' debian/tests/control
# enable more unit tests
sed -i '/^CONFFLAGS =/ s/=/= --werror -Dtests=unsafe -Dsplit-usr=true -Dslow-tests=true -Dman=true /' debian/rules
sed -i '/^CONFFLAGS =/ s/=/= --werror -Dtests=unsafe -Dsplit-usr=true -Dslow-tests=true -Dfuzz-tests=true -Dman=true /' debian/rules
# no orig tarball
echo '1.0' > debian/source/format

View File

@ -1875,9 +1875,8 @@ int cg_mask_supported(CGroupMask *ret) {
if (r > 0) {
_cleanup_free_ char *root = NULL, *controllers = NULL, *path = NULL;
/* In the unified hierarchy we can read the supported
* and accessible controllers from a the top-level
* cgroup attribute */
/* In the unified hierarchy we can read the supported and accessible controllers from
* the top-level cgroup attribute */
r = cg_get_root_path(&root);
if (r < 0)

View File

@ -810,7 +810,7 @@ int chase_symlinks(const char *path, const char *original_root, unsigned flags,
*
* 3. With CHASE_STEP: in this case only a single step of the normalization is executed, i.e. only the first
* symlink or ".." component of the path is resolved, and the resulting path is returned. This is useful if
* a caller wants to trace the a path through the file system verbosely. Returns < 0 on error, > 0 if the
* a caller wants to trace the path through the file system verbosely. Returns < 0 on error, > 0 if the
* path is fully normalized, and == 0 for each normalization step. This may be combined with
* CHASE_NONEXISTENT, in which case 1 is returned when a component is not found.
*

View File

@ -104,10 +104,6 @@ static void test_oomd_cgroup_context_acquire_and_insert(void) {
assert_se(oomd_cgroup_context_acquire(cgroup, &ctx) == 0);
assert_se(streq(ctx->path, cgroup));
assert_se(ctx->memory_pressure.avg10 == 0);
assert_se(ctx->memory_pressure.avg60 == 0);
assert_se(ctx->memory_pressure.avg300 == 0);
assert_se(ctx->memory_pressure.total == 0);
assert_se(ctx->current_memory_usage > 0);
assert_se(ctx->memory_min == 0);
assert_se(ctx->memory_low == 0);

View File

@ -1380,7 +1380,7 @@ static int nsec3_hashed_domain_make(DnsResourceRecord *nsec3, const char *domain
* matches the wildcard domain.
*
* Based on this we can prove either the existence of the record in @key, or NXDOMAIN or NODATA, or
* that there is no proof either way. The latter is the case if a the proof of non-existence of a given
* that there is no proof either way. The latter is the case if a proof of non-existence of a given
* name uses an NSEC3 record with the opt-out bit set. Lastly, if we are given insufficient NSEC3 records
* to conclude anything we indicate this by returning NO_RR. */
static int dnssec_test_nsec3(DnsAnswer *answer, DnsResourceKey *key, DnssecNsecResult *result, bool *authenticated, uint32_t *ttl) {

View File

@ -2117,7 +2117,7 @@ int dns_transaction_request_dnssec_keys(DnsTransaction *t) {
return r;
if (r == 0) {
/* Hmm, so this SOA RR doesn't match our original question. In this case, maybe this is
* a negative reply, and we need the a SOA RR's TTL in order to cache a negative entry?
* a negative reply, and we need the SOA RR's TTL in order to cache a negative entry?
* If so, we need to validate it, too. */
r = dns_answer_match_key(t->answer, t->key, NULL);

View File

@ -35,7 +35,7 @@ typedef enum ConfigParseFlags {
/* Prototype for a parser for a specific configuration setting */
typedef int (*ConfigParserCallback)(CONFIG_PARSER_ARGUMENTS);
/* A macro declaring the a function prototype, following the typedef above, simply because it's so cumbersomely long
/* A macro declaring a function prototype, following the typedef above, simply because it's so cumbersomely long
* otherwise. (And current emacs gets irritatingly slow when editing files that contain lots of very long function
* prototypes on the same screen) */
#define CONFIG_PARSER_PROTOTYPE(name) int name(CONFIG_PARSER_ARGUMENTS)

View File

@ -2062,7 +2062,7 @@ bool user_record_compatible(UserRecord *a, UserRecord *b) {
assert(a);
assert(b);
/* If either lacks a the regular section, we can't really decide, let's hence say they are
/* If either lacks the regular section, we can't really decide, let's hence say they are
* incompatible. */
if (!(a->mask & b->mask & USER_RECORD_REGULAR))
return false;

View File

@ -90,6 +90,7 @@ static int get_unit_list_recursive(
static int output_units_list(const UnitInfo *unit_infos, unsigned c) {
_cleanup_(table_unrefp) Table *table = NULL;
unsigned job_count = 0;
int r;
table = table_new("", "unit", "load", "active", "sub", "job", "description");
@ -108,7 +109,6 @@ static int output_units_list(const UnitInfo *unit_infos, unsigned c) {
(void) table_set_empty_string(table, "-");
int job_count = 0;
for (const UnitInfo *u = unit_infos; unit_infos && u < unit_infos + c; u++) {
_cleanup_free_ char *j = NULL;
const char *on_underline = "", *on_loaded = "", *on_active = "";
@ -156,7 +156,7 @@ static int output_units_list(const UnitInfo *unit_infos, unsigned c) {
TABLE_STRING, u->sub_state,
TABLE_SET_BOTH_COLORS, on_active,
TABLE_STRING, u->job_id ? u->job_type: "",
TABLE_SET_BOTH_COLORS, u->job_id ? on_underline : "",
TABLE_SET_BOTH_COLORS, on_underline,
TABLE_STRING, u->description,
TABLE_SET_BOTH_COLORS, on_underline);
if (r < 0)
@ -186,7 +186,8 @@ static int output_units_list(const UnitInfo *unit_infos, unsigned c) {
"LOAD = Reflects whether the unit definition was properly loaded.\n"
"ACTIVE = The high-level unit activation state, i.e. generalization of SUB.\n"
"SUB = The low-level unit activation state, values depend on unit type.");
puts(job_count ? "JOB = Pending job for the unit.\n" : "");
if (job_count > 0)
puts("JOB = Pending job for the unit.\n");
on = ansi_highlight();
off = ansi_normal();
} else {

View File

@ -58,10 +58,10 @@ if add_languages('cpp', required : false)
opts += [['c++'],
['c++', '-std=c++98'],
['c++', '-std=c++11']]
if cc.has_argument('-std=c++14')
if cxx.has_argument('-std=c++14')
opts += [['c++', '-std=c++14']]
endif
if cc.has_argument('-std=c++17')
if cxx.has_argument('-std=c++17')
opts += [['c++', '-std=c++17']]
endif
endif

View File

@ -960,7 +960,7 @@ static int copy_all_tags(sd_device *d, sd_device *s) {
if (!s)
return 0;
for (tag = sd_device_get_tag_first(s); tag; tag = sd_device_get_tag_next(s)) {
FOREACH_DEVICE_TAG(s, tag) {
r = device_add_tag(d, tag, false);
if (r < 0)
return r;

View File

@ -15,7 +15,7 @@ sanitize_address_undefined = custom_target(
project_source_root,
'@OUTPUT@',
'fuzzers',
'-Db_lundef=false -Db_sanitize=address,undefined @0@'.format(optimization),
'-Dfuzz-tests=true -Db_lundef=false -Db_sanitize=address,undefined @0@'.format(optimization),
' '.join(cc.cmd_array()),
cxx_cmd])

View File

@ -415,7 +415,7 @@ KERNEL=="ttyACM0", SYMLINK+="modem"
EOF
},
{
desc => "sustitution of sysfs value (%s{file})",
desc => "substitution of sysfs value (%s{file})",
devices => [
{
devpath => "/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda",

View File

@ -61,7 +61,7 @@ for phase in "${PHASES[@]}"; do
ENV_VARS="-e CC=clang -e CXX=clang++"
MESON_ARGS="--optimization=1"
fi
docker exec $ENV_VARS -it $CONT_NAME meson --werror -Dtests=unsafe -Dslow-tests=true -Dsplit-usr=true -Dman=true $MESON_ARGS build
docker exec $ENV_VARS -it $CONT_NAME meson --werror -Dtests=unsafe -Dslow-tests=true -Dfuzz-tests=true -Dsplit-usr=true -Dman=true $MESON_ARGS build
$DOCKER_EXEC ninja -v -C build
docker exec -e "TRAVIS=$TRAVIS" -it $CONT_NAME ninja -C build test
;;

View File

@ -83,12 +83,12 @@ for phase in "${PHASES[@]}"; do
RUN)
info "Run phase"
# Build systemd
$DOCKER_EXEC meson --werror -Dtests=unsafe -Dslow-tests=true build
$DOCKER_EXEC meson --werror -Dtests=unsafe -Dslow-tests=true -Dfuzz-tests=true build
$DOCKER_EXEC ninja -v -C build
$DOCKER_EXEC ninja -C build test
;;
RUN_CLANG)
docker exec -e CC=clang -e CXX=clang++ -it $CONT_NAME meson --werror -Dtests=unsafe -Dslow-tests=true -Dman=true build
docker exec -e CC=clang -e CXX=clang++ -it $CONT_NAME meson --werror -Dtests=unsafe -Dslow-tests=true -Dfuzz-tests=true -Dman=true build
$DOCKER_EXEC ninja -v -C build
$DOCKER_EXEC ninja -C build test
;;