* Niall Young <email@example.com> [030702 16:53]:
> I'm using a custom package pool for deploying software, but we need to
> cleanly rollback if an upgrade doesn't go as expected.
In easy cases it is possible to first test a package with some testing
machine and only put in in the used archive when it suites your needs.
I've not yet seen a possibility when the only real way to test is to
throw it directly in productive use.
> Removing the
> package entirely and reinstalling isn't an option, it needs to be done
> seamlessly - i.e. reverse all changes made in the upgrade. Is there
> another way?
The main problem of supporting packages to redo things
done in upgrade is in my eyes the inability for packages to
do so in a proper way.
The things I remember doing things in an upgrade are things
like moving from /usr/X11R6/bin to /usr/bin and thus un- and
reregistering the alternative-links and things like that. And
they already often need many rereadings of the specification,
looking which old versions did what and testing all the
possibilities of updates from strange old-but-not-old-enough
versions of it.
Thus I deduce from Murphy's law that this will never work when
you really need it.
Bernhard R. Link
Sendmail is like emacs: A nice operating system, but missing
an editor and a MTA.