<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
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;}
span.EmailStyle17
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:windowtext;}
span.EmailStyle18
{mso-style-type:personal-reply;
font-family:"Calibri","sans-serif";
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></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]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D">I’m testing an update now that introduces a PKG_GITREVCOUNT, similar to the existing GITREVCOUNT support. This counts the number of commits in a package’s PKG_BASE dir in order to calculate a package-independent
version number (as opposed to having the same version for all pkgs in a given repo). Like GITREVCOUNT, you can set a TIS_BASE_SRCREV to specify a range of commits, but without it defined, PKG_GITREVCOUNT will count all commits in the history. As well, it will
increment the count by one if you have modified files under the package dir, for designer testing.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><a href="https://review.opendev.org/#/q/topic:pkg-versioning+(status:open+OR+status:merged)">https://review.opendev.org/#/q/topic:pkg-versioning+(status:open+OR+status:merged)</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">For example, updating the build_srpm.data files for sysinv, sysinv-agent, and cgts-client to include:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">TIS_PATCH_VER=PKG_GITREVCOUNT<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">results in:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">cgts-client-1.0-182.tis.x86_64.rpm<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">sysinv-1.0-1614.tis.x86_64.rpm<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">sysinv-agent-1.0-9.tis.x86_64.rpm<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Using this should avoid some of the issues we’ve been having, ensuring the version is updated with every commit.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">For the kernel repo, we could use the existing GITREVCOUNT mechanism, or introduce a REPO_GITREVCOUNT similar to the above, to auto-version all the packages based on the full repo, rather than package-independent.
This would ensure all packages are upversioned together - ie. update the kernel, and all the kernel modules would be upversioned. Unfortunately, the reverse would also be true in that case… update a kernel module, and the kernel would also end up updated.
But the benefits may outweigh that con.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Miller, Frank [mailto:Frank.Miller@windriver.com]
<br>
<b>Sent:</b> Wednesday, May 13, 2020 9:38 AM<br>
<b>To:</b> starlingx-discuss@lists.starlingx.io<br>
<b>Subject:</b> [Starlingx-discuss] Commit freeze lifted; TIS_PATCH_VER needs to be updated<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">StarlingX Community:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Going forward your commit needs to include updating the TIS_PATCH_VER of a package. The current implementation of build layering requires the version to be updated for some packages when that package is changed. Failure to do this could
result in an older built version of a package being picked up. The build team is looking at a way to remove this requirement but for now please ensure your commits include an update to the TIS_PATCH_VER for the package you are changing.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Cores can now allow commits to merge as we have a green sanity from yesterday’s load. Cores please confirm TIS_PATCH_VER is updated before allowing commits to merge.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Frank<o:p></o:p></p>
<p class="MsoNormal">Project Lead for Build<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>