Description of problem:
I used dnf --forcearch=i686 to install a 32-bit container into a directory:
sudo dnf -y --releasever=28 --installroot=/var/lib/machines/f28-32 \
--disablerepo='*' --enablerepo=fedora --enablerepo=updates install \
systemd passwd dnf fedora-release vim-minimal --forcearch=i686
This works great, but then when I run dnf operations *inside* the
container, it always wants to install their amd64 versions:
[root@f28-32 ~]# dnf install htop
Last metadata expiration check: 0:20:05 ago on Thu May 10 19:29:11 2018.
Package Arch Version Repository Size
htop x86_64 2.1.0-1.fc28 fedora 108 k
glibc x86_64 2.27-8.fc28 fedora 3.6 M
ncurses-libs x86_64 6.1-4.20180224.fc28 fedora 334 k
It would be great if dnf would somehow store the information that in made the
initial creation of this installroot with --forcearch, so that dnf running
inside that installroot would default to the right architecture.
Version-Release number of selected component (if applicable):
I created a patch that enhance a documentation https://github.com/rpm-software-management/dnf/pull/1089
Thanks, that explains that I'm missing an 'arch' setting.
Do you think it would be possible for dnf to add 'arch' automatically to /etc/dnf/dnf.conf?
If you will add into dnf.conf
it will work like you expect. DNF cannot do it automatically.
The issue is solved by dnf-3.0.1-1 that was released into rawhide.