<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">We will need a wiki update on the
      procedure to use.  i.e. how do I develop a list of tarballs I need
      to add to the .lst?<br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">On 2019-01-15 1:56 p.m., McKenna, Jason
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:EF69F8938994714CB4694DB8872C48E6CE24A6E0@ALA-MBD.corp.ad.wrs.com">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:458643834;
        mso-list-type:hybrid;
        mso-list-template-ids:362034270 -152036182 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:613;
        mso-level-number-format:bullet;
        mso-level-text:-;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-font-family:Calibri;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New",serif;}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New",serif;}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New",serif;}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span lang="EN-CA">Hi build team,<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA">At the previous build
            meeting I had identified an issue with the way some go based
            packages were being built be built (they required internet
            access), and promised I’d update the mailing list on a
            potential way forward that we were prototyping.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA">Some preliminary points:<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"><!--[if !supportLists]--><span
            lang="EN-CA"><span style="mso-list:Ignore">-<span
                style="font:7.0pt "Times New Roman"">         
              </span></span></span><!--[endif]--><span lang="EN-CA">go
            usually attempts to resolve dependencies at build time, by
            going out to the internet and fetching stuff (like
            dependency source code) using the “go get” command<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"><!--[if !supportLists]--><span
            lang="EN-CA"><span style="mso-list:Ignore">-<span
                style="font:7.0pt "Times New Roman"">         
              </span></span></span><!--[endif]--><span lang="EN-CA">Sometimes
            the stuff fetched by “go get” isn’t appropriate (i.e. “go
            get” fetches the latest version, but deprecated APIs may
            have been removed, etc)<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"><!--[if !supportLists]--><span
            lang="EN-CA"><span style="mso-list:Ignore">-<span
                style="font:7.0pt "Times New Roman"">         
              </span></span></span><!--[endif]--><span lang="EN-CA">Different
            versions of go packages may require different versions of
            dependencies<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"><!--[if !supportLists]--><span
            lang="EN-CA"><span style="mso-list:Ignore">-<span
                style="font:7.0pt "Times New Roman"">         
              </span></span></span><!--[endif]--><span lang="EN-CA">We
            want builds to be reproducible without unexpected code
            changes (i.e. we want to know what we’re compiling in)<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"><!--[if !supportLists]--><span
            lang="EN-CA"><span style="mso-list:Ignore">-<span
                style="font:7.0pt "Times New Roman"">         
              </span></span></span><!--[endif]--><span lang="EN-CA">Some
            people build in environments where they don’t have Internet
            access<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA">The initial solution
            (which didn’t take into account the Internet access problem)
            was to use “dep”.  “dep” is an external tool which was an
            “official experiment” of the go project.  Rather than fetch
            the latest dependencies from the internet (like “go get”),
            it allowed specific revisions of dependencies to be
            captured.  “dep” fetched those versions from the Internet. 
            This solved the deprecated API issue, the reproducible build
            issue, and the issue of not using rpms for the
            dependencies.  However, if someone was attempting to build
            in an internet-less context, the system would fail.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA">Enter this second
            revision.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA">The dependency packages
            are now downloaded at download-mirrors.sh time as tarballs. 
            The tarballs are produced as of a specific commit for each
            dependency.  This allows us to hit all our bullet points –
            code is snapshotted, reproducible, we don’t end up having to
            create a bunch of new rpms with dependency source code and
            potential version conflicts, and it requires no internet
            access (other than at download-mirrors.sh time)<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA">Jerry has posted a
            preview code review showing his work using this mechanism.
             I’ve marked the reviews as workflow -1 to give the build
            team a chance to see the mechanism.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA"><a
              href="https://review.openstack.org/#/c/631001/"
              moz-do-not-send="true">https://review.openstack.org/#/c/631001/</a><o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA"><a
              href="https://review.openstack.org/#/c/631002/"
              moz-do-not-send="true">https://review.openstack.org/#/c/631002/</a><o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA">-Jason<o:p></o:p></span></p>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
Starlingx-discuss mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Starlingx-discuss@lists.starlingx.io">Starlingx-discuss@lists.starlingx.io</a>
<a class="moz-txt-link-freetext" href="http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss">http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss</a>
</pre>
    </blockquote>
    <p><br>
    </p>
  </body>
</html>