#29105 closed defect (wontfix)
corruption - malformed partial flat receipt can be written
Reported by: | alangrow+macports@… | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | base | Version: | 1.9.2 |
Keywords: | malformed receipt | Cc: | |
Port: |
Description
When upgrading, port ran out of disk space, but wrote a partial receipt file. After freeing up space and retrying the operation, port would error out with a "malformed receipt" error.
It took a while to track this down, but removing the partial receipt file did finally get things working again.
I haven't looked at the port code but these problems can usually be avoided by first writing to a temporary file, closing, and then (if there were no errors) doing an atomic rename.
Attachments (1)
Change History (4)
Changed 14 years ago by alangrow+macports@…
comment:1 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | alangrow+macports@… removed |
---|
comment:2 Changed 14 years ago by jmroot (Joshua Root)
Resolution: | → wontfix |
---|---|
Status: | new → closed |
Summary: | corruption - malformed partial receipt can be written → corruption - malformed partial flat receipt can be written |
One of the many reasons why the sqlite registry was introduced.
comment:3 Changed 14 years ago by alangrow+macports@…
Gee that was helpful. You're probably tired of repeating yourself, so let me do it for you, for anyone else who stumbles over this ticket:
...existing installs will need their macports.conf edited in order to use it, by changing 'portdbformat flat' to 'portdbformat sqlite'. After making this change, your existing flat receipts will be converted the first time you run port(1) with sufficient privileges (this usually means using sudo; e.g. 'sudo port installed').
http://lists.macosforge.org/pipermail/macports-announce/2010-June/000008.html
This was the partial receipt in question, for openssl 1.0.0d_0