Commit Graph
59544 Commits
Author SHA1 Message Date
Lennart Poettering c990742523 condition: allow fnmatch() matches in ConditionKernelVersion=
This is mostly to make things systematic, and brings no new
functionality, as not specifying any operator is identical to prefixing
with =$ anyway.
2022-09-01 23:16:13 +02:00
Lennart Poettering 4803b0bcaa compare: add macro for operator charset 2022-09-01 23:16:13 +02:00
Lennart Poettering 5f6b2d394b compare: propagate errors of fnmatch() as errors 2022-09-01 23:16:13 +02:00
Lennart Poettering 2e8fa6274d compare: support textual operators, and port analyze over to it 2022-09-01 23:16:13 +02:00
Lennart Poettering 6061c86693 compare: add two new operators "==" and "<>"
These two operators always indicate ordering comparisons, as opposed to
"=" and "!=" which depending on context mean literal string compares.

This is useful for ConditionOSRelease= for example, as this means
there's now always a way to do version compares.
2022-09-01 23:16:13 +02:00
Lennart Poettering 38c09fa008 compare: rework table in parse_compare_operator() to be array of structs
Let's change the lookup table to contain pairs of operator/strings,
instead of being indexed by operator.

The table isn't dense anymore, and this allows us to add alias strings
sooner or later.
2022-09-01 23:16:10 +02:00
Lennart Poettering 8daa674090 condition: allow fnmatch compares for ConditionOSRelease=
We support this for smbios matches, hence do so for /etc/os-release
matches too.
2022-09-01 23:15:14 +02:00
Lennart Poettering 57610982f7 compare: add flag for parse_compare_operator() to do equality/inequality comparison via simple string compares
This allows us to switch condition_test_osrelease() to use generic
version_or_fnmatch_compare() for executing the comparison.
2022-09-01 23:15:14 +02:00
Lennart Poettering 69f0a6091b compare: add a proper flags field for parse_compare_operator() 2022-09-01 23:15:14 +02:00
Lennart Poettering 97c7bed90a compare: drop use of FNM_EXTMATCH for now
None of our other fnmatch() calls make use of this, and the concept was
new to me at least. Given that this is only used for the recently added
SMBIOS field matches (and is not included in any release) let's disable
"extended" matches for now. We can certainly revisit this, and enable it
later if there is real demand, but if we do, we should probably add that
all over the place, not just for smbios matches.
2022-09-01 23:15:14 +02:00
Lennart Poettering 8bd2cf6e11 comapre: add generic implementation for comapring with verscmp+fnmatch 2022-09-01 23:15:14 +02:00
Lennart Poettering 650c4c8707 compare: move test_order() → compare-operator.[ch] 2022-09-01 23:15:14 +02:00
Lennart Poettering a8835c1190 condition: split out order operator enum
Let's move the operator enum into its own .c/.h file, so that we can
reuse it elsewhere, in particular systemd-analyze's compare-versions
logic.

Let's rename the concept CompareOperator, since it is nowadays
genericlaly about both order *and* fnmatch comparisons, hence just
naming it "order" is misleading.
2022-09-01 23:12:34 +02:00
Yu Watanabe 0a3e413516 github: update differential shellcheck to v3.0.1
v3 supports external sources. Yey!
2022-09-01 17:27:09 +00:00
Yu Watanabe 51165cf587 Merge pull request #24531 from poettering/loop-resize-part-modernizations
loopback block device resize partition modernizations
2022-09-02 00:53:38 +09:00
Lennart Poettering ed13feff1e loop-util: use DEVNUM_FORMAT_STR more 2022-09-01 16:00:45 +02:00
Lennart Poettering 91e1ce1a7c loop-util: move resize partition ioctl call to blockdev-util.[ch]
The other BLKPG calls have wrappers in blockdev-util.[ch], let's place
them all there.

