Opened 5 years ago
Closed 5 years ago
#16131 closed bug (invalid)
Do not use full-sync for release upgrades, introduce another command instead
Reported by: | bitigchi | Owned by: | nobody |
---|---|---|---|
Priority: | normal | Milestone: | Unscheduled |
Component: | - General | Version: | R1/Development |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
Currently pkgman full-sync
is required for upgrading to another release. But if the user doesn't want to upgrade and just sync his/her existing 3rd party packages?
And SoftwareUpdater uses full-sync
as default. This introduces the risk of upgrading to another release by accident or without knowledge. Why?
Possible solutions:
- Use another command for releases, like
pkgman release-upgrade
- Whenever a new release is out, SoftwareUpdater should spawn a button and a label at the bottom part of the window, saying: "There is a new Haiku release available (%s). Click "Upgrade" to install.", with buttons "Upgrade", "Dismiss".
- Whenever
pkgman update
is triggered, there should be an informative output with the text above, plus "Use pkgman release-upgrade to upgrade to Haiku %s" - If Dismiss is selected, the same check should be available in SoftwareUpdater preferences, namely: "Check new Haiku releases", so that user can trigger a new release upgrade again.
Change History (2)
comment:1 by , 5 years ago
comment:2 by , 5 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
Yes, all "full-sync" does is that it synchronizes all installed "provides" you have with the ones in the repositories. So, for instance, if you have "gawk" installed, but it was replaced with "gawk_x86" and "gawk" removed from the repos, "full-sync" will uninstall "gawk" and install "gawk_x86" instead. Similarly, it will also downgrade packages, etc. whereas "update" will only take updates, and never downgrade or uninstall packages. So "full-sync" as the SoftwareUpdater default makes sense, because otherwise you can get "stuck" when packages that Haiku itself depends on are replaced/removed/etc., as has happened in the past few months.
In order to change releases, you have to change repositories first to get the newer packages. If we pushed a new release out in the existing repositories, but we did not remove any packages, then "pkgman update" would also upgrade to that; so running "pkgman upgrade" is not actually protection against a "distribution upgrade", which is a Linuxism we never really adopted. (It is worth noting that on e.g. Ubuntu, you have to run "apt dist-upgrade" to get newer kernels occasionally, within a release, and the GUI package managers usually run "dist-upgrade" always under the hood.)
If I'm not wrong, full-sync won't change repositories used.
So you will only change up release when using nightlies.
If you're using beta1 repos, you should stay with beta1.
But, yes having a notification that a new version is available and a piece of software that would help you to migrate would be welcome. It would need to