Gentoo Archives: gentoo-alt

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

Replies

Subject Author
Re: [gentoo-alt] Re: 'Continuous Integration' for Gentoo Prefix? Guilherme Amadio <amadio@g.o>