coreos/rpm-ostree

rpm-ostree compose with unified core does not support hardlinks

Opened this issue · 1 comments

Host system details:

I am on Fedora Workstation 38 trying to build Fedora Silverblue 38.

$ rpm-ostree --version
rpm-ostree:
 Version: '2023.8'
 Git: 9a99d0af32640b234318815a256a2d11e35fa64c
 Features:
  - rust
  - compose
  - container
  - fedora-integration

Actual behavior:

$ sudo -E rpm-ostree compose tree --unified-core --cachedir=${WORKDIR}/cache --repo=${WORKDIR}/repo fedora-silverblue-unixodbc.yaml
Input state hash: 6b84d1d1bad57c8bbf3903b1760e1fa8740126e7eac6163272b56b71e4295a74
Relabeling...done
Checking out packages...done
error: Checkout unixODBC-2.3.11-2.fc38.i686: Copy checkout of 4d252bc079de54d3fbb732ca336c66eca45c6ae6704ed5761480ff87a5313466 to odbc.ini: linkat: File exists

Expected behavior:

The hardlink should be created as part of the RPM spec installation.

The issue I ran into is actually with the unixODBC.i686 package but I tried (1) only installing unixODBC.i686, (2) only installing unixODBC.x86_64, and (3) installing both of them. The issue never showed up doing any of those. It only showed up when installing wine.

Steps to reproduce it:

git clone --branch f38 https://pagure.io/workstation-ostree-config.git
cd workstation-ostree-config
export WORKDIR="/root/tmp"
sudo -E mkdir -p ${WORKDIR}/cache ${WORKDIR}/repo
sudo -E ostree --repo=${WORKDIR}/repo init --mode=archive-z2
cat <<EOF > fedora-silverblue-unixodbc.yaml
---
include: fedora-silverblue.yaml
releasever: "38"
packages:
  - wine
EOF
sudo -E rpm-ostree compose tree --unified-core --cachedir=${WORKDIR}/cache --repo=${WORKDIR}/repo fedora-silverblue-unixodbc.yaml

Workaround:

Do not use a unified core build. However, that is deprecated and does not support modular repositories.

NOTICE: Running rpm-ostree compose tree without --unified-core is deprecated.
 Please add --unified-core to the command line and ensure your content
 works with it.  For more information, see https://github.com/coreos/rpm-ostree/issues/729

Possibly related:

Hmm weird, this should be covered by #3161. Will have to dig into this.