All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [pull request v3] Pull request for branch for-2012.08/systemd
@ 2012-06-18  8:50 Maxime Ripard
  2012-06-18  8:50 ` [Buildroot] [PATCH 1/2] Rework of the init system Maxime Ripard
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Maxime Ripard @ 2012-06-18  8:50 UTC (permalink / raw)
  To: buildroot

The following changes since commit 929c3e89a6715ecfdc8055ec82025cee5e8e23a1:

  libfreefare: add missing openssl dependency (2012-06-17 12:19:02 +0200)

are available in the git repository at:

  http://git.free-electrons.com/users/maxime-ripard/buildroot for-2012.08/systemd

for you to fetch changes up to 04cbd51ebed54c86ccf8fc03a3fc2eed1383893b:

  Add systemd unit for lighttpd (2012-06-18 10:40:29 +0200)

----------------------------------------------------------------
Maxime Ripard (2):
      Rework of the init system
      Add systemd unit for lighttpd

 package/busybox/busybox.mk        |    7 +++++++
 package/lighttpd/lighttpd.mk      |   11 +++++++++++
 package/lighttpd/lighttpd.service |   10 ++++++++++
 package/pkg-gentargets.mk         |    8 ++++++++
 target/generic/Config.in          |   25 +++++++++++++++++++++++++
 5 files changed, 61 insertions(+)
 create mode 100644 package/lighttpd/lighttpd.service

Thanks,
-- 
Maxime Ripard

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH 1/2] Rework of the init system
  2012-06-18  8:50 [Buildroot] [pull request v3] Pull request for branch for-2012.08/systemd Maxime Ripard
@ 2012-06-18  8:50 ` Maxime Ripard
  2012-06-18  8:50 ` [Buildroot] [PATCH 2/2] Add systemd unit for lighttpd Maxime Ripard
  2012-07-06  7:30 ` [Buildroot] [pull request v3] Pull request for branch for-2012.08/systemd Maxime Ripard
  2 siblings, 0 replies; 10+ messages in thread
From: Maxime Ripard @ 2012-06-18  8:50 UTC (permalink / raw)
  To: buildroot

Since we have now two uncompatible init systems, and we want only one of
them at the same time in use in the rootfs, we need to select a
particular init system. This patch also adds $(PKG)_INSTALL_INIT_SYSTEMD
and $(PKG)_INSTALL_INIT_SYSV hooks that are called when the matching
init systems are selected to install properly the init scripts of the
package.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
 package/busybox/busybox.mk |    7 +++++++
 package/pkg-gentargets.mk  |    8 ++++++++
 target/generic/Config.in   |   25 +++++++++++++++++++++++++
 3 files changed, 40 insertions(+)

diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
index 1d988f8..95bad5e 100644
--- a/package/busybox/busybox.mk
+++ b/package/busybox/busybox.mk
@@ -134,6 +134,12 @@ define BUSYBOX_DISABLE_MMU_APPLETS
 endef
 endif
 
+ifeq ($(BR2_INIT_BUSYBOX),y)
+define BUSYBOX_SET_INIT
+	$(call KCONFIG_ENABLE_OPT,CONFIG_INIT,$(BUSYBOX_BUILD_CONFIG))
+endef
+endif
+
 define BUSYBOX_INSTALL_LOGGING_SCRIPT
 	if grep -q CONFIG_SYSLOGD=y $(@D)/.config; then \
 		[ -f $(TARGET_DIR)/etc/init.d/S01logging ] || \
@@ -168,6 +174,7 @@ define BUSYBOX_CONFIGURE_CMDS
 	$(BUSYBOX_NETKITTELNET)
 	$(BUSYBOX_INTERNAL_SHADOW_PASSWORDS)
 	$(BUSYBOX_DISABLE_MMU_APPLETS)
+	$(BUSYBOX_SET_INIT)
 	$(BUSYBOX_SET_WATCHDOG)
 	@yes "" | $(MAKE) ARCH=$(KERNEL_ARCH) CROSS_COMPILE="$(TARGET_CROSS)" \
 		-C $(@D) oldconfig
