Message ID | 1441188349-13079-1-git-send-email-Vincent.Riera@imgtec.com |
---|---|
State | Superseded |
Headers | show |
Hi Vincent, On Wed, Sep 02, 2015 at 11:05:48AM +0100, Vicente Olivert Riera wrote: > +ifeq ($(BR2_PACKAGE_SYSTEMD),y) > +UDISKS_CONF_OPTS += libgudev > +endif So libgudev is not even an optional dependency when there is no systemd? In any case, a comment explaining this unusual dependency would be nice. baruch
Hello, On Wed, 2 Sep 2015 13:10:34 +0300, Baruch Siach wrote: > Hi Vincent, > > On Wed, Sep 02, 2015 at 11:05:48AM +0100, Vicente Olivert Riera wrote: > > +ifeq ($(BR2_PACKAGE_SYSTEMD),y) > > +UDISKS_CONF_OPTS += libgudev > > +endif > > So libgudev is not even an optional dependency when there is no systemd? No. libgudev used to be provided by udev. Then udev was merged in systemd. Then libgudev was taken out of systemd, and made a separate project. So: * If you're using systemd as the udev provider, and you need libgudev, then you must use the libgudev package. * If you're using eudev as the udev provider, and you need libgudev, you have nothing to do, because libgudev is still provided by eudev (it hasn't been removed of it, like it was done in systemd). So, libgudev is used in both cases (systemd or not), but it's simply either provided by the libgudev package (systemd case) or by the udev implementation itself (eudev case). Best regards, Thomas
Dear Baruch Siach, On 09/02/2015 11:10 AM, Baruch Siach wrote: > Hi Vincent, > > On Wed, Sep 02, 2015 at 11:05:48AM +0100, Vicente Olivert Riera wrote: >> +ifeq ($(BR2_PACKAGE_SYSTEMD),y) >> +UDISKS_CONF_OPTS += libgudev >> +endif > > So libgudev is not even an optional dependency when there is no systemd? Well, it wasn't there before, so... Anyway, the default is not to add every optional dependency in the .mk, and let the users who really need them to send a patch to do it. > In any case, a comment explaining this unusual dependency would be nice. Well, I have copied the output of the error you will face if you don't depend on libgudev when using systemd. Do you think it's also necessary in the Config.in and udisks.mk file as well? I don't mind doing it if you think it is. Regards, Vincent. > > baruch >
Hi Thomas, On Wed, Sep 02, 2015 at 12:14:29PM +0200, Thomas Petazzoni wrote: > On Wed, 2 Sep 2015 13:10:34 +0300, Baruch Siach wrote: > > On Wed, Sep 02, 2015 at 11:05:48AM +0100, Vicente Olivert Riera wrote: > > > +ifeq ($(BR2_PACKAGE_SYSTEMD),y) > > > +UDISKS_CONF_OPTS += libgudev > > > +endif > > > > So libgudev is not even an optional dependency when there is no systemd? > > No. > > libgudev used to be provided by udev. Then udev was merged in systemd. > Then libgudev was taken out of systemd, and made a separate project. > > So: > > * If you're using systemd as the udev provider, and you need libgudev, > then you must use the libgudev package. > > * If you're using eudev as the udev provider, and you need libgudev, > you have nothing to do, because libgudev is still provided by eudev > (it hasn't been removed of it, like it was done in systemd). I assume that eudev provided libgudev lives at some other place than standalone libgudev. Otherwise, one would overwrite the other. > So, libgudev is used in both cases (systemd or not), but it's simply > either provided by the libgudev package (systemd case) or by the udev > implementation itself (eudev case). Thanks for the detailed explanation. baruch
Dear Baruch Siach, On 09/02/2015 11:21 AM, Baruch Siach wrote: > Hi Thomas, > > On Wed, Sep 02, 2015 at 12:14:29PM +0200, Thomas Petazzoni wrote: >> On Wed, 2 Sep 2015 13:10:34 +0300, Baruch Siach wrote: >>> On Wed, Sep 02, 2015 at 11:05:48AM +0100, Vicente Olivert Riera wrote: >>>> +ifeq ($(BR2_PACKAGE_SYSTEMD),y) >>>> +UDISKS_CONF_OPTS += libgudev >>>> +endif >>> >>> So libgudev is not even an optional dependency when there is no systemd? >> >> No. >> >> libgudev used to be provided by udev. Then udev was merged in systemd. >> Then libgudev was taken out of systemd, and made a separate project. >> >> So: >> >> * If you're using systemd as the udev provider, and you need libgudev, >> then you must use the libgudev package. >> >> * If you're using eudev as the udev provider, and you need libgudev, >> you have nothing to do, because libgudev is still provided by eudev >> (it hasn't been removed of it, like it was done in systemd). > > I assume that eudev provided libgudev lives at some other place than > standalone libgudev. Otherwise, one would overwrite the other. > >> So, libgudev is used in both cases (systemd or not), but it's simply >> either provided by the libgudev package (systemd case) or by the udev >> implementation itself (eudev case). libgudev package depends on systemd, and there is no option to select systemd and eudev at the same time, since when you select systemd, Buildroot doesn't allow you to select any /dev management, and shows you this message instead: "*** /dev management using udev (from systemd) ***" > Thanks for the detailed explanation. Indeed, very good explanation. Thanks Thomas. Regards, Vincent. > baruch >
Hi Vincent, On Wed, Sep 02, 2015 at 11:14:59AM +0100, Vicente Olivert Riera wrote: > On 09/02/2015 11:10 AM, Baruch Siach wrote: > > On Wed, Sep 02, 2015 at 11:05:48AM +0100, Vicente Olivert Riera wrote: > >> +ifeq ($(BR2_PACKAGE_SYSTEMD),y) > >> +UDISKS_CONF_OPTS += libgudev > >> +endif > > > > So libgudev is not even an optional dependency when there is no systemd? > > Well, it wasn't there before, so... Anyway, the default is not to add > every optional dependency in the .mk, and let the users who really need > them to send a patch to do it. As I understand libgudev is not an optional dependency. But in principal we do want to list all known optional dependencies in .mk files, to make the build reproducible as much as possible. > > In any case, a comment explaining this unusual dependency would be nice. > > Well, I have copied the output of the error you will face if you don't > depend on libgudev when using systemd. Do you think it's also necessary > in the Config.in and udisks.mk file as well? I don't mind doing it if > you think it is. As Thomas explained the dependency situation here is far from obvious. I think that a detailed comment in udisks.mk would suffice. baruch
Dear Baruch Siach, On 09/02/2015 11:27 AM, Baruch Siach wrote: > Hi Vincent, > > On Wed, Sep 02, 2015 at 11:14:59AM +0100, Vicente Olivert Riera wrote: >> On 09/02/2015 11:10 AM, Baruch Siach wrote: >>> On Wed, Sep 02, 2015 at 11:05:48AM +0100, Vicente Olivert Riera wrote: >>>> +ifeq ($(BR2_PACKAGE_SYSTEMD),y) >>>> +UDISKS_CONF_OPTS += libgudev >>>> +endif >>> >>> So libgudev is not even an optional dependency when there is no systemd? >> >> Well, it wasn't there before, so... Anyway, the default is not to add >> every optional dependency in the .mk, and let the users who really need >> them to send a patch to do it. > > As I understand libgudev is not an optional dependency. But in principal we do > want to list all known optional dependencies in .mk files, to make the build > reproducible as much as possible. > >>> In any case, a comment explaining this unusual dependency would be nice. >> >> Well, I have copied the output of the error you will face if you don't >> depend on libgudev when using systemd. Do you think it's also necessary >> in the Config.in and udisks.mk file as well? I don't mind doing it if >> you think it is. > > As Thomas explained the dependency situation here is far from obvious. I think > that a detailed comment in udisks.mk would suffice. No problem, I will send a v3 with the comment. Regards, Vincent. > baruch >
diff --git a/package/udisks/Config.in b/package/udisks/Config.in index a5da2bf..fba1793 100644 --- a/package/udisks/Config.in +++ b/package/udisks/Config.in @@ -12,6 +12,7 @@ config BR2_PACKAGE_UDISKS select BR2_PACKAGE_PARTED select BR2_PACKAGE_LVM2 select BR2_PACKAGE_LIBATASMART + select BR2_PACKAGE_LIBGUDEV if BR2_PACKAGE_SYSTEMD help The udisks project provides diff --git a/package/udisks/udisks.hash b/package/udisks/udisks.hash index 5debfd5..7ad4326 100644 --- a/package/udisks/udisks.hash +++ b/package/udisks/udisks.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 854b89368733b9c3a577101b761ad5397ae75a05110c8698ac5b29de9a8bf8f5 udisks-1.0.4.tar.gz +sha256 f2ec82eb0ea7e01dc299b5b29b3c18cdf861236ec43dcff66b3552b4b31c6f71 udisks-1.0.5.tar.gz diff --git a/package/udisks/udisks.mk b/package/udisks/udisks.mk index 7a24106..957823c 100644 --- a/package/udisks/udisks.mk +++ b/package/udisks/udisks.mk @@ -4,7 +4,7 @@ # ################################################################################ -UDISKS_VERSION = 1.0.4 +UDISKS_VERSION = 1.0.5 UDISKS_SITE = http://hal.freedesktop.org/releases UDISKS_LICENSE = GPLv2+ UDISKS_LICENSE_FILES = COPYING @@ -22,6 +22,10 @@ UDISKS_DEPENDENCIES = \ UDISKS_CONF_OPTS = --disable-remote-access --disable-man-pages +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +UDISKS_CONF_OPTS += libgudev +endif + ifeq ($(BR2_PACKAGE_UDISKS_LVM2),y) UDISKS_CONF_OPTS += --enable-lvm2 endif
This version depends on libgudev when using systemd, otherwise it fails with an error like this one: checking for GUDEV... no configure: error: Package requirements (gudev-1.0 >= 147) were not met: Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> --- Changes v1 -> v2: depend on libgudev only when using systemd package/udisks/Config.in | 1 + package/udisks/udisks.hash | 2 +- package/udisks/udisks.mk | 6 +++++- 3 files changed, 7 insertions(+), 2 deletions(-)