From: Stuart Herbert <stuart@gentoo.org>
To: gentoo-dev@gentoo.org
Subject: Re: [gentoo-dev] Large scale deployments - and portage
Date: Mon, 18 Aug 2003 15:14:49 +0100 [thread overview]
Message-ID: <200308181514.49195.stuart@gentoo.org> (raw)
In-Reply-To: <20030817172207.54a6de08.xwred1@xwredwing.net>
[-- Attachment #1: signed data --]
[-- Type: text/plain, Size: 4423 bytes --]
Matt, Ron,
I agree with you both - to a point. The current CVS strategy has gotten
Gentoo this far, but it needs to evolve if Gentoo is to become more friendly
to large companies. It is being talked about amongst key Gentoo developers,
but at the moment I don't know the current status, or any timescales.
One thing I'd like to see is the eradication of the word 'stable' from
anything to do with Portage. Right now, I don't see any clear or consistent
understanding of what 'stable' means, and I don't think that the term is
actually very helpful. Does 'stable' mean fit for production use? Does it
simply mean 'the ebuild works, and the app doesn't segfault when you fire it
up'? It's not helpful.
If Gentoo moves to a multiple-tree strategy, -CURRENT is fair enough I guess,
as are -RELEASE branches (although the whole idea of a RELEASE needs
re-considering too I believe). But what would -STABLE in between actually
mean? We need a better word. Heck, even -UNMASKED would be a better start -
at least it's more accurate, and something that we could reach a clear
definition on.
I believe that ebuilds *should* have a guaranteed minimum life expectency in
the Portage tree; I also believe that developers *should* announce the
removal of an ebuild before it is removed, to give time for any necessary
debate or local archiving into /usr/local/portage. Right now, a) it doesn't
happen, and b) there's nowhere suitable to make the announcement anyway. You
can find out more about my opinion on managing individual ebuilds by reading
a draft document on dev.gentoo.org/~stuart/sponsorship/. You'll need a PDF
reader to read it.
Getting back to managing the larger Portage tree ... I don't agree that
providing support for 'tagged branches' is just as simple as making the
tagged branches available for x period of time. A 'tagged branch' wouldn't
be suitable for any large software provider to certify against - because it's
an incomplete target. A tagged branch is just a bunch of ebuilds. It
doesn't include the compiler you used, the CFLAGS you used, or the
architecture you're running on. And the moment a branch is tagged, it
becomes a liability.
Let's look at a traditional SCM (software change management) problem for a
moment. What happens to the 'tagged branch' when security problems are
found? What about when important bug fixes are needed? Would we backport
those ebuilds into the tagged branches? Where would that effort come from?
Who would do that work?
Look at the alternative - withdraw a particular tagged branch, and tell users
to upgrade to a different tagged branch. Unfortunately, you're going to have
an unpredictable amount of change between those branches. The effort of
moving could be high, and would be difficult to plan for in advance. We'd
end up like - shall we say - certain older distributions, where from time to
time wiping the box is less hassle than performing the upgrade.
What does a certification program involve? Any QA practice that is more than
cosmetic would include SCM, and the SCM team would require that the exact
versions of libraries and supporting utilities are identified and documented.
Which is exactly how ebuilds work in practice. You'd have to throw in
environmental factors - hardware, file systems & disk layouts, etc etc - but
the ebuild is at the heart of it, and not the wider distribution. If all the
technical factors are satisfied, then the QA practice would approve
certification. Although a tag is a convenient way of saying that all these
factors *should* be present, Gentoo's ebuilds provide a viable alternative.
I really don't see how the Gentoo approach is incompatible with that QA
practice. In reality, certifications are a political tool as much as a
technical one - and there Gentoo will face new challenges for sure.
Best regards,
Stu
--
Stuart Herbert stuart@gentoo.org
Gentoo Developer http://www.gentoo.org/
Beta packages for download http://dev.gentoo.org/~stuart/packages/
Come and meet me in March 2004 http://www.phparch.com/cruise/
GnuGP key id# F9AFC57C available from http://pgp.mit.edu
Key fingerprint = 31FB 50D4 1F88 E227 F319 C549 0C2F 80BA F9AF C57C
--
[-- Attachment #2: signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2003-08-18 14:16 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-08-17 22:09 [gentoo-dev] Large scale deployments - and portage Ron O'Hara
2003-08-17 22:13 ` Stuart Herbert
2003-08-17 23:27 ` Ron O'Hara
2003-08-18 0:22 ` Matt Thrailkill
2003-08-18 14:14 ` Stuart Herbert [this message]
2003-08-17 23:17 ` Robin H. Johnson
2003-08-17 23:37 ` Don Seiler
2003-08-18 8:24 ` Paul de Vrieze
2003-08-18 9:38 ` Robin H. Johnson
[not found] ` <200308181026.44148.chris.rs@xtra.co.nz>
2003-08-18 0:34 ` Ron O'Hara
2003-08-18 8:38 ` Paul de Vrieze
2003-08-18 0:42 ` Brian Jackson
2003-08-18 14:45 ` Stuart Bouyer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200308181514.49195.stuart@gentoo.org \
--to=stuart@gentoo.org \
--cc=gentoo-dev@gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox