#12564: pkgman install *un*installs the package (if passed a local hpkg, no
problem
with remote hpkr's)
--------------------------------+----------------------------
Reporter: ttcoder | Owner: bonefish
Type: enhancement | Status: new
Priority: normal | Milestone: R1
Component: Kits/Package Kit | Version: R1/Development
Resolution: | Keywords:
Blocked By: | Blocking:
Has a Patch: 0 | Platform: All
--------------------------------+----------------------------
Comment (by bonefish):
Given that `pkgman` says that the package will be upgraded, the solver has
apparently correctly determined that the old package needs to be
uninstalled and the new one installed. Looking at the package daemon side
of things [http://cgit.haiku-
os.org/haiku/tree/src/servers/package/CommitTransactionHandler.cpp?id=8c63feccbb00279f501ac0f79b38f053e65a316d#n383
the general procedure] looks good as well. Since old packages are moved to
the old state directory first and new packages are moved from the
transaction directory to the packages directory afterwards, a file name
clash should not pose a problem.
[http://cgit.haiku-
os.org/haiku/tree/src/servers/package/CommitTransactionHandler.cpp?id=8c63feccbb00279f501ac0f79b38f053e65a316d#n1600
The package file content creation] looks good as well. So I guess that the
error lies earlier (the non-empty transaction directory at the end
suggests the same), i.e. during [http://cgit.haiku-
os.org/haiku/tree/src/servers/package/CommitTransactionHandler.cpp?id=8c63feccbb00279f501ac0f79b38f053e65a316d#n157
the initialization phase] or even earlier. There's nothing that catches my
eye, though. So some debugging is required. Unfortunately I don't have the
time. :-/
--
Ticket URL: <https://dev.haiku-os.org/ticket/12564#comment:2>
Haiku <https://dev.haiku-os.org>
Haiku - the operating system.