1 |
Ok... |
2 |
|
3 |
How about we make an option to ebuild that makes the build process |
4 |
interactive. We could make that option set a variable in the ebuild |
5 |
script, which we would then check during the individual steps in the |
6 |
process.. for example, |
7 |
|
8 |
if [ "${INTERACTIVE}" ]; then |
9 |
make menuconfig |
10 |
else |
11 |
cp "${FILESDIR}/config-${KV}" ${WORKDIR}/linux/.config |
12 |
yes "" | make oldconfig |
13 |
fi |
14 |
|
15 |
Then you could run ebuild -i merge or something like that. |
16 |
|
17 |
A few notes: |
18 |
I like using make oldconfig, because it automatically takes care of |
19 |
autoconf.h, and version.h for you, and makes sure everything is |
20 |
configured right. I'd use yes "" | make oldconfig in the |
21 |
non-interactive version, that way if there are any variables missing |
22 |
in the .config file, they will get the default value. |
23 |
|
24 |
I also thought it would be a good idea if the kernels were installed |
25 |
with a suffix determining the version of the kernel, |
26 |
i.e. bzImage-2.4.0 rather than just bzImage; that way multiple kernels |
27 |
can be installed at the same time. I like to do this, especially when |
28 |
installing a new kernel, in case the new one won't boot or has some |
29 |
kind of bug in it, I can go back to the old one. Then you could merge |
30 |
the new kernel, reboot, and unmerge the old one after you're satisfied |
31 |
the new one works. |
32 |
|
33 |
If you want, I'll try to modify the ebuild script to add interactive |
34 |
building support, and work on a sample kernel ebuild. Adding |
35 |
interactive support shouldn't require any modifications in the |
36 |
packages, I'm pretty sure. |
37 |
|
38 |
Oh... and one more thing... I'm having problems w/ the make check |
39 |
stage while building glibc-2.2.1. I'm trying to figure out why right |
40 |
now. It just says "Timed out" or something like that. I'll give you |
41 |
more info after I run make check again. |
42 |
|
43 |
Pete |
44 |
|
45 |
On Mon, Feb 05, 2001 at 03:03:38PM +0100, Achim Gottinger wrote: |
46 |
> Pete Gavin wrote: |
47 |
> |
48 |
> > Hi, |
49 |
> > |
50 |
> > I was wondering... Is it required that an ebuild script be completely |
51 |
> > non-interactive? |
52 |
> |
53 |
> Yes, otherwise there would be no autobuild. |
54 |
> |
55 |
> > I have a few ideas for the kernel configuration |
56 |
> > scripts. I think it might be cool for the for the ebuild to ask the |
57 |
> > installer if he/she wants to load a .config file from somewhere else, then |
58 |
> > run make menuconfig. That way all the modules and stuff can be removed |
59 |
> > with portage-unmerge. |
60 |
> |
61 |
> You can do this. |
62 |
> After running "ebuild linux.... unpack" cd to |
63 |
> /tmp/portage/linux.../work/linux |
64 |
> run "make menuconfig/xconfig" |
65 |
> Then continue with ebuild linux... compile |
66 |
> |
67 |
> Another possibility would be using the "config" function in ebuild. This was |
68 |
> normaly intedet to be used |
69 |
> for an opional additional configuration-layer. And should normaly modify the |
70 |
> package configuration |
71 |
> files from templates/databses whatever. Normaly this functions hsould be |
72 |
> called after pkg_merge. |
73 |
> But since we have no configuration layer right now and config is only used by |
74 |
> a few packages (for example |
75 |
> qmail runs config-fast from within the config function) we could use the |
76 |
> config function for such an |
77 |
> interactive thing. |
78 |
> Another solution could be using a USE variable to decide if the manual |
79 |
> configuration you described should be |
80 |
> run or a variable that just triggers if a private config file should be used |
81 |
> instead of the default one. Or we could make a sepearate kernel package that |
82 |
> does these manual steps. |
83 |
> |
84 |
> But what do you think about that. The kernel ebuild looks if a file (for |
85 |
> example /etc/kernel/[version].config) exists. If so it uses this instead of |
86 |
> the default one. |
87 |
> If you want to configure the kernel for the first time you can do it as I |
88 |
> described above. The copy the .config file to /etc/kernel/[version].config |
89 |
> and the next time you compile the kernel your private config file gets used. |
90 |
> |
91 |
> achim~ |
92 |
> |
93 |
> > |
94 |
> > Pete |
95 |
> > |
96 |
> > _______________________________________________ |
97 |
> > gentoo-dev mailing list |
98 |
> > gentoo-dev@g.o |
99 |
> > http://www.gentoo.org/mailman/listinfo/gentoo-dev |
100 |
> |
101 |
> |
102 |
> _______________________________________________ |
103 |
> gentoo-dev mailing list |
104 |
> gentoo-dev@g.o |
105 |
> http://www.gentoo.org/mailman/listinfo/gentoo-dev |