diff --git a/package/pkg-gentargets.mk b/package/pkg-gentargets.mk
index 1c9b458..645f53b 100644
--- a/package/pkg-gentargets.mk
+++ b/package/pkg-gentargets.mk
@@ -133,6 +133,10 @@ $(BUILD_DIR)/%/.stamp_images_installed:
 # Install to target dir
 $(BUILD_DIR)/%/.stamp_target_installed:
 	@$(call MESSAGE,"Installing to target")
+	$(if $(BR2_INIT_SYSTEMD),\
+		$($(PKG)_INSTALL_INIT_SYSTEMD))
+	$(if $(BR2_INIT_SYSV)$(BR2_INIT_BUSYBOX),\
+		$($(PKG)_INSTALL_INIT_SYSV))
 	$($(PKG)_INSTALL_TARGET_CMDS)
 	$(foreach hook,$($(PKG)_POST_INSTALL_TARGET_HOOKS),$(call $(hook))$(sep))
 	$(Q)touch $@
@@ -151,6 +155,10 @@ $(BUILD_DIR)/%/.stamp_uninstalled:
 	rm -f $($(PKG)_TARGET_INSTALL_TARGET)
 	$($(PKG)_UNINSTALL_STAGING_CMDS)
 	$($(PKG)_UNINSTALL_TARGET_CMDS)
+	$(if $(BR2_INIT_SYSTEMD),\
+		$($(PKG)_UNINSTALL_INIT_SYSTEMD))
+	$(if $(BR2_INIT_SYSV)$(BR2_INIT_BUSYBOX),\
+		$($(PKG)_UNINSTALL_INIT_SYSV))
 
 # Remove package sources
 $(BUILD_DIR)/%/.stamp_dircleaned:
diff --git a/target/generic/Config.in b/target/generic/Config.in
index 88f0718..309ef55 100644
--- a/target/generic/Config.in
+++ b/target/generic/Config.in
@@ -37,6 +37,31 @@ comment "udev requires a toolchain with LARGEFILE + WCHAR support"
 
 endchoice
 
