FS#620 - pkgadd reports a package as installed if disk space runs out while installing a prebuilt package
Hello. As mentioned here:
http://crux.nu/bugs/index.php?do=details&task_id=619
prt-get, possibly because of pkgadd, thinks a package is installed if disk space runs out while installing a prebuilt package.
As discussed in the comments there, it's possible that pkgadd is reporting the package as installed even though it obviously encountered errors with disk space.
The "installed" package needs to be removed and additional space freed before it can be correctly installed.
Cheers and thanks. ;)
Closed by frinnst
19.09.2017 22:08
Reason for closing: Implemented
Additional comments about closing: commit a11b0048057f80b7a8a936b8f56be9f2fd121e7e
pending release
19.09.2017 22:08
Reason for closing: Implemented
Additional comments about closing: commit a11b0048057f80b7a8a936b8f56be9f2fd121e7e
pending release
Loading...
Available keyboard shortcuts
- Alt + ⇧ Shift + l Login Dialog / Logout
- Alt + ⇧ Shift + a Add new task
- Alt + ⇧ Shift + m My searches
- Alt + ⇧ Shift + t focus taskid search
Tasklist
- o open selected task
- j move cursor down
- k move cursor up
Task Details
- n Next task
- p Previous task
- Alt + ⇧ Shift + e ↵ Enter Edit this task
- Alt + ⇧ Shift + w watch task
- Alt + ⇧ Shift + y Close Task
Task Editing
- Alt + ⇧ Shift + s save task
The same holds true if the destination can't be written to, because it's mounted read-only.
Cheers, deepthought
Test case:
mkdir /var/cache/test{,-ro}
mkdir -p /var/cache/test/var/lib/pkg
touch /var/cache/test/var/lib/pkg/db
mount --bind -o ro /var/cache/test{,-ro}
mount --bind /var/cache/test{,-ro}/var/lib/pkg
pkgadd -r /var/cache/test-ro ...pkg ; echo $?
pkgadd -r /var/cache/test-ro ...pkg ; echo $?
pkgutil.cc:
if (archive_read_extract(archive, entry, flags) != ARCHIVE_OK) {
// If a file fails to install we just print an error message and
// continue trying to install the rest of the package.
Attached a patch that seems to fix this issue.
Somehow, probably when flyspray was restored, the patch was lost. Added again.