[pacman-dev] [PATCH] Remove -F/--freshen operation
shiningxc at gmail.com
Thu Nov 22 04:44:54 EST 2007
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
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
More information about the pacman-dev