Bug 1329548

Summary: gnome-software allows to create several instances of upgrade
Product: [Fedora] Fedora Reporter: Jiri Eischmann <jeischma>
Component: gnome-softwareAssignee: Richard Hughes <rhughes>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 23CC: cschalle, jeischma, klember, rhughes
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-04-22 17:29:50 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:
Attachments:
Description Flags
Video of the bug none

Description Jiri Eischmann 2016-04-22 08:17:36 UTC
When I click "Download" button to download packages for upgrade the progress bar shows, but if I switch to Installed and back to Updates I'm again shown the "Download" button and if I click it, it creates another instance of "fedora installation". You can go on like this indefinitely. See the video: https://dl.dropboxusercontent.com/u/1309518/Nahr%C3%A1vka%20obrazovky%20z%2022.4.2016%2009%3A58%3A55.webm
Moreover none of the instances ever finishes, so I was not able to download packages for the upgrade.

Comment 1 Jiri Eischmann 2016-04-22 08:19:55 UTC
Created attachment 1149678 [details]
Video of the bug

Comment 2 Jiri Eischmann 2016-04-22 08:27:55 UTC
If I don't switch to Installed and stay on the Updates screen, the progress bar goes to ca 20% and stops there, after approx. 1 minute the banner switches to the original one and shows the Download button again.

Comment 3 Richard Hughes 2016-04-22 09:47:02 UTC
Okay, new fixes:

commit d4305150776b3d610e6368865cbc1a15e6ff5f31
Author: Richard Hughes <richard>
Date:   Fri Apr 22 09:54:19 2016 +0100

    Run the distro upgrade download as a background restartable task
    
    This splits out the PackageKit upgrade action as a new plugin so that we can
    set the ONLY_DOWNLOAD flag specifically for this PkTask.
    Trying to share the PkTask in pk-plugin-packagekit.c was impossible as doing
    gs_plugin_app_upgrade_download() -> gs_plugin_app_install() meant we retried
    the download without ONLY_DOWNLOAD set, meaning we tried to do it live.
    
    This also effectively reverts commit b67a8e0456ff078d82e1bceb59011d8daead24f9.

:100644 100644 ad4112a... a256cec... M  src/plugins/Makefile.am
:000000 100644 0000000... b3d1b5d... A  src/plugins/gs-plugin-packagekit-upgrade.c
:100644 100644 14b53e1... 189e1f1... M  src/plugins/gs-plugin-packagekit.c

commit adae1add87d2917a59aac3b8e28d943de6b26478
Author: Richard Hughes <richard>
Date:   Thu Apr 21 22:14:04 2016 +0100

    trivial: Recover the application state if the plugin forgets on action failure

:100644 100644 43ce2c0... 73e7b07... M  src/gs-plugin-loader.c
:100644 100644 86f5c07... acf8327... M  src/gs-upgrade-banner.c
:100644 100644 773ba4b... 93ce13a... M  src/plugins/gs-plugin-dummy.c

commit 9afd827c62fd1cef483143d6bae12e76566e7c99
Author: Richard Hughes <richard>
Date:   Thu Apr 21 22:13:02 2016 +0100

    Do not re-request the distro-upgrade when switching pages

:100644 100644 8e3b644... 7f51330... M  src/gs-shell-updates.c


New package in the COPR. There is still one more bug I'm chasing down, but getting there, thanks!

Comment 4 Richard Hughes 2016-04-22 12:14:50 UTC
(In reply to Richard Hughes from comment #3)
> New package in the COPR. There is still one more bug I'm chasing down, but
> getting there, thanks!

commit e1748a5691e0bd97f193eae0858020bf8d436d60
Author: Richard Hughes <richard>
Date:   Fri Apr 22 13:06:36 2016 +0100

    Do not clear the recovery state when using gs_app_set_state_recover()
    
    If we do AVAILABLE->INSTALLING then recover (which puts us back at AVAILABLE)
    then we do AVAILABLE->INSTALLING then recover we want to stay at AVAILABLE
    rather than be at the new state of UNKNOWN.

:100644 100644 1783da9... 6effba8... M  src/gs-app.c