[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