systemd support for various packages
cover systemd support for various packages
This set adds systemd support to packages that install sysv initscripts but not systemd services. The idea is that the choice between BR2_INIT_SYSV and BR2_INIT_SYSTEMD should affect the process list in the resulting system as little as possible.
All services start foreground processes (Type=simple), and follow current initscripts otherwise whenever possible.
This set is not complete, several difficult packages including nfs were skipped.
All patches are independent, and can be reviewed/commited one at a time in any order. And this is for the next branch of course.
PATCH 1/38 at: systemd support
--- package/at/at.mk | 8 ++++++++ package/at/atd.service | 11 +++++++++++ 2 files changed, 19 insertions(+) create mode 100644 package/at/atd.service
package/at/at.mk +8 -0
@@ -25,4 +25,12 @@ define AT_INSTALL_INIT_SYSV $(INSTALL) -m 0755 -D package/at/S99at $(TARGET_DIR)/etc/init.d/S99at endef +define AT_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/at/atd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/atd.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/atd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/atd.service +endef + $(eval $(autotools-package))
package/at/atd.service new file +11 -0
@@ -0,0 +1,11 @@ +[Unit] +Description=Run jobs queued for later execution +After=syslog.target + +[Service] +UMask=077 +ExecStart=/usr/sbin/atd -f +Restart=always + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
PATCH 1/38 at: systemd support
Hi Alex, all
Quoted 30 lines · Alex Suykov
Signed-off-by Alex Suykov <[email protected]>--- package/at/at.mk | 8 ++++++++ package/at/atd.service | 11 +++++++++++ 2 files changed, 19 insertions(+) create mode 100644 package/at/atd.servicepackage/at/at.mk +8
-0@@ -25,4 +25,12 @@ define AT_INSTALL_INIT_SYSV $(INSTALL) -m 0755 -D package/at/S99at $(TARGET_DIR)/etc/init.d/S99at endef +define AT_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/at/atd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/atd.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/atd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/atd.service +endef + $(eval $(autotools-package))package/at/atd.service new file +0
-0
package/at/atd.service line 8
Quoted 8 lines
package/at/atd.service new file +8
-0@@ -0,0 +1,11 @@ +[Unit] +Description=Run jobs queued for later execution +After=syslog.target + +[Service] +UMask=077 +ExecStart=/usr/sbin/atd -f +Restart=always
If I look at the service file from Arch Linux, which is a pretty long time systemd users, they don't have the UMask directive (I don't know why you would need it).
Also they use "Type=forking" and without the -f so systemd will take care of the daemon itself.
Quoted 10 lines
package/at/atd.service new file +3
-1+ +[Install] +WantedBy=multi-user.target --2.0.3
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH 1/2 at: bump version 3.1.16
In reply to Alex SuykovPatch refreshed :
0002-configure.ac-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch 0004-Makefile.in-replace-IROOT-by-DESTDIR.patch 0005-Makefile.in-make-install-fix.patch 0006-getloadavg.c-fix.patch 0007-parsetime.l-include-config-h.patch 0008-remove-glibc-__isleap-assumption.patch
Patch removed (merge upstream) :
0001-configure.ac-remove-manual-compiler-check-with-AC_TR.patch 0003-Makefile.in-add-LDFLAGS-to-linking-stage.patch
--- ...c-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch | 33 +++++++ ...c-remove-manual-compiler-check-with-AC_TR.patch | 33 ------- ...0002-Makefile.in-replace-IROOT-by-DESTDIR.patch | 104 +++++++++++++++++++++ ...c-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch | 34 ------- ...-Makefile.in-add-LDFLAGS-to-linking-stage.patch | 38 -------- ...-fix-make-install-for-non-root-don-t-stri.patch | 82 ++++++++++++++++ ...0004-Makefile.in-replace-IROOT-by-DESTDIR.patch | 97 ------------------- ...avg.c-compilation-revert-to-3.1.10-versio.patch | 35 +++++++ .../at/0005-Make-sure-to-include-config.h.patch | 26 ++++++ package/at/0005-Makefile.in-make-install-fix.patch | 69 -------------- package/at/0006-getloadavg.c-fix.patch | 30 ------ package/at/0006-remove-glibc-assumption.patch | 58 ++++++++++++ package/at/0007-parsetime.l-include-config-h.patch | 16 ---- .../at/0008-remove-glibc-__isleap-assumption.patch | 59 ------------ package/at/at.hash | 7 +- package/at/at.mk | 2 +- 16 files changed, 342 insertions(+), 381 deletions(-)
create mode 100644package/at/0001-configure.ac-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch
delete mode 100644package/at/0001-configure.ac-remove-manual-compiler-check-with-AC_TR.patch
create mode 100644package/at/0002-Makefile.in-replace-IROOT-by-DESTDIR.patch
delete mode 100644package/at/0002-configure.ac-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch
delete mode 100644package/at/0003-Makefile.in-add-LDFLAGS-to-linking-stage.patch
create mode 100644package/at/0003-Makefile.in-fix-make-install-for-non-root-don-t-stri.patch
delete mode 100644package/at/0004-Makefile.in-replace-IROOT-by-DESTDIR.patch
create mode 100644package/at/0004-fix-getloadavg.c-compilation-revert-to-3.1.10-versio.patch
create mode 100644 package/at/0005-Make-sure-to-include-config.h.patch delete mode 100644 package/at/0005-Makefile.in-make-install-fix.patch delete mode 100644 package/at/0006-getloadavg.c-fix.patch create mode 100644 package/at/0006-remove-glibc-assumption.patch delete mode 100644 package/at/0007-parsetime.l-include-config-h.patch delete mode 100644 package/at/0008-remove-glibc-__isleap-assumption.patch
(quoted diff) +0 -0
a/package/at/0001-configure.ac-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch b/package/at/0001-configure.ac-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch new file mode 100644
index 0000000..9a5caa1
--- /dev/null
+++b/package/at/0001-configure.ac-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch @@ -0,0 +1,33 @@
+From 13366eed02810508a25fd82e4300bdfde1ba4e9b Mon Sep 17 00:00:00 2001 +From: Marc Kleine-Budde <[email protected]>
+Date: Tue, 1 Dec 2009 17:22:22 +0100
+Subject: [PATCH] configure.ac: convert AC_TRY_COMPILE -> AC_COMPILE_IFELSE +
+Signed-off-by: Marc Kleine-Budde <[email protected]>
+--- + configure.ac | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index f3d2e35..549d5c8 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -40,11 +40,11 @@ case "$host" in
+ esac
+
+ AC_MSG_CHECKING(__attribute__((noreturn)))
+-AC_TRY_COMPILE([], [void __attribute__((noreturn)) panic(void);], +- AC_MSG_RESULT(yes) +- AC_DEFINE(HAVE_ATTRIBUTE_NORETURN, 1, +- [Define to 1 if compiler supports
__attribute__((noreturn))]),
+- AC_MSG_RESULT(no)
++AC_COMPILE_IFELSE(
++ [AC_LANG_PROGRAM([[]], [[void __attribute__((noreturn))
panic(void);]])],
++ [AC_MSG_RESULT(yes)
++ AC_DEFINE(HAVE_ATTRIBUTE_NORETURN, 1, Define to 1 if compiler
supports __attribute__((noreturn)))],
++ [AC_MSG_RESULT(no)]
+ )
+ dnl Checks for libraries.
+
+--
+2.4.5
(quoted diff) +0 -0
a/package/at/0001-configure.ac-remove-manual-compiler-check-with-AC_TR.patch b/package/at/0001-configure.ac-remove-manual-compiler-check-with-AC_TR.patch deleted file mode 100644
index 9e69922..0000000
---a/package/at/0001-configure.ac-remove-manual-compiler-check-with-AC_TR.patch +++ /dev/null
@@ -1,33 +0,0 @@
-From a182f18fa3b9fb3dd817b601b51c758f9a77f407 Mon Sep 17 00:00:00 2001 -From: Marc Kleine-Budde <[email protected]>
-Date: Tue, 1 Dec 2009 17:08:14 +0100
-Subject: [PATCH 1/5] configure.ac: remove manual compiler check with AC_TRY_RUN
-
-AC_TRY_RUN breaks cross compilation, so remove it. autotools will take -care about a working (cross-) compiler.
-
-Signed-off-by: Marc Kleine-Budde <[email protected]>
----
- configure.ac | 6 ------
- 1 files changed, 0 insertions(+), 6 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index a8c2a14..997a37f 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -38,12 +38,6 @@ case "$host" in
- AC_MSG_RESULT(no)
- ;;
- esac
--AC_MSG_CHECKING(Trying to compile a trivial ANSI C program) --AC_TRY_RUN([ main(int ac, char **av) { return 0; } ],
-- AC_MSG_RESULT(yes), -- AC_MSG_RESULT(no) -- AC_MSG_ERROR(Could not compile and run even a trivial ANSI C
program - check CC.),
-- AC_MSG_ERROR(Could not compile and run even a trivial ANSI C
program - check CC.))
- - AC_MSG_CHECKING(__attribute__((noreturn)))
- AC_TRY_COMPILE([], [void __attribute__((noreturn)) panic(void);], --- -1.6.5.3
-
(quoted diff) +0 -0
b/package/at/0002-Makefile.in-replace-IROOT-by-DESTDIR.patch new file mode 100644
index 0000000..0c322e2
package/at/0002-Makefile.in-replace-IROOT-by-DESTDIR.patch new file +39 -0
@@ -0,0 +1,104 @@ +From 854334f463a3e4694bbd681da30a400680ce5a3f Mon Sep 17 00:00:00 2001 +From: Marc Kleine-Budde <[email protected]> +Date: Tue, 1 Dec 2009 20:57:45 +0100 +Subject: [PATCH] Makefile.in: replace IROOT by DESTDIR + +This patch replaces IROOT by DESTDIR, which is the autotools standard +variable. For backwards compatibilty IROOT overwrites the DESTDIR. + +Signed-off-by: Marc Kleine-Budde <[email protected]> +--- + Makefile.in | 68 ++++++++++++++++++++++++++++++++----------------------------- + 1 file changed, 36 insertions(+), 32 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index 5dd2767..31eac70 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -17,6 +17,10 @@ atdocdir = $(docdir)/at + etcdir = @ETCDIR@ + systemdsystemunitdir = @systemdsystemunitdir@ + ++ifdef IROOT ++DESTDIR? ? = $(DESTDIR) ++endif ++ + DAEMON_USERNAME = @DAEMON_USERNAME@ + DAEMON_GROUPNAME= @DAEMON_GROUPNAME@ + LOADAVG_MX = @LOADAVG_MX@ +@@ -91,41 +95,41 @@ atrun: atrun.in + $(CC) -c $(CFLAGS) $(DEFS) $*.c + + install: all +- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(etcdir) +- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(bindir) +- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(sbindir) +- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(docdir) +- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(atdocdir) +- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 755 -d
$(IROOT)$(ATSPOOL_DIR) $(IROOT)$(ATJOB_DIR)
+- chmod 1770 $(IROOT)$(ATSPOOL_DIR) $(IROOT)$(ATJOB_DIR) +- touch $(IROOT)$(LFILE) +- chmod 600 $(IROOT)$(LFILE) +- chown $(DAEMON_USERNAME):$(DAEMON_GROUPNAME) $(IROOT)$(LFILE) +- test -f $(IROOT)$(etcdir)/at.allow || test -f $(IROOT)$(etcdir)/at.deny || $(INSTALL) -o root -g $(DAEMON_GROUPNAME) -m 640 at.deny $(IROOT)$(etcdir)/ +- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 at $(IROOT)$(bindir) +- $(LN_S) -f at $(IROOT)$(bindir)/atq +- $(LN_S) -f at $(IROOT)$(bindir)/atrm +- $(INSTALL) -g root -o root -m 755 batch $(IROOT)$(bindir) +- $(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man1dir) +- $(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man5dir) +- $(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man8dir) +- $(INSTALL) -g root -o root -m 755 atd $(IROOT)$(sbindir) +- $(INSTALL) -g root -o root -m 755 atrun $(IROOT)$(sbindir) +- $(INSTALL) -g root -o root -m 644 at.1 $(IROOT)$(man1dir)/ +- cd $(IROOT)$(man1dir) && $(LN_S) -f at.1 atq.1 && $(LN_S) -f at.1
batch.1 && $(LN_S) -f at.1 atrm.1
+- $(INSTALL) -g root -o root -m 644 atd.8 $(IROOT)$(man8dir)/
++ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(etcdir)
++ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(bindir)
++ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(sbindir)
++ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(docdir)
++ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(atdocdir)
++ $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 755 -d
$(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR)
++ chmod 1770 $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR)
++ touch $(DESTDIR)$(LFILE)
++ chmod 600 $(DESTDIR)$(LFILE)
++ chown $(DAEMON_USERNAME):$(DAEMON_GROUPNAME) $(DESTDIR)$(LFILE)
++ test -f $(DESTDIR)$(etcdir)/at.allow || test -f
$(DESTDIR)$(etcdir)/at.deny || $(INSTALL) -o root -g $(DAEMON_GROUPNAME) -m 640 at.deny $(DESTDIR)$(etcdir)/
++ $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 at
$(DESTDIR)$(bindir)
++ $(LN_S) -f at $(DESTDIR)$(bindir)/atq
++ $(LN_S) -f at $(DESTDIR)$(bindir)/atrm
++ $(INSTALL) -g root -o root -m 755 batch $(DESTDIR)$(bindir)
++ $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man1dir)
++ $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man5dir)
++ $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man8dir)
++ $(INSTALL) -g root -o root -m 755 atd $(DESTDIR)$(sbindir)
++ $(INSTALL) -g root -o root -m 755 atrun $(DESTDIR)$(sbindir)
++ $(INSTALL) -g root -o root -m 644 at.1 $(DESTDIR)$(man1dir)/
++ cd $(DESTDIR)$(man1dir) && $(LN_S) -f at.1 atq.1 && $(LN_S) -f at.1
batch.1 && $(LN_S) -f at.1 atrm.1
++ $(INSTALL) -g root -o root -m 644 atd.8 $(DESTDIR)$(man8dir)/
+ sed "s,\$${exec_prefix},$(exec_prefix),g" <atrun.8>tmpman
+- $(INSTALL) -g root -o root -m 644 tmpman $(IROOT)$(man8dir)/atrun.8
++ $(INSTALL) -g root -o root -m 644 tmpman $(DESTDIR)$(man8dir)/atrun.8
+ rm -f tmpman
+- $(INSTALL) -g root -o root -m 644 at.allow.5 $(IROOT)$(man5dir)/ +- cd $(IROOT)$(man5dir) && $(LN_S) -f at.allow.5 at.deny.5 +- $(INSTALL) -g root -o root -m 644 $(DOCS) $(IROOT)$(atdocdir) +- rm -f $(IROOT)$(mandir)/cat1/at.1* $(IROOT)$(mandir)/cat1/batch.1* \ +- $(IROOT)$(mandir)/cat1/atq.1* +- rm -f $(IROOT)$(mandir)/cat1/atd.8*
++ $(INSTALL) -g root -o root -m 644 at.allow.5 $(DESTDIR)$(man5dir)/
++ cd $(DESTDIR)$(man5dir) && $(LN_S) -f at.allow.5 at.deny.5
++ $(INSTALL) -g root -o root -m 644 $(DOCS) $(DESTDIR)$(atdocdir)
++ rm -f $(DESTDIR)$(mandir)/cat1/at.1* $(DESTDIR)$(mandir)/cat1/batch.1* \
++ $(DESTDIR)$(mandir)/cat1/atq.1*
++ rm -f $(DESTDIR)$(mandir)/cat1/atd.8*
+ if test x"$(systemdsystemunitdir)" != xno; then \
+- $(INSTALL) -o root -g root -m 755 -d $(IROOT)$(systemdsystemunitdir); \ +- $(INSTALL) -o root -g root -m 644 atd.service
$(IROOT)$(systemdsystemunitdir); \
++ $(INSTALL) -o root -g root -m 755 -d
$(DESTDIR)$(systemdsystemunitdir); \
++ $(INSTALL) -o root -g root -m 644 atd.service
$(DESTDIR)$(systemdsystemunitdir); \
+ fi
+
+ dist: checkin $(DIST) $(LIST) Filelist.asc
+--
+2.4.5
(quoted diff) +0 -0
a/package/at/0002-configure.ac-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch b/package/at/0002-configure.ac-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch deleted file mode 100644
index e4276ac..0000000
---a/package/at/0002-configure.ac-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch +++ /dev/null
@@ -1,34 +0,0 @@
-From e12c96cccab550eda31cf7bb1dedddd3670ffe69 Mon Sep 17 00:00:00 2001 -From: Marc Kleine-Budde <[email protected]>
-Date: Tue, 1 Dec 2009 17:22:22 +0100
-Subject: [PATCH 2/5] configure.ac: convert AC_TRY_COMPILE -> AC_COMPILE_IFELSE
-
-Signed-off-by: Marc Kleine-Budde <[email protected]>
----
- configure.ac | 10 +++++-----
- 1 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 997a37f..cab80ed 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -40,11 +40,11 @@ case "$host" in
- esac
- - AC_MSG_CHECKING(__attribute__((noreturn))) --AC_TRY_COMPILE([], [void __attribute__((noreturn)) panic(void);],
-- AC_MSG_RESULT(yes)
-- AC_DEFINE(HAVE_ATTRIBUTE_NORETURN, 1,
-- [Define to 1 if compiler supports
__attribute__((noreturn))]),
-- AC_MSG_RESULT(no)
-+AC_COMPILE_IFELSE(
-+ [AC_LANG_PROGRAM([[]], [[void __attribute__((noreturn))
panic(void);]])],
-+ [AC_MSG_RESULT(yes)
-+ AC_DEFINE(HAVE_ATTRIBUTE_NORETURN, 1, Define to 1 if compiler
supports __attribute__((noreturn)))],
-+ [AC_MSG_RESULT(no)]
- )
- dnl Checks for libraries.
- --- -1.6.5.3
-
(quoted diff) +0 -0
a/package/at/0003-Makefile.in-add-LDFLAGS-to-linking-stage.patch b/package/at/0003-Makefile.in-add-LDFLAGS-to-linking-stage.patch deleted file mode 100644
index e1ab3d3..0000000
package/at/0003-Makefile.in-add-LDFLAGS-to-linking-stage.patch deleted +0 -34
@@ -1,38 +0,0 @@ -From 8720a71757f3626bf3bbc3a7aa2185e6387e5689 Mon Sep 17 00:00:00 2001 -From: Marc Kleine-Budde <[email protected]> -Date: Tue, 1 Dec 2009 20:37:31 +0100 -Subject: [PATCH 3/5] Makefile.in: add LDFLAGS to linking stage - -The linking stage ignores the LDFLAGS, this breaks if the flex library -lives in a non standard location. - -This patch add LDFLAGS to both "at" and "atd" linking stage. - -Signed-off-by: Marc Kleine-Budde <[email protected]> ---- - Makefile.in | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Makefile.in b/Makefile.in -index dae6b7d..b766bbb 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -65,13 +65,13 @@ LIST = Filelist Filelist.asc - all: at atd atrun - - at: $(ATOBJECTS) -- $(CC) $(CFLAGS) -o at $(ATOBJECTS) $(LIBS) $(LEXLIB) -+ $(CC) $(CFLAGS) $(LDFLAGS) -o at $(ATOBJECTS) $(LIBS) $(LEXLIB) - rm -f $(CLONES) - $(LN_S) -f at atq - $(LN_S) -f at atrm - - atd: $(RUNOBJECTS) -- $(CC) $(CFLAGS) -o atd $(RUNOBJECTS) $(LIBS) $(PAMLIB) -+ $(CC) $(CFLAGS) $(LDFLAGS) -o atd $(RUNOBJECTS) $(LIBS) $(PAMLIB) - - y.tab.c y.tab.h: parsetime.y - $(YACC) -d parsetime.y --- -1.6.5.3 -
(quoted diff) +0 -0
a/package/at/0003-Makefile.in-fix-make-install-for-non-root-don-t-stri.patch b/package/at/0003-Makefile.in-fix-make-install-for-non-root-don-t-stri.patch new file mode 100644
index 0000000..f5e9a5b
--- /dev/null
+++b/package/at/0003-Makefile.in-fix-make-install-for-non-root-don-t-stri.patch @@ -0,0 +1,82 @@
+From ee67529dded3cca7e9768c173484a9c7e9aa9b69 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Aur=C3=A9lien=20Chabot?= <[email protected]> +Date: Mon, 13 Jul 2015 23:26:53 +0200
+Subject: [PATCH] Makefile.in: fix make install for non-root, don't strip +
+Buildroot will ensure all files are owned by root and stripped anyway +(if needed) before the rootfs is created.
+
+Signed-off-by: Peter Korsgaard <[email protected]>
+--- + Makefile.in | 43 +++++++++++++++++++++----------------------
+ 1 file changed, 21 insertions(+), 22 deletions(-) +
+diff --git a/Makefile.in b/Makefile.in +index 31eac70..8934902 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -95,41 +95,40 @@ atrun: atrun.in
+ $(CC) -c $(CFLAGS) $(DEFS) $*.c
+
+ install: all
+- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(etcdir) +- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(bindir) +- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(sbindir) +- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(docdir) +- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(atdocdir) +- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 755 -d
$(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR)
++ $(INSTALL) -m 755 -d $(DESTDIR)$(etcdir)
++ $(INSTALL) -m 755 -d $(DESTDIR)$(bindir)
++ $(INSTALL) -m 755 -d $(DESTDIR)$(sbindir)
++ $(INSTALL) -m 755 -d $(DESTDIR)$(docdir)
++ $(INSTALL) -m 755 -d $(DESTDIR)$(atdocdir)
++ $(INSTALL) -m 755 -d $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR)
+ chmod 1770 $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR)
+ touch $(DESTDIR)$(LFILE)
+ chmod 600 $(DESTDIR)$(LFILE)
+- chown $(DAEMON_USERNAME):$(DAEMON_GROUPNAME) $(DESTDIR)$(LFILE) +- test -f $(DESTDIR)$(etcdir)/at.allow || test -f $(DESTDIR)$(etcdir)/at.deny || $(INSTALL) -o root -g $(DAEMON_GROUPNAME)
-m 640 at.deny $(DESTDIR)$(etcdir)/
+- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 at
$(DESTDIR)$(bindir)
++ test -f $(DESTDIR)$(etcdir)/at.allow || test -f
$(DESTDIR)$(etcdir)/at.deny || $(INSTALL) -m 640 at.deny $(DESTDIR)$(etcdir)/
++ $(INSTALL) -m 6755 at $(DESTDIR)$(bindir)
+ $(LN_S) -f at $(DESTDIR)$(bindir)/atq
+ $(LN_S) -f at $(DESTDIR)$(bindir)/atrm
+- $(INSTALL) -g root -o root -m 755 batch $(DESTDIR)$(bindir) +- $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man1dir) +- $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man5dir) +- $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man8dir) +- $(INSTALL) -g root -o root -m 755 atd $(DESTDIR)$(sbindir) +- $(INSTALL) -g root -o root -m 755 atrun $(DESTDIR)$(sbindir) +- $(INSTALL) -g root -o root -m 644 at.1 $(DESTDIR)$(man1dir)/
++ $(INSTALL) -m 755 batch $(DESTDIR)$(bindir)
++ $(INSTALL) -d -m 755 $(DESTDIR)$(man1dir)
++ $(INSTALL) -d -m 755 $(DESTDIR)$(man5dir)
++ $(INSTALL) -d -m 755 $(DESTDIR)$(man8dir)
++ $(INSTALL) -m 755 atd $(DESTDIR)$(sbindir)
++ $(INSTALL) -m 755 atrun $(DESTDIR)$(sbindir)
++ $(INSTALL) -m 644 at.1 $(DESTDIR)$(man1dir)/
+ cd $(DESTDIR)$(man1dir) && $(LN_S) -f at.1 atq.1 && $(LN_S) -f at.1
batch.1 && $(LN_S) -f at.1 atrm.1
+- $(INSTALL) -g root -o root -m 644 atd.8 $(DESTDIR)$(man8dir)/
++ $(INSTALL) -m 644 atd.8 $(DESTDIR)$(man8dir)/
+ sed "s,\$${exec_prefix},$(exec_prefix),g" <atrun.8>tmpman
+- $(INSTALL) -g root -o root -m 644 tmpman $(DESTDIR)$(man8dir)/atrun.8
++ $(INSTALL) -m 644 tmpman $(DESTDIR)$(man8dir)/atrun.8
+ rm -f tmpman
+- $(INSTALL) -g root -o root -m 644 at.allow.5 $(DESTDIR)$(man5dir)/
++ $(INSTALL) -m 644 at.allow.5 $(DESTDIR)$(man5dir)/
+ cd $(DESTDIR)$(man5dir) && $(LN_S) -f at.allow.5 at.deny.5
+- $(INSTALL) -g root -o root -m 644 $(DOCS) $(DESTDIR)$(atdocdir)
++ $(INSTALL) -m 644 $(DOCS) $(DESTDIR)$(atdocdir)
+ rm -f $(DESTDIR)$(mandir)/cat1/at.1* $(DESTDIR)$(mandir)/cat1/batch.1* \
+ $(DESTDIR)$(mandir)/cat1/atq.1*
+ rm -f $(DESTDIR)$(mandir)/cat1/atd.8*
+ if test x"$(systemdsystemunitdir)" != xno; then \
+- $(INSTALL) -o root -g root -m 755 -d
$(DESTDIR)$(systemdsystemunitdir); \
+- $(INSTALL) -o root -g root -m 644 atd.service
$(DESTDIR)$(systemdsystemunitdir); \
++ $(INSTALL) -m 755 -d $(DESTDIR)$(systemdsystemunitdir); \
++ $(INSTALL) -m 644 atd.service $(DESTDIR)$(systemdsystemunitdir); \
+ fi
+
+ dist: checkin $(DIST) $(LIST) Filelist.asc
+--
+2.4.5
(quoted diff) +0 -0
b/package/at/0004-Makefile.in-replace-IROOT-by-DESTDIR.patch deleted file mode 100644
index 0d1d5f6..0000000
package/at/0004-Makefile.in-replace-IROOT-by-DESTDIR.patch deleted +0 -11
@@ -1,97 +0,0 @@ -From 195d30e2e01fe2f91ed3bdaeec3982aa66b309dd Mon Sep 17 00:00:00 2001 -From: Marc Kleine-Budde <[email protected]> -Date: Tue, 1 Dec 2009 20:57:45 +0100 -Subject: [PATCH 5/5] Makefile.in: replace IROOT by DESTDIR - -This patch replaces IROOT by DESTDIR, which is the autotools standard -variable. For backwards compatibilty IROOT overwrites the DESTDIR. - -Signed-off-by: Marc Kleine-Budde <[email protected]> ---- - Makefile.in | 64
+++++++++++++++++++++++++++++++-----------------------------
- 1 file changed, 34 insertions(+), 30 deletions(-)
-
-Index: at-3.1.13/Makefile.in
-===================================================================
---- at-3.1.13.orig/Makefile.in
-+++ at-3.1.13/Makefile.in
-@@ -16,6 +16,10 @@ docdir = $(prefix)/doc
- atdocdir = $(docdir)/at
- etcdir = @ETCDIR@
- -+ifdef IROOT
-+DESTDIR = $(IROOT)
-+endif
-+
- DAEMON_USERNAME = @DAEMON_USERNAME@
- DAEMON_GROUPNAME= @DAEMON_GROUPNAME@
- LOADAVG_MX = @LOADAVG_MX@
-@@ -86,38 +90,38 @@ atrun: atrun.in
- $(CC) -c $(CFLAGS) $(DEFS) $*.c
- - install: all
-- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(etcdir)
-- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(bindir)
-- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(sbindir)
-- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(docdir)
-- $(INSTALL) -g root -o root -m 755 -d $(IROOT)$(atdocdir)
-- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 755 -d
$(IROOT)$(ATSPOOL_DIR) $(IROOT)$(ATJOB_DIR)
-- chmod 1770 $(IROOT)$(ATSPOOL_DIR) $(IROOT)$(ATJOB_DIR)
-- touch $(IROOT)$(LFILE)
-- chmod 600 $(IROOT)$(LFILE)
-- chown $(DAEMON_USERNAME):$(DAEMON_GROUPNAME) $(IROOT)$(LFILE)
-- test -f $(IROOT)$(etcdir)/at.allow || test -f
$(IROOT)$(etcdir)/at.deny || $(INSTALL) -o root -g $(DAEMON_GROUPNAME) -m 640 at.deny $(IROOT)$(etcdir)/
-- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 at
$(IROOT)$(bindir)
-- $(LN_S) -f at $(IROOT)$(bindir)/atq
-- $(LN_S) -f at $(IROOT)$(bindir)/atrm
-- $(INSTALL) -g root -o root -m 755 batch $(IROOT)$(bindir)
-- $(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man1dir)
-- $(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man5dir)
-- $(INSTALL) -d -o root -g root -m 755 $(IROOT)$(man8dir)
-- $(INSTALL) -g root -o root -m 755 atd $(IROOT)$(sbindir)
-- $(INSTALL) -g root -o root -m 755 atrun $(IROOT)$(sbindir)
-- $(INSTALL) -g root -o root -m 644 at.1 $(IROOT)$(man1dir)/
-- cd $(IROOT)$(man1dir) && $(LN_S) -f at.1 atq.1 && $(LN_S) -f at.1
batch.1 && $(LN_S) -f at.1 atrm.1
-- $(INSTALL) -g root -o root -m 644 atd.8 $(IROOT)$(man8dir)/
-+ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(etcdir)
-+ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(bindir)
-+ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(sbindir)
-+ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(docdir)
-+ $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(atdocdir)
-+ $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 755 -d
$(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR)
-+ chmod 1770 $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR)
-+ touch $(DESTDIR)$(LFILE)
-+ chmod 600 $(DESTDIR)$(LFILE)
-+ chown $(DAEMON_USERNAME):$(DAEMON_GROUPNAME) $(DESTDIR)$(LFILE)
-+ test -f $(DESTDIR)$(etcdir)/at.allow || test -f
$(DESTDIR)$(etcdir)/at.deny || $(INSTALL) -o root -g $(DAEMON_GROUPNAME) -m 640 at.deny $(DESTDIR$
-+ $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 -s at
$(DESTDIR)$(bindir)
-+ $(LN_S) -f at $(DESTDIR)$(bindir)/atq
-+ $(LN_S) -f at $(DESTDIR)$(bindir)/atrm
-+ $(INSTALL) -g root -o root -m 755 batch $(DESTDIR)$(bindir)
-+ $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man1dir)
-+ $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man5dir)
-+ $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man8dir)
-+ $(INSTALL) -g root -o root -m 755 -s atd $(DESTDIR)$(sbindir)
-+ $(INSTALL) -g root -o root -m 755 atrun $(DESTDIR)$(sbindir)
-+ $(INSTALL) -g root -o root -m 644 at.1 $(DESTDIR)$(man1dir)/
-+ cd $(DESTDIR)$(man1dir) && $(LN_S) -f at.1 atq.1 && $(LN_S) -f at.1
batch.1 && $(LN_S) -f at.1 atrm.1
-+ $(INSTALL) -g root -o root -m 644 atd.8 $(DESTDIR)$(man8dir)/
- sed "s,\$${exec_prefix},$(exec_prefix),g" <atrun.8>tmpman
-- $(INSTALL) -g root -o root -m 644 tmpman $(IROOT)$(man8dir)/atrun.8
-+ $(INSTALL) -g root -o root -m 644 tmpman $(DESTDIR)$(man8dir)/atrun.8
- rm -f tmpman
-- $(INSTALL) -g root -o root -m 644 at.allow.5 $(IROOT)$(man5dir)/
-- cd $(IROOT)$(man5dir) && $(LN_S) -f at.allow.5 at.deny.5
-- $(INSTALL) -g root -o root -m 644 $(DOCS) $(IROOT)$(atdocdir)
-- rm -f $(IROOT)$(mandir)/cat1/at.1* $(IROOT)$(mandir)/cat1/batch.1* \
-- $(IROOT)$(mandir)/cat1/atq.1*
-- rm -f $(IROOT)$(mandir)/cat1/atd.8*
-+ $(INSTALL) -g root -o root -m 644 at.allow.5 $(DESTDIR)$(man5dir)/
-+ cd $(DESTDIR)$(man5dir) && $(LN_S) -f at.allow.5 at.deny.5
-+ $(INSTALL) -g root -o root -m 644 $(DOCS) $(DESTDIR)$(atdocdir)
-+ rm -f $(DESTDIR)$(mandir)/cat1/at.1* $(DESTDIR)$(mandir)/cat1/batch.1* \
-+ $(DESTDIR)$(mandir)/cat1/atq.1*
-+ rm -f $(DESTDIR)$(mandir)/cat1/atd.8*
- - dist: checkin $(DIST) $(LIST) Filelist.asc
- (cd ..; tar cf - `for a in $(DIST) $(LIST); do echo
at-$(VERSION)/$$a; done` |\
(quoted diff) +0 -0
a/package/at/0004-fix-getloadavg.c-compilation-revert-to-3.1.10-versio.patch b/package/at/0004-fix-getloadavg.c-compilation-revert-to-3.1.10-versio.patch new file mode 100644
index 0000000..5c8415a
--- /dev/null
+++b/package/at/0004-fix-getloadavg.c-compilation-revert-to-3.1.10-versio.patch @@ -0,0 +1,35 @@
+From 41582d86d4365e23c8f74ba23a6102b68bf1ef8c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Aur=C3=A9lien=20Chabot?= <[email protected]> +Date: Mon, 13 Jul 2015 23:27:57 +0200
+Subject: [PATCH] fix getloadavg.c compilation, revert to 3.1.10 version ++getloadavg.c shipped with 3.1.13 doesn't compile because it references +headers not shipped. Fix it by simply reverting to the 3.1.10 version. +
+Signed-off-by: Peter Korsgaard <[email protected]>
+--- + getloadavg.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-) +
+diff --git a/getloadavg.c b/getloadavg.c +index cf5869f..23d18eb 100644
+--- a/getloadavg.c
++++ b/getloadavg.c
+@@ -66,11 +66,12 @@ Boston, MA 02110-1301 USA */ +
+ /* This should always be first. */
+ #ifdef HAVE_CONFIG_H
+-#include <config.h>
++#include "config.h"
+ #endif
+
+-#include "lisp.h" +-#include "sysfile.h" /* for encapsulated open, close, read, write */
++#include <sys/types.h>
++#include <sys/stat.h>
++#include <fcntl.h>
+
+ #ifndef HAVE_GETLOADAVG
+
+--
+2.4.5
(quoted diff) +0 -0
b/package/at/0005-Make-sure-to-include-config.h.patch new file mode 100644
index 0000000..b96f939
package/at/0005-Make-sure-to-include-config.h.patch new file +26 -0
@@ -0,0 +1,26 @@ +From 7293ec22e5dde858ba9ecae35dd768237d808a0c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Aur=C3=A9lien=20Chabot?= <[email protected]> +Date: Mon, 13 Jul 2015 23:28:36 +0200 +Subject: [PATCH] Make sure to include config.h + +So that NEEDS_* macros are properly taken into account. This was + a problem for NEEDS_YYWRAP, which was set to 1 in config.h, +but the corresponding code wasn't compiled in. +--- + parsetime.l | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/parsetime.l b/parsetime.l +index d695db5..d39b62e 100644 +--- a/parsetime.l ++++ b/parsetime.l +@@ -4,6 +4,7 @@ + #include <time.h> + #include "y.tab.h" + #include "parsetime.h" ++#include "config.h" + + char *last_token = NULL; + char **my_argv; +-- +2.4.5
(quoted diff) +0 -0
b/package/at/0005-Makefile.in-make-install-fix.patch deleted file mode 100644
index ad84344..0000000
package/at/0005-Makefile.in-make-install-fix.patch deleted +0 -23
@@ -1,69 +0,0 @@ -[PATCH]: Makefile.in: fix make install for non-root, don't strip - -Buildroot will ensure all files are owned by root and stripped anyway -(if needed) before the rootfs is created. - -Signed-off-by: Peter Korsgaard <[email protected]> ---- - Makefile.in | 39 +++++++++++++++++++-------------------- - 1 file changed, 19 insertions(+), 20 deletions(-) - -Index: at-3.1.13/Makefile.in -=================================================================== ---- at-3.1.13.orig/Makefile.in -+++ at-3.1.13/Makefile.in -@@ -90,35 +90,34 @@ atrun: atrun.in - $(CC) -c $(CFLAGS) $(DEFS) $*.c - - install: all -- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(etcdir) -- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(bindir) -- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(sbindir) -- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(docdir) -- $(INSTALL) -g root -o root -m 755 -d $(DESTDIR)$(atdocdir) -- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 755 -d
$(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR)
-+ $(INSTALL) -m 755 -d $(DESTDIR)$(etcdir)
-+ $(INSTALL) -m 755 -d $(DESTDIR)$(bindir)
-+ $(INSTALL) -m 755 -d $(DESTDIR)$(sbindir)
-+ $(INSTALL) -m 755 -d $(DESTDIR)$(docdir)
-+ $(INSTALL) -m 755 -d $(DESTDIR)$(atdocdir)
-+ $(INSTALL) -m 755 -d $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR)
- chmod 1770 $(DESTDIR)$(ATSPOOL_DIR) $(DESTDIR)$(ATJOB_DIR)
- touch $(DESTDIR)$(LFILE)
- chmod 600 $(DESTDIR)$(LFILE)
-- chown $(DAEMON_USERNAME):$(DAEMON_GROUPNAME) $(DESTDIR)$(LFILE)
-- test -f $(DESTDIR)$(etcdir)/at.allow || test -f
$(DESTDIR)$(etcdir)/at.deny || $(INSTALL) -o root -g $(DAEMON_GROUPNAME) -m 640 at.deny $(DESTDIR$
-- $(INSTALL) -g $(DAEMON_GROUPNAME) -o $(DAEMON_USERNAME) -m 6755 -s at
$(DESTDIR)$(bindir)
-+ test -f $(DESTDIR)$(etcdir)/at.allow || test -f
$(DESTDIR)$(etcdir)/at.deny || $(INSTALL) -m 640 at.deny $(DESTDIR)$(etcdir)/
-+ $(INSTALL) -m 6755 at $(DESTDIR)$(bindir)
- $(LN_S) -f at $(DESTDIR)$(bindir)/atq
- $(LN_S) -f at $(DESTDIR)$(bindir)/atrm
-- $(INSTALL) -g root -o root -m 755 batch $(DESTDIR)$(bindir)
-- $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man1dir)
-- $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man5dir)
-- $(INSTALL) -d -o root -g root -m 755 $(DESTDIR)$(man8dir)
-- $(INSTALL) -g root -o root -m 755 -s atd $(DESTDIR)$(sbindir)
-- $(INSTALL) -g root -o root -m 755 atrun $(DESTDIR)$(sbindir)
-- $(INSTALL) -g root -o root -m 644 at.1 $(DESTDIR)$(man1dir)/
-+ $(INSTALL) -m 755 batch $(DESTDIR)$(bindir)
-+ $(INSTALL) -d -m 755 $(DESTDIR)$(man1dir)
-+ $(INSTALL) -d -m 755 $(DESTDIR)$(man5dir)
-+ $(INSTALL) -d -m 755 $(DESTDIR)$(man8dir)
-+ $(INSTALL) -m 755 atd $(DESTDIR)$(sbindir)
-+ $(INSTALL) -m 755 atrun $(DESTDIR)$(sbindir)
-+ $(INSTALL) -m 644 at.1 $(DESTDIR)$(man1dir)/
- cd $(DESTDIR)$(man1dir) && $(LN_S) -f at.1 atq.1 && $(LN_S) -f at.1
batch.1 && $(LN_S) -f at.1 atrm.1
-- $(INSTALL) -g root -o root -m 644 atd.8 $(DESTDIR)$(man8dir)/
-+ $(INSTALL) -m 644 atd.8 $(DESTDIR)$(man8dir)/
- sed "s,\$${exec_prefix},$(exec_prefix),g" <atrun.8>tmpman
-- $(INSTALL) -g root -o root -m 644 tmpman $(DESTDIR)$(man8dir)/atrun.8
-+ $(INSTALL) -m 644 tmpman $(DESTDIR)$(man8dir)/atrun.8
- rm -f tmpman
-- $(INSTALL) -g root -o root -m 644 at.allow.5 $(DESTDIR)$(man5dir)/
-+ $(INSTALL) -m 644 at.allow.5 $(DESTDIR)$(man5dir)/
- cd $(DESTDIR)$(man5dir) && $(LN_S) -f at.allow.5 at.deny.5
-- $(INSTALL) -g root -o root -m 644 $(DOCS) $(DESTDIR)$(atdocdir)
-+ $(INSTALL) -m 644 $(DOCS) $(DESTDIR)$(atdocdir)
- rm -f $(DESTDIR)$(mandir)/cat1/at.1* $(DESTDIR)$(mandir)/cat1/batch.1* \
- $(DESTDIR)$(mandir)/cat1/atq.1*
- rm -f $(DESTDIR)$(mandir)/cat1/atd.8*
(quoted diff) +0 -0
b/package/at/0006-getloadavg.c-fix.patch
deleted file mode 100644
index e073927..0000000
package/at/0006-getloadavg.c-fix.patch deleted +0 -27
@@ -1,30 +0,0 @@ -[PATCH]: fix getloadavg.c compilation, revert to 3.1.10 version - -getloadavg.c shipped with 3.1.13 doesn't compile because it references -headers not shipped. Fix it by simply reverting to the 3.1.10 version. - -Signed-off-by: Peter Korsgaard <[email protected]> ---- - getloadavg.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -Index: at-3.1.13/getloadavg.c -=================================================================== ---- at-3.1.13.orig/getloadavg.c -+++ at-3.1.13/getloadavg.c -@@ -66,11 +66,12 @@ Boston, MA 02110-1301 USA */ - - /* This should always be first. */ - #ifdef HAVE_CONFIG_H --#include <config.h> -+#include "config.h" - #endif - --#include "lisp.h" --#include "sysfile.h" /* for encapsulated open, close, read, write */ -+#include <sys/types.h> -+#include <sys/stat.h> -+#include <fcntl.h> - - #ifndef HAVE_GETLOADAVG - diff --git a/package/at/0006-remove-glibc-assumption.patch
b/package/at/0006-remove-glibc-assumption.patch
new file mode 100644
index 0000000..7514c07
package/at/0006-remove-glibc-assumption.patch new file +58 -0
58 lines not on this page · raw message
(quoted diff) +0 -0
b/package/at/0007-parsetime.l-include-config-h.patch deleted file mode 100644
index f4111eb..0000000
package/at/0007-parsetime.l-include-config-h.patch deleted +0 -15
@@ -1,16 +0,0 @@ -Make sure to include config.h so that NEEDS_* macros are properly -taken into account. This was a problem for NEEDS_YYWRAP, which was set -to 1 in config.h, but the corresponding code wasn't compiled in. - -Index: at-3.1.13/parsetime.l -=================================================================== ---- at-3.1.13.orig/parsetime.l -+++ at-3.1.13/parsetime.l -@@ -4,6 +4,7 @@ - #include <time.h> - #include "y.tab.h" - #include "parsetime.h" -+#include "config.h" - - char *last_token = NULL; - char **my_argv;
(quoted diff) +0 -0
b/package/at/0008-remove-glibc-__isleap-assumption.patch deleted file mode 100644
index 2152249..0000000
package/at/0008-remove-glibc-__isleap-assumption.patch deleted +0 -56
56 lines not on this page · raw message
package/at/at.hash +0 -1
@@ -1,4 +1,3 @@ -# From
http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/a/at/at_3.1.13-2%2Bdeb7u1.dsc
-sha1 9873e0c38403ef58364912d0b505fd20798fd400 at_3.1.13.orig.tar.gz
-sha256 3a8b90868d615d21a92f4986ea9a823886329af8fae8dd7ab4eed9b273bca072
at_3.1.13.orig.tar.gz
-md5 1da61af6c29e323abaaf13ee1a8dad79 at_3.1.13.orig.tar.gz
+# From
http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/a/at/at_3.1.16-1.dsc
+sha1 5ad64a471d0ed9985541e918e096f69dc2963cf0 at_3.1.16.orig.tar.gz
+sha256 cb9af59c6a54edce9536ba629841055409d1f89d8ae26494727a97141fb4d5c1
at_3.1.16.orig.tar.gz
package/at/at.mk +0 -0
@@ -4,7 +4,7 @@ #
################################################################################
-AT_VERSION = 3.1.13
+AT_VERSION = 3.1.16
AT_SOURCE = at_$(AT_VERSION).orig.tar.gz
AT_SITE =
http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/a/at
# missing deps for parsetime.l
Signature · 1 line
2.4.5
PATCH 1/2 at: bump version 3.1.16
Dear Aur?lien Chabot,
Quoted 8 lines · Aur?lien Chabot
Patch refreshed :
0002-configure.ac-convert-AC_TRY_COMPILE-AC_COMPILE_IFELS.patch 0004-Makefile.in-replace-IROOT-by-DESTDIR.patch 0005-Makefile.in-make-install-fix.patch 0006-getloadavg.c-fix.patch 0007-parsetime.l-include-config-h.patch 0008-remove-glibc-__isleap-assumption.patch
Quoted 5 lines
Patch removed (merge upstream) :
0001-configure.ac-remove-manual-compiler-check-with-AC_TR.patch 0003-Makefile.in-add-LDFLAGS-to-linking-stage.patchSigned-off-by Aur?lien Chabot <[email protected]>
Your patches have been wrapped by your e-mail client. Please use git send-email.
Also, when you resend new version of patches, please use something like [PATCH v2] in the subject, and indicate in a cover letter or inside the patches what are the changes with the previous version. Do use [PATCH v2] in the subject, generate your patches with:
git format-patch --subject-prefix "PATCHv2"
Also, you probably don't need to send them as replies to the old systemd support thread.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 2/2 at: add systemd support
In reply to Alex Suykov--- package/at/at.mk | 12 ++++++++++++ 1 file changed, 12 insertions(+)
package/at/at.mk +10 -0
@@ -21,8 +21,20 @@ AT_CONF_OPTS = \ --with-daemon_groupname=root \ SENDMAIL=/usr/sbin/sendmail +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +AT_CONF_OPTS += --with-systemdsystemunitdir=/usr/lib/systemd/system +else +AT_CONF_OPTS += --with-systemdsystemunitdir=no +endif + define AT_INSTALL_INIT_SYSV $(INSTALL) -m 0755 -D package/at/S99at $(TARGET_DIR)/etc/init.d/S99at endef +define AT_INSTALL_INIT_SYSTEMD + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf ../../../../usr/lib/systemd/system/atd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/atd.service +endef + $(eval $(autotools-package))
Signature · 1 line
2.4.5
PATCH 2/38 chrony: systemd support
In reply to Alex Suykovsystemd has its own NTP daemon, which must be disabled before starting chrony. Possible (but unlikely) conflict with openntpd is not marked in either package.
--- package/chrony/chrony.mk | 8 ++++++++ package/chrony/chrony.service | 11 +++++++++++ 2 files changed, 19 insertions(+) create mode 100644 package/chrony/chrony.service
package/chrony/chrony.mk +8 -0
@@ -45,4 +45,12 @@ define CHRONY_INSTALL_INIT_SYSV $(INSTALL) -D -m 755 package/chrony/S49chrony $(TARGET_DIR)/etc/init.d/S49chrony endef +define CHRONY_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/chrony/chrony.service \ + $(TARGET_DIR)/usr/lib/systemd/system/chrony.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/chrony.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/chrony.service +endef + $(eval $(generic-package))
package/chrony/chrony.service new file +11 -0
@@ -0,0 +1,11 @@ +[Unit] +Description=Chrony Network Time Daemon +After=syslog.target network.target +Conflicts=systemd-timesyncd.service + +[Service] +ExecStart=/usr/bin/chronyd -n +Restart=always + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
Thomas Petazzoni
AppliedPATCH 2/38 chrony: systemd support
Dear Alex Suykov,
Quoted 10 lines · Alex Suykov
systemd has its own NTP daemon, which must be disabled before starting chrony. Possible (but unlikely) conflict with openntpd is not marked in either package.
Signed-off-by Alex Suykov <[email protected]>--- package/chrony/chrony.mk | 8 ++++++++ package/chrony/chrony.service | 11 +++++++++++ 2 files changed, 19 insertions(+) create mode 100644 package/chrony/chrony.service
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 3/38 dcron: systemd support
In reply to Alex Suykov--- package/dcron/dcron.mk | 8 ++++++++ package/dcron/dcron.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/dcron/dcron.service
package/dcron/dcron.mk +8 -0
@@ -33,4 +33,12 @@ define DCRON_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/dcron/S90dcron $(TARGET_DIR)/etc/init.d/S90dcron endef +define DCRON_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/dcron/dcron.service \ + $(TARGET_DIR)/usr/lib/systemd/system/dcron.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/dcron.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dcron.service +endef + $(eval $(generic-package))
package/dcron/dcron.service new file +10 -0
@@ -0,0 +1,10 @@ +[Unit] +Description=Task scheduler daemon +After=syslog.target + +[Service] +ExecStart=/usr/sbin/crond -f -S +Restart=always + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
Thomas Petazzoni
AppliedPATCH 3/38 dcron: systemd support
Dear Alex Suykov,
Quoted 6 lines · Alex Suykov
Signed-off-by Alex Suykov <[email protected]>--- package/dcron/dcron.mk | 8 ++++++++ package/dcron/dcron.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/dcron/dcron.service
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 4/38 dmraid: systemd support
In reply to Alex SuykovIt is not really a service, just a start-stop script.
--- package/dmraid/dmraid.mk | 8 ++++++++ package/dmraid/dmraid.service | 12 ++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 package/dmraid/dmraid.service
package/dmraid/dmraid.mk +8 -0
@@ -21,4 +21,12 @@ define DMRAID_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S20dmraid endef +define DMRAID_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/dmraid/dmraid.service \ + $(TARGET_DIR)/usr/lib/systemd/system/dmraid.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/dmraid.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dmraid.service +endef + $(eval $(autotools-package))
package/dmraid/dmraid.service new file +12 -0
@@ -0,0 +1,12 @@ +[Unit] +Description=dmraid device management + +[Service] +Type=oneshot +ExecStartPre=modprobe dm-mod +ExecStart=/usr/sbin/dmraid --activate yes --ignorelocking +ExecStop=/usr/sbin/dmraid --activate no --ignorelocking +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
PATCH 5/38 dnsmasq: systemd support
In reply to Alex Suykov--- package/dnsmasq/dnsmasq.mk | 8 ++++++++ package/dnsmasq/dnsmasq.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/dnsmasq/dnsmasq.service
package/dnsmasq/dnsmasq.mk +8 -0
@@ -111,4 +111,12 @@ define DNSMASQ_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S80dnsmasq endef +define DNSMASQ_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/dnsmasq/dnsmasq.service \ + $(TARGET_DIR)/usr/lib/systemd/system/dnsmasq.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/dnsmasq.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dnsmasq.service +endef + $(eval $(generic-package))
package/dnsmasq/dnsmasq.service new file +10 -0
@@ -0,0 +1,10 @@ +[Unit] +Description=DNS cacher and DHCP server +After=syslog.target network.target + +[Service] +ExecStart=/usr/sbin/dnsmasq -k +Restart=always + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
PATCH 5/38 dnsmasq: systemd support
Hi Alex, all
Quoted 30 lines · Alex Suykov
Signed-off-by Alex Suykov <[email protected]>--- package/dnsmasq/dnsmasq.mk | 8 ++++++++ package/dnsmasq/dnsmasq.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/dnsmasq/dnsmasq.servicepackage/dnsmasq/dnsmasq.mk +8
-0@@ -111,4 +111,12 @@ define DNSMASQ_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S80dnsmasq endef +define DNSMASQ_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/dnsmasq/dnsmasq.service \ + $(TARGET_DIR)/usr/lib/systemd/system/dnsmasq.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/dnsmasq.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dnsmasq.service +endef + $(eval $(generic-package))package/dnsmasq/dnsmasq.service new file +0
-0
package/dnsmasq/dnsmasq.service line 7
Quoted 7 lines
package/dnsmasq/dnsmasq.service new file +7
-0@@ -0,0 +1,10 @@ +[Unit] +Description=DNS cacher and DHCP server +After=syslog.target network.target + +[Service] +ExecStart=/usr/sbin/dnsmasq -k +Restart=always
With systemd, we will have dbus enabled and thus dnsmasq will be build with dbus support.
So your service file should be something like:
Type=dbus
BusName=uk.org.thekelleys.dnsmasq ExecStartPre=/usr/bin/dnsmasq --test ExecStart=/usr/bin/dnsmasq -k --enable-dbus --pid-file ExecReload=/bin/kill -HUP $MAINPID Restart=always
Quoted 10 lines
package/dnsmasq/dnsmasq.service new file +3
-1+ +[Install] +WantedBy=multi-user.target --2.0.3
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH 6/38 ejabberd: systemd support
In reply to Alex Suykov--- package/ejabberd/ejabberd.mk | 8 ++++++++ package/ejabberd/ejabberd.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/ejabberd/ejabberd.service
package/ejabberd/ejabberd.mk +8 -0
@@ -48,4 +48,12 @@ define EJABBERD_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S50ejabberd endef +define EJABBERD_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/ejabberd/ejabberd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/ejabberd.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/ejabberd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/ejabberd.service +endef + $(eval $(rebar-package))
package/ejabberd/ejabberd.service new file +10 -0
@@ -0,0 +1,10 @@ +[Unit] +Description=Erlang Jabber daemon +After=network.target + +[Service] +ExecStart=/usr/bin/ejabberd +Restart=always + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
PATCH 6/38 ejabberd: systemd support
Hi Alex, all
Quoted 30 lines · Alex Suykov
Signed-off-by Alex Suykov <[email protected]>--- package/ejabberd/ejabberd.mk | 8 ++++++++ package/ejabberd/ejabberd.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/ejabberd/ejabberd.servicepackage/ejabberd/ejabberd.mk +8
-0@@ -48,4 +48,12 @@ define EJABBERD_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S50ejabberd endef +define EJABBERD_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/ejabberd/ejabberd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/ejabberd.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/ejabberd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/ejabberd.service +endef + $(eval $(rebar-package))package/ejabberd/ejabberd.service new file +0
-0
package/ejabberd/ejabberd.service line 7
Quoted 7 lines
package/ejabberd/ejabberd.service new file +7
-0@@ -0,0 +1,10 @@ +[Unit] +Description=Erlang Jabber daemon +After=network.target + +[Service] +ExecStart=/usr/bin/ejabberd +Restart=always
We install a ejabberd user with the package, may as well use it. This is the startup scripts taken from Arch Linux:
[Service]
Type=forking
User=ejabberd
LimitNOFILE=16000
RestartSec=5
ExecStart=/usr/bin/ejabberdctl start
ExecStop=/usr/bin/ejabberdctl stop
After reading the readme of ejabberd, it seems best to use ejaberdctl since it's the "administration script"
Quoted 10 lines
package/ejabberd/ejabberd.service new file +3
-1+ +[Install] +WantedBy=multi-user.target --2.0.3
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH 6/38 ejabberd: systemd support
Hi Alex, all
By the way, your patch are marked as "ChangedRequested" it means that we expect from you that you fix your patch and resend them (or reply because you believe me to be wrong).
As soon as it's fine by us, we will apply your patch.
Thanks for your contributions !
Quoted 63 lines · Maxime Hadjinlian
Hi Alex, all
Quoted 30 lines · Alex Suykov
Signed-off-by Alex Suykov <[email protected]>--- package/ejabberd/ejabberd.mk | 8 ++++++++ package/ejabberd/ejabberd.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/ejabberd/ejabberd.servicepackage/ejabberd/ejabberd.mk +8
-0@@ -48,4 +48,12 @@ define EJABBERD_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S50ejabberd endef +define EJABBERD_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/ejabberd/ejabberd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/ejabberd.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/ejabberd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/ejabberd.service +endef + $(eval $(rebar-package))package/ejabberd/ejabberd.service new file +0
-0package/ejabberd/ejabberd.service line 7
Quoted 7 lines
package/ejabberd/ejabberd.service new file +7
-0@@ -0,0 +1,10 @@ +[Unit] +Description=Erlang Jabber daemon +After=network.target + +[Service] +ExecStart=/usr/bin/ejabberd +Restart=alwaysWe install a ejabberd user with the package, may as well use it. This is the startup scripts taken from Arch Linux:
[Service]
Type=forking
User=ejabberd
LimitNOFILE=16000
RestartSec=5
ExecStart=/usr/bin/ejabberdctl start
ExecStop=/usr/bin/ejabberdctl stopAfter reading the readme of ejabberd, it seems best to use ejaberdctl since it's the "administration script"
Quoted 10 lines
package/ejabberd/ejabberd.service new file +3
-1+ +[Install] +WantedBy=multi-user.target --2.0.3
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH 7/38 exim: systemd support
In reply to Alex Suykov--- package/exim/exim.mk | 8 ++++++++ package/exim/exim.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/exim/exim.service
package/exim/exim.mk +8 -0
@@ -125,4 +125,12 @@ define EXIM_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S86exim endef +define EXIM_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/exim/exim.service \ + $(TARGET_DIR)/usr/lib/systemd/system/exim.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/exim.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/exim.service +endef + $(eval $(generic-package))
package/exim/exim.service new file +10 -0
@@ -0,0 +1,10 @@ +[Unit] +Description=Exim MTA +After=syslog.target network.target + +[Service] +ExecStart=/usr/bin/exim -bdf +Restart=always + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
Thomas Petazzoni
AppliedPATCH 7/38 exim: systemd support
Dear Alex Suykov,
Quoted 6 lines · Alex Suykov
Signed-off-by Alex Suykov <[email protected]>--- package/exim/exim.mk | 8 ++++++++ package/exim/exim.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/exim/exim.service
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 8/38 gpsd: systemd support
In reply to Alex SuykovJust like with the sysv script, non-empty DEVICES value must be substituted in the installed file.
--- package/gpsd/gpsd.mk | 10 ++++++++++ package/gpsd/gpsd.service | 10 ++++++++++ 2 files changed, 20 insertions(+) create mode 100644 package/gpsd/gpsd.service
package/gpsd/gpsd.mk +10 -0
@@ -208,6 +208,16 @@ define GPSD_INSTALL_INIT_SYSV $(SED) 's,^DEVICES=.*,DEVICES=$(BR2_PACKAGE_GPSD_DEVICES),' $(TARGET_DIR)/etc/init.d/S50gpsd endef +define GPSD_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/gpsd/gpsd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/gpsd.service + $(SED) 's at DEVICES@$(BR2_PACKAGE_GPSD_DEVICES)@' \ + $(TARGET_DIR)/usr/lib/systemd/system/gpsd.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/gpsd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/gpsd.service +endef + define GPSD_INSTALL_STAGING_CMDS (cd $(@D); \ $(GPSD_SCONS_ENV) \
package/gpsd/gpsd.service new file +10 -0
@@ -0,0 +1,10 @@ +[Unit] +Description=GPS daemon +After=syslog.target network.target + +[Service] +ExecStart=/usr/sbin/gpsd -N DEVICES +Restart=always + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
PATCH 8/38 gpsd: systemd support
Hi Alex, all
Quoted 37 lines · Alex Suykov
Just like with the sysv script, non-empty DEVICES value must be substituted in the installed file.
Signed-off-by Alex Suykov <[email protected]>--- package/gpsd/gpsd.mk | 10 ++++++++++ package/gpsd/gpsd.service | 10 ++++++++++ 2 files changed, 20 insertions(+) create mode 100644 package/gpsd/gpsd.servicepackage/gpsd/gpsd.mk +10
-0@@ -208,6 +208,16 @@ define GPSD_INSTALL_INIT_SYSV $(SED) 's,^DEVICES=.*,DEVICES=$(BR2_PACKAGE_GPSD_DEVICES),' $(TARGET_DIR)/etc/init.d/S50gpsd endef +define GPSD_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/gpsd/gpsd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/gpsd.service + $(SED) 's at DEVICES@$(BR2_PACKAGE_GPSD_DEVICES)@' \ + $(TARGET_DIR)/usr/lib/systemd/system/gpsd.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/gpsd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/gpsd.service +endef + define GPSD_INSTALL_STAGING_CMDS (cd $(@D); \ $(GPSD_SCONS_ENV) \package/gpsd/gpsd.service new file +0
-0
package/gpsd/gpsd.service line 6
Quoted 6 lines
package/gpsd/gpsd.service new file +6
-0@@ -0,0 +1,10 @@ +[Unit] +Description=GPS daemon +After=syslog.target network.target + +[Service] +ExecStart=/usr/sbin/gpsd -N DEVICES
DEVICES won't work here, you'll want something like the SysV scripts "/dev/ttyS1".
But it doesn't matter, gpsd has systemd supports, so it would be better to install the files from the sources.
We will mark the patch as Change Requested in patchwork.
Quoted 11 lines
package/gpsd/gpsd.service new file +4
-1+Restart=always + +[Install] +WantedBy=multi-user.target --2.0.3
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH 9/38 inadyn: systemd support
In reply to Alex Suykov--- package/inadyn/inadyn.mk | 8 ++++++++ package/inadyn/inadyn.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/inadyn/inadyn.service
package/inadyn/inadyn.mk +8 -0
@@ -30,4 +30,12 @@ define INADYN_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S70inadyn endef +define INADYN_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/inadyn/inadyn.service \ + $(TARGET_DIR)/usr/lib/systemd/system/inadyn.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/inadyn.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/inadyn.service +endef + $(eval $(autotools-package))
package/inadyn/inadyn.service new file +10 -0
@@ -0,0 +1,10 @@ +[Unit] +Description=DDNS client +After=syslog.target network.target + +[Service] +ExecStart=/usr/bin/inadyn +Restart=always + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
Thomas Petazzoni
AppliedPATCH 9/38 inadyn: systemd support
Dear Alex Suykov,
Quoted 6 lines · Alex Suykov
Signed-off-by Alex Suykov <[email protected]>--- package/inadyn/inadyn.mk | 8 ++++++++ package/inadyn/inadyn.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/inadyn/inadyn.service
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 10/38 inadyn: start in background mode
In reply to Alex SuykovUnless -b is specified, inadyn stays in foreground.
It does also write a pid file that can be used by start-stop-daemon.
--- package/inadyn/S70inadyn | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
package/inadyn/S70inadyn +2 -2
@@ -15,12 +15,12 @@ VR_INADYN=/var/run/inadyn case "$1" in start) echo "Starting inadyn: " - start-stop-daemon -S -x /usr/bin/inadyn + start-stop-daemon -S -p /var/run/inadyn/inadyn.pid -x /usr/bin/inadyn -b [ $? = 0 ] && echo "OK" || echo "FAIL" ;; stop) echo "Stopping inadyn: " - start-stop-daemon -q -K -x /usr/bin/inadyn + start-stop-daemon -q -K -p /var/run/inadyn/inadyn.pid -x /usr/bin/inadyn [ $? = 0 ] && echo "OK" || echo "FAIL" rm -f /var/run/inadyn/inadyn.pid ;;
Signature · 1 line
2.0.3
PATCH 10/38 inadyn: start in background mode
Dear Alex Suykov,
Quoted 1 line · Alex Suykov
Unless -b is specified, inadyn stays in foreground.
And? start-stop-daemon takes care of daemonizing it, no? At least, I've tested the current inadyn init script, and it just works fine for me, after some minor tuning that is not related to background/foreground. See:
http://patchwork.ozlabs.org/patch/491319/
Can you give more details as to why your patch is needed?
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 11/38 input-event-daemon: systemd support
In reply to Alex Suykov--- package/input-event-daemon/input-event-daemon.mk | 8 ++++++++ package/input-event-daemon/input-event-daemon.service | 9 +++++++++ 2 files changed, 17 insertions(+) create mode 100644 package/input-event-daemon/input-event-daemon.service
package/input-event-daemon/input-event-daemon.mk +8 -0
@@ -27,4 +27,12 @@ define INPUT_EVENT_DAEMON_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S99input-event-daemon endef +define INPUT_EVENT_DAEMON_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/input-event-daemon/input-event-daemon.service \ + $(TARGET_DIR)/usr/lib/systemd/system/input-event-daemon.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/input-event-daemon.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/input-event-daemon.service +endef + $(eval $(generic-package))
package/input-event-daemon/input-event-daemon.service new file +9 -0
@@ -0,0 +1,9 @@ +[Unit] +Description=Input Event Daemon + +[Service] +ExecStart=/usr/bin/input-event-daemon --no-daemon +Restart=always + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
Thomas Petazzoni
AppliedPATCH 11/38 input-event-daemon: systemd support
Dear Alex Suykov,
Quoted 6 lines · Alex Suykov
Signed-off-by Alex Suykov <[email protected]>--- package/input-event-daemon/input-event-daemon.mk | 8 ++++++++ package/input-event-daemon/input-event-daemon.service | 9 +++++++++ 2 files changed, 17 insertions(+) create mode 100644 package/input-event-daemon/input-event-daemon.service
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 12/38 iucode-tool: systemd support
In reply to Alex Suykov--- package/iucode-tool/iucode-tool.mk | 8 ++++++++ package/iucode-tool/iucode.service | 9 +++++++++ 2 files changed, 17 insertions(+) create mode 100644 package/iucode-tool/iucode.service
package/iucode-tool/iucode-tool.mk +8 -0
@@ -19,4 +19,12 @@ define IUCODE_TOOL_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S00iucode-tool endef +define IUCODE_TOOL_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/iucode-tool/iucode.service \ + $(TARGET_DIR)/usr/lib/systemd/system/iucode.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/iucode.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/iucode.service +endef + $(eval $(autotools-package))
package/iucode-tool/iucode.service new file +9 -0
@@ -0,0 +1,9 @@ +[Unit] +Description=Upload microcode into the processor + +[Service] +Type=oneshot +ExecStart=/usr/sbin/iucode_tool -k /usr/share/misc/intel-microcode.dat + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
PATCH 12/38 iucode-tool: systemd support
Hi Alex, all
Quoted 30 lines · Alex Suykov
Signed-off-by Alex Suykov <[email protected]>--- package/iucode-tool/iucode-tool.mk | 8 ++++++++ package/iucode-tool/iucode.service | 9 +++++++++ 2 files changed, 17 insertions(+) create mode 100644 package/iucode-tool/iucode.servicepackage/iucode-tool/iucode-tool.mk +8
-0@@ -19,4 +19,12 @@ define IUCODE_TOOL_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S00iucode-tool endef +define IUCODE_TOOL_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/iucode-tool/iucode.service \ + $(TARGET_DIR)/usr/lib/systemd/system/iucode.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/iucode.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/iucode.service +endef + $(eval $(autotools-package))package/iucode-tool/iucode.service new file +0
-0
package/iucode-tool/iucode.service line 6
Quoted 6 lines
package/iucode-tool/iucode.service new file +6
-0@@ -0,0 +1,9 @@ +[Unit] +Description=Upload microcode into the processor + +[Service] +Type=oneshot +ExecStart=/usr/sbin/iucode_tool -k /usr/share/misc/intel-microcode.dat
Since it's a oneshot service, you should add:
RemainAfterExit=yes
We will mark your patch as Changes Requested in patchwork.
Quoted 10 lines
package/iucode-tool/iucode.service new file +3
-1+ +[Install] +WantedBy=multi-user.target --2.0.3
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH 13/38 lirc-tools: systemd support
In reply to Alex Suykov--- package/lirc-tools/lirc-tools.mk | 8 ++++++++ package/lirc-tools/lircd.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/lirc-tools/lircd.service
package/lirc-tools/lirc-tools.mk +8 -0
@@ -21,4 +21,12 @@ define LIRC_TOOLS_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S25lircd endef +define LIRC_TOOLS_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/lirc-tools/lircd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/lircd.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/lircd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/lircd.service +endef + $(eval $(autotools-package))
package/lirc-tools/lircd.service new file +10 -0
@@ -0,0 +1,10 @@ +[Unit] +Description=Linux infrared remote control daemon +After=syslog.target + +[Service] +ExecStart=/usr/sbin/lircd -n -O /etc/lirc/lirc_options.conf +Restart=always + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
PATCH 13/38 lirc-tools: systemd support
Hi Alex, all
Quoted 30 lines · Alex Suykov
Signed-off-by Alex Suykov <[email protected]>--- package/lirc-tools/lirc-tools.mk | 8 ++++++++ package/lirc-tools/lircd.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/lirc-tools/lircd.servicepackage/lirc-tools/lirc-tools.mk +8
-0@@ -21,4 +21,12 @@ define LIRC_TOOLS_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S25lircd endef +define LIRC_TOOLS_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/lirc-tools/lircd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/lircd.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/lircd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/lircd.service +endef + $(eval $(autotools-package))package/lirc-tools/lircd.service new file +0
-0
package/lirc-tools/lircd.service line 10
Quoted 10 lines
package/lirc-tools/lircd.service new file +10
-0@@ -0,0 +1,10 @@ +[Unit] +Description=Linux infrared remote control daemon +After=syslog.target + +[Service] +ExecStart=/usr/sbin/lircd -n -O /etc/lirc/lirc_options.conf +Restart=always + +[Install] +WantedBy=multi-user.target
There's a systemd support from lirc, better to install upstream files. Your patch will be marked as "Changes requested" in patchwork.
Quoted 7 lines
--
2.0.3_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH 14/38 mongoose: systemd support
In reply to Alex Suykov--- package/mongoose/mongoose.mk | 8 ++++++++ package/mongoose/mongoose.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/mongoose/mongoose.service
package/mongoose/mongoose.mk +8 -0
@@ -36,6 +36,14 @@ define MONGOOSE_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S85mongoose endef +define MONGOOSE_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/mongoose/mongoose.service \ + $(TARGET_DIR)/usr/lib/systemd/system/mongoose.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/mongoose.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/mongoose.service +endef + define MONGOOSE_INSTALL_STAGING_CMDS $(INSTALL) -D -m 644 $(@D)/libmongoose.a \ $(STAGING_DIR)/usr/lib/libmongoose.a
package/mongoose/mongoose.service new file +10 -0
@@ -0,0 +1,10 @@ +[Unit] +Description=Mongoose HTTP server +After=network.target + +[Service] +ExecStart=/usr/sbin/mongoose -document_root /var/www -listening_port 80 +Restart=always + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
PATCH 14/38 mongoose: systemd support
Dear Alex Suykov,
Quoted 6 lines · Alex Suykov
Signed-off-by Alex Suykov <[email protected]>--- package/mongoose/mongoose.mk | 8 ++++++++ package/mongoose/mongoose.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/mongoose/mongoose.service
Applied after changing to use a relative path for the symlink, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 15/38 neard: systemd support
In reply to Alex Suykov--- package/neard/neard.mk | 8 ++++++++ package/neard/neard.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/neard/neard.service
package/neard/neard.mk +8 -0
@@ -23,4 +23,12 @@ define NEARD_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S53neard endef +define NEARD_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/neard/neard.service \ + $(TARGET_DIR)/usr/lib/systemd/system/neard.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/neard.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/neard.service +endef + $(eval $(autotools-package))
package/neard/neard.service new file +10 -0
@@ -0,0 +1,10 @@ +[Unit] +Description=Near-field communication daemon +After=syslog.target + +[Service] +ExecStart=/usr/libexec/nfc/neard -d '*' +Restart=always + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
PATCH 15/38 neard: systemd support
Hi Alex, all
Quoted 30 lines · Alex Suykov
Signed-off-by Alex Suykov <[email protected]>--- package/neard/neard.mk | 8 ++++++++ package/neard/neard.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/neard/neard.servicepackage/neard/neard.mk +8
-0@@ -23,4 +23,12 @@ define NEARD_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S53neard endef +define NEARD_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/neard/neard.service \ + $(TARGET_DIR)/usr/lib/systemd/system/neard.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/neard.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/neard.service +endef + $(eval $(autotools-package))package/neard/neard.service new file +0
-0
package/neard/neard.service line 7
Quoted 7 lines
package/neard/neard.service new file +7
-0@@ -0,0 +1,10 @@ +[Unit] +Description=Near-field communication daemon +After=syslog.target + +[Service] +ExecStart=/usr/libexec/nfc/neard -d '*' +Restart=always
If you use neard like that, it will fork, so you need to tell systemd with a Type=forking and specify the PID through PIDFile=
What would be more coherent with what we currently have is simply by passing -n (--nodaemon)
You patch will be marked as "ChangesRequested" in patchwork
Quoted 10 lines
package/neard/neard.service new file +3
-1+ +[Install] +WantedBy=multi-user.target --2.0.3
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH 16/38 netatalk: systemd support
In reply to Alex Suykov--- package/netatalk/netatalk.mk | 8 ++++++++ package/netatalk/netatalk.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/netatalk/netatalk.service
package/netatalk/netatalk.mk +8 -0
@@ -57,4 +57,12 @@ define NETATALK_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S50netatalk endef +define NETATALK_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/netatalk/netatalk.service \ + $(TARGET_DIR)/usr/lib/systemd/system/netatalk.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/netatalk.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/netatalk.service +endef + $(eval $(autotools-package))
package/netatalk/netatalk.service new file +10 -0
@@ -0,0 +1,10 @@ +[Unit] +Description=Netatalk +After=network.target + +[Service] +ExecStart=/usr/sbin/netatalk -d +Restart=always + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
PATCH 16/38 netatalk: systemd support
Hi Alex, all
Quoted 12 lines · Alex Suykov
Signed-off-by Alex Suykov <[email protected]>--- package/netatalk/netatalk.mk | 8 ++++++++ package/netatalk/netatalk.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/netatalk/netatalk.servicepackage/netatalk/netatalk.mk +0
-0
package/netatalk/netatalk.mk define NETATALK_INSTALL_INIT_SYSV · line 63
Quoted 7 lines
package/netatalk/netatalk.mk +4
-0@@ -57,4 +57,12 @@ define NETATALK_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S50netatalk endef +define NETATALK_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/netatalk/netatalk.service \ + $(TARGET_DIR)/usr/lib/systemd/system/netatalk.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
You need to fix the path of this link.
Quoted 11 lines
package/netatalk/netatalk.mk +4
-0+ ln -sf /usr/lib/systemd/system/netatalk.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/netatalk.service +endef + $(eval $(autotools-package))package/netatalk/netatalk.service new file +0
-0
package/netatalk/netatalk.service line 6
Quoted 6 lines
package/netatalk/netatalk.service new file +6
-0@@ -0,0 +1,10 @@ +[Unit] +Description=Netatalk +After=network.target + +[Service] +ExecStart=/usr/sbin/netatalk -d
I don't think you need '-d' if I look at the source in 'etc/netatalk/netatalk.c' I see that '-d' is for debug, why would we want that ?
Your patch is marked as "Changes Requested" in the patchwork.
Quoted 11 lines
package/netatalk/netatalk.service new file +4
-1+Restart=always + +[Install] +WantedBy=multi-user.target --2.0.3
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH 17/38 netplug: systemd support
In reply to Alex Suykov--- package/netplug/netplug.mk | 8 ++++++++ package/netplug/netplug.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/netplug/netplug.service
package/netplug/netplug.mk +8 -0
@@ -23,4 +23,12 @@ define NETPLUG_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S29netplug endef +define NETPLUG_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/netplug/netplug.service \ + $(TARGET_DIR)/usr/lib/systemd/system/netplug.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/netplug.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/netplug.service +endef + $(eval $(generic-package))
package/netplug/netplug.service new file +10 -0
@@ -0,0 +1,10 @@ +[Unit] +Description=Network cable hotplug management daemon +After=syslog.target network.target + +[Service] +ExecStart=/sbin/netplugd -F +Restart=always + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
PATCH 17/38 netplug: systemd support
Dear Alex Suykov,
Quoted 6 lines · Alex Suykov
Signed-off-by Alex Suykov <[email protected]>--- package/netplug/netplug.mk | 8 ++++++++ package/netplug/netplug.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/netplug/netplug.service
Applied after changing the patch to use a relative symlink rather than an absolute one. Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 18/38 netsnmp: systemd support
In reply to Alex SuykovThe service file follows sysv startup script with 127.0.0.1 and the rest of the options hardcoded.
--- package/netsnmp/netsnmp.mk | 7 +++++++ package/netsnmp/snmpd.service | 10 ++++++++++ 2 files changed, 17 insertions(+) create mode 100644 package/netsnmp/snmpd.service
package/netsnmp/netsnmp.mk +7 -0
@@ -94,6 +94,13 @@ define NETSNMP_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/netsnmp/S59snmpd \ $(TARGET_DIR)/etc/init.d/S59snmpd endef +define NETSNMP_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/netsnmp/snmpd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/snmpd.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/snmpd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/snmpd.service +endef endif define NETSNMP_STAGING_NETSNMP_CONFIG_FIXUP
package/netsnmp/snmpd.service new file +10 -0
@@ -0,0 +1,10 @@ +[Unit] +Description=SNMP daemon +After=syslog.target network.target + +[Service] +ExecStart=/usr/sbin/snmpd -f -M /usr/share/snmp/mibs -Lsd 127.0.0.1 +Restart=always + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
PATCH 18/38 netsnmp: systemd support
Hi Alex, all
Quoted 15 lines · Alex Suykov
The service file follows sysv startup script with 127.0.0.1 and the rest of the options hardcoded.
Signed-off-by Alex Suykov <[email protected]>--- package/netsnmp/netsnmp.mk | 7 +++++++ package/netsnmp/snmpd.service | 10 ++++++++++ 2 files changed, 17 insertions(+) create mode 100644 package/netsnmp/snmpd.servicepackage/netsnmp/netsnmp.mk +0
-0
package/netsnmp/netsnmp.mk define NETSNMP_INSTALL_INIT_SYSV · line 103
Quoted 10 lines
package/netsnmp/netsnmp.mk +7
-0@@ -94,6 +94,13 @@ define NETSNMP_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/netsnmp/S59snmpd \ $(TARGET_DIR)/etc/init.d/S59snmpd endef +define NETSNMP_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/netsnmp/snmpd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/snmpd.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/snmpd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/snmpd.service +endef
The snmp server is not mandatory, you need to check before installing the service file.
Quoted 9 lines
package/netsnmp/netsnmp.mk +0
-0endif define NETSNMP_STAGING_NETSNMP_CONFIG_FIXUPpackage/netsnmp/snmpd.service new file +0
-0
package/netsnmp/snmpd.service line 10
Quoted 10 lines
package/netsnmp/snmpd.service new file +10
-0@@ -0,0 +1,10 @@ +[Unit] +Description=SNMP daemon +After=syslog.target network.target + +[Service] +ExecStart=/usr/sbin/snmpd -f -M /usr/share/snmp/mibs -Lsd 127.0.0.1 +Restart=always + +[Install] +WantedBy=multi-user.target
Maybe add the support of snmptrapd ?
In the meantime, your patch will be marked as "changes requested" in the patchwork.
Quoted 7 lines
--
2.0.3_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH 19/38 olsr: systemd support
In reply to Alex Suykov--- package/olsr/olsr.mk | 8 ++++++++ package/olsr/olsr.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/olsr/olsr.service
package/olsr/olsr.mk +8 -0
@@ -40,4 +40,12 @@ define OLSR_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S50olsr endef +define OLSR_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/olsr/olsr.service \ + $(TARGET_DIR)/usr/lib/systemd/system/olsr.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/olsr.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/olsr.service +endef + $(eval $(generic-package))
package/olsr/olsr.service new file +10 -0
@@ -0,0 +1,10 @@ +[Unit] +Description=Ad-hoc wireless mesh routing daemon +After=network.target + +[Service] +ExecStart=/usr/sbin/olsrd -nofork +Restart=always + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
PATCH 19/38 olsr: systemd support
Dear Alex Suykov,
Quoted 6 lines · Alex Suykov
Signed-off-by Alex Suykov <[email protected]>--- package/olsr/olsr.mk | 8 ++++++++ package/olsr/olsr.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/olsr/olsr.service
Applied after changing to use a relative path for the symbolic link. Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 20/38 proftpd: systemd support
In reply to Alex Suykov--- package/proftpd/proftpd.mk | 8 ++++++++ package/proftpd/proftpd.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/proftpd/proftpd.service
package/proftpd/proftpd.mk +8 -0
@@ -55,4 +55,12 @@ define PROFTPD_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/proftpd/S50proftpd $(TARGET_DIR)/etc/init.d/S50proftpd endef +define PROFTPD_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/proftpd/proftpd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/proftpd.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/proftpd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/proftpd.service +endef + $(eval $(autotools-package))
package/proftpd/proftpd.service new file +10 -0
@@ -0,0 +1,10 @@ +[Unit] +Description=FTR server +After=syslog.target network.target + +[Service] +ExecStart=/usr/sbin/proftpd -n -q +Restart=always + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
PATCH 20/38 proftpd: systemd support
Dear Alex Suykov,
Quoted 12 lines · Alex Suykov
Signed-off-by Alex Suykov <[email protected]>--- package/proftpd/proftpd.mk | 8 ++++++++ package/proftpd/proftpd.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/proftpd/proftpd.servicepackage/proftpd/proftpd.mk +0
-0
package/proftpd/proftpd.mk define PROFTPD_INSTALL_INIT_SYSV · line 62
Quoted 8 lines
package/proftpd/proftpd.mk +5
-0@@ -55,4 +55,12 @@ define PROFTPD_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/proftpd/S50proftpd $(TARGET_DIR)/etc/init.d/S50proftpd endef +define PROFTPD_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/proftpd/proftpd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/proftpd.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/proftpd.service \
This should have been a relative path.
package/proftpd/proftpd.service line 2
Quoted 12 lines
package/proftpd/proftpd.mk +3
-0+ $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/proftpd.service +endef + $(eval $(autotools-package))package/proftpd/proftpd.service new file +2
-0@@ -0,0 +1,10 @@ +[Unit] +Description=FTR server
And 'FTP server'.
Applied with those two changes, thanks a lot!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 21/38 ptpd: systemd support
In reply to Alex Suykov--- package/ptpd/ptpd.mk | 8 ++++++++ package/ptpd/ptpd.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/ptpd/ptpd.service
package/ptpd/ptpd.mk +8 -0
@@ -22,4 +22,12 @@ define PTPD_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S65ptpd endef +define PTPD_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/ptpd/ptpd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/ptpd.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/ptpd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/ptpd.service +endef + $(eval $(generic-package))
package/ptpd/ptpd.service new file +10 -0
@@ -0,0 +1,10 @@ +[Unit] +Description=Precision Time Protocol daemon +After=syslog.target network.target + +[Service] +ExecStart=/usr/sbin/ptpd -c -S +Restart=always + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
PATCH 21/38 ptpd: systemd support
Dear Alex Suykov,
package/ptpd/ptpd.mk define PTPD_INSTALL_INIT_SYSV · line 29
Quoted 5 lines · Alex Suykov
package/ptpd/ptpd.mk +5
-0+define PTPD_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/ptpd/ptpd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/ptpd.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/ptpd.service \
A relative path should be used here.
Quoted 10 lines
package/ptpd/ptpd.mk +3
-0+ $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/ptpd.service +endef + $(eval $(generic-package))package/ptpd/ptpd.service new file +0
-0
package/ptpd/ptpd.service line 6
Quoted 6 lines
package/ptpd/ptpd.service new file +6
-0@@ -0,0 +1,10 @@ +[Unit] +Description=Precision Time Protocol daemon +After=syslog.target network.target + +[Service] +ExecStart=/usr/sbin/ptpd -c -S
And according to Maxime Hadjinlian, this -S is not needed, since redirecting stdout is already taken care of by systemd.
Applied with those two fixes. Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 22/38 ptpd2: systemd support
In reply to Alex SuykovFollowing package and sysv initscript naming scheme, the service is "ptpd2" instead of just "ptpd" version 2.
--- package/ptpd2/ptpd2.mk | 8 ++++++++ package/ptpd2/ptpd2.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/ptpd2/ptpd2.service
package/ptpd2/ptpd2.mk +8 -0
@@ -29,4 +29,12 @@ define PTPD2_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S65ptpd2 endef +define PTPD2_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/ptpd2/ptpd2.service \ + $(TARGET_DIR)/usr/lib/systemd/system/ptpd2.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/ptpd2.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/ptpd2.service +endef + $(eval $(autotools-package))
package/ptpd2/ptpd2.service new file +10 -0
@@ -0,0 +1,10 @@ +[Unit] +Description=Precision Time Protocol daemon +After=syslog.target network.target + +[Service] +ExecStart=/usr/sbin/ptpd2 -C -s +Restart=always + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
PATCH 23/38 pulseaudio: systemd support
In reply to Alex Suykov--- package/pulseaudio/pulseaudio.mk | 8 ++++++++ package/pulseaudio/pulseaudio.service | 11 +++++++++++ 2 files changed, 19 insertions(+) create mode 100644 package/pulseaudio/pulseaudio.service
package/pulseaudio/pulseaudio.mk +8 -0
@@ -123,6 +123,14 @@ define PULSEAUDIO_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S50pulseaudio endef +define PULSEAUDIO_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/pulseaudio/pulseaudio.service \ + $(TARGET_DIR)/usr/lib/systemd/system/pulseaudio.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/pulseaudio.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/pulseaudio.service +endef + endif $(eval $(autotools-package))
package/pulseaudio/pulseaudio.service new file +11 -0
@@ -0,0 +1,11 @@ +[Unit] +Description=Sound Service +After=syslog.target + +[Service] +UMask=077 +ExecStart=/usr/bin/pulseaudio --system --daemonize=no +Restart=always + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
PATCH 23/38 pulseaudio: systemd support
Dear Alex Suykov,
Quoted 6 lines · Alex Suykov
Signed-off-by Alex Suykov <[email protected]>--- package/pulseaudio/pulseaudio.mk | 8 ++++++++ package/pulseaudio/pulseaudio.service | 11 +++++++++++ 2 files changed, 19 insertions(+) create mode 100644 package/pulseaudio/pulseaudio.service
Applied after doing some minor changes:
[Thomas:
- use relative path for the service symlink
- slightly adjust the service description]
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 24/38 smstools3: systemd support
In reply to Alex Suykov--- package/smstools3/smsd.service | 14 ++++++++++++++ package/smstools3/smstools3.mk | 8 ++++++++ 2 files changed, 22 insertions(+) create mode 100644 package/smstools3/smsd.service
package/smstools3/smsd.service new file +14 -0
@@ -0,0 +1,14 @@ +[Unit] +Description=SMS Server Tools 3 +After=syslog.target + +[Service] +ExecStartPre=mkdir -p /var/spool/sms/outgoing +ExecStartPre=mkdir -p /var/spool/sms/incoming +ExecStartPre=mkdir -p /var/spool/sms/checked +ExecStart=/usr/bin/smsd -c /etc/smsd.conf -s +Restart=always +PermissionsStartOnly=true + +[Install] +WantedBy=multi-user.target
package/smstools3/smstools3.mk +8 -0
@@ -22,6 +22,14 @@ define SMSTOOLS3_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S50smsd endef +define SMSTOOLS3_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/smstools3/smsd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/smsd.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/smsd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/smsd.service +endef + define SMSTOOLS3_INSTALL_TARGET_CMDS $(INSTALL) -m 0755 -D $(@D)/src/smsd \ $(TARGET_DIR)/usr/bin/smsd
Signature · 1 line
2.0.3
PATCH 24/38 smstools3: systemd support
Hi Alex, all
Quoted 13 lines · Alex Suykov
Signed-off-by Alex Suykov <[email protected]>--- package/smstools3/smsd.service | 14 ++++++++++++++ package/smstools3/smstools3.mk | 8 ++++++++ 2 files changed, 22 insertions(+) create mode 100644 package/smstools3/smsd.servicepackage/smstools3/smsd.service new file +0
-0
package/smstools3/smsd.service line 8
Quoted 8 lines
package/smstools3/smsd.service new file +8
-0@@ -0,0 +1,14 @@ +[Unit] +Description=SMS Server Tools 3 +After=syslog.target + +[Service] +ExecStartPre=mkdir -p /var/spool/sms/outgoing +ExecStartPre=mkdir -p /var/spool/sms/incoming +ExecStartPre=mkdir -p /var/spool/sms/checked
With that many files, I think it would be better to do that with the tmpfiles.d mechanisms provided by systemd
package/smstools3/smsd.service line 11
Quoted 3 lines
package/smstools3/smsd.service new file +3
-0+ExecStart=/usr/bin/smsd -c /etc/smsd.conf -s +Restart=always +PermissionsStartOnly=true
Why would you need that ? smstools doesn't create any users and there's no User= here, so it doesn't make sense to have that options.
Quoted 8 lines
package/smstools3/smsd.service new file +3
-0+ +[Install] +WantedBy=multi-user.targetpackage/smstools3/smstools3.mk +0
-0
package/smstools3/smstools3.mk define SMSTOOLS3_INSTALL_INIT_SYSV · line 30
Quoted 9 lines
package/smstools3/smstools3.mk +6
-0@@ -22,6 +22,14 @@ define SMSTOOLS3_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S50smsd endef +define SMSTOOLS3_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/smstools3/smsd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/smsd.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/smsd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/smsd.service
Your link is not right, it needs to have '../../../../' like the others so it doesn't appear broken in the target directory.
Your patch will be marked as "Changes Requested" in the patchwork.
Quoted 12 lines
package/smstools3/smstools3.mk +2
-1+endef + define SMSTOOLS3_INSTALL_TARGET_CMDS $(INSTALL) -m 0755 -D $(@D)/src/smsd \ $(TARGET_DIR)/usr/bin/smsd --2.0.3
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH 25/38 rpi-userland: systemd support
In reply to Alex Suykov--- package/rpi-userland/rpi-userland.mk | 7 +++++++ package/rpi-userland/vcfiled.service | 8 ++++++++ 2 files changed, 15 insertions(+) create mode 100644 package/rpi-userland/vcfiled.service
package/rpi-userland/rpi-userland.mk +7 -0
@@ -19,6 +19,13 @@ define RPI_USERLAND_INSTALL_INIT_SYSV $(INSTALL) -m 0755 -D package/rpi-userland/S94vcfiled \ $(TARGET_DIR)/etc/init.d/S94vcfiled endef +define RPI_USERLAND_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/rpi-userland/vcfiled.service \ + $(TARGET_DIR)/usr/lib/systemd/system/vcfiled.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/vcfiled.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/vcfiled.service +endef endif define RPI_USERLAND_POST_TARGET_CLEANUP
package/rpi-userland/vcfiled.service new file +8 -0
@@ -0,0 +1,8 @@ +[Unit] +Description=VideoCore file server daemon + +[Service] +ExecStart=/usr/sbin/vcfiled --foreground + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
PATCH 25/38 rpi-userland: systemd support
Dear Alex Suykov,
Quoted 6 lines · Alex Suykov
Signed-off-by Alex Suykov <[email protected]>--- package/rpi-userland/rpi-userland.mk | 7 +++++++ package/rpi-userland/vcfiled.service | 8 ++++++++ 2 files changed, 15 insertions(+) create mode 100644 package/rpi-userland/vcfiled.service
Applied after fixing the patch to use a relative path for the symbolic link, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 26/38 sunxi-mali: systemd support
In reply to Alex SuykovThe startup script too complex to embed it completely into the .service file, so it is left as a standalone script.
Since there is really nothing sysv-specific there, the actual initscript is used without any changes.
--- package/sunxi-mali/mali.service | 11 +++++++++++ package/sunxi-mali/sunxi-mali.mk | 10 ++++++++++ 2 files changed, 21 insertions(+) create mode 100644 package/sunxi-mali/mali.service
package/sunxi-mali/mali.service new file +11 -0
@@ -0,0 +1,11 @@ +[Unit] +Description=Mali graphics driver + +[Service] +Type=oneshot +ExecStart=/usr/lib/systemd/scripts/mali start +ExecStop=/usr/lib/systemd/scripts/mali stop +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target
package/sunxi-mali/sunxi-mali.mk +10 -0
@@ -80,4 +80,14 @@ define SUNXI_MALI_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S80mali endef +define SUNXI_MALI_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 755 package/sunxi-mali/S80mali \ + $(TARGET_DIR)/usr/lib/systemd/scripts/mali + $(INSTALL) -D -m 644 package/sunxi-mali/mali.service \ + $(TARGET_DIR)/usr/lib/systemd/system/mali.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/mali.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/mali.service +endef + $(eval $(generic-package))
Signature · 1 line
2.0.3
PATCH 26/38 sunxi-mali: systemd support
Hi Alex, all
Quoted 35 lines · Alex Suykov
The startup script too complex to embed it completely into the .service file, so it is left as a standalone script.
Since there is really nothing sysv-specific there, the actual initscript is used without any changes.
Signed-off-by Alex Suykov <[email protected]>--- package/sunxi-mali/mali.service | 11 +++++++++++ package/sunxi-mali/sunxi-mali.mk | 10 ++++++++++ 2 files changed, 21 insertions(+) create mode 100644 package/sunxi-mali/mali.servicepackage/sunxi-mali/mali.service new file +11
-0@@ -0,0 +1,11 @@ +[Unit] +Description=Mali graphics driver + +[Service] +Type=oneshot +ExecStart=/usr/lib/systemd/scripts/mali start +ExecStop=/usr/lib/systemd/scripts/mali stop +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.targetpackage/sunxi-mali/sunxi-mali.mk +0
-0
package/sunxi-mali/sunxi-mali.mk define SUNXI_MALI_INSTALL_INIT_SYSV · line 85
Quoted 6 lines
package/sunxi-mali/sunxi-mali.mk +3
-0@@ -80,4 +80,14 @@ define SUNXI_MALI_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S80mali endef +define SUNXI_MALI_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 755 package/sunxi-mali/S80mali \ + $(TARGET_DIR)/usr/lib/systemd/scripts/mali
I'm not very fond of placing a binary in '/usr/lib/...'. I think it would be better to install into '/usr/sbin'
You patch will be marked as "Changes Requested" in patchwork.
Quoted 15 lines
package/sunxi-mali/sunxi-mali.mk +7
-1+ $(INSTALL) -D -m 644 package/sunxi-mali/mali.service \ + $(TARGET_DIR)/usr/lib/systemd/system/mali.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/mali.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/mali.service +endef + $(eval $(generic-package)) --2.0.3
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH 27/38 ti-gfx: systemd support
In reply to Alex SuykovThe startup script too complex to embed it completely into the .service file, so it is left as a standalone script.
--- package/ti-gfx/ti-gfx.mk | 10 ++++++++++ package/ti-gfx/ti-gfx.service | 11 +++++++++++ 2 files changed, 21 insertions(+) create mode 100644 package/ti-gfx/ti-gfx.service
package/ti-gfx/ti-gfx.mk +10 -0
@@ -190,6 +190,16 @@ define TI_GFX_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S80ti-gfx endef +define TI_GFX_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 755 package/ti-gfx/S80ti-gfx \ + $(TARGET_DIR)/usr/lib/systemd/scripts/ti-gfx + $(INSTALL) -D -m 644 package/ti-gfx/ti-gfx.service \ + $(TARGET_DIR)/usr/lib/systemd/system/ti-gfx.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/ti-gfx.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/ti-gfx.service +endef + define TI_GFX_INSTALL_TARGET_CMDS $(TI_GFX_INSTALL_KM_CMDS) $(TI_GFX_INSTALL_BINS_CMDS)
package/ti-gfx/ti-gfx.service new file +11 -0
@@ -0,0 +1,11 @@ +[Unit] +Description=PVR graphics driver + +[Service] +Type=oneshot +ExecStart=/usr/lib/systemd/scripts/ti-gfx start +ExecStop=/usr/lib/systemd/scripts/ti-gfx stop +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
PATCH 27/38 ti-gfx: systemd support
Dear Alex Suykov,
Quoted 9 lines · Alex Suykov
The startup script too complex to embed it completely into the .service file, so it is left as a standalone script.
Signed-off-by Alex Suykov <[email protected]>--- package/ti-gfx/ti-gfx.mk | 10 ++++++++++ package/ti-gfx/ti-gfx.service | 11 +++++++++++ 2 files changed, 21 insertions(+) create mode 100644 package/ti-gfx/ti-gfx.service
Applied with some minor changes:
[Thomas:
- use relative path for the symbolic link
- slightly tweak the service Description string]
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 28/38 squid: systemd support
In reply to Alex Suykovsquid comes with a .service file, but does not install it.
--- package/squid/squid.mk | 8 ++++++++ 1 file changed, 8 insertions(+)
package/squid/squid.mk +8 -0
@@ -81,4 +81,12 @@ define SQUID_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S97squid endef +define SQUID_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 0644 $(@D)/tools/squid.service \ + $(TARGET_DIR)/usr/lib/systemd/system/squid.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/squid.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/squid.service +endef + $(eval $(autotools-package))
Signature · 1 line
2.0.3
PATCH 28/38 squid: systemd support
Dear Alex Suykov,
Quoted 12 lines · Alex Suykov
squid comes with a .service file, but does not install it.
Signed-off-by Alex Suykov <[email protected]>--- package/squid/squid.mk | 8 ++++++++ 1 file changed, 8 insertions(+)package/squid/squid.mk +0
-0
package/squid/squid.mk define SQUID_INSTALL_INIT_SYSV · line 89
Quoted 9 lines
package/squid/squid.mk +6
-0@@ -81,4 +81,12 @@ define SQUID_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S97squid endef +define SQUID_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 0644 $(@D)/tools/squid.service \ + $(TARGET_DIR)/usr/lib/systemd/system/squid.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/squid.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/squid.service
We prefer to use a relative path for the symlink, so that the symlink appears to be valid when looking at $(TARGET_DIR) on the build machine.
I've fixed that up before committing, and also fixed it on the upmpdcli package, which I forgot to do when merging your patch on this package.
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 29/38 tftpd: systemd support
In reply to Alex SuykovThe code below assumes sysv initscript is correct. Which I have doubts about.
--- package/tftpd/tftpd.mk | 8 ++++++++ package/tftpd/tftpd.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/tftpd/tftpd.service
package/tftpd/tftpd.mk +8 -0
@@ -23,4 +23,12 @@ define TFTPD_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/tftpd/S80tftpd-hpa $(TARGET_DIR)/etc/init.d/S80tftpd-hpa endef +define TFTPD_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/tftpd/tftpd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/tftpd.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/tftpd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/tftpd.service +endef + $(eval $(autotools-package))
package/tftpd/tftpd.service new file +10 -0
@@ -0,0 +1,10 @@ +[Unit] +Description=TFTP daemon +After=syslog.target network.target + +[Service] +ExecStart=/usr/sbin/tftpd -L -c -s /var/lib/tftpboot +Restart=always + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
PATCH 29/38 tftpd: systemd support
Hi Alex, all
Quoted 2 lines · Alex Suykov
The code below assumes sysv initscript is correct. Which I have doubts about.
And you are rights, the scripts is broken, it's using in.tftpd while we install tftp and tftpd.
It would be nice if you could take this and send a patch to rework the init script as well.
Quoted 31 lines
Signed-off-by Alex Suykov <[email protected]>--- package/tftpd/tftpd.mk | 8 ++++++++ package/tftpd/tftpd.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/tftpd/tftpd.servicepackage/tftpd/tftpd.mk +8
-0@@ -23,4 +23,12 @@ define TFTPD_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/tftpd/S80tftpd-hpa $(TARGET_DIR)/etc/init.d/S80tftpd-hpa endef +define TFTPD_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/tftpd/tftpd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/tftpd.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/tftpd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/tftpd.service +endef + $(eval $(autotools-package))package/tftpd/tftpd.service new file +0
-0
package/tftpd/tftpd.service line 6
Quoted 6 lines
package/tftpd/tftpd.service new file +6
-0@@ -0,0 +1,10 @@ +[Unit] +Description=TFTP daemon +After=syslog.target network.target + +[Service] +ExecStart=/usr/sbin/tftpd -L -c -s /var/lib/tftpboot
You need to make sure /var/lib/tftpboot exists, specially with a read only filesystems.
See some recent dropbear patch sent by Yann E. Morin for a way to do that. Maybe you should uses tmpfiles.d for a better way to do that.
Or maybe install a configuration file for tftpd which points to /tmp/tftpd so it's generic enough that it would work in all cases.
Your patch will be marked as "Changes Requested" in patchwork waiting on your input for this one.
Quoted 11 lines
package/tftpd/tftpd.service new file +4
-1+Restart=always + +[Install] +WantedBy=multi-user.target --2.0.3
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH 30/38 tinyhttpd: systemd support
In reply to Alex Suykov--- package/tinyhttpd/tinyhttpd.mk | 8 ++++++++ package/tinyhttpd/tinyhttpd.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/tinyhttpd/tinyhttpd.service
package/tinyhttpd/tinyhttpd.mk +8 -0
@@ -24,4 +24,12 @@ define TINYHTTPD_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S85tinyhttpd endef +define TINYHTTPD_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/tinyhttpd/tinyhttpd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/tinyhttpd.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/tinyhttpd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/tinyhttpd.service +endef + $(eval $(generic-package))
package/tinyhttpd/tinyhttpd.service new file +10 -0
@@ -0,0 +1,10 @@ +[Unit] +Description=Tiny HTTP daemon +After=network.target + +[Service] +ExecStart=/usr/sbin/tinyhttpd +Restart=always + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
PATCH 30/38 tinyhttpd: systemd support
Dear Alex Suykov,
Quoted 6 lines · Alex Suykov
Signed-off-by Alex Suykov <[email protected]>--- package/tinyhttpd/tinyhttpd.mk | 8 ++++++++ package/tinyhttpd/tinyhttpd.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/tinyhttpd/tinyhttpd.service
Applied after changing the link to use a relative path, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 31/38 transmission: systemd support
In reply to Alex Suykov--- package/transmission/transmission.mk | 8 ++++++++ package/transmission/transmission.service | 11 +++++++++++ 2 files changed, 19 insertions(+) create mode 100644 package/transmission/transmission.service
package/transmission/transmission.mk +8 -0
@@ -41,6 +41,14 @@ define TRANSMISSION_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S92transmission endef +define TRANSMISSION_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/transmission/transmission.service \ + $(TARGET_DIR)/usr/lib/systemd/system/transmission.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/transmission.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/transmission.service +endef + else TRANSMISSION_CONF_OPTS += --disable-daemon endif
package/transmission/transmission.service new file +11 -0
@@ -0,0 +1,11 @@ +[Unit] +Description=Transmission BitTorrent Daemon +After=network.target + +[Service] +User=transmission +ExecStart=/usr/bin/transmission-daemon -f --log-error +ExecReload=/bin/kill -s HUP $MAINPID + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
PATCH 32/38 upmpdcli: systemd support
In reply to Alex SuykovUsable .service file is provided in the package.
--- package/upmpdcli/upmpdcli.mk | 8 ++++++++ 1 file changed, 8 insertions(+)
package/upmpdcli/upmpdcli.mk +8 -0
@@ -19,6 +19,14 @@ define UPMPDCLI_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/upmpdcli/S99upmpdcli $(TARGET_DIR)/etc/init.d/S99upmpdcli endef +define UPMPDCLI_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 $(@D)/systemd/upmpdcli.service \ + $(TARGET_DIR)/usr/lib/systemd/system/upmpdcli.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/upmpdcli.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/upmpdcli.service +endef + define UPMPDCLI_INSTALL_CONF_FILE $(INSTALL) -D -m 0755 $(@D)/src/upmpdcli.conf $(TARGET_DIR)/etc/upmpdcli.conf endef
Signature · 1 line
2.0.3
Thomas Petazzoni
AppliedPATCH 32/38 upmpdcli: systemd support
Dear Alex Suykov,
Quoted 6 lines · Alex Suykov
Usable .service file is provided in the package.
Signed-off-by Alex Suykov <[email protected]>--- package/upmpdcli/upmpdcli.mk | 8 ++++++++ 1 file changed, 8 insertions(+)
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 33/38 vsftpd: systemd support
In reply to Alex SuykovForeground/background mode can be set either way in the config file, so command line override is used to force foreground.
--- package/vsftpd/vsftpd.mk | 8 ++++++++ package/vsftpd/vsftpd.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/vsftpd/vsftpd.service
package/vsftpd/vsftpd.mk +8 -0
@@ -55,4 +55,12 @@ define VSFTPD_INSTALL_TARGET_CMDS $(INSTALL) -d -m 700 $(TARGET_DIR)/usr/share/empty endef +define VSFTPD_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/vsftpd/vsftpd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/vsftpd.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/vsftpd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/vsftpd.service +endef + $(eval $(generic-package))
package/vsftpd/vsftpd.service new file +10 -0
@@ -0,0 +1,10 @@ +[Unit] +Description=FTP daemon +After=syslog.target network.target auditd.target + +[Service] +ExecStart=/usr/bin/vsftpd /etc/vsftpd.conf -obackground=NO +Restart=always + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
PATCH 33/38 vsftpd: systemd support
Hi Alex, all
Quoted 33 lines · Alex Suykov
Foreground/background mode can be set either way in the config file, so command line override is used to force foreground.
Signed-off-by Alex Suykov <[email protected]>--- package/vsftpd/vsftpd.mk | 8 ++++++++ package/vsftpd/vsftpd.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/vsftpd/vsftpd.servicepackage/vsftpd/vsftpd.mk +8
-0@@ -55,4 +55,12 @@ define VSFTPD_INSTALL_TARGET_CMDS $(INSTALL) -d -m 700 $(TARGET_DIR)/usr/share/empty endef +define VSFTPD_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/vsftpd/vsftpd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/vsftpd.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/vsftpd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/vsftpd.service +endef + $(eval $(generic-package))package/vsftpd/vsftpd.service new file +0
-0
package/vsftpd/vsftpd.service line 3
Quoted 3 lines
package/vsftpd/vsftpd.service new file +3
-0@@ -0,0 +1,10 @@ +[Unit] +Description=FTP daemon +After=syslog.target network.target auditd.target
Why would run after audit.target ? It doesn't make much sense.
package/vsftpd/vsftpd.service line 6
Quoted 3 lines
package/vsftpd/vsftpd.service new file +3
-0+ +[Service] +ExecStart=/usr/bin/vsftpd /etc/vsftpd.conf -obackground=NO
You don't need to pass '/etc/vsftpd.conf' since it's the default and background is not specified into the configuration file so it will not be overridden.
Your patch will be marked as "Changes Requested" in patchwork.
Quoted 11 lines
package/vsftpd/vsftpd.service new file +4
-1+Restart=always + +[Install] +WantedBy=multi-user.target --2.0.3
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH 34/38 triggerhappy: systemd support
In reply to Alex Suykov--- package/triggerhappy/triggerhappy.mk | 8 ++++++++ package/triggerhappy/triggerhappy.service | 9 +++++++++ 2 files changed, 17 insertions(+) create mode 100644 package/triggerhappy/triggerhappy.service
package/triggerhappy/triggerhappy.mk +8 -0
@@ -34,4 +34,12 @@ define TRIGGERHAPPY_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S10triggerhappy endef +define TRIGGERHAPPY_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/triggerhappy/triggerhappy.service \ + $(TARGET_DIR)/usr/lib/systemd/system/triggerhappy.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/triggerhappy.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/triggerhappy.service +endef + $(eval $(generic-package))
package/triggerhappy/triggerhappy.service new file +9 -0
@@ -0,0 +1,9 @@ +[Unit] +Description=Triggerhappy daemon + +[Service] +ExecStart=/usr/sbin/thd --triggers /etc/triggerhappy/triggers.d --socket /var/run/thd.socket --user nobody /dev/input/event* +Restart=always + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
PATCH 34/38 triggerhappy: systemd support
Dear Alex Suykov,
Quoted 6 lines · Alex Suykov
Signed-off-by Alex Suykov <[email protected]>--- package/triggerhappy/triggerhappy.mk | 8 ++++++++ package/triggerhappy/triggerhappy.service | 9 +++++++++ 2 files changed, 17 insertions(+) create mode 100644 package/triggerhappy/triggerhappy.service
Applied after fixing the patch to use a relative path for the symbolic link, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 35/38 supervisor: systemd support
In reply to Alex SuykovRunning supervisord under systemd sounds wrong, but it is possible and probably makes sense in some cases.
--- package/supervisor/supervisor.mk | 8 ++++++++ package/supervisor/supervisord.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/supervisor/supervisord.service
package/supervisor/supervisor.mk +8 -0
@@ -22,4 +22,12 @@ define SUPERVISOR_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S99supervisord endef +define SUPERVISOR_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/supervisor/supervisord.service \ + $(TARGET_DIR)/usr/lib/systemd/system/supervisord.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/supervisord.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/supervisord.service +endef + $(eval $(python-package))
package/supervisor/supervisord.service new file +10 -0
@@ -0,0 +1,10 @@ +[Unit] +Description=Process Control System +After=syslog.target + +[Service] +ExecStart=/usr/bin/supervisord -n +Restart=always + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
PATCH 35/38 supervisor: systemd support
Dear Alex Suykov,
Quoted 9 lines · Alex Suykov
Running supervisord under systemd sounds wrong, but it is possible and probably makes sense in some cases.
Signed-off-by Alex Suykov <[email protected]>--- package/supervisor/supervisor.mk | 8 ++++++++ package/supervisor/supervisord.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/supervisor/supervisord.service
Applied after using a relative symbolic link rather than an absolute one. Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 36/38 samba: systemd support
In reply to Alex Suykov--- package/samba/nmbd.service | 12 ++++++++++++ package/samba/samba.mk | 12 ++++++++++++ package/samba/smbd.service | 12 ++++++++++++ 3 files changed, 36 insertions(+) create mode 100644 package/samba/nmbd.service create mode 100644 package/samba/smbd.service
package/samba/nmbd.service new file +12 -0
@@ -0,0 +1,12 @@ +[Unit] +Description=Samba NMB daemon +After=network.target + +[Service] +ExecStartPre=mkdir -p /var/log/samba +ExecStart=/usr/sbin/nmbd -F +Restart=always +PermissionsStartOnly=true + +[Install] +WantedBy=multi-user.target
package/samba/samba.mk +12 -0
@@ -186,4 +186,16 @@ define SAMBA_INSTALL_INIT_SYSV $(INSTALL) -m 0755 -D package/samba/S91smb $(TARGET_DIR)/etc/init.d/S91smb endef +define SAMBA_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/samba/nmbd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/nmbd.service + $(INSTALL) -D -m 644 package/samba/smbd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/smbd.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/nmbd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/nmbd.service + ln -sf /usr/lib/systemd/system/smbd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/smbd.service +endef + $(eval $(autotools-package))
package/samba/smbd.service new file +12 -0
@@ -0,0 +1,12 @@ +[Unit] +Description=Samba SMB daemon +After=network.target + +[Service] +ExecStartPre=mkdir -p /var/log/samba +ExecStart=/usr/sbin/smbd -F +Restart=always +PermissionsStartOnly=true + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
PATCH 37/38 samba4: install systemd files
In reply to Alex SuykovThe package comes with usable .service files for smbd, nmbd and winbind, but does not install them.
--- package/samba4/samba4.mk | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
package/samba4/samba4.mk +16 -0
@@ -155,4 +155,20 @@ define SAMBA4_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S91smb endef +define SAMBA4_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 $(@D)/packaging/systemd/nmb.service \ + $(TARGET_DIR)/usr/lib/systemd/system/nmb.service + $(INSTALL) -D -m 644 $(@D)/packaging/systemd/smb.service \ + $(TARGET_DIR)/usr/lib/systemd/system/smb.service + $(INSTALL) -D -m 644 $(@D)/packaging/systemd/winbind.service \ + $(TARGET_DIR)/usr/lib/systemd/system/winbind.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/nmb.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/nmb.service + ln -sf /usr/lib/systemd/system/smb.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/smb.service + ln -sf /usr/lib/systemd/system/winbind.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/winbind.service +endef + $(eval $(generic-package))
Signature · 1 line
2.0.3
PATCH 37/38 samba4: install systemd files
Dear Alex Suykov,
Quoted 5 lines · Alex Suykov
package/samba4/samba4.mk +5
-0+define SAMBA4_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 $(@D)/packaging/systemd/nmb.service \ + $(TARGET_DIR)/usr/lib/systemd/system/nmb.service + $(INSTALL) -D -m 644 $(@D)/packaging/systemd/smb.service \ + $(TARGET_DIR)/usr/lib/systemd/system/smb.service
package/samba4/samba4.mk define SAMBA4_INSTALL_INIT_SYSV · line 172
Quoted 10 lines
package/samba4/samba4.mk +10
-0+ $(INSTALL) -D -m 644 $(@D)/packaging/systemd/winbind.service \ + $(TARGET_DIR)/usr/lib/systemd/system/winbind.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/nmb.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/nmb.service + ln -sf /usr/lib/systemd/system/smb.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/smb.service + ln -sf /usr/lib/systemd/system/winbind.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/winbind.service +endef
I've changed to use relative paths for the symbolic links, and applied. Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 38/38 mysql: systemd support
In reply to Alex SuykovService startup follows sysv initscript and includes db init.
--- package/mysql/mysql.mk | 8 ++++++++ package/mysql/mysqld.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/mysql/mysqld.service
package/mysql/mysql.mk +8 -0
@@ -103,6 +103,14 @@ define MYSQL_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S97mysqld endef +define MYSQL_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/mysql/mysqld.service \ + $(TARGET_DIR)/usr/lib/systemd/system/mysqld.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf /usr/lib/systemd/system/mysqld.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/mysqld.service +endef + else MYSQL_CONF_OPTS += \ --without-server
package/mysql/mysqld.service new file +10 -0
@@ -0,0 +1,10 @@ +[Unit] +Description=MySQL database server + +[Service] +ExecStartPre=/bin/sh -c 'test -d /var/mysql/mysql || mysql_install_db --user=mysql --ldata=/var/mysql' +ExecStart=/usr/bin/mysqld_safe +Restart=always + +[Install] +WantedBy=multi-user.target
Signature · 1 line
2.0.3
PATCH 38/38 mysql: systemd support
Dear Alex Suykov,
Quoted 8 lines · Alex Suykov
Service startup follows sysv initscript and includes db init.
Signed-off-by Alex Suykov <[email protected]>--- package/mysql/mysql.mk | 8 ++++++++ package/mysql/mysqld.service | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 package/mysql/mysqld.service
Applied after changing the symlink to be relative rather than absolute. Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
cover systemd support for various packages
In reply to Alex SuykovQuoted 7 lines · Alex Suykov
This set adds systemd support to packages that install sysv initscripts but not systemd services. The idea is that the choice between
BR2_INIT_SYSVandBR2_INIT_SYSTEMDshould affect the process list in the resulting system as little as possible.All services start foreground processes (Type=simple), and follow current initscripts otherwise whenever possible.
Type=simple is not necessarily the best way to do this. Handling errors is done differently by systemd with Type=simple vs Type=forking.
A recent blog post by Lucas Nussbaum has more details:
http://www.lucas-nussbaum.net/blog/?p=877
With Type=simple, systemd considers the service started right after executing it. It will not flag errors on startup if the process exits soon after due to a config error, etc. With Type=forking, systemd will only consider the service started after the parent exits. As many daemons will check config files and command line args before forking, these errors will be detected and propagated to systemd.
cover systemd support for various packages
Quoted 2 lines · Cam Hutchison
Type=simple is not necessarily the best way to do this. Handling errors is done differently by systemd with Type=simple vs Type=forking.
The difference in error handling is actually why I consider non-forking services to be the only valid kind of services for anything more capable that sysv initscripts.
Quoted 9 lines
A recent blog post by Lucas Nussbaum has more details:
http://www.lucas-nussbaum.net/blog/?p=877With Type=simple, systemd considers the service started right after executing it. It will not flag errors on startup if the process exits soon after due to a config error, etc. With Type=forking, systemd will only consider the service started after the parent exits. As many daemons will check config files and command line args before forking, these errors will be detected and propagated to systemd.
Non-forking services signal initial configuration errors as well as any errors past initial configuration phase by exiting with non-zero status. Which systemd can take immediate action on, like restarting the service or marking it as failed. It's mentioned in the blog post.
Forking daemons gain marginally better *initial* error reporting by losing the ability to report errors at later stages. Detecting the state of a forked daemon (as in running or dead), or killing it, is non-trivial and generally involves time of check time of use race condition. With non-forking services, both operations are trivial and reliable.
Does knowing the fine distiction between initial and non-initial failure is worth the loss of control over the child process? I don't think so.
Reporting initial config status via parent process exit() is a specific case of startup notification, the post mentions that too. Any reliance on any kind of startup notification inherently results in time of check time of use race conditon.
cover systemd support for various packages
Alex, Cam,
Could you reach to an agreement on this point? I am not a systemd expert, and from a quick reading of Lucas Nussbaum blog post, there does not seem to be a perfect solution (besides changing the service source code itself to make it more systemd aware).
It would be great to be able to move forward with this patch series.
Thanks for your help,
Thomas
Quoted 41 lines · Alex Suykov
Quoted 2 lines · Cam Hutchison
Type=simple is not necessarily the best way to do this. Handling errors is done differently by systemd with Type=simple vs Type=forking.
The difference in error handling is actually why I consider non-forking services to be the only valid kind of services for anything more capable that sysv initscripts.
Quoted 9 lines
A recent blog post by Lucas Nussbaum has more details:
http://www.lucas-nussbaum.net/blog/?p=877With Type=simple, systemd considers the service started right after executing it. It will not flag errors on startup if the process exits soon after due to a config error, etc. With Type=forking, systemd will only consider the service started after the parent exits. As many daemons will check config files and command line args before forking, these errors will be detected and propagated to systemd.
Non-forking services signal initial configuration errors as well as any errors past initial configuration phase by exiting with non-zero status. Which systemd can take immediate action on, like restarting the service or marking it as failed. It's mentioned in the blog post.
Forking daemons gain marginally better *initial* error reporting by losing the ability to report errors at later stages. Detecting the state of a forked daemon (as in running or dead), or killing it, is non-trivial and generally involves time of check time of use race condition. With non-forking services, both operations are trivial and reliable.
Does knowing the fine distiction between initial and non-initial failure is worth the loss of control over the child process? I don't think so.
Reporting initial config status via parent process
exit()is a specific case of startup notification, the post mentions that too. Any reliance on any kind of startup notification inherently results in time of check time of use race conditon.
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com