Anything related to "hardware", i.e. actual partitions and such, should not be present. We split out systemd-udev from the main systemd package a while back to reduce dependencies in containers.
The dependency chain is systemd→cryptsetup-libs→device-mapper-libs→device-mapper.
It turns out that libdevmapper.so in device-mapper-libs calls out to udev, and udev has rules that call out to binaries in device-mapper, so both packages require each other and the split between d-m and d-m-l is only because of historical reasons.
I'll close this for now.
Metadata Update from @zbyszek:
- Issue status updated to: Closed (was: Open)
to comment on this ticket.