Pacman

Historical bug tracker for the Pacman package manager.

The pacman bug tracker has moved to gitlab:
https://gitlab.archlinux.org/pacman/pacman/-/issues

This tracker remains open for interaction with historical bugs during the transition period. Any new bugs reports will be closed without further action.
Tasklist

FS#24510 - Packages marked as installed before fully installed

Attached to Project: Pacman
Opened by Robert (holtr94) - Monday, 30 May 2011, 22:57 GMT
Last edited by Dan McGee (toofishes) - Tuesday, 09 August 2011, 15:12 GMT
Task Type Bug Report
Category General
Status Closed
Assigned To No-one
Architecture All
Severity High
Priority Normal
Reported Version 3.5.2
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Summary and Info: It seems that packages are marked as installed before they are fully installed/upgraded. My computer is prone to random restarts, and one happened during a system upgrade. udev was in the middle of being upgraded when the computer rebooted, corrupting the udev libraries. I would expect that I could enter the same upgrade command again (pacman -Syu) and have it pick up installing udev. Instead it moved on to the next package to be upgraded. Pacman had marked udev as successfully installed before it finished writing the files. In order to fix udev I had to run "pacman -Sf udev".


Steps to Reproduce:
1. Start installing package (any one should work)
2. When pacman gets to the installing step forcefully restart the computer (power loss, crappy hardware, hold power button etc.)
3. Reboot (depending upon the level of breakage failsafe mode may be neccessary)
3. Verify package is broken
4. Run same command used for installation
5. Observe that pacman reports the package as installed
This task depends upon

Closed by  Dan McGee (toofishes)
Tuesday, 09 August 2011, 15:12 GMT
Reason for closing:  No response
Comment by Dan McGee (toofishes) - Tuesday, 31 May 2011, 14:45 GMT
I think you've misdiagnosed what is going on here- since you provided no version information at any step in the process I'm not sure what you want us to do here. Of course it shows the package as installed- you upgraded it, so it was never not installed. The real question is what version it showed as being installed.

Do you have /var/ on a separate partition? If so, your machine may have flushed the database files to disk but not yet flushed the udev package update to disk on a different partition.

Without doing a full sync() after each package installed, it is hard to ensure nothing goes wrong in the package install process. Atomic operations across multiple filesystems are not easy or even possible if your computer is subject to random restarts.

Loading...