Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 105616 - VServer, bootstrap wants masked sys-apps/baselayout instead of baselayout-vserver
Summary: VServer, bootstrap wants masked sys-apps/baselayout instead of baselayout-vse...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Greg Kroah-Hartman (RETIRED)
URL:
Whiteboard:
Keywords:
: 108426 120381 122776 (view as bug list)
Depends on: 123284
Blocks:
  Show dependency tree
 
Reported: 2005-09-11 10:14 UTC by Bruno
Modified: 2006-02-21 11:12 UTC (History)
5 users (show)

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


Attachments
Output of emerge --info and bootstrap.sh -p (vstage1-2005.0.txt,3.96 KB, text/plain)
2005-09-29 11:39 UTC, Bruno
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Bruno 2005-09-11 10:14:49 UTC
For Vserver there is baselayout-vserver which is used by the vserver stages.    
    
Building a new system from stage1 (following the VServer HowTo by Hollow)   
fails on bootstrap.sh wanting to install sys-apps/baselayout instead of   
sys-apps/baselayout-vserver.   
   
In addition when pretending to emerge system (emerge -p system) it blocks on  
baselayout because of udev. 

Reproducible: Always
Steps to Reproduce:
Comment 1 Benedikt Böhm (RETIRED) gentoo-dev 2005-09-27 14:36:46 UTC
use the vserver/x86 profile... 
Comment 2 Bruno 2005-09-28 13:10:32 UTC
vserver/x86 is the profile selected by default by the stage1 mentionned in the 
HowTo. (http://dev.gentoo.org/~hollow/vserver/stages/) 
 
There might be an issue with udev being pulled-in and causing itself that 
normal baselayout is pulled-in. I'm wondering why bootstrap.sh even thinks 
about looking for normal baselayout as it's masked. 
Does the initial portage call in bootstrap.sh just ignore masked status of 
packages? (/usr/bin/python import portage; print portage.settings.packages). 
This call always wants sys-apps/baselayout... 
Comment 3 Christian Heim (RETIRED) gentoo-dev 2005-09-28 23:08:24 UTC
There is some fuzz .. at first you have to merge baselayout-vserver and unmerge
baselayout-vserver (this should not happen with the vserver-stages AFAIK this
only happens while using regular stages). After that you should be able to
bootstrap your system.

$ USE="build" emerge baselayout-vserver
$ emerge -C baselayout
Comment 4 Benedikt Böhm (RETIRED) gentoo-dev 2005-09-28 23:15:16 UTC
probably you want to run even this, to save you from more fuzz..: 
 
$ CONFIG_PROTECT="-*" emerge baselayout-vsever 
$ emerge -C baselayout 
Comment 5 Bruno 2005-09-29 10:17:29 UTC
On the vserver stage1 I tried Christian's suggestion (comment #3) as well as 
Benedikt's one without success, baselayout-vserver emerges fine, but 
bootstrapping always want's to put in sys-apps/baselayout. 
 
Using a normal stage I get: 
1) update /etc/make.profile to point to portage/profiles/vserver/x86 
2) USE=build CONFIG_PROTECT="-*" emerge baselayout-vserver 
   -> baselayout-vserver is blocked by baselayout 
3) emerge unmerge sys-apps/baselayout 
   -> mentionned as system package! (doing it anyhow) 
4) USE=build CONFIG_PROTECT="-*" emerge baselayout-vserver 
   -> fails: 
baselayout-vserver.ebuild: ebegin: command not found 
baselayout-vserver.ebuild: eend: command not found 
 
!!! ERROR: sys-apps/baselayout-vserver-1.11.13 failed. 
!!! Function src_install, line 318, Exitcode 127 
 
The way I got vserver guest installed is to skip bootstrapping and build 
system twice with empty-tree (doing at the same time an upgrade to gcc-3.4) 
Comment 6 Christian Heim (RETIRED) gentoo-dev 2005-09-29 10:29:30 UTC
Would you mind telling us, exactly which stage-tarball you are using ?! An
emerge --info ouput from inside your chroot would also be nice.
Comment 7 Bruno 2005-09-29 11:39:27 UTC
Created attachment 69516 [details]
Output of emerge --info and bootstrap.sh -p

VServer stage: 
http://dev.gentoo.org/~hollow/vserver/stages/stage1-x86-2005.0.tar.bz2 
 
Normal stage: 
releases/x86/2005.1/stages/x86/stage1-x86-2005.1.tar.bz2

Note: /usr/portage is a rsync snapshot mounted read-only. (snapshots tried,
yesterday, and others over past few weeks) /usr/portage/distfiles is
read-write.

