From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id B387E138BF3 for ; Tue, 18 Feb 2014 18:17:36 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 7E38DE0D48; Tue, 18 Feb 2014 18:17:31 +0000 (UTC) Received: from smtpout.karoo.kcom.com (smtpout.karoo.kcom.com [212.50.160.34]) by pigeon.gentoo.org (Postfix) with ESMTP id E16B7E0AFB for ; Tue, 18 Feb 2014 18:17:29 +0000 (UTC) X-IronPort-AV: E=Sophos;i="4.97,502,1389744000"; d="scan'208";a="56068013" Received: from unknown (HELO rathaus.eclipse.co.uk) ([109.176.174.35]) by smtpout.karoo.kcom.com with ESMTP; 18 Feb 2014 18:17:23 +0000 Date: Tue, 18 Feb 2014 18:31:28 +0000 From: "Steven J. Long" To: gentoo-dev@lists.gentoo.org Subject: [gentoo-dev] Re: dropping redundant stable keywords Message-ID: <20140218183127.GA9680@rathaus.eclipse.co.uk> Mail-Followup-To: gentoo-dev@lists.gentoo.org References: <52E7DBC1.5020102@gentoo.org> <20140128182304.7d458a17@marga.jer-c2.orkz.net> <20140203062524.GA7467@rathaus.eclipse.co.uk> <20140203104341.2add2760@TOMWIJ-GENTOO> <20140204210319.GA1935@rathaus.eclipse.co.uk> <20140205010833.1bcf8dca@TOMWIJ-GENTOO> <20140213212818.GA2199@rathaus.eclipse.co.uk> <20140214195958.5aea85f0@TOMWIJ-GENTOO> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20140214195958.5aea85f0@TOMWIJ-GENTOO> X-Archives-Salt: 34392cc4-afb1-460d-8d85-ef2971a1aecc X-Archives-Hash: f87b3f3f043e79a3618480d69b9f28ba On Fri, Feb 14, 2014 Tom Wijsman wrote: > On Thu, 13 Feb 2014 "Steven J. Long" wrote: > > > > > Much better for the arch in question to field the bug, than tell > > > > the user there is no problem, and we don't care. That way you can > > > > get the user involved in stabilisation and AT via that bug, > > > > instead of turning them away with priggishness. > > > > > > Problems should be visible instead of hidden, as well as resolved. A > > > move in work means a move in work, further implications are yours... > > > > Very gnomic: nothing's being hidden in the above approach. > > Filing a bug but not telling the user about it is hiding the problem. "The bug" in the above is a bug the user on the arch in question has filed, which would be duped to the stabilisation bug (for the arch if there's more than one) so the user a) knows there's a newer version, which they can try out and help stabilise, and b) isn't kicked back with a WONTFIX, when they could be put in touch with the AT instead. So the user filed the bug in the first place: by definition they know about it. > > I can't make sense of the rest so I'll move on, noting only that it's > > up to the arch team, as to what _they_ decide to kick back to > > unstable. > > They need manpower to decide it, which they don't have. It's still no-one else's call, though given the approach it's easy enough to allow a further say 180 days after the "-* arch" marking, before the maintainer is allowed to mark the package as a whole unstable on the arch in question, given no movement. > > And that can work without a problem if we have a mechanism > > in place to relieve maintainers of those bugs. > > Such mechanism could be to assign those bug to the arch team, this idea > came up at FOSDEM; it won't solve the lack of manpower, but it will at > least relieve the maintainers and make the problem more visible. Exactly. What the AT does with it is their problem: if they don't move after another 180 days, they can't complain, but there's at least a more formal process, and there's no row, nor even discussion needed. You had a chance to stabilise, we've waited, and you've still got the stable ebuild in your tree, but now any users on your arch are going to get redirected to you, so you can discuss moving the package forward or bumping it to unstable. To me that makes the action something positive, rather than negative. Especially coupled with an indicator in the package manager output, similar to how unstable ebuilds are marked if you're running stable, or forced-rebuilds. That would spur more users to help, since they're using the package in question, and are on a slow arch. > > Personally I'd do it after 45 days to speed things up, and let the > > ATs concerned, take the bug as and when (eg turn the stabilisation > > into a tracker for the slow archs concerned, if there are multiple.) > > Since this is a soft measure I've seen a lot of people want the time to > be longer; if it still continues to be a problem, then shortening it > might be a solution but I think we'll want to avoid a too hard approach > for now. 45 days are over before you know it... No the whole point is that the slower archs are not losing a stable ebuild in their tree: so it's fine for the maintainer to wait a shorter time before marking it as no-longer-my-problem. It's not the same as dropping the ebuild altogether; it leaves the arch-tree intact, and still marks a new phase for interested users to collaborate around, while relieving the maintainer of the burden. And if desired, that can be seen as the start of a phase toward bumping it to unstable, but with more notice, and a defined process. > The part about ATs taking the bug sounds like what came up at FOSDEM. +1 > > The wonderful thing about policy is that it reflects (or is supposed > > to) consensus opinion with light to contemporaneous circumstance. > > Since circumstances change, so too must policy be open to change or > > adaptation, in line with basic principles. > > In this case -* works fine for what it intends to work; changing the > policy to redefine it to fit another purpose, while no longer > reflecting its original purpose is what we should avoid at all cost. Utter nonsense. Back that up with some consequent to justify why we should "avoid it at all costs", bearing in mind the below. > > So let's look at extending it, since there is *no* technical problem: > > You have colons after the above quoted sentence with nothing after it. > > (An eye for an eye... :D) Don't be so facile: the proposed extended policy is what follows. > > 'The redundant -* keyword is a metadata marker. > > The keyword has a meaning, therefore it is not redundant. It is technically redundant, since the package manager does not infer any existing keywords, so there is nothing to strip. As a metadata marker, no ofc it's not redundant: but that's what I'm proposing to use. > > It is used to indicate, in line with the semantic of "strip all", > > that the ebuild in question can only be used for the specific archs > > noted for one of two reasons: > > > > 1) The package-maintainer has stabilised a newer version on at least > > one arch personally, the ATs for the archs listed have taken longer > > than XX days to test and stabilise, and the maintainer would > > otherwise drop the ebuild altogether. > > > > 2) The package version is not worth trying to test on unlisted archs.' > > (1) changes its meaning in a way that you can no longer interpret the > keyword solely as (2). The whole purpose of (2) is that you can > interpret it that you should not test it as it was found not to work; > (1) is different from that, as it means that there was no manpower to > test it. (1) would move ebuilds to -* and be misinterpreted as (2). Nope: 1) implies 2) so any existing use of the marker solely in the context of 2) still works. It certainly is not worth testing an old ebuild that would have been dropped on an unlisted arch: whoever is looking at the ebuild, should instead use a newer version. > > The policy which flows from that is: > > > > 'In the first case, it is QA policy that a comment of the form: > > # STABLEREQ: https://bugs.gentoo.org/show_bug.cgi?id=NNNNNN > > is required on the line immediately above the KEYWORDS declaration. > > > > This is to aid both automated identification, and human > > collaboration.' > > > > (The latter explains why a URL, not a bug id, is required. We're > > trying to get end-users to help us, so let's make it easy for them.) > > > > I'd personally add: > > 'It is envisaged that the line will be added by an automated tool at > > some point.' > > > > ..as well as a requirement for a bug id in the second case, but I > > don't know it well enough; I'd certainly want some sort of tracking. > > This yields extra commits; comments in ebuilds are directed towards > maintainers, for users we should use another approach to contact them. No it keeps all the useful info in one place: the ebuild, where it's easy to edit and see. The commit is already implicit in dropping the ebuild to "-* slower arch": all the policy does is require a link to the original stabilisation bug, which may be a tracker if multiple archs are involved. However none of that is the maintainer's concern: all they need do, when facing this rare situation, is change the keywords and add a link to the bug (commenting is SOP for most unusual situations in ebuilds), instead of dropping the arch's stable version. The link is easy to extract for an automated external to show to the user, like the mangler in the above, or a porcelain layer, given an indicator from the mangler. It's also a helluva lot less work than package.mask, as well as keeping all the info in the ebuild, where it's easier to handle. > > It's hardly an onerous requirement, and a small price to pay: if > > we have a policy for how a maintainer drops an ebuild from his > > queue due to it being stabilised, which we can trigger scripts > > from, we avoid the arguments every year or so, and stop archs from > > being borked. We can also speed it up, since we have a mechanism > > in-place to support it, as opposed to ad-hoc, flawed decision-making. > > > > The thing I think that's missing from this debate, is an > > acknowledgement, or an understanding, that arch-teams are all > > effectively working on their own variant of the shared Gentoo tree. > > (This includes the concept of upgrades working as smoothly as they > > do on other archs, at the PM level.) Similar to other portability > > efforts, the tree must support them in that, not make it harder. > > > > Especially not because another developer doesn't care about the arch > > in question. That's *natural*, but _cannot_ be cause for dropping > > stable ebuilds. The only issue is to take the bugs off their hands, > > and we can do that with a simple tweak in metadata, so ffs let's > > get on and do it. > > +1 on this thought. Well I wish you could see that steev's solution, with a bit of standard commenting, fulfils both your +1s and doesn't lead to broken arch-trees. It also doesn't require any communication with a non-responsive arch, and can form the basis of a much more useful mode of collaboration, from where I'm sitting. Post-facto complaints about an upstream project decision to keep migration code, or about the anguish of seeing an older version stable on some arch you don't even care about (or you wouldn't be dropping their last stable version) are an order-of-magnitude less concerning. By all means address them (up to the project in the first case, adjust your script in the second) but let's at least admit they are less of a problem than this continual argument, and the consequent ill-feeling brought about by lack of a defined action to take. The issue about confusion with multiple archs has already been addressed by making the original stabilisation bug a tracker for the N slow archs, if there are more than one. Most of this can be automated, or is at least amenable to it. And that discussion is *far* more interesting than "you broke our arch" vs "so what, you're too slow". -- #friendly-coders -- We're friendly, but we're not /that/ friendly ;-)