Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
that infernal stable/unstable portage masking thing
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
UnderDog138
n00b
n00b


Joined: 03 Dec 2002
Posts: 67
Location: Dallas, TX, USA

PostPosted: Mon Dec 09, 2002 12:30 pm    Post subject: that infernal stable/unstable portage masking thing Reply with quote

Disclaimer: Correct me if I'm wrong (nicely please :))

Portage is what drew me to gentoo first of all, since I came from FreeBSD and its nifty port system. After playing with portage awhile and reading about it, I noticed it treats packages just like any other distribution does. Let's say Mandrake 9.0 comes with KDE 3.0.3 (which it does), because that was the latest stable release at the time the package tree was put together and finalized before 9.0 was released. In order for you to get the latest stable release of KDE (3.0.5) or the latest beta (3.1-rc5) you had to download the source or binaries from the KDE website and install it yourself. That's where ports came in handy with FreeBSD. If a new version of a program was released, there it was, right as rain, in the ports tree on FreeBSD and you could tell what version it was by looking at the distinfo file in the app directory in the ports tree. Often it had devel versions next to it, named app-devel perhaps in the ports tree. You could choose from the latest stable or the latest devel version.

I thought this was the case with gentoo but it seems like it's not. For instance, using the stable setting, portage still lists the latest stable build of Mozilla as 1.0.1. The ebuild for the true latest stable release, 1.2.1, is in there, but it's masked and can't be built. It's as if it bases the "latest stable release" version off the latest stable version that was available when that current gentoo version was released. Is this not so?

As far as I understand it, if I want to build Mozilla 1.2.1 for instance, I have to set portage to unstable to unmask all those ebuilds? If 1.2.1 is the latest official stable build, why doesn't portage reflect this? Why does it still say 1.0.1 is the latest stable build when it's actually not?

I think the portage system ought to unmask everything except what are considered unstable development versions, and let us build the latest officially available stable release ebuilds by default. That way, what portage says is the latest stable release, actually is the latest stable release, like the FreeBSD ports system.

If all this is wrong, I apologize for wasting your time. This is just my reaction to using Portage for about two weeks and wondering what the deal is with all these old versions of programs being considered latest stable releases.

And yes I did an emerge rsync first to make sure I had the latest portage tree. I'm not a complete idiot, although I may sound like one. :)
_________________
Adopt an unanswered post today!
Back to top
View user's profile Send private message
bpkri
Tux's lil' helper
Tux's lil' helper


Joined: 07 Aug 2002
Posts: 118
Location: Germany

PostPosted: Mon Dec 09, 2002 1:03 pm    Post subject: Reply with quote

Did you ever consider that not a software itself, but also the ebuild might be broken or cause problems? I do not know if this is the case with mozilla, but I have seen it. The ebuild tries to automatize the compile process, maybe applying patches, often applying configure settings. Things CAN go wrong there.
Even if they don't you have a lot of packages relying on another version of a software and you will not know if everything works as it should, when you use a newer version. So I think it is okay, that mozilla 1.2 is still not marked as stable.
Back to top
View user's profile Send private message
psharp
Tux's lil' helper
Tux's lil' helper


Joined: 16 Sep 2002
Posts: 76
Location: London, UK

PostPosted: Mon Dec 09, 2002 1:04 pm    Post subject: Reply with quote

Quote:
For instance, using the stable setting, portage still lists the latest stable build of Mozilla as 1.0.1. The ebuild for the true latest stable release, 1.2.1, is in there, but it's masked and can't be built. It's as if it bases the "latest stable release" version off the latest stable version that was available when that current gentoo version was released. Is this not so?


No, 1.2.1 is masked for a reason. If you read the mozilla-1.2.ebuild you will see that they have been haveing stability problems with 1.2 due to compiler flag settings (something binary distros don't have to worry about :wink: ).

Quote:
As far as I understand it, if I want to build Mozilla 1.2.1 for instance, I have to set portage to unstable to unmask all those ebuilds?


No, just do this:

Code:
# ACCEPT_KEYWORDS="~x86" emerge mozilla


The only thing I am not sure of is if that will bring in unstable dependancies, it probably will (although no completely broken ones which are in packages.mask)

Hope this helps.
Back to top
View user's profile Send private message
zhenlin
Veteran
Veteran


Joined: 09 Nov 2002
Posts: 1361

PostPosted: Mon Dec 09, 2002 1:07 pm    Post subject: Reply with quote

What the almighty gentoo developers consider stable is rock solid stable apparently.
Back to top
View user's profile Send private message
bpkri
Tux's lil' helper
Tux's lil' helper


Joined: 07 Aug 2002
Posts: 118
Location: Germany

PostPosted: Mon Dec 09, 2002 1:11 pm    Post subject: Reply with quote

zhenlin wrote:
What the almighty gentoo developers consider stable is rock solid stable apparently.


Or at least no problems have been detected so far ;)
Back to top
View user's profile Send private message
UnderDog138
n00b
n00b


