Gentoo Archives: gentoo-alt

From: Fabian Groffen <grobian@g.o>
To: gentoo-alt@l.g.o
Subject: Re: [gentoo-alt] Re: 'Continuous Integration' for Gentoo Prefix?
Date: Fri, 14 Dec 2018 18:37:27
Message-Id: 20181214183718.GJ87093@gentoo.org
In Reply to: Re: [gentoo-alt] Re: 'Continuous Integration' for Gentoo Prefix? by Fabian Groffen
1 x86-solaris and x64-solaris bootstraps work, I expected the perl problem
2 to show up for those. The pipeline still seems working on this.
3
4 On 11-12-2018 15:09:46 +0100, Fabian Groffen wrote:
5 > Hi Sam,
6 >
7 > At this point I managed to get bootstrap to succeed on ppc-macos
8 > (minority arch), I will continue with x64-macos and x64-solaris shortly.
9 >
10 > I thought I fixed the Perl problem, aparently not. I'll release a new
11 > snapshot today/tomorrow, perhaps this brings some of the fixes forward.
12 >
13 > Thanks,
14 > Fabian
15 >
16 > On 12-12-2018 00:57:35 +1100, Sam Pfeiffer wrote:
17 > > Hello Fabian,
18 > >
19 > > I was unaware I could do that. Looks cleaner and more convenient! Thanks!
20 > >
21 > > You could say it is 'by design'. I have no idea how to fix the perl stuff,
22 > > neither the other problems (9 workarounds needed in total to be able to
23 > > bootstrap Gentoo Prefix, documented here
24 > > [1]https://pad.crans.org/p/gentoo-prefix and in my Dockerfiles). Given I need
25 > > Gentoo Prefix bootstrappable to keep building stuff upon it... That's the best I
26 > > could do.
27 > >
28 > > I'd love to remove the hacks and be able to just run the bootstrap-prefix.sh
29 > > script and call it a day though.
30 > >
31 > > On Wed, Dec 12, 2018 at 12:40 AM Fabian Groffen <[2]grobian@g.o> wrote:
32 > >
33 > > > Hey Sam,
34 > >
35 > > > Examining some of your build logs, I wonder if you are aware you can do
36 > > > this:
37 > >
38 > > >   ./bootstrap-prefix.sh ${EPREFIX} noninteractive
39 > >
40 > > > instead of forcing input to the script.
41 > >
42 > > > Perl currently fails it seems in the logs, though the bootstrap is
43 > > > reported to be successful.  Is this by design?
44 > >
45 > > > Thanks,
46 > > > Fabian
47 > >
48 > > > On 03-12-2018 11:53:02 +0100, Fabian Groffen wrote:
49 > > > > Cool!  Thanks a lot!
50 > > > >
51 > > > > Fabian
52 > > > >
53 > > > > On 03-12-2018 21:48:15 +1100, Sam Pfeiffer wrote:
54 > > > > > Hello,
55 > > > > >
56 > > > > > Just wanted to update you up to where I got.
57 > > > > >
58 > > > > > Now I have two working repositories:
59 > > > > >
60 > > > > > * [1][3]https://github.com/awesomebytes/gentoo_prefix_ci
61 > > > > >
62 > > > > > * [2][4]https://github.com/awesomebytes/gentoo_prefix_ci_32b
63 > > > > >
64 > > > > > They have continuous integration setup with Azure pipelines where every
65 > > > night
66 > > > > > they will try to bootstrap Gentoo Prefix on amd64 and x86 using Docker
67 > > > images.
68 > > > > >
69 > > > > > As the READMEs state, this is currently done in 3 steps. This is done for
70 > > > two
71 > > > > > reasons. First, the 6h limit of one job running. Secondly, to be able to
72 > > > have
73 > > > > > intermediate state Docker images to maybe try to fix the current issues
74 > > > > > bootstrapping Gentoo Prefix in a more elegant way.
75 > > > > >
76 > > > > > Using as an example the amd64 build:
77 > > > > >
78 > > > > > On the releases
79 > > > > >
80 > > > section: [3][5]https://github.com/awesomebytes/gentoo_prefix_ci_32b/releases
81 > > > one
82 > > > > > can find .tar.gz files with the latest (currently done by hand, I'll
83 > > > automate
84 > > > > > that soon on successful builds) Gentoo Prefix that bootstrapped. It's
85 > > > > > bootstrapped in /tmp/gentoo and explained how to use it as I explained in
86 > > > this
87 > > > > > email thread before.
88 > > > > >
89 > > > > > On the builds
90 > > > > > page: [4][6]https://dev.azure.com/12719821/12719821/_build?definitionId=2
91 > > > one can
92 > > > > > find the full logs of every step.
93 > > > > >
94 > > > > > This fulfils my immediate needs, now I'll need to spend some time doing
95 > > > > > something similar to emerge all the stuff I need for [5]ros_overlay and
96 > > > offer a
97 > > > > > binary repo. But I'm open to talk about what I did, improve it, maybe move
98 > > > it
99 > > > > > somewhere else... You let me know!
100 > > > > >
101 > > > > > P.S.: Most of the work, if not all, is documented in bug [6]#668940 and
102 > > > more
103 > > > > > detailed and in order in [7]this notepad originally from Olivier Huber.
104 > > > > >
105 > > > > > P.S.2: The help I got from the people in the IRC at #gentoo-prefix was
106 > > > great.
107 > > > > >
108 > > > > > On Tue, Nov 27, 2018 at 8:21 PM Michael Haubenwallner
109 > > > <[8][7]haubi@g.o>
110 > > > > > wrote:
111 > > > > >
112 > > > > > > On 11/27/2018 09:37 AM, Sam Pfeiffer wrote:
113 > > > > > > > On Tue, Nov 27, 2018 at 7:20 PM Fabian Groffen
114 > > > <[9][8]grobian@g.o
115 > > > > > > <mailto:[10][9]grobian@g.o>> wrote:
116 > > > > > > >
117 > > > > > > > > I don't want to depress this entire discussion, but it would be
118 > > > really
119 > > > > > > > > nice if we could somehow interact with special machines people have
120 > > > at
121 > > > > > > > > their company or at home.  Prefix needs testing on many different
122 > > > > > > > > machines (non-Linux) which usually don't exist in docker images.
123 > > > > >
124 > > > > > > I second this - and let me add a further aspect here:
125 > > > > > > What I know from buildbot setup is that the master does provide (mostly
126 > > > shell)
127 > > > > > > commands to be executed on the slave. This is fine as long as there is
128 > > > limited
129 > > > > > > visibility for the master. But when a public buildbot master is being
130 > > > > > > hijacked,
131 > > > > > > it feels too easy to execute malicious commands even on the slave
132 > > > machines.
133 > > > > >
134 > > > > > > So over a buildbot like setup, I would prefer a Jenkins like setup,
135 > > > where the
136 > > > > > > master does provide only trigger information to slaves. And even more
137 > > > > > > appealing
138 > > > > > > would be a standalone slave setup, where the master does just receive
139 > > > the
140 > > > > > > build
141 > > > > > > logs for the public, without access to slave machines at all.
142 > > > > >
143 > > > > > > > That's alright, we can use QEMU for some more esoteric hardware
144 > > > platforms,>
145 > > > > > > if it's an OS that runs on a normal amd64/x86 computer a Docker image
146 > > > can be
147 > > > > > > > built (I'm not an expert but there are images to learn how to do it).>
148 > > > Or in
149 > > > > > > the worst case we can create an old-school VM for those weird OS
150 > > > > > > > and automate the interaction with it (I did it for a robot by dumping
151 > > > all
152 > > > > > > > disk once and creating a VM from it, it worked ok).
153 > > > > >
154 > > > > > > Well... there's a bunch of OSs I fail to imagine the use of cloud driven
155 > > > > > > hardware for them, like hppa-hpux or ia64-hpux for past ones, and
156 > > > ppc-aix,
157 > > > > > > ppc-macos, sparc-solaris, arm-linux or m68k-mint for current ones.
158 > > > > >
159 > > > > > > > > That said, focussing on the (usually fast) boxes like this to catch
160 > > > > > > > > dependency problems and more is useful.  In the case below it looks
161 > > > like
162 > > > > > > > > the ld-wrapper is having issues.  Would it be possible to enter the
163 > > > > > > > > environment for that failed run?
164 > > > > > > >
165 > > > > > > > Glad you see the use of it :) Yeah as I mentioned in the previous
166 > > > mail,
167 > > > > > > > having docker installed in your machine, to access that exact
168 > > > environment
169 > > > > > > > after the failed bootstrap just do:
170 > > > > > > >
171 > > > > > > > # This will download the image to your machine (it may take a bit of
172 > > > time if
173 > > > > > > its the first time you use docker its around 1GB of data I think)
174 > > > > > > > docker pull awesomebytes/gentoo_prefix_latest_image
175 > > > > > > > # This will drop you into a shell in that environment, ready to play!
176 > > > > > > > docker run -it awesomebytes/gentoo_prefix_latest_image /bin/bash
177 > > > > > > >
178 > > > > > > > When you are done you can just type exit.
179 > > > > >
180 > > > > > > Nevertheless, having the breaking environment as a docker image where
181 > > > > > > possible (true for the major OSs we support) really is awesome!
182 > > > > >
183 > > > > > > /haubi/
184 > > > > >
185 > > > > > --
186 > > > > >
187 > > > > > Sammy Pfeiffer
188 > > > > > PhD Candidate at The Magic Lab within UTS.
189 > > > > >
190 > > > > >
191 > > > > >
192 > > > > >  References:
193 > > > > >    1. [10]https://github.com/awesomebytes/gentoo_prefix_ci
194 > > > > >    2. [11]https://github.com/awesomebytes/gentoo_prefix_ci_32b
195 > > > > >    3. [12]https://github.com/awesomebytes/gentoo_prefix_ci_32b/releases
196 > > > > >    4. [13]https://dev.azure.com/12719821/12719821/_build?definitionId=2
197 > > > > >    5. [14]https://github.com/ros/ros-overlay
198 > > > > >    6. [15]https://bugs.gentoo.org/668940
199 > > > > >    7. [16]https://pad.crans.org/p/gentoo-prefix
200 > > > > >    8. mailto:[17]haubi@g.o
201 > > > > >    9. mailto:[18]grobian@g.o
202 > > > > >   10. mailto:[19]grobian@g.o
203 > > > > >
204 > > > > > read_char: errno==EILSEQ; invalid byte sequence for UTF-8:
205 > > > > --
206 > > > > Fabian Groffen
207 > > > > Gentoo on a different level
208 > >
209 > > > --
210 > > > Fabian Groffen
211 > > > Gentoo on a different level
212 > >
213 > > --
214 > >
215 > > Sammy Pfeiffer
216 > > PhD Candidate at The Magic Lab within UTS.
217 > >
218 > >
219 > >
220 > > References:
221 > > 1. https://pad.crans.org/p/gentoo-prefix
222 > > 2. mailto:grobian@g.o
223 > > 3. https://github.com/awesomebytes/gentoo_prefix_ci
224 > > 4. https://github.com/awesomebytes/gentoo_prefix_ci_32b
225 > > 5. https://github.com/awesomebytes/gentoo_prefix_ci_32b/releases
226 > > 6. https://dev.azure.com/12719821/12719821/_build?definitionId=2
227 > > 7. mailto:haubi@g.o
228 > > 8. mailto:grobian@g.o
229 > > 9. mailto:grobian@g.o
230 > > 10. https://github.com/awesomebytes/gentoo_prefix_ci
231 > > 11. https://github.com/awesomebytes/gentoo_prefix_ci_32b
232 > > 12. https://github.com/awesomebytes/gentoo_prefix_ci_32b/releases
233 > > 13. https://dev.azure.com/12719821/12719821/_build?definitionId=2
234 > > 14. https://github.com/ros/ros-overlay
235 > > 15. https://bugs.gentoo.org/668940
236 > > 16. https://pad.crans.org/p/gentoo-prefix
237 > > 17. mailto:haubi@g.o
238 > > 18. mailto:grobian@g.o
239 > > 19. mailto:grobian@g.o
240 > >
241 > > read_char: errno==EILSEQ; invalid byte sequence for UTF-8:
242 > --
243 > Fabian Groffen
244 > Gentoo on a different level
245
246
247
248 --
249 Fabian Groffen
250 Gentoo on a different level

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-alt] Re: 'Continuous Integration' for Gentoo Prefix? Sam Pfeiffer <sammypfeiffer@×××××.com>