+choice
+	prompt "Init system"
+	default BR2_INIT_BUSYBOX
+
+config BR2_INIT_BUSYBOX
+	bool "Busybox"
+	select BR2_PACKAGE_BUSYBOX
+
+config BR2_INIT_SYSV
+	bool "systemV"
+	select BR2_PACKAGE_SYSVINIT
+
+config BR2_INIT_SYSTEMD
+	bool "systemd"
+	depends on BR2_LARGEFILE
+	depends on BR2_USE_WCHAR
+	depends on BR2_INET_IPV6
+	select BR2_PACKAGE_DBUS
+	select BR2_PACKAGE_SYSTEMD
+
+comment 'systemd requires largefile, wchar and IPv6 support'
+	depends on !(BR2_LARGEFILE && BR2_USE_WCHAR && BR2_INET_IPV6)
+
+endchoice
+
 config BR2_ROOTFS_DEVICE_TABLE
 	string "Path to the permission tables"
 	default "target/generic/device_table.txt"
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH 2/2] Add systemd unit for lighttpd
  2012-06-18  8:50 [Buildroot] [pull request v3] Pull request for branch for-2012.08/systemd Maxime Ripard
  2012-06-18  8:50 ` [Buildroot] [PATCH 1/2] Rework of the init system Maxime Ripard
@ 2012-06-18  8:50 ` Maxime Ripard
  2012-07-06  7:30 ` [Buildroot] [pull request v3] Pull request for branch for-2012.08/systemd Maxime Ripard
  2 siblings, 0 replies; 10+ messages in thread
From: Maxime Ripard @ 2012-06-18  8:50 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
---
 package/lighttpd/lighttpd.mk      |   11 +++++++++++
 package/lighttpd/lighttpd.service |   10 ++++++++++
 2 files changed, 21 insertions(+)
 create mode 100644 package/lighttpd/lighttpd.service

diff --git a/package/lighttpd/lighttpd.mk b/package/lighttpd/lighttpd.mk
index c7fae32..2caccd0 100644
--- a/package/lighttpd/lighttpd.mk
+++ b/package/lighttpd/lighttpd.mk
@@ -88,6 +88,17 @@ endef
 
 LIGHTTPD_POST_INSTALL_TARGET_HOOKS += LIGHTTPD_INSTALL_CONFIG
 
+define LIGHTTPD_INSTALL_INIT_SYSTEMD
+	[ -f $(TARGET_DIR)/etc/systemd/system/lighttpd.service ] || \
+		$(INSTALL) -D -m 755 package/lighttpd/lighttpd.service \
+			$(TARGET_DIR)/etc/systemd/system/lighttpd.service
+
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+
+	ln -fs ../lighttpd.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/lighttpd.service
+endef
+
 define LIGHTTPD_UNINSTALL_TARGET_CMDS
 	rm -f $(TARGET_DIR)/usr/sbin/lighttpd
 	rm -f $(TARGET_DIR)/usr/sbin/lighttpd-angel
diff --git a/package/lighttpd/lighttpd.service b/package/lighttpd/lighttpd.service
new file mode 100644
index 0000000..0ca5357
--- /dev/null
+++ b/package/lighttpd/lighttpd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Lighttpd Web Server
+After=network.target
+
+[Service]
+ExecStart=/usr/sbin/lighttpd-angel -f /etc/lighttpd/lighttpd.conf -D
+ExecReload=/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [Buildroot] [pull request v3] Pull request for branch for-2012.08/systemd
  2012-06-18  8:50 [Buildroot] [pull request v3] Pull request for branch for-2012.08/systemd Maxime Ripard
  2012-06-18  8:50 ` [Buildroot] [PATCH 1/2] Rework of the init system Maxime Ripard
  2012-06-18  8:50 ` [Buildroot] [PATCH 2/2] Add systemd unit for lighttpd Maxime Ripard
@ 2012-07-06  7:30 ` Maxime Ripard
  2 siblings, 0 replies; 10+ messages in thread
From: Maxime Ripard @ 2012-07-06  7:30 UTC (permalink / raw)
  To: buildroot

Hi Peter,

Do you intend at some point to take these patches ?

You *never* replied to any of these two patches, even though they both
have been floating around for more than half a year now, and this is
beginning to be quite frustrating.

Don't get me wrong, I'm not pushing them, I just want you to at least
acknowledge the existence of these patches and say if you are willing to
accept them or not.

Thanks,
Maxime

Le 18/06/2012 10:50, Maxime Ripard a ?crit :
> The following changes since commit 929c3e89a6715ecfdc8055ec82025cee5e8e23a1:
> 
>   libfreefare: add missing openssl dependency (2012-06-17 12:19:02 +0200)
> 
> are available in the git repository at:
> 
>   http://git.free-electrons.com/users/maxime-ripard/buildroot for-2012.08/systemd
> 
> for you to fetch changes up to 04cbd51ebed54c86ccf8fc03a3fc2eed1383893b:
> 
>   Add systemd unit for lighttpd (2012-06-18 10:40:29 +0200)
> 
> ----------------------------------------------------------------
> Maxime Ripard (2):
>       Rework of the init system
>       Add systemd unit for lighttpd
> 
>  package/busybox/busybox.mk        |    7 +++++++
>  package/lighttpd/lighttpd.mk      |   11 +++++++++++
>  package/lighttpd/lighttpd.service |   10 ++++++++++
>  package/pkg-gentargets.mk         |    8 ++++++++
>  target/generic/Config.in          |   25 +++++++++++++++++++++++++
>  5 files changed, 61 insertions(+)
>  create mode 100644 package/lighttpd/lighttpd.service
> 
> Thanks,
> 


