|
Home > Archive > Red Hat RPM > August 2005 > How to force a rollback on an upgrade failure.
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
How to force a rollback on an upgrade failure.
|
|
| watzinaneihm 2005-08-20, 5:54 pm |
| Hi,
Does anybody know of a way of rolling back a failed upgrade without
user needing to know about it?
http://www.linuxjournal.com/article/7034 describes a way the user can
do a rollback. My question is how a packager can do something similar.
I have a package A-1.rpm , which has a set of dependency checks in its
preinstall section, if they are not met the install exits. These checks
cannot be done using standard rpm dependency checks, since I need to
look for the presence of a few PCI devices etc.
A later Package depends on a different set of PCI devices, but it is
still called package A. When a user tries to upgrade from older
version, package A.1 to newer package A-2.rpm , The pre-install section
of package A-2.rpm fails since it cannot detect the newer PCI cards. At
the same time since rpm treats an upgrade as an install+uninstall, the
older package gets removed even though the upgrade fails.
If I could be sure that the user uses the --repackage option, then I
could leave it as it was. But I cannot be sure that user will do so. Is
there a possibility of checking for this in the .spec file of A.2 rpm?
It would also be OK if I can force the rpm engine to treat an upgrade
as a single transaction, not two seperate transactions for an install
and uninstall.
| |
| DiskMan 2005-08-22, 7:49 am |
| I don't believe that one is possible... but I could be wrong. Will L G
"watzinaneihm" <rajkumar.vj@gmail.com> wrote in message
news:1124551520.720038.138320@z14g2000cwz.googlegroups.com...
> Hi,
> Does anybody know of a way of rolling back a failed upgrade without
> user needing to know about it?
> http://www.linuxjournal.com/article/7034 describes a way the user can
> do a rollback. My question is how a packager can do something similar.
>
> I have a package A-1.rpm , which has a set of dependency checks in its
> preinstall section, if they are not met the install exits. These checks
> cannot be done using standard rpm dependency checks, since I need to
> look for the presence of a few PCI devices etc.
>
> A later Package depends on a different set of PCI devices, but it is
> still called package A. When a user tries to upgrade from older
> version, package A.1 to newer package A-2.rpm , The pre-install section
> of package A-2.rpm fails since it cannot detect the newer PCI cards. At
> the same time since rpm treats an upgrade as an install+uninstall, the
> older package gets removed even though the upgrade fails.
>
> If I could be sure that the user uses the --repackage option, then I
> could leave it as it was. But I cannot be sure that user will do so. Is
> there a possibility of checking for this in the .spec file of A.2 rpm?
>
> It would also be OK if I can force the rpm engine to treat an upgrade
> as a single transaction, not two seperate transactions for an install
> and uninstall.
>
|
|
|
|
|