Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rpm-ostree compose with unified core does not support hardlinks #4653

Open
LukeShortCloud opened this issue Oct 13, 2023 · 1 comment
Open

Comments

@LukeShortCloud
Copy link

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:

@jlebon
Copy link
Member

jlebon commented Oct 16, 2023

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

LukeShortCloud added a commit to playtron-os/playtron-os that referenced this issue Jan 22, 2024
This allows Legendary to be installed properly by working around
a few rpm-ostree bugs.

coreos/rpm-ostree#718
coreos/rpm-ostree#4653
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants