Gentoo Archives: gentoo-dev

From: Brian Harring <ferringb@×××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Package version in case of upstream patches from stable branch of development
Date: Thu, 05 Aug 2010 02:29:08
Message-Id: 20100805022629.GF12708@hrair.al.intel.com
In Reply to: Re: [gentoo-dev] Package version in case of upstream patches from stable branch of development by Peter Volkov
1 On Wed, Aug 04, 2010 at 05:05:11PM +0400, Peter Volkov wrote:
2 > В Срд, 04/08/2010 в 09:42 +0000, Jorge Manuel B. S. Vicetto пишет:
3 > > There are already a few bugs that can be attributed to this.
4 >
5 > Ok, let's say that this depends on upstream. And for Gentoo this means
6 > that the decision how to set version for the package depends on
7 > maintainer. Lot's of packages do not have dedicated release tests
8 > upstream (even build tests) and for this packages I don't see difference
9 > between stable branch and release. In such case our version just
10 > indicates that our package is base on tarbal of that version and nothing
11 > more.
12
13 The core thing people are ignoring in this discussion is that when you
14 do the following in your python consuming code-
15
16 python -c 'import sys.version;print sys.version_info'
17 (2, 6, 5, 'final', 0)
18
19 You know what version of python you're running- not even version as
20 much as what the api is. Code relies on this.
21
22 When a 2.6.5 is actually a 2.6.6rc* in API but still exporting
23 sys.version == 2.6.5, you screw up consuming code's ability to detect
24 the version and adjust itself accordingly.
25
26 That right there is a serious problem. Combine that with gentoo's
27 longstanding history of patching things to make it work, but not going
28 insanely beyond that and you've got a pretty strong qa/policy
29 conflict. If you doubt this history, why not look through the python
30 projects previous patch-
31
32 http://overlays.gentoo.org/proj/python/browser/patches
33
34 The point people miss in this discussion is that python isn't some
35 standalone pkg- a lot of code consume's it's api's. As such silently
36 pulling in api changes that will land in 2.6.6 starts becoming
37 _extremely_ problematic, and it's contrary to longstanding gentoo
38 maintenance.
39
40
41 > > This is unfortunately the main issue here. You may work on a specific
42 > > package on Gentoo, but when that package is essential for the system
43 > > use / stability, it stops being just "your" package. This latest
44 > > example has lead users to a point where their PM stopped working.
45 > > Breaking the PM is not a small "oops"
46 >
47 > That's completely different topic... I'm not talking about stability at
48 > all. Of course, python is special package and should be treated/tested
49 > by maintainers as such! Probably for such core packages ~arch is not
50 > enough and we need different process... But that a different topic.
51 >
52 > Bug I mentioned pretends that we have policy how to set version for
53 > packages that use backported upstream patches. My point is that there is
54 > no such policy and line between _p or -rN is very fuzzy to set such
55 > policy. Thus bug itself is INVALID...
56
57 This is essentially lawyering; it's not bad until someone creates
58 a rule saying it's bad, even if historical precedent proceeds it.
59 Trying to legislate every possible scenario of common sense/sane
60 maintenance practices leads to insanity. Godel had something to say
61 about this ;)
62
63 Gentoo generally speaking, is fixed versions of upstream released. We
64 do have integration done, but we don't monkey patch the hell out of
65 their releases- notice also I said 'fixed'.
66
67 Trying to make 2.6.5 a 2.6.6 isn't exactly "fixing it"- yes there are
68 fixes that should be pulled from the maintenance branch, but there is
69 a very real difference between selective cherry picking and full scale
70 importation as was occuring.
71
72 ~harring