On Wed, Nov 21, 2007 at 01:32:33PM -0500, Dale Blount wrote:
I'll just say this - I didn't even know this op existed, and looking at it, I'm still not even all that clear on what it does... looks to be the same functionality as saying 'no' to the "local package is up to date" question.
Are we sure that's what it does? That's not how I read it's description in the man page.
I'm guessing you could use it if you had downloaded a repo locally to a usbkey/cd (think broadband at work/school, dialup at home). You could then change to that directory and do a pacman -F *.pkg.tar.gz to update preexisting packages and not end up installing them all instead.
Hm, there is something I overlooked earlier. You actually can't even use it like that, because pacman will fail on the first target that is either not installed, or already up to date. So you can't run it on *.pkg.tar.gz , you would have to select manually the targets which are outdated. Which makes the -F option in its current state totally pointless. Now, it probably wouldn't be too hard to change -F to skip these targets instead of just failing. But then there is a bigger problem of dependencies resolving. If a target you are updating gets a new dependency, the dependency will be skipped by -F because it's not installed. And only after that, it'll check the dependencies of the remaining targets, and will just fail there. We could probably take care of that in the code, but that would result in a more complex implementation of -F, totally different than the current one. And ok, now you have updated all your existing packages. A few days later, you want to install a new package. How do you do that? It's a pita, you would have to do all the dependencies resolving manually. I first thought that the little overhead of building a repo again with repo-add (or getting the db.tar.gz from the mirror and extracting it manually) was not worth it, but not anymore. It's very easy/simple/fast to do, and then has many advantages : * easy upgrade of the existing package with dependencies resolving via -Su * easy install of new packages with dep resolving via -S * -F can be removed