Joined: 03 Dec 2002
Posts: 67
Location: Dallas, TX, USA

PostPosted: Mon Dec 09, 2002 1:21 pm    Post subject: Reply with quote

In other words, it incorporates the stability of every dependency it wants to compile into whether the entire port is "stable?" I noticed mozilla 1.2.1 wanted to compile another package which was masked. I went to that package and tried to just emerge -p the package, and it wanted to build an older version of the package. I emerged the newest one with no problem and emerge -p'ed the mozilla 1.2.1 package again and it said it could build it.

So even if mozilla 1.2.1 is stable by itself, the other libraries and applications listed in its dependencies must also be considered stable (and therefore unmasked) to be able to build the entire thing? That makes sense I guess, and if that's true, it raises the question of when will mozilla's 1.2.1's dependencies become "stable" so that mozilla 1.2.1 itself can become "stable" and be able to be built or upgraded with a simple emerge mozilla command?

It seems like we trade availability of brand new stable releases for stability if we have to wait on every dependency of a big program to be unmasked before we can unmask the big program.
_________________
Adopt an unanswered post today!
Back to top
View user's profile Send private message
rac
Bodhisattva
Bodhisattva


Joined: 30 May 2002
Posts: 6553
Location: Japanifornia

PostPosted: Mon Dec 09, 2002 7:32 pm    Post subject: Reply with quote

I equate "unstable" with "likely to cause reports of known bugs". Sometimes things get marked unstable because of things that depend on them, too, not just the other way around. Mozilla 1.1 was masked for a while originally, and a comment in packages.mask said it was because galeon couldn't be built with it at the time.

So although I understand your frustration, and remain hopeful that new features in Portage will soon make it easier to mix stable and unstable packages, I want to make it clear that the concept of "stable v. unstable" is not set in stone at any arbitrary versioning deadline: it fluctuates constantly. It's just that the notion of when something is considered "stable in Gentoo" lags a bit behind when it is considered "stable in a vacuum".
_________________
For every higher wall, there is a taller ladder
Back to top
View user's profile Send private message
UnderDog138
n00b
n00b


Joined: 03 Dec 2002
Posts: 67
Location: Dallas, TX, USA

PostPosted: Mon Dec 09, 2002 9:00 pm    Post subject: Reply with quote

That makes a lot more sense. A chain is only as strong as its weakest link, so in effect, a program is only as stable as the dependencies in which you use to build it. I suppose that philosophy makes for a very rock-solid portage system.

I wish I had understood this concept before I went and ranted about it. Thanks for clearing that up for me.
_________________
Adopt an unanswered post today!
Back to top
View user's profile Send private message
jjares
n00b
n00b


Joined: 28 Nov 2002
Posts: 17
Location: Argentina

PostPosted: Tue Dec 10, 2002 12:43 am    Post subject: You CAN build masked packages Reply with quote

try
emerge /usr/portage/net-www/mozilla-1.2.ebuild
The masking packages (as i see it) only protects you from automatic changes... but you can force whatever changes you need
Back to top
View user's profile Send private message
Pigeon
Guru
Guru


Joined: 21 Jun 2002
Posts: 307

PostPosted: Tue Dec 10, 2002 2:05 am    Post subject: Reply with quote

Another problem with mozilla 1.2.1 is that galeon can't be built against it. (yet)

Emerging a masked ebuild won't work, FYI- masked protects both automatic and explicit changes. You need to actively unmask it first.
Back to top
View user's profile Send private message
rac
Bodhisattva
Bodhisattva


Joined: 30 May 2002
Posts: 6553
Location: Japanifornia

PostPosted: Tue Dec 10, 2002 2:59 am    Post subject: Reply with quote

Pigeon wrote:
Emerging a masked ebuild won't work, FYI- masked protects both automatic and explicit changes. You need to actively unmask it first.
I disagree. Are you sure?
_________________
For every higher wall, there is a taller ladder
Back to top
View user's profile Send private message
max_colby
Tux's lil' helper
Tux's lil' helper


Joined: 30 Nov 2002
Posts: 149
Location: Ottawa, Canada

PostPosted: Tue Dec 10, 2002 3:13 am    Post subject: Reply with quote

By definition, Mozilla 1.0.1 is the lastest stable mozilla release, while Mozilla 1.2.1 is the lastest stable developer release. Although it is recommended that most users use the 1.x branch (because it is very stable, and includes a number of improvements), the 1.0.x branch is maintained as the stable branch because Mozilla is also used as a development platform.

