1 |
Hi Sam, |
2 |
|
3 |
On 11/26/2018 09:11 AM, Fabian Groffen wrote: |
4 |
<snip intro> |
5 |
|
6 |
>> Given my particular annoyance of the 32bit system (and noting that my hosts are |
7 |
>> 64bits, as is the standard nowadays) I found that I can use either: |
8 |
>> |
9 |
>> * [2]https://github.com/docker-32bit/ubuntu a 32bit Ubuntu Docker image |
10 |
>> |
11 |
>> * [3]https://github.com/gentoo/gentoo-docker-images stage3-x86 32bit Gentoo |
12 |
>> Docker image |
13 |
>> |
14 |
>> And then execute the build step of Docker with: |
15 |
>> |
16 |
>> setarch i686 docker build -t my_bootstrapping_gentoo_prefix_32b_image . |
17 |
>> |
18 |
>> Which will trick any program trying to do uname -m to assume 32bit machine. |
19 |
>> (Previously I used the variable CHOST=i686-pc-linux-gnu for bootstrapping, but I |
20 |
>> found some problems, which didn't appear with this method). |
21 |
> |
22 |
> Hmmm. |
23 |
|
24 |
On 64bit machines, one can use 'linux32' to trick the autodetection into 32bit: |
25 |
$ uname -m |
26 |
x86_64 |
27 |
$ linux32 uname -m |
28 |
i686 |
29 |
|
30 |
>> Once I have all this setup working nicely, I'd like to trigger rebuilds every X |
31 |
>> time, and on changes on main players (or all dependencies actually) of my setup, |
32 |
>> like the bootstrapping of Gentoo Prefix (Ideally, on every change of a part of |
33 |
>> the system just trigger a rebuild from that point on, Docker layers make this |
34 |
>> possible). |
35 |
> |
36 |
> This may be a bit too much, but you could start from every day |
37 |
> (LATEST_TREE_YES), or we can see to building a tar more frequently from |
38 |
> rsync0. |
39 |
> |
40 |
>> With Azure announcing unlimited minutes on CI/CD for open source projects: |
41 |
>> |
42 |
>> [4]https://azure.microsoft.com/en-us/blog/announcing-azure-pipelines-with-unlimited-ci-cd-minutes-for-open-source/ |
43 |
|
44 |
Nice, wasn't aware of that one! |
45 |
|
46 |
>> |
47 |
>> Even bootstrapping Gentoo prefix, with pieces of software like gcc taking very |
48 |
>> long to compile, is possible. |
49 |
> |
50 |
> I'm still missing the infra to administer this, but I have a wrapper |
51 |
> script to bootstrap-prefix.sh (I'm sure others (haubi?) have too) to do |
52 |
> an unattended bootstrap. I want this to run automatically on some boxes |
53 |
> I have, but some of them will take several days to complete. |
54 |
> Another thing is for a bootstrapped prefix to periodically emerge --sync |
55 |
> and emerge -Dua world. Add on top of that detecting which packages have |
56 |
> keywords for said prefix and installing them, and we should be able to |
57 |
> be notice breakage rather sooner than later. |
58 |
|
59 |
Yes, I do have a buildbot setup within the company I'm working at, |
60 |
but unfortunately I don't have the time to inspect the results and |
61 |
fix upcoming problems on a regular base. |
62 |
Beyond that, I cannot open the buildbot-master to the public, but |
63 |
I believe I could share build results if we had some public place |
64 |
to store them. |
65 |
|
66 |
Anyway - the Prefix buildbot slaves here are doing a clean bootstrap |
67 |
(with LATEST_TREE_YES=1, noninteractive) once per week, and an emerge |
68 |
update/deep/world once per day. The list of "KEYWORD (hosts)" here is: |
69 |
ppc-aix (AIX 6.1/64bit, AIX 7.1/64bit) |
70 |
x86_64-cygwin (Windows Server 2012) |
71 |
sparc-solaris (Solaris 10/64bit) |
72 |
x86-linux (SLES11.1/64bit, SLES12.0/64bit, RHEL7.1/64bit, RHEL6.2/64bit) |
73 |
amd64-linux (Gentoo/64bit) |
74 |
|
75 |
Also, I do have need for Prefix Guest only, no RAP here - but there should be |
76 |
hardware resources left to perform both builds. |
77 |
|
78 |
>> The point is: I have been trying to build Gentoo Prefix during the last days |
79 |
>> after a few months of break since the last time I touched the system. And it's |
80 |
>> failing. I haven't managed yet to bootstrap it completely. I feel there is no |
81 |
>> CI/CD setup to catch these issues and be able to offer a working version of |
82 |
>> Gentoo Prefix at any time. |
83 |
> |
84 |
> Sorry about that. I need to make another pass over it. |
85 |
|
86 |
Indeed - only the 64bit (Cygwin & Linux) ones were succeeding recently, |
87 |
all the 32bit ones failed. |
88 |
|
89 |
>> I was going to build it for myself (cause I need it), but instead, I'd like to |
90 |
>> offer my help to build it for the community. At least offer as an option |
91 |
>> ready-to-use /tmp/gentoo EPREFIX'ed built Gentoo Prefix from a Docker image, |
92 |
>> just copy the full folder structure, do the softlink, and you are ready to play |
93 |
>> with Gentoo. If you mess up anything, just re-deploy. |
94 |
>> |
95 |
>> To do this I'd need a bit of help as I'm quite new to Gentoo and I tend to get |
96 |
>> blocked on little issues that take a while to google or debug (specially with |
97 |
>> the long compilation times of the bootstrap and some big packages). |
98 |
>> |
99 |
>> I've posted a short issue in the Docker repo of Gentoo images about this |
100 |
>> ([5]https://github.com/gentoo/gentoo-docker-images/issues/62) but I think the |
101 |
>> maintainers probably don't usually work with Gentoo Prefix. |
102 |
> |
103 |
> I'm not very familiar myself with Docker (mostly hiding under a rock |
104 |
> here), but I suspect the gentoo-docker-images project responds better to |
105 |
> email to their list (as in Contributing from their README). I may be |
106 |
> wrong though. |
107 |
> |
108 |
>> Thank you very much for your time, and for your open source efforts. |
109 |
> |
110 |
> Thanks for your efforts sofar. I hope we can pull something together. |
111 |
> At least in the coming period I hope to be able to fix the bootstrapping |
112 |
> issues for Solaris/OpenIndiana/Darwin. |
113 |
|
114 |
I would love to see my buildbot slave's results somewhere in the public, |
115 |
thank you for triggering this! |
116 |
|
117 |
/haubi/ |