All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [pull request V2] Pull request for branch for-2012.08/systemd
@ 2012-05-29 10:00 Maxime Ripard
  2012-05-29 10:00 ` [Buildroot] [PATCH 1/2] Rework of the init system Maxime Ripard
  2012-05-29 10:00 ` [Buildroot] [PATCH 2/2] Add systemd unit for lighttpd Maxime Ripard
  0 siblings, 2 replies; 6+ messages in thread
From: Maxime Ripard @ 2012-05-29 10:00 UTC (permalink / raw)
  To: buildroot

The following changes since commit 3ae7d814075095b43e25c8ef11be6a14234241cc:

  pkg-download.mk: Add missing argument when downloading from primary mirror (scp) (2012-05-23 21:49:40 +0200)

are available in the git repository at:

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

for you to fetch changes up to 23dac19640ec6f2095e128c8b641ca2d5a0be8a1:

  Add systemd unit for lighttpd (2012-05-29 11:59:34 +0200)

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

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

Thanks,
-- 
Maxime Ripard

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

* [Buildroot] [PATCH 1/2] Rework of the init system
  2012-05-29 10:00 [Buildroot] [pull request V2] Pull request for branch for-2012.08/systemd Maxime Ripard
@ 2012-05-29 10:00 ` Maxime Ripard
       [not found]   ` <4FCD449E.9030700@mind.be>
  2012-05-29 10:00 ` [Buildroot] [PATCH 2/2] Add systemd unit for lighttpd Maxime Ripard
  1 sibling, 1 reply; 6+ 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] 6+ messages in thread

* [Buildroot] [PATCH 2/2] Add systemd unit for lighttpd
  2012-05-29 10:00 [Buildroot] [pull request V2] Pull request for branch for-2012.08/systemd Maxime Ripard
  2012-05-29 10:00 ` [Buildroot] [PATCH 1/2] Rework of the init system Maxime Ripard
@ 2012-05-29 10:00 ` Maxime Ripard
  1 sibling, 0 replies; 6+ messages in thread
From: Maxime Ripard @ 2012-05-29 10:00 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 8d1f212..1f2f283 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] 6+ 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; 6+ 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] 6+ 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; 6+ 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] 6+ 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; 6+ 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] 6+ messages in thread

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

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-29 10:00 [Buildroot] [pull request V2] Pull request for branch for-2012.08/systemd 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-29 10:00 ` [Buildroot] [PATCH 2/2] Add systemd unit for lighttpd Maxime Ripard

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.