Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1917378

Summary: Make offline-upgrade and offline-distrosync easy to find and install
Product: [Fedora] Fedora Reporter: Daniel Mach <dmach>
Component: dnf-plugins-extrasAssignee: Jaroslav Mracek <jmracek>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 34CC: dmach, jkadlcik, jmracek, kparal, mblaha, pkratoch, rpm-software-management, vmukhame
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: dnf-plugins-extras-4.0.15-1.fc35 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-06-15 07:21:14 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Daniel Mach 2021-01-18 11:42:15 UTC
offline-upgrade and offline-distrosync are part of system-upgrade code and RPM.
They should be somehow highlighted so the users are aware of their existence.

The following Provides should be introduced at least:
dnf-command(offline-upgrade)
dnf-command(offline-distrosync)

Comment 1 Kamil Páral 2021-01-18 12:06:21 UTC
I'll reprint here my devel list email [1]:

~~~~
This was mighty confusing. First, the recommended approach
by DNF itself doesn't work:

$ sudo dnf offline-distrosync
No such command: offline-distrosync. Please use /usr/bin/dnf --help
It could be a DNF plugin command, try: "dnf install
'dnf-command(offline-distrosync)'"

$ sudo dnf install 'dnf-command(offline-distrosync)'
Last metadata expiration check: 3:48:58 ago on Mon 18 Jan 2021 08:39:43 AM
CET.
No match for argument: dnf-command(offline-distrosync)
Error: Unable to find a match: dnf-command(offline-distrosync)

Second, a man page for dnf-offline-* is missing even if you install the
right plugin, so it's not clear that you have it at all.

And third, why on earth is this bundled with system-upgrade, what is their
relationship? I want to perform "dnf upgrade" (or distrosync) in a safe
manner, and so doing it offline with "dnf offline-upgrade" seems natural.
So it's an offline version of upgrade/distrosync, and it's closer to those
commands than to a system-upgrade command, in my eyes.
~~~~

[1] https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/QEOAQOONWJLVZ5YSUZDZXWGJGXUSNO7H/

Comment 2 Jaroslav Mracek 2021-01-18 15:25:01 UTC
I create PR (https://github.com/rpm-software-management/dnf-plugins-extras/pull/192) that adds information about additional commands to package description and also dnf-command() provides.

The patch did not resolve problem with man pages, but this is problem of whole dnf (no man pages for particular commands).

> And third, why on earth is this bundled with system-upgrade, what is their
> relationship? I want to perform "dnf upgrade" (or distrosync) in a safe
> manner, and so doing it offline with "dnf offline-upgrade" seems natural.
> So it's an offline version of upgrade/distrosync, and it's closer to those
> commands than to a system-upgrade command, in my eyes.

New commands are shipped together with system-upgrade because they share code with system upgrade (more than 95%). System upgrade also cannot be in dnf because of systemd dependency.

Comment 3 Kamil Páral 2021-01-18 16:04:19 UTC
> The patch did not resolve problem with man pages, but this is problem of whole dnf (no man pages for particular commands).

Yes, but all the core commands are documented in "man dnf", so they are easy to find. For plugin commands, can't you simply install a symlink that would make "man dnf-offline-*" redirect to "man-system-upgrade"? Many projects handle manpages this way.

> New commands are shipped together with system-upgrade because they share code with system upgrade (more than 95%). System upgrade also cannot be in dnf because of systemd dependency.

I understand the technical reasoning, but from an end-user perspective it's confusing. Perhaps the RPM plugin name could be renamed to something more telling, now that it contains more than just dnf-system-upgrade?

Comment 4 Jaroslav Mracek 2021-01-20 06:34:18 UTC
Kamil I will think about your suggested improvement.

Comment 5 Jaroslav Mracek 2021-01-20 07:04:40 UTC
I create an additional pull-request - https://github.com/rpm-software-management/dnf-plugins-extras/pull/193 that adds symlink.

Comment 6 Ben Cotton 2021-02-09 15:41:04 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 34 development cycle.
Changing version to 34.

Comment 7 Fedora Update System 2021-06-15 07:21:14 UTC
FEDORA-2021-78c5f8c03d has been pushed to the Fedora 35 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 8 Kamil Páral 2021-06-16 08:22:44 UTC
I can confirm that dnf-plugins-extras-4.0.15-1.fc35 solves the first two points raised in comment 1. Thanks.