From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from lists.gentoo.org ([140.105.134.102] helo=robin.gentoo.org) by nuthatch.gentoo.org with esmtp (Exim 4.54) id 1F7rmH-0002Ne-CV for garchives@archives.gentoo.org; Sat, 11 Feb 2006 10:14:53 +0000 Received: from robin.gentoo.org (localhost [127.0.0.1]) by robin.gentoo.org (8.13.5/8.13.5) with SMTP id k1BADeCJ012147; Sat, 11 Feb 2006 10:13:40 GMT Received: from buggy.blubb.ch (cable-static-87-245-102-53.shinternet.ch [87.245.102.53]) by robin.gentoo.org (8.13.5/8.13.5) with ESMTP id k1BAAekc011058 for ; Sat, 11 Feb 2006 10:10:40 GMT Received: from aqua ([192.168.10.5]) by buggy.blubb.ch with esmtp (Exim 4.54) id 1F7ri9-0000Uc-Av for gentoo-dev@lists.gentoo.org; Sat, 11 Feb 2006 11:10:37 +0100 Message-ID: <43EDB820.3090900@gentoo.org> Date: Sat, 11 Feb 2006 11:10:40 +0100 From: Simon Stelling User-Agent: Mozilla Thunderbird 1.0.7 (X11/20050923) X-Accept-Language: en-us, en Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 To: gentoo-dev@lists.gentoo.org Subject: Re: [gentoo-dev] Request for Comment References: <200602110337.25218.yanestra@seismic.de> In-Reply-To: <200602110337.25218.yanestra@seismic.de> X-Enigmail-Version: 0.93.0.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Archives-Salt: ff480384-4e21-44ff-b0a4-f2167764ac42 X-Archives-Hash: 95dab658e387042feb1c3e6fccad4e4e (I think it would be better if you could post the text on the list, so people can easier cite the paragraphs they are referring to.) > I cite one situation which has actually led to system destruction: > > I was in need of a certain version of a library. A the moment I installed it > initially, this version was keyword masked for my architecture, since it was > not thoroughly tested. It worked perfectly anyway. Since it was without > issues, it became officially unmasked some time later and another version was > introduced, which was keyword masked because it didn't work at all on my > architecture. This one could be compiled, but really didn't work at all. Since > I didn't observe the new version introductions all the time, a slightly > careless world update gave me that version and left all programs depending on > the library in a non-working state. > > After all it was my fault, but on a resonably maintained system you will > always have a number of manually unmasked ebuilds, and you can't monitor them > all the time. This is why you should use exact versions in p.mask and p.unmask. If you do that you only get the minimum of masked packages, leading to minimal borkage. Now, over to the GLEP draft.. You make some very dangerous (partly wrong) assumptions in your GLEP. First of all, there's the assumption that we have the capacity to maintain such a fine graded masking scheme. We are currently mainly distinguishing between testing ~arch and stable arch. I can only speak for AMD64, but we have a currently ~100 packages that wait to go into the ~amd64 tree, 54 of them for longer than 30 days. Beside that, we have about 120 packages waiting to go into the stable tree. Now, if you'd increase the number of masking "stages" from two to 10, I can guarantee that this masking scheme would get completely useless. But the far more critical assumption you make is this one: You assume that once a package has been marked stable, it keeps beeing stable. You simply can't treat every package individually. A package marked stable back in 2004 with a status level -5 should be considered ultimatively stable if I understand your proposal right. But then GCC 3.4 is marked stable too, and, oh, look, it doesn't even compile!? Things depend on each other, in a very complex fashion. Whenever some behaviour in one package is changed, it is likely to break another one. Instead of giving us 10 different status levels, show us a way to avoid such problems in general. Part of the assumption above is also the fact that these keywords do not consider the profile the user is using. A package might work great for one profile but terribly break for another (deprecated) one. You can apply the same idea to eclasses. Basically it all bails down to this: Give me 10 environments and I give you 10 different ways to break the package. Regards, -- Simon Stelling Gentoo/AMD64 Operational Co-Lead blubb@gentoo.org -- gentoo-dev@gentoo.org mailing list