1 |
Hello, |
2 |
|
3 |
Just wanted to update you up to where I got. |
4 |
|
5 |
Now I have two working repositories: |
6 |
* https://github.com/awesomebytes/gentoo_prefix_ci |
7 |
* https://github.com/awesomebytes/gentoo_prefix_ci_32b |
8 |
|
9 |
They have continuous integration setup with Azure pipelines where every |
10 |
night they will try to bootstrap Gentoo Prefix on amd64 and x86 using |
11 |
Docker images. |
12 |
|
13 |
As the READMEs state, this is currently done in 3 steps. This is done for |
14 |
two reasons. First, the 6h limit of one job running. Secondly, to be able |
15 |
to have intermediate state Docker images to maybe try to fix the current |
16 |
issues bootstrapping Gentoo Prefix in a more elegant way. |
17 |
|
18 |
Using as an example the amd64 build: |
19 |
|
20 |
On the releases section: |
21 |
https://github.com/awesomebytes/gentoo_prefix_ci_32b/releases one can find |
22 |
.tar.gz files with the latest (currently done by hand, I'll automate that |
23 |
soon on successful builds) Gentoo Prefix that bootstrapped. It's |
24 |
bootstrapped in /tmp/gentoo and explained how to use it as I explained in |
25 |
this email thread before. |
26 |
|
27 |
On the builds page: |
28 |
https://dev.azure.com/12719821/12719821/_build?definitionId=2 one can find |
29 |
the full logs of every step. |
30 |
|
31 |
This fulfils my immediate needs, now I'll need to spend some time doing |
32 |
something similar to emerge all the stuff I need for ros_overlay |
33 |
<https://github.com/ros/ros-overlay> and offer a binary repo. But I'm open |
34 |
to talk about what I did, improve it, maybe move it somewhere else... You |
35 |
let me know! |
36 |
|
37 |
P.S.: Most of the work, if not all, is documented in bug #668940 |
38 |
<https://bugs.gentoo.org/668940> and more detailed and in order in this |
39 |
notepad originally from Olivier Huber |
40 |
<https://pad.crans.org/p/gentoo-prefix>. |
41 |
P.S.2: The help I got from the people in the IRC at #gentoo-prefix was |
42 |
great. |
43 |
|
44 |
|
45 |
On Tue, Nov 27, 2018 at 8:21 PM Michael Haubenwallner <haubi@g.o> |
46 |
wrote: |
47 |
|
48 |
> On 11/27/2018 09:37 AM, Sam Pfeiffer wrote: |
49 |
> > On Tue, Nov 27, 2018 at 7:20 PM Fabian Groffen <grobian@g.o |
50 |
> <mailto:grobian@g.o>> wrote: |
51 |
> > |
52 |
> > > I don't want to depress this entire discussion, but it would be really |
53 |
> > > nice if we could somehow interact with special machines people have at |
54 |
> > > their company or at home. Prefix needs testing on many different |
55 |
> > > machines (non-Linux) which usually don't exist in docker images. |
56 |
> |
57 |
> I second this - and let me add a further aspect here: |
58 |
> What I know from buildbot setup is that the master does provide (mostly |
59 |
> shell) |
60 |
> commands to be executed on the slave. This is fine as long as there is |
61 |
> limited |
62 |
> visibility for the master. But when a public buildbot master is being |
63 |
> hijacked, |
64 |
> it feels too easy to execute malicious commands even on the slave machines. |
65 |
> |
66 |
> So over a buildbot like setup, I would prefer a Jenkins like setup, where |
67 |
> the |
68 |
> master does provide only trigger information to slaves. And even more |
69 |
> appealing |
70 |
> would be a standalone slave setup, where the master does just receive the |
71 |
> build |
72 |
> logs for the public, without access to slave machines at all. |
73 |
> |
74 |
> > That's alright, we can use QEMU for some more esoteric hardware |
75 |
> platforms,> if it's an OS that runs on a normal amd64/x86 computer a Docker |
76 |
> image can be |
77 |
> > built (I'm not an expert but there are images to learn how to do it).> |
78 |
> Or in the worst case we can create an old-school VM for those weird OS |
79 |
> > and automate the interaction with it (I did it for a robot by dumping all |
80 |
> > disk once and creating a VM from it, it worked ok). |
81 |
> |
82 |
> Well... there's a bunch of OSs I fail to imagine the use of cloud driven |
83 |
> hardware for them, like hppa-hpux or ia64-hpux for past ones, and ppc-aix, |
84 |
> ppc-macos, sparc-solaris, arm-linux or m68k-mint for current ones. |
85 |
> |
86 |
> > > That said, focussing on the (usually fast) boxes like this to catch |
87 |
> > > dependency problems and more is useful. In the case below it looks |
88 |
> like |
89 |
> > > the ld-wrapper is having issues. Would it be possible to enter the |
90 |
> > > environment for that failed run? |
91 |
> > |
92 |
> > Glad you see the use of it :) Yeah as I mentioned in the previous mail, |
93 |
> > having docker installed in your machine, to access that exact environment |
94 |
> > after the failed bootstrap just do: |
95 |
> > |
96 |
> > # This will download the image to your machine (it may take a bit of |
97 |
> time if its the first time you use docker its around 1GB of data I think) |
98 |
> > docker pull awesomebytes/gentoo_prefix_latest_image |
99 |
> > # This will drop you into a shell in that environment, ready to play! |
100 |
> > docker run -it awesomebytes/gentoo_prefix_latest_image /bin/bash |
101 |
> > |
102 |
> > When you are done you can just type exit. |
103 |
> |
104 |
> Nevertheless, having the breaking environment as a docker image where |
105 |
> possible (true for the major OSs we support) really is awesome! |
106 |
> |
107 |
> /haubi/ |
108 |
> |
109 |
> |
110 |
|
111 |
-- |
112 |
|
113 |
*Sammy Pfeiffer* |
114 |
PhD Candidate at The Magic Lab within UTS. |