Patchwork udev: Remove deprecated binaries from packaging

login
register
mail settings
Submitter Marko Kati?
Date Nov. 16, 2012, 8:11 p.m.
Message ID <1353096699-19130-1-git-send-email-dromede@gmail.com>
Download mbox | patch
Permalink /patch/39185/
State New
Headers show

Comments

Marko Kati? - Nov. 16, 2012, 8:11 p.m.
From: Marko Katic <dromede.gmail.com>

udev provides a udev-utils package that once provided utility binaries
such as udevadm, udevtest and udevinfo. udevtest and udevinfo are
deprecated and their functions are now handled by udevadm.

https://bugzilla.redhat.com/show_bug.cgi?id=597539

remove udevinfo and udevtest from the udev-utils package.

Signed-off-by: Marko Katic <dromede.gmail.com>
---
 meta/recipes-core/udev/udev.inc |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Martin Jansa - Nov. 16, 2012, 9:36 p.m.
On Fri, Nov 16, 2012 at 09:11:39PM +0100, dromede@gmail.com wrote:
> From: Marko Katic <dromede.gmail.com>
> 
> udev provides a udev-utils package that once provided utility binaries
> such as udevadm, udevtest and udevinfo. udevtest and udevinfo are
> deprecated and their functions are now handled by udevadm.
> 
> https://bugzilla.redhat.com/show_bug.cgi?id=597539
> 
> remove udevinfo and udevtest from the udev-utils package.

Are they still built? If yes then there should be warning about
unpackaged files (you would need to delete them in do_install) or they
are picked by some other package (PN probably).

Cheers,

> 
> Signed-off-by: Marko Katic <dromede.gmail.com>
> ---
>  meta/recipes-core/udev/udev.inc |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-core/udev/udev.inc b/meta/recipes-core/udev/udev.inc
> index 4705b9b..7133cc4 100644
> --- a/meta/recipes-core/udev/udev.inc
> +++ b/meta/recipes-core/udev/udev.inc
> @@ -74,7 +74,7 @@ FILES_udev-cache = "${sysconfdir}/init.d/udev-cache ${sysconfdir}/default/udev-c
>  
>  FILES_udev-acl = "${base_libdir}/udev/udev-acl ${base_libdir}/udev/rules.d/70-acl.rules"
>  
> -FILES_udev-utils = "${bindir}/udevinfo ${bindir}/udevtest ${base_sbindir}/udevadm"
> +FILES_udev-utils = "${bindir}/udevadm"
>  
>  RDEPENDS_udev-consolekit += "udev-acl"
>  FILES_udev-consolekit = "${libdir}/ConsoleKit"
> -- 
> 1.7.9.5
> 
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Martin Jansa - Nov. 16, 2012, 10:28 p.m.
On Fri, Nov 16, 2012 at 10:48:41PM +0100, Marko Kati? wrote:
> Udevtest and udevinfo are not being built because they no longer exist in
> udev 182 sources.

Ah, so this change is only cosmetic and does not change package output
(otherwise missing PR bump).

Cheers,

> On Nov 16, 2012 10:36 PM, "Martin Jansa" <martin.jansa@gmail.com> wrote:
> >
> > On Fri, Nov 16, 2012 at 09:11:39PM +0100, dromede@gmail.com wrote:
> > > From: Marko Katic <dromede.gmail.com>
> > >
> > > udev provides a udev-utils package that once provided utility binaries
> > > such as udevadm, udevtest and udevinfo. udevtest and udevinfo are
> > > deprecated and their functions are now handled by udevadm.
> > >
> > > https://bugzilla.redhat.com/show_bug.cgi?id=597539
> > >
> > > remove udevinfo and udevtest from the udev-utils package.
> >
> > Are they still built? If yes then there should be warning about
> > unpackaged files (you would need to delete them in do_install) or they
> > are picked by some other package (PN probably).
> >
> > Cheers,
> >
> > >
> > > Signed-off-by: Marko Katic <dromede.gmail.com>
> > > ---
> > >  meta/recipes-core/udev/udev.inc |    2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/meta/recipes-core/udev/udev.inc
> b/meta/recipes-core/udev/udev.inc
> > > index 4705b9b..7133cc4 100644
> > > --- a/meta/recipes-core/udev/udev.inc
> > > +++ b/meta/recipes-core/udev/udev.inc
> > > @@ -74,7 +74,7 @@ FILES_udev-cache = "${sysconfdir}/init.d/udev-cache
> ${sysconfdir}/default/udev-c
> > >
> > >  FILES_udev-acl = "${base_libdir}/udev/udev-acl
> ${base_libdir}/udev/rules.d/70-acl.rules"
> > >
> > > -FILES_udev-utils = "${bindir}/udevinfo ${bindir}/udevtest
> ${base_sbindir}/udevadm"
> > > +FILES_udev-utils = "${bindir}/udevadm"
> > >
> > >  RDEPENDS_udev-consolekit += "udev-acl"
> > >  FILES_udev-consolekit = "${libdir}/ConsoleKit"
> > > --
> > > 1.7.9.5
> > >
> > >
> > > _______________________________________________
> > > Openembedded-core mailing list
> > > Openembedded-core@lists.openembedded.org
> > > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
> >
> > --
> > Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com
Chris Larson - Nov. 16, 2012, 11:28 p.m.
On Fri, Nov 16, 2012 at 3:28 PM, Martin Jansa <martin.jansa@gmail.com>wrote:

> On Fri, Nov 16, 2012 at 10:48:41PM +0100, Marko Kati? wrote:
> > Udevtest and udevinfo are not being built because they no longer exist in
> > udev 182 sources.
>
> Ah, so this change is only cosmetic and does not change package output
> (otherwise missing PR bump).
>


Changing udev.inc like this when you're specifically addressing one version
is cause for concern.

Exactly which udev version deprecated the utilities? oe-core might not have
many udev versions around, but other layers still do, for machines running
older kernels.
Marko Kati? - Nov. 17, 2012, 6:02 p.m.
i definitely should have written a much more elaborate commit message,
sorry about that.

The patch is definitely not cosmetic. This patch also deals with the changed
installation path of udevadm. Older versions of udev installed udevadm in /sbin.
Recent versions of udev install udevadm into /usr/bin. This means that the
udev-utils package will be empty because:

a) udevinfo and udevtest no longer exist
b) udevadm is no longer installed in base_sbindir, so it will end up
in the main udev package.

Therefore, udev-utils package will not be made at all. This breaks
do_rootfs stage since udev.inc RRECOMMENDS udev-utils.

Also, the initscript that comes with udev 182 calls udevadm via
it's absolute path - /usr/bin/udevadm. Initscripts in older versions
of udev expect udevadm in /sbin/.

I don't know exactly which version of udev deprecated udevinfo and
udevtest. There is no mention of it
in udev 182 changelog and i couldn't find a git commit that made this
change. The entire udev 182 source
tree only mentions udevinfo and udevtest in the changelog and the NEWS file.

Chris, you raise a valid point concerning older udev versions. If the
general concensus is that udev.inc in
OE-Core should support older and newer versions of udev, then my patch
is clearly not a proper solution.

A proper solution might be to:

a) Leave udevtest and udevinfo in udev-utils to properly support older
versions of udev that have these packages.
b) Move udevadm into the main udev package. This makes a lot of sense
since udevadm is crucial for proper udev operation.
c) Remove udev-utils from RRECOMMENDS.

Or we could just add ALLOW_EMPTY to udev.inc. A messy but simple solution.
Otavio Salvador - Nov. 17, 2012, 6:20 p.m.
On Fri, Nov 16, 2012 at 6:11 PM, <dromede@gmail.com> wrote:

> From: Marko Katic <dromede.gmail.com>
>
> udev provides a udev-utils package that once provided utility binaries
> such as udevadm, udevtest and udevinfo. udevtest and udevinfo are
> deprecated and their functions are now handled by udevadm.
>
> https://bugzilla.redhat.com/show_bug.cgi?id=597539
>
> remove udevinfo and udevtest from the udev-utils package.
>
> Signed-off-by: Marko Katic <dromede.gmail.com>
>

Please rm them in do_install_append so if they ever are not build anymore
we'll get a build-error and can handle it.
Chris Larson - Nov. 17, 2012, 6:38 p.m.
On Sat, Nov 17, 2012 at 11:02 AM, Marko Kati? <dromede@gmail.com> wrote:

> A proper solution might be to:
>
> a) Leave udevtest and udevinfo in udev-utils to properly support older
> versions of udev that have these packages.
> b) Move udevadm into the main udev package. This makes a lot of sense
> since udevadm is crucial for proper udev operation.
> c) Remove udev-utils from RRECOMMENDS.
>

This sounds like a clean, solid route to me. Hopefully someone else will
chime in with input on it as well.
Otavio Salvador - Nov. 17, 2012, 6:54 p.m.
On Sat, Nov 17, 2012 at 4:38 PM, Chris Larson <clarson@kergoth.com> wrote:

> On Sat, Nov 17, 2012 at 11:02 AM, Marko Kati? <dromede@gmail.com> wrote:
>
>> A proper solution might be to:
>>
>> a) Leave udevtest and udevinfo in udev-utils to properly support older
>> versions of udev that have these packages.
>> b) Move udevadm into the main udev package. This makes a lot of sense
>> since udevadm is crucial for proper udev operation.
>> c) Remove udev-utils from RRECOMMENDS.
>>
>
> This sounds like a clean, solid route to me. Hopefully someone else will
> chime in with input on it as well.
>

I see no value in having the others and deprecated tools available. Having
udevadm available in udev-utils allows for it use with mdev for trigger the
events in kernel, for example. I like to have this possibility.
Marko Kati? - Nov. 20, 2012, 7:59 p.m.
On Sat, Nov 17, 2012 at 7:54 PM, Otavio Salvador
<otavio@ossystems.com.br> wrote:
>
>
> On Sat, Nov 17, 2012 at 4:38 PM, Chris Larson <clarson@kergoth.com> wrote:
>>
>> On Sat, Nov 17, 2012 at 11:02 AM, Marko Kati? <dromede@gmail.com> wrote:
>>>
>>> A proper solution might be to:
>>>
>>> a) Leave udevtest and udevinfo in udev-utils to properly support older
>>> versions of udev that have these packages.
>>> b) Move udevadm into the main udev package. This makes a lot of sense
>>> since udevadm is crucial for proper udev operation.
>>> c) Remove udev-utils from RRECOMMENDS.
>>
>>
>> This sounds like a clean, solid route to me. Hopefully someone else will
>> chime in with input on it as well.
>
>
> I see no value in having the others and deprecated tools available. Having
> udevadm available in udev-utils allows for it use with mdev for trigger the
> events in kernel, for example. I like to have this possibility.
>
> --
> Otavio Salvador                             O.S. Systems
> E-mail: otavio@ossystems.com.br  http://www.ossystems.com.br
> Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br
>

Ok, so udevadm should stay in udev-utils. In that case i propose we:

a) Add ${bindir}/udevadm and ${base_sbindir}/udevadm to
FILES_udev-utils. This should
ensure that udevadm will always go in udev-utils regardless of the
udev version being built.
This should also ensure that udev-utils package will always be made.

b) Make udevadm available in both ${bindir} and ${base_sbindir} via
symlinks installed in
do_install_append. This should ensure proper support for all versions of udev.
Otavio Salvador - Nov. 20, 2012, 8:23 p.m.
On Tue, Nov 20, 2012 at 5:59 PM, Marko Kati? <dromede@gmail.com> wrote:
> On Sat, Nov 17, 2012 at 7:54 PM, Otavio Salvador
> <otavio@ossystems.com.br> wrote:
>>
>>
>> On Sat, Nov 17, 2012 at 4:38 PM, Chris Larson <clarson@kergoth.com> wrote:
>>>
>>> On Sat, Nov 17, 2012 at 11:02 AM, Marko Kati? <dromede@gmail.com> wrote:
>>>>
>>>> A proper solution might be to:
>>>>
>>>> a) Leave udevtest and udevinfo in udev-utils to properly support older
>>>> versions of udev that have these packages.
>>>> b) Move udevadm into the main udev package. This makes a lot of sense
>>>> since udevadm is crucial for proper udev operation.
>>>> c) Remove udev-utils from RRECOMMENDS.
>>>
>>>
>>> This sounds like a clean, solid route to me. Hopefully someone else will
>>> chime in with input on it as well.
>>
>>
>> I see no value in having the others and deprecated tools available. Having
>> udevadm available in udev-utils allows for it use with mdev for trigger the
>> events in kernel, for example. I like to have this possibility.
>>
>> --
>> Otavio Salvador                             O.S. Systems
>> E-mail: otavio@ossystems.com.br  http://www.ossystems.com.br
>> Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br
>>
>
> Ok, so udevadm should stay in udev-utils. In that case i propose we:
>
> a) Add ${bindir}/udevadm and ${base_sbindir}/udevadm to
> FILES_udev-utils. This should
> ensure that udevadm will always go in udev-utils regardless of the
> udev version being built.
> This should also ensure that udev-utils package will always be made.
>
> b) Make udevadm available in both ${bindir} and ${base_sbindir} via
> symlinks installed in
> do_install_append. This should ensure proper support for all versions of udev.

I like your plan.

+1

Patch

diff --git a/meta/recipes-core/udev/udev.inc b/meta/recipes-core/udev/udev.inc
index 4705b9b..7133cc4 100644
--- a/meta/recipes-core/udev/udev.inc
+++ b/meta/recipes-core/udev/udev.inc
@@ -74,7 +74,7 @@  FILES_udev-cache = "${sysconfdir}/init.d/udev-cache ${sysconfdir}/default/udev-c
 
 FILES_udev-acl = "${base_libdir}/udev/udev-acl ${base_libdir}/udev/rules.d/70-acl.rules"
 
-FILES_udev-utils = "${bindir}/udevinfo ${bindir}/udevtest ${base_sbindir}/udevadm"
+FILES_udev-utils = "${bindir}/udevadm"
 
 RDEPENDS_udev-consolekit += "udev-acl"
 FILES_udev-consolekit = "${libdir}/ConsoleKit"