Opened 7 years ago
Last modified 7 years ago
#13672 new bug
Package sets can get into a valid but un-activatable state.
Reported by: | kallisti5 | Owned by: | nobody |
---|---|---|---|
Priority: | normal | Milestone: | Unscheduled |
Component: | Kits/Package Kit | Version: | R1/Development |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
I've seen this issue a few times on long-running Haiku machines which get upgraded once every few weeks to the "current" package set.
- pkgman upgrade to hrev51174
- reboot. uname -a shows hrev51174
- pkgman upgrade to hrev51248
- reboot.
- pkgman upgrade to hrev51365
- reboot. Notice uname -a shows hrev51174 still.
It appears the latest activation set is invalid in some way which prevents it from being activated at boot. It appears Haiku is booting from an older "last valid" package set.
Attachments (3)
Change History (10)
comment:1 by , 7 years ago
comment:2 by , 7 years ago
patch: | 0 → 1 |
---|
comment:4 by , 7 years ago
That's not what appears to have happened, looking at packages.txt. I think what's happened is that pkgman
has updated all haiku packages except for haiku/haiku_devel.hpkg, which are still at their original version.
Because all the other packages have upgraded, it probably looked like it did a full upgrade, when instead it did a partial upgrade.
# not upgraded ./haiku-r1~alpha4_pm_hrev51174-1-x86_64.hpkg ./haiku_devel-r1~alpha4_pm_hrev51174-1-x86_64.hpkg # upgraded ./haiku_loader-r1~alpha4_pm_hrev51365-1-x86_64.hpkg ./makefile_engine-r1~alpha4_pm_hrev51365-1-any.hpkg
And only when you do a pkgman full-sync
does it then a) force the latest haiku package to be installed, and b) install/upgrade/remove other packages that prevented the haiku package from being upgraded in the normal case. So it doesn't appear to be a bug, but it is non-obvious.
Perhaps what we need to do is have pkgman
issue warnings for packages that have newer versions available for updating, but can't because of dependency issues, and suggest to run pkgman full-sync
in this case.
comment:5 by , 7 years ago
Also, I should point out that at https://dev.haiku-os.org/attachment/ticket/13672/packages.txt#L110 you can see that it did the partial upgrade. Note that haiku_loader is in the list, but the other haiku packages are not, which supports my previous comment.
So it's not that it didn't apply, it's that pkgman never downloaded those newer packages at all due to unsatisfied/conflicting dependencies.
comment:6 by , 7 years ago
What's rough is a full-sync never fixed it. Haiku started having weird network bugs and was never able to perform the full-sync. I eventually formatted + reinstalled that Haiku partition because I needed to get back to work. I noticed I had a newer haiku_loader and an older activated package set because the "Haiku" branding showed up via haiku_loader, then disappeared when the older package set was activated. (which was pretty interesting)
comment:7 by , 7 years ago
patch: | 1 → 0 |
---|
Some observations:
I'll get more information from the VM tonight including which packages are in which state directories.