Skip to content

Conversation

intelligide
Copy link
Contributor

@intelligide intelligide commented Aug 8, 2020

Specify library name and version: systemd/system

  • I've read the guidelines for contributing.
  • I've followed the PEP8 style guides for Python code in the recipes.
  • I've used the latest Conan client version.
  • I've tried at least one configuration locally with the
    conan-center hook activated.

@conan-center-bot
Copy link
Contributor

Some configurations of 'libudev/system' failed in build 1 (5de1674425c90033eacb2cbd41cdc15afe0ca0e1):

@intelligide intelligide marked this pull request as draft August 8, 2020 23:11
@conan-center-bot
Copy link
Contributor

All green in build 2 (ba43f57358ffc43aed6777c54230bba3d1723bb7)! 😊

@intelligide intelligide marked this pull request as ready for review August 8, 2020 23:28
@intelligide intelligide mentioned this pull request Aug 8, 2020
4 tasks
@conan-center-bot
Copy link
Contributor

All green in build 3 (ca46158448516bb6ca62a1053ff1af7a8d89769d)! 😊

@Croydon
Copy link
Contributor

Croydon commented Aug 9, 2020

Since udev got merged into systemd directly and on some distros we need to install the systemd package to get udev... is libudev/system still the best name?

SSE4
SSE4 previously approved these changes Aug 9, 2020
@SSE4 SSE4 requested review from jgsogo and uilianries August 9, 2020 10:12
@jgsogo
Copy link
Contributor

jgsogo commented Aug 10, 2020

Since udev got merged into systemd directly and on some distros we need to install the systemd package to get udev... is libudev/system still the best name?

@Croydon , Thinking from the consumer POV, do you think it would be better..?

self.requires("systemd/system")

---

find_package(systemd)
target_link_libraries(mylibrary PUBLIC systemd::libudev)

than

self.requires("libudev/sysstem")
---
find_package(libudev)
target_link_libraries(mylibrary PUBLIC libudev::libudev)

@Croydon
Copy link
Contributor

Croydon commented Aug 13, 2020

A quick random search on the web shows that some projects have created custom FindUDev.cmake files in the meantime. This probably rather supports having libudev as a separate package

However, this might originate from the time before the merge into systemd and could be seen as legacy.

Another point to consider: we might want/need more systemd libs in the future. Do we create one system package for each of them or one systemd package with different targets?

@jgsogo
Copy link
Contributor

jgsogo commented Aug 14, 2020

cc/ @SSE4 and @czoido

We agree that thanks to components we can get any desired granularity when consuming these _system _ libraries, but I would say that the same granularity is desired when installing the actual system packages that provide these libraries. I mean, if we add a lot of them to the same systemd/system package then all of them will be installed when we just want to consume one of them (of course we could use options to choose which ones to install, but then we will get conflicts downstream for overlapping graphs). This is my argument to vote for different references, but I haven't think too much or read about this specific topic.

@jgsogo jgsogo requested a review from czoido August 14, 2020 09:19
Co-authored-by: Uilian Ries <uilianries@gmail.com>
@conan-center-bot
Copy link
Contributor

All green in build 4 (20cab58511280f80717f383956f678f30147a5e3)! 😊

@uilianries uilianries self-requested a review September 8, 2020 14:12
Co-authored-by: Uilian Ries <uilianries@gmail.com>
Copy link
Member

@uilianries uilianries left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@uilianries
Copy link
Member

Let's push this one, there is a PR requesting libudev and libusb can be updated too.

@conan-center-bot
Copy link
Contributor

All green in build 5 (0221efb86e50c56855fd986daa6bc026caa89d37)! 😊

@intelligide
Copy link
Contributor Author

I did it.

@conan-center-bot
Copy link
Contributor

Some configurations of 'systemd/system' failed in build 6 (9e490190c5b7dde8255071195ac3276d1e181aef):

Co-authored-by: Uilian Ries <uilianries@gmail.com>
@conan-center-bot
Copy link
Contributor

