Opened 13 years ago

Closed 12 years ago

#3065 closed defect (fixed)

[sugar-client] Handle unfinished yum transactions

Reported by: alsroot Owned by: alsroot
Priority: Unspecified by Maintainer Milestone: Unspecified
Component: sugar-server-kit Version: Unspecified
Severity: Unspecified Keywords:
Cc: Distribution/OS: Unspecified
Bug Status: Unconfirmed

Description (last modified by alsroot)

yum might be aborted in the middle of updating process and client updater needs to handle these situations.

Change History (4)

comment:1 Changed 13 years ago by alsroot

  • Description modified (diff)

comment:2 Changed 13 years ago by alsroot

http://git.sugarlabs.org/server/client/commit/a15d351594a9e580d4e10cfd3ee7461fbd7a175a
http://git.sugarlabs.org/server/client/commit/03c7fc92630c53efb2dfb8a6ef2bb3c30da016b5

updater will try:

  • to run yum-complete-transaction
  • if it was failed, remove possible broken rpmdb
  • try yum-complete-transaction once more
  • if it was failed, clean up transactions

comment:3 follow-up: Changed 12 years ago by sridhar

yum-complete-transaction won't rescue the RPM if the installation was aborted when %post scripts are being executed. As far as the rpmdb is concerned, all the files are there. We need to be careful when creating RPMs to not rely too much on %post scripts, or have them short enough to minimise the chance of their execution being interrupted.

Also, we should inhibit system suspend while RPMs are being installed.

comment:4 in reply to: ↑ 3 Changed 12 years ago by alsroot

  • Resolution set to fixed
  • Status changed from new to closed

Replying to sridhar:

yum-complete-transaction won't rescue the RPM if the installation was aborted when %post scripts are being executed. As far as the rpmdb is concerned, all the files are there. We need to be careful when creating RPMs to not rely too much on %post scripts, or have them short enough to minimise the chance of their execution being interrupted.

In fact, we might miss bunch of possible installation related issues. But not sure if it worth trying to solve all of them that might be reproducible in testing environment (since the picture w/ installed rpms should be the same on all of XOs, excluding cases when people attached new repositories and installed new packages manually).
(For the dbus related issues in sugar-client itself, it should return true for now, since dbus call is not critical in its %post).

Also, we should inhibit system suspend while RPMs are being installed.

I've created #3279. And closing this one since it was originally only about using yum-complete-transaction and it was fixed in SSK-1.1.

Note: See TracTickets for help on using tickets.