Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 17332 - The portage package itself should be branched into stable/unstable versions
Summary: The portage package itself should be branched into stable/unstable versions
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Nicholas Jones (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-03-11 19:10 UTC by Brad Laue (RETIRED)
Modified: 2011-10-30 22:37 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Brad Laue (RETIRED) gentoo-dev 2003-03-11 19:10:27 UTC
It is a natural consequence of software development and feature addition that
bugs are introduced to any system. I've noticed that portage itself doesn't 
follow the differentiation between arch and ~arch, and instead new releases
are masked or unmasked bringing with them the entirety of their new featureset.

I'd like to suggest that portage follow a stable (bugfix only) branch and
restrict feature additions and major changes in the way things are done to the 
~arch branch.

Some issues such as those outlined in bug 16599 (while a minor example)
indicate that the current state of affairs can result in a discordant
filesystem layout or even cause other issues which can render the
filesystem, the administrative methods employed, and/or basic system
functionality impaired or non-existent.

Portage itself is the most important part of Gentoo, and the process of
upgrading it should be one that is trusted implicitly and absolutely by the
user.

Reproducible: Always
Steps to Reproduce:
Comment 1 Jon Portnoy (RETIRED) gentoo-dev 2003-03-11 19:13:09 UTC
I agree. New portages should be released into ~arch unless it's absolutely necessary to have consistency between stable/unstable (e.g. new ebuild-related features that require all users to have a new version to continue using the tree properly). Too often people using stable are bitten by bugs that didn't come up in testing while the new release was masked.
Comment 2 Nicholas Jones (RETIRED) gentoo-dev 2003-03-11 22:55:39 UTC
No.

It either works, or it doesn't. If it's not production ready, I'm not
going to just toss it out there. package.mask _ensures_ that people
aren't just messing around, and that they know the condition of the
package.

As for major changes, that is one of the reasons ~arch isn't employed.
The issues between any major changes are remedied in the ebuilds _and_
in portage itself to limit any consequences. Random users in ~arch
would probably be quite unhappy for random changes occuring on their
machines.

There is also a reason portage attempts to be annoying when it merges
itself... People need to recognise changes. ~arch will not help this
condition.

I can't see a strong reason to do as requested... but if you have
good reasons and suggestions, I'm listening.
Comment 3 Jon Portnoy (RETIRED) gentoo-dev 2003-03-11 23:03:41 UTC
What prompted this was a discussion in #gentoo between a few people who basically said that Gentoo was absolutely not production ready because new versions of the package system do not get extensive testing before it heads on into the stable branch. A few devs merge it explicitly while it's masked and that's pretty much the extent of it. Brad can provide more detailed information on the issues that came up during that discussion; the extent of my involvement was pretty much "if you don't like how it's done now, file a bug about it."

The gist of the discussion was that bugs in new versions of Portage in the stable branch bork people's systems in one way or another too often. If it's in the unstable branch, from my perspective, we can say "you're using unstable - bad things happen from time to time" - basically that they're effectively beta testers by virtue of using unstable packages. 

What do we tell people when they're using stable and their system is borked by a bug in a new version of Portage? That if they're using Gentoo they're beta testers?
Comment 4 Nicholas Jones (RETIRED) gentoo-dev 2003-03-11 23:31:19 UTC
Hmmmm...

I can start doing something along those lines. The argument against portage
there does makes sense. Large changes can hit ~arch for a couple days after
a normal package.mask period.
Comment 5 Jon Portnoy (RETIRED) gentoo-dev 2003-03-11 23:36:14 UTC
Thanks :-) That would be excellent.
Comment 6 Stewart (RETIRED) gentoo-dev 2003-03-12 03:48:16 UTC
I'm all in favour of having a ~arch testing period before Portage hits my live
systems. I couldn't agree more - get it out there and get it tested before it's
unleashed to the world.

Another point about Portage development; it's one of the only ebuilds I've
encountered thus far that doesn't have a ChangeLog present. Sure, I could read the
CVS commit logs, but with my burdgeoning TODO list, there's just no time. It would
be nice to see atleast a summary of the major changes in each revision -
especially those that require updates to /etc/[passwd|group], an `emerge sync` to
"fix some filesystem permissions", update my make.globals post haste, etc.
Comment 7 Nicholas Jones (RETIRED) gentoo-dev 2003-03-13 22:37:31 UTC
done
Comment 8 Brad Laue (RETIRED) gentoo-dev 2003-03-14 17:51:33 UTC
2.0.47-r10 has been marked stable from the ~ branch after only about a day.

Was adequate testing done to ensure that this release is stable, by the
userbase or the developerbase?
Comment 9 Jon Portnoy (RETIRED) gentoo-dev 2003-03-14 17:57:49 UTC
-r10 fixes a lot of bugs. I can see where getting out quickly would be important.
Comment 10 Nicholas Jones (RETIRED) gentoo-dev 2003-03-17 00:58:10 UTC
There is _one_ new feature... That's a forced merge option in etc-update.
As I said... Major changes I'll leave in ~arch. This was nothing resembling
a major change. -r9 and -r10 are greater than 90% bug fixes, and the ~arch
period for -r10 was to ensure that potential lockups/deadlocks due to
permissions (ccache and cvs-src) were remedied properly.