-- 
Maxime Ripard, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH 1/2] Rework of the init system
  2012-06-20  6:59       ` Arnout Vandecappelle
@ 2012-06-20 12:30         ` Maxime Ripard
  0 siblings, 0 replies; 10+ messages in thread
From: Maxime Ripard @ 2012-06-20 12:30 UTC (permalink / raw)
  To: buildroot

Hi Arnout,

Le 20/06/2012 08:59, Arnout Vandecappelle a ?crit :
> On 06/18/12 10:32, Maxime Ripard wrote:
>>>> >>  +choice
>>>> >>  +    prompt "Init system"
>>>> >>  +    default BR2_INIT_BUSYBOX
>>>> >>  +
>>>> >>  +config BR2_INIT_BUSYBOX
>>>> >>  +    bool "Busybox"
>>>> >>  +    select BR2_PACKAGE_BUSYBOX
>>> >
>>> >    Ideally, the busybox.mk should make sure init is selected in the
>>> >  busybox config
>>> >  if this option is chosen.
>>
>> I actually did so at first, and you asked me back then to remove it:)
>> (http://lists.busybox.net/pipermail/buildroot/2011-December/048541.html)
> 
>  You misunderstood my comment back then: I'm against _disabling_ the
> busybox init.  The _enable_ should be kept.

Yes, that's what I understood a bit later.
This is what is implemented in the third version of the pull request.

Maxime


-- 
Maxime Ripard, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH 1/2] Rework of the init system
  2012-06-18  8:32     ` Maxime Ripard
@ 2012-06-20  6:59       ` Arnout Vandecappelle
  2012-06-20 12:30         ` Maxime Ripard
  0 siblings, 1 reply; 10+ messages in thread
From: Arnout Vandecappelle @ 2012-06-20  6:59 UTC (permalink / raw)
  To: buildroot

On 06/18/12 10:32, Maxime Ripard wrote:
>>> >>  +choice
>>> >>  +    prompt "Init system"
>>> >>  +    default BR2_INIT_BUSYBOX
>>> >>  +
>>> >>  +config BR2_INIT_BUSYBOX
>>> >>  +    bool "Busybox"
>>> >>  +    select BR2_PACKAGE_BUSYBOX
>> >
>> >    Ideally, the busybox.mk should make sure init is selected in the
>> >  busybox config
>> >  if this option is chosen.
>
> I actually did so at first, and you asked me back then to remove it:)
> (http://lists.busybox.net/pipermail/buildroot/2011-December/048541.html)

  You misunderstood my comment back then: I'm against _disabling_ the
busybox init.  The _enable_ should be kept.

  Regards,
  Arnout
-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH 1/2] Rework of the init system
       [not found]   ` <4FCD449E.9030700@mind.be>
@ 2012-06-18  8:32     ` Maxime Ripard
  2012-06-20  6:59       ` Arnout Vandecappelle
  0 siblings, 1 reply; 10+ messages in thread
From: Maxime Ripard @ 2012-06-18  8:32 UTC (permalink / raw)
  To: buildroot

Hi Arnout,

Thanks for the review.

Le 05/06/2012 01:28, Arnout Vandecappelle a ?crit :
> On 05/29/12 12:00, Maxime Ripard wrote:
>> Since we have now two uncompatible init systems, and we want only one of
>> them at the same time in use in the rootfs, we need to select a
>> particular init system. This patch also adds $(PKG)_INSTALL_INIT_SYSTEMD
>> and $(PKG)_INSTALL_INIT_SYSV hooks that are called when the matching
>> init systems are selected to install properly the init scripts of the
>> package.
>>
>> Signed-off-by: Maxime Ripard<maxime.ripard@free-electrons.com>
> 
> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
> 
>  Two remarks, but they don't need to stop this patch.
> 
> [snip]
>> diff --git a/package/sysvinit/Config.in b/package/sysvinit/Config.in
>> index 34ec391..d91c643 100644
>> --- a/package/sysvinit/Config.in
>> +++ b/package/sysvinit/Config.in
>> @@ -1,5 +1,6 @@
>>   config BR2_PACKAGE_SYSVINIT
>>       bool "sysvinit"
>> +    depends on BR2_INIT_SYSV
> 
>  I don't think this is needed.  If you do keep it, there should also be one
> for systemd.

