Issue Details (XML | Word | Printable)

Key: FL-2627
Type: Task Task
Status: Open Open
Priority: Blocker Blocker
Assignee: Michael K. Johnson
Reporter: ermo | Rune Morling
Votes: 0
Watchers: 2
Operations

If you were logged in you would be able to see more operations.
Foresight Linux

Create a PackageKit replacement that will take care of updating FL systems until such a time that the PackageKit Conary back-end is functional again.

Created: 27/Sep/10 04:42 PM   Updated: 30/Mar/11 10:01 AM
Component/s: PackageKit
Affects Version/s: 2.1.2, 2.3.0, 2.3.5
Fix Version/s: 2.5.x
Security Level: Public (Everyone can see this issue)

Time Tracking:
Not Specified


 Description  « Hide

<eMBee> currently packagekit is not working, so it needs to be replaced with a tool that can run updateall, which will be used until packagekit is back
<eMBee> the current state is, that such a tool has been started (zodman was working on it, and mkj was helping, dunno if anyone else) but it has not yet made it to 2-devel. at least doniphon does not know anything about it last time when i asked him
<eMBee> the tool needs to be completed, and we need mkj_wk to explain how we get the tool to replace packagekit

The discussion thread is here: http://lists.rpath.org/pipermail/foresight-devel/2010-July/001850.html and is continued here: http://lists.rpath.org/pipermail/foresight-devel/2010-August/001865.html



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Michael K. Johnson added a comment - 28/Sep/10 04:20 PM
This needs to be a single file.

It can be tested stand-alone.

When it works, it will be embedded into a conary group script as a heredoc.

This embedding can be tested by building a group in a testing repository if we want. However, we could just test on QA and make sure that the script adjusts to the label context and let folks put PK back on their QA systems as part of getting PK ready to go again. That would get rid of the need to build groups on test repositories and might be faster.

But the first thing is clearly to actually make the program, and test that it does what was specified...


ermo | Rune Morling added a comment - 16/Oct/10 09:57 PM
Ok, I've put up a version that I think is ready for testing on github: http://github.com/ermo/upgradefl/

It's a bit of a hack, but it enables/disables buttons in the interface based on the conary exit status.


ermo | Rune Morling added a comment - 07/Dec/10 10:10 PM
I consider the current version of upgradefl 'beta-ready'.

Please download and test from the above URL.


ermo | Rune Morling added a comment - 30/Dec/10 01:39 PM - edited
I have tested the upgradefl.py script both by running it as 'sudo python upgradefl.py', 'sudo ./upgradefl.py' and 'gksu upgradefl.py' and it runs fine for me.

The script has 3 steps. Step 1 takes care of updating conary and will only allow progress to the other steps if updating conary is successful. Step 2a attempts to do a 'conary updateall'. If the 'conary updateall' has not completed successfully after 3 tries, Step 2b will become available, which allows the user to 'conary migrate' his system.

If at any of the steps 2a or 2b, the conary command completes successfully, a modal dialog box will pop up informing the user that the upgrade/migrate finished and that pressing the 'exit' button will close the application.


eMBee added a comment - 02/Jan/11 06:39 PM
usability issues:

how will the script be executed?
will the user need to provide admin access

the script does not complain if it is not run as root.
either it could have a warning, or it could prompt for the password after start
when the user actually clicks a button.

do we need to consider the possibility that upgrading conary by itself fails?

should we fall back to conary updateall with the old version instead of failing?


ermo | Rune Morling added a comment - 08/Mar/11 06:52 PM - edited
Michael,

Is this productized enough for your tastes?

During my tests, I've always assumed that the script would be run as root by conary or would prompt for a password (for instance via gksu). Is that assumption wrong?

The rationale for updating conary before trying to update anything else was that newer conary versions are expected to be either faster, more correct or both.