No change in behaviour.
2022-09-01 15:59:54 +02:00
Antonio Alvarez Feijoo cf0dc88da6 man: remove reference to mkinitrd 2022-09-01 14:09:30 +01:00
dependabot[bot] c19053e657 build(deps): bump meson from 0.63.0 to 0.63.1 in /.github/workflows
Bumps [meson](https://github.com/mesonbuild/meson) from 0.63.0 to 0.63.1.
- [Release notes](https://github.com/mesonbuild/meson/releases)
- [Commits](https://github.com/mesonbuild/meson/compare/0.63.0...0.63.1)

---
updated-dependencies:
- dependency-name: meson
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-01 10:31:30 +00:00
dependabot[bot] d1cc2654fd build(deps): bump github/super-linter from 4.9.5 to 4.9.6
Bumps [github/super-linter](https://github.com/github/super-linter) from 4.9.5 to 4.9.6.
- [Release notes](https://github.com/github/super-linter/releases)
- [Changelog](https://github.com/github/super-linter/blob/main/docs/release-process.md)
- [Commits](https://github.com/github/super-linter/compare/2d64ac1c067c34beaf7d24cc12733cd46236f76e...01d3218744765b55c3b5ffbb27e50961e50c33c5)

---
updated-dependencies:
- dependency-name: github/super-linter
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-01 09:21:53 +00:00
dependabot[bot] 42907767bd build(deps): bump redhat-plumbers-in-action/advanced-issue-labeler
Bumps [redhat-plumbers-in-action/advanced-issue-labeler](https://github.com/redhat-plumbers-in-action/advanced-issue-labeler) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/redhat-plumbers-in-action/advanced-issue-labeler/releases)
- [Commits](https://github.com/redhat-plumbers-in-action/advanced-issue-labeler/compare/b89eb39b97529bb7596cb4e716485a6d6f7dd74a...d12b782ff92bc9ac535fb09c925aaa5be9e40f69)

---
updated-dependencies:
- dependency-name: redhat-plumbers-in-action/advanced-issue-labeler
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-01 09:08:19 +00:00
Lennart Poettering b7b7441de4 update TODO 2022-09-01 09:48:40 +02:00
Colin Walters 413e8650b7 tree-wide: Use "unmet" for condition checks, not "failed"
Often I end up debugging a problem on a system, and I
do e.g. `journalctl --grep=failed|error`.  The use of the term
"failed" for condition checks adds a *lot* of unnecessary noise into
this.

Now, I know this regexp search isn't precise, but it has proven
to be useful to me.

I think "failed" is too strong of a term as a baseline, and also
just stands out to e.g. humans watching their servers boot or
whatever.

The term "met condition" is fairly widely used, e.g.
https://stackoverflow.com/questions/63751794/what-does-the-condition-is-met-exactly-mean-in-programming-languages

Use that instead.
2022-09-01 15:03:40 +09:00
Yu Watanabe 133ac84e60 udevadm-settle: improve logs when we cannot access /run/udev/control
Addresses https://github.com/systemd/systemd/pull/24474#discussion_r959696663.
2022-08-31 22:26:06 +01:00
Frantisek Sumsal 47190275cf Merge pull request #24515 from yuwata/dissect-timeout
dissect-image: extend timeout for waiting devlink
2022-08-31 18:03:00 +00:00
Lennart Poettering a9f1bf409f update TODO 2022-08-31 18:29:30 +02:00
Jan Janssen 3a4e4fface tree-wide: Use devnum helpers in a few more places 2022-09-01 00:55:37 +09:00
Lennart Poettering 18f806b8d9 test: don't mistake error for success
Follow-up for acd3c86624
2022-09-01 00:54:28 +09:00
Luca Boccassi df16869660 shellcheck/labeler: disable on systemd-security 2022-09-01 00:53:46 +09:00
Lennart Poettering 7fd0fb02a1 condition: properly handle fnmatch() errors in ConditionHost 2022-08-31 17:31:28 +02:00
Lennart Poettering 6eeadaa141 path-util: return error if fnmatch() fails 2022-08-31 17:31:11 +02:00
Yu Watanabe 39fdc6f82d test-29-portable: enable debugging logs of udevd 2022-08-31 23:33:13 +09:00
Yu Watanabe 9fff8e1fdd test-29-portable: extend timeout for slower environment 2022-08-31 23:32:57 +09:00
Yu Watanabe 2b6605102d dissect-image: add environment variable to control timeout for waiting devlink to be configured 2022-08-31 23:20:09 +09:00
Yu Watanabe 4f89ce0c91 udev-util: make device_wait_for_initialization() take relative timeout
Also make the timer event source floating.
2022-08-31 23:12:46 +09:00
Yu Watanabe f81b3e90e4 udev-util: replace device_new_from_dev_path() with sd_device_new_from_devname() 2022-08-31 23:12:46 +09:00
Lennart Poettering 8812f8fc65 hashmap: add comment explaining that set_fnmatch() handles fnmatch() errors as non-matches 2022-08-31 15:13:42 +02:00
Yu Watanabe a7614fbe85 Merge pull request #24499 from medhefgo/format-signedness
meson: Compile with -Werror=format-signedness
2022-08-31 18:46:27 +09:00
Swapnil Devesh f1c36537a9 hwdb: fix Dell Professional Sound Bar AE515 scancode (#24497) 2022-08-31 04:31:50 +09:00
Jan Janssen a4ea5d19bb meson: Compile with -Werror=format-signedness 2022-08-30 12:03:33 +02:00
Jan Janssen f996072fe0 tree-wide: Fix field width specifier warnings
The casting here isn't pretty, but at least it makes it obvious what is
happening instead of implicit and it allows enabling -Wformat-signedness.
2022-08-30 12:03:33 +02:00
Jan Janssen 5570a09702 tree-wide: Fix format specifier warnings for %x
Unfortunately, hex output can only be produced with unsigned types. Some
cases can be fixed by producing the correct type, but a few simply have
to be cast. At least casting makes it explicit.
2022-08-30 12:03:33 +02:00
Jan Janssen 2676befc73 tree-wide: Fix a some remaining format warnings by casting 2022-08-30 12:03:33 +02:00
Jan Janssen 63b9838639 tree-wide: Mark some constants as unsigned
All these are really unsigned and used as such. This silences some
-Wformat-signedness warnings with gcc.
2022-08-30 12:03:33 +02:00
Jan Janssen 1dbab956ba journal: Show grcrypt error message instead of a raw code 2022-08-30 12:03:33 +02:00
Jan Janssen 9cf6c94eba efivars: Parse into unsigned
The format specifiers for UUID parsing use %x, which expects unsigned.
2022-08-30 12:03:33 +02:00
Jan Janssen c0f86d66f3 tree-wide: Use correct format specifiers
gcc will complain about all these with -Wformat-signedness.
2022-08-30 12:03:28 +02:00
Yu Watanabe 125d108665 Merge pull request #24474 from yuwata/udevadm-settle-cleanups
udevadm-settle: several cleanups
2022-08-30 07:31:20 +09:00
Yu Watanabe 7078299658 Merge pull request #24471 from yuwata/udevadm-wait-periodic-timer
udevadm-wait: introduce periodic timer for checking devices
2022-08-30 07:31:05 +09:00
Yu Watanabe 69a20cc3e4 Merge pull request #23888 from topimiettinen/networkd-netlabel-v2
network: NetLabel integration
2022-08-30 07:30:49 +09:00