-
Notifications
You must be signed in to change notification settings - Fork 150
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Switch to Poetry #2441
Switch to Poetry #2441
Conversation
This is nowhere near complete, because I'm still working on figuring out:
|
c6d0be6
to
db9fdcd
Compare
Thanks for starting this. I switched the branch and did some tests. I wondered about the entry-points. Usually I do this:
now the same with poetry
I wonder how you would call kiwi-ng inside of the venv without the entry-points. The entry-points are defined in setup.py as
It's really crucial that this stuff continues to work. Not only for the usability of a venv but also to not break kiwi's plugin support |
btw the kiwicompat entry point can be deleted, we won't need any old compat layer for 10.x.x |
With poetry, you initialize the virtualenv using poetry itself, and use |
db9fdcd
to
daf8d2a
Compare
ah I see
works great, thanks And thanks for adding the plugin related data 👍 |
There is also a contribution chapter in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No poetry.lock
?
@Conan-Kudo I was wondering what you think of https://hatch.pypa.io/latest/why/? I have no experience with it, but it appears like a lighter and more upstream aligned build system. WDYT? |
PyPA disclaims "upstream-alignment" in general, especially after |
da8e705
to
9b41808
Compare
c03d1b0
to
f78715c
Compare
So I think the last thing to figure out is bumpversion... |
f78715c
to
dd4f6a5
Compare
All other package builds failed because of
we dropped that, it seems to be still in the package list |
working on those now, and also fixing the PKGBUILD |
btw, why was sphinx added to be a package dependency ? It's imho only a development dependency. That's also why didn't saw this before |
16bd5cf
to
033d063
Compare
It's required to build the man pages. |
ah so we render the man pages now at package build time. I think before we rendered them with the "make build" target and put them into the tarball. ok your way is better but we have new buildrequires now |
if we don't find a solution we can also render the man pages via rst2man
I do it that way in another project |
033d063
to
fdb39da
Compare
It's because it's |
ah ok, I will |
done, less unresolvables more errors :)
|
I'm out for today. I added you as admin to
|
8cdce34
to
8841907
Compare
Everything is now fixed up in https://build.opensuse.org/project/show/Virtualization:Appliances:Staging |
8841907
to
ad3cbb9
Compare
This allows kiwi to be built, developed, tested, and installed through Poetry. This also raises the minimum Python version to 3.9.
Thanks @Conan-Kudo, I went through a night session to fixup all integration tests due to the shift of some of them into newer distros. Ubuntu tests are based on Lunar now, Debian tests are based on Debian 12, Leap uses backports as the kiwi package there builds for py311. In a final change here I fixed the One issue is the publish to pypi and the publishing of the docs. This we will find out when I try the release, so maybe there will be a hiccup when we release |
This change added the build dependency Is kiwi not supposed to be tested during package builds anymore? |
pytest_container runs the kiwi integration tests in containers that cannot be run in OBS or koji. You can ignore this test dependency for the purpose of creating an RPM. |
I cannot ignore the dependency:
|
I guess we should make the dependency optional then. Wdyt @schaefi @Conan-Kudo? |
That basically means defining a new dependency group. Sure, fine with me. |
This allows kiwi to be built, developed, tested, and installed through Poetry.
Fixes #2370.
Fixes #2369.
Changes proposed in this pull request: