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.
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.
FS#4840 - Pacman fails to recognise space full on /
Attached to Project:
Pacman
Opened by James Rayner (iphitus) - Sunday, 18 June 2006, 01:40 GMT
Last edited by Roman Kyrylych (Romashka) - Wednesday, 24 January 2007, 11:15 GMT
Opened by James Rayner (iphitus) - Sunday, 18 June 2006, 01:40 GMT
Last edited by Roman Kyrylych (Romashka) - Wednesday, 24 January 2007, 11:15 GMT
|
Details http://pastebin.com/715773
log kinda explains it all, pacman downloads packages fine, as /var/cache/pacman/pkg is on a seperate partition, but completely destroys itself when installing them as / is full. my pacman db is now bust, it doesnt list half the packages that are installed. further attempts to use pacman, end up with this error: error: /var/lib/pacman/local/-/desc: No such file or directory being spat out over and over and over. this could easily be fixed by checking for free space on / before doing anything. |
This task depends upon
Closed by Aaron Griffin (phrakture)
Monday, 12 February 2007, 09:17 GMT
Reason for closing: Fixed
Additional comments about closing: Fixed in CVS
Monday, 12 February 2007, 09:17 GMT
Reason for closing: Fixed
Additional comments about closing: Fixed in CVS
So how much free space is enough?
Sync DBs store the compressed file size, so we can approximate disk requirements after processing a sync list, but we don't know for fact how much space the uncompressed packages will take, and we don't know for fact how much space the DB entries in /var/lib/pamcan/local will take. Once packages are downloaded, we have a definite idea of the uncompressed space requirements for the package (but not the DB).
So I think we're going to need multiple diskspace checks at various points in the package installation process. Once after a sync and before downloading, then again after packages are downloaded and meta-data is loaded. And after all's said and done, we still have to do some guesswork on the DB size requirements.
pacman erroring out would help too, it realises there's something wrong with codec's installation, but continues on anyway.
Has anyone tried implementing that? The logic should not be that hard, but I wonder about the performance.
btw have a look at the cvs, transactions are already supported, but for rollback - do the mirrors provides the old versions of packages or what? i don't think so
they dont need to. they're already installed on your system and you're upgrading from them.
(imho) the ability of the following: pacman upgrades foo-1.0 to foo-2.0, then i empty the package cache (i'm allowed to do it all the time) then i'm able to downgrade foo-2.0 to foo-1.0
do you still think that they don't need to? :)
The idea of a rollback is that, for every destructive operation that pacman does (deleteing, changeing or overwriting any file, including the package meta-data) it would first make a safe copy... if all is good at the end the safe copies are removed. If not, a rollback would bring them back.
This would require spare hard disk space.. but it might be worth it.
pkg A depends on pkg B which is a library. the library is upgraded and it provides a newer soversion of the library, so that pkg A needs recompiling, but you're a user, so you don't want to compile anything, but till the devs provides a fixed pkg A you want your old version of pkg A back
i thought this is what is rollback about, but this is something totally different :)
Why not have more package info in the db ? It'd make sense to have all the important info in the sync db (URL, installed size, pkg size, etc.)
though noone cares about that patch..