coreos/rpm-ostree

compose tree fails with Fedora IoT 39 treefile

fayalalebrun opened this issue · 1 comments

Describe the bug

ostree compose fails when used with Fedora IoT 39's treefile.

Reproduction steps

ostree init --mode=bare-user --repo=build
mkdir cache
git clone https://pagure.io/fedora-iot/ostree.git -b f39 fedora-iot-spec/
rpm-ostree compose tree --unified-core --cachedir="cache" --repo="build"  "fedora-iot-spec/fedora-iot.json"

Expected behavior

Command completes without errors.

Actual behavior

Commands fails with:
error: Checkout systemd-254.5-2.fc39.x86_64: Hardlinking 0a/e055c151ec0a63d51ff3aee8c8240d9687b2240e21fe2ace739a6703925d36.file to LICENSE.LGPL2.1: File exists

System details

rpm-ostree:
 Version: '2024.3'
 Git: 1292241492a3476cb36515812ba4eb1f87b8742f
 Features:
  - rust
  - compose
  - container
  - fedora-integratio

Additional information

I came across this issue when building a treefile on top of Fedora IoT 39. However, I found it still happens with the base treefile.

We hit that in IoT when we moved to unified-core in Fedora 40.

It was fixed in systemd-255~rc3-2, which doesn't appear to be built in Fedora 39. If you target Fedora 40 it should work or you can file an issue on systemd to see if it can be built in F39.