Having said that, it would be nice if a keyword in make.conf would make portage default to the 1.x branch, rather than the 1.0.x branch of Mozilla. ACCEPT_KEYWORDS could also be used for other related purposes: defaulting to the Apache 2 branch, rather than Apache 1, defaulting to Gnome 1.4 etc. I'm not sure if such behaviour would be helpful to anyone, or if it just creates clutter.
Back to top
View user's profile Send private message
Pigeon
Guru
Guru


Joined: 21 Jun 2002
Posts: 307

PostPosted: Tue Dec 10, 2002 3:13 am    Post subject: Reply with quote

Code:
# emerge galeon-cvs
Calculating dependencies   

!!! all ebuilds that could satisfy "galeon-cvs" have been masked.


emerge: there are no masked or unmasked ebuilds to satisfy "galeon-cvs".

!!! Error calculating dependancies. Please correct.
Err, yes, unless I mis-understood his question.
Back to top
View user's profile Send private message
ibrandt
n00b
n00b


Joined: 13 Sep 2002
Posts: 24

PostPosted: Tue Dec 10, 2002 4:09 am    Post subject: Reply with quote

Well I just did:

Code:
ACCEPT_KEYWORDS="~x86" emerge /usr/portage/net-www/mozilla/mozilla-1.2.1-r1.ebuild


and I get:

Code:
$ mozilla
Segmentation fault


so there you have it. :wink:

<rant>
Now what I do wish is that if I merged a package using the ACCEPT_KEYWORDS="~arch" bit emerge would record that package in the world file as >=package-v.v (">=mozilla-1.2.1-r1" in this case). As it stands an emerge world will try to downgrade the package on you if you're not using ACCEPT_KEYWORDS="~arch" across the board (i.e. in your make.conf). For example I merged apache2, which I read is going to be "unstable" for a while, but it works for me and I want to use it. Every time I did an emerge world it wanted to revert it to apache1, and I ended up just merging the other packages it would list by specifying them explicitely. Then I learned that I could add ">=net-www/apache-2.0.43-r1" to /var/cache/edb/world. Why did I need to learn that, it seems like the sensible thing to do?
</rant>
Back to top
View user's profile Send private message
des
n00b
n00b


Joined: 01 Aug 2002
Posts: 7

PostPosted: Tue Dec 10, 2002 5:31 pm    Post subject: Reply with quote

ibrandt wrote:

<rant>
Now what I do wish is that if I merged a package using the ACCEPT_KEYWORDS="~arch" bit emerge would record that package in the world file as >=package-v.v (">=mozilla-1.2.1-r1" in this case). As it stands an emerge world will try to downgrade the package on you if you're not using ACCEPT_KEYWORDS="~arch" across the board (i.e. in your make.conf). For example I merged apache2, which I read is going to be "unstable" for a while, but it works for me and I want to use it. Every time I did an emerge world it wanted to revert it to apache1, and I ended up just merging the other packages it would list by specifying them explicitely. Then I learned that I could add ">=net-www/apache-2.0.43-r1" to /var/cache/edb/world. Why did I need to learn that, it seems like the sensible thing to do?
</rant>


I agree fully, and thanks for the tip, I had the issue you described with mozilla, and fixed it by unmasking mozilla in my portage overlay directory, but I believe your fix is cleaner because I would have to make sure that overlay/profiles/packages.mask does not get out of sync.
Back to top
View user's profile Send private message
rich0
Developer
Developer


Joined: 15 Sep 2002
Posts: 161

PostPosted: Wed Dec 11, 2002 2:47 am    Post subject: Putting versions in world file Reply with quote

That tip worked quite well for me. I had been unmasking the mozilla 1.1 ebuild, but it would be overwritten every time I emerge rsync'd. Then emerge -u world would downgrade me back to the "stable" version. I essentially copied the mozilla directory to a local portage tree so that it wouldn't be overwritten, but that was a non-ideal solution.

Of course, what this solution doesn't help is when the next security patch for mozilla rolls out and we don't get it because it is masked. Guess I'll have to keep my eye out for that...
Back to top
View user's profile Send private message
ibrandt
n00b
n00b


Joined: 13 Sep 2002
Posts: 24

PostPosted: Wed Dec 11, 2002 4:06 am    Post subject: Reply with quote

ibrandt wrote:
Code:
$ mozilla
Segmentation fault


FYI: the solution to my 1.2.1-rc1 segfault can be found here:

https://bugs.gentoo.org/show_bug.cgi?id=11713

Regards,

Ian
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum