<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Oct 20, 2021 at 5:22 PM Thomas Goirand <<a href="mailto:zigo@debian.org">zigo@debian.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 10/18/21 2:18 PM, Jeremy Stanley wrote:<br>
> On 2021-10-18 11:22:11 +0800 (+0800), 高瀚翔 wrote:<br>
>> Skyline-apiserver is a pure Python code project, following the<br>
>> Python wheel packaging standard, using pip for installation, and<br>
>> the dependency management of the project using poetry[1]<br>
>><br>
>> Skyline-console uses npm for dependency management, development<br>
>> and testing. During the packaging and distribution process,<br>
>> webpack will be used to process the source code and dependent<br>
>> library code first, and output the packaged static resource files.<br>
>> These static resource files will be stored in an empty Python<br>
>> module[2].<br>
> [...]<br>
> <br>
> GNU/Linux distributions like Debian are going to want to separately<br>
> package the original source code for all of these Web components and<br>
> their dependencies, and recreate them at the time the distro's<br>
> binary packages are built. I believe the concerns are making it easy<br>
> for them to find the source for all of it, and to attempt to use<br>
> dependencies which these distributions already package in order to<br>
> reduce their workload. Further, it helps to make sure the software<br>
> is capable of using multiple versions of its dependencies when<br>
> possible, because it's going to be installed into shared<br>
> environments with other software which may have some of the same<br>
> dependencies, so may need to be able to agree on common versions<br>
> they all support.<br>
<br>
Hi,<br>
<br>
Thanks Jeremy for summing-up things in a better way that I ever would.<br>
<br>
Also, using pip is *not* an option for distros. I'm not sure what you<br>
mean by "following the Python wheel packaging standard", but to me,<br>
we're not there yet. I'd like to have a normal setup.py and setup.cfg<br>
file in each Python module so it's easy to call "python3 setup.py<br>
install --root $(pwd)/debian/skyline-apiserver --install-layout=deb".<br></blockquote><div><br></div><div>Side note: calling setup.py is essentially deprecated: <a href="https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html">https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html</a></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
I would also expect to see a "normal" requirements.txt and<br>
test-requirements.txt like in every other OpenStack project, the use of<br>
stestr to run unit tests, and so on.<br>
<br>
Right now, when looking at the skyline-apiserver as the Debian OpenStack<br>
package maintainer, I'd need a lot of manual work to use pyproject.toml<br>
instead of my standard tooling.<br></blockquote><div><br></div><div>PyProject is the universal way forward, you'll (and we'll) need to adopt sooner or later.</div><div><br></div><div>Dmitry<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
As I understand, dependencies are expressed in the pyproject.toml, but<br>
then how do I get the Python code installed under debian/skyline-apiserver?<br>
<br>
BTW, what made you choose something completely different than the rest<br>
of the OpenStack project?<br>
<br>
Cheers,<br>
<br>
Thomas Goirand (zigo)<br>
<br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr">Red Hat GmbH, <a href="https://de.redhat.com/" target="_blank">https://de.redhat.com/</a> , Registered seat: Grasbrunn, <br>Commercial register: Amtsgericht Muenchen, HRB 153243,<br>Managing Directors: Charles Cachera, Brian Klemm, Laurie Krebs, Michael O'Neill <br></div></div></div>