Skip to contentSkip to conversation

package/eudev: support openrc init

PATCH New unixmania at gmail.com 2 participants 6 messages Feb 27, 2020

lore
Share & tools
lore
#0 lore raw

cover package/eudev: support openrc init

From: Carlos Santos <[email protected]>

- Add udev-gentoo-scripts, which contains the required scripts
- Select udev-gentoo-scripts and avoid installing the sysv init script when the init system is openrc.

Carlos Santos (2):
udev-gentoo-scripts: new packages
package/eudev: support openrc init

 DEVELOPERS                                    |  1 +
 package/Config.in                             |  1 +
 package/eudev/Config.in                       |  1 +
 package/eudev/eudev.mk                        |  4 ++++
 package/udev-gentoo-scripts/Config.in         |  6 +++++
 .../udev-gentoo-scripts.hash                  |  3 +++
 .../udev-gentoo-scripts.mk                    | 22 +++++++++++++++++++
 7 files changed, 38 insertions(+)
 create mode 100644 package/udev-gentoo-scripts/Config.in
 create mode 100644 package/udev-gentoo-scripts/udev-gentoo-scripts.hash
 create mode 100644 package/udev-gentoo-scripts/udev-gentoo-scripts.mk
Signature · 1 line
2.18.2
#1 lore raw

PATCH 1/2 udev-gentoo-scripts: new packages

From: Carlos Santos <[email protected]>

Gentoo scripts to initialize udev via openrc, to be used by eudev.

---
 DEVELOPERS                                    |  1 +
 package/Config.in                             |  1 +
 package/udev-gentoo-scripts/Config.in         |  6 +++++
 .../udev-gentoo-scripts.hash                  |  3 +++
 .../udev-gentoo-scripts.mk                    | 22 +++++++++++++++++++
 5 files changed, 33 insertions(+)
 create mode 100644 package/udev-gentoo-scripts/Config.in
 create mode 100644 package/udev-gentoo-scripts/udev-gentoo-scripts.hash
 create mode 100644 package/udev-gentoo-scripts/udev-gentoo-scripts.mk
DEVELOPERS +1 -0
index 7d3d1ca11a..d9d3b9e6c8 100644
@@ -503,6 +503,7 @@ F:	package/skeleton-init-systemd/
 F:	package/skeleton-init-sysv/
 F:	package/skeleton/
 F:	package/sysvinit/
+F:	package/udev-gentoo-scripts/
 F:	package/util-linux/
 F:	package/tpm2-abrmd/
 F:	package/tpm2-tools/
package/Config.in +1 -0
index 2d3ae27b67..37faf5ce70 100644
@@ -555,6 +555,7 @@ endmenu
 	source "package/ubus/Config.in"
 	source "package/uccp420wlan/Config.in"
 	source "package/udev/Config.in"
+	source "package/udev-gentoo-scripts/Config.in"
 	source "package/udisks/Config.in"
 	source "package/uhubctl/Config.in"
 	source "package/umtprd/Config.in"
package/udev-gentoo-scripts/Config.in new file +6 -0
new file mode 100644
index 0000000000..9d6944354d
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_UDEV_GENTOO_SCRIPTS
+	bool
+	depends on BR2_PACKAGE_EUDEV
+	depends on BR2_INIT_OPENRC
+	help
+	  Init scripts for eudev.
package/udev-gentoo-scripts/udev-gentoo-scripts.hash new file +3 -0
new file mode 100644
index 0000000000..60563baae0
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 b206f72c93cd2e51ed59061931918a9c23c3c1f7e6caffacc9d4f8915a42c30a  udev-gentoo-scripts-33.tar.bz2
+sha256 329f95829088b95650b9012ae688f09baa1637985425a7964d33683363f48702  init.d/udev-settle
package/udev-gentoo-scripts/udev-gentoo-scripts.mk new file +22 -0
new file mode 100644
index 0000000000..a0598bcad8
@@ -0,0 +1,22 @@
+################################################################################
+#
+# udev-gentoo-scripts
+#
+################################################################################
+
+UDEV_GENTOO_SCRIPTS_VERSION = 33
+UDEV_GENTOO_SCRIPTS_SOURCE = udev-gentoo-scripts-$(UDEV_GENTOO_SCRIPTS_VERSION).tar.bz2
+UDEV_GENTOO_SCRIPTS_SITE = https://gitweb.gentoo.org/proj/udev-gentoo-scripts.git/snapshot
+UDEV_GENTOO_SCRIPTS_LICENSE = GPL-2.0
+UDEV_GENTOO_SCRIPTS_LICENSE_FILES = init.d/udev-settle
+
+# We don't need to symlink /etc/init.d/udev to /etc/runlevels/sysinit, since
+# it's in the udev-settle and udev-trigger "need" lists.
+define UDEV_GENTOO_SCRIPTS_INSTALL_INIT_OPENRC
+	$(MAKE1) -C $(@D) install DESTDIR=$(TARGET_DIR)
+	$(INSTALL) -d -m 755 $(TARGET_DIR)/etc/runlevels/sysinit
+	ln -s -f /etc/init.d/udev-settle /etc/init.d/udev-trigger \
+		$(TARGET_DIR)/etc/runlevels/sysinit
+endef
+
+$(eval $(generic-package))
Signature · 1 line
2.18.2
#2 lore raw

