dissect: allow confext/sysext to be in the same image
This reworks the image discovery logic, and conceptually allows DDIs
that are both confext and sysext to exist. Previously we'd only extract
one type of exension data from a DDI, with this we allow to extract both
if both exist.
This doesn't add support for true "multi-modal" DDIs, that qualify as
various things at once, it just lays some ground work that ensures we at
least can dissect such images.
This reworks 484d26dac1 quite a bit.
This changes systemd-dissect's JSON output, but given the
version with the fields it changes/dops has never been released (as the
above patch was merged post-v254) this shouldn't be an issue.
This commit is contained in:
@@ -31,8 +31,8 @@ fi
|
||||
|
||||
systemd-dissect --no-pager /usr/share/minimal_0.raw | grep -q '✓ portable service'
|
||||
systemd-dissect --no-pager /usr/share/minimal_1.raw | grep -q '✓ portable service'
|
||||
systemd-dissect --no-pager /usr/share/app0.raw | grep -q '✓ sysext extension for portable service'
|
||||
systemd-dissect --no-pager /usr/share/app1.raw | grep -q '✓ sysext extension for portable service'
|
||||
systemd-dissect --no-pager /usr/share/app0.raw | grep -q '✓ sysext for portable service'
|
||||
systemd-dissect --no-pager /usr/share/app1.raw | grep -q '✓ sysext for portable service'
|
||||
|
||||
export SYSTEMD_LOG_LEVEL=debug
|
||||
mkdir -p /run/systemd/system/systemd-portabled.service.d/
|
||||
|
||||
@@ -573,8 +573,8 @@ echo "MARKER_SYSEXT_123" >testkit/usr/lib/testfile
|
||||
mksquashfs testkit/ testkit.raw
|
||||
cp testkit.raw /run/extensions/
|
||||
unsquashfs -l /run/extensions/testkit.raw
|
||||
systemd-dissect --no-pager /run/extensions/testkit.raw | grep -q '✓ sysext extension for portable service'
|
||||
systemd-dissect --no-pager /run/extensions/testkit.raw | grep -q '✓ sysext extension for system'
|
||||
systemd-dissect --no-pager /run/extensions/testkit.raw | grep -q '✓ sysext for portable service'
|
||||
systemd-dissect --no-pager /run/extensions/testkit.raw | grep -q '✓ sysext for system'
|
||||
systemd-sysext merge
|
||||
systemd-sysext status
|
||||
grep -q -F "MARKER_SYSEXT_123" /usr/lib/testfile
|
||||
@@ -589,8 +589,8 @@ echo "MARKER_CONFEXT_123" >testjob/etc/testfile
|
||||
mksquashfs testjob/ testjob.raw
|
||||
cp testjob.raw /run/confexts/
|
||||
unsquashfs -l /run/confexts/testjob.raw
|
||||
systemd-dissect --no-pager /run/confexts/testjob.raw | grep -q '✓ confext extension for system'
|
||||
systemd-dissect --no-pager /run/confexts/testjob.raw | grep -q '✓ confext extension for portable service'
|
||||
systemd-dissect --no-pager /run/confexts/testjob.raw | grep -q '✓ confext for system'
|
||||
systemd-dissect --no-pager /run/confexts/testjob.raw | grep -q '✓ confext for portable service'
|
||||
systemd-confext merge
|
||||
systemd-confext status
|
||||
grep -q -F "MARKER_CONFEXT_123" /etc/testfile
|
||||
|
||||
Reference in New Issue
Block a user