Ok, I'll remove it.

>>       help
>>         /sbin/init - parent of all processes
>>
>> diff --git a/target/generic/Config.in b/target/generic/Config.in
>> index 88f0718..309ef55 100644
>> --- a/target/generic/Config.in
>> +++ b/target/generic/Config.in
>> @@ -37,6 +37,31 @@ comment "udev requires a toolchain with LARGEFILE +
>> WCHAR support"
>>
>>   endchoice
>>
>> +choice
>> +    prompt "Init system"
>> +    default BR2_INIT_BUSYBOX
>> +
>> +config BR2_INIT_BUSYBOX
>> +    bool "Busybox"
>> +    select BR2_PACKAGE_BUSYBOX
> 
>  Ideally, the busybox.mk should make sure init is selected in the
> busybox config
> if this option is chosen.


I actually did so at first, and you asked me back then to remove it :)
(http://lists.busybox.net/pipermail/buildroot/2011-December/048541.html)

Anyway, I'm fine with both approaches here, so I'm fine adding it again :)


>> +
>> +config BR2_INIT_SYSV
>> +    bool "systemV"
>> +    select BR2_PACKAGE_SYSVINIT
>> +
>> +config BR2_INIT_SYSTEMD
>> +    bool "systemd"
>> +    depends on BR2_LARGEFILE
>> +    depends on BR2_USE_WCHAR
>> +    depends on BR2_INET_IPV6
>> +    select BR2_PACKAGE_DBUS
>> +    select BR2_PACKAGE_SYSTEMD
>> +
>> +comment 'systemd requires largefile, wchar and IPv6 support'
>> +    depends on !(BR2_LARGEFILE&&  BR2_USE_WCHAR&&  BR2_INET_IPV6)
>> +
>> +endchoice
>> +
>>   config BR2_ROOTFS_DEVICE_TABLE
>>       string "Path to the permission tables"
>>       default "target/generic/device_table.txt"
> 


-- 
Maxime Ripard, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH 1/2] Rework of the init system
  2012-05-29 10:00 [Buildroot] [pull request V2] " Maxime Ripard
@ 2012-05-29 10:00 ` Maxime Ripard
       [not found]   ` <4FCD449E.9030700@mind.be>
  0 siblings, 1 reply; 10+ messages in thread
From: Maxime Ripard @ 2012-05-29 10:00 UTC (permalink / raw)
  To: buildroot

Since we have now two uncompatible init systems, and we want only one of
them at the same time in use in the rootfs, we need to select a
particular init system. This patch also adds $(PKG)_INSTALL_INIT_SYSTEMD
and $(PKG)_INSTALL_INIT_SYSV hooks that are called when the matching
init systems are selected to install properly the init scripts of the
package.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
---
 package/pkg-gentargets.mk  |    8 ++++++++
 package/sysvinit/Config.in |    1 +
 target/generic/Config.in   |   25 +++++++++++++++++++++++++
 3 files changed, 34 insertions(+)

diff --git a/package/pkg-gentargets.mk b/package/pkg-gentargets.mk
index 1c9b458..645f53b 100644
--- a/package/pkg-gentargets.mk
+++ b/package/pkg-gentargets.mk
@@ -133,6 +133,10 @@ $(BUILD_DIR)/%/.stamp_images_installed:
 # Install to target dir
 $(BUILD_DIR)/%/.stamp_target_installed:
 	@$(call MESSAGE,"Installing to target")
+	$(if $(BR2_INIT_SYSTEMD),\
+		$($(PKG)_INSTALL_INIT_SYSTEMD))
+	$(if $(BR2_INIT_SYSV)$(BR2_INIT_BUSYBOX),\
+		$($(PKG)_INSTALL_INIT_SYSV))
 	$($(PKG)_INSTALL_TARGET_CMDS)
 	$(foreach hook,$($(PKG)_POST_INSTALL_TARGET_HOOKS),$(call $(hook))$(sep))
 	$(Q)touch $@
@@ -151,6 +155,10 @@ $(BUILD_DIR)/%/.stamp_uninstalled:
 	rm -f $($(PKG)_TARGET_INSTALL_TARGET)
 	$($(PKG)_UNINSTALL_STAGING_CMDS)
 	$($(PKG)_UNINSTALL_TARGET_CMDS)
+	$(if $(BR2_INIT_SYSTEMD),\
+		$($(PKG)_UNINSTALL_INIT_SYSTEMD))
+	$(if $(BR2_INIT_SYSV)$(BR2_INIT_BUSYBOX),\
+		$($(PKG)_UNINSTALL_INIT_SYSV))
 
 # Remove package sources
 $(BUILD_DIR)/%/.stamp_dircleaned:
diff --git a/package/sysvinit/Config.in b/package/sysvinit/Config.in
index 34ec391..d91c643 100644
--- a/package/sysvinit/Config.in
+++ b/package/sysvinit/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_SYSVINIT
 	bool "sysvinit"
+	depends on BR2_INIT_SYSV
 	help
 	  /sbin/init - parent of all processes
 
diff --git a/target/generic/Config.in b/target/generic/Config.in
index 88f0718..309ef55 100644
--- a/target/generic/Config.in
+++ b/target/generic/Config.in
@@ -37,6 +37,31 @@ comment "udev requires a toolchain with LARGEFILE + WCHAR support"
 
 endchoice
 
+choice
+	prompt "Init system"
+	default BR2_INIT_BUSYBOX
+
+config BR2_INIT_BUSYBOX
+	bool "Busybox"
+	select BR2_PACKAGE_BUSYBOX
+
+config BR2_INIT_SYSV
+	bool "systemV"
+	select BR2_PACKAGE_SYSVINIT
+
+config BR2_INIT_SYSTEMD
+	bool "systemd"
+	depends on BR2_LARGEFILE
+	depends on BR2_USE_WCHAR
+	depends on BR2_INET_IPV6
+	select BR2_PACKAGE_DBUS
+	select BR2_PACKAGE_SYSTEMD
+
+comment 'systemd requires largefile, wchar and IPv6 support'
+	depends on !(BR2_LARGEFILE && BR2_USE_WCHAR && BR2_INET_IPV6)
+
+endchoice
+
 config BR2_ROOTFS_DEVICE_TABLE
 	string "Path to the permission tables"
 	default "target/generic/device_table.txt"
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH 1/2] Rework of the init system
  2012-05-25 12:11 ` [Buildroot] [PATCH 1/2] Rework of the init system Maxime Ripard
@ 2012-05-27 21:24   ` Peter Korsgaard
  0 siblings, 0 replies; 10+ messages in thread
From: Peter Korsgaard @ 2012-05-27 21:24 UTC (permalink / raw)
  To: buildroot

>>>>> "Maxime" == Maxime Ripard <maxime.ripard@free-electrons.com> writes:

Hi,

 Maxime> Since we have now two uncompatible init systems, and we want
 Maxime> only one of them at the same time in use in the rootfs, we need
 Maxime> to select a particular init system. This patch also adds
 Maxime> $(PKG)_INSTALL_INIT_SYSTEMD and $(PKG)_INSTALL_INIT_SYSV hooks
 Maxime> that are called when the matching init systems are selected to
 Maxime> install properly the init scripts of the package.

Looks good, just a small comment:

 Maxime> +++ b/target/generic/Config.in
 Maxime> @@ -37,6 +37,34 @@ comment "udev requires a toolchain with LARGEFILE + WCHAR support"
 
 Maxime>  endchoice
 
 Maxime> +choice
 Maxime> +	prompt "Init system"
 Maxime> +	default BR2_INIT_BUSYBOX
 Maxime> +	help
 Maxime> +	  To select systemd, you first need to have dbus and udev enabled

That comment seems wrong as you are selecting dbus and DYNAMIC_UDEV
which ends up selecting udev.

 Maxime> +
 Maxime> +config BR2_INIT_BUSYBOX
 Maxime> +	bool "Busybox init"
 Maxime> +	select BR2_PACKAGE_BUSYBOX
 Maxime> +
 Maxime> +config BR2_INIT_SYSV
 Maxime> +	bool "Use systemV init"
 Maxime> +	select BR2_PACKAGE_SYSVINIT
 Maxime> +
 Maxime> +config BR2_INIT_SYSTEMD
 Maxime> +	bool "Use systemd"

You added "Use " in front of sysv + systemd, but not busybox - And
"init" after busybox + sysv. I suggest you drop both so it becomes just
busybox/systemv/systemd.


 Maxime> +	depends on BR2_LARGEFILE
 Maxime> +	depends on BR2_USE_WCHAR
 Maxime> +	depends on BR2_INET_IPV6
 Maxime> +	select BR2_PACKAGE_DBUS

You don't really need to select UDEV as it gets selected by systemd.

 Maxime> +	select BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
 Maxime> +	select BR2_PACKAGE_SYSTEMD
 Maxime> +
 Maxime> +comment 'systemd requires largefile, wchar and IPv6 support'
 Maxime> +	depends on !(BR2_LARGEFILE && BR2_USE_WCHAR && BR2_INET_IPV6)
 Maxime> +
 Maxime> +endchoice
 Maxime> +
 Maxime>  config BR2_ROOTFS_DEVICE_TABLE
 Maxime>  	string "Path to the permission tables"
 Maxime>  	default "target/generic/device_table.txt"
 Maxime> -- 
 Maxime> 1.7.9.5

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH 1/2] Rework of the init system
  2012-05-25 12:11 [Buildroot] [pull request] Pull request for branch for-2012.08/systemd Maxime Ripard
@ 2012-05-25 12:11 ` Maxime Ripard
  2012-05-27 21:24   ` Peter Korsgaard
  0 siblings, 1 reply; 10+ messages in thread
From: Maxime Ripard @ 2012-05-25 12:11 UTC (permalink / raw)
  To: buildroot

Since we have now two uncompatible init systems, and we want only one of
them at the same time in use in the rootfs, we need to select a
particular init system. This patch also adds $(PKG)_INSTALL_INIT_SYSTEMD
and $(PKG)_INSTALL_INIT_SYSV hooks that are called when the matching
init systems are selected to install properly the init scripts of the
package.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
---
 package/pkg-gentargets.mk  |    8 ++++++++
 package/sysvinit/Config.in |    1 +
 target/generic/Config.in   |   28 ++++++++++++++++++++++++++++
 3 files changed, 37 insertions(+)

diff --git a/package/pkg-gentargets.mk b/package/pkg-gentargets.mk
index 1c9b458..645f53b 100644
--- a/package/pkg-gentargets.mk
+++ b/package/pkg-gentargets.mk
@@ -133,6 +133,10 @@ $(BUILD_DIR)/%/.stamp_images_installed:
 # Install to target dir
 $(BUILD_DIR)/%/.stamp_target_installed:
 	@$(call MESSAGE,"Installing to target")
+	$(if $(BR2_INIT_SYSTEMD),\
+		$($(PKG)_INSTALL_INIT_SYSTEMD))
+	$(if $(BR2_INIT_SYSV)$(BR2_INIT_BUSYBOX),\
+		$($(PKG)_INSTALL_INIT_SYSV))
 	$($(PKG)_INSTALL_TARGET_CMDS)
 	$(foreach hook,$($(PKG)_POST_INSTALL_TARGET_HOOKS),$(call $(hook))$(sep))
 	$(Q)touch $@
