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