PATCH 1/2 udev-gentoo-scripts: new packages

Carlos, All,

On 2020-02-27 11:51 -0300, unixmania at gmail.com spake thusly:

Quoted 5 lines

From: Carlos Santos <[email protected]>

Gentoo scripts to initialize udev via openrc, to be used by eudev.

Applied to master, after fixing the commit title (missing leading 'package/' and trailing package singular). Thanks!

Regards,
Yann E. MORIN.

Quoted 91 lines
---
 DEVELOPERS                                    |  1 +
 package/Config.in                             |  1 +
 package/udev-gentoo-scripts/Config.in         |  6 +++++
 .../udev-gentoo-scripts.hash                  |  3 +++
 .../udev-gentoo-scripts.mk                    | 22 +++++++++++++++++++
 5 files changed, 33 insertions(+)
 create mode 100644 package/udev-gentoo-scripts/Config.in
 create mode 100644 package/udev-gentoo-scripts/udev-gentoo-scripts.hash
 create mode 100644 package/udev-gentoo-scripts/udev-gentoo-scripts.mk
DEVELOPERS +1 -0
index 7d3d1ca11a..d9d3b9e6c8 100644
@@ -503,6 +503,7 @@ F:	package/skeleton-init-systemd/
 F:	package/skeleton-init-sysv/
 F:	package/skeleton/
 F:	package/sysvinit/
+F:	package/udev-gentoo-scripts/
 F:	package/util-linux/
 F:	package/tpm2-abrmd/
 F:	package/tpm2-tools/
package/Config.in +1 -0
index 2d3ae27b67..37faf5ce70 100644
@@ -555,6 +555,7 @@ endmenu
 	source "package/ubus/Config.in"
 	source "package/uccp420wlan/Config.in"
 	source "package/udev/Config.in"
+	source "package/udev-gentoo-scripts/Config.in"
 	source "package/udisks/Config.in"
 	source "package/uhubctl/Config.in"
 	source "package/umtprd/Config.in"
package/udev-gentoo-scripts/Config.in new file +6 -0
new file mode 100644
index 0000000000..9d6944354d
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_UDEV_GENTOO_SCRIPTS
+	bool
+	depends on BR2_PACKAGE_EUDEV
+	depends on BR2_INIT_OPENRC
+	help
+	  Init scripts for eudev.
package/udev-gentoo-scripts/udev-gentoo-scripts.hash new file +3 -0
new file mode 100644
index 0000000000..60563baae0
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 b206f72c93cd2e51ed59061931918a9c23c3c1f7e6caffacc9d4f8915a42c30a  udev-gentoo-scripts-33.tar.bz2
+sha256 329f95829088b95650b9012ae688f09baa1637985425a7964d33683363f48702  init.d/udev-settle
package/udev-gentoo-scripts/udev-gentoo-scripts.mk new file +22 -0
new file mode 100644
index 0000000000..a0598bcad8
@@ -0,0 +1,22 @@
+################################################################################
+#
+# udev-gentoo-scripts
+#
+################################################################################
+
+UDEV_GENTOO_SCRIPTS_VERSION = 33
+UDEV_GENTOO_SCRIPTS_SOURCE = udev-gentoo-scripts-$(UDEV_GENTOO_SCRIPTS_VERSION).tar.bz2
+UDEV_GENTOO_SCRIPTS_SITE = https://gitweb.gentoo.org/proj/udev-gentoo-scripts.git/snapshot
+UDEV_GENTOO_SCRIPTS_LICENSE = GPL-2.0
+UDEV_GENTOO_SCRIPTS_LICENSE_FILES = init.d/udev-settle
+
+# We don't need to symlink /etc/init.d/udev to /etc/runlevels/sysinit, since
+# it's in the udev-settle and udev-trigger "need" lists.
+define UDEV_GENTOO_SCRIPTS_INSTALL_INIT_OPENRC
+	$(MAKE1) -C $(@D) install DESTDIR=$(TARGET_DIR)
+	$(INSTALL) -d -m 755 $(TARGET_DIR)/etc/runlevels/sysinit
+	ln -s -f /etc/init.d/udev-settle /etc/init.d/udev-trigger \
+		$(TARGET_DIR)/etc/runlevels/sysinit
+endef
+
+$(eval $(generic-package))
Signature · 6 lines
2.18.2

_______________________________________________
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 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#3 lore raw

PATCH 1/2 udev-gentoo-scripts: new packages

On 2020-02-27 21:29 +0100, Yann E. MORIN spake thusly:

Quoted 10 lines

Carlos, All,

On 2020-02-27 11:51 -0300, unixmania at gmail.com spake thusly:

Quoted 5 lines

From: Carlos Santos <[email protected]>

Gentoo scripts to initialize udev via openrc, to be used by eudev.

Applied to master, after fixing the commit title (missing leading

Applied to next, not master. Sorry for the confusion...

Regards,
Yann E. MORIN.

Quoted 108 lines

'package/' and trailing package singular). Thanks!

Regards,
Yann E. MORIN.

Quoted 91 lines
---
 DEVELOPERS                                    |  1 +
 package/Config.in                             |  1 +
 package/udev-gentoo-scripts/Config.in         |  6 +++++
 .../udev-gentoo-scripts.hash                  |  3 +++
 .../udev-gentoo-scripts.mk                    | 22 +++++++++++++++++++
 5 files changed, 33 insertions(+)
 create mode 100644 package/udev-gentoo-scripts/Config.in
 create mode 100644 package/udev-gentoo-scripts/udev-gentoo-scripts.hash
 create mode 100644 package/udev-gentoo-scripts/udev-gentoo-scripts.mk
DEVELOPERS +1 -0
index 7d3d1ca11a..d9d3b9e6c8 100644
@@ -503,6 +503,7 @@ F:	package/skeleton-init-systemd/
 F:	package/skeleton-init-sysv/
 F:	package/skeleton/
 F:	package/sysvinit/
+F:	package/udev-gentoo-scripts/
 F:	package/util-linux/
 F:	package/tpm2-abrmd/
 F:	package/tpm2-tools/
package/Config.in +1 -0
index 2d3ae27b67..37faf5ce70 100644
@@ -555,6 +555,7 @@ endmenu
 	source "package/ubus/Config.in"
 	source "package/uccp420wlan/Config.in"
 	source "package/udev/Config.in"
+	source "package/udev-gentoo-scripts/Config.in"
 	source "package/udisks/Config.in"
 	source "package/uhubctl/Config.in"
 	source "package/umtprd/Config.in"
package/udev-gentoo-scripts/Config.in new file +6 -0
new file mode 100644
index 0000000000..9d6944354d
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_UDEV_GENTOO_SCRIPTS
+	bool
+	depends on BR2_PACKAGE_EUDEV
+	depends on BR2_INIT_OPENRC
+	help
+	  Init scripts for eudev.
package/udev-gentoo-scripts/udev-gentoo-scripts.hash new file +3 -0
new file mode 100644
index 0000000000..60563baae0
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 b206f72c93cd2e51ed59061931918a9c23c3c1f7e6caffacc9d4f8915a42c30a  udev-gentoo-scripts-33.tar.bz2
+sha256 329f95829088b95650b9012ae688f09baa1637985425a7964d33683363f48702  init.d/udev-settle
package/udev-gentoo-scripts/udev-gentoo-scripts.mk new file +22 -0
new file mode 100644
index 0000000000..a0598bcad8
@@ -0,0 +1,22 @@
+################################################################################
+#
+# udev-gentoo-scripts
+#
+################################################################################
+
+UDEV_GENTOO_SCRIPTS_VERSION = 33
+UDEV_GENTOO_SCRIPTS_SOURCE = udev-gentoo-scripts-$(UDEV_GENTOO_SCRIPTS_VERSION).tar.bz2
+UDEV_GENTOO_SCRIPTS_SITE = https://gitweb.gentoo.org/proj/udev-gentoo-scripts.git/snapshot
+UDEV_GENTOO_SCRIPTS_LICENSE = GPL-2.0
+UDEV_GENTOO_SCRIPTS_LICENSE_FILES = init.d/udev-settle
+
+# We don't need to symlink /etc/init.d/udev to /etc/runlevels/sysinit, since
+# it's in the udev-settle and udev-trigger "need" lists.
+define UDEV_GENTOO_SCRIPTS_INSTALL_INIT_OPENRC
+	$(MAKE1) -C $(@D) install DESTDIR=$(TARGET_DIR)
+	$(INSTALL) -d -m 755 $(TARGET_DIR)/etc/runlevels/sysinit
+	ln -s -f /etc/init.d/udev-settle /etc/init.d/udev-trigger \
+		$(TARGET_DIR)/etc/runlevels/sysinit
+endef
+
+$(eval $(generic-package))
Signature · 6 lines
2.18.2

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

PATCH 2/2 package/eudev: support openrc init

In reply to unixmania at gmail.com

From: Carlos Santos <[email protected]>

Select udev-gentoo-scripts and avoid installing the sysv init script.

---
 package/eudev/Config.in | 1 +
 package/eudev/eudev.mk  | 4 ++++
 2 files changed, 5 insertions(+)
package/eudev/Config.in +1 -0
index b1d2f37a72..b0ce76171a 100644
@@ -5,6 +5,7 @@ config BR2_PACKAGE_EUDEV
 	depends on BR2_USE_WCHAR # needs C99 compiler
 	depends on !BR2_STATIC_LIBS # kmod
 	select BR2_PACKAGE_HAS_UDEV
+	select BR2_PACKAGE_UDEV_GENTOO_SCRIPTS if BR2_INIT_OPENRC
 	select BR2_PACKAGE_UTIL_LINUX
 	select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
 	select BR2_PACKAGE_KMOD
package/eudev/eudev.mk +4 -0
index 99b5befd09..abcabb343c 100644
@@ -44,9 +44,13 @@ else
 EUDEV_CONF_OPTS += --disable-selinux
 endif
 
+# Avoid installing S10udev with openrc, as the service is started by a unit
+# from the udev-gentoo-scripts package.
+ifeq ($(BR2_INIT_OPENRC),)
 define EUDEV_INSTALL_INIT_SYSV
 	$(INSTALL) -D -m 0755 package/eudev/S10udev $(TARGET_DIR)/etc/init.d/S10udev
 endef
+endif
 
 # Required by default rules for input devices
 define EUDEV_USERS
Signature · 1 line
2.18.2
#5 lore raw

PATCH 2/2 package/eudev: support openrc init

Carlos, All,

On 2020-02-27 11:51 -0300, unixmania at gmail.com spake thusly:

Quoted 27 lines

From: Carlos Santos <[email protected]>

Select udev-gentoo-scripts and avoid installing the sysv init script.

---
 package/eudev/Config.in | 1 +
 package/eudev/eudev.mk  | 4 ++++
 2 files changed, 5 insertions(+)
package/eudev/Config.in +1 -0
index b1d2f37a72..b0ce76171a 100644
@@ -5,6 +5,7 @@ config BR2_PACKAGE_EUDEV
 	depends on BR2_USE_WCHAR # needs C99 compiler
 	depends on !BR2_STATIC_LIBS # kmod
 	select BR2_PACKAGE_HAS_UDEV
+	select BR2_PACKAGE_UDEV_GENTOO_SCRIPTS if BR2_INIT_OPENRC
 	select BR2_PACKAGE_UTIL_LINUX
 	select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
 	select BR2_PACKAGE_KMOD
package/eudev/eudev.mk +0 -0
index 99b5befd09..abcabb343c 100644

package/eudev/eudev.mk else · line 53

Quoted 10 lines
package/eudev/eudev.mk +4 -0
@@ -44,9 +44,13 @@ else
 EUDEV_CONF_OPTS += --disable-selinux
 endif
 
+# Avoid installing S10udev with openrc, as the service is started by a unit
+# from the udev-gentoo-scripts package.
+ifeq ($(BR2_INIT_OPENRC),)
 define EUDEV_INSTALL_INIT_SYSV
 	$(INSTALL) -D -m 0755 package/eudev/S10udev $(TARGET_DIR)/etc/init.d/S10udev
 endef
+endif

There is indeed no sane solution but a hack in this situation. However, I prefer the previous version that defined a fake hook, so I reused that instead (with a little tweak of yours from another comment! ;-) ).

Applied to next with that fixed. Thanks!

Regards,
Yann E. MORIN.

Quoted 9 lines
package/eudev/eudev.mk +0 -0
 # Required by default rules for input devices
 define EUDEV_USERS
Signature · 6 lines
2.18.2

_______________________________________________
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 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'