Some configurations of 'systemd/system' failed in build 7 (5ec6c1172a6bdd0e6b520e0815b54a2ba8c421f2):

@Croydon
Copy link
Contributor

Croydon commented Nov 11, 2020

Ubuntu Trusty does not have a systemd-dev package, only a systemd package:

https://pkgs.org/search/?q=systemd
https://ubuntu.pkgs.org/14.04/ubuntu-updates-main-amd64/systemd_204-5ubuntu20.31_amd64.deb.html

I'm not sure which Ubuntu versions changed that, if we could find that out that would be good.

If not, 16.04 Xenial has it for sure. So let's make a switch for <= 16.04 to install systemd instead of systemd-dev

@ericLemanissier
Copy link
Contributor

Sorry if someone already brought this out, but doesn't this recipe collide with #3556 ?

Anyway, while checking some other pr for system packages, I noticed that this one fails on these distros:

@ericLemanissier
Copy link
Contributor

@intelligide now that #3556 is merged, do we still need this one ? if yes, we probably want to rename it libsystemd/system

@uilianries
Copy link
Member

Yes! We need libudev. #3556 is only about libsystemd, here all libs under systemd are incorporated.

uilianries
uilianries previously approved these changes Dec 3, 2020
@uilianries uilianries self-requested a review December 3, 2020 19:44
Co-authored-by: ericLemanissier <ericLemanissier@users.noreply.github.com>
@conan-center-bot
Copy link
Contributor

Some configurations of 'systemd/system' failed in build 8 (bdd8d86d87366682d503dc7f329080fea0d376ee):

if tools.os_info.with_yum or tools.os_info.with_dnf:
packages = ["systemd", "systemd-libs", "libudev-devel"]
elif tools.os_info.with_apt:
packages = ["libsystemd-dev", "libudev-dev", "systemd"]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
packages = ["libsystemd-dev", "libudev-dev", "systemd"]
packages = ["libudev-dev", "systemd"]
if not (tools.os_info.linux_distro == "ubuntu" and tools.os_info.os_version < "15"):
packages.append("libsystemd-dev")

fix ubuntu trusty, which does not have libsystemd-dev

self.info.header_only()

def package_info(self):
self._fill_cppinfo_from_pkgconfig("systemd", "libsystemd")
Copy link
Contributor

@ericLemanissier ericLemanissier Dec 3, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
self._fill_cppinfo_from_pkgconfig("systemd", "libsystemd")
if not (tools.os_info.linux_distro == "ubuntu" and tools.os_info.os_version < "15"):
self._fill_cppinfo_from_pkgconfig("libsystemd", "libsystemd")

systemd.pc contains only variables. do we really want systemd.pc or libsystemd.pc ?
also, ubuntu trusty has no package providing libsystemd.pc nor libsystemd.so. The alternative would be to raise a ConanInvalidConfiguration on this distro.

@Croydon
Copy link
Contributor

Croydon commented Dec 4, 2020

Also as I expressed my concerns here #3556 (comment) & here #3556 (comment) - isn't there a huge chance that this might lead to conflicts? How API and ABI stable is libsystemd?

I think for other CCI recipes we should only rely on systemd/system

@uilianries
Copy link
Member

If we want to avoid conflicts, we can use provides feature.

@Croydon
Copy link
Contributor

Croydon commented Dec 4, 2020

I didn't mean conflicts between Conan packages. I mean a conflict between the Conan package libsystemd/<version> and a system wide installed libsystemd/systemd, hence I believe we should only use systemd/system as a dependency in other Conan packages, NOT libsystemd/<version>

This was referenced Dec 15, 2020
@stale
Copy link

stale bot commented Jan 3, 2021

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Jan 3, 2021
@stale
Copy link

stale bot commented Feb 2, 2021

This pull request has been automatically closed because it has not had recent activity. Thank you for your contributions.

@stale stale bot closed this Feb 2, 2021
@Croydon Croydon mentioned this pull request Oct 9, 2021
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants