* [gentoo-dev] Release/Stable/Dev
@ 2002-11-20 14:43 Riyad Kalla
2002-11-20 15:20 ` Mark Constable
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Riyad Kalla @ 2002-11-20 14:43 UTC (permalink / raw
To: gentoo-dev
This is more of a "how does this work" question:
I notice so much activity on this list all the time with new packages
and new ideas and new ebuilds, etc. etc... And I realize that the idea
of a "release version" of Gentoo isn't the same as RedHat or Mandrake
where there is a snapshot in time of a code base that is deemed a
"release", its sort of this every-growing and changing repository of
ebuilds.
This is cool and everything, but it also makes it hard for people that
need to get a "stable release quality" version to say slap on a
production server... So for example, if I download Gentoo 1.4, and
install it today, and my coworker downloads gentoo 1.4 and installs it 2
weeks from now, we *might* have different systems cause when he emerged
his original system, some of the packages had changed... (is this an
accurate assessment?)
How do I combat this? Say if I'm interested in a rock-solid snapshot of
Gentoo without going through an ungodly amount of administrative setup
and mirroring of the snapshot etc.? I realize that rock-solid is
relative sometimes, but I'm more asking along the lines of say gcc gets
update from 3.2 to 3.4 (hypothetically), and everyone knows that 3.2 is
more stable, and there are some growing pains going on with 3.4, BUT 3.4
is the current ebuild... That sort of deal, so when I install gentoo on
a new work station, I want to keep the versions of Gentoo static across
all machines, or atleast in synch with eachother.
There is a flat-out question in the paragraphs above and then some
hidden sort of every-day use questions, sorry if things seem a bit
unclear, its only because I'm a bit unclear on how to use gentoo in a
"release" fashion, even though portage seems to be an ever changing
mass. (portage is the software right? How do I refer to the repository
of ebuilds? "the portage tree?")
Thanks!
-Riyad
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [gentoo-dev] Release/Stable/Dev
2002-11-20 14:43 [gentoo-dev] Release/Stable/Dev Riyad Kalla
@ 2002-11-20 15:20 ` Mark Constable
2002-11-20 16:00 ` Toby Dickenson
2002-11-20 16:21 ` Chad Huneycutt
2 siblings, 0 replies; 6+ messages in thread
From: Mark Constable @ 2002-11-20 15:20 UTC (permalink / raw
To: gentoo-dev
On Thursday 21 November 2002 00:43, Riyad Kalla wrote:
> I notice so much activity on this list all the time with new packages
> and new ideas and new ebuilds, etc. etc...
> ...
> This is cool and everything, but it also makes it hard for people that
> need to get a "stable release quality" version to say slap on a
> production server...
> ...
> How do I combat this? Say if I'm interested in a rock-solid snapshot of
> Gentoo without going through an ungodly amount of administrative setup
> and mirroring of the snapshot etc.?
Just an idea that does not require upstream supervision.
rsync the portage tree as per normal and create two other
directories to hold alternate portage trees and make two
extra complete copies of the original tree. Setup a cron
job everyday to basically (untested)...
find /path/to/portage -type f -mtime +7 -exec cp {} /path/to/portage2 \;
find /path/to/portage2 -type f -mtime +21 -exec cp {} /path/to/portage3 \;
so that any ebuild that lasts 7 days without being updated
will get copied over to the portage2 dir tree, then the
same from the portage2 tree to the portage3 tree after
another 3 weeks... so that portage3 should always be 4
weeks behind the current developement... with ebuilds
that have succesfully migrated there from lack of being
modified, which infers some stability with that ebuild.
A bit of individual fiddling with the +7 and +21 might
be required to suit everyones idea of stability and use
a softlink to point to whichever tree you actually want
to use.
Think of it as the Debian unstable|testing|stable triage.
--markc
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [gentoo-dev] Release/Stable/Dev
2002-11-20 14:43 [gentoo-dev] Release/Stable/Dev Riyad Kalla
2002-11-20 15:20 ` Mark Constable
@ 2002-11-20 16:00 ` Toby Dickenson
2002-11-20 16:21 ` Chad Huneycutt
2 siblings, 0 replies; 6+ messages in thread
From: Toby Dickenson @ 2002-11-20 16:00 UTC (permalink / raw
To: Riyad Kalla, gentoo-dev
On Wednesday 20 November 2002 2:43 pm, Riyad Kalla wrote:
> This is more of a "how does this work" question:
>
> I notice so much activity on this list all the time with new packages
> and new ideas and new ebuilds, etc. etc... And I realize that the idea
> of a "release version" of Gentoo isn't the same as RedHat or Mandrake
> where there is a snapshot in time of a code base that is deemed a
> "release", its sort of this every-growing and changing repository of
> ebuilds.
>
> This is cool and everything, but it also makes it hard for people that
> need to get a "stable release quality" version to say slap on a
> production server... So for example, if I download Gentoo 1.4, and
> install it today, and my coworker downloads gentoo 1.4 and installs it 2
> weeks from now, we *might* have different systems cause when he emerged
> his original system, some of the packages had changed... (is this an
> accurate assessment?)
>
> How do I combat this? Say if I'm interested in a rock-solid snapshot of
> Gentoo without going through an ungodly amount of administrative setup
> and mirroring of the snapshot etc.?
The administrative overhead of doing this is small, and well worth the effort.
1. use rsync to take a copy of today's portage into a directory on one of your
servers. In this example I use /var/mirror/portage-stable.
2. create an /etc/rsync.d like the one below, and run rsync --deamon.
3. on every other stable server, change their make.conf to include:
SYNC="rsync://my.local.rsync.server/portage-stable
4. you probably also should set up a distfiles archive, so that you can still
install old things when the real portage has moved on.
5. I am still uncertain about the best way to handle critical updates to these
stable systems. Currently I have a seperate rsync mirror which contains a
PORTDIR_OVERLAY directory. That contains copies of ebuilds from the real
portage.
my /etc/rsync.d is:
pid file = /var/run/rsyncd.pid
timeout = 150
[gentoo-portage-stable]
path = /var/mirror/portage
comment = Gentoo Portage Tree
[gentoo-portage]
path = /var/mirror/portage-stable
comment = Stable Snapshot of Gentoo Portage Tree
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [gentoo-dev] Release/Stable/Dev
2002-11-20 14:43 [gentoo-dev] Release/Stable/Dev Riyad Kalla
2002-11-20 15:20 ` Mark Constable
2002-11-20 16:00 ` Toby Dickenson
@ 2002-11-20 16:21 ` Chad Huneycutt
2002-11-20 16:33 ` Toby Dickenson
2 siblings, 1 reply; 6+ messages in thread
From: Chad Huneycutt @ 2002-11-20 16:21 UTC (permalink / raw
To: gentoo-dev
Riyad Kalla wrote:
> How do I combat this? Say if I'm interested in a rock-solid snapshot
> of Gentoo without going through an ungodly amount of administrative
> setup and mirroring of the snapshot etc.? I realize that rock-solid
> is relative sometimes, but I'm more asking along the lines of say gcc
> gets update from 3.2 to 3.4 (hypothetically), and everyone knows that
> 3.2 is more stable, and there are some growing pains going on with
> 3.4, BUT 3.4 is the current ebuild... That sort of deal, so when I
> install gentoo on a new work station, I want to keep the versions of
> Gentoo static across all machines, or atleast in synch with
> eachother.
Use profiles for this. The process would go something like this:
1. Install Gentoo on your dev box
2. Tweak until the stability is where you want it (i.e., find stable
versions of software, make patches -- and submit them to bugzilla, and
place any outside ebuilds in /usr/local/portage or whatever and set
PORTAGE_OVERLAY -- or whatever the var is)
3. Once you have the packages from portage like you want them, create a
new profile:
# cd /usr/portage/profiles
# cp -r your_current_profile my_stable_profile
# mv my_stable_profile /usr/local/portage/profiles
# rm /etc/make.profile
# ln -s /usr/local/portage/profiles/my_stable_profile /etc/make.profile
# cd /usr/local/portage/profiles/my_stable_profile
# echo "all_my_package-revisions" > packages
The packages file is well commented, but basically you can use it to
"pin" the versions of all your packages (or just the ones that matter).
4. Now you should be able to use that profile directory as
/etc/make.profile on all your systems.
That is a rough sketch of one way to do it that is probably the most
"Gentoo-recommended." Another way to go about it would be to pin
versions in the /var/cache/edb/world. I don't actually know how to do
that, though.
--
Chad Huneycutt
chadh@gentoo.org
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [gentoo-dev] Release/Stable/Dev
2002-11-20 16:21 ` Chad Huneycutt
@ 2002-11-20 16:33 ` Toby Dickenson
2002-11-20 16:42 ` Chad Huneycutt
0 siblings, 1 reply; 6+ messages in thread
From: Toby Dickenson @ 2002-11-20 16:33 UTC (permalink / raw
To: Chad Huneycutt, gentoo-dev
On Wednesday 20 November 2002 4:21 pm, Chad Huneycutt wrote:
> Use profiles for this. The process would go something like this:
>
> 1. Install Gentoo on your dev box
> 2. Tweak until the stability is where you want it (i.e., find stable
> versions of software, make patches -- and submit them to bugzilla, and
> place any outside ebuilds in /usr/local/portage or whatever and set
> PORTAGE_OVERLAY -- or whatever the var is)
> 3. Once you have the packages from portage like you want them, create a
> new profile:
> # cd /usr/portage/profiles
> # cp -r your_current_profile my_stable_profile
> # mv my_stable_profile /usr/local/portage/profiles
> # rm /etc/make.profile
> # ln -s /usr/local/portage/profiles/my_stable_profile /etc/make.profile
> # cd /usr/local/portage/profiles/my_stable_profile
> # echo "all_my_package-revisions" > packages
>
> The packages file is well commented, but basically you can use it to
> "pin" the versions of all your packages (or just the ones that matter).
> 4. Now you should be able to use that profile directory as
> /etc/make.profile on all your systems.
Im sure that wouldnt work. Your profile would refer to your chosen version,
but that doesnt help when the ebuild (and other files) for that version is
removed from portage.
I agree with you that this *should* work. That means that old revisions would
never be removed from portage.
But they are, so it doesnt :-(
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [gentoo-dev] Release/Stable/Dev
2002-11-20 16:33 ` Toby Dickenson
@ 2002-11-20 16:42 ` Chad Huneycutt
0 siblings, 0 replies; 6+ messages in thread
From: Chad Huneycutt @ 2002-11-20 16:42 UTC (permalink / raw
To: gentoo-dev; +Cc: gentoo-core
On Wed, 2002-11-20 at 11:33, Toby Dickenson wrote:
> On Wednesday 20 November 2002 4:21 pm, Chad Huneycutt wrote:
>
> > Use profiles for this. The process would go something like this:
> >
> > 1. Install Gentoo on your dev box
> > 2. Tweak until the stability is where you want it (i.e., find stable
> > versions of software, make patches -- and submit them to bugzilla, and
> > place any outside ebuilds in /usr/local/portage or whatever and set
> > PORTAGE_OVERLAY -- or whatever the var is)
> > 3. Once you have the packages from portage like you want them, create a
> > new profile:
> > # cd /usr/portage/profiles
> > # cp -r your_current_profile my_stable_profile
> > # mv my_stable_profile /usr/local/portage/profiles
> > # rm /etc/make.profile
> > # ln -s /usr/local/portage/profiles/my_stable_profile /etc/make.profile
> > # cd /usr/local/portage/profiles/my_stable_profile
> > # echo "all_my_package-revisions" > packages
> >
> > The packages file is well commented, but basically you can use it to
> > "pin" the versions of all your packages (or just the ones that matter).
> > 4. Now you should be able to use that profile directory as
> > /etc/make.profile on all your systems.
>
> Im sure that wouldnt work. Your profile would refer to your chosen version,
> but that doesnt help when the ebuild (and other files) for that version is
> removed from portage.
>
> I agree with you that this *should* work. That means that old revisions would
> never be removed from portage.
>
> But they are, so it doesnt :-(
That is a totally different problem, though, which could easily be
remedied on the user side. I agree that it is a problem, though. I
offered a scheme for automating ebuild removal of the portage tree some
time back on -core, but it fell on mostly deaf ears. I personally
almost never remove old ebuilds unless they are ancient or broken. We
are certainly aware of this issue, though; the alternative arch devs get
bitten all the time because someone will update an ebuild, mask it on
alternative arches, and then delete the old ebuild, thus leaving no
unmasked versions for the alt arch.
--
Chad Huneycutt
chadh@gentoo.org
--
gentoo-dev@gentoo.org mailing list
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2002-11-20 16:43 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-11-20 14:43 [gentoo-dev] Release/Stable/Dev Riyad Kalla
2002-11-20 15:20 ` Mark Constable
2002-11-20 16:00 ` Toby Dickenson
2002-11-20 16:21 ` Chad Huneycutt
2002-11-20 16:33 ` Toby Dickenson
2002-11-20 16:42 ` Chad Huneycutt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox