Skip to contentSkip to conversation

tvheadend: add dependency on udev based rootfs creation

PATCH New Dagg Stompler 3 participants 8 messages Dec 29, 2017 – Dec 30, 2017

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 tvheadend: add dependency on udev based rootfs creation

BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV is needed for tvheadend inorder for the program to see usb based DVB cards.

---
 package/tvheadend/Config.in | 1 +
 1 file changed, 1 insertion(+)
package/tvheadend/Config.in +1 -0
index 44a69a27ba..2a497b481d 100644
@@ -9,6 +9,7 @@ config BR2_PACKAGE_TVHEADEND
 	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
 	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
 	depends on BR2_TOOLCHAIN_HAS_SYNC_4
+	depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
 	select BR2_PACKAGE_DTV_SCAN_TABLES
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
 	select BR2_PACKAGE_OPENSSL
Signature · 1 line
2.15.1
#1 lore raw

PATCH 1/1 tvheadend: add dependency on udev based rootfs creation

Hello,

Quoted 13 lines · Dagg Stompler

BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV is needed for tvheadend inorder for the program to see usb based DVB cards.

---
 package/tvheadend/Config.in | 1 +
 1 file changed, 1 insertion(+)
package/tvheadend/Config.in +0 -0
index 44a69a27ba..2a497b481d 100644

package/tvheadend/Config.in config BR2_PACKAGE_TVHEADEND · line 12

Quoted 4 lines
package/tvheadend/Config.in +1 -0
@@ -9,6 +9,7 @@ config BR2_PACKAGE_TVHEADEND
 	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
 	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
 	depends on BR2_TOOLCHAIN_HAS_SYNC_4
+	depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV

You should use BR2_PACKAGE_HAS_UDEV instead. Indeed udev can be provided by either eudev or systemd.

This change will also require a change in the Config.in comment. See package/dt-utils/Config.in for an example.

Also, does tvheadend needs to link with libudev ? If so, it should have udev in its <pkg>_DEPENDENCIES. If it doesn't link with libudev, then I'm not sure to see how udev helps for tvheadend to detect USB DVB cards.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
author
#2 lore raw

PATCH 1/1 tvheadend: add dependency on udev based rootfs creation

Greetings Thomas,

Quoted 17 lines

Sent: Friday, December 29, 2017 at 3:40 PM
From: "Thomas Petazzoni" <[email protected]>
To: "Dagg Stompler" <[email protected]>
Cc: buildroot at buildroot.org
Subject: Re: [Buildroot] [PATCH] tvheadend: add dependency on udev based rootfs creation

Hello,

Quoted 8 lines · Dagg Stompler

BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV is needed for tvheadend inorder for the program to see usb based DVB cards.

---
 package/tvheadend/Config.in | 1 +
 1 file changed, 1 insertion(+)
Quoted 12 lines

package/tvheadend/Config.in config BR2_PACKAGE_TVHEADEND · line 12

Quoted 9 lines
package/tvheadend/Config.in +1 -0
index 44a69a27ba..2a497b481d 100644
@@ -9,6 +9,7 @@ config BR2_PACKAGE_TVHEADEND
 	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
 	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
 	depends on BR2_TOOLCHAIN_HAS_SYNC_4
+	depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV

You should use BR2_PACKAGE_HAS_UDEV instead. Indeed udev can be provided by either eudev or systemd.

does using BR2_PACKAGE_HAS_UDEV means rootfs dev creation will use udev?

Quoted 3 lines

This change will also require a change in the Config.in comment. See package/dt-utils/Config.in for an example.

will look into it.

Quoted 5 lines

Also, does tvheadend needs to link with libudev ? If so, it should have udev in its <pkg>_DEPENDENCIES. If it doesn't link with libudev, then I'm not sure to see how udev helps for tvheadend to detect USB DVB cards.

it doesn't, frankly I don't understand it too, I'm wrestling this for 3 weeks now, without udev, tvheadend didn't listed my adapter in the webui. on the desktop it did, after some thinking I've decided to try building udev and it worked.
maybe Bernd might have some ideas on the matter.

Dagg.

#3 lore raw

PATCH 1/1 tvheadend: add dependency on udev based rootfs creation

Hello,

Quoted 3 lines · daggs
Quoted 2 lines

You should use BR2_PACKAGE_HAS_UDEV instead. Indeed udev can be provided by either eudev or systemd.

does using BR2_PACKAGE_HAS_UDEV means rootfs dev creation will use udev?

config BR2_PACKAGE_EUDEV
bool "eudev"
depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV depends on BR2_USE_MMU # uses fork() depends on BR2_USE_WCHAR # needs C99 compiler depends on !BR2_STATIC_LIBS # kmod
select BR2_PACKAGE_HAS_UDEV

So for the eudev case, BR2_PACKAGE_HAS_UDEV is selected when eudev is enabled, and eudev can only be enabled when BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV is enabled.

For the systemd case:

menuconfig BR2_PACKAGE_SYSTEMD
bool "systemd"
depends on BR2_INIT_SYSTEMD
depends on !BR2_STATIC_LIBS # kmod depends on BR2_TOOLCHAIN_HAS_THREADS # dbus depends on BR2_USE_MMU # dbus select BR2_PACKAGE_HAS_UDEV

So BR2_PACKAGE_HAS_UDEV is selected when systemd is enabled, which is only possible when systemd is the init system.

Bottom line: as soon as systemd is the init system *or* eudev is used at the dev management method, you are guaranteed that BR2_PACKAGE_HAS_UDEV=y.

Quoted 7 lines
Quoted 4 lines

Also, does tvheadend needs to link with libudev ? If so, it should have udev in its <pkg>_DEPENDENCIES. If it doesn't link with libudev, then I'm not sure to see how udev helps for tvheadend to detect USB DVB cards.

it doesn't, frankly I don't understand it too, I'm wrestling this for 3 weeks now, without udev, tvheadend didn't listed my adapter in the webui. on the desktop it did, after some thinking I've decided to try building udev and it worked.
maybe Bernd might have some ideas on the matter.

This is a somewhat weak understanding of what's happening here. I think we need a better understanding of what's going on rather than more-or-less randomly adding a dependency.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
author
#4 lore raw

PATCH 1/1 tvheadend: add dependency on udev based rootfs creation

Greetings Thomas,

Quoted 36 lines

Sent: Friday, December 29, 2017 at 4:03 PM
From: "Thomas Petazzoni" <[email protected]>
To: daggs <[email protected]>
Cc: buildroot at buildroot.org, "Bernd Kuhls" <[email protected]>
Subject: Re: [Buildroot] [PATCH] tvheadend: add dependency on udev based rootfs creation

Hello,

Quoted 3 lines · daggs
Quoted 2 lines

You should use BR2_PACKAGE_HAS_UDEV instead. Indeed udev can be provided by either eudev or systemd.

does using BR2_PACKAGE_HAS_UDEV means rootfs dev creation will use udev?

config BR2_PACKAGE_EUDEV
bool "eudev"
depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV depends on BR2_USE_MMU # uses fork() depends on BR2_USE_WCHAR # needs C99 compiler depends on !BR2_STATIC_LIBS # kmod
select BR2_PACKAGE_HAS_UDEV

So for the eudev case, BR2_PACKAGE_HAS_UDEV is selected when eudev is enabled, and eudev can only be enabled when BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV is enabled.

For the systemd case:

menuconfig BR2_PACKAGE_SYSTEMD
bool "systemd"
depends on BR2_INIT_SYSTEMD
depends on !BR2_STATIC_LIBS # kmod depends on BR2_TOOLCHAIN_HAS_THREADS # dbus depends on BR2_USE_MMU # dbus select BR2_PACKAGE_HAS_UDEV

Quoted 6 lines

So BR2_PACKAGE_HAS_UDEV is selected when systemd is enabled, which is only possible when systemd is the init system.

Bottom line: as soon as systemd is the init system *or* eudev is used at the dev management method, you are guaranteed that BR2_PACKAGE_HAS_UDEV=y.

ok, I'll look into it.

Quoted 5 lines
Quoted 5 lines
Quoted 5 lines

Also, does tvheadend needs to link with libudev ? If so, it should have udev in its <pkg>_DEPENDENCIES. If it doesn't link with libudev, then I'm not sure to see how udev helps for tvheadend to detect USB DVB cards.

Quoted 7 lines
Quoted 3 lines

it doesn't, frankly I don't understand it too, I'm wrestling this for 3 weeks now, without udev, tvheadend didn't listed my adapter in the webui. on the desktop it did, after some thinking I've decided to try building udev and it worked.
maybe Bernd might have some ideas on the matter.

This is a somewhat weak understanding of what's happening here. I think we need a better understanding of what's going on rather than more-or-less randomly adding a dependency.

for that I need either time to look into the code or an answer from the devs, time I don't have unfortunately, devs aren't responding yet. I encountered the issue and was able to get it to work, I assume that others might have seen it and didn't had time to look into it. also as said, maybe Bernd knows what is the issue here and can propose a better fix.

Dagg.

author
#5 lore raw

PATCH 1/1 tvheadend: add dependency on udev based rootfs creation

Greetings Thomas,

Quoted 56 lines

Greetings Thomas,

Quoted 36 lines

Sent: Friday, December 29, 2017 at 4:03 PM
From: "Thomas Petazzoni" <[email protected]>
To: daggs <[email protected]>
Cc: buildroot at buildroot.org, "Bernd Kuhls" <[email protected]>
Subject: Re: [Buildroot] [PATCH] tvheadend: add dependency on udev based rootfs creation

Hello,

Quoted 3 lines · daggs
Quoted 2 lines

You should use BR2_PACKAGE_HAS_UDEV instead. Indeed udev can be provided by either eudev or systemd.

does using BR2_PACKAGE_HAS_UDEV means rootfs dev creation will use udev?

config BR2_PACKAGE_EUDEV
bool "eudev"
depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV depends on BR2_USE_MMU # uses fork() depends on BR2_USE_WCHAR # needs C99 compiler depends on !BR2_STATIC_LIBS # kmod
select BR2_PACKAGE_HAS_UDEV

So for the eudev case, BR2_PACKAGE_HAS_UDEV is selected when eudev is enabled, and eudev can only be enabled when BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV is enabled.

For the systemd case:

menuconfig BR2_PACKAGE_SYSTEMD
bool "systemd"
depends on BR2_INIT_SYSTEMD
depends on !BR2_STATIC_LIBS # kmod depends on BR2_TOOLCHAIN_HAS_THREADS # dbus depends on BR2_USE_MMU # dbus select BR2_PACKAGE_HAS_UDEV

Quoted 6 lines

So BR2_PACKAGE_HAS_UDEV is selected when systemd is enabled, which is only possible when systemd is the init system.

Bottom line: as soon as systemd is the init system *or* eudev is used at the dev management method, you are guaranteed that BR2_PACKAGE_HAS_UDEV=y.

ok, I'll look into it.

Quoted 9 lines
Quoted 8 lines
Quoted 5 lines

Also, does tvheadend needs to link with libudev ? If so, it should have udev in its <pkg>_DEPENDENCIES. If it doesn't link with libudev, then I'm not sure to see how udev helps for tvheadend to detect USB DVB cards.

it doesn't, frankly I don't understand it too, I'm wrestling this for 3 weeks now, without udev, tvheadend didn't listed my adapter in the webui. on the desktop it did, after some thinking I've decided to try building udev and it worked.
maybe Bernd might have some ideas on the matter.

Quoted 7 lines
Quoted 3 lines

This is a somewhat weak understanding of what's happening here. I think we need a better understanding of what's going on rather than more-or-less randomly adding a dependency.

for that I need either time to look into the code or an answer from the devs, time I don't have unfortunately, devs aren't responding yet. I encountered the issue and was able to get it to work, I assume that others might have seen it and didn't had time to look into it. also as said, maybe Bernd knows what is the issue here and can propose a better fix.

I did a quick search on the tvheadend repo for udev, one hit poped up: https://github.com/tvheadend/tvheadend/blob/master/debian/tvheadend.init
it seems that they do depend on udev when the boot system isn't systemd, am I correct?

Dagg.

#6 lore raw

PATCH 1/1 tvheadend: add dependency on udev based rootfs creation

In reply to Dagg Stompler

Dagg, All,

On 2017-12-29 15:06 +0200, Dagg Stompler spake thusly:

Quoted 2 lines

BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV is needed for tvheadend inorder for the program to see usb based DVB cards.

But is it required for other types of cards, like PCI ones?

And what about systems using mdev instead? I've had a system sithout udev at all, and tvheadend was working perfectly fine for me.

Basically, I don't think we want to add this dependency at all, because it is not required in my experience.

Regards,
Yann E. MORIN.

Quoted 24 lines
---
 package/tvheadend/Config.in | 1 +
 1 file changed, 1 insertion(+)
package/tvheadend/Config.in +1 -0
index 44a69a27ba..2a497b481d 100644
@@ -9,6 +9,7 @@ config BR2_PACKAGE_TVHEADEND
 	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
 	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
 	depends on BR2_TOOLCHAIN_HAS_SYNC_4
+	depends on BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
 	select BR2_PACKAGE_DTV_SCAN_TABLES
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
 	select BR2_PACKAGE_OPENSSL
Signature · 6 lines
2.15.1

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
author
#7 lore raw

PATCH 1/1 tvheadend: add dependency on udev based rootfs creation

Greetings Yann.

Quoted 6 lines

Sent: Friday, December 29, 2017 at 3:55 PM
From: "Yann E. MORIN" <[email protected]>
To: "Dagg Stompler" <[email protected]>
Cc: buildroot at buildroot.org
Subject: Re: [Buildroot] [PATCH] tvheadend: add dependency on udev based rootfs creation

Quoted 7 lines

Dagg, All,

On 2017-12-29 15:06 +0200, Dagg Stompler spake thusly:

Quoted 2 lines

BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV is needed for tvheadend inorder for the program to see usb based DVB cards.

But is it required for other types of cards, like PCI ones?

I don't know, I have an usb adapter on hand, not pci one.

Quoted 3 lines

And what about systems using mdev instead? I've had a system sithout udev at all, and tvheadend was working perfectly fine for me.

tried mdev, didn't worked.

Quoted 3 lines

Basically, I don't think we want to add this dependency at all, because it is not required in my experience.

without that feature, I'm unable to use tvheadend, maybe it is needed only for usb adapters.
maybe it is a new feature, also, I won't be surprised if it is needed but not checked if the devs take into account that all distros use some from of udev. I've asked at the tvheadend irc channel but no answer yet.

Dagg.