[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: add PKG_INSTALL_TRY_UPGRADE -- please review
On Tue, May 7, 2013 at 7:23 PM, Greg Troxel <gdt%ir.bbn.com@localhost> wrote:
> matthew sporleder <msporleder%gmail.com@localhost> writes:
>> I am getting pretty sick of the following workflow:
>> cd /usr/src/pkgsrc; cvs update
>> cd devel/tig
>> make install clean
>> ... (an hour later)
>> pkg_add: A different version of foo-dependency-1.0.1 is already
>> installed: foo-dependency-1.0.0
>> pkg_add: 1 package addition failed
>> *** Error code 1
>> (grumble) pkg_add -u /usr/src/packages/All/foo-depdendency-1.0.1
>> make install
> This is a can of worms, but pkgsrc basically wants to have
> a consistent checkout (which you are doing)
> all packages up to date/built from that checkout
I don't think this is how many pkgsrc users work. I think cvs update
to an existing tree is the norm.
> So, I see two possible approaches:
> After you do the cvs update, then use pkg_rolling-replace. It will do
> 'make replace' in the right order (mostly), and this will mostly work.
> something along the lines of what you are doing
Yes, I know there are a few tools to do this sort of thing. I am
trying to get the 80% solution/ease the one workflow I described.
> As for your specific approach, I think it has a bug, because when a
> package is installed, either there is a version, or there isn't. So
> what I'd suggest is to add a target (NB I am assuming a DESTDIR world
> that says
> if the package is installed, do make replace
> if the package is not installed, do make package-install
> and then you can set DEPENDS_TARGET to package-install-or-replace.
> Alternatively a PKG_INSTALL_USE_REPLACE variable.
> Note that make replace is basically pkg_add -u. However, make replace
> also uses -U, to avoid exact-version dependency checks that will fail.
> Also, once you do a make replace, there will be dirty
> ("unsafe_depends=YES") packages. To fix this those should also be "make
> replace"d. But once you do that, and add ordering, you've reinvented
> Still, I think your proposed change is useful.
I thought pkg_add -u would be easiest because of the way we build
binary packages for each pkg.
Also make replace comes with a huge set of warnings.
Anyway, I'm probably not grokking your entire argument. (as you
mentioned can of worms earlier)
Main Index |
Thread Index |