During download phase, local repository are available, and no problem detected, so reboot is suggested. During reboot, local repository are not available, and upgrade fails. Workaround: switch to online repository for the upgrade. P.S. probably a very minor issue, at least bug open for documentation purpose.
The transaction to execute is prepared before upgrade, so it should work just fine to have a local repository. What exactly fails and how? Can you attach logs?
I use baseurl=file:///home/rpmbuild/site/rpms/fedora/$releasever/remi/$basearch/ During "download" phase, dnf found: php-intl x86_64 7.0.12-2.fc25.remi remi 210 k (but, per optimization for local repo, it doesn't download it) Download phase is OK (all deps ok) During reboot phase: package php-intl-7.0.12-2.fc23.remi.x86_64 requires libicuuc.so.54()(64bit), but none of the providers can be installed. (which is the installed version). After switching to baseurl=http://rremirepo.net/fedora/$releasever/remi/$basearch/ Everything works.
Digging a bit more in the "big" dnf.log During the 1st reboot (which fails..) Oct 20 09:46:16 INFO --- logging initialized --- Oct 20 09:46:16 DDEBUG timer: config: 4 ms Oct 20 09:46:16 DEBUG cachedir: /var/cache/dnf Oct 20 09:46:16 DEBUG Loaded plugins: system-upgrade, needs-restarting, reposync, config-manager, noroot, generate_completion_cache, Query, protected_packages, repomanage, builddep, download, debuginfo-install, playground, copr Oct 20 09:46:16 DEBUG DNF version: 1.1.10 Oct 20 09:46:16 DDEBUG Command: dnf makecache timer Oct 20 09:46:16 DDEBUG Installroot: / Oct 20 09:46:16 DDEBUG Releasever: 23 Oct 20 09:46:16 DDEBUG Base command: makecache .... Oct 20 09:46:16 DDEBUG repo: downloading from remote: remi, _Handle: metalnk: None, mlist: None, urls ['file:///home/rpmbuild/site/rpms/fedora/23/remi/x86_64/']. ... Oct 20 09:48:12 INFO --- logging initialized --- Oct 20 09:48:12 DDEBUG timer: config: 4 ms Oct 20 09:48:12 DEBUG cachedir: /var/cache/dnf Oct 20 09:48:12 DEBUG Loaded plugins: config-manager, copr, reposync, repomanage, generate_completion_cache, needs-restarting, playground, system-upgrade, Query, debuginfo-install, download, protected_packages, builddep, noroot Oct 20 09:48:12 DEBUG DNF version: 1.1.10 Oct 20 09:48:12 DDEBUG Command: dnf system-upgrade reboot Oct 20 09:48:12 DDEBUG Installroot: / Oct 20 09:48:12 DDEBUG Releasever: 23 Oct 20 09:48:12 DDEBUG Base command: system-upgrade Oct 20 09:48:12 DDEBUG Extra commands: ['reboot'] Oct 20 09:48:48 INFO --- logging initialized --- Oct 20 09:48:48 DDEBUG timer: config: 4 ms Oct 20 09:48:48 DEBUG cachedir: /var/cache/dnf Oct 20 09:48:48 DEBUG Loaded plugins: system-upgrade, noroot, config-manager, copr, debuginfo-install, needs-restarting, playground, reposync, repomanage, builddep, protected_packages, Query, download, generate_completion_cache Oct 20 09:48:48 DEBUG DNF version: 1.1.10 Oct 20 09:48:48 DDEBUG Command: dnf --releasever=25 system-upgrade upgrade Oct 20 09:48:48 DDEBUG Installroot: / Oct 20 09:48:48 DDEBUG Releasever: 25 Oct 20 09:48:48 DDEBUG Base command: system-upgrade Oct 20 09:48:48 DDEBUG Extra commands: ['upgrade'] Oct 20 09:48:48 DDEBUG timer: sack setup: 24 ms Oct 20 09:48:50 DEBUG --> Début de la résolution des dépendances Oct 20 09:48:50 DEBUG --> Résolution des dépendances terminée Oct 20 09:48:50 DDEBUG timer: depsolve: 251 ms Oct 20 09:48:50 SUBDEBUG Traceback (most recent call last): File "/usr/lib/python3.4/site-packages/dnf/cli/main.py", line 120, in _main ret = resolving(cli, base) File "/usr/lib/python3.4/site-packages/dnf/cli/main.py", line 139, in resolving base.resolve(cli.demands.allow_erasing) File "/usr/lib/python3.4/site-packages/dnf/base.py", line 541, in resolve raise exc dnf.exceptions.DepsolveError: package ImageMagick7-libs-7.0.3.4-1.fc23.remi.x86_64 requires libwebp.so.5()(64bit), but none of the providers can be installed. package php-cli-7.0.12-2.fc23.remi.x86_64 requires libtinfo.so.5()(64bit), but none of the providers can be installed. package php-intl-7.0.12-2.fc23.remi.x86_64 requires libicuuc.so.54()(64bit), but none of the providers can be installed.
I'm quite sure the packages have not been download (using local repo), as after switching to online repo, the same "dnf --releasever=25 system-upgrade download" command, they were been downloaded.
Created attachment 1212522 [details] dnf.log Full content of /var/log/dnf.log
Hm, I see. And is the local repository available (mounted) during the upgrade?
(In reply to Zbigniew Jędrzejewski-Szmek from comment #6) > Hm, I see. And is the local repository available (mounted) during the > upgrade? Sorry, I'm not sure (don't know which FS are available during the upgrade process)
Thanks to journalctl During failed upgrade oct. 20 09:48:12 builder.remirepo.net python3[32265]: Rebooting to perform upgrade. -- Reboot -- oct. 20 09:48:44 builder.remirepo.net systemd[1]: Mounted /home/rpmbuild/site/rpms. oct. 20 09:48:50 builder.remirepo.net dnf[1173]: package php-intl-7.0.12-2.fc23.remi.x86_64 requires libicuuc.so.54()(64bit), but none of the providers can be installed. So, yes, it is mounted
This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component.
Thanks for the report. We don't "download" packages from local repos. So it just ignores them after reboot.
This bug appears to have been reported against 'rawhide' during the Fedora 26 development cycle. Changing version to '26'.
I created a pull-request that should help with issue (https://github.com/rpm-software-management/dnf-plugins-extras/pull/97).
(In reply to Remi Collet from comment #7) > (In reply to Zbigniew Jędrzejewski-Szmek from comment #6) > > Hm, I see. And is the local repository available (mounted) during the > > upgrade? > > Sorry, I'm not sure (don't know which FS are available during the upgrade > process) The upgrade process uses system-update.target, which Requires sysinit.target, which is After local-fs.target. So if your repo is a) on a local disk and b) has "auto" set in fstab, it will be mounted during upgrade. (See systemd.special(7) and systemd.offline-updates(7) for details.) I don't know of a good way for the plugin to ask systemd whether a given path (say, your repo) is on a local mountpoint, but here's how you could check in shell: # find the mountpoint for $REPODIR mnt=$(findmnt -n -o TARGET --target "$REPODIR") # convert it to the correct unit name unit=$(systemd-escape --suffix=mount --path "$mnt") # is it listed as a dependency for system-update.target? systemctl list-dependencies system-update.target --plain | grep -qwe $unit || \ echo WARNING: $REPODIR will not be mounted during upgrade.
dnf-2.6.3-1.fc26 dnf-plugins-extras-2.0.2-1.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-4813633f96
dnf-2.6.3-1.fc26, dnf-plugins-extras-2.0.2-1.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-4813633f96
dnf-2.6.3-1.fc26, dnf-plugins-extras-2.0.2-1.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.