tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: postgresql packages, PG_SUBPREFIX and CONFLICTS



-------- Original-Nachricht --------
> Datum: Wed, 24 Oct 2012 00:19:36 +0200
> Von: Joerg Sonnenberger <joerg%britannica.bec.de@localhost>
> An: tech-pkg%NetBSD.org@localhost
> Betreff: Re: postgresql packages, PG_SUBPREFIX and CONFLICTS

> On Wed, Oct 24, 2012 at 12:44:55AM +0300, Aleksey Cheusov wrote:
> > >> Package conflict is a fact that is detected automatically already.
> > 
> > >This is not completely true. There is a valid reason for setting
> > >CONFLICTS if the overlap is in files that are not in the PLIST.
> > >E.g. if the only conflict is in configuration files etc.
> > >
> > >Use by pkgin is no justification, there could be a separate index
> > >computed for a set of binary packages that provides conflict hints.
> > 
> > Information about common files in packages can easily be gathered by
> > bulk build tools. I do this in distbb for debugging purposes. See
> > 
> >  
> http://mova.org/~cheusov/pub/bulk/NetBSD/i386/5.1/2012Q3/logs/20121004.1013/META/check_unregistered_CONFLICTS.html
> > 
> > for example. Of course I'm able to use this list for enriching
> > pkg_summary(5) and forget about manually registering CONFLICTS forever.
> > However, this is not right way to go. Handling conflicting packages
> > *manually* allows us to find and fix *bugs* in pkgsrc.
> 
> All this instances can be found and "fixed" without adding manual
> CONFLICTS.

No. Bugs I mentioned in the previous email existed
for years. For months "unregistered conflicts"
were available in distbb bulk builds for pkgsrcdevelopers and nobody cared.
I guess because there are so much bugs of this type in pkgsrc.
Analysing a list of unregistering conflicts consisting of alsmost 1000 pairs is 
a hard work. What I'm trying to do is
to significantly reduce this number, say, to few dozens of them for the 
beginning and then keep all conflicts under control.

> What you did is add yet another set of redundant entries that
> are highly likely to be outdated at some point without any indicator
> whatsoever that they are really needed.

No. As I said in the past every distbb report contains 
a full list of unregistered conflicts. Also, I'll add
additional check for "unnecessary conflicts". As soon as I do this and reduce a 
number of existing bugs, CONFLICTS will be under control. No chances for 
"outdated" and "without indicator".

> As such, it is obscuring the
> real cases.
> As such, IMO the correct way forward is to remove *all*
> CONFLICTS unless proven that they are required for dealing with issues
> outside the scope of the existing automatic check.

Obviously, there are cases when it makes sense to avoid conflicts between 
packages. I already said about 
gimp-refocus-it and refocus-it. These two were just packaged incorrectly.
Other examples are coreutils and 9base I changed in the past and different 
versions of emacs with all their modules (let's suppose for a moment that they 
have different PKGBASE). The same can be applied for postgresqNN packages. I 
can easily imagine usecases when they coexist on the same computer. But 
removing *all* conflicts is just impractical. Saying "remove"
I mean *avoiding* conflicts, not removing CONFLICTS variable from Makefiles.

As for automatic CONFLICTS generation. The only thing you can do in bulk build 
tools is to generate CONFLICTS-foo.x.y.z entries, neither -[0-9]* nor <=x.y.z. 
This approach is better than nothing but 1) cannot solve problems with binary 
upgrades in general 2) doesn't allow to fix bugs in pkgsrc, see above.

Auto-CONFLICTS can be viewed as an *addon* for manual CONFLICTS, not as a 
replacement.


Home | Main Index | Thread Index | Old Index