Opened 3 years ago
Last modified 22 months ago
#25202 new enhancement
Enable optional rollback functionality when upgrading packages
Reported by: | embray | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | sage-pending |
Component: | build | Keywords: | |
Cc: | Merged in: | ||
Authors: | Reviewers: | ||
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | #25139 | Stopgaps: |
Description
With #25139 it becomes possible to fully uninstall all files associated with a package, which is done before upgrading that package to a new version.
This would just as easily allow creating a backup of the package by moving its files to a temporary location rather than deleting them. If the package upgrade fails, the old version could then be restored.
One could even imagine keeping backups that can be restored even after a seemingly successful upgrade (e.g. the upgrade succeeds building, but causes runtime regressions). One could easily get carried away with something like this though and end up re-implementing hashdist (which honestly wouldn't be such a bad thing to have built into Sage...).
But to keep things focused I think this ticket should just consider rollback on build failures to start with.
Change History (6)
comment:1 in reply to: ↑ description ; follow-up: ↓ 2 Changed 3 years ago by
comment:2 in reply to: ↑ 1 Changed 3 years ago by
Replying to jdemeyer:
Replying to embray:
One could easily get carried away with something like this though and end up re-implementing hashdist (which honestly wouldn't be such a bad thing to have built into Sage...).
Just FYI in case you didn't know: our release manager is one of the main contributors to hashdist. The project looks pretty dead though: the last commit on github was 2 years ago.
I know. I tried using it a while ago to build Sage on Cygwin and had some problems due to a lack of Cygwin-specific patches for a number of dependencies that needed to be ported over. Other than that, a few other details I had quibbles with, the way it works makes a lot of sense and I'm surprised Volker didn't push more to get Sage using it. I would have...
comment:3 Changed 3 years ago by
- Milestone changed from sage-8.3 to sage-8.4
comment:4 Changed 2 years ago by
- Milestone changed from sage-8.4 to sage-8.5
comment:5 Changed 2 years ago by
- Milestone changed from sage-8.5 to sage-8.7
Retargeting some of my tickets (somewhat optimistically for now).
comment:6 Changed 22 months ago by
- Milestone changed from sage-8.7 to sage-pending
Removing most of the rest of my open tickets out of the 8.7 milestone, which should be closed.
Replying to embray:
Just FYI in case you didn't know: our release manager is one of the main contributors to hashdist. The project looks pretty dead though: the last commit on github was 2 years ago.