rpm-ostree compose with unified core does not support hardlinks
Opened this issue · 1 comments
LukeShortCloud commented
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: