Gentoo Archives: gentoo-dev

From: Pieter Van den Abeele <pvdabeel@××××××.be>
To: kain@××××.org
Cc: gentoo-dev@g.o
Subject: [gentoo-dev] [gentoo-ppc] follow-up: ppc kernel problem + ARCH proposal
Date: Sat, 06 Apr 2002 06:29:59
Message-Id: 200204061229.g36CThx29845@picard.skynet.be
1 On Saturday 06 April 2002 12:20, you wrote:
2 > I'm fixing the problem (below) as we speak :-) Updated portage will be
3 > available within the hour:
4 >
5 > *fixed some typos in your ppc kernel ebuilds
6 > *grep DEPEND * -r | grep kernel revealed some ebuild were depending on x86
7 > kernels. (ll remove x86 kernels from ppc portage :-) )
8 > *fixed some ppc-related digests
9 > *glibc DEPENDs has special kernel requirements... fixing that mess too
10 >
11 > > portage merges, then it proceeds to emerge
12 > > sys-kernel/linux-headers-2.4.17-r5, downloads
13 > > http://mirrors.sunsite.dk/gentoo/distfiles/linux-2.4.17.tar.bz2 and
14 > > http://mirrors.sunsite.dk/gentoo/distfiles/linux-2.4.17-r5.patch.bz2 to
15 > > the proper distfiles directory, but when it tries to unpack
16 > > linux-2.4.17.tar.bz2, portage hangs. if i interrupt the process, i get:
17 > >
18 > > !!! Portage interrupted by SIGINT; exiting.
19 > >
20 > > *** Unpack Aborted ***
21 > >
22 > > if i restart the process, portage still hangs.
23 > >
24 > > is the portage-1.8.12 functional? are my make.conf settings wrong?
25 > > where could the problem be? thanks...
26
27 I updated ppc portage/sys-kernel:
28
29 I decided to remove all non ppc kernel ebuilds, to make things easier to work
30 with. This makes our tree a bit cleaner and makes possible future merging
31 into gentoo(x86) portage easier.
32
33 I analysed the bootstrap problem and came to the following conclusion:
34 Various ebuild were depending on sys-kernel/linux-source. When further
35 analysing sys-kernel I noticed 2.4.19 ebuild had some typos (wrong location
36 of the patch (gentoo should have been gentooppc)) and 2.4.19 in linux-sources
37 was the x86 one. 2.4.17-r5 was being emerged by this users installation right
38 after portage got emerged. There's no ebuild depending on 2.4.17, so I
39 suppose it must have been baselayout (the first ebuild after portage to be
40 emerged in bootstrap that caused 2.4.17-r5 to be emerged)
41
42 Baselayout was depending on sys-kernel/linux-headers. So 2.4.17-r5 should
43 have been emerged right there. Which is very strange because there was a
44 2.4.19 ebuild in linux-headers (it shoud have been, because it is in cvs and
45 right before bootstrap is run, portage should be up to date). I suppose the
46 user was using a very old portage (without 2.4.19), that was not suited for
47 ppc.
48
49 I removed all X86 kernel ebuilds and only kept the 2.4.19 ppc ebuild in both
50 headers/sources and ppc-sources. I also (temporarily) masked <=2.4.18 so the
51 ppc patched 2.4.19 should be used next time.
52
53 I think it would be best to remove sys-kernel/linux-ppc-sources and place
54 ppckernels in sys-kernel/linux-sources and sys-kernel/linux-header. I'm
55 thinking of adding a "ppc" USE (or maybe a new ARCH flag) variable to gentoo
56 that would instruct ebuilds to patch the software they are installing with
57 ppc patches.
58
59 Maintaining the gentooppc port would be much easier because instead of
60 continuously adding ebuilds added to x86 to ppc, we should only be patching
61 whenever a user reports a problem with ebuilds added to x86 portage or
62 whenever X86portage releases a new kernel/compiler. PPC specific software
63 like yaboot, hfs utils etc would only be mergeable if ppc USE/ARCH flag is
64 set. Other software like lilo, grub would only be mergeable if for example
65 ARCH=x86 or ppc USE is not set. This would probably make ppc gentoo a little
66 more unstable. Do you think this is possible? x86 ebuilds would be
67 automatically compatible with ppc, unless they require a certain ARCH/USE
68 Pseudocode of ebuilds:
69
70 ---
71 lilo.ebuild:
72 require (arch==x86) {
73 install lilo
74 }
75 ---
76
77 ---
78 kde.ebuild:
79 install kde
80 ---
81
82 ---
83 gcc.ebuild:
84 download sources
85 if (ARCH==ppc) {
86 download ppc patch
87 patch gcc
88 }
89 install sources
90 ---
91
92 ---
93 kernel.ebuild:
94 download sources
95 if (ARCH==ppc) {
96 download ppc patch
97 patch kernel
98 }
99 else if (ARCH==x86) {
100 download x86 patch (preempt, ac etc)
101 patch kernel
102 }
103 else {
104 end 1 "unknow arch"
105 }
106 install kernel
107 ---
108
109 Or should we maintain two different portages and have portage ppc a bit
110 outdated? Maintaining two different portages has some advantages too:
111 gentooppc is stable (portage does not contain software that cannot be
112 installed on ppc).
113
114 In any case CVS access to x86 portage would be great :-)
115
116 regards
117
118 --
119 Pieter Van den Abeele
120 pvdabeel@××××××.be