<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Until this is fixed, I believe the following workaround should work:</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Replace "yum install mock" in the Dockerfile with</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
yum install \</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span>        https://kojipkgs.fedoraproject.org/packages/mock/1.4.16/1.el7/noarch/mock-1.4.16-1.el7.noarch.rpm \<br>
</span>
<div>        https://kojipkgs.fedoraproject.org/packages/mock-core-configs/32.5/1.el7/noarch/mock-core-configs-32.5-1.el7.noarch.rpm<br>
</div>
<span></span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
D.<br>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Panech, Davlet <Davlet.Panech@windriver.com><br>
<b>Sent:</b> June 18, 2020 12:55 PM<br>
<b>To:</b> starlingx-discuss@lists.starlingx.io <starlingx-discuss@lists.starlingx.io><br>
<b>Subject:</b> [Starlingx-discuss] CENGN build fialures + builder docker file changes</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">Hi all,<br>
<br>
The CENGN build failed today due to (in part) problems with the Dockerfile:<br>
<br>
  <a href="https://opendev.org/starlingx/tools/src/branch/master/Dockerfile">https://opendev.org/starlingx/tools/src/branch/master/Dockerfile</a><br>
<br>
- It uses latest CentOS & EPEL repos to pull packages from. Even though it's based on a pinned docker image, centos:7.4.xxx, it's yum repos point to mirror.centos.org (incl updates). So the first yum command in the docker file upgrades half the system towards
 7.8 or whatever<br>
<br>
- Our build scripts require mock <= 1.4.20, but what we get is version 2.x . Older compatible versions don't exist in CentOS or EPEL repos.<br>
<br>
- Dockerfile installs (towards the end) all repo files from centos-mirror-tools globally. This makes "yum install" essentially unusable in the docker image once its built because that set includes a bunch of incompatible repos e.g. CnetOS 7.x and 8.x both enabled.<br>
<br>
Note that these issues affect only the execution of build scripts -- individual RPMs are built in mock roots (inside Docker on CENGN) with their own yum configuration.<br>
<br>
Proposed changes:<br>
<br>
- Pin Dockerfile base image to centos:7.8.2003 (up from 7.4). This should be closer to what's been happening until now with latest packages being pulled in on top of a 7.4 base system as described above.<br>
- Replace global yum repo files with pinned URLs that point to 7.8 (using CentOS vault etc) .<br>
- Same for EPEL repos from here: <a href="https://archives.fedoraproject.org/pub/archive/epel/7.2020-04-20/">
https://archives.fedoraproject.org/pub/archive/epel/7.2020-04-20/</a><br>
- Install this version of mock: <a href="https://kojipkgs.fedoraproject.org/packages/mock/1.4.16/1.el7/noarch/mock-1.4.16-1.el7.noarch.rpm">
https://kojipkgs.fedoraproject.org/packages/mock/1.4.16/1.el7/noarch/mock-1.4.16-1.el7.noarch.rpm</a> . This is the only build scripts - compatible mock RPM I can find.<br>
- As a separate effort we should update build scripts to support recent mock versions. But pinning to mock 1.4.x will help with the immediate build problems<br>
<br>
Potential problem: Docker file installs anaconda, presumably because build-iso needs that (?). But if we pin centos repos, we will be creating ISO files based on the pinned anaconda packages. Unless build-iso itself runs inside mock, not sure it this is the
 case.<br>
<br>
Thoughts, comments?<br>
<br>
I'd like to get this fixed today if possible because it's gating CENGN builds.<br>
<br>
Thanks,<br>
D.<br>
_______________________________________________<br>
Starlingx-discuss mailing list<br>
Starlingx-discuss@lists.starlingx.io<br>
<a href="http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss">http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss</a><br>
</div>
</span></font></div>
</body>
</html>