[all][tc] Skyline as a new official project [was: What's happening in Technical Committee: summary 15th Oct, 21: Reading: 5 min]

Thomas Goirand zigo at debian.org
Wed Oct 20 15:17:54 UTC 2021


On 10/18/21 2:18 PM, Jeremy Stanley wrote:
> On 2021-10-18 11:22:11 +0800 (+0800), 高瀚翔 wrote:
>> Skyline-apiserver is a pure Python code project, following the
>> Python wheel packaging standard, using pip for installation, and
>> the dependency management of the project using poetry[1]
>>
>> Skyline-console uses npm for dependency management, development
>> and testing. During the packaging and distribution process,
>> webpack will be used to process the source code and dependent
>> library code first, and output the packaged static resource files.
>> These static resource files will be stored in an empty Python
>> module[2].
> [...]
> 
> GNU/Linux distributions like Debian are going to want to separately
> package the original source code for all of these Web components and
> their dependencies, and recreate them at the time the distro's
> binary packages are built. I believe the concerns are making it easy
> for them to find the source for all of it, and to attempt to use
> dependencies which these distributions already package in order to
> reduce their workload. Further, it helps to make sure the software
> is capable of using multiple versions of its dependencies when
> possible, because it's going to be installed into shared
> environments with other software which may have some of the same
> dependencies, so may need to be able to agree on common versions
> they all support.

Hi,

Thanks Jeremy for summing-up things in a better way that I ever would.

Also, using pip is *not* an option for distros. I'm not sure what you
mean by "following the Python wheel packaging standard", but to me,
we're not there yet. I'd like to have a normal setup.py and setup.cfg
file in each Python module so it's easy to call "python3 setup.py
install --root $(pwd)/debian/skyline-apiserver --install-layout=deb".

I would also expect to see a "normal" requirements.txt and
test-requirements.txt like in every other OpenStack project, the use of
stestr to run unit tests, and so on.

Right now, when looking at the skyline-apiserver as the Debian OpenStack
package maintainer, I'd need a lot of manual work to use pyproject.toml
instead of my standard tooling.

As I understand, dependencies are expressed in the pyproject.toml, but
then how do I get the Python code installed under debian/skyline-apiserver?

BTW, what made you choose something completely different than the rest
of the OpenStack project?

Cheers,

Thomas Goirand (zigo)



More information about the openstack-discuss mailing list