]>
git.ipfire.org Git - thirdparty/systemd.git/log
Lennart Poettering [Thu, 1 Sep 2022 21:20:11 +0000 (23:20 +0200)]
mention ConditionKernelVersion= compat break in NEWS
Lennart Poettering [Mon, 29 Aug 2022 11:42:44 +0000 (13:42 +0200)]
condition: change operator logic to use $= instead of =$ for glob comparisons
So this is a bit of a bikeshedding thing. But I think we should do this
nonetheless, before this is released.
Playing around with the glob matches I realized that "=$" is really hard
to grep for, since in shell code it's an often seen construct. Also,
when reading code I often found myself thinking first that the "$"
belongs to the rvalue instead of the operator, in a variable expansion
scheme.
If we move the $ character to the left hand, I think we are on the safer
side, since usually lvalues are much more restricted in character sets
than rvalues (at least most programming languages do enforce limits on
the character set for identifiers).
It makes it much easier to grep for the new operator, and easier to read
too. Example:
before:
ConditionOSRelease=ID=$fedora-*
after:
ConditionOSRelease=ID$=fedora-*
Lennart Poettering [Mon, 29 Aug 2022 11:27:11 +0000 (13:27 +0200)]
condition: change ConditionKernelVersion= so that =/!= mean literal string comparison, and ==/<> version comparison
The only reason to do this is to ensure uniformity with the other
options, that work like this, i.e. ConditionOSRelease= or
ConditionSecurity=.
This is a compatibility break, but a minor one, given that string
comparison and version comparison is mostly the same for equality and
inequality.
Lennart Poettering [Mon, 29 Aug 2022 09:10:38 +0000 (11:10 +0200)]
condition: allow literal string compares in SMBIOS condition
This ensures that "=" and "!=" are now interpreted as literal string
compares, and "==" and "<>" are for version compares.
This is not a compat break, since the SMBIOS stuff has not been included
in any release yet.
Main reason to do this, is to be systematic with the other conditions
that check for text stuff.
Lennart Poettering [Mon, 29 Aug 2022 09:10:18 +0000 (11:10 +0200)]
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.
Lennart Poettering [Mon, 29 Aug 2022 09:09:48 +0000 (11:09 +0200)]
compare: add macro for operator charset
Lennart Poettering [Mon, 29 Aug 2022 09:08:18 +0000 (11:08 +0200)]
compare: propagate errors of fnmatch() as errors
Lennart Poettering [Fri, 26 Aug 2022 15:31:34 +0000 (17:31 +0200)]
compare: support textual operators, and port analyze over to it
Lennart Poettering [Fri, 26 Aug 2022 15:20:56 +0000 (17:20 +0200)]
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.
Lennart Poettering [Fri, 26 Aug 2022 15:08:37 +0000 (17:08 +0200)]
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.
Lennart Poettering [Fri, 26 Aug 2022 14:59:47 +0000 (16:59 +0200)]
condition: allow fnmatch compares for ConditionOSRelease=
We support this for smbios matches, hence do so for /etc/os-release
matches too.
Lennart Poettering [Fri, 26 Aug 2022 14:56:04 +0000 (16:56 +0200)]
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.
Lennart Poettering [Fri, 26 Aug 2022 14:51:12 +0000 (16:51 +0200)]
compare: add a proper flags field for parse_compare_operator()
Lennart Poettering [Fri, 26 Aug 2022 14:31:30 +0000 (16:31 +0200)]
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.
Lennart Poettering [Fri, 26 Aug 2022 14:28:06 +0000 (16:28 +0200)]
comapre: add generic implementation for comapring with verscmp+fnmatch
Lennart Poettering [Fri, 26 Aug 2022 14:27:55 +0000 (16:27 +0200)]
compare: move test_order() → compare-operator.[ch]
Lennart Poettering [Fri, 26 Aug 2022 14:10:40 +0000 (16:10 +0200)]
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.
Yu Watanabe [Thu, 1 Sep 2022 17:05:04 +0000 (02:05 +0900)]
github: update differential shellcheck to v3.0.1
v3 supports external sources. Yey!
Yu Watanabe [Thu, 1 Sep 2022 15:53:38 +0000 (00:53 +0900)]
Merge pull request #24531 from poettering/loop-resize-part-modernizations
loopback block device resize partition modernizations
Lennart Poettering [Thu, 1 Sep 2022 10:14:15 +0000 (12:14 +0200)]
loop-util: use DEVNUM_FORMAT_STR more
Lennart Poettering [Thu, 1 Sep 2022 10:10:30 +0000 (12:10 +0200)]
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.
Antonio Alvarez Feijoo [Thu, 1 Sep 2022 08:27:19 +0000 (10:27 +0200)]
man: remove reference to mkinitrd
dependabot[bot] [Thu, 1 Sep 2022 09:04:24 +0000 (09:04 +0000)]
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>
dependabot[bot] [Thu, 1 Sep 2022 09:04:00 +0000 (09:04 +0000)]
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>
dependabot[bot] [Thu, 1 Sep 2022 09:04:01 +0000 (09:04 +0000)]
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>
Lennart Poettering [Thu, 1 Sep 2022 07:48:28 +0000 (09:48 +0200)]
update TODO
Colin Walters [Wed, 31 Aug 2022 20:39:03 +0000 (16:39 -0400)]
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.
Yu Watanabe [Wed, 31 Aug 2022 15:09:28 +0000 (00:09 +0900)]
udevadm-settle: improve logs when we cannot access /run/udev/control
Addresses https://github.com/systemd/systemd/pull/24474#discussion_r959696663.
Frantisek Sumsal [Wed, 31 Aug 2022 18:03:00 +0000 (18:03 +0000)]
Merge pull request #24515 from yuwata/dissect-timeout
dissect-image: extend timeout for waiting devlink
Lennart Poettering [Wed, 31 Aug 2022 16:29:18 +0000 (18:29 +0200)]
update TODO
Jan Janssen [Wed, 31 Aug 2022 11:18:53 +0000 (13:18 +0200)]
tree-wide: Use devnum helpers in a few more places
Lennart Poettering [Mon, 29 Aug 2022 09:40:39 +0000 (11:40 +0200)]
test: don't mistake error for success
Follow-up for
acd3c8662465c1f36c0c0fc974584694928d9234
Luca Boccassi [Wed, 31 Aug 2022 13:57:12 +0000 (14:57 +0100)]
shellcheck/labeler: disable on systemd-security
Lennart Poettering [Mon, 29 Aug 2022 09:11:10 +0000 (11:11 +0200)]
condition: properly handle fnmatch() errors in ConditionHost
Lennart Poettering [Mon, 29 Aug 2022 09:07:11 +0000 (11:07 +0200)]
path-util: return error if fnmatch() fails
Yu Watanabe [Wed, 31 Aug 2022 14:12:26 +0000 (23:12 +0900)]
test-29-portable: enable debugging logs of udevd
Yu Watanabe [Wed, 31 Aug 2022 14:10:43 +0000 (23:10 +0900)]
test-29-portable: extend timeout for slower environment
Yu Watanabe [Wed, 31 Aug 2022 13:43:50 +0000 (22:43 +0900)]
dissect-image: add environment variable to control timeout for waiting devlink to be configured
Yu Watanabe [Wed, 31 Aug 2022 13:17:12 +0000 (22:17 +0900)]
udev-util: make device_wait_for_initialization() take relative timeout
Also make the timer event source floating.
Yu Watanabe [Wed, 31 Aug 2022 13:30:17 +0000 (22:30 +0900)]
udev-util: replace device_new_from_dev_path() with sd_device_new_from_devname()
Lennart Poettering [Mon, 29 Aug 2022 09:07:43 +0000 (11:07 +0200)]
hashmap: add comment explaining that set_fnmatch() handles fnmatch() errors as non-matches
Yu Watanabe [Wed, 31 Aug 2022 09:46:27 +0000 (18:46 +0900)]
Merge pull request #24499 from medhefgo/format-signedness
meson: Compile with -Werror=format-signedness
Swapnil Devesh [Tue, 30 Aug 2022 19:31:50 +0000 (01:01 +0530)]
hwdb: fix Dell Professional Sound Bar AE515 scancode (#24497)
Jan Janssen [Tue, 30 Aug 2022 07:57:53 +0000 (09:57 +0200)]
meson: Compile with -Werror=format-signedness
Jan Janssen [Tue, 30 Aug 2022 07:52:03 +0000 (09:52 +0200)]
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.
Jan Janssen [Tue, 30 Aug 2022 07:28:56 +0000 (09:28 +0200)]
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.
Jan Janssen [Mon, 29 Aug 2022 11:43:29 +0000 (13:43 +0200)]
tree-wide: Fix a some remaining format warnings by casting
Jan Janssen [Mon, 29 Aug 2022 11:36:19 +0000 (13:36 +0200)]
tree-wide: Mark some constants as unsigned
All these are really unsigned and used as such. This silences some
-Wformat-signedness warnings with gcc.
Jan Janssen [Mon, 29 Aug 2022 11:19:08 +0000 (13:19 +0200)]
journal: Show grcrypt error message instead of a raw code
Jan Janssen [Mon, 29 Aug 2022 11:08:31 +0000 (13:08 +0200)]
efivars: Parse into unsigned
The format specifiers for UUID parsing use %x, which expects unsigned.
Jan Janssen [Mon, 29 Aug 2022 11:07:11 +0000 (13:07 +0200)]
tree-wide: Use correct format specifiers
gcc will complain about all these with -Wformat-signedness.
Yu Watanabe [Mon, 29 Aug 2022 22:31:20 +0000 (07:31 +0900)]
Merge pull request #24474 from yuwata/udevadm-settle-cleanups
udevadm-settle: several cleanups
Yu Watanabe [Mon, 29 Aug 2022 22:31:05 +0000 (07:31 +0900)]
Merge pull request #24471 from yuwata/udevadm-wait-periodic-timer
udevadm-wait: introduce periodic timer for checking devices
Yu Watanabe [Mon, 29 Aug 2022 22:30:49 +0000 (07:30 +0900)]
Merge pull request #23888 from topimiettinen/networkd-netlabel-v2
network: NetLabel integration
LockBlock-dev [Mon, 29 Aug 2022 15:40:04 +0000 (15:40 +0000)]
hwdb: Force release calculator key on all HP Victus laptops
The key doesn't create a release event. This is a fix to make it work properly. I made sure the product is generic to work on all Victus laptops.
This fix #23006.
Lennart Poettering [Mon, 29 Aug 2022 13:11:15 +0000 (15:11 +0200)]
homed: don't use stat() data from an unrelated inode
This doesn't really change anything, since we know the stat data used
here also contains S_IFBLK, but it's frickin' confusing.
Yu Watanabe [Mon, 29 Aug 2022 16:10:43 +0000 (01:10 +0900)]
Merge pull request #24495 from poettering/loopback-block-msg
improve loopback warning message
Lennart Poettering [Mon, 29 Aug 2022 09:06:39 +0000 (11:06 +0200)]
strv: modernize strv_fnmatch() a bit
Frantisek Sumsal [Mon, 29 Aug 2022 15:35:07 +0000 (15:35 +0000)]
Merge pull request #24466 from mrc0mmand/TEST-75-tweaks
test: fix delv trust anchors location on Ubuntu
Lennart Poettering [Mon, 29 Aug 2022 13:11:09 +0000 (15:11 +0200)]
loopback: use ERRNO_IS_PRIVILEGE() where appropriate
Lennart Poettering [Mon, 29 Aug 2022 13:10:16 +0000 (15:10 +0200)]
loop: make 'Failed to configure loopback device' log message clearer
We print the very same log message for loopback block devices and for
loopback network devices. Let's better be clear what kind it is.
Lennart Poettering [Fri, 26 Aug 2022 13:59:07 +0000 (15:59 +0200)]
docs: use Title Case for section titles
as per:
https://titlecase.com/
Topi Miettinen [Sat, 20 Aug 2022 17:57:06 +0000 (20:57 +0300)]
test: testing for networkd NetLabel feature
Topi Miettinen [Sat, 20 Aug 2022 17:52:48 +0000 (20:52 +0300)]
network: NetLabel integration
New directive `NetLabel=` provides a method for integrating static and dynamic
network configuration into Linux NetLabel subsystem rules, used by Linux
Security Modules (LSMs) for network access control. The label, with suitable
LSM rules, can be used to control connectivity of (for example) a service with
peers in the local network. At least with SELinux, only the ingress can be
controlled but not egress. The benefit of using this setting is that it may be
possible to apply interface independent part of NetLabel configuration at very
early stage of system boot sequence, at the time when the network interfaces
are not available yet, with netlabelctl(8), and the per-interface configuration
with systemd-networkd once the interfaces appear later. Currently this feature
is only implemented for SELinux.
The option expects a single NetLabel label. The label must conform to lexical
restrictions of LSM labels. When an interface is configured with IP addresses,
the addresses and subnetwork masks will be appended to the NetLabel Fallback
Peer Labeling rules. They will be removed when the interface is
deconfigured. Failures to manage the labels will be ignored.
Example:
```
[DHCPv4]
NetLabel=system_u:object_r:localnet_peer_t:s0
```
With the above rules for interface `eth0`, when the interface is configured with
an IPv4 address of 10.0.0.123/8, `systemd-networkd` performs the equivalent of
`netlabelctl` operation
```
$ sudo netlabelctl unlbl add interface eth0 address:10.0.0.0/8 label:system_u:object_r:localnet_peer_t:s0
```
Result:
```
$ sudo netlabelctl -p unlbl list
...
interface: eth0
address: 10.0.0.0/8
label: "system_u:object_r:localnet_peer_t:s0"
...
```
Topi Miettinen [Sat, 27 Aug 2022 22:09:55 +0000 (07:09 +0900)]
sd-netlink: add NetLabel support
Topi Miettinen [Sat, 2 Jul 2022 14:15:42 +0000 (17:15 +0300)]
basic: generate netmasks for IPv6 and generic IP family addresses
Added functions to generate netmasks for IPv6 and generic IP family addresses.
Wenchao Hao [Sun, 28 Aug 2022 08:44:56 +0000 (16:44 +0800)]
scsi_id: retry inquiry ioctl if host_byte is DID_TRANSPORT_DISRUPTED
The inquiry is issued to kernel via ioctl, kernelspace would set
this inquiry command's retry count to 0 which means the command
would not be retried in kernel space even if the LLDs returned
a status which need to be retried. So we should take the retry
in user space.
Daniel Braunwarth [Sun, 28 Aug 2022 18:02:50 +0000 (20:02 +0200)]
condition: fix device-tree firmware path
The path /sys/firmware/device-tree doesn't exist. This should be either
/proc/device-tree or /sys/firmware/devicetree.
The first path is only a link. So lets use the second path.
See https://github.com/torvalds/linux/blob/v4.14/drivers/of/base.c#L218.
Yu Watanabe [Sat, 27 Aug 2022 07:13:27 +0000 (16:13 +0900)]
test-50-dissect: wait for and lock loop block partition devices
Yu Watanabe [Fri, 26 Aug 2022 16:17:46 +0000 (01:17 +0900)]
udevadm-wait: introduce periodic timer for checking devices
When --initialized=no is specified, it is not necessary to wait
for uevents to be processed by udevd.
Yu Watanabe [Sat, 27 Aug 2022 06:58:46 +0000 (15:58 +0900)]
Revert "test: wait for loop device to be removed"
This reverts commit
1a0e065e9f154f46fd68cd45f46310bc7df7a51c .
This does not work as expected.
After `losetup --detach`, the kernel lazily removes the loop device.
But, systemd-dissect should gracefully handle that. If it does not, then
it is a bug in systemd-dissect.
Let's not hide the real issue in systemd-dissect.
Yu Watanabe [Sat, 27 Aug 2022 16:11:47 +0000 (01:11 +0900)]
udevadm-settle: check validity of specified path
Yu Watanabe [Sat, 27 Aug 2022 16:06:08 +0000 (01:06 +0900)]
udevadm-settle: use sd-event
Yu Watanabe [Sat, 27 Aug 2022 16:04:56 +0000 (01:04 +0900)]
udevadm-settle: rename arg_timeout -> arg_timeout_usec
Yu Watanabe [Sat, 27 Aug 2022 15:45:21 +0000 (00:45 +0900)]
udevadm-settle: check if udevd is running
Yu Watanabe [Sat, 27 Aug 2022 15:31:13 +0000 (00:31 +0900)]
udevadm-settle: make failure in udev_ctrl_new() critical
It should not fail in general.
Yu Watanabe [Sat, 27 Aug 2022 15:33:15 +0000 (00:33 +0900)]
udevadm-settle: emit deprecated warning earlier
adrian5 [Mon, 29 Aug 2022 02:24:56 +0000 (04:24 +0200)]
man: Minor punctuation and word tweak
Yu Watanabe [Sat, 27 Aug 2022 06:44:17 +0000 (15:44 +0900)]
udev-util: minor cleanups for on_ac_power()
Follow-ups for #24420.
Luca Boccassi [Sun, 28 Aug 2022 20:09:10 +0000 (21:09 +0100)]
Merge pull request #24475 from yuwata/devpath
sd-device: introduce two helper functions for devnum
Yu Watanabe [Sun, 28 Aug 2022 03:54:52 +0000 (12:54 +0900)]
network: drop unused timestamp
Yu Watanabe [Sun, 28 Aug 2022 02:58:52 +0000 (11:58 +0900)]
test-64: run one more subtest on non-KVM environment with relaxed condition
Uriel Corfa [Sun, 28 Aug 2022 07:56:46 +0000 (09:56 +0200)]
docs: fix incorrect env var name for credentials directory
CREDENTIAL_PATH appears nowhere in the systemd source code.
$CREDENTIALS_DIRECTORY is what is used instead.
Yu Watanabe [Sat, 27 Aug 2022 21:10:44 +0000 (06:10 +0900)]
shell-completion: drop unused $mode
Fixes #24473.
Yu Watanabe [Sat, 27 Aug 2022 20:52:12 +0000 (05:52 +0900)]
udevadm: replace find_device_from_path() with sd_device_new_from_path()
Yu Watanabe [Sat, 27 Aug 2022 22:47:55 +0000 (07:47 +0900)]
test-network: add missing online check
Yu Watanabe [Sun, 28 Aug 2022 02:14:51 +0000 (11:14 +0900)]
udev: do not kill workers when requested to set the same log level currently assigned
Also refuse invalid log level.
Yu Watanabe [Sun, 28 Aug 2022 03:57:09 +0000 (12:57 +0900)]
udev/net: drop unused timestamp
Yu Watanabe [Sun, 28 Aug 2022 02:59:44 +0000 (11:59 +0900)]
test-64: relax number of partitions used in testcase_simultaneous_events() to speed up non-KVM environment
Yu Watanabe [Sat, 27 Aug 2022 20:56:25 +0000 (05:56 +0900)]
tree-wide: use devpath_from_devnum() and device_open_from_devnum()
Fixes #24465.
Yu Watanabe [Sat, 27 Aug 2022 21:43:30 +0000 (06:43 +0900)]
sd-device: skip to check diskseq if device is not initialized
Yu Watanabe [Sat, 27 Aug 2022 19:30:23 +0000 (04:30 +0900)]
sd-device: introduce device_open_from_devnum()
Yu Watanabe [Sat, 27 Aug 2022 17:45:56 +0000 (02:45 +0900)]
sd-device: introduce devpath_from_devnum()
Yu Watanabe [Sat, 27 Aug 2022 19:15:35 +0000 (04:15 +0900)]
devnum-util: split-out device_path_make_inaccessible()
Yu Watanabe [Sat, 27 Aug 2022 18:22:02 +0000 (03:22 +0900)]
sd-device: rename device-util.c -> device-filter.c
The functions provided by the file are only used in sd-device.
Yu Watanabe [Sat, 27 Aug 2022 17:59:30 +0000 (02:59 +0900)]
growfs,repart: fix misuse of sd_device_get_devpath()
Follow-up for
0f79b3469f167583033d17f9a6fa0e4341a68003 .
To obtain device node, sd_device_get_devname() must be used.
Yu Watanabe [Sat, 27 Aug 2022 16:43:23 +0000 (01:43 +0900)]
test-64: extend timeout for slower env e.g. non-kvm
Yu Watanabe [Sat, 27 Aug 2022 15:03:36 +0000 (00:03 +0900)]
tree-wide: fix typo
Swapnil Devesh [Sat, 27 Aug 2022 09:44:08 +0000 (15:14 +0530)]
hwdb: Add Dell Professional Sound Bar AE515
Yu Watanabe [Sat, 27 Aug 2022 06:24:49 +0000 (15:24 +0900)]
loop-util: use filter provided by sd_device_enumerator