@@ -151,6 +155,10 @@ $(BUILD_DIR)/%/.stamp_uninstalled:
 	rm -f $($(PKG)_TARGET_INSTALL_TARGET)
 	$($(PKG)_UNINSTALL_STAGING_CMDS)
 	$($(PKG)_UNINSTALL_TARGET_CMDS)
+	$(if $(BR2_INIT_SYSTEMD),\
+		$($(PKG)_UNINSTALL_INIT_SYSTEMD))
+	$(if $(BR2_INIT_SYSV)$(BR2_INIT_BUSYBOX),\
+		$($(PKG)_UNINSTALL_INIT_SYSV))
 
 # Remove package sources
 $(BUILD_DIR)/%/.stamp_dircleaned:
diff --git a/package/sysvinit/Config.in b/package/sysvinit/Config.in
index 34ec391..d91c643 100644
--- a/package/sysvinit/Config.in
+++ b/package/sysvinit/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_SYSVINIT
 	bool "sysvinit"
+	depends on BR2_INIT_SYSV
 	help
 	  /sbin/init - parent of all processes
 
diff --git a/target/generic/Config.in b/target/generic/Config.in
index 88f0718..40009bd 100644
--- a/target/generic/Config.in
+++ b/target/generic/Config.in
@@ -37,6 +37,34 @@ comment "udev requires a toolchain with LARGEFILE + WCHAR support"
 
 endchoice
 
+choice
+	prompt "Init system"
+	default BR2_INIT_BUSYBOX
+	help
+	  To select systemd, you first need to have dbus and udev enabled
+
+config BR2_INIT_BUSYBOX
+	bool "Busybox init"
+	select BR2_PACKAGE_BUSYBOX
+
+config BR2_INIT_SYSV
+	bool "Use systemV init"
+	select BR2_PACKAGE_SYSVINIT
+
+config BR2_INIT_SYSTEMD
+	bool "Use systemd"
+	depends on BR2_LARGEFILE
+	depends on BR2_USE_WCHAR
+	depends on BR2_INET_IPV6
+	select BR2_PACKAGE_DBUS
+	select BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
+	select BR2_PACKAGE_SYSTEMD
+
+comment 'systemd requires largefile, wchar and IPv6 support'
+	depends on !(BR2_LARGEFILE && BR2_USE_WCHAR && BR2_INET_IPV6)
+
+endchoice
+
 config BR2_ROOTFS_DEVICE_TABLE
 	string "Path to the permission tables"
 	default "target/generic/device_table.txt"
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2012-07-06  7:30 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-18  8:50 [Buildroot] [pull request v3] Pull request for branch for-2012.08/systemd Maxime Ripard
2012-06-18  8:50 ` [Buildroot] [PATCH 1/2] Rework of the init system Maxime Ripard
2012-06-18  8:50 ` [Buildroot] [PATCH 2/2] Add systemd unit for lighttpd Maxime Ripard
2012-07-06  7:30 ` [Buildroot] [pull request v3] Pull request for branch for-2012.08/systemd Maxime Ripard
  -- strict thread matches above, loose matches on Subject: below --
2012-05-29 10:00 [Buildroot] [pull request V2] " Maxime Ripard
2012-05-29 10:00 ` [Buildroot] [PATCH 1/2] Rework of the init system Maxime Ripard
     [not found]   ` <4FCD449E.9030700@mind.be>
2012-06-18  8:32     ` Maxime Ripard
2012-06-20  6:59       ` Arnout Vandecappelle
2012-06-20 12:30         ` Maxime Ripard
2012-05-25 12:11 [Buildroot] [pull request] Pull request for branch for-2012.08/systemd Maxime Ripard
2012-05-25 12:11 ` [Buildroot] [PATCH 1/2] Rework of the init system Maxime Ripard
2012-05-27 21:24   ` Peter Korsgaard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.