Opened 5 years ago

Closed 9 days ago

Last modified 8 days ago

#11035 closed bug (no change required)

Upgrading Haiku using pkgman fails with "directory not empty" (after package format change)

Reported by: waddlesplash Owned by: bonefish
Priority: normal Milestone: R1
Component: Servers/package_daemon Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

This has been happening every time for me. Users on the forums report it too: http://www.haiku-os.org/community/forum/nightly_images_0:

Update to hrev47489 worked, but the system will not update to hrev47493 or ...94.

A syslog during which I did one of these failed updates is attached.

Attachments (1)

syslog (97.2 KB) - added by waddlesplash 5 years ago.

Download all attachments as: .zip

Change History (11)

Changed 5 years ago by waddlesplash

Attachment: syslog added

comment:1 Changed 5 years ago by ttcoder

Cc: degea@… added

Also see the 'Edit' part of this comment, seems that you can bridge the gap to 47490 by installing it from scratch as a nightly build, and then subsequent pkgman up calls (from that more recent nightly build) will work normally.

This might be just a one-off freak occurence, but gonna follow this in case there's a chance this occurs again in a future hrev..

comment:2 Changed 5 years ago by waddlesplash

Priority: blockernormal

If that indeed works and multiple people can confirm it, this is no longer a release blocker. It would be nice to figure out why it happened, though.

comment:3 Changed 5 years ago by bonefish

hrev47490 changes the HPKG format for the no-compression case. It's a backward compatible change, but it isn't forward compatible. The boot loader package uses no compression and thus the new packages cannot be read by an old Haiku, hence the update procedure fails. I didn't see this implication.

To bridge the gap, at least in theory it should be possible to update every package but the boot loader, then reboot and complete the update.

Not getting a useful error message (not even printing anything in the syslog) is not a good situation, though. Leaving the ticket open to track that. The failed update isn't anything that can be fixed.

comment:4 Changed 5 years ago by stippi

Would this be a duplicate of #10959?

comment:5 Changed 5 years ago by waddlesplash

Yes, it would; although this ticket has more info on why the problem happened so it may be a good idea to close that one, not this one.

comment:6 Changed 5 years ago by bonefish

No, these tickets aren't duplicates. In comment:3 and comment:5:ticket:10959 I mentioned for what reason I left the tickets open.

comment:7 Changed 5 years ago by pulkomandy

Milestone: R1/alpha5R1/beta1

comment:8 Changed 4 years ago by pulkomandy

Milestone: R1/beta1R1
Summary: Upgrading Haiku using pkgman fails with "directory not empty"Upgrading Haiku using pkgman fails with "directory not empty" (after package format change)

Does not need to be in beta1 anymore.

comment:9 Changed 9 days ago by waddlesplash

Resolution: no change required
Status: newclosed

I don't really think there's anything left to do here. If we want to change the package format in the future, we will just have to stagger it (i.e. introduce new version of the package kit which supports it, force everyone to upgrade to that, then change the package formats.) At least this is how other OSes and distributions do it.

comment:10 Changed 8 days ago by ttcoder

Cc: degea@… removed
Note: See TracTickets for help on using tickets.