<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p><br>
</p>
<div class="moz-cite-prefix">On 7/27/21 10:52 AM, ytao wrote:<br>
</div>
<blockquote type="cite" cite="mid:61fc5f83-49dd-5c31-d9db-5e4d986ab2c6@windriver.com">
<p><br>
</p>
<div class="moz-cite-prefix">On 7/27/21 7:05 AM, Short, Charles
wrote:<br>
</div>
<blockquote type="cite" cite="mid:BN7PR11MB28652542D4ED185A2E337E7BE5E89@BN7PR11MB2865.namprd11.prod.outlook.com">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif;
font-size: 12pt; color: rgb(0, 0, 0);"> Hi,</div>
</blockquote>
<p> First of all, I'm appreciated for your input.<font size="2"><span style="font-size:11pt;"></span></font></p>
<blockquote type="cite" cite="mid:BN7PR11MB28652542D4ED185A2E337E7BE5E89@BN7PR11MB2865.namprd11.prod.outlook.com">
<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);"> I had a look through
the document and it looks okay. I just have a couple of
comments/questions about the folder content:</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);">
<div>
<ul>
<li><span>**debver** - This is the package version of the
debian package? This is generated from the
debian/changelog when the package is built. I guess
the problem is that you want to differentiate from a
starlingx package and native package? My suggestion
would be what the Ubuntu developers do. For example,
if we have patches to apply for systemd, the debian
version would be 247.3-3, while the StarlingX package
would be 247.3-3stx0. Then a user or developer can
quickly see that they are working with a native debian
package or a starlingx modified package.</span></li>
</ul>
</div>
</div>
</blockquote>
<p> For a Debian native package, the *debver* is the debian
version. We use it to download the src via "apt-source
packagname=debver", for a starlingx package, it is up to the
developer. I observed in CentOS version, they added a patch to
change the package version, for example
integ/base/lighttpd/centos/meta_patches/Update-package-versioning-for-TIS-format.patch,
which appends a 'tis' to package version, that requests
developer to update the version manually. After transiting to
debian, OBS can achieve it automatically. It can append 'tis' or
'stx' to a package, so don't need developers to update it
manually.<br>
</p>
</blockquote>
<p><br>
</p>
<p>Recently, we found an issue related to "--append-to-version"
option of sbuild, via which we append the ".stx" to a built
package version, so that we don't need to involve a developer to
modify revision manually. A upstream commit
<a class="moz-txt-link-freetext" href="https://salsa.debian.org/debian/sbuild/commit/9741ec6eb018d500a93e607f998dda8af52c9ce0">https://salsa.debian.org/debian/sbuild/commit/9741ec6eb018d500a93e607f998dda8af52c9ce0</a>
forces the "--append-to-version"implies "--no-arch-all", which
causes the packages with --arch-all are skipped by sbuild, for
example, most of the python modules, so we have to give up the
"--append-to-version" option.</p>
<p><br>
</p>
<p>After reviewing the function "srpm_source_build_data()" in<code class="code-inner"></code>
<a class="moz-txt-link-freetext" href="https://opendev.org/starlingx/root/src/branch/master/build-tools/srpm-utils">https://opendev.org/starlingx/root/src/branch/master/build-tools/srpm-utils</a>
in depth, we decide to inherit the
PKG_GITREVCOUNT/SRC_GITREVCOUNT/<br>
</p>
<p>PKG_BASE_SRCREV/SRC_BASE_SRCREV 4 macros from CentOS version to
increase the revision automatically. Difference with CentOS
version is using a yaml file instead of build_srpm.data. And we
define a new environment variable $STX_DIST (default value is
".stx"), which is appended to built package version.</p>
<p><br>
</p>
<p>A new yaml file is involved, why not to merge other files into
the yaml file? Hence, we merge the dl_path/src_path/debver/debname
into meta_data.yaml, a sample of the meta_data_yaml</p>
<p><br>
</p>
<p>$cat integ/base/libfdt/debian/meta_data.yaml<br>
</p>
<p>==================<br>
</p>
<p>debver: 1.4.4-1<br>
debname: libfdt<br>
dl_path:<br>
name: dtc-1.4.4.tar.gz<br>
url:
<a class="moz-txt-link-freetext" href="https://www.kernel.org/pub/software/utils/dtc/dtc-1.4.4.tar.gz">https://www.kernel.org/pub/software/utils/dtc/dtc-1.4.4.tar.gz</a><br>
md5sum: e558cd0e244f122bcb4ebaca166aea4e<br>
revision:<br>
dist: $STX_DIST<br>
PKG_GITREVCOUNT:</p>
<p>==================</p>
<p><br>
</p>
<p>More details please see the stx_deb_folder_layout.rst file. <br>
</p>
<p><br>
</p>
<p>Thanks,</p>
<p>ytao<br>
</p>
<p><br>
</p>
<blockquote type="cite" cite="mid:61fc5f83-49dd-5c31-d9db-5e4d986ab2c6@windriver.com">
<p> </p>
<p><br>
</p>
<blockquote type="cite" cite="mid:BN7PR11MB28652542D4ED185A2E337E7BE5E89@BN7PR11MB2865.namprd11.prod.outlook.com">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif;
font-size: 12pt; color: rgb(0, 0, 0);">
<div>
<ul>
<li><span>**deb_patches** - As a developer, if the package
has its debian/patches I would rather use the
debian/patches directory. If the directory doesnt
exist I am more likely to create a debian/patches
directory and then send a patch to debian to fix a
problem. <br>
</span></li>
</ul>
</div>
</div>
</blockquote>
<p> Exactly, we should send a fix to debian community and
then uprev the package to get the fix, but we also need to
consider local changes. The *patches" folder contains the local
change for source codes, that will be copied to debian/patches
(or create it if doesn't exist), and update the
debian/patches/series. The *deb_patches* contains the patches to
change debian folder, for example, we want to customize the
installation of a package, we need to update override_dh_install
stage in debian/rules. The patches will be applied to
package/debian folder directly.</p>
<p><br>
</p>
<p> The *deb_patches* is similar with centos/meta_patches</p>
<p> The *patches* is similar with centos/patches<br>
</p>
<blockquote type="cite" cite="mid:BN7PR11MB28652542D4ED185A2E337E7BE5E89@BN7PR11MB2865.namprd11.prod.outlook.com">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif;
font-size: 12pt; color: rgb(0, 0, 0);">
<div>
<ul>
<li><span> </span><br>
</li>
<li><span>**dl_path** - Debian already does this for you
already, the debian/watch file keeps track of where to
download a tarball, or a zip file, or a python wheel
for you. You can use uscan(1), which is a part of
devscripts package. Debian/Ubuntu developers have been
doing this for years. (<a href="https://wiki.debian.org/debian/watch" id="LPlnk" moz-do-not-send="true">https://wiki.debian.org/debian/watch</a>)</span></li>
</ul>
</div>
</div>
</blockquote>
<p><br>
</p>
<p> Thanks you for pointing me the debian/watch. I will
take some time to learn about debian/watch and go back soon. It
looks a debian file for monitoring the upstream version change.
I am not sure if it is suitable for a no debian package. In our
internal discussion, Davlet told me a special case, that the url
of a tar ball likes this <span><a href="https://api.github.com/repos/ceph/jerasure/tarball/96c76b89d661c163f65a014b8042c9354ccf7f31" id="LPlnk272472" moz-do-not-send="true">https://api.github.com/repos/ceph/jerasure/tarball/96c76b89d661c163f65a014b8042c9354ccf7f31</a><br>
</span></p>
<p><br>
</p>
<p> As Davlet's suggestion, the *dl_path* refers to <span><a href="https://opendev.org/starlingx/integ/src/branch/master/centos_tarball-dl.lst" title="https://opendev.org/starlingx/integ/src/branch/master/centos_tarball-dl.lst" moz-do-not-send="true">example file</a> and the <a href="https://opendev.org/starlingx/tools/src/branch/master/centos-mirror-tools/dl_tarball.sh#L215" title="https://opendev.org/starlingx/tools/src/branch/master/centos-mirror-tools/dl_tarball.sh#L215" moz-do-not-send="true"> script that parses it</a>. I will do
assessment for debian/watch.</span></p>
<p><span><br>
</span></p>
<p><span>Thanks,<br>
</span></p>
<p><span>ytao<br>
</span></p>
<p><br>
</p>
<blockquote type="cite" cite="mid:BN7PR11MB28652542D4ED185A2E337E7BE5E89@BN7PR11MB2865.namprd11.prod.outlook.com">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif;
font-size: 12pt; color: rgb(0, 0, 0);">
<div>
<div>If you have any questions please let me know.</div>
<div><br>
</div>
<div>Regards</div>
<div>chuck<br>
</div>
<ul>
<div class="_Entity _EType_OWALinkPreview
_EId_OWALinkPreview _EReadonly_1">
<div id="LPBorder_GTaHR0cHM6Ly93aWtpLmRlYmlhbi5vcmcvZGViaWFuL3dhdGNo" class="LPBorder286411" style="width: 100%; margin-top:
16px; margin-bottom: 16px; position: relative;
max-width: 800px; min-width: 424px;">
<table id="LPContainer286411" role="presentation" style="padding: 12px 36px 12px 12px; width: 100%;
border-width: 1px; border-style: solid;
border-color: rgb(200, 200, 200); border-radius:
2px;">
<tbody>
<tr style="border-spacing: 0px;" valign="top">
<td style="width: 100%;">
<div id="LPTitle286411" style="font-size:
21px; font-weight: 300; margin-right: 8px;
font-family: "wf_segoe-ui_light",
"Segoe UI Light", "Segoe WP
Light", "Segoe UI",
"Segoe WP", Tahoma, Arial,
sans-serif; margin-bottom: 12px;"> <a target="_blank" id="LPUrlAnchor286411" href="https://wiki.debian.org/debian/watch" style="text-decoration: none;
color:var(--themePrimary);" moz-do-not-send="true">debian/watch -
Debian Wiki</a></div>
<div id="LPDescription286411" style="font-size: 14px; max-height: 100px;
color: rgb(102, 102, 102); font-family:
"wf_segoe-ui_normal", "Segoe
UI", "Segoe WP", Tahoma,
Arial, sans-serif; margin-bottom: 12px;
margin-right: 8px; overflow: hidden;">
debian/watch. The file named watch in the
debian directory is used to check for newer
versions of upstream software is available
and to download it if necessary. The
download itself will be performed with the
uscan program from the devscripts package.
It takes the path to the debian directory
that uses the watch file as an argument or
searches the directories underneath the
current working ...</div>
<div id="LPMetadata286411" style="font-size:
14px; font-weight: 400; color: rgb(166, 166,
166); font-family:
"wf_segoe-ui_normal", "Segoe
UI", "Segoe WP", Tahoma,
Arial, sans-serif;"> wiki.debian.org</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<br>
</ul>
</div>
<div><br>
</div>
</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);"> <br>
</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);"> <br>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" face="Calibri, sans-serif" color="#000000"><b>From:</b> ytao
<a class="moz-txt-link-rfc2396E" href="mailto:yue.tao@windriver.com" moz-do-not-send="true"><yue.tao@windriver.com></a><br>
<b>Sent:</b> July 26, 2021 3:33 AM<br>
<b>To:</b> <a class="moz-txt-link-abbreviated" href="mailto:starlingx-discuss@lists.starlingx.io" moz-do-not-send="true">starlingx-discuss@lists.starlingx.io</a>
<a class="moz-txt-link-rfc2396E" href="mailto:starlingx-discuss@lists.starlingx.io" moz-do-not-send="true"><starlingx-discuss@lists.starlingx.io></a>;
Asselstine, Mark <a class="moz-txt-link-rfc2396E" href="mailto:Mark.Asselstine@windriver.com" moz-do-not-send="true"><Mark.Asselstine@windriver.com></a><br>
<b>Subject:</b> [Starlingx-discuss] [Debian Build]: Layout
of the debian folder</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">Hello Everyone:<br>
<br>
You may have known Wind River team is working on the
transition to <br>
Debian OS, more details of the project can be found at <br>
<a href="https://docs.starlingx.io/specs/specs/stx-6.0/" moz-do-not-send="true">https://docs.starlingx.io/specs/specs/stx-6.0/</a>.
My purpose is launching <br>
a discussion about the userspace packages transition to
Debian. The spec <br>
can be found at <br>
<a href="https://docs.starlingx.io/specs/specs/stx-6.0/approved/starlingx_2008704_debian_transition.html" moz-do-not-send="true">https://docs.starlingx.io/specs/specs/stx-6.0/approved/starlingx_2008704_debian_transition.html</a><br>
<br>
In order to inherit the existing userspace construction
as much as <br>
possible, our proposal is creating a 'debian' folder in
same directory <br>
with 'centos' folder for each package. For example, the
dhcp package in <br>
integ repo, it's centos folder is at:<br>
<br>
<a href="https://opendev.org/starlingx/integ/src/branch/master/base/dhcp/centos" moz-do-not-send="true">https://opendev.org/starlingx/integ/src/branch/master/base/dhcp/centos</a><br>
<br>
We will create a debian folder in same location<br>
<br>
<a href="https://opendev.org/starlingx/integ/src/branch/master/base/dhcp/debian" moz-do-not-send="true">https://opendev.org/starlingx/integ/src/branch/master/base/dhcp/debian</a>.<br>
<br>
All materials in this folder control building dhcp under
Debian host. <br>
The "stx_deb_folder_layout.rst" is the layout of debian
folder. I also <br>
attach a couple of samples to demonstrate how to fill
the debian folder <br>
for a debian package and a 3rd package.<br>
<br>
This layout is not the final version, I'm appreciated
for any suggestion <br>
from you.<br>
<br>
<br>
Thanks,<br>
<br>
ytao<br>
<br>
</div>
</span></font></div>
</blockquote>
</blockquote>
</body>
</html>