tech-pkg archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: pkg_add and update
>> On Sat, Feb 19, 2011 at 06:27:47PM +0200, Aleksey Cheusov wrote:
>> [... some rationale skipped ...]
>>> Can 'pkg_add -D' be adapted for ignoring CONFLICTS field just like it
>>> does for DEPENDS? Because this relates to not only my pkgnih but also
>>> pkg_rr, pkg_chk, pkgin and others I believe it a common interest. As
>>> about files causing CONFLICTS, I think pkg_add should work like the
>>> following. While installing A-0.2 files common to A-0.2 and B-0.1 (if
>>> any) should be assigned to A-0.2. While installing B-0.2 these common
>>> files should not be removed from the file system ignoring the fact they
>>> were part of B-0.1.
>>
>> I think this is just another workaround.
>>
>> My preferred solution would be that pkg_add be improved so that it can
>> automatically update all or at least a complex subset of all installed
>> packages, handling this case automatically, and not every tool that
>> sits on top of it must learn another way to cope with this kind of
>> problem.
> I still wonder what exactly is problem with in place upgrades
> e.g. gentoo portage works quite fine with them I'm using it on all my
> servers and never had problem with it even during very tuff upgrades.
> So what's the problem with in place upgrades ?
pkg_rr builds packages in topological order one-by-one and installs them
with a help of pkg_add -U. The original problem was that 'pkg_add -U'
may fail due to unresolved dependencies. For example, if you have A-0.1
and B-0.1 that DEPENDS on A>=0.1<0.2 installed and A-0.2 and B-0.2 that
DEPENDS on A>=0.2<0.3 in pkgsrc tree 'pkg_add -U A-0.2' command fails
due to unresolved A>=0.1<0.2 dependency of package B-0.1. Recently -D
option was added to pkg_add in order to solve this problem and avoid
using 'pkg_add -f'. Since then pkg_rr uses 'pkg_add -UD'. But the
problem still exists with CONFLICTS (see example above). pkg_add still
may unexpectedly fail in the middle of upgrade process. What I'm
proposing now is to add another option or to modify -D for ignoring
CONFLICTS just like -D does for DEPENDS.
--
Best regards, Aleksey Cheusov.
Home |
Main Index |
Thread Index |
Old Index