Attached:
- output of emerge -i in the chroot
- output of scripts/bootstrap.sh -p
Comment 8 Jakub Moc (RETIRED) gentoo-dev 2005-10-07 13:21:27 UTC
*** Bug 108426 has been marked as a duplicate of this bug. ***
Comment 9 Benedikt Böhm (RETIRED) gentoo-dev 2005-10-07 23:34:54 UTC
i don't know why bootstrap wants to pull in (or (bug 108426) why you want to 
install kde inside a vserver, hu?) but nevertheless, udev should DEPEND on 
virtual/baselayout, not sys-apps/baselayout 
Comment 10 Roli 2005-10-08 03:04:56 UTC
KDE inside vserver? A KDE session available through tightvnc because I want my 
favourite LaTeX-frontend Kile (and not some @%@! on windoze) when I'm at the 
university or at the school where I'm working part-time as physics teacher... 
And since my hosting company gives me 32 IPs for free I'm doing something for 
security and separate the tightvnc X session from the rest of the server! 
Comment 11 Bruno 2005-10-09 12:37:15 UTC
I have KDE installed in my VServer guest, but running it on a Xserver running 
on the host there are long delays at session starting/ending. In addition some 
programs are started multiple time (e.g. kgpg) and xterm/konsole and friends 
don't want to start (hidden /dev/pts/*), only sshd knows how to get one 
without seeing it. 
 
