systemd version the issue has been seen with
latest master
Used distribution
Ubuntu/Debian
Since #22013 was merged, a couple of issues were spotted which cause the test to fail (under autopkgtest) and also might cause the test to give inaccurate results.
# 1 As discussed in #22053 the test fails under autopkgtest (Ubuntu CI and possibly Debian soon). I'll copy my findings verbatim from the mentioned PR:
There are multiple things going "wrong":
debuild strips empty directories
debuild (or something along the way) doesn't like dangling symlinks
Now, the install_subdir() in meson explicitly ignores .gitatrributes, so the respective installed test-fstab-generator/*.expected/*.requires/ directory ends up with only a dangling symlink. And it looks like debuild doesn't like dangling symlinks so it strips them as well, leading to test-{01..11}*.expected/*.requires/ directories being empty and subsequently stripped too. All this ends up in the systemd-tests*.deb package, which is then used when running the integration tests.
The systemd-tests package then looks like this:
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-01-dev-nfs.input
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-02-dhcp.input
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-03-dhcp6.input
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-04-nfs.input
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-05-nfs4.input
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-06-ipv4.input
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-07-ipv6.input
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-08-implicit-nfs.input
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-09-cifs.input
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-10-iscsi.input
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-11-live.input
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-12-dev-sdx.expected/initrd-root-device.target.d/50-root-device.conf
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-12-dev-sdx.expected/initrd-root-fs.target.requires/sysroot.mount
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-12-dev-sdx.expected/initrd-usr-fs.target.requires/sysroot.mount
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-12-dev-sdx.expected/sysroot.mount
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-12-dev-sdx.expected/systemd-fsck-root.service
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-12-dev-sdx.input
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-13-label.expected/initrd-root-device.target.d/50-root-device.conf
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-13-label.expected/initrd-root-fs.target.requires/sysroot.mount
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-13-label.expected/initrd-usr-fs.target.requires/sysroot.mount
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-13-label.expected/sysroot.mount
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-13-label.expected/systemd-fsck-root.service
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-13-label.input
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-14-uuid.expected/initrd-root-device.target.d/50-root-device.conf
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-14-uuid.expected/initrd-root-fs.target.requires/sysroot.mount
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-14-uuid.expected/initrd-usr-fs.target.requires/sysroot.mount
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-14-uuid.expected/sysroot.mount
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-14-uuid.expected/systemd-fsck-root.service
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-14-uuid.input
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-15-partuuid.expected/initrd-root-device.target.d/50-root-device.conf
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-15-partuuid.expected/initrd-root-fs.target.requires/sysroot.mount
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-15-partuuid.expected/initrd-usr-fs.target.requires/sysroot.mount
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-15-partuuid.expected/sysroot.mount
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-15-partuuid.expected/systemd-fsck-root.service
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-15-partuuid.input
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-16-tmpfs.expected/initrd-root-fs.target.requires/sysroot.mount
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-16-tmpfs.expected/initrd-usr-fs.target.requires/sysroot.mount
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-16-tmpfs.expected/sysroot.mount
D: Installing /usr/lib/systemd/tests/testdata/test-fstab-generator/test-16-tmpfs.input
causing the test to fail, for obvious reasons.
So far I don't know enough about Debian packaging to propose what should be the next steps though...
# 2 The symlinks are currently copied as files by meson
Meson already complains during ninja install:
...
Installing /home/fsumsal/repos/@systemd/systemd/test/test-fstab-generator/test-15-partuuid.expected/initrd-usr-fs.target.requires/sysroot.mount to /home/fsumsal/repos/@systemd/systemd/test_install/usr/lib/syst
emd/tests/testdata/test-fstab-generator/test-15-partuuid.expected/initrd-usr-fs.target.requires
Warning: trying to copy a symlink that points to a file. This will copy the file,
but this will be changed in a future version of Meson to copy the symlink as is. Please update your
build definitions so that it will not break when the change happens.
Installing /home/fsumsal/repos/@systemd/systemd/test/test-fstab-generator/test-16-tmpfs.expected/sysroot.mount to /home/fsumsal/repos/@systemd/systemd/test_install/usr/lib/systemd/tests/testdata/test-fstab-gen
erator/test-16-tmpfs.expected
Installing /home/fsumsal/repos/@systemd/systemd/test/test-fstab-generator/test-16-tmpfs.expected/initrd-root-fs.target.requires/sysroot.mount to /home/fsumsal/repos/@systemd/systemd/test_install/usr/lib/system
d/tests/testdata/test-fstab-generator/test-16-tmpfs.expected/initrd-root-fs.target.requires
Warning: trying to copy a symlink that points to a file. This will copy the file,
but this will be changed in a future version of Meson to copy the symlink as is. Please update your
build definitions so that it will not break when the change happens.
Installing /home/fsumsal/repos/@systemd/systemd/test/test-fstab-generator/test-16-tmpfs.expected/initrd-usr-fs.target.requires/sysroot.mount to /home/fsumsal/repos/@systemd/systemd/test_install/usr/lib/systemd
/tests/testdata/test-fstab-generator/test-16-tmpfs.expected/initrd-usr-fs.target.requires
Warning: trying to copy a symlink that points to a file. This will copy the file,
but this will be changed in a future version of Meson to copy the symlink as is. Please update your
build definitions so that it will not break when the change happens.
...
And the respective trees indeed differ:
source tree:
$ ls -lR test/test-fstab-generator/test-15-partuuid.expected/
test/test-fstab-generator/test-15-partuuid.expected/:
total 8
drwxrwxr-x. 1 fsumsal fsumsal 38 Jan 9 00:45 initrd-root-device.target.d
drwxrwxr-x. 1 fsumsal fsumsal 26 Jan 9 00:45 initrd-root-fs.target.requires
drwxrwxr-x. 1 fsumsal fsumsal 26 Jan 9 00:45 initrd-usr-fs.target.requires
-rw-rw-r--. 1 fsumsal fsumsal 434 Jan 9 00:45 sysroot.mount
-rw-rw-r--. 1 fsumsal fsumsal 648 Jan 9 00:45 systemd-fsck-root.service
test/test-fstab-generator/test-15-partuuid.expected/initrd-root-device.target.d:
total 4
-rw-rw-r--. 1 fsumsal fsumsal 236 Jan 9 00:45 50-root-device.conf
test/test-fstab-generator/test-15-partuuid.expected/initrd-root-fs.target.requires:
total 4
lrwxrwxrwx. 1 fsumsal fsumsal 16 Jan 9 00:45 sysroot.mount -> ../sysroot.mount
test/test-fstab-generator/test-15-partuuid.expected/initrd-usr-fs.target.requires:
total 4
lrwxrwxrwx. 1 fsumsal fsumsal 16 Jan 9 00:45 sysroot.mount -> ../sysroot.mount
installed tree:
$ ls -lR test_install/usr/lib/systemd/tests/testdata/test-fstab-generator/test-15-partuuid.expected/
test_install/usr/lib/systemd/tests/testdata/test-fstab-generator/test-15-partuuid.expected/:
total 8
drwxr-xr-x. 1 fsumsal fsumsal 38 Jan 9 00:50 initrd-root-device.target.d
drwxr-xr-x. 1 fsumsal fsumsal 26 Jan 9 00:50 initrd-root-fs.target.requires
drwxr-xr-x. 1 fsumsal fsumsal 26 Jan 9 00:50 initrd-usr-fs.target.requires
-rw-r--r--. 1 fsumsal fsumsal 434 Jan 9 00:45 sysroot.mount
-rw-r--r--. 1 fsumsal fsumsal 648 Jan 9 00:45 systemd-fsck-root.service
test_install/usr/lib/systemd/tests/testdata/test-fstab-generator/test-15-partuuid.expected/initrd-root-device.target.d:
total 4
-rw-r--r--. 1 fsumsal fsumsal 236 Jan 9 00:45 50-root-device.conf
test_install/usr/lib/systemd/tests/testdata/test-fstab-generator/test-15-partuuid.expected/initrd-root-fs.target.requires:
total 4
-rw-r--r--. 1 fsumsal fsumsal 434 Jan 9 00:45 sysroot.mount
test_install/usr/lib/systemd/tests/testdata/test-fstab-generator/test-15-partuuid.expected/initrd-usr-fs.target.requires:
total 4
-rw-r--r--. 1 fsumsal fsumsal 434 Jan 9 00:45 sysroot.mount
Not sure how much of an issue this actually is, but the difference is there.
/cc @evverx @yuwata @bluca @mbiebl
systemd version the issue has been seen with
Used distribution
Since #22013 was merged, a couple of issues were spotted which cause the test to fail (under
autopkgtest) and also might cause the test to give inaccurate results.# 1 As discussed in #22053 the test fails under
autopkgtest(Ubuntu CI and possibly Debian soon). I'll copy my findings verbatim from the mentioned PR:There are multiple things going "wrong":
debuildstrips empty directoriesdebuild(or something along the way) doesn't like dangling symlinksNow, the
install_subdir()in meson explicitly ignores.gitatrributes, so the respective installedtest-fstab-generator/*.expected/*.requires/directory ends up with only a dangling symlink. And it looks likedebuilddoesn't like dangling symlinks so it strips them as well, leading totest-{01..11}*.expected/*.requires/directories being empty and subsequently stripped too. All this ends up in thesystemd-tests*.debpackage, which is then used when running the integration tests.The
systemd-testspackage then looks like this:causing the test to fail, for obvious reasons.
So far I don't know enough about Debian packaging to propose what should be the next steps though...
# 2 The symlinks are currently copied as files by meson
Meson already complains during
ninja install:And the respective trees indeed differ:
source tree:
installed tree:
Not sure how much of an issue this actually is, but the difference is there.
/cc @evverx @yuwata @bluca @mbiebl