diff mbox

[PATCHv2,1/2] udisks: bump to version 1.0.5

Message ID 1441188349-13079-1-git-send-email-Vincent.Riera@imgtec.com
State Superseded
Headers show

Commit Message

Vicente Olivert Riera Sept. 2, 2015, 10:05 a.m. UTC
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(-)

Comments

Baruch Siach Sept. 2, 2015, 10:10 a.m. UTC | #1
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
Thomas Petazzoni Sept. 2, 2015, 10:14 a.m. UTC | #2
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
Vicente Olivert Riera Sept. 2, 2015, 10:14 a.m. UTC | #3
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
>
Baruch Siach Sept. 2, 2015, 10:21 a.m. UTC | #4
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
Vicente Olivert Riera Sept. 2, 2015, 10:25 a.m. UTC | #5
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
>
Baruch Siach Sept. 2, 2015, 10:27 a.m. UTC | #6
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
Vicente Olivert Riera Sept. 2, 2015, 10:29 a.m. UTC | #7
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 mbox

Patch

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