Skip to content
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

name conflicts with systemd's own python bindings; how to package? #4

Closed
tkluck opened this issue Aug 29, 2017 · 6 comments
Closed

Comments

@tkluck
Copy link

tkluck commented Aug 29, 2017

Thanks for these excellent bindings; they are certainly much more pythonic than the ones that systemd ships.

I'm trying to package this library as I have my own software depending on it. This is quite hard, because at least in debian, import systemd is already taken by the official bindings.

In general, the naming conventions have become a bit unfortunate:

place official systemd mosquito
github python-systemd python-systemd
pypi systemd-python systemd
debian python{,3}-systemd ?
import statement import systemd import systemd

What's your preferred way of handling this? A possible suggestion would be to rename to pysystemd, but I'm just thinking out loud here.

tkluck added a commit to tkluck/pac4cli that referenced this issue Aug 29, 2017
As it turns out, the 'official' systemd-python binding have a Logger
object as well. We can support both. (This may be a recent addition, as
I don't recall seeing this before.)

Since I'm having some packaging tribulations with the non-official
systemd-python package (see [1]), I'll opt for this solution for now.

[1]: mosquito/cysystemd#4
@mosquito
Copy link
Owner

You are absolutelly right, actually I don't know what can I do with this collisions. Some my projects already require it as systemd.

My own solution: Making RPM package which contains a virtualenv with all dependencies.

And the second one solution: You could build package with different name (e.g. cython-systemd) and add Conflicts section for this (which contains python{,3}-systemd).

I hope this options would helps you.

@tkluck
Copy link
Author

tkluck commented Aug 29, 2017

Thanks for your thoughts @mosquito ! Hmmm, if you already depend on it for many projects, a rename is not really going to work. That does mean that it can't be officially packaged for debian/ubuntu , because they probably wouldn't accept a virtualenv-based solution. Is that an issue for you?

For my own project, I'm going to go with this solution here: tkluck/pac4cli@dc5d7a8 . It's a bit silly, but it does allow both a pip (yours) and a debian (official systemd) based installation.

kdehairy pushed a commit to tkluck/pac4cli that referenced this issue Sep 13, 2017
As it turns out, the 'official' systemd-python binding have a Logger
object as well. We can support both. (This may be a recent addition, as
I don't recall seeing this before.)

Since I'm having some packaging tribulations with the non-official
systemd-python package (see [1]), I'll opt for this solution for now.

[1]: mosquito/cysystemd#4
@kiltum
Copy link

kiltum commented Dec 4, 2017

Actually it now broke ansbile ;)

ansible/ansible#33523

@mosquito
Copy link
Owner

mosquito commented Dec 4, 2017

This is an issue for "ansible" team. Distutils has internal requirements validation. systemd and python-systemd is a different packages.

@kiltum
Copy link

kiltum commented Dec 4, 2017

Yes, so i filed bug. But i know that you use ansible, so be warned ;)

@mosquito
Copy link
Owner

mosquito commented Sep 6, 2018

Package has been renamed as cysystemd

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants