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