Just masked udev and thing went fine (using monolitic KDE). Aim is to have 
multiple fully separate DE on same box usable at SAME time. 
Comment 12 Benedikt Böhm (RETIRED) gentoo-dev 2005-10-09 13:11:52 UTC
(In reply to comment #11) 
> I have KDE installed in my VServer guest, but running it on a Xserver running  
> on the host there are long delays at session starting/ending. In addition 
some  
> programs are started multiple time (e.g. kgpg) and xterm/konsole and friends  
> don't want to start (hidden /dev/pts/*), only sshd knows how to get one  
> without seeing it. 
 
the problem here is you won't get a pts on "vserver ... enter" because it just 
creates a bash process inside the guests context. if you enter the guest via 
ssh you'll get a pts entry... 
 
Comment 13 Bruno 2005-10-09 13:27:04 UTC
(In reply to comment #12) 
> the problem here is you won't get a pts on "vserver ... enter" because it 
just  
> creates a bash process inside the guests context. if you enter the guest via  
> ssh you'll get a pts entry...  
>   
I have tried both ways, starting the KDE session from a vserver ... enter as 
well as from a SSH session to the guest. In both cases it's impossible to get 
a console under X because of the /dev/pts being hidden unless used in the 
guest. 
SSH works fine obtaining a /dev/pts/ device, but all the others don't. This is 
probably not directly a vserver issue, but more something on the side of those 
apps. 
Comment 14 Roli 2005-10-10 12:27:44 UTC
Setting the USE flag "-alsa" in /etc/make.conf works for the KDE problem. I  
found this by applying the trick from Bruno (#11) recursively until I got a  
"dependency required by kdebase/kde-libs" after I masked a few alsa packages. 
 
Thanks, friends, for the hints! 
Comment 15 Bruno 2005-10-10 12:51:55 UTC
(In reply to comment #14) 
> Setting the USE flag "-alsa" in /etc/make.conf works for the KDE problem. I   
> found this by applying the trick from Bruno (#11) recursively until I got a   
> "dependency required by kdebase/kde-libs" after I masked a few alsa 
packages.  
>   
> Thanks, friends, for the hints!  
I have alsa, what you need to do is add "media-sound/alsa-driver" (in a recent 
enough version) to /etc/portage/profile/package.provide. 
 
Comment 16 Thorsten Zantis 2005-12-02 08:58:11 UTC
I'm using hollow's stage3-i686-2005.1-r1.tar.bz2 (made yesterday?) and still 
get the udev wanting baselayout error with vserver/x86 (deprecated, it said) 
and x86/2005.1/vserver profiles... Any advice, please? 
Comment 17 Greg Kroah-Hartman (RETIRED) gentoo-dev 2005-12-07 13:53:05 UTC
Why is this assigned to me?  What does udev have to do with this?
Comment 18 Benedikt Böhm (RETIRED) gentoo-dev 2005-12-07 21:54:43 UTC
because udev depends on sys-apps/baselayout instead of virtual/baselayout 
Comment 19 Thorsten Zantis 2005-12-20 00:44:31 UTC
(In reply to comment #18)
> because udev depends on sys-apps/baselayout instead of virtual/baselayout 

And it still does in udev-078.ebuild...
Comment 20 Greg Kroah-Hartman (RETIRED) gentoo-dev 2005-12-22 16:35:13 UTC
Hm, I looked into this for the 079 release, but how do I specify a specific
version of a virtual?  I need a newer baselayout for udev to work properly,
does all of the other virtual providers of baselayout work properly with
the udev specific things?

Comment 21 Christian Skarby 2006-01-17 15:12:59 UTC
There is a lot of noise in the information on this bug, but if I understand you right is the issue connected to creating vserver stage1 tarballs. I suppose the howto that is referenced is http://www.gentoo.org/doc/en/vserver-howto.xml - however I've been unable to locate the instructions given to bootstrap a vserver build in that HowTo. On the other hand I've been able to verify this bug using dev-util/catalyst-1.1.10.10 and todays portage.

Quick tests reveals that the following changes seems to solve the problem
changing portage/profiles/default-linux/packages.build to hold virtual/baselayout (instead of sys-apps/baselayout) and 
 echo virtual/baselayout sys-apps/baselayout >> portage/profiles/default-linux/virtuals

Please crosscheck that these changes works for you and that is is not breaking any other profiles (before commiting the changes.)
Comment 22 Benedikt Böhm (RETIRED) gentoo-dev 2006-01-18 06:12:23 UTC
well, only changing packages.build wouldn't suffice here, since baselayout is hardcoded everywhere in the profiles..

currently vserver stage1 is done manually by extracting a normal stage1 and replace baselayout with baselayout-vserver.. i know this is not an elegant solution, but as there is a new virtual system which accepts versions for virtuals this could be done now i guess
Comment 23 Patrick Lauer gentoo-dev 2006-01-22 07:18:11 UTC
really bad - udev depends on sys-apps/baselayout

gregkh: could you please change the DEPEND?
either virtual/baselayout or ( sys-apps/baselayout || sys-apps/baselayout-vserver) should work, but right now udev is blocked in baselayout-vserver :-(
Comment 24 Christian Heim (RETIRED) gentoo-dev 2006-01-22 12:17:33 UTC
(In reply to comment #20)
> Hm, I looked into this for the 079 release, but how do I specify a specific
> version of a virtual?  I need a newer baselayout for udev to work properly,
> does all of the other virtual providers of baselayout work properly with
> the udev specific things?
> 

If you need for example >=sys-apps/baselayout-1.11.14, then you would replace the following:

RDEPEND="${DEPEND}
        >=sys-apps/baselayout-1.11.14"

RDEPEND="${DEPEND}
        >=virtual/baselayout-1.11.14"

But I've got no idea, if that's working with older portage (and if it wouldn't be better to create a new virtual in virtual/baselayout as described in GLEP 37)
Comment 25 Benedikt Böhm (RETIRED) gentoo-dev 2006-01-26 23:01:44 UTC
*** Bug 120381 has been marked as a duplicate of this bug. ***
Comment 26 Benedikt Böhm (RETIRED) gentoo-dev 2006-01-31 11:57:34 UTC
you can workaround this issue by adding

sys-fs/udev-<version>

to /etc/portage/profile/package.provided
Comment 27 Jakub Moc (RETIRED) gentoo-dev 2006-02-14 02:40:01 UTC
*** Bug 122776 has been marked as a duplicate of this bug. ***
Comment 28 Jonas Pfenniger 2006-02-19 07:21:54 UTC
Didn't had time to read all the comments.

I had that problem while installing the sun-jdk package. After an equery depgraph sun-jdk, I found out that the problem was with the "alsa" package, which depends on "udev"

So USE="-alsa" solved my problem.
Comment 29 Benedikt Böhm (RETIRED) gentoo-dev 2006-02-19 07:44:42 UTC
(In reply to comment #28)
> Didn't had time to read all the comments.
> 
> I had that problem while installing the sun-jdk package. After an equery
> depgraph sun-jdk, I found out that the problem was with the "alsa" package,
> which depends on "udev"
> 
> So USE="-alsa" solved my problem.
> 

the problem is not alsa depending on udev, but udev depending on sys-apps/baselayout instead of virtual/baselayout, please see bug 123284 for details
Comment 30 Benedikt Böhm (RETIRED) gentoo-dev 2006-02-21 11:12:00 UTC
today i discovered the real root of this evil.

kernel-2.eclass depends on virtual/dev-manager, and alsa depends on virtual/alsa which in turn is provided by kernel sources, which in turn depend on udev because that's the default virtual.

i just commited a fix to the default-linux/{amd64,x86}/2005.1/vserver profiles to fix this issue.

thanks go to jonas pfenniger who made me look at alsa