* [Buildroot] [PATCH 00/16] Different enhancements, primarily for systemd
@ 2015-01-19 16:14 Maxim Mikityanskiy
2015-01-19 16:14 ` [Buildroot] [PATCH 01/16] package/busybox: optional udhcpc script Maxim Mikityanskiy
` (15 more replies)
0 siblings, 16 replies; 60+ messages in thread
From: Maxim Mikityanskiy @ 2015-01-19 16:14 UTC (permalink / raw)
To: buildroot
Hello,
There are some enhancements, primarily targeted on better systemd
support, adding some little features to buildroot, and of course some
small fixes.
Please review these patches; if things will go fine, I have plans on
sending a little more enhancements here :)
Maxim Mikityanskiy (16):
package/busybox: optional udhcpc script
package: install bash-completion files only with bash
package/dbus: fix machine-id when using systemd
package/systemd: add missing dependencies
package/systemd: apply locale settings in user shells
package/dosfstools: add missing symlinks
package/dropbear: install dropbear.service to correct dir
package/e2fsprogs: make /sbin/fsck available
package/minidlna: improve systemd support
package/transmission: improve systemd support
package/samba: use FHS dirs
package/samba: add systemd support
package/tar: add support for acl and xattr
package/util-linux: add more tool select options
package/vim: add default vimrc
package/rng-tools: add systemd support for rngd
package/busybox/Config.in | 5 ++
package/busybox/busybox.mk | 15 +++--
package/dbus/dbus.mk | 13 +++--
package/dosfstools/dosfstools.mk | 13 +++++
package/dropbear/dropbear.mk | 4 +-
package/e2fsprogs/e2fsprogs.mk | 8 +++
package/kmod/kmod.mk | 4 ++
package/minidlna/minidlna.conf | 74 ++++++++++++++++++++++++
package/minidlna/minidlna.mk | 37 ++++++++++++
package/minidlna/minidlna.service | 12 ++++
package/minidlna/minidlna_sysctl.conf | 1 +
package/minidlna/minidlna_sysusers.conf | 1 +
package/minidlna/minidlna_tmpfiles.conf | 3 +
package/rng-tools/rng-tools.mk | 8 +++
package/rng-tools/rngd-exit-code.patch | 11 ++++
package/rng-tools/rngd.service | 9 +++
package/samba/S91smb | 5 +-
package/samba/nmbd.service | 12 ++++
package/samba/samba.mk | 33 +++++++++--
package/samba/samba_tmpfiles.conf | 4 ++
package/samba/smbd.service | 12 ++++
package/samba/winbindd.service | 12 ++++
package/systemd/Config.in | 3 +
package/systemd/locale.sh | 26 +++++++++
package/systemd/systemd.mk | 15 +++++
package/tar/tar.mk | 10 ++++
package/transmission/transmission-daemon.service | 12 ++++
package/transmission/transmission.mk | 45 ++++++++++++++
package/transmission/transmission_sysctl.conf | 2 +
package/transmission/transmission_sysusers.conf | 1 +
package/transmission/transmission_tmpfiles.conf | 1 +
package/util-linux/Config.in | 64 +++++++++++++++++++-
package/util-linux/util-linux.mk | 24 +++++++-
package/vim/vim.mk | 11 ++++
package/vim/vimrc | 14 +++++
35 files changed, 501 insertions(+), 23 deletions(-)
create mode 100644 package/minidlna/minidlna.conf
create mode 100644 package/minidlna/minidlna.service
create mode 100644 package/minidlna/minidlna_sysctl.conf
create mode 100644 package/minidlna/minidlna_sysusers.conf
create mode 100644 package/minidlna/minidlna_tmpfiles.conf
create mode 100644 package/rng-tools/rngd-exit-code.patch
create mode 100644 package/rng-tools/rngd.service
create mode 100644 package/samba/nmbd.service
create mode 100644 package/samba/samba_tmpfiles.conf
create mode 100644 package/samba/smbd.service
create mode 100644 package/samba/winbindd.service
create mode 100644 package/systemd/locale.sh
create mode 100644 package/transmission/transmission-daemon.service
create mode 100644 package/transmission/transmission_sysctl.conf
create mode 100644 package/transmission/transmission_sysusers.conf
create mode 100644 package/transmission/transmission_tmpfiles.conf
create mode 100644 package/vim/vimrc
--
2.2.1
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 01/16] package/busybox: optional udhcpc script
2015-01-19 16:14 [Buildroot] [PATCH 00/16] Different enhancements, primarily for systemd Maxim Mikityanskiy
@ 2015-01-19 16:14 ` Maxim Mikityanskiy
2015-01-26 21:26 ` Thomas Petazzoni
2015-01-19 16:14 ` [Buildroot] [PATCH 02/16] package: install bash-completion files only with bash Maxim Mikityanskiy
` (14 subsequent siblings)
15 siblings, 1 reply; 60+ messages in thread
From: Maxim Mikityanskiy @ 2015-01-19 16:14 UTC (permalink / raw)
To: buildroot
Create new config option BR2_PACKAGE_BUSYBOX_UDHCPC_SCRIPT to control
whether to install optional udhcpc default.script. It is possible that
udhcpc is not enabled in busybox config, so default.script is useless in
that case.
Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
---
package/busybox/Config.in | 5 +++++
package/busybox/busybox.mk | 15 +++++++++++----
2 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/package/busybox/Config.in b/package/busybox/Config.in
index f2f2990..626faf5 100644
--- a/package/busybox/Config.in
+++ b/package/busybox/Config.in
@@ -26,6 +26,11 @@ config BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
Show packages in menuconfig that are potentially also provided
by busybox.
+config BR2_PACKAGE_BUSYBOX_UDHCPC_SCRIPT
+ bool "Install the udhcpc default script"
+ help
+ Install /usr/share/udhcp/default.script for udhcpc.
+
config BR2_PACKAGE_BUSYBOX_WATCHDOG
bool "Install the watchdog daemon startup script"
help
diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
index f68a2f8..fbdde62 100644
--- a/package/busybox/busybox.mk
+++ b/package/busybox/busybox.mk
@@ -49,10 +49,20 @@ BUSYBOX_KCONFIG_FILE = $(BUSYBOX_CONFIG_FILE)
BUSYBOX_KCONFIG_EDITORS = menuconfig xconfig gconfig
BUSYBOX_KCONFIG_OPTS = $(BUSYBOX_MAKE_OPTS)
+ifeq ($(BR2_PACKAGE_BUSYBOX_UDHCPC_SCRIPT),y)
+define BUSYBOX_INSTALL_UDHCPC_SCRIPT
+ $(INSTALL) -m 0755 -D package/busybox/udhcpc.script \
+ $(TARGET_DIR)/usr/share/udhcpc/default.script; \
+endef
define BUSYBOX_PERMISSIONS
/bin/busybox f 4755 0 0 - - - - -
/usr/share/udhcpc/default.script f 755 0 0 - - - - -
endef
+else
+define BUSYBOX_PERMISSIONS
+ /bin/busybox f 4755 0 0 - - - - -
+endef
+endif
# If mdev will be used for device creation enable it and copy S10mdev to /etc/init.d
ifeq ($(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV),y)
@@ -210,10 +220,7 @@ endef
define BUSYBOX_INSTALL_TARGET_CMDS
$(BUSYBOX_MAKE_ENV) $(MAKE) $(BUSYBOX_MAKE_OPTS) -C $(@D) install
- $(INSTALL) -m 0755 -D package/busybox/udhcpc.script \
- $(TARGET_DIR)/usr/share/udhcpc/default.script
- $(INSTALL) -m 0755 -d \
- $(TARGET_DIR)/usr/share/udhcpc/default.script.d
+ $(BUSYBOX_INSTALL_UDHCPC_SCRIPT)
$(BUSYBOX_INSTALL_MDEV_CONF)
endef
--
2.2.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 02/16] package: install bash-completion files only with bash
2015-01-19 16:14 [Buildroot] [PATCH 00/16] Different enhancements, primarily for systemd Maxim Mikityanskiy
2015-01-19 16:14 ` [Buildroot] [PATCH 01/16] package/busybox: optional udhcpc script Maxim Mikityanskiy
@ 2015-01-19 16:14 ` Maxim Mikityanskiy
2015-01-26 22:00 ` Thomas Petazzoni
2015-01-19 16:14 ` [Buildroot] [PATCH 03/16] package/dbus: fix machine-id when using systemd Maxim Mikityanskiy
` (13 subsequent siblings)
15 siblings, 1 reply; 60+ messages in thread
From: Maxim Mikityanskiy @ 2015-01-19 16:14 UTC (permalink / raw)
To: buildroot
package/systemd, package/kmod, package/util-linux: don't install
bash-completion files if bash is not selected to be installed.
Otherwise, install bash-completion files.
package/systemd: don't install zsh-completion files is zsh is not
selected to be installed. Otherwise, install zsh-completion files.
package/util-linux: don't install empty
/usr/share/bash-completion/completions directory if bash is not going to
be installed, and install bash-completion files if bash is selected to
be installed.
Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
---
package/kmod/kmod.mk | 4 ++++
package/systemd/systemd.mk | 8 ++++++++
package/util-linux/util-linux.mk | 7 ++++++-
3 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/package/kmod/kmod.mk b/package/kmod/kmod.mk
index cc185c8..ff07c78 100644
--- a/package/kmod/kmod.mk
+++ b/package/kmod/kmod.mk
@@ -64,6 +64,10 @@ else
KMOD_CONF_OPTS += --disable-tools
endif
+ifeq ($(BR2_PACKAGE_BASH),)
+KMOD_CONF_OPTS += --with-bashcompletiondir=
+endif
+
# We only install depmod, since that's the only tool used for the
# host.
define HOST_KMOD_INSTALL_TOOLS
diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
index dbfce71..92f99c2 100644
--- a/package/systemd/systemd.mk
+++ b/package/systemd/systemd.mk
@@ -133,6 +133,14 @@ else
SYSTEMD_CONF_OPTS += --disable-smack
endif
+ifeq ($(BR2_PACKAGE_BASH),)
+SYSTEMD_CONF_OPTS += --with-bashcompletiondir=
+endif
+
+ifeq ($(BR2_PACKAGE_ZSH),)
+SYSTEMD_CONF_OPTS += --with-zshcompletiondir=
+endif
+
# mq_getattr needs -lrt
SYSTEMD_MAKE_OPTS += LIBS=-lrt
SYSTEMD_MAKE_OPTS += LDFLAGS+=-ldl
diff --git a/package/util-linux/util-linux.mk b/package/util-linux/util-linux.mk
index a530596..c8fb77c 100644
--- a/package/util-linux/util-linux.mk
+++ b/package/util-linux/util-linux.mk
@@ -21,9 +21,14 @@ UTIL_LINUX_CONF_ENV = scanf_cv_type_modifier=no
UTIL_LINUX_CONF_OPTS += \
--disable-rpath \
--disable-makeinstall-chown \
- --disable-bash-completion \
--without-python
+ifeq ($(BR2_PACKAGE_BASH),)
+UTIL_LINUX_CONF_OPTS += \
+ --disable-bash-completion \
+ --with-bashcompletiondir=
+endif
+
# We don't want the host-busybox dependency to be added automatically
HOST_UTIL_LINUX_DEPENDENCIES = host-pkgconf
--
2.2.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 03/16] package/dbus: fix machine-id when using systemd
2015-01-19 16:14 [Buildroot] [PATCH 00/16] Different enhancements, primarily for systemd Maxim Mikityanskiy
2015-01-19 16:14 ` [Buildroot] [PATCH 01/16] package/busybox: optional udhcpc script Maxim Mikityanskiy
2015-01-19 16:14 ` [Buildroot] [PATCH 02/16] package: install bash-completion files only with bash Maxim Mikityanskiy
@ 2015-01-19 16:14 ` Maxim Mikityanskiy
2015-02-02 14:50 ` Samuel Martin
2015-07-12 23:48 ` Thomas Petazzoni
2015-01-19 16:14 ` [Buildroot] [PATCH 04/16] package/systemd: add missing dependencies Maxim Mikityanskiy
` (12 subsequent siblings)
15 siblings, 2 replies; 60+ messages in thread
From: Maxim Mikityanskiy @ 2015-01-19 16:14 UTC (permalink / raw)
To: buildroot
When systemd is used, /var/lib/dbus becomes dangling symlink, because
nobody does mkdir /tmp/dbus, so /var/lib/dbus/machine-id could not be
written. On SysVinit systems there is init script that creates
/tmp/dbus.
This patch preserves old behavior for SysVinit systems, and introduces
new one for systemd-booted systems: /var/lib/dbus is a persistent
directory, it holds symlink /var/lib/dbus/machine-id -> /etc/machine-id
as machine-id(5) suggests, and /etc/machine-id is managed by systemd.
Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
---
package/dbus/dbus.mk | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/package/dbus/dbus.mk b/package/dbus/dbus.mk
index faad2b5..266e27b 100644
--- a/package/dbus/dbus.mk
+++ b/package/dbus/dbus.mk
@@ -73,17 +73,18 @@ endef
DBUS_POST_INSTALL_TARGET_HOOKS += DBUS_REMOVE_DEVFILES
-define DBUS_INSTALL_TARGET_FIXUP
+define DBUS_INSTALL_INIT_SYSV
+ $(INSTALL) -m 0755 -D package/dbus/S30dbus \
+ $(TARGET_DIR)/etc/init.d/S30dbus
+
mkdir -p $(TARGET_DIR)/var/lib
rm -rf $(TARGET_DIR)/var/lib/dbus
ln -sf /tmp/dbus $(TARGET_DIR)/var/lib/dbus
endef
-DBUS_POST_INSTALL_TARGET_HOOKS += DBUS_INSTALL_TARGET_FIXUP
-
-define DBUS_INSTALL_INIT_SYSV
- $(INSTALL) -m 0755 -D package/dbus/S30dbus \
- $(TARGET_DIR)/etc/init.d/S30dbus
+define DBUS_INSTALL_INIT_SYSTEMD
+ mkdir -p $(TARGET_DIR)/var/lib/dbus
+ ln -sf /etc/machine-id $(TARGET_DIR)/var/lib/dbus/machine-id
endef
HOST_DBUS_DEPENDENCIES = host-pkgconf host-expat
--
2.2.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 04/16] package/systemd: add missing dependencies
2015-01-19 16:14 [Buildroot] [PATCH 00/16] Different enhancements, primarily for systemd Maxim Mikityanskiy
` (2 preceding siblings ...)
2015-01-19 16:14 ` [Buildroot] [PATCH 03/16] package/dbus: fix machine-id when using systemd Maxim Mikityanskiy
@ 2015-01-19 16:14 ` Maxim Mikityanskiy
2015-02-02 14:22 ` Samuel Martin
2015-07-12 22:27 ` Thomas Petazzoni
2015-01-19 16:14 ` [Buildroot] [PATCH 05/16] package/systemd: apply locale settings in user shells Maxim Mikityanskiy
` (11 subsequent siblings)
15 siblings, 2 replies; 60+ messages in thread
From: Maxim Mikityanskiy @ 2015-01-19 16:14 UTC (permalink / raw)
To: buildroot
Systemd depends on mount and nologin from util-linux. Mount from busybox
is not fine, because its behavior differs from util-linux mount. Busybox
mount does not handle correctly 'mount / -o remount' (should apply
options from /etc/fstab). Nologin should be present, because
systemd-sysusers uses it as shell for newly created system users.
Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
---
package/systemd/Config.in | 3 +++
1 file changed, 3 insertions(+)
diff --git a/package/systemd/Config.in b/package/systemd/Config.in
index ed59c8d..8a73398 100644
--- a/package/systemd/Config.in
+++ b/package/systemd/Config.in
@@ -22,6 +22,9 @@ config BR2_PACKAGE_SYSTEMD
select BR2_PACKAGE_UTIL_LINUX
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
+ select BR2_PACKAGE_UTIL_LINUX_BINARIES
+ select BR2_PACKAGE_UTIL_LINUX_MOUNT
+ select BR2_PACKAGE_UTIL_LINUX_NOLOGIN
select BR2_PACKAGE_KMOD
select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # kmod-tools
select BR2_PACKAGE_KMOD_TOOLS
--
2.2.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 05/16] package/systemd: apply locale settings in user shells
2015-01-19 16:14 [Buildroot] [PATCH 00/16] Different enhancements, primarily for systemd Maxim Mikityanskiy
` (3 preceding siblings ...)
2015-01-19 16:14 ` [Buildroot] [PATCH 04/16] package/systemd: add missing dependencies Maxim Mikityanskiy
@ 2015-01-19 16:14 ` Maxim Mikityanskiy
2015-02-02 15:20 ` Samuel Martin
2015-07-12 22:55 ` [Buildroot] [PATCH v2] skeleton: " Arnout Vandecappelle
2015-01-19 16:14 ` [Buildroot] [PATCH 06/16] package/dosfstools: add missing symlinks Maxim Mikityanskiy
` (10 subsequent siblings)
15 siblings, 2 replies; 60+ messages in thread
From: Maxim Mikityanskiy @ 2015-01-19 16:14 UTC (permalink / raw)
To: buildroot
Add /etc/profile.d/locale.sh script from Arch Linux to apply systemd
locale settings in user shells.
Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
---
package/systemd/locale.sh | 26 ++++++++++++++++++++++++++
package/systemd/systemd.mk | 7 +++++++
2 files changed, 33 insertions(+)
create mode 100644 package/systemd/locale.sh
diff --git a/package/systemd/locale.sh b/package/systemd/locale.sh
new file mode 100644
index 0000000..b665872
--- /dev/null
+++ b/package/systemd/locale.sh
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+if [ -z "$LANG" ]; then
+ if [ -n "$XDG_CONFIG_HOME" ] && [ -r "$XDG_CONFIG_HOME/locale.conf" ]; then
+ . "$XDG_CONFIG_HOME/locale.conf"
+ elif [ -n $HOME ] && [ -r $HOME/.config/locale.conf ]; then
+ . "$HOME/.config/locale.conf"
+ elif [ -r /etc/locale.conf ]; then
+ . /etc/locale.conf
+ fi
+fi
+
+LANG=${LANG:-C}
+export LANG
+[ -n "$LC_CTYPE" ] && export LC_CTYPE
+[ -n "$LC_NUMERIC" ] && export LC_NUMERIC
+[ -n "$LC_TIME" ] && export LC_TIME
+[ -n "$LC_COLLATE" ] && export LC_COLLATE
+[ -n "$LC_MONETARY" ] && export LC_MONETARY
+[ -n "$LC_MESSAGES" ] && export LC_MESSAGES
+[ -n "$LC_PAPER" ] && export LC_PAPER
+[ -n "$LC_NAME" ] && export LC_NAME
+[ -n "$LC_ADDRESS" ] && export LC_ADDRESS
+[ -n "$LC_TELEPHONE" ] && export LC_TELEPHONE
+[ -n "$LC_MEASUREMENT" ] && export LC_MEASUREMENT
+[ -n "$LC_IDENTIFICATION" ] && export LC_IDENTIFICATION
diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
index 92f99c2..ef14c76 100644
--- a/package/systemd/systemd.mk
+++ b/package/systemd/systemd.mk
@@ -158,6 +158,12 @@ define SYSTEMD_INSTALL_MACHINEID_HOOK
touch $(TARGET_DIR)/etc/machine-id
endef
+define SYSTEMD_INSTALL_LOCALE_SH_HOOK
+ mkdir -p $(TARGET_DIR)/etc/profile.d
+ $(INSTALL) -D -m 644 package/systemd/locale.sh \
+ $(TARGET_DIR)/etc/profile.d/locale.sh
+endef
+
define SYSTEMD_SANITIZE_PATH_IN_UNITS
find $(TARGET_DIR)/lib/systemd/system -name '*.service' \
-exec $(SED) 's,$(HOST_DIR),,g' {} \;
@@ -172,6 +178,7 @@ endef
SYSTEMD_POST_INSTALL_TARGET_HOOKS += \
SYSTEMD_INSTALL_INIT_HOOK \
SYSTEMD_INSTALL_MACHINEID_HOOK \
+ SYSTEMD_INSTALL_LOCALE_SH_HOOK \
SYSTEMD_INSTALL_RESOLVCONF_HOOK \
SYSTEMD_DISABLE_LDCONFIG_SERVICE_HOOK \
SYSTEMD_SANITIZE_PATH_IN_UNITS
--
2.2.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 06/16] package/dosfstools: add missing symlinks
2015-01-19 16:14 [Buildroot] [PATCH 00/16] Different enhancements, primarily for systemd Maxim Mikityanskiy
` (4 preceding siblings ...)
2015-01-19 16:14 ` [Buildroot] [PATCH 05/16] package/systemd: apply locale settings in user shells Maxim Mikityanskiy
@ 2015-01-19 16:14 ` Maxim Mikityanskiy
2015-02-02 16:22 ` Samuel Martin
2015-03-08 22:04 ` Thomas Petazzoni
2015-01-19 16:14 ` [Buildroot] [PATCH 07/16] package/dropbear: install dropbear.service to correct dir Maxim Mikityanskiy
` (9 subsequent siblings)
15 siblings, 2 replies; 60+ messages in thread
From: Maxim Mikityanskiy @ 2015-01-19 16:14 UTC (permalink / raw)
To: buildroot
Install alternative symlinks for dosfstools mkfs.fat, fsck.fat and
fatlabel. Those symlinks are generally installed by make install, but
buildroot does not use make install for dosfstools, but symlinks should
be installed anyway.
Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
---
package/dosfstools/dosfstools.mk | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/package/dosfstools/dosfstools.mk b/package/dosfstools/dosfstools.mk
index a9d8392..f768c97 100644
--- a/package/dosfstools/dosfstools.mk
+++ b/package/dosfstools/dosfstools.mk
@@ -37,6 +37,19 @@ define DOSFSTOOLS_INSTALL_TARGET_CMDS
test -z "$(DOSFSTOOLS_INSTALL_BIN_FILES_y)" || \
$(INSTALL) -m 755 $(addprefix $(@D)/,$(DOSFSTOOLS_INSTALL_BIN_FILES_y)) \
$(TARGET_DIR)/sbin/
+ if [[ "$(BR2_PACKAGE_DOSFSTOOLS_FATLABEL)" = y ]]; then \
+ ln -fs fatlabel $(TARGET_DIR)/sbin/dosfslabel; \
+ fi
+ if [[ "$(BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT)" = y ]]; then \
+ ln -fs fsck.fat $(TARGET_DIR)/sbin/dosfsck; \
+ ln -fs fsck.fat $(TARGET_DIR)/sbin/fsck.msdos; \
+ ln -fs fsck.fat $(TARGET_DIR)/sbin/fsck.vfat; \
+ fi
+ if [[ "$(BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT)" = y ]]; then \
+ ln -fs mkfs.fat $(TARGET_DIR)/sbin/mkdosfs; \
+ ln -fs mkfs.fat $(TARGET_DIR)/sbin/mkfs.msdos; \
+ ln -fs mkfs.fat $(TARGET_DIR)/sbin/mkfs.vfat; \
+ fi
endef
define HOST_DOSFSTOOLS_BUILD_CMDS
--
2.2.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 07/16] package/dropbear: install dropbear.service to correct dir
2015-01-19 16:14 [Buildroot] [PATCH 00/16] Different enhancements, primarily for systemd Maxim Mikityanskiy
` (5 preceding siblings ...)
2015-01-19 16:14 ` [Buildroot] [PATCH 06/16] package/dosfstools: add missing symlinks Maxim Mikityanskiy
@ 2015-01-19 16:14 ` Maxim Mikityanskiy
2015-02-02 20:41 ` Samuel Martin
2015-02-23 11:38 ` Thomas Petazzoni
2015-01-19 16:14 ` [Buildroot] [PATCH 08/16] package/e2fsprogs: make /sbin/fsck available Maxim Mikityanskiy
` (8 subsequent siblings)
15 siblings, 2 replies; 60+ messages in thread
From: Maxim Mikityanskiy @ 2015-01-19 16:14 UTC (permalink / raw)
To: buildroot
The place for package-provided systemd units is /lib/systemd/system.
/etc/systemd/system is for custom units.
---
package/dropbear/dropbear.mk | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/package/dropbear/dropbear.mk b/package/dropbear/dropbear.mk
index 696095d..2230c61 100644
--- a/package/dropbear/dropbear.mk
+++ b/package/dropbear/dropbear.mk
@@ -46,9 +46,9 @@ endef
define DROPBEAR_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/dropbear/dropbear.service \
- $(TARGET_DIR)/etc/systemd/system/dropbear.service
+ $(TARGET_DIR)/lib/systemd/system/dropbear.service
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -fs ../dropbear.service \
+ ln -fs /lib/systemd/system/dropbear.service \
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dropbear.service
endef
--
2.2.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 08/16] package/e2fsprogs: make /sbin/fsck available
2015-01-19 16:14 [Buildroot] [PATCH 00/16] Different enhancements, primarily for systemd Maxim Mikityanskiy
` (6 preceding siblings ...)
2015-01-19 16:14 ` [Buildroot] [PATCH 07/16] package/dropbear: install dropbear.service to correct dir Maxim Mikityanskiy
@ 2015-01-19 16:14 ` Maxim Mikityanskiy
2015-02-02 20:44 ` Samuel Martin
2015-07-10 17:35 ` Thomas Petazzoni
2015-01-19 16:14 ` [Buildroot] [PATCH 09/16] package/minidlna: improve systemd support Maxim Mikityanskiy
` (7 subsequent siblings)
15 siblings, 2 replies; 60+ messages in thread
From: Maxim Mikityanskiy @ 2015-01-19 16:14 UTC (permalink / raw)
To: buildroot
systemd looks for fsck in /sbin, so make symlink:
/sbin/fsck -> /usr/sbin/fsck
Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
---
package/e2fsprogs/e2fsprogs.mk | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/package/e2fsprogs/e2fsprogs.mk b/package/e2fsprogs/e2fsprogs.mk
index b4f0950..9f0310d 100644
--- a/package/e2fsprogs/e2fsprogs.mk
+++ b/package/e2fsprogs/e2fsprogs.mk
@@ -117,5 +117,13 @@ ifeq ($(BR2_PACKAGE_E2FSPROGS_FINDFS),y)
E2FSPROGS_POST_INSTALL_TARGET_HOOKS += E2FSPROGS_TARGET_FINDFS_SYMLINK
endif
+define E2FSPROGS_TARGET_FSCK_SYMLINK
+ ln -sf ../usr/sbin/fsck $(TARGET_DIR)/sbin/fsck
+endef
+
+ifeq ($(BR2_PACKAGE_E2FSPROGS_FSCK),y)
+E2FSPROGS_POST_INSTALL_TARGET_HOOKS += E2FSPROGS_TARGET_FSCK_SYMLINK
+endif
+
$(eval $(autotools-package))
$(eval $(host-autotools-package))
--
2.2.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 09/16] package/minidlna: improve systemd support
2015-01-19 16:14 [Buildroot] [PATCH 00/16] Different enhancements, primarily for systemd Maxim Mikityanskiy
` (7 preceding siblings ...)
2015-01-19 16:14 ` [Buildroot] [PATCH 08/16] package/e2fsprogs: make /sbin/fsck available Maxim Mikityanskiy
@ 2015-01-19 16:14 ` Maxim Mikityanskiy
2015-02-02 21:12 ` Samuel Martin
2015-03-08 21:52 ` Thomas Petazzoni
2015-01-19 16:14 ` [Buildroot] [PATCH 10/16] package/transmission: " Maxim Mikityanskiy
` (6 subsequent siblings)
15 siblings, 2 replies; 60+ messages in thread
From: Maxim Mikityanskiy @ 2015-01-19 16:14 UTC (permalink / raw)
To: buildroot
Support running minidlna in system-wide mode using systemd:
1. Set --with-db-path and --with-log-path configure options to make
default minidlna directories comply with FHS.
2. Install suitable minidlna.conf for system-wide mode.
3. Install sysctl.d config file to increase inotify watches count.
4. Install tmpfiles.d config file to mkdir and chmod necessary
directories for minidlna running in system-wide mode.
5. Install sysusers.d config file to create minidlna user when using
systemd.
6. Install minidlna.service for systemd.
Note: User=minidlna should be set in minidlna.service, not in
minidlna.conf, because minidlna is unable to drop privileges correctly
by itself: it does not get any privileges provided by groups of minidlna
user. Systemd drops privileges correctly in that case.
Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
---
package/minidlna/minidlna.conf | 74 +++++++++++++++++++++++++++++++++
package/minidlna/minidlna.mk | 37 +++++++++++++++++
package/minidlna/minidlna.service | 12 ++++++
package/minidlna/minidlna_sysctl.conf | 1 +
package/minidlna/minidlna_sysusers.conf | 1 +
package/minidlna/minidlna_tmpfiles.conf | 3 ++
6 files changed, 128 insertions(+)
create mode 100644 package/minidlna/minidlna.conf
create mode 100644 package/minidlna/minidlna.service
create mode 100644 package/minidlna/minidlna_sysctl.conf
create mode 100644 package/minidlna/minidlna_sysusers.conf
create mode 100644 package/minidlna/minidlna_tmpfiles.conf
diff --git a/package/minidlna/minidlna.conf b/package/minidlna/minidlna.conf
new file mode 100644
index 0000000..9e4fbc9
--- /dev/null
+++ b/package/minidlna/minidlna.conf
@@ -0,0 +1,74 @@
+# port for HTTP (descriptions, SOAP, media transfer) traffic
+port=8200
+
+# network interfaces to serve, comma delimited
+#network_interface=eth0
+
+# set this to the directory you want scanned.
+# * if you want multiple directories, you can have multiple media_dir= lines
+# * if you want to restrict a media_dir to specific content types, you
+# can prepend the types, followed by a comma, to the directory:
+# + "A" for audio (eg. media_dir=A,/home/jmaggard/Music)
+# + "V" for video (eg. media_dir=V,/home/jmaggard/Videos)
+# + "P" for images (eg. media_dir=P,/home/jmaggard/Pictures)
+# + "PV" for pictures and video (eg. media_dir=PV,/home/jmaggard/digital_camera)
+#media_dir=/home
+
+# set this to merge all media_dir base contents into the root container
+# note: the default is no
+#merge_media_dirs=no
+
+# set this if you want to customize the name that shows up on your clients
+friendly_name=Buildroot DLNA Server
+
+# set this to change the verbosity of the information that is logged
+# each section can use a different level: off, fatal, error, warn, info, or debug
+#log_level=general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=warn
+
+# this should be a list of file names to check for when searching for album art
+# note: names should be delimited with a forward slash ("/")
+album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg/AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg
+
+# set this to no to disable inotify monitoring to automatically discover new files
+# note: the default is yes
+inotify=yes
+
+# set this to yes to enable support for streaming .jpg and .mp3 files to a TiVo supporting HMO
+enable_tivo=no
+
+# set this to strictly adhere to DLNA standards.
+# * This will allow server-side downscaling of very large JPEG images,
+# which may hurt JPEG serving performance on (at least) Sony DLNA products.
+strict_dlna=no
+
+# default presentation url is http address on port 80
+#presentation_url=http://www.mylan/index.php
+
+# notify interval in seconds. default is 895 seconds.
+notify_interval=900
+
+# serial and model number the daemon will report to clients
+# in its XML description
+serial=12345678
+model_number=1
+
+# specify the path to the MiniSSDPd socket
+#minissdpdsocket=/var/run/minissdpd.sock
+
+# use different container as root of the tree
+# possible values:
+# + "." - use standard container (this is the default)
+# + "B" - "Browse Directory"
+# + "M" - "Music"
+# + "V" - "Video"
+# + "P" - "Pictures"
+# + Or, you can specify the ObjectID of your desired root container (eg. 1$F for Music/Playlists)
+# if you specify "B" and client device is audio-only then "Music/Folders" will be used as root
+#root_container=.
+
+# always force SortCriteria to this value, regardless of the SortCriteria passed by the client
+#force_sort_criteria=+upnp:class,+upnp:originalTrackNumber,+dc:title
+
+# maximum number of simultaneous connections
+# note: many clients open several simultaneous connections while streaming
+#max_connections=50
diff --git a/package/minidlna/minidlna.mk b/package/minidlna/minidlna.mk
index bcbe5fa..fcc9d06 100644
--- a/package/minidlna/minidlna.mk
+++ b/package/minidlna/minidlna.mk
@@ -24,4 +24,41 @@ MINIDLNA_CONF_OPTS = \
--disable-static
endif
+MINIDLNA_CONF_OPTS += \
+ --with-db-path=/var/cache/minidlna \
+ --with-log-path=/var/log/minidlna
+
+define MINIDLNA_INSTALL_CONF_HOOK
+ $(INSTALL) -D -m 644 package/minidlna/minidlna.conf \
+ $(TARGET_DIR)/etc/minidlna.conf
+endef
+
+define MINIDLNA_INSTALL_SYSUSERS_HOOK
+ $(INSTALL) -D -m 644 package/minidlna/minidlna_sysusers.conf \
+ $(TARGET_DIR)/usr/lib/sysusers.d/minidlna.conf
+endef
+
+define MINIDLNA_INSTALL_TMPFILES_HOOK
+ $(INSTALL) -D -m 644 package/minidlna/minidlna_tmpfiles.conf \
+ $(TARGET_DIR)/usr/lib/tmpfiles.d/minidlna.conf
+endef
+
+define MINIDLNA_INSTALL_SYSCTL_HOOK
+ $(INSTALL) -D -m 644 package/minidlna/minidlna_sysctl.conf \
+ $(TARGET_DIR)/usr/lib/sysctl.d/20-minidlna.conf
+endef
+
+ifeq ($(BR2_INIT_SYSTEMD),y)
+MINIDLNA_POST_INSTALL_TARGET_HOOKS += \
+ MINIDLNA_INSTALL_CONF_HOOK \
+ MINIDLNA_INSTALL_SYSUSERS_HOOK \
+ MINIDLNA_INSTALL_TMPFILES_HOOK \
+ MINIDLNA_INSTALL_SYSCTL_HOOK
+endif
+
+define MINIDLNA_INSTALL_INIT_SYSTEMD
+ $(INSTALL) -D -m 644 package/minidlna/minidlna.service \
+ $(TARGET_DIR)/lib/systemd/system/minidlna.service
+endef
+
$(eval $(autotools-package))
diff --git a/package/minidlna/minidlna.service b/package/minidlna/minidlna.service
new file mode 100644
index 0000000..45b72f0
--- /dev/null
+++ b/package/minidlna/minidlna.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=minidlna server
+After=network.target
+
+[Service]
+User=minidlna
+Type=forking
+ExecStart=/usr/sbin/minidlnad -P /run/minidlna/minidlna.pid
+PIDFile=/run/minidlna/minidlna.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/package/minidlna/minidlna_sysctl.conf b/package/minidlna/minidlna_sysctl.conf
new file mode 100644
index 0000000..0745b37
--- /dev/null
+++ b/package/minidlna/minidlna_sysctl.conf
@@ -0,0 +1 @@
+fs.inotify.max_user_watches = 65536
diff --git a/package/minidlna/minidlna_sysusers.conf b/package/minidlna/minidlna_sysusers.conf
new file mode 100644
index 0000000..1dc06f3
--- /dev/null
+++ b/package/minidlna/minidlna_sysusers.conf
@@ -0,0 +1 @@
+u minidlna - "DLNA server"
diff --git a/package/minidlna/minidlna_tmpfiles.conf b/package/minidlna/minidlna_tmpfiles.conf
new file mode 100644
index 0000000..a6e66e7
--- /dev/null
+++ b/package/minidlna/minidlna_tmpfiles.conf
@@ -0,0 +1,3 @@
+d /var/run/minidlna 0755 minidlna minidlna -
+d /var/cache/minidlna 0700 minidlna minidlna -
+d /var/log/minidlna 0755 minidlna minidlna -
--
2.2.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 10/16] package/transmission: improve systemd support
2015-01-19 16:14 [Buildroot] [PATCH 00/16] Different enhancements, primarily for systemd Maxim Mikityanskiy
` (8 preceding siblings ...)
2015-01-19 16:14 ` [Buildroot] [PATCH 09/16] package/minidlna: improve systemd support Maxim Mikityanskiy
@ 2015-01-19 16:14 ` Maxim Mikityanskiy
2015-02-02 22:09 ` Samuel Martin
` (2 more replies)
2015-01-19 16:14 ` [Buildroot] [PATCH 11/16] package/samba: use FHS dirs Maxim Mikityanskiy
` (5 subsequent siblings)
15 siblings, 3 replies; 60+ messages in thread
From: Maxim Mikityanskiy @ 2015-01-19 16:14 UTC (permalink / raw)
To: buildroot
Support running transmission-daemon in system-wide mode using systemd:
1. Pass --with-systemd-daemon to configure script if systemd is enabled.
2. Install sysctl.d config file to increase send and receive buffer
sizes.
3. Install tmpfiles.d config file to create transmission config
directory.
4. Install sysusers.d config file to create transmission user when using
systemd. Create transmission user when not using systemd.
5. Install transmission-daemon.service for systemd.
Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
---
package/transmission/transmission-daemon.service | 12 +++++++
package/transmission/transmission.mk | 45 ++++++++++++++++++++++++
package/transmission/transmission_sysctl.conf | 2 ++
package/transmission/transmission_sysusers.conf | 1 +
package/transmission/transmission_tmpfiles.conf | 1 +
5 files changed, 61 insertions(+)
create mode 100644 package/transmission/transmission-daemon.service
create mode 100644 package/transmission/transmission_sysctl.conf
create mode 100644 package/transmission/transmission_sysusers.conf
create mode 100644 package/transmission/transmission_tmpfiles.conf
diff --git a/package/transmission/transmission-daemon.service b/package/transmission/transmission-daemon.service
new file mode 100644
index 0000000..4e7c98b
--- /dev/null
+++ b/package/transmission/transmission-daemon.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Transmission BitTorrent Daemon
+After=network.target
+
+[Service]
+User=transmission
+Type=notify
+ExecStart=/usr/bin/transmission-daemon -f --log-error -g /var/lib/transmission/config
+ExecReload=/bin/kill -s HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
diff --git a/package/transmission/transmission.mk b/package/transmission/transmission.mk
index b8a5c42..b5b9c8b 100644
--- a/package/transmission/transmission.mk
+++ b/package/transmission/transmission.mk
@@ -36,11 +36,56 @@ endif
ifeq ($(BR2_PACKAGE_TRANSMISSION_DAEMON),y)
TRANSMISSION_CONF_OPTS += --enable-daemon
+ifeq ($(BR2_PACKAGE_SYSTEMD),y)
+ TRANSMISSION_DEPENDENCIES += systemd
+ TRANSMISSION_CONF_OPTS += --with-systemd-daemon
+endif
+
+ifeq ($(BR2_INIT_SYSTEMD),)
+define TRANSMISSION_USERS
+ transmission -1 transmission -1 * /var/lib/transmission - transmission Transmission Daemon
+endef
+endif
+
define TRANSMISSION_INSTALL_INIT_SYSV
$(INSTALL) -m 0755 -D package/transmission/S92transmission \
$(TARGET_DIR)/etc/init.d/S92transmission
endef
+define TRANSMISSION_INSTALL_INIT_SYSTEMD
+ $(INSTALL) -D -m 644 package/transmission/transmission-daemon.service \
+ $(TARGET_DIR)/lib/systemd/system/transmission-daemon.service
+ mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+ ln -fs /lib/systemd/system/transmission-daemon.service \
+ $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/transmission-daemon.service
+
+ mkdir -p $(TARGET_DIR)/var/lib/transmission/config
+endef
+
+define TRANSMISSION_INSTALL_SYSCTL_HOOK
+ $(INSTALL) -D -m 644 package/transmission/transmission_sysctl.conf \
+ $(TARGET_DIR)/usr/lib/sysctl.d/20-transmission.conf
+endef
+
+TRANSMISSION_POST_INSTALL_TARGET_HOOKS += \
+ TRANSMISSION_INSTALL_SYSCTL_HOOK
+
+define TRANSMISSION_INSTALL_TMPFILES_HOOK
+ $(INSTALL) -D -m 644 package/transmission/transmission_tmpfiles.conf \
+ $(TARGET_DIR)/usr/lib/tmpfiles.d/transmission.conf
+endef
+
+TRANSMISSION_POST_INSTALL_TARGET_HOOKS += \
+ TRANSMISSION_INSTALL_TMPFILES_HOOK
+
+define TRANSMISSION_INSTALL_SYSUSERS_HOOK
+ $(INSTALL) -D -m 644 package/transmission/transmission_sysusers.conf \
+ $(TARGET_DIR)/usr/lib/sysusers.d/transmission.conf
+endef
+
+TRANSMISSION_POST_INSTALL_TARGET_HOOKS += \
+ TRANSMISSION_INSTALL_SYSUSERS_HOOK
+
else
TRANSMISSION_CONF_OPTS += --disable-daemon
endif
diff --git a/package/transmission/transmission_sysctl.conf b/package/transmission/transmission_sysctl.conf
new file mode 100644
index 0000000..7862332
--- /dev/null
+++ b/package/transmission/transmission_sysctl.conf
@@ -0,0 +1,2 @@
+net.core.wmem_max = 1048576
+net.core.rmem_max = 4194304
diff --git a/package/transmission/transmission_sysusers.conf b/package/transmission/transmission_sysusers.conf
new file mode 100644
index 0000000..09396d4
--- /dev/null
+++ b/package/transmission/transmission_sysusers.conf
@@ -0,0 +1 @@
+u transmission - "Transmission daemon" /var/lib/transmission
diff --git a/package/transmission/transmission_tmpfiles.conf b/package/transmission/transmission_tmpfiles.conf
new file mode 100644
index 0000000..e40b94a
--- /dev/null
+++ b/package/transmission/transmission_tmpfiles.conf
@@ -0,0 +1 @@
+d /var/lib/transmission/config 0700 transmission users -
--
2.2.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 11/16] package/samba: use FHS dirs
2015-01-19 16:14 [Buildroot] [PATCH 00/16] Different enhancements, primarily for systemd Maxim Mikityanskiy
` (9 preceding siblings ...)
2015-01-19 16:14 ` [Buildroot] [PATCH 10/16] package/transmission: " Maxim Mikityanskiy
@ 2015-01-19 16:14 ` Maxim Mikityanskiy
2015-02-02 22:49 ` Samuel Martin
2015-04-06 9:45 ` Thomas Petazzoni
2015-01-19 16:14 ` [Buildroot] [PATCH 12/16] package/samba: add systemd support Maxim Mikityanskiy
` (4 subsequent siblings)
15 siblings, 2 replies; 60+ messages in thread
From: Maxim Mikityanskiy @ 2015-01-19 16:14 UTC (permalink / raw)
To: buildroot
Clean up system directories by making samba conform to FHS and by using
subdirectories e.g. /var/log/samba and /var/run/samba instead of
/var/log and /var/run.
Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
---
package/samba/S91smb | 5 +++--
package/samba/samba.mk | 10 +++++-----
2 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/package/samba/S91smb b/package/samba/S91smb
index c190771..2e03e82 100755
--- a/package/samba/S91smb
+++ b/package/samba/S91smb
@@ -10,6 +10,7 @@
mkdir -p /var/cache/samba
mkdir -p /var/log/samba
mkdir -p /var/lock/subsys
+mkdir -p /var/run/samba
RETVAL=0
@@ -33,13 +34,13 @@ stop() {
echo -n "Shutting down SMB services: "
kill -9 `pidof smbd`
RETVAL=$?
- rm -f /var/run/smbd.pid
+ rm -f /var/run/samba/smbd.pid
echo "done"
echo -n "Shutting down NMB services: "
kill -9 `pidof nmbd`
RETVAL2=$?
- rm -f /var/run/nmbd.pid
+ rm -f /var/run/samba/nmbd.pid
[ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] && rm -f /var/lock/subsys/smb
echo "done"
diff --git a/package/samba/samba.mk b/package/samba/samba.mk
index d25e94e..31ad644 100644
--- a/package/samba/samba.mk
+++ b/package/samba/samba.mk
@@ -33,11 +33,11 @@ SAMBA_CONF_ENV = \
$(if $(BR2_PACKAGE_SAMBA_AVAHI),AVAHI_LIBS=-pthread)
SAMBA_CONF_OPTS = \
- --with-piddir=/var/run \
- --with-lockdir=/var/lock \
- --with-logfilebase=/var/log \
- --with-configdir=/etc/samba \
- --with-privatedir=/etc/samba \
+ --with-fhs \
+ --with-piddir=/var/run/samba \
+ --with-lockdir=/var/cache/samba \
+ --with-ncalrpcdir=/var/run/ncalrpc \
+ --with-nmbdsocketdir=/var/run/nmbd \
\
--disable-cups \
--enable-shared-libs \
--
2.2.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 12/16] package/samba: add systemd support
2015-01-19 16:14 [Buildroot] [PATCH 00/16] Different enhancements, primarily for systemd Maxim Mikityanskiy
` (10 preceding siblings ...)
2015-01-19 16:14 ` [Buildroot] [PATCH 11/16] package/samba: use FHS dirs Maxim Mikityanskiy
@ 2015-01-19 16:14 ` Maxim Mikityanskiy
2015-02-02 22:38 ` Samuel Martin
2015-01-19 16:14 ` [Buildroot] [PATCH 13/16] package/tar: add support for acl and xattr Maxim Mikityanskiy
` (3 subsequent siblings)
15 siblings, 1 reply; 60+ messages in thread
From: Maxim Mikityanskiy @ 2015-01-19 16:14 UTC (permalink / raw)
To: buildroot
Add {smbd,nmbd,winbindd}.service files for systemd. Add tmpfiles.d
config file to create samba directories.
Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
---
package/samba/nmbd.service | 12 ++++++++++++
package/samba/samba.mk | 23 +++++++++++++++++++++++
package/samba/samba_tmpfiles.conf | 4 ++++
package/samba/smbd.service | 12 ++++++++++++
package/samba/winbindd.service | 12 ++++++++++++
5 files changed, 63 insertions(+)
create mode 100644 package/samba/nmbd.service
create mode 100644 package/samba/samba_tmpfiles.conf
create mode 100644 package/samba/smbd.service
create mode 100644 package/samba/winbindd.service
diff --git a/package/samba/nmbd.service b/package/samba/nmbd.service
new file mode 100644
index 0000000..6e241ea
--- /dev/null
+++ b/package/samba/nmbd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Samba NetBIOS name server
+After=network.target
+
+[Service]
+Type=forking
+PIDFile=/var/run/samba/nmbd.pid
+ExecStart=/usr/sbin/nmbd -D
+ExecReload=/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
diff --git a/package/samba/samba.mk b/package/samba/samba.mk
index 31ad644..5a11ebe 100644
--- a/package/samba/samba.mk
+++ b/package/samba/samba.mk
@@ -182,6 +182,29 @@ endef
SAMBA_POST_INSTALL_TARGET_HOOKS += SAMBA_INSTALL_CONFIG
+ifeq ($(BR2_INIT_SYSTEMD),y)
+define SAMBA_INSTALL_TMPFILES_HOOK
+ $(INSTALL) -D -m 644 package/samba/samba_tmpfiles.conf \
+ $(TARGET_DIR)/usr/lib/tmpfiles.d/samba.conf
+endef
+
+SAMBA_POST_INSTALL_TARGET_HOOKS += SAMBA_INSTALL_TMPFILES_HOOK
+endif
+
+define SAMBA_INSTALL_INIT_SYSTEMD
+ $(INSTALL) -D -m 644 package/samba/smbd.service \
+ $(TARGET_DIR)/lib/systemd/system/smbd.service
+ $(INSTALL) -D -m 644 package/samba/nmbd.service \
+ $(TARGET_DIR)/lib/systemd/system/nmbd.service
+ $(if $(BR2_PACKAGE_SAMBA_WINBINDD),$(INSTALL) -D -m 644 package/samba/winbindd.service $(TARGET_DIR)/lib/systemd/system/winbindd.service)
+ mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+ ln -fs /lib/systemd/system/smbd.service \
+ $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/smbd.service
+ ln -fs /lib/systemd/system/nmbd.service \
+ $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/nmbd.service
+ $(if $(BR2_PACKAGE_SAMBA_WINBINDD),ln -fs /lib/systemd/system/winbindd.service $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/winbindd.service)
+endef
+
define SAMBA_INSTALL_INIT_SYSV
$(INSTALL) -m 0755 -D package/samba/S91smb $(TARGET_DIR)/etc/init.d/S91smb
endef
diff --git a/package/samba/samba_tmpfiles.conf b/package/samba/samba_tmpfiles.conf
new file mode 100644
index 0000000..e265f75
--- /dev/null
+++ b/package/samba/samba_tmpfiles.conf
@@ -0,0 +1,4 @@
+d /var/cache/samba 0755 root root -
+d /var/log/samba 0755 root root -
+d /var/lock/samba 0755 root root -
+d /var/run/samba 0755 root root -
diff --git a/package/samba/smbd.service b/package/samba/smbd.service
new file mode 100644
index 0000000..64abf56
--- /dev/null
+++ b/package/samba/smbd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Samba SMB/CIFS server
+After=network.target nmbd.service winbindd.service
+
+[Service]
+Type=forking
+PIDFile=/var/run/samba/smbd.pid
+ExecStart=/usr/sbin/smbd -D
+ExecReload=/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
diff --git a/package/samba/winbindd.service b/package/samba/winbindd.service
new file mode 100644
index 0000000..214c17e
--- /dev/null
+++ b/package/samba/winbindd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Samba Winbind daemon
+After=network.target nmbd.service
+
+[Service]
+Type=forking
+PIDFile=/var/run/samba/winbindd.pid
+ExecStart=/usr/sbin/winbindd -D
+ExecReload=/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
--
2.2.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 13/16] package/tar: add support for acl and xattr
2015-01-19 16:14 [Buildroot] [PATCH 00/16] Different enhancements, primarily for systemd Maxim Mikityanskiy
` (11 preceding siblings ...)
2015-01-19 16:14 ` [Buildroot] [PATCH 12/16] package/samba: add systemd support Maxim Mikityanskiy
@ 2015-01-19 16:14 ` Maxim Mikityanskiy
2015-02-02 8:26 ` Thomas Petazzoni
2015-01-19 16:14 ` [Buildroot] [PATCH 14/16] package/util-linux: add more tool select options Maxim Mikityanskiy
` (2 subsequent siblings)
15 siblings, 1 reply; 60+ messages in thread
From: Maxim Mikityanskiy @ 2015-01-19 16:14 UTC (permalink / raw)
To: buildroot
If acl or attr is going to be installed, add support for them to tar.
Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
---
package/tar/tar.mk | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/package/tar/tar.mk b/package/tar/tar.mk
index caaa5ad..e3f538d 100644
--- a/package/tar/tar.mk
+++ b/package/tar/tar.mk
@@ -19,6 +19,16 @@ TAR_DEPENDENCIES += busybox
HOST_TAR_DEPENDENCIES =
endif
+ifeq ($(BR2_PACKAGE_ACL),y)
+TAR_DEPENDENCIES += acl
+TAR_CONF_OPTS += --with-posix-acls
+endif
+
+ifeq ($(BR2_PACKAGE_ATTR),y)
+TAR_DEPENDENCIES += attr
+TAR_CONF_OPTS += --with-xattrs
+endif
+
$(eval $(autotools-package))
# host-tar: use cpio.gz instead of tar.gz to prevent chicken-egg problem
--
2.2.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 14/16] package/util-linux: add more tool select options
2015-01-19 16:14 [Buildroot] [PATCH 00/16] Different enhancements, primarily for systemd Maxim Mikityanskiy
` (12 preceding siblings ...)
2015-01-19 16:14 ` [Buildroot] [PATCH 13/16] package/tar: add support for acl and xattr Maxim Mikityanskiy
@ 2015-01-19 16:14 ` Maxim Mikityanskiy
2015-01-26 22:11 ` Thomas Petazzoni
2015-02-07 22:00 ` Yann E. MORIN
2015-01-19 16:14 ` [Buildroot] [PATCH 15/16] package/vim: add default vimrc Maxim Mikityanskiy
2015-01-19 16:14 ` [Buildroot] [PATCH 16/16] package/rng-tools: add systemd support for rngd Maxim Mikityanskiy
15 siblings, 2 replies; 60+ messages in thread
From: Maxim Mikityanskiy @ 2015-01-19 16:14 UTC (permalink / raw)
To: buildroot
Add more options to Config.in to allow optionally select or deselect
util-linux tools.
Also fix s/BR2_PACKAGE_WDCTL/BR2_PACKAGE_UTIL_LINUX_WDCTL/
Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
---
package/util-linux/Config.in | 64 +++++++++++++++++++++++++++++++++++++++-
package/util-linux/util-linux.mk | 17 +++++++++--
2 files changed, 78 insertions(+), 3 deletions(-)
diff --git a/package/util-linux/Config.in b/package/util-linux/Config.in
index a8dfa1c..78648c1 100644
--- a/package/util-linux/Config.in
+++ b/package/util-linux/Config.in
@@ -26,6 +26,11 @@ config BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
help
Install libmount.
+config BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS
+ bool "libsmartcols"
+ help
+ Install libsmartcols.
+
config BR2_PACKAGE_UTIL_LINUX_LIBUUID
bool "libuuid"
help
@@ -36,6 +41,7 @@ config BR2_PACKAGE_UTIL_LINUX_BINARIES
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
+ select BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
help
Install the basic set of util-linux binaries.
@@ -52,6 +58,11 @@ config BR2_PACKAGE_UTIL_LINUX_ARCH
help
Print machine architecture
+config BR2_PACKAGE_UTIL_LINUX_BFS
+ bool "bfs"
+ help
+ SCO bfs filesystem support
+
config BR2_PACKAGE_UTIL_LINUX_CHFN_CHSH
bool "chfn/chsh"
depends on (BR2_ENABLE_LOCALE && BR2_USE_WCHAR) # linux-pam
@@ -86,16 +97,31 @@ config BR2_PACKAGE_UTIL_LINUX_FALLOCATE
help
Preallocate space to a file
+config BR2_PACKAGE_UTIL_LINUX_FDFORMAT
+ bool "fdformat"
+ help
+ Low-level format a floppy disk
+
config BR2_PACKAGE_UTIL_LINUX_FSCK
bool "fsck"
help
Check and repair a linux filesystem
+config BR2_PACKAGE_UTIL_LINUX_HWCLOCK
+ bool "hwclock"
+ help
+ Query or set the hardware clock (RTC)
+
config BR2_PACKAGE_UTIL_LINUX_KILL
bool "kill"
help
Send a signal to a process
+config BR2_PACKAGE_UTIL_LINUX_LAST
+ bool "last"
+ help
+ Show a listing of last logged in users
+
config BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS
bool "login utilities"
depends on (BR2_ENABLE_LOCALE && BR2_USE_WCHAR) # linux-pam
@@ -118,6 +144,11 @@ config BR2_PACKAGE_UTIL_LINUX_MESG
help
Control write access to your terminal
+config BR2_PACKAGE_UTIL_LINUX_MINIX
+ bool "minix"
+ help
+ Minix filesystem support
+
config BR2_PACKAGE_UTIL_LINUX_NSENTER
bool "nsenter"
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
@@ -127,16 +158,31 @@ config BR2_PACKAGE_UTIL_LINUX_NSENTER
comment "nsenter needs a toolchain w/ headers >= 3.0"
depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
+config BR2_PACKAGE_UTIL_LINUX_MORE
+ bool "more"
+ help
+ File perusal filter for crt viewing
+
config BR2_PACKAGE_UTIL_LINUX_MOUNT
bool "mount/umount"
help
Mount/unmount filesystems
+config BR2_PACKAGE_UTIL_LINUX_MOUNTPOINT
+ bool "mountpoint"
+ help
+ See if a directory is a mountpoint
+
config BR2_PACKAGE_UTIL_LINUX_NEWGRP
bool "newgrp"
help
Log in to a new group
+config BR2_PACKAGE_UTIL_LINUX_NOLOGIN
+ bool "nologin"
+ help
+ Politely refuse a login
+
config BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT
bool "pivot_root"
help
@@ -167,11 +213,27 @@ config BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS
help
Scheduling utilities (chrt, ionice, taskset)
+config BR2_PACKAGE_UTIL_LINUX_SETPRIV
+ bool "setpriv"
+ select BR2_PACKAGE_LIBCAP_NG
+ help
+ Run a program with different Linux privilege settings
+
+config BR2_PACKAGE_UTIL_LINUX_SETTERM
+ bool "setterm"
+ help
+ Set terminal attributes
+
config BR2_PACKAGE_UTIL_LINUX_SWITCH_ROOT
bool "switch_root"
help
Switch to another filesystem as the root of the mount tree
+config BR2_PACKAGE_UTIL_LINUX_UL
+ bool "ul"
+ help
+ Do underlining
+
config BR2_PACKAGE_UTIL_LINUX_UNSHARE
bool "unshare"
help
@@ -197,7 +259,7 @@ config BR2_PACKAGE_UTIL_LINUX_WALL
help
Send a message to everybody's terminal
-config BR2_PACKAGE_WDCTL
+config BR2_PACKAGE_UTIL_LINUX_WDCTL
bool "wdctl"
help
Shows hardware watchdog status
diff --git a/package/util-linux/util-linux.mk b/package/util-linux/util-linux.mk
index c8fb77c..a70363f 100644
--- a/package/util-linux/util-linux.mk
+++ b/package/util-linux/util-linux.mk
@@ -66,34 +66,47 @@ UTIL_LINUX_DEPENDENCIES += $(if $(BR2_PACKAGE_LINUX_PAM),linux-pam)
UTIL_LINUX_CONF_OPTS += \
$(if $(BR2_PACKAGE_UTIL_LINUX_AGETTY),--enable-agetty,--disable-agetty) \
$(if $(BR2_PACKAGE_UTIL_LINUX_ARCH),--enable-arch,--disable-arch) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_BFS),--enable-bfs,--disable-bfs) \
$(if $(BR2_PACKAGE_UTIL_LINUX_CHFN_CHSH),--enable-chfn-chsh,--disable-chfn-chsh) \
$(if $(BR2_PACKAGE_UTIL_LINUX_CRAMFS),--enable-cramfs,--disable-cramfs) \
$(if $(BR2_PACKAGE_UTIL_LINUX_DDATE),--enable-ddate,--disable-ddate) \
$(if $(BR2_PACKAGE_UTIL_LINUX_EJECT),--enable-eject,--disable-eject) \
$(if $(BR2_PACKAGE_UTIL_LINUX_FALLOCATE),--enable-fallocate,--disable-fallocate) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_FDFORMAT),--enable-fdformat,--disable-fdformat) \
$(if $(BR2_PACKAGE_UTIL_LINUX_FSCK),--enable-fsck,--disable-fsck) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_HWCLOCK),--enable-hwclock,--disable-hwclock) \
$(if $(BR2_PACKAGE_UTIL_LINUX_KILL),--enable-kill,--disable-kill) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_LAST),--enable-last,--disable-last) \
$(if $(BR2_PACKAGE_UTIL_LINUX_LIBBLKID),--enable-libblkid,--disable-libblkid) \
$(if $(BR2_PACKAGE_UTIL_LINUX_LIBMOUNT),--enable-libmount,--disable-libmount) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS),--enable-libsmartcols,--disable-libsmartcols) \
$(if $(BR2_PACKAGE_UTIL_LINUX_LIBUUID),--enable-libuuid,--disable-libuuid) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS),--enable-last --enable-login --enable-su --enable-sulogin,--disable-last --disable-login --disable-su --disable-sulogin) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS),--enable-last --enable-login --enable-runuser --enable-su --enable-sulogin,--disable-last --disable-login --disable-runuser --disable-su --disable-sulogin) \
$(if $(BR2_PACKAGE_UTIL_LINUX_LOSETUP),--enable-losetup,--disable-losetup) \
$(if $(BR2_PACKAGE_UTIL_LINUX_MESG),--enable-mesg,--disable-mesg) \
- $(if $(BR2_PACKAGE_UTIL_LINUX_NSENTER),--enable-nsenter,--disable-nsenter) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_MINIX),--enable-minix,--disable-minix) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_MORE),--enable-more,--disable-more) \
$(if $(BR2_PACKAGE_UTIL_LINUX_MOUNT),--enable-mount,--disable-mount) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_MOUNTPOINT),--enable-mountpoint,--disable-mountpoint) \
$(if $(BR2_PACKAGE_UTIL_LINUX_NEWGRP),--enable-newgrp,--disable-newgrp) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_NOLOGIN),--enable-nologin,--disable-nologin) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_NSENTER),--enable-nsenter,--disable-nsenter) \
$(if $(BR2_PACKAGE_UTIL_LINUX_PARTX),--enable-partx,--disable-partx) \
$(if $(BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT),--enable-pivot_root,--disable-pivot_root) \
$(if $(BR2_PACKAGE_UTIL_LINUX_RAW),--enable-raw,--disable-raw) \
$(if $(BR2_PACKAGE_UTIL_LINUX_RENAME),--enable-rename,--disable-rename) \
$(if $(BR2_PACKAGE_UTIL_LINUX_RESET),--enable-reset,--disable-reset) \
$(if $(BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS),--enable-schedutils,--disable-schedutils) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_SETPRIV),--enable-setpriv,--disable-setpriv) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_SETTERM),--enable-setterm,--disable-setterm) \
$(if $(BR2_PACKAGE_UTIL_LINUX_SWITCH_ROOT),--enable-switch_root,--disable-switch_root) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_UL),--enable-ul,--disable-ul) \
$(if $(BR2_PACKAGE_UTIL_LINUX_UNSHARE),--enable-unshare,--disable-unshare) \
$(if $(BR2_PACKAGE_UTIL_LINUX_UTMPDUMP),--enable-utmpdump,--disable-utmpdump) \
$(if $(BR2_PACKAGE_UTIL_LINUX_UUIDD),--enable-uuidd,--disable-uuidd) \
$(if $(BR2_PACKAGE_UTIL_LINUX_VIPW),--enable-vipw,--disable-vipw) \
$(if $(BR2_PACKAGE_UTIL_LINUX_WALL),--enable-wall,--disable-wall) \
+ $(if $(BR2_PACKAGE_UTIL_LINUX_WDCTL),--enable-wdctl,--disable-wdctl) \
$(if $(BR2_PACKAGE_UTIL_LINUX_WRITE),--enable-write,--disable-write)
# In the host version of util-linux, we so far only require libuuid,
--
2.2.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 15/16] package/vim: add default vimrc
2015-01-19 16:14 [Buildroot] [PATCH 00/16] Different enhancements, primarily for systemd Maxim Mikityanskiy
` (13 preceding siblings ...)
2015-01-19 16:14 ` [Buildroot] [PATCH 14/16] package/util-linux: add more tool select options Maxim Mikityanskiy
@ 2015-01-19 16:14 ` Maxim Mikityanskiy
2015-02-02 23:00 ` Samuel Martin
2015-07-10 18:24 ` Thomas Petazzoni
2015-01-19 16:14 ` [Buildroot] [PATCH 16/16] package/rng-tools: add systemd support for rngd Maxim Mikityanskiy
15 siblings, 2 replies; 60+ messages in thread
From: Maxim Mikityanskiy @ 2015-01-19 16:14 UTC (permalink / raw)
To: buildroot
Support /etc/vim/vimrc as system-wide vimrc file. Add some default
sample vimrc.
Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
---
package/vim/vim.mk | 11 +++++++++++
package/vim/vimrc | 14 ++++++++++++++
2 files changed, 25 insertions(+)
create mode 100644 package/vim/vimrc
diff --git a/package/vim/vim.mk b/package/vim/vim.mk
index da84d14..992e41b 100644
--- a/package/vim/vim.mk
+++ b/package/vim/vim.mk
@@ -28,6 +28,12 @@ VIM_CONF_OPTS = --with-tlib=ncurses --enable-gui=no --without-x
VIM_LICENSE = Charityware
VIM_LICENSE_FILES = README.txt
+define VIM_VIMRC_HOOK
+ echo '#define SYS_VIMRC_FILE "/etc/vim/vimrc"' >> $(@D)/src/feature.h
+endef
+
+VIM_PRE_CONFIGURE_HOOKS += VIM_VIMRC_HOOK
+
define VIM_INSTALL_TARGET_CMDS
cd $(@D)/src; \
$(MAKE) DESTDIR=$(TARGET_DIR) installvimbin; \
@@ -51,6 +57,11 @@ define VIM_INSTALL_VI_SYMLINK
endef
VIM_POST_INSTALL_TARGET_HOOKS += VIM_INSTALL_VI_SYMLINK
+define VIM_INSTALL_VIMRC
+ $(INSTALL) -D -m 644 package/vim/vimrc $(TARGET_DIR)/etc/vim/vimrc
+endef
+VIM_POST_INSTALL_TARGET_HOOKS += VIM_INSTALL_VIMRC
+
ifeq ($(BR2_PACKAGE_VIM_RUNTIME),y)
VIM_POST_INSTALL_TARGET_HOOKS += VIM_INSTALL_RUNTIME_CMDS
VIM_POST_INSTALL_TARGET_HOOKS += VIM_REMOVE_DOCS
diff --git a/package/vim/vimrc b/package/vim/vimrc
new file mode 100644
index 0000000..bfc2087
--- /dev/null
+++ b/package/vim/vimrc
@@ -0,0 +1,14 @@
+set nocompatible
+
+set ai
+set background=dark
+set backspace=indent,eol,start
+set nomodeline
+set ruler
+
+set ignorecase smartcase incsearch hlsearch
+
+syntax on
+
+filetype plugin on
+filetype indent on
--
2.2.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 16/16] package/rng-tools: add systemd support for rngd
2015-01-19 16:14 [Buildroot] [PATCH 00/16] Different enhancements, primarily for systemd Maxim Mikityanskiy
` (14 preceding siblings ...)
2015-01-19 16:14 ` [Buildroot] [PATCH 15/16] package/vim: add default vimrc Maxim Mikityanskiy
@ 2015-01-19 16:14 ` Maxim Mikityanskiy
2015-02-02 17:12 ` Samuel Martin
2015-04-22 20:10 ` Thomas Petazzoni
15 siblings, 2 replies; 60+ messages in thread
From: Maxim Mikityanskiy @ 2015-01-19 16:14 UTC (permalink / raw)
To: buildroot
Add rngd.service for systemd. Also patch rngd with patch from Fedora to
ignore failure if no hwrng present:
https://bugzilla.redhat.com/show_bug.cgi?id=892178
Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
---
package/rng-tools/rng-tools.mk | 8 ++++++++
package/rng-tools/rngd-exit-code.patch | 11 +++++++++++
package/rng-tools/rngd.service | 9 +++++++++
3 files changed, 28 insertions(+)
create mode 100644 package/rng-tools/rngd-exit-code.patch
create mode 100644 package/rng-tools/rngd.service
diff --git a/package/rng-tools/rng-tools.mk b/package/rng-tools/rng-tools.mk
index 5b89656..13352cc 100644
--- a/package/rng-tools/rng-tools.mk
+++ b/package/rng-tools/rng-tools.mk
@@ -21,4 +21,12 @@ else
RNG_TOOLS_CONF_OPTS += --without-libgcrypt
endif
+define RNG_TOOLS_INSTALL_INIT_SYSTEMD
+ $(INSTALL) -D -m 644 package/rng-tools/rngd.service \
+ $(TARGET_DIR)/lib/systemd/system/rngd.service
+ mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+ ln -fs /lib/systemd/system/rngd.service \
+ $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/rngd.service
+endef
+
$(eval $(autotools-package))
diff --git a/package/rng-tools/rngd-exit-code.patch b/package/rng-tools/rngd-exit-code.patch
new file mode 100644
index 0000000..5f87161
--- /dev/null
+++ b/package/rng-tools/rngd-exit-code.patch
@@ -0,0 +1,11 @@
+--- a/rngd.c
++++ b/rngd.c
+@@ -319,7 +319,7 @@ int main(int argc, char **argv)
+ message(LOG_DAEMON|LOG_ERR,
+ "Maybe RNG device modules are not loaded\n");
+ }
+- return 1;
++ return 66;
+ }
+
+ if (arguments->verbose) {
diff --git a/package/rng-tools/rngd.service b/package/rng-tools/rngd.service
new file mode 100644
index 0000000..3bdc4c1
--- /dev/null
+++ b/package/rng-tools/rngd.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Hardware RNG Entropy Gatherer Daemon
+
+[Service]
+ExecStart=/usr/sbin/rngd -f
+SuccessExitStatus=66
+
+[Install]
+WantedBy=multi-user.target
--
2.2.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 01/16] package/busybox: optional udhcpc script
2015-01-19 16:14 ` [Buildroot] [PATCH 01/16] package/busybox: optional udhcpc script Maxim Mikityanskiy
@ 2015-01-26 21:26 ` Thomas Petazzoni
2015-01-26 22:06 ` Peter Korsgaard
0 siblings, 1 reply; 60+ messages in thread
From: Thomas Petazzoni @ 2015-01-26 21:26 UTC (permalink / raw)
To: buildroot
Dear Maxim Mikityanskiy,
On Mon, 19 Jan 2015 18:14:01 +0200, Maxim Mikityanskiy wrote:
> Create new config option BR2_PACKAGE_BUSYBOX_UDHCPC_SCRIPT to control
> whether to install optional udhcpc default.script. It is possible that
> udhcpc is not enabled in busybox config, so default.script is useless in
> that case.
>
> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
Thanks for this patch. However, rather than using a new option, can we
instead simply test if udhcpc is enabled in the Busybox configuration?
> diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
> index f68a2f8..fbdde62 100644
> --- a/package/busybox/busybox.mk
> +++ b/package/busybox/busybox.mk
> @@ -49,10 +49,20 @@ BUSYBOX_KCONFIG_FILE = $(BUSYBOX_CONFIG_FILE)
> BUSYBOX_KCONFIG_EDITORS = menuconfig xconfig gconfig
> BUSYBOX_KCONFIG_OPTS = $(BUSYBOX_MAKE_OPTS)
>
> +ifeq ($(BR2_PACKAGE_BUSYBOX_UDHCPC_SCRIPT),y)
> +define BUSYBOX_INSTALL_UDHCPC_SCRIPT
> + $(INSTALL) -m 0755 -D package/busybox/udhcpc.script \
> + $(TARGET_DIR)/usr/share/udhcpc/default.script; \
> +endef
> define BUSYBOX_PERMISSIONS
> /bin/busybox f 4755 0 0 - - - - -
> /usr/share/udhcpc/default.script f 755 0 0 - - - - -
> endef
> +else
> +define BUSYBOX_PERMISSIONS
> + /bin/busybox f 4755 0 0 - - - - -
> +endef
> +endif
I believe we can remove /usr/share/udhcpc/default.script entirely from
BUSYBOX_PERMISSIONS: it doesn't need any special permission or
ownership, so the default done by Buildroot will be fine in terms of
ownership, and in terms of permissions, 755 is already enforced by the
install command below.
> # If mdev will be used for device creation enable it and copy S10mdev to /etc/init.d
> ifeq ($(BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV),y)
> @@ -210,10 +220,7 @@ endef
>
> define BUSYBOX_INSTALL_TARGET_CMDS
> $(BUSYBOX_MAKE_ENV) $(MAKE) $(BUSYBOX_MAKE_OPTS) -C $(@D) install
> - $(INSTALL) -m 0755 -D package/busybox/udhcpc.script \
> - $(TARGET_DIR)/usr/share/udhcpc/default.script
> - $(INSTALL) -m 0755 -d \
> - $(TARGET_DIR)/usr/share/udhcpc/default.script.d
> + $(BUSYBOX_INSTALL_UDHCPC_SCRIPT)
> $(BUSYBOX_INSTALL_MDEV_CONF)
> endef
Here I'd prefer something like:
if grep -q CONFIG_UDHCPC=y $(BUSYBOX_BUILD_CONFIG) ; then
... do the udhcpc scripts installation
fi
Which allows to get rid of the new Config.in option.
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 02/16] package: install bash-completion files only with bash
2015-01-19 16:14 ` [Buildroot] [PATCH 02/16] package: install bash-completion files only with bash Maxim Mikityanskiy
@ 2015-01-26 22:00 ` Thomas Petazzoni
0 siblings, 0 replies; 60+ messages in thread
From: Thomas Petazzoni @ 2015-01-26 22:00 UTC (permalink / raw)
To: buildroot
Dear Maxim Mikityanskiy,
On Mon, 19 Jan 2015 18:14:02 +0200, Maxim Mikityanskiy wrote:
> package/systemd, package/kmod, package/util-linux: don't install
> bash-completion files if bash is not selected to be installed.
> Otherwise, install bash-completion files.
>
> package/systemd: don't install zsh-completion files is zsh is not
> selected to be installed. Otherwise, install zsh-completion files.
>
> package/util-linux: don't install empty
> /usr/share/bash-completion/completions directory if bash is not going to
> be installed, and install bash-completion files if bash is selected to
> be installed.
>
> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
Thanks, applied.
However, long term I wonder if we shouldn't think of a more centralized
and radical solution. In package/bash/bash.mk:
ifeq ($(BR2_PACKAGE_BASH),)
define BASH_REMOVE_COMPLETION_FILES
$(RM) -rf $(TARGET_DIR)/usr/share/bash-completion/
endef
TARGET_FINALIZE_HOOKS += BASH_REMOVE_COMPLETION_FILES
endif
This way, as long as bash is not enabled, all bash completion files are
removed. We could do the same with zsh.
The only trick here is that such a solution relies on
package/bash/bash.mk being included/parsed unconditionally. This is
currently the case today: regardless of whether a package is enabled or
not, its .mk file is always included/parsed. But at some point in the
past, we have been talking on changing this, in order to speed up the
parsing time of all the .mk files, which linearly increases with the
number of packages we add in Buildroot. But oh well, if we ever want to
do that, we can always change the way to handle the bash completion
thing, and other similar target finalization stuff that needs to be
done if a package is *not* installed.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 01/16] package/busybox: optional udhcpc script
2015-01-26 21:26 ` Thomas Petazzoni
@ 2015-01-26 22:06 ` Peter Korsgaard
0 siblings, 0 replies; 60+ messages in thread
From: Peter Korsgaard @ 2015-01-26 22:06 UTC (permalink / raw)
To: buildroot
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:
> Dear Maxim Mikityanskiy,
> On Mon, 19 Jan 2015 18:14:01 +0200, Maxim Mikityanskiy wrote:
>> Create new config option BR2_PACKAGE_BUSYBOX_UDHCPC_SCRIPT to control
>> whether to install optional udhcpc default.script. It is possible that
>> udhcpc is not enabled in busybox config, so default.script is useless in
>> that case.
>>
>> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
> Thanks for this patch. However, rather than using a new option, can we
> instead simply test if udhcpc is enabled in the Busybox configuration?
Agreed, that would be a lot nicer.
>> +define BUSYBOX_PERMISSIONS
>> + /bin/busybox f 4755 0 0 - - - - -
>> +endef
>> +endif
> I believe we can remove /usr/share/udhcpc/default.script entirely from
> BUSYBOX_PERMISSIONS: it doesn't need any special permission or
> ownership, so the default done by Buildroot will be fine in terms of
> ownership, and in terms of permissions, 755 is already enforced by the
> install command below.
Exactly.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 14/16] package/util-linux: add more tool select options
2015-01-19 16:14 ` [Buildroot] [PATCH 14/16] package/util-linux: add more tool select options Maxim Mikityanskiy
@ 2015-01-26 22:11 ` Thomas Petazzoni
2015-02-07 22:00 ` Yann E. MORIN
1 sibling, 0 replies; 60+ messages in thread
From: Thomas Petazzoni @ 2015-01-26 22:11 UTC (permalink / raw)
To: buildroot
Dear Maxim Mikityanskiy,
On Mon, 19 Jan 2015 18:14:14 +0200, Maxim Mikityanskiy wrote:
> Add more options to Config.in to allow optionally select or deselect
> util-linux tools.
>
> Also fix s/BR2_PACKAGE_WDCTL/BR2_PACKAGE_UTIL_LINUX_WDCTL/
Ideally, this fix should have been in a separate patch. Note that there
is no need for Config.in.legacy handling, because the option has never
done anything, so renaming it doesn't hurt.
> @@ -36,6 +41,7 @@ config BR2_PACKAGE_UTIL_LINUX_BINARIES
> depends on BR2_USE_MMU # fork()
> select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
> select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
> + select BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS
I was originally not very happy of this additional select, which means
that libsmartcols now gets installed regardless of which binaries you
install. But it seems to be used by quite a few util-linux binaries
anyway, so ok.
So: applied, thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 13/16] package/tar: add support for acl and xattr
2015-01-19 16:14 ` [Buildroot] [PATCH 13/16] package/tar: add support for acl and xattr Maxim Mikityanskiy
@ 2015-02-02 8:26 ` Thomas Petazzoni
0 siblings, 0 replies; 60+ messages in thread
From: Thomas Petazzoni @ 2015-02-02 8:26 UTC (permalink / raw)
To: buildroot
Dear Maxim Mikityanskiy,
On Mon, 19 Jan 2015 18:14:13 +0200, Maxim Mikityanskiy wrote:
> If acl or attr is going to be installed, add support for them to tar.
>
> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
> ---
> package/tar/tar.mk | 10 ++++++++++
> 1 file changed, 10 insertions(+)
Applied, thanks! I added a 'else' condition, which makes sure to
explicitly disable the acl and attr support when the corresponding
packages are not available.
Thanks,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 04/16] package/systemd: add missing dependencies
2015-01-19 16:14 ` [Buildroot] [PATCH 04/16] package/systemd: add missing dependencies Maxim Mikityanskiy
@ 2015-02-02 14:22 ` Samuel Martin
2015-07-12 22:27 ` Thomas Petazzoni
1 sibling, 0 replies; 60+ messages in thread
From: Samuel Martin @ 2015-02-02 14:22 UTC (permalink / raw)
To: buildroot
On Mon, Jan 19, 2015 at 5:14 PM, Maxim Mikityanskiy <maxtram95@gmail.com> wrote:
> Systemd depends on mount and nologin from util-linux. Mount from busybox
> is not fine, because its behavior differs from util-linux mount. Busybox
> mount does not handle correctly 'mount / -o remount' (should apply
> options from /etc/fstab). Nologin should be present, because
> systemd-sysusers uses it as shell for newly created system users.
>
> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Regards,
--
Samuel
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 03/16] package/dbus: fix machine-id when using systemd
2015-01-19 16:14 ` [Buildroot] [PATCH 03/16] package/dbus: fix machine-id when using systemd Maxim Mikityanskiy
@ 2015-02-02 14:50 ` Samuel Martin
2015-02-02 15:18 ` Maxim Mikityanskiy
2015-07-12 23:48 ` Thomas Petazzoni
1 sibling, 1 reply; 60+ messages in thread
From: Samuel Martin @ 2015-02-02 14:50 UTC (permalink / raw)
To: buildroot
Hi Maxim,
On Mon, Jan 19, 2015 at 5:14 PM, Maxim Mikityanskiy <maxtram95@gmail.com> wrote:
> When systemd is used, /var/lib/dbus becomes dangling symlink, because
> nobody does mkdir /tmp/dbus, so /var/lib/dbus/machine-id could not be
> written. On SysVinit systems there is init script that creates
> /tmp/dbus.
Maybe we should add /tmp/dbus to a tmpfiles config file (see [1]).
>
> This patch preserves old behavior for SysVinit systems, and introduces
> new one for systemd-booted systems: /var/lib/dbus is a persistent
> directory, it holds symlink /var/lib/dbus/machine-id -> /etc/machine-id
> as machine-id(5) suggests, and /etc/machine-id is managed by systemd.
This assumes that /etc is witable... which is not necessary the case :-/
>
> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
> ---
> package/dbus/dbus.mk | 13 +++++++------
> 1 file changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/package/dbus/dbus.mk b/package/dbus/dbus.mk
> index faad2b5..266e27b 100644
> --- a/package/dbus/dbus.mk
> +++ b/package/dbus/dbus.mk
> @@ -73,17 +73,18 @@ endef
>
> DBUS_POST_INSTALL_TARGET_HOOKS += DBUS_REMOVE_DEVFILES
>
> -define DBUS_INSTALL_TARGET_FIXUP
> +define DBUS_INSTALL_INIT_SYSV
> + $(INSTALL) -m 0755 -D package/dbus/S30dbus \
> + $(TARGET_DIR)/etc/init.d/S30dbus
> +
> mkdir -p $(TARGET_DIR)/var/lib
> rm -rf $(TARGET_DIR)/var/lib/dbus
> ln -sf /tmp/dbus $(TARGET_DIR)/var/lib/dbus
> endef
>
> -DBUS_POST_INSTALL_TARGET_HOOKS += DBUS_INSTALL_TARGET_FIXUP
> -
> -define DBUS_INSTALL_INIT_SYSV
> - $(INSTALL) -m 0755 -D package/dbus/S30dbus \
> - $(TARGET_DIR)/etc/init.d/S30dbus
> +define DBUS_INSTALL_INIT_SYSTEMD
> + mkdir -p $(TARGET_DIR)/var/lib/dbus
> + ln -sf /etc/machine-id $(TARGET_DIR)/var/lib/dbus/machine-id
> endef
>
> HOST_DBUS_DEPENDENCIES = host-pkgconf host-expat
> --
> 2.2.1
I'd prefer keeping the filesystem layout as close as possible between
sysVinit and systemd.
So, adding a symlink /etc/machine-id pointing to
/var/lib/dbus/machine-id (which will ends up in /tmp/dbus/machine-id
thanks to the tmpfiles.d stuff) should be enough.
Then the last thing to check is that systemd-machine-id-setup
correctly generates the machine-id file even if /etc/machine-id is a
symlink pointing to a non-existing file.
[1] http://www.freedesktop.org/software/systemd/man/tmpfiles.d.html
Regards,
--
Samuel
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 03/16] package/dbus: fix machine-id when using systemd
2015-02-02 14:50 ` Samuel Martin
@ 2015-02-02 15:18 ` Maxim Mikityanskiy
0 siblings, 0 replies; 60+ messages in thread
From: Maxim Mikityanskiy @ 2015-02-02 15:18 UTC (permalink / raw)
To: buildroot
Sorry, resending my last message, I've answered off-the-list. My fault :(
Hi Samuel,
2015-02-02 16:50 GMT+02:00 Samuel Martin <s.martin49@gmail.com>:
> Hi Maxim,
>
> On Mon, Jan 19, 2015 at 5:14 PM, Maxim Mikityanskiy <maxtram95@gmail.com> wrote:
>> When systemd is used, /var/lib/dbus becomes dangling symlink, because
>> nobody does mkdir /tmp/dbus, so /var/lib/dbus/machine-id could not be
>> written. On SysVinit systems there is init script that creates
>> /tmp/dbus.
>
> Maybe we should add /tmp/dbus to a tmpfiles config file (see [1]).
>
>>
>> This patch preserves old behavior for SysVinit systems, and introduces
>> new one for systemd-booted systems: /var/lib/dbus is a persistent
>> directory, it holds symlink /var/lib/dbus/machine-id -> /etc/machine-id
>> as machine-id(5) suggests, and /etc/machine-id is managed by systemd.
>
> This assumes that /etc is witable... which is not necessary the case :-/
No, this doesn't assume that /etc is writable. Let me explain.
When systemd is installed, it creates empty /etc/machine-id file (look
at SYSTEMD_INSTALL_MACHINEID_HOOK in package/systemd/systemd.mk). If
/etc is writable, /etc/machine-id is populated at first boot, and
/var/lib/dbus/machine-id symlink just points at this file, as
machine-id(5) man page suggests. If /etc is read-only, systemd does
bind mount /run/machine-id to /etc/machine-id and populates temporary
file. /var/lib/dbus/machine-id also just points at this file. So no
problem with read-only /etc.
I'm afraid it is wrong solution. At first, we can't just add
/etc/machine-id -> /var/lib/dbus/machine-id symlink, because
package/systemd/systemd.mk creates empty file /etc/machine-id ;)
At second, if /etc/machine-id will always point to temporary location,
it will be regenerated at every boot even if /etc is writable. It
leads to wrong behavior of systemd-journald: it will create new 16 MiB
journal file at every boot because of changing machine-id.
> Then the last thing to check is that systemd-machine-id-setup
> correctly generates the machine-id file even if /etc/machine-id is a
> symlink pointing to a non-existing file.
>
> [1] http://www.freedesktop.org/software/systemd/man/tmpfiles.d.html
>
> Regards,
>
> --
> Samuel
/etc/machine-id is such file that should be invariant from boot to
boot, so placing it to temporary location is wrong (at least it causes
problems with systemd-journald). But if /etc is read-only (and
/etc/machine-id is not populated in post-build scripts), systemd will
also handle this and bind mount temporary /run/machine-id to
/etc/machine-id. /var/lib/dbus/machine-id just points to
/etc/machine-id that is always populated on systemd systems.
What about keeping similar filesystem layout on SysVinit and systemd
systems, it would be nice if there was some simple way to support
/etc/machine-id on SysVinit systems. But it is easier to preserve old
behavior, because it works and causes no troubles on SysVinit systems.
Cheers,
Maxim
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 05/16] package/systemd: apply locale settings in user shells
2015-01-19 16:14 ` [Buildroot] [PATCH 05/16] package/systemd: apply locale settings in user shells Maxim Mikityanskiy
@ 2015-02-02 15:20 ` Samuel Martin
2015-02-02 15:28 ` Maxim Mikityanskiy
2015-07-12 22:55 ` [Buildroot] [PATCH v2] skeleton: " Arnout Vandecappelle
1 sibling, 1 reply; 60+ messages in thread
From: Samuel Martin @ 2015-02-02 15:20 UTC (permalink / raw)
To: buildroot
Hi Maxim,
On Mon, Jan 19, 2015 at 5:14 PM, Maxim Mikityanskiy <maxtram95@gmail.com> wrote:
> Add /etc/profile.d/locale.sh script from Arch Linux to apply systemd
> locale settings in user shells.
I don't really see the point of doing it especially when systemd is used.
This configuration file is for shell, even busybox should support it...
Why not putting it in the default skeleton?
Any thought about this from other users/developpers?
>
> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
> ---
> package/systemd/locale.sh | 26 ++++++++++++++++++++++++++
> package/systemd/systemd.mk | 7 +++++++
> 2 files changed, 33 insertions(+)
> create mode 100644 package/systemd/locale.sh
>
> diff --git a/package/systemd/locale.sh b/package/systemd/locale.sh
> new file mode 100644
> index 0000000..b665872
> --- /dev/null
> +++ b/package/systemd/locale.sh
> @@ -0,0 +1,26 @@
> +#!/bin/sh
> +
> +if [ -z "$LANG" ]; then
> + if [ -n "$XDG_CONFIG_HOME" ] && [ -r "$XDG_CONFIG_HOME/locale.conf" ]; then
> + . "$XDG_CONFIG_HOME/locale.conf"
> + elif [ -n $HOME ] && [ -r $HOME/.config/locale.conf ]; then
> + . "$HOME/.config/locale.conf"
> + elif [ -r /etc/locale.conf ]; then
> + . /etc/locale.conf
> + fi
> +fi
> +
> +LANG=${LANG:-C}
> +export LANG
> +[ -n "$LC_CTYPE" ] && export LC_CTYPE
> +[ -n "$LC_NUMERIC" ] && export LC_NUMERIC
> +[ -n "$LC_TIME" ] && export LC_TIME
> +[ -n "$LC_COLLATE" ] && export LC_COLLATE
> +[ -n "$LC_MONETARY" ] && export LC_MONETARY
> +[ -n "$LC_MESSAGES" ] && export LC_MESSAGES
> +[ -n "$LC_PAPER" ] && export LC_PAPER
> +[ -n "$LC_NAME" ] && export LC_NAME
> +[ -n "$LC_ADDRESS" ] && export LC_ADDRESS
> +[ -n "$LC_TELEPHONE" ] && export LC_TELEPHONE
> +[ -n "$LC_MEASUREMENT" ] && export LC_MEASUREMENT
> +[ -n "$LC_IDENTIFICATION" ] && export LC_IDENTIFICATION
> diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
> index 92f99c2..ef14c76 100644
> --- a/package/systemd/systemd.mk
> +++ b/package/systemd/systemd.mk
> @@ -158,6 +158,12 @@ define SYSTEMD_INSTALL_MACHINEID_HOOK
> touch $(TARGET_DIR)/etc/machine-id
> endef
>
> +define SYSTEMD_INSTALL_LOCALE_SH_HOOK
> + mkdir -p $(TARGET_DIR)/etc/profile.d
> + $(INSTALL) -D -m 644 package/systemd/locale.sh \
> + $(TARGET_DIR)/etc/profile.d/locale.sh
> +endef
> +
> define SYSTEMD_SANITIZE_PATH_IN_UNITS
> find $(TARGET_DIR)/lib/systemd/system -name '*.service' \
> -exec $(SED) 's,$(HOST_DIR),,g' {} \;
> @@ -172,6 +178,7 @@ endef
> SYSTEMD_POST_INSTALL_TARGET_HOOKS += \
> SYSTEMD_INSTALL_INIT_HOOK \
> SYSTEMD_INSTALL_MACHINEID_HOOK \
> + SYSTEMD_INSTALL_LOCALE_SH_HOOK \
> SYSTEMD_INSTALL_RESOLVCONF_HOOK \
> SYSTEMD_DISABLE_LDCONFIG_SERVICE_HOOK \
> SYSTEMD_SANITIZE_PATH_IN_UNITS
> --
> 2.2.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Regards,
--
Samuel
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 05/16] package/systemd: apply locale settings in user shells
2015-02-02 15:20 ` Samuel Martin
@ 2015-02-02 15:28 ` Maxim Mikityanskiy
0 siblings, 0 replies; 60+ messages in thread
From: Maxim Mikityanskiy @ 2015-02-02 15:28 UTC (permalink / raw)
To: buildroot
Hi Samuel,
2015-02-02 17:20 GMT+02:00 Samuel Martin <s.martin49@gmail.com>:
> Hi Maxim,
>
> On Mon, Jan 19, 2015 at 5:14 PM, Maxim Mikityanskiy <maxtram95@gmail.com> wrote:
>> Add /etc/profile.d/locale.sh script from Arch Linux to apply systemd
>> locale settings in user shells.
>
> I don't really see the point of doing it especially when systemd is used.
> This configuration file is for shell, even busybox should support it...
This /etc/profile.d/locale.sh file reads locale settings from
/etc/locale.conf (and possibly user-specific files) and applies these
settings on shell logins. /etc/locale.conf was introduced with
systemd, it is written by localectl tool from systemd, so I decided to
install /etc/profile.d/locale.sh when systemd is used.
> Why not putting it in the default skeleton?
Of course, /etc/locale.conf is just a text file, it is not necessary
should be generated by localectl, it could be written in text editor,
so /etc/profile.d/locale.sh could be put in the default skeleton, so
there will be convenient place for storing locale settings on both
systemd and SysVinit systems. I just didn't think about this before.
> Any thought about this from other users/developpers?
>
>>
>> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
>> ---
>> package/systemd/locale.sh | 26 ++++++++++++++++++++++++++
>> package/systemd/systemd.mk | 7 +++++++
>> 2 files changed, 33 insertions(+)
>> create mode 100644 package/systemd/locale.sh
>>
>> diff --git a/package/systemd/locale.sh b/package/systemd/locale.sh
>> new file mode 100644
>> index 0000000..b665872
>> --- /dev/null
>> +++ b/package/systemd/locale.sh
>> @@ -0,0 +1,26 @@
>> +#!/bin/sh
>> +
>> +if [ -z "$LANG" ]; then
>> + if [ -n "$XDG_CONFIG_HOME" ] && [ -r "$XDG_CONFIG_HOME/locale.conf" ]; then
>> + . "$XDG_CONFIG_HOME/locale.conf"
>> + elif [ -n $HOME ] && [ -r $HOME/.config/locale.conf ]; then
>> + . "$HOME/.config/locale.conf"
>> + elif [ -r /etc/locale.conf ]; then
>> + . /etc/locale.conf
>> + fi
>> +fi
>> +
>> +LANG=${LANG:-C}
>> +export LANG
>> +[ -n "$LC_CTYPE" ] && export LC_CTYPE
>> +[ -n "$LC_NUMERIC" ] && export LC_NUMERIC
>> +[ -n "$LC_TIME" ] && export LC_TIME
>> +[ -n "$LC_COLLATE" ] && export LC_COLLATE
>> +[ -n "$LC_MONETARY" ] && export LC_MONETARY
>> +[ -n "$LC_MESSAGES" ] && export LC_MESSAGES
>> +[ -n "$LC_PAPER" ] && export LC_PAPER
>> +[ -n "$LC_NAME" ] && export LC_NAME
>> +[ -n "$LC_ADDRESS" ] && export LC_ADDRESS
>> +[ -n "$LC_TELEPHONE" ] && export LC_TELEPHONE
>> +[ -n "$LC_MEASUREMENT" ] && export LC_MEASUREMENT
>> +[ -n "$LC_IDENTIFICATION" ] && export LC_IDENTIFICATION
>> diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
>> index 92f99c2..ef14c76 100644
>> --- a/package/systemd/systemd.mk
>> +++ b/package/systemd/systemd.mk
>> @@ -158,6 +158,12 @@ define SYSTEMD_INSTALL_MACHINEID_HOOK
>> touch $(TARGET_DIR)/etc/machine-id
>> endef
>>
>> +define SYSTEMD_INSTALL_LOCALE_SH_HOOK
>> + mkdir -p $(TARGET_DIR)/etc/profile.d
>> + $(INSTALL) -D -m 644 package/systemd/locale.sh \
>> + $(TARGET_DIR)/etc/profile.d/locale.sh
>> +endef
>> +
>> define SYSTEMD_SANITIZE_PATH_IN_UNITS
>> find $(TARGET_DIR)/lib/systemd/system -name '*.service' \
>> -exec $(SED) 's,$(HOST_DIR),,g' {} \;
>> @@ -172,6 +178,7 @@ endef
>> SYSTEMD_POST_INSTALL_TARGET_HOOKS += \
>> SYSTEMD_INSTALL_INIT_HOOK \
>> SYSTEMD_INSTALL_MACHINEID_HOOK \
>> + SYSTEMD_INSTALL_LOCALE_SH_HOOK \
>> SYSTEMD_INSTALL_RESOLVCONF_HOOK \
>> SYSTEMD_DISABLE_LDCONFIG_SERVICE_HOOK \
>> SYSTEMD_SANITIZE_PATH_IN_UNITS
>> --
>> 2.2.1
>>
>> _______________________________________________
>> buildroot mailing list
>> buildroot at busybox.net
>> http://lists.busybox.net/mailman/listinfo/buildroot
>
> Regards,
>
> --
> Samuel
Cheers,
Maxim
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 06/16] package/dosfstools: add missing symlinks
2015-01-19 16:14 ` [Buildroot] [PATCH 06/16] package/dosfstools: add missing symlinks Maxim Mikityanskiy
@ 2015-02-02 16:22 ` Samuel Martin
2015-03-08 22:04 ` Thomas Petazzoni
1 sibling, 0 replies; 60+ messages in thread
From: Samuel Martin @ 2015-02-02 16:22 UTC (permalink / raw)
To: buildroot
On Mon, Jan 19, 2015 at 5:14 PM, Maxim Mikityanskiy <maxtram95@gmail.com> wrote:
> Install alternative symlinks for dosfstools mkfs.fat, fsck.fat and
> fatlabel. Those symlinks are generally installed by make install, but
> buildroot does not use make install for dosfstools, but symlinks should
> be installed anyway.
>
> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Regards,
--
Samuel
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 16/16] package/rng-tools: add systemd support for rngd
2015-01-19 16:14 ` [Buildroot] [PATCH 16/16] package/rng-tools: add systemd support for rngd Maxim Mikityanskiy
@ 2015-02-02 17:12 ` Samuel Martin
2015-04-22 20:10 ` Thomas Petazzoni
1 sibling, 0 replies; 60+ messages in thread
From: Samuel Martin @ 2015-02-02 17:12 UTC (permalink / raw)
To: buildroot
Hi Maxim,
On Mon, Jan 19, 2015 at 5:14 PM, Maxim Mikityanskiy <maxtram95@gmail.com> wrote:
> Add rngd.service for systemd. Also patch rngd with patch from Fedora to
> ignore failure if no hwrng present:
> https://bugzilla.redhat.com/show_bug.cgi?id=892178
>
> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
> ---
> package/rng-tools/rng-tools.mk | 8 ++++++++
> package/rng-tools/rngd-exit-code.patch | 11 +++++++++++
> package/rng-tools/rngd.service | 9 +++++++++
> 3 files changed, 28 insertions(+)
> create mode 100644 package/rng-tools/rngd-exit-code.patch
> create mode 100644 package/rng-tools/rngd.service
>
> diff --git a/package/rng-tools/rng-tools.mk b/package/rng-tools/rng-tools.mk
> index 5b89656..13352cc 100644
> --- a/package/rng-tools/rng-tools.mk
> +++ b/package/rng-tools/rng-tools.mk
> @@ -21,4 +21,12 @@ else
> RNG_TOOLS_CONF_OPTS += --without-libgcrypt
> endif
>
> +define RNG_TOOLS_INSTALL_INIT_SYSTEMD
> + $(INSTALL) -D -m 644 package/rng-tools/rngd.service \
> + $(TARGET_DIR)/lib/systemd/system/rngd.service
> + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
> + ln -fs /lib/systemd/system/rngd.service \
> + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/rngd.service
> +endef
> +
> $(eval $(autotools-package))
> diff --git a/package/rng-tools/rngd-exit-code.patch b/package/rng-tools/rngd-exit-code.patch
> new file mode 100644
> index 0000000..5f87161
> --- /dev/null
> +++ b/package/rng-tools/rngd-exit-code.patch
Few comments about the patch:
- patch filename should follow what `git format-patch` generates, so
something 0001-<some description>.patch;
- patch should have a non-empty description and sob-line.
Check [1] for detailed package's patch requirements.
> @@ -0,0 +1,11 @@
> +--- a/rngd.c
> ++++ b/rngd.c
> +@@ -319,7 +319,7 @@ int main(int argc, char **argv)
> + message(LOG_DAEMON|LOG_ERR,
> + "Maybe RNG device modules are not loaded\n");
> + }
> +- return 1;
> ++ return 66;
> + }
> +
> + if (arguments->verbose) {
> diff --git a/package/rng-tools/rngd.service b/package/rng-tools/rngd.service
> new file mode 100644
> index 0000000..3bdc4c1
> --- /dev/null
> +++ b/package/rng-tools/rngd.service
> @@ -0,0 +1,9 @@
> +[Unit]
> +Description=Hardware RNG Entropy Gatherer Daemon
> +
> +[Service]
> +ExecStart=/usr/sbin/rngd -f
> +SuccessExitStatus=66
> +
> +[Install]
> +WantedBy=multi-user.target
> --
> 2.2.1
>
[1] http://nightly.buildroot.org/manual.html#patch-policy
Regards,
--
Samuel
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 07/16] package/dropbear: install dropbear.service to correct dir
2015-01-19 16:14 ` [Buildroot] [PATCH 07/16] package/dropbear: install dropbear.service to correct dir Maxim Mikityanskiy
@ 2015-02-02 20:41 ` Samuel Martin
2015-02-23 11:38 ` Thomas Petazzoni
1 sibling, 0 replies; 60+ messages in thread
From: Samuel Martin @ 2015-02-02 20:41 UTC (permalink / raw)
To: buildroot
Hi Maxim,
Looks like you forget your sob-line here ;-)
Anyway, you got my:
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
On Mon, Jan 19, 2015 at 5:14 PM, Maxim Mikityanskiy <maxtram95@gmail.com> wrote:
> The place for package-provided systemd units is /lib/systemd/system.
> /etc/systemd/system is for custom units.
> ---
> package/dropbear/dropbear.mk | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/package/dropbear/dropbear.mk b/package/dropbear/dropbear.mk
> index 696095d..2230c61 100644
> --- a/package/dropbear/dropbear.mk
> +++ b/package/dropbear/dropbear.mk
> @@ -46,9 +46,9 @@ endef
>
> define DROPBEAR_INSTALL_INIT_SYSTEMD
> $(INSTALL) -D -m 644 package/dropbear/dropbear.service \
> - $(TARGET_DIR)/etc/systemd/system/dropbear.service
> + $(TARGET_DIR)/lib/systemd/system/dropbear.service
> mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
> - ln -fs ../dropbear.service \
> + ln -fs /lib/systemd/system/dropbear.service \
> $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dropbear.service
Though, you might often find relative symlinks, so they are correctly
resolved when looking at $(TARGET_DIR).
> endef
>
> --
> 2.2.1
Regards,
--
Samuel
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 08/16] package/e2fsprogs: make /sbin/fsck available
2015-01-19 16:14 ` [Buildroot] [PATCH 08/16] package/e2fsprogs: make /sbin/fsck available Maxim Mikityanskiy
@ 2015-02-02 20:44 ` Samuel Martin
2015-07-10 17:35 ` Thomas Petazzoni
1 sibling, 0 replies; 60+ messages in thread
From: Samuel Martin @ 2015-02-02 20:44 UTC (permalink / raw)
To: buildroot
On Mon, Jan 19, 2015 at 5:14 PM, Maxim Mikityanskiy <maxtram95@gmail.com> wrote:
> systemd looks for fsck in /sbin, so make symlink:
> /sbin/fsck -> /usr/sbin/fsck
>
> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
> ---
> package/e2fsprogs/e2fsprogs.mk | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/package/e2fsprogs/e2fsprogs.mk b/package/e2fsprogs/e2fsprogs.mk
> index b4f0950..9f0310d 100644
> --- a/package/e2fsprogs/e2fsprogs.mk
> +++ b/package/e2fsprogs/e2fsprogs.mk
> @@ -117,5 +117,13 @@ ifeq ($(BR2_PACKAGE_E2FSPROGS_FINDFS),y)
> E2FSPROGS_POST_INSTALL_TARGET_HOOKS += E2FSPROGS_TARGET_FINDFS_SYMLINK
> endif
>
> +define E2FSPROGS_TARGET_FSCK_SYMLINK
> + ln -sf ../usr/sbin/fsck $(TARGET_DIR)/sbin/fsck
> +endef
> +
> +ifeq ($(BR2_PACKAGE_E2FSPROGS_FSCK),y)
> +E2FSPROGS_POST_INSTALL_TARGET_HOOKS += E2FSPROGS_TARGET_FSCK_SYMLINK
> +endif
> +
> $(eval $(autotools-package))
> $(eval $(host-autotools-package))
> --
> 2.2.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Regards,
--
Samuel
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 09/16] package/minidlna: improve systemd support
2015-01-19 16:14 ` [Buildroot] [PATCH 09/16] package/minidlna: improve systemd support Maxim Mikityanskiy
@ 2015-02-02 21:12 ` Samuel Martin
2015-02-02 21:30 ` Maxim Mikityanskiy
2015-03-08 21:52 ` Thomas Petazzoni
1 sibling, 1 reply; 60+ messages in thread
From: Samuel Martin @ 2015-02-02 21:12 UTC (permalink / raw)
To: buildroot
Hi Maxim,
On Mon, Jan 19, 2015 at 5:14 PM, Maxim Mikityanskiy <maxtram95@gmail.com> wrote:
> Support running minidlna in system-wide mode using systemd:
>
> 1. Set --with-db-path and --with-log-path configure options to make
> default minidlna directories comply with FHS.
>
> 2. Install suitable minidlna.conf for system-wide mode.
>
> 3. Install sysctl.d config file to increase inotify watches count.
>
> 4. Install tmpfiles.d config file to mkdir and chmod necessary
> directories for minidlna running in system-wide mode.
>
> 5. Install sysusers.d config file to create minidlna user when using
> systemd.
To make minidlna compliant with non-systemd ssytem, you should add the
user using _USERS infra [1].
>
> 6. Install minidlna.service for systemd.
>
> Note: User=minidlna should be set in minidlna.service, not in
> minidlna.conf, because minidlna is unable to drop privileges correctly
> by itself: it does not get any privileges provided by groups of minidlna
> user. Systemd drops privileges correctly in that case.
>
> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
> ---
> package/minidlna/minidlna.conf | 74 +++++++++++++++++++++++++++++++++
> package/minidlna/minidlna.mk | 37 +++++++++++++++++
> package/minidlna/minidlna.service | 12 ++++++
> package/minidlna/minidlna_sysctl.conf | 1 +
> package/minidlna/minidlna_sysusers.conf | 1 +
> package/minidlna/minidlna_tmpfiles.conf | 3 ++
> 6 files changed, 128 insertions(+)
> create mode 100644 package/minidlna/minidlna.conf
> create mode 100644 package/minidlna/minidlna.service
> create mode 100644 package/minidlna/minidlna_sysctl.conf
> create mode 100644 package/minidlna/minidlna_sysusers.conf
> create mode 100644 package/minidlna/minidlna_tmpfiles.conf
>
> diff --git a/package/minidlna/minidlna.conf b/package/minidlna/minidlna.conf
> new file mode 100644
> index 0000000..9e4fbc9
> --- /dev/null
> +++ b/package/minidlna/minidlna.conf
> @@ -0,0 +1,74 @@
> +# port for HTTP (descriptions, SOAP, media transfer) traffic
> +port=8200
> +
> +# network interfaces to serve, comma delimited
> +#network_interface=eth0
> +
> +# set this to the directory you want scanned.
> +# * if you want multiple directories, you can have multiple media_dir= lines
> +# * if you want to restrict a media_dir to specific content types, you
> +# can prepend the types, followed by a comma, to the directory:
> +# + "A" for audio (eg. media_dir=A,/home/jmaggard/Music)
> +# + "V" for video (eg. media_dir=V,/home/jmaggard/Videos)
> +# + "P" for images (eg. media_dir=P,/home/jmaggard/Pictures)
> +# + "PV" for pictures and video (eg. media_dir=PV,/home/jmaggard/digital_camera)
> +#media_dir=/home
> +
> +# set this to merge all media_dir base contents into the root container
> +# note: the default is no
> +#merge_media_dirs=no
> +
> +# set this if you want to customize the name that shows up on your clients
> +friendly_name=Buildroot DLNA Server
> +
> +# set this to change the verbosity of the information that is logged
> +# each section can use a different level: off, fatal, error, warn, info, or debug
> +#log_level=general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=warn
> +
> +# this should be a list of file names to check for when searching for album art
> +# note: names should be delimited with a forward slash ("/")
> +album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg/AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg
> +
> +# set this to no to disable inotify monitoring to automatically discover new files
> +# note: the default is yes
> +inotify=yes
> +
> +# set this to yes to enable support for streaming .jpg and .mp3 files to a TiVo supporting HMO
> +enable_tivo=no
> +
> +# set this to strictly adhere to DLNA standards.
> +# * This will allow server-side downscaling of very large JPEG images,
> +# which may hurt JPEG serving performance on (at least) Sony DLNA products.
> +strict_dlna=no
> +
> +# default presentation url is http address on port 80
> +#presentation_url=http://www.mylan/index.php
> +
> +# notify interval in seconds. default is 895 seconds.
> +notify_interval=900
> +
> +# serial and model number the daemon will report to clients
> +# in its XML description
> +serial=12345678
> +model_number=1
> +
> +# specify the path to the MiniSSDPd socket
> +#minissdpdsocket=/var/run/minissdpd.sock
> +
> +# use different container as root of the tree
> +# possible values:
> +# + "." - use standard container (this is the default)
> +# + "B" - "Browse Directory"
> +# + "M" - "Music"
> +# + "V" - "Video"
> +# + "P" - "Pictures"
> +# + Or, you can specify the ObjectID of your desired root container (eg. 1$F for Music/Playlists)
> +# if you specify "B" and client device is audio-only then "Music/Folders" will be used as root
> +#root_container=.
> +
> +# always force SortCriteria to this value, regardless of the SortCriteria passed by the client
> +#force_sort_criteria=+upnp:class,+upnp:originalTrackNumber,+dc:title
> +
> +# maximum number of simultaneous connections
> +# note: many clients open several simultaneous connections while streaming
> +#max_connections=50
We usually prefer minmal default configuration files, with only
necessary stuff (i.e. no comments), letting the user browsing the
package manual to set all config he/she needs.
> diff --git a/package/minidlna/minidlna.mk b/package/minidlna/minidlna.mk
> index bcbe5fa..fcc9d06 100644
> --- a/package/minidlna/minidlna.mk
> +++ b/package/minidlna/minidlna.mk
> @@ -24,4 +24,41 @@ MINIDLNA_CONF_OPTS = \
> --disable-static
> endif
>
> +MINIDLNA_CONF_OPTS += \
> + --with-db-path=/var/cache/minidlna \
> + --with-log-path=/var/log/minidlna
> +
> +define MINIDLNA_INSTALL_CONF_HOOK
> + $(INSTALL) -D -m 644 package/minidlna/minidlna.conf \
> + $(TARGET_DIR)/etc/minidlna.conf
> +endef
> +
> +define MINIDLNA_INSTALL_SYSUSERS_HOOK
> + $(INSTALL) -D -m 644 package/minidlna/minidlna_sysusers.conf \
> + $(TARGET_DIR)/usr/lib/sysusers.d/minidlna.conf
> +endef
> +
> +define MINIDLNA_INSTALL_TMPFILES_HOOK
> + $(INSTALL) -D -m 644 package/minidlna/minidlna_tmpfiles.conf \
> + $(TARGET_DIR)/usr/lib/tmpfiles.d/minidlna.conf
> +endef
> +
> +define MINIDLNA_INSTALL_SYSCTL_HOOK
> + $(INSTALL) -D -m 644 package/minidlna/minidlna_sysctl.conf \
> + $(TARGET_DIR)/usr/lib/sysctl.d/20-minidlna.conf
> +endef
> +
> +ifeq ($(BR2_INIT_SYSTEMD),y)
> +MINIDLNA_POST_INSTALL_TARGET_HOOKS += \
> + MINIDLNA_INSTALL_CONF_HOOK \
This hook could be run even if init is not systemd, no?
> + MINIDLNA_INSTALL_SYSUSERS_HOOK \
> + MINIDLNA_INSTALL_TMPFILES_HOOK \
> + MINIDLNA_INSTALL_SYSCTL_HOOK
Maybe you could put all systemd stuff in 1 and single hook.
> +endif
> +
> +define MINIDLNA_INSTALL_INIT_SYSTEMD
> + $(INSTALL) -D -m 644 package/minidlna/minidlna.service \
> + $(TARGET_DIR)/lib/systemd/system/minidlna.service
> +endef
> +
> $(eval $(autotools-package))
> diff --git a/package/minidlna/minidlna.service b/package/minidlna/minidlna.service
> new file mode 100644
> index 0000000..45b72f0
> --- /dev/null
> +++ b/package/minidlna/minidlna.service
> @@ -0,0 +1,12 @@
> +[Unit]
> +Description=minidlna server
> +After=network.target
> +
> +[Service]
> +User=minidlna
> +Type=forking
> +ExecStart=/usr/sbin/minidlnad -P /run/minidlna/minidlna.pid
> +PIDFile=/run/minidlna/minidlna.pid
> +
> +[Install]
> +WantedBy=multi-user.target
> diff --git a/package/minidlna/minidlna_sysctl.conf b/package/minidlna/minidlna_sysctl.conf
> new file mode 100644
> index 0000000..0745b37
> --- /dev/null
> +++ b/package/minidlna/minidlna_sysctl.conf
> @@ -0,0 +1 @@
> +fs.inotify.max_user_watches = 65536
> diff --git a/package/minidlna/minidlna_sysusers.conf b/package/minidlna/minidlna_sysusers.conf
> new file mode 100644
> index 0000000..1dc06f3
> --- /dev/null
> +++ b/package/minidlna/minidlna_sysusers.conf
> @@ -0,0 +1 @@
> +u minidlna - "DLNA server"
> diff --git a/package/minidlna/minidlna_tmpfiles.conf b/package/minidlna/minidlna_tmpfiles.conf
> new file mode 100644
> index 0000000..a6e66e7
> --- /dev/null
> +++ b/package/minidlna/minidlna_tmpfiles.conf
> @@ -0,0 +1,3 @@
> +d /var/run/minidlna 0755 minidlna minidlna -
> +d /var/cache/minidlna 0700 minidlna minidlna -
> +d /var/log/minidlna 0755 minidlna minidlna -
> --
> 2.2.1
>
[1] http://nightly.buildroot.org/manual.html#customize-users
Regards,
--
Samuel
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 09/16] package/minidlna: improve systemd support
2015-02-02 21:12 ` Samuel Martin
@ 2015-02-02 21:30 ` Maxim Mikityanskiy
2015-02-02 23:22 ` Samuel Martin
2015-02-03 9:10 ` Arnout Vandecappelle
0 siblings, 2 replies; 60+ messages in thread
From: Maxim Mikityanskiy @ 2015-02-02 21:30 UTC (permalink / raw)
To: buildroot
Hi Samuel,
2015-02-02 23:12 GMT+02:00 Samuel Martin <s.martin49@gmail.com>:
> Hi Maxim,
>
> On Mon, Jan 19, 2015 at 5:14 PM, Maxim Mikityanskiy <maxtram95@gmail.com> wrote:
>> Support running minidlna in system-wide mode using systemd:
>>
>> 1. Set --with-db-path and --with-log-path configure options to make
>> default minidlna directories comply with FHS.
>>
>> 2. Install suitable minidlna.conf for system-wide mode.
>>
>> 3. Install sysctl.d config file to increase inotify watches count.
>>
>> 4. Install tmpfiles.d config file to mkdir and chmod necessary
>> directories for minidlna running in system-wide mode.
>>
>> 5. Install sysusers.d config file to create minidlna user when using
>> systemd.
>
> To make minidlna compliant with non-systemd ssytem, you should add the
> user using _USERS infra [1].
There were two reasons I preferred sysusers over _USERS. At first, my
patch only adds systemd unit file and doesn't add initscript for
SysVinit-based systems. So minidlna user will be useless on
non-systemd systems. At second, I've noticed that _USERS create users
with UID >= 1000. UIDs < 1000 are reserved for system users, and UIDs
>= 1000 are for real users. Systemd-sysusers, however, creates users
with UID < 1000. I think minidlna user should have UID < 1000. So
should I really replace sysusers with _USERS for creating minidlna
user here?
>>
>> 6. Install minidlna.service for systemd.
>>
>> Note: User=minidlna should be set in minidlna.service, not in
>> minidlna.conf, because minidlna is unable to drop privileges correctly
>> by itself: it does not get any privileges provided by groups of minidlna
>> user. Systemd drops privileges correctly in that case.
>>
>> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
>> ---
>> package/minidlna/minidlna.conf | 74 +++++++++++++++++++++++++++++++++
>> package/minidlna/minidlna.mk | 37 +++++++++++++++++
>> package/minidlna/minidlna.service | 12 ++++++
>> package/minidlna/minidlna_sysctl.conf | 1 +
>> package/minidlna/minidlna_sysusers.conf | 1 +
>> package/minidlna/minidlna_tmpfiles.conf | 3 ++
>> 6 files changed, 128 insertions(+)
>> create mode 100644 package/minidlna/minidlna.conf
>> create mode 100644 package/minidlna/minidlna.service
>> create mode 100644 package/minidlna/minidlna_sysctl.conf
>> create mode 100644 package/minidlna/minidlna_sysusers.conf
>> create mode 100644 package/minidlna/minidlna_tmpfiles.conf
>>
>> diff --git a/package/minidlna/minidlna.conf b/package/minidlna/minidlna.conf
>> new file mode 100644
>> index 0000000..9e4fbc9
>> --- /dev/null
>> +++ b/package/minidlna/minidlna.conf
>> @@ -0,0 +1,74 @@
>> +# port for HTTP (descriptions, SOAP, media transfer) traffic
>> +port=8200
>> +
>> +# network interfaces to serve, comma delimited
>> +#network_interface=eth0
>> +
>> +# set this to the directory you want scanned.
>> +# * if you want multiple directories, you can have multiple media_dir= lines
>> +# * if you want to restrict a media_dir to specific content types, you
>> +# can prepend the types, followed by a comma, to the directory:
>> +# + "A" for audio (eg. media_dir=A,/home/jmaggard/Music)
>> +# + "V" for video (eg. media_dir=V,/home/jmaggard/Videos)
>> +# + "P" for images (eg. media_dir=P,/home/jmaggard/Pictures)
>> +# + "PV" for pictures and video (eg. media_dir=PV,/home/jmaggard/digital_camera)
>> +#media_dir=/home
>> +
>> +# set this to merge all media_dir base contents into the root container
>> +# note: the default is no
>> +#merge_media_dirs=no
>> +
>> +# set this if you want to customize the name that shows up on your clients
>> +friendly_name=Buildroot DLNA Server
>> +
>> +# set this to change the verbosity of the information that is logged
>> +# each section can use a different level: off, fatal, error, warn, info, or debug
>> +#log_level=general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=warn
>> +
>> +# this should be a list of file names to check for when searching for album art
>> +# note: names should be delimited with a forward slash ("/")
>> +album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg/AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg
>> +
>> +# set this to no to disable inotify monitoring to automatically discover new files
>> +# note: the default is yes
>> +inotify=yes
>> +
>> +# set this to yes to enable support for streaming .jpg and .mp3 files to a TiVo supporting HMO
>> +enable_tivo=no
>> +
>> +# set this to strictly adhere to DLNA standards.
>> +# * This will allow server-side downscaling of very large JPEG images,
>> +# which may hurt JPEG serving performance on (at least) Sony DLNA products.
>> +strict_dlna=no
>> +
>> +# default presentation url is http address on port 80
>> +#presentation_url=http://www.mylan/index.php
>> +
>> +# notify interval in seconds. default is 895 seconds.
>> +notify_interval=900
>> +
>> +# serial and model number the daemon will report to clients
>> +# in its XML description
>> +serial=12345678
>> +model_number=1
>> +
>> +# specify the path to the MiniSSDPd socket
>> +#minissdpdsocket=/var/run/minissdpd.sock
>> +
>> +# use different container as root of the tree
>> +# possible values:
>> +# + "." - use standard container (this is the default)
>> +# + "B" - "Browse Directory"
>> +# + "M" - "Music"
>> +# + "V" - "Video"
>> +# + "P" - "Pictures"
>> +# + Or, you can specify the ObjectID of your desired root container (eg. 1$F for Music/Playlists)
>> +# if you specify "B" and client device is audio-only then "Music/Folders" will be used as root
>> +#root_container=.
>> +
>> +# always force SortCriteria to this value, regardless of the SortCriteria passed by the client
>> +#force_sort_criteria=+upnp:class,+upnp:originalTrackNumber,+dc:title
>> +
>> +# maximum number of simultaneous connections
>> +# note: many clients open several simultaneous connections while streaming
>> +#max_connections=50
>
> We usually prefer minmal default configuration files, with only
> necessary stuff (i.e. no comments), letting the user browsing the
> package manual to set all config he/she needs.
OK, I'll consider it. This config has lots of comments because it's
based on default one shipped with package.
>> diff --git a/package/minidlna/minidlna.mk b/package/minidlna/minidlna.mk
>> index bcbe5fa..fcc9d06 100644
>> --- a/package/minidlna/minidlna.mk
>> +++ b/package/minidlna/minidlna.mk
>> @@ -24,4 +24,41 @@ MINIDLNA_CONF_OPTS = \
>> --disable-static
>> endif
>>
>> +MINIDLNA_CONF_OPTS += \
>> + --with-db-path=/var/cache/minidlna \
>> + --with-log-path=/var/log/minidlna
>> +
>> +define MINIDLNA_INSTALL_CONF_HOOK
>> + $(INSTALL) -D -m 644 package/minidlna/minidlna.conf \
>> + $(TARGET_DIR)/etc/minidlna.conf
>> +endef
>> +
>> +define MINIDLNA_INSTALL_SYSUSERS_HOOK
>> + $(INSTALL) -D -m 644 package/minidlna/minidlna_sysusers.conf \
>> + $(TARGET_DIR)/usr/lib/sysusers.d/minidlna.conf
>> +endef
>> +
>> +define MINIDLNA_INSTALL_TMPFILES_HOOK
>> + $(INSTALL) -D -m 644 package/minidlna/minidlna_tmpfiles.conf \
>> + $(TARGET_DIR)/usr/lib/tmpfiles.d/minidlna.conf
>> +endef
>> +
>> +define MINIDLNA_INSTALL_SYSCTL_HOOK
>> + $(INSTALL) -D -m 644 package/minidlna/minidlna_sysctl.conf \
>> + $(TARGET_DIR)/usr/lib/sysctl.d/20-minidlna.conf
>> +endef
>> +
>> +ifeq ($(BR2_INIT_SYSTEMD),y)
>> +MINIDLNA_POST_INSTALL_TARGET_HOOKS += \
>> + MINIDLNA_INSTALL_CONF_HOOK \
>
> This hook could be run even if init is not systemd, no?
It could be run, but it will be useless because there is no initscript
for non-systemd systems anyway. Maybe I should resend this patch with
initscript added.
>> + MINIDLNA_INSTALL_SYSUSERS_HOOK \
>> + MINIDLNA_INSTALL_TMPFILES_HOOK \
>> + MINIDLNA_INSTALL_SYSCTL_HOOK
>
> Maybe you could put all systemd stuff in 1 and single hook.
>
>> +endif
>> +
>> +define MINIDLNA_INSTALL_INIT_SYSTEMD
>> + $(INSTALL) -D -m 644 package/minidlna/minidlna.service \
>> + $(TARGET_DIR)/lib/systemd/system/minidlna.service
>> +endef
>> +
>> $(eval $(autotools-package))
>> diff --git a/package/minidlna/minidlna.service b/package/minidlna/minidlna.service
>> new file mode 100644
>> index 0000000..45b72f0
>> --- /dev/null
>> +++ b/package/minidlna/minidlna.service
>> @@ -0,0 +1,12 @@
>> +[Unit]
>> +Description=minidlna server
>> +After=network.target
>> +
>> +[Service]
>> +User=minidlna
>> +Type=forking
>> +ExecStart=/usr/sbin/minidlnad -P /run/minidlna/minidlna.pid
>> +PIDFile=/run/minidlna/minidlna.pid
>> +
>> +[Install]
>> +WantedBy=multi-user.target
>> diff --git a/package/minidlna/minidlna_sysctl.conf b/package/minidlna/minidlna_sysctl.conf
>> new file mode 100644
>> index 0000000..0745b37
>> --- /dev/null
>> +++ b/package/minidlna/minidlna_sysctl.conf
>> @@ -0,0 +1 @@
>> +fs.inotify.max_user_watches = 65536
>> diff --git a/package/minidlna/minidlna_sysusers.conf b/package/minidlna/minidlna_sysusers.conf
>> new file mode 100644
>> index 0000000..1dc06f3
>> --- /dev/null
>> +++ b/package/minidlna/minidlna_sysusers.conf
>> @@ -0,0 +1 @@
>> +u minidlna - "DLNA server"
>> diff --git a/package/minidlna/minidlna_tmpfiles.conf b/package/minidlna/minidlna_tmpfiles.conf
>> new file mode 100644
>> index 0000000..a6e66e7
>> --- /dev/null
>> +++ b/package/minidlna/minidlna_tmpfiles.conf
>> @@ -0,0 +1,3 @@
>> +d /var/run/minidlna 0755 minidlna minidlna -
>> +d /var/cache/minidlna 0700 minidlna minidlna -
>> +d /var/log/minidlna 0755 minidlna minidlna -
>> --
>> 2.2.1
>>
>
> [1] http://nightly.buildroot.org/manual.html#customize-users
>
> Regards,
>
> --
> Samuel
Cheers,
Maxim
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 10/16] package/transmission: improve systemd support
2015-01-19 16:14 ` [Buildroot] [PATCH 10/16] package/transmission: " Maxim Mikityanskiy
@ 2015-02-02 22:09 ` Samuel Martin
2015-02-03 9:11 ` Arnout Vandecappelle
2015-07-14 13:51 ` [Buildroot] [PATCHv2] transmission: " Aurélien Chabot
2015-07-19 22:18 ` [Buildroot] [PATCH v3] " Aurélien Chabot
2 siblings, 1 reply; 60+ messages in thread
From: Samuel Martin @ 2015-02-02 22:09 UTC (permalink / raw)
To: buildroot
Hi Maxim,
On Mon, Jan 19, 2015 at 5:14 PM, Maxim Mikityanskiy <maxtram95@gmail.com> wrote:
> Support running transmission-daemon in system-wide mode using systemd:
>
> 1. Pass --with-systemd-daemon to configure script if systemd is enabled.
>
> 2. Install sysctl.d config file to increase send and receive buffer
> sizes.
>
> 3. Install tmpfiles.d config file to create transmission config
> directory.
>
> 4. Install sysusers.d config file to create transmission user when using
> systemd. Create transmission user when not using systemd.
>
> 5. Install transmission-daemon.service for systemd.
>
> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
> ---
> package/transmission/transmission-daemon.service | 12 +++++++
> package/transmission/transmission.mk | 45 ++++++++++++++++++++++++
> package/transmission/transmission_sysctl.conf | 2 ++
> package/transmission/transmission_sysusers.conf | 1 +
> package/transmission/transmission_tmpfiles.conf | 1 +
> 5 files changed, 61 insertions(+)
> create mode 100644 package/transmission/transmission-daemon.service
> create mode 100644 package/transmission/transmission_sysctl.conf
> create mode 100644 package/transmission/transmission_sysusers.conf
> create mode 100644 package/transmission/transmission_tmpfiles.conf
>
> diff --git a/package/transmission/transmission-daemon.service b/package/transmission/transmission-daemon.service
> new file mode 100644
> index 0000000..4e7c98b
> --- /dev/null
> +++ b/package/transmission/transmission-daemon.service
> @@ -0,0 +1,12 @@
> +[Unit]
> +Description=Transmission BitTorrent Daemon
> +After=network.target
> +
> +[Service]
> +User=transmission
> +Type=notify
> +ExecStart=/usr/bin/transmission-daemon -f --log-error -g /var/lib/transmission/config
> +ExecReload=/bin/kill -s HUP $MAINPID
> +
> +[Install]
> +WantedBy=multi-user.target
> diff --git a/package/transmission/transmission.mk b/package/transmission/transmission.mk
> index b8a5c42..b5b9c8b 100644
> --- a/package/transmission/transmission.mk
> +++ b/package/transmission/transmission.mk
> @@ -36,11 +36,56 @@ endif
> ifeq ($(BR2_PACKAGE_TRANSMISSION_DAEMON),y)
> TRANSMISSION_CONF_OPTS += --enable-daemon
>
> +ifeq ($(BR2_PACKAGE_SYSTEMD),y)
> + TRANSMISSION_DEPENDENCIES += systemd
> + TRANSMISSION_CONF_OPTS += --with-systemd-daemon
We usually like when option are symetrical, so here, just add:
<snip>
else
TRANSMISSION_CONF_OPTS += --without-systemd-daemon
</snip>
Note that, we usually don't indent variable assignation ;)
> +endif
> +
> +ifeq ($(BR2_INIT_SYSTEMD),)
> +define TRANSMISSION_USERS
> + transmission -1 transmission -1 * /var/lib/transmission - transmission Transmission Daemon
> +endef
> +endif
> +
> define TRANSMISSION_INSTALL_INIT_SYSV
> $(INSTALL) -m 0755 -D package/transmission/S92transmission \
> $(TARGET_DIR)/etc/init.d/S92transmission
> endef
>
> +define TRANSMISSION_INSTALL_INIT_SYSTEMD
> + $(INSTALL) -D -m 644 package/transmission/transmission-daemon.service \
> + $(TARGET_DIR)/lib/systemd/system/transmission-daemon.service
> + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
> + ln -fs /lib/systemd/system/transmission-daemon.service \
> + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/transmission-daemon.service
> +
> + mkdir -p $(TARGET_DIR)/var/lib/transmission/config
> +endef
> +
> +define TRANSMISSION_INSTALL_SYSCTL_HOOK
> + $(INSTALL) -D -m 644 package/transmission/transmission_sysctl.conf \
> + $(TARGET_DIR)/usr/lib/sysctl.d/20-transmission.conf
> +endef
> +
> +TRANSMISSION_POST_INSTALL_TARGET_HOOKS += \
> + TRANSMISSION_INSTALL_SYSCTL_HOOK
> +
> +define TRANSMISSION_INSTALL_TMPFILES_HOOK
> + $(INSTALL) -D -m 644 package/transmission/transmission_tmpfiles.conf \
> + $(TARGET_DIR)/usr/lib/tmpfiles.d/transmission.conf
> +endef
> +
> +TRANSMISSION_POST_INSTALL_TARGET_HOOKS += \
> + TRANSMISSION_INSTALL_TMPFILES_HOOK
> +
> +define TRANSMISSION_INSTALL_SYSUSERS_HOOK
> + $(INSTALL) -D -m 644 package/transmission/transmission_sysusers.conf \
> + $(TARGET_DIR)/usr/lib/sysusers.d/transmission.conf
> +endef
> +
> +TRANSMISSION_POST_INSTALL_TARGET_HOOKS += \
> + TRANSMISSION_INSTALL_SYSUSERS_HOOK
The 3 above hooks are for systemd only, no?
If yes, put them all together in a single hook only added to the
TRANSMISSION_POST_INSTALL_TARGET_HOOKS when init is systemd.
> +
> else
> TRANSMISSION_CONF_OPTS += --disable-daemon
> endif
> diff --git a/package/transmission/transmission_sysctl.conf b/package/transmission/transmission_sysctl.conf
> new file mode 100644
> index 0000000..7862332
> --- /dev/null
> +++ b/package/transmission/transmission_sysctl.conf
> @@ -0,0 +1,2 @@
> +net.core.wmem_max = 1048576
> +net.core.rmem_max = 4194304
> diff --git a/package/transmission/transmission_sysusers.conf b/package/transmission/transmission_sysusers.conf
> new file mode 100644
> index 0000000..09396d4
> --- /dev/null
> +++ b/package/transmission/transmission_sysusers.conf
> @@ -0,0 +1 @@
> +u transmission - "Transmission daemon" /var/lib/transmission
> diff --git a/package/transmission/transmission_tmpfiles.conf b/package/transmission/transmission_tmpfiles.conf
> new file mode 100644
> index 0000000..e40b94a
> --- /dev/null
> +++ b/package/transmission/transmission_tmpfiles.conf
> @@ -0,0 +1 @@
> +d /var/lib/transmission/config 0700 transmission users -
> --
> 2.2.1
>
Regards,
--
Samuel
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 12/16] package/samba: add systemd support
2015-01-19 16:14 ` [Buildroot] [PATCH 12/16] package/samba: add systemd support Maxim Mikityanskiy
@ 2015-02-02 22:38 ` Samuel Martin
2015-07-13 20:47 ` Maxime Hadjinlian
0 siblings, 1 reply; 60+ messages in thread
From: Samuel Martin @ 2015-02-02 22:38 UTC (permalink / raw)
To: buildroot
Hi Maxim,
On Mon, Jan 19, 2015 at 5:14 PM, Maxim Mikityanskiy <maxtram95@gmail.com> wrote:
> Add {smbd,nmbd,winbindd}.service files for systemd. Add tmpfiles.d
> config file to create samba directories.
>
> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
> ---
> package/samba/nmbd.service | 12 ++++++++++++
> package/samba/samba.mk | 23 +++++++++++++++++++++++
> package/samba/samba_tmpfiles.conf | 4 ++++
> package/samba/smbd.service | 12 ++++++++++++
> package/samba/winbindd.service | 12 ++++++++++++
> 5 files changed, 63 insertions(+)
> create mode 100644 package/samba/nmbd.service
> create mode 100644 package/samba/samba_tmpfiles.conf
> create mode 100644 package/samba/smbd.service
> create mode 100644 package/samba/winbindd.service
>
> diff --git a/package/samba/nmbd.service b/package/samba/nmbd.service
> new file mode 100644
> index 0000000..6e241ea
> --- /dev/null
> +++ b/package/samba/nmbd.service
> @@ -0,0 +1,12 @@
> +[Unit]
> +Description=Samba NetBIOS name server
> +After=network.target
> +
> +[Service]
> +Type=forking
> +PIDFile=/var/run/samba/nmbd.pid
> +ExecStart=/usr/sbin/nmbd -D
> +ExecReload=/bin/kill -HUP $MAINPID
> +
> +[Install]
> +WantedBy=multi-user.target
> diff --git a/package/samba/samba.mk b/package/samba/samba.mk
> index 31ad644..5a11ebe 100644
> --- a/package/samba/samba.mk
> +++ b/package/samba/samba.mk
> @@ -182,6 +182,29 @@ endef
>
> SAMBA_POST_INSTALL_TARGET_HOOKS += SAMBA_INSTALL_CONFIG
>
> +ifeq ($(BR2_INIT_SYSTEMD),y)
> +define SAMBA_INSTALL_TMPFILES_HOOK
> + $(INSTALL) -D -m 644 package/samba/samba_tmpfiles.conf \
> + $(TARGET_DIR)/usr/lib/tmpfiles.d/samba.conf
> +endef
> +
> +SAMBA_POST_INSTALL_TARGET_HOOKS += SAMBA_INSTALL_TMPFILES_HOOK
> +endif
> +
> +define SAMBA_INSTALL_INIT_SYSTEMD
> + $(INSTALL) -D -m 644 package/samba/smbd.service \
> + $(TARGET_DIR)/lib/systemd/system/smbd.service
smbd can be disabled, so its *.service installation should be optional
WRT its option.
> + $(INSTALL) -D -m 644 package/samba/nmbd.service \
> + $(TARGET_DIR)/lib/systemd/system/nmbd.service
ditto for nmbd.
> + $(if $(BR2_PACKAGE_SAMBA_WINBINDD),$(INSTALL) -D -m 644 package/samba/winbindd.service $(TARGET_DIR)/lib/systemd/system/winbindd.service)
> + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
> + ln -fs /lib/systemd/system/smbd.service \
> + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/smbd.service
ditto
> + ln -fs /lib/systemd/system/nmbd.service \
> + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/nmbd.service
ditto
> + $(if $(BR2_PACKAGE_SAMBA_WINBINDD),ln -fs /lib/systemd/system/winbindd.service $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/winbindd.service)
> +endef
> +
> define SAMBA_INSTALL_INIT_SYSV
> $(INSTALL) -m 0755 -D package/samba/S91smb $(TARGET_DIR)/etc/init.d/S91smb
> endef
> diff --git a/package/samba/samba_tmpfiles.conf b/package/samba/samba_tmpfiles.conf
> new file mode 100644
> index 0000000..e265f75
> --- /dev/null
> +++ b/package/samba/samba_tmpfiles.conf
> @@ -0,0 +1,4 @@
> +d /var/cache/samba 0755 root root -
> +d /var/log/samba 0755 root root -
> +d /var/lock/samba 0755 root root -
> +d /var/run/samba 0755 root root -
> diff --git a/package/samba/smbd.service b/package/samba/smbd.service
> new file mode 100644
> index 0000000..64abf56
> --- /dev/null
> +++ b/package/samba/smbd.service
> @@ -0,0 +1,12 @@
> +[Unit]
> +Description=Samba SMB/CIFS server
> +After=network.target nmbd.service winbindd.service
> +
> +[Service]
> +Type=forking
> +PIDFile=/var/run/samba/smbd.pid
> +ExecStart=/usr/sbin/smbd -D
> +ExecReload=/bin/kill -HUP $MAINPID
> +
> +[Install]
> +WantedBy=multi-user.target
> diff --git a/package/samba/winbindd.service b/package/samba/winbindd.service
> new file mode 100644
> index 0000000..214c17e
> --- /dev/null
> +++ b/package/samba/winbindd.service
> @@ -0,0 +1,12 @@
> +[Unit]
> +Description=Samba Winbind daemon
> +After=network.target nmbd.service
> +
> +[Service]
> +Type=forking
> +PIDFile=/var/run/samba/winbindd.pid
> +ExecStart=/usr/sbin/winbindd -D
> +ExecReload=/bin/kill -HUP $MAINPID
> +
> +[Install]
> +WantedBy=multi-user.target
> --
> 2.2.1
Regards,
--
Samuel
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 11/16] package/samba: use FHS dirs
2015-01-19 16:14 ` [Buildroot] [PATCH 11/16] package/samba: use FHS dirs Maxim Mikityanskiy
@ 2015-02-02 22:49 ` Samuel Martin
2015-04-06 9:45 ` Thomas Petazzoni
1 sibling, 0 replies; 60+ messages in thread
From: Samuel Martin @ 2015-02-02 22:49 UTC (permalink / raw)
To: buildroot
On Mon, Jan 19, 2015 at 5:14 PM, Maxim Mikityanskiy <maxtram95@gmail.com> wrote:
> Clean up system directories by making samba conform to FHS and by using
> subdirectories e.g. /var/log/samba and /var/run/samba instead of
> /var/log and /var/run.
>
> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
> ---
> package/samba/S91smb | 5 +++--
> package/samba/samba.mk | 10 +++++-----
> 2 files changed, 8 insertions(+), 7 deletions(-)
>
> diff --git a/package/samba/S91smb b/package/samba/S91smb
> index c190771..2e03e82 100755
> --- a/package/samba/S91smb
> +++ b/package/samba/S91smb
> @@ -10,6 +10,7 @@
> mkdir -p /var/cache/samba
> mkdir -p /var/log/samba
> mkdir -p /var/lock/subsys
> +mkdir -p /var/run/samba
>
> RETVAL=0
>
> @@ -33,13 +34,13 @@ stop() {
> echo -n "Shutting down SMB services: "
> kill -9 `pidof smbd`
> RETVAL=$?
> - rm -f /var/run/smbd.pid
> + rm -f /var/run/samba/smbd.pid
> echo "done"
>
> echo -n "Shutting down NMB services: "
> kill -9 `pidof nmbd`
> RETVAL2=$?
> - rm -f /var/run/nmbd.pid
> + rm -f /var/run/samba/nmbd.pid
>
> [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] && rm -f /var/lock/subsys/smb
> echo "done"
> diff --git a/package/samba/samba.mk b/package/samba/samba.mk
> index d25e94e..31ad644 100644
> --- a/package/samba/samba.mk
> +++ b/package/samba/samba.mk
> @@ -33,11 +33,11 @@ SAMBA_CONF_ENV = \
> $(if $(BR2_PACKAGE_SAMBA_AVAHI),AVAHI_LIBS=-pthread)
>
> SAMBA_CONF_OPTS = \
> - --with-piddir=/var/run \
> - --with-lockdir=/var/lock \
> - --with-logfilebase=/var/log \
> - --with-configdir=/etc/samba \
> - --with-privatedir=/etc/samba \
> + --with-fhs \
> + --with-piddir=/var/run/samba \
> + --with-lockdir=/var/cache/samba \
> + --with-ncalrpcdir=/var/run/ncalrpc \
> + --with-nmbdsocketdir=/var/run/nmbd \
> \
> --disable-cups \
> --enable-shared-libs \
> --
> 2.2.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Regards,
--
Samuel
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 15/16] package/vim: add default vimrc
2015-01-19 16:14 ` [Buildroot] [PATCH 15/16] package/vim: add default vimrc Maxim Mikityanskiy
@ 2015-02-02 23:00 ` Samuel Martin
2015-07-10 18:24 ` Thomas Petazzoni
1 sibling, 0 replies; 60+ messages in thread
From: Samuel Martin @ 2015-02-02 23:00 UTC (permalink / raw)
To: buildroot
Hi Maxim,
On Mon, Jan 19, 2015 at 5:14 PM, Maxim Mikityanskiy <maxtram95@gmail.com> wrote:
> Support /etc/vim/vimrc as system-wide vimrc file. Add some default
> sample vimrc.
>
> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
> ---
> package/vim/vim.mk | 11 +++++++++++
> package/vim/vimrc | 14 ++++++++++++++
> 2 files changed, 25 insertions(+)
> create mode 100644 package/vim/vimrc
>
> diff --git a/package/vim/vim.mk b/package/vim/vim.mk
> index da84d14..992e41b 100644
> --- a/package/vim/vim.mk
> +++ b/package/vim/vim.mk
> @@ -28,6 +28,12 @@ VIM_CONF_OPTS = --with-tlib=ncurses --enable-gui=no --without-x
> VIM_LICENSE = Charityware
> VIM_LICENSE_FILES = README.txt
>
> +define VIM_VIMRC_HOOK
> + echo '#define SYS_VIMRC_FILE "/etc/vim/vimrc"' >> $(@D)/src/feature.h
> +endef
> +
> +VIM_PRE_CONFIGURE_HOOKS += VIM_VIMRC_HOOK
> +
> define VIM_INSTALL_TARGET_CMDS
> cd $(@D)/src; \
> $(MAKE) DESTDIR=$(TARGET_DIR) installvimbin; \
> @@ -51,6 +57,11 @@ define VIM_INSTALL_VI_SYMLINK
> endef
> VIM_POST_INSTALL_TARGET_HOOKS += VIM_INSTALL_VI_SYMLINK
>
> +define VIM_INSTALL_VIMRC
> + $(INSTALL) -D -m 644 package/vim/vimrc $(TARGET_DIR)/etc/vim/vimrc
> +endef
> +VIM_POST_INSTALL_TARGET_HOOKS += VIM_INSTALL_VIMRC
> +
> ifeq ($(BR2_PACKAGE_VIM_RUNTIME),y)
> VIM_POST_INSTALL_TARGET_HOOKS += VIM_INSTALL_RUNTIME_CMDS
> VIM_POST_INSTALL_TARGET_HOOKS += VIM_REMOVE_DOCS
> diff --git a/package/vim/vimrc b/package/vim/vimrc
> new file mode 100644
> index 0000000..bfc2087
> --- /dev/null
> +++ b/package/vim/vimrc
> @@ -0,0 +1,14 @@
> +set nocompatible
> +
> +set ai
> +set background=dark
> +set backspace=indent,eol,start
> +set nomodeline
> +set ruler
> +
> +set ignorecase smartcase incsearch hlsearch
> +
> +syntax on
> +
> +filetype plugin on
> +filetype indent on
> --
> 2.2.1
>
I'm usually not so fond of this kind fo config... just for comfort
IMHO ;-) but since this one is fairly short:
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
--
Samuel
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 09/16] package/minidlna: improve systemd support
2015-02-02 21:30 ` Maxim Mikityanskiy
@ 2015-02-02 23:22 ` Samuel Martin
2015-02-03 9:10 ` Arnout Vandecappelle
1 sibling, 0 replies; 60+ messages in thread
From: Samuel Martin @ 2015-02-02 23:22 UTC (permalink / raw)
To: buildroot
Maxim,
On Mon, Feb 2, 2015 at 10:30 PM, Maxim Mikityanskiy <maxtram95@gmail.com> wrote:
> Hi Samuel,
>
> 2015-02-02 23:12 GMT+02:00 Samuel Martin <s.martin49@gmail.com>:
>> Hi Maxim,
>>
>> On Mon, Jan 19, 2015 at 5:14 PM, Maxim Mikityanskiy <maxtram95@gmail.com> wrote:
>>> Support running minidlna in system-wide mode using systemd:
>>>
>>> 1. Set --with-db-path and --with-log-path configure options to make
>>> default minidlna directories comply with FHS.
>>>
>>> 2. Install suitable minidlna.conf for system-wide mode.
>>>
>>> 3. Install sysctl.d config file to increase inotify watches count.
>>>
>>> 4. Install tmpfiles.d config file to mkdir and chmod necessary
>>> directories for minidlna running in system-wide mode.
>>>
>>> 5. Install sysusers.d config file to create minidlna user when using
>>> systemd.
>>
>> To make minidlna compliant with non-systemd ssytem, you should add the
>> user using _USERS infra [1].
>
> There were two reasons I preferred sysusers over _USERS. At first, my
> patch only adds systemd unit file and doesn't add initscript for
> SysVinit-based systems.
Indeed, but if we are adding initscript for systemd, why not adding it
for sysV as well? ;)
> So minidlna user will be useless on
> non-systemd systems. At second, I've noticed that _USERS create users
> with UID >= 1000. UIDs < 1000 are reserved for system users, and UIDs
>>= 1000 are for real users.
This more a convention, that something enforced by systemd itself or
any program runs as daemon.
> Systemd-sysusers, however, creates users
> with UID < 1000. I think minidlna user should have UID < 1000. So
> should I really replace sysusers with _USERS for creating minidlna
> user here?
The _USERS infra will pick-up a uid >=1000 only if you let the infra
pic-up a uid, if you set it, you can set anything you want ;-)
>
>>>
>>> 6. Install minidlna.service for systemd.
>>>
>>> Note: User=minidlna should be set in minidlna.service, not in
>>> minidlna.conf, because minidlna is unable to drop privileges correctly
>>> by itself: it does not get any privileges provided by groups of minidlna
>>> user. Systemd drops privileges correctly in that case.
>>>
>>> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
>>> ---
[...]
>>
>> We usually prefer minmal default configuration files, with only
>> necessary stuff (i.e. no comments), letting the user browsing the
>> package manual to set all config he/she needs.
>
> OK, I'll consider it. This config has lots of comments because it's
> based on default one shipped with package.
>
>>> diff --git a/package/minidlna/minidlna.mk b/package/minidlna/minidlna.mk
>>> index bcbe5fa..fcc9d06 100644
>>> --- a/package/minidlna/minidlna.mk
>>> +++ b/package/minidlna/minidlna.mk
>>> @@ -24,4 +24,41 @@ MINIDLNA_CONF_OPTS = \
>>> --disable-static
>>> endif
>>>
>>> +MINIDLNA_CONF_OPTS += \
>>> + --with-db-path=/var/cache/minidlna \
>>> + --with-log-path=/var/log/minidlna
>>> +
>>> +define MINIDLNA_INSTALL_CONF_HOOK
>>> + $(INSTALL) -D -m 644 package/minidlna/minidlna.conf \
>>> + $(TARGET_DIR)/etc/minidlna.conf
>>> +endef
>>> +
>>> +define MINIDLNA_INSTALL_SYSUSERS_HOOK
>>> + $(INSTALL) -D -m 644 package/minidlna/minidlna_sysusers.conf \
>>> + $(TARGET_DIR)/usr/lib/sysusers.d/minidlna.conf
>>> +endef
>>> +
>>> +define MINIDLNA_INSTALL_TMPFILES_HOOK
>>> + $(INSTALL) -D -m 644 package/minidlna/minidlna_tmpfiles.conf \
>>> + $(TARGET_DIR)/usr/lib/tmpfiles.d/minidlna.conf
>>> +endef
>>> +
>>> +define MINIDLNA_INSTALL_SYSCTL_HOOK
>>> + $(INSTALL) -D -m 644 package/minidlna/minidlna_sysctl.conf \
>>> + $(TARGET_DIR)/usr/lib/sysctl.d/20-minidlna.conf
>>> +endef
>>> +
>>> +ifeq ($(BR2_INIT_SYSTEMD),y)
>>> +MINIDLNA_POST_INSTALL_TARGET_HOOKS += \
>>> + MINIDLNA_INSTALL_CONF_HOOK \
>>
>> This hook could be run even if init is not systemd, no?
>
> It could be run, but it will be useless because there is no initscript
> for non-systemd systems anyway. Maybe I should resend this patch with
> initscript added.
I think so; so when sysV initscript will be added, the conf will be in
place already.
>
>>> + MINIDLNA_INSTALL_SYSUSERS_HOOK \
>>> + MINIDLNA_INSTALL_TMPFILES_HOOK \
>>> + MINIDLNA_INSTALL_SYSCTL_HOOK
>>
>> Maybe you could put all systemd stuff in 1 and single hook.
>>
>>> +endif
>>> +
>>> +define MINIDLNA_INSTALL_INIT_SYSTEMD
>>> + $(INSTALL) -D -m 644 package/minidlna/minidlna.service \
>>> + $(TARGET_DIR)/lib/systemd/system/minidlna.service
>>> +endef
>>> +
>>> $(eval $(autotools-package))
[...]
Regards,
--
Samuel
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 09/16] package/minidlna: improve systemd support
2015-02-02 21:30 ` Maxim Mikityanskiy
2015-02-02 23:22 ` Samuel Martin
@ 2015-02-03 9:10 ` Arnout Vandecappelle
1 sibling, 0 replies; 60+ messages in thread
From: Arnout Vandecappelle @ 2015-02-03 9:10 UTC (permalink / raw)
To: buildroot
On 02/02/15 22:30, Maxim Mikityanskiy wrote:
>> To make minidlna compliant with non-systemd ssytem, you should add the
>> > user using _USERS infra [1].
> There were two reasons I preferred sysusers over _USERS.
I think that where possible, we should use sysusers on a systemd system and
_USERS on a non-systemd system. Perhaps the _USERS infrastructure should be
extended to do this automatically - AFAIK there is no advantage of using a
static user when you use systemd, right? Except of course when the package
requires one specific UID, but IIRC even that can be encoded in the sysusers
configuration, no?
Regards,
Arnout
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 10/16] package/transmission: improve systemd support
2015-02-02 22:09 ` Samuel Martin
@ 2015-02-03 9:11 ` Arnout Vandecappelle
0 siblings, 0 replies; 60+ messages in thread
From: Arnout Vandecappelle @ 2015-02-03 9:11 UTC (permalink / raw)
To: buildroot
On 02/02/15 23:09, Samuel Martin wrote:
> We usually like when option are symetrical, so here, just add:
> <snip>
> else
> TRANSMISSION_CONF_OPTS += --without-systemd-daemon
> </snip>
>
> Note that, we usually don't indent variable assignation ;)
To be more accurate: we normally don't indent the bodies of make conditions.
But the transmission.mk file already violates that principle.
Regards,
Arnout
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 14/16] package/util-linux: add more tool select options
2015-01-19 16:14 ` [Buildroot] [PATCH 14/16] package/util-linux: add more tool select options Maxim Mikityanskiy
2015-01-26 22:11 ` Thomas Petazzoni
@ 2015-02-07 22:00 ` Yann E. MORIN
1 sibling, 0 replies; 60+ messages in thread
From: Yann E. MORIN @ 2015-02-07 22:00 UTC (permalink / raw)
To: buildroot
Maxim, All,
On 2015-01-19 18:14 +0200, Maxim Mikityanskiy spake thusly:
> Add more options to Config.in to allow optionally select or deselect
> util-linux tools.
>
> Also fix s/BR2_PACKAGE_WDCTL/BR2_PACKAGE_UTIL_LINUX_WDCTL/
[--SNIP--]
> -config BR2_PACKAGE_WDCTL
> +config BR2_PACKAGE_UTIL_LINUX_WDCTL
BR2_PACKAGE_WDCTL should have been added to config.in.legacy to provide
backward compatibility with previos .config/defconfig files.
I'll submit a patch for that in a momemnt.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 07/16] package/dropbear: install dropbear.service to correct dir
2015-01-19 16:14 ` [Buildroot] [PATCH 07/16] package/dropbear: install dropbear.service to correct dir Maxim Mikityanskiy
2015-02-02 20:41 ` Samuel Martin
@ 2015-02-23 11:38 ` Thomas Petazzoni
1 sibling, 0 replies; 60+ messages in thread
From: Thomas Petazzoni @ 2015-02-23 11:38 UTC (permalink / raw)
To: buildroot
Dear Maxim Mikityanskiy,
On Mon, 19 Jan 2015 18:14:07 +0200, Maxim Mikityanskiy wrote:
> The place for package-provided systemd units is /lib/systemd/system.
> /etc/systemd/system is for custom units.
> ---
> package/dropbear/dropbear.mk | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
Applied to next, thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 09/16] package/minidlna: improve systemd support
2015-01-19 16:14 ` [Buildroot] [PATCH 09/16] package/minidlna: improve systemd support Maxim Mikityanskiy
2015-02-02 21:12 ` Samuel Martin
@ 2015-03-08 21:52 ` Thomas Petazzoni
1 sibling, 0 replies; 60+ messages in thread
From: Thomas Petazzoni @ 2015-03-08 21:52 UTC (permalink / raw)
To: buildroot
Dear Maxim Mikityanskiy,
On Mon, 19 Jan 2015 18:14:09 +0200, Maxim Mikityanskiy wrote:
> Support running minidlna in system-wide mode using systemd:
>
> 1. Set --with-db-path and --with-log-path configure options to make
> default minidlna directories comply with FHS.
>
> 2. Install suitable minidlna.conf for system-wide mode.
>
> 3. Install sysctl.d config file to increase inotify watches count.
>
> 4. Install tmpfiles.d config file to mkdir and chmod necessary
> directories for minidlna running in system-wide mode.
>
> 5. Install sysusers.d config file to create minidlna user when using
> systemd.
>
> 6. Install minidlna.service for systemd.
>
> Note: User=minidlna should be set in minidlna.service, not in
> minidlna.conf, because minidlna is unable to drop privileges correctly
> by itself: it does not get any privileges provided by groups of minidlna
> user. Systemd drops privileges correctly in that case.
>
> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
I applied another patch adding a systemd service file for minidlna.
Could you rebase this patch on top of the latest Buildroot Git tree?
Thanks,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 06/16] package/dosfstools: add missing symlinks
2015-01-19 16:14 ` [Buildroot] [PATCH 06/16] package/dosfstools: add missing symlinks Maxim Mikityanskiy
2015-02-02 16:22 ` Samuel Martin
@ 2015-03-08 22:04 ` Thomas Petazzoni
1 sibling, 0 replies; 60+ messages in thread
From: Thomas Petazzoni @ 2015-03-08 22:04 UTC (permalink / raw)
To: buildroot
Dear Maxim Mikityanskiy,
On Mon, 19 Jan 2015 18:14:06 +0200, Maxim Mikityanskiy wrote:
> Install alternative symlinks for dosfstools mkfs.fat, fsck.fat and
> fatlabel. Those symlinks are generally installed by make install, but
> buildroot does not use make install for dosfstools, but symlinks should
> be installed anyway.
>
> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
Thanks, I've applied your patch, but I've basically rewritten entirely
the installation logic to use makefile code instead of shell code. See
http://git.buildroot.net/buildroot/commit/?id=cef6a787cad4d5417b8672c8fd4c200bf29655ac.
To be honest, I wonder why dosfstools provides such sub-options to
select which binaries should be installed. The binaries are really
small:
-rwxr-xr-x 1 thomas thomas 40780 mars 8 22:59 fatlabel
-rwxr-xr-x 1 thomas thomas 42816 mars 8 22:59 fsck.fat
-rwxr-xr-x 1 thomas thomas 24432 mars 8 22:59 mkfs.fat
So I believe we could probably just install all of them unconditionally.
But oh, well, this is for another patch.
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 11/16] package/samba: use FHS dirs
2015-01-19 16:14 ` [Buildroot] [PATCH 11/16] package/samba: use FHS dirs Maxim Mikityanskiy
2015-02-02 22:49 ` Samuel Martin
@ 2015-04-06 9:45 ` Thomas Petazzoni
1 sibling, 0 replies; 60+ messages in thread
From: Thomas Petazzoni @ 2015-04-06 9:45 UTC (permalink / raw)
To: buildroot
Dear Maxim Mikityanskiy,
On Mon, 19 Jan 2015 18:14:11 +0200, Maxim Mikityanskiy wrote:
> Clean up system directories by making samba conform to FHS and by using
> subdirectories e.g. /var/log/samba and /var/run/samba instead of
> /var/log and /var/run.
>
> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
> ---
> package/samba/S91smb | 5 +++--
> package/samba/samba.mk | 10 +++++-----
> 2 files changed, 8 insertions(+), 7 deletions(-)
Even though we recently marked the samba package as deprecated, I've
applied this patch.
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 16/16] package/rng-tools: add systemd support for rngd
2015-01-19 16:14 ` [Buildroot] [PATCH 16/16] package/rng-tools: add systemd support for rngd Maxim Mikityanskiy
2015-02-02 17:12 ` Samuel Martin
@ 2015-04-22 20:10 ` Thomas Petazzoni
1 sibling, 0 replies; 60+ messages in thread
From: Thomas Petazzoni @ 2015-04-22 20:10 UTC (permalink / raw)
To: buildroot
Dear Maxim Mikityanskiy,
On Mon, 19 Jan 2015 18:14:16 +0200, Maxim Mikityanskiy wrote:
> Add rngd.service for systemd. Also patch rngd with patch from Fedora to
> ignore failure if no hwrng present:
> https://bugzilla.redhat.com/show_bug.cgi?id=892178
>
> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
> ---
> package/rng-tools/rng-tools.mk | 8 ++++++++
> package/rng-tools/rngd-exit-code.patch | 11 +++++++++++
> package/rng-tools/rngd.service | 9 +++++++++
> 3 files changed, 28 insertions(+)
> create mode 100644 package/rng-tools/rngd-exit-code.patch
> create mode 100644 package/rng-tools/rngd.service
Applied, after doing a number of changes:
[Thomas:
- rename patch to the proper naming convention
- add description and SoB to patch
- install service file to /usr/lib/systemd and not /lib/systemd
- use a relative symbolic link instead of an absolute one]
Thanks,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 08/16] package/e2fsprogs: make /sbin/fsck available
2015-01-19 16:14 ` [Buildroot] [PATCH 08/16] package/e2fsprogs: make /sbin/fsck available Maxim Mikityanskiy
2015-02-02 20:44 ` Samuel Martin
@ 2015-07-10 17:35 ` Thomas Petazzoni
1 sibling, 0 replies; 60+ messages in thread
From: Thomas Petazzoni @ 2015-07-10 17:35 UTC (permalink / raw)
To: buildroot
Dear Maxim Mikityanskiy,
On Mon, 19 Jan 2015 18:14:08 +0200, Maxim Mikityanskiy wrote:
> systemd looks for fsck in /sbin, so make symlink:
> /sbin/fsck -> /usr/sbin/fsck
>
> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
> ---
> package/e2fsprogs/e2fsprogs.mk | 8 ++++++++
> 1 file changed, 8 insertions(+)
Applied, thanks.
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 15/16] package/vim: add default vimrc
2015-01-19 16:14 ` [Buildroot] [PATCH 15/16] package/vim: add default vimrc Maxim Mikityanskiy
2015-02-02 23:00 ` Samuel Martin
@ 2015-07-10 18:24 ` Thomas Petazzoni
1 sibling, 0 replies; 60+ messages in thread
From: Thomas Petazzoni @ 2015-07-10 18:24 UTC (permalink / raw)
To: buildroot
Dear Maxim Mikityanskiy,
On Mon, 19 Jan 2015 18:14:15 +0200, Maxim Mikityanskiy wrote:
> Support /etc/vim/vimrc as system-wide vimrc file. Add some default
> sample vimrc.
>
> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
> ---
> package/vim/vim.mk | 11 +++++++++++
> package/vim/vimrc | 14 ++++++++++++++
> 2 files changed, 25 insertions(+)
> create mode 100644 package/vim/vimrc
I don't think it's really that useful to have a custom vimrc installed
by default. We do install a default config file for daemons when they
need it to have some sane default behavior, but for things like text
editors, I'm not sure it's really worth it.
So I've marked your patch as Rejected in our patch tracking system.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 04/16] package/systemd: add missing dependencies
2015-01-19 16:14 ` [Buildroot] [PATCH 04/16] package/systemd: add missing dependencies Maxim Mikityanskiy
2015-02-02 14:22 ` Samuel Martin
@ 2015-07-12 22:27 ` Thomas Petazzoni
1 sibling, 0 replies; 60+ messages in thread
From: Thomas Petazzoni @ 2015-07-12 22:27 UTC (permalink / raw)
To: buildroot
Dear Maxim Mikityanskiy,
On Mon, 19 Jan 2015 18:14:04 +0200, Maxim Mikityanskiy wrote:
> Systemd depends on mount and nologin from util-linux. Mount from busybox
> is not fine, because its behavior differs from util-linux mount. Busybox
> mount does not handle correctly 'mount / -o remount' (should apply
> options from /etc/fstab). Nologin should be present, because
> systemd-sysusers uses it as shell for newly created system users.
>
> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
> ---
> package/systemd/Config.in | 3 +++
> 1 file changed, 3 insertions(+)
Applied, thanks.
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH v2] skeleton: apply locale settings in user shells
2015-01-19 16:14 ` [Buildroot] [PATCH 05/16] package/systemd: apply locale settings in user shells Maxim Mikityanskiy
2015-02-02 15:20 ` Samuel Martin
@ 2015-07-12 22:55 ` Arnout Vandecappelle
2015-07-13 20:36 ` Thomas Petazzoni
1 sibling, 1 reply; 60+ messages in thread
From: Arnout Vandecappelle @ 2015-07-12 22:55 UTC (permalink / raw)
To: buildroot
From: Maxim Mikityanskiy <maxtram95@gmail.com>
Add /etc/profile.d/locale.sh script from Arch Linux to /etc/profile.
This script looks for locale.conf, sources it, and exports the LANG and
LC_* variables.
[Arnout: put in /etc/profile in the skeleton rather than making it
systemd specific.]
Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
v2 [Arnout]: make the modification to /etc/profile in the skeleton
rather than something systemd-specific - proposed by Samuel Martin.
---
system/skeleton/etc/profile | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/system/skeleton/etc/profile b/system/skeleton/etc/profile
index 3812dda..c7438fe 100644
--- a/system/skeleton/etc/profile
+++ b/system/skeleton/etc/profile
@@ -35,6 +35,29 @@ if [ "$PS1" ]; then
fi;
+if [ -z "$LANG" ]; then
+ if [ -n $HOME ] && [ -r $HOME/.config/locale.conf ]; then
+ . "$HOME/.config/locale.conf"
+ elif [ -r /etc/locale.conf ]; then
+ . /etc/locale.conf
+ fi
+fi
+
+LANG=${LANG:-C}
+export LANG
+[ -n "$LC_CTYPE" ] && export LC_CTYPE
+[ -n "$LC_NUMERIC" ] && export LC_NUMERIC
+[ -n "$LC_TIME" ] && export LC_TIME
+[ -n "$LC_COLLATE" ] && export LC_COLLATE
+[ -n "$LC_MONETARY" ] && export LC_MONETARY
+[ -n "$LC_MESSAGES" ] && export LC_MESSAGES
+[ -n "$LC_PAPER" ] && export LC_PAPER
+[ -n "$LC_NAME" ] && export LC_NAME
+[ -n "$LC_ADDRESS" ] && export LC_ADDRESS
+[ -n "$LC_TELEPHONE" ] && export LC_TELEPHONE
+[ -n "$LC_MEASUREMENT" ] && export LC_MEASUREMENT
+[ -n "$LC_IDENTIFICATION" ] && export LC_IDENTIFICATION
+
# Source configuration files from /etc/profile.d
for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
--
2.1.4
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 03/16] package/dbus: fix machine-id when using systemd
2015-01-19 16:14 ` [Buildroot] [PATCH 03/16] package/dbus: fix machine-id when using systemd Maxim Mikityanskiy
2015-02-02 14:50 ` Samuel Martin
@ 2015-07-12 23:48 ` Thomas Petazzoni
1 sibling, 0 replies; 60+ messages in thread
From: Thomas Petazzoni @ 2015-07-12 23:48 UTC (permalink / raw)
To: buildroot
Dear Maxim Mikityanskiy,
On Mon, 19 Jan 2015 18:14:03 +0200, Maxim Mikityanskiy wrote:
> When systemd is used, /var/lib/dbus becomes dangling symlink, because
> nobody does mkdir /tmp/dbus, so /var/lib/dbus/machine-id could not be
> written. On SysVinit systems there is init script that creates
> /tmp/dbus.
>
> This patch preserves old behavior for SysVinit systems, and introduces
> new one for systemd-booted systems: /var/lib/dbus is a persistent
> directory, it holds symlink /var/lib/dbus/machine-id -> /etc/machine-id
> as machine-id(5) suggests, and /etc/machine-id is managed by systemd.
>
> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
> ---
> package/dbus/dbus.mk | 13 +++++++------
> 1 file changed, 7 insertions(+), 6 deletions(-)
Applied, thanks.
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH v2] skeleton: apply locale settings in user shells
2015-07-12 22:55 ` [Buildroot] [PATCH v2] skeleton: " Arnout Vandecappelle
@ 2015-07-13 20:36 ` Thomas Petazzoni
0 siblings, 0 replies; 60+ messages in thread
From: Thomas Petazzoni @ 2015-07-13 20:36 UTC (permalink / raw)
To: buildroot
Dear Arnout Vandecappelle (Essensium/Mind),
On Mon, 13 Jul 2015 00:55:13 +0200, Arnout Vandecappelle
(Essensium/Mind) wrote:
> From: Maxim Mikityanskiy <maxtram95@gmail.com>
>
> Add /etc/profile.d/locale.sh script from Arch Linux to /etc/profile.
> This script looks for locale.conf, sources it, and exports the LANG and
> LC_* variables.
>
> [Arnout: put in /etc/profile in the skeleton rather than making it
> systemd specific.]
>
> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
> ---
> v2 [Arnout]: make the modification to /etc/profile in the skeleton
> rather than something systemd-specific - proposed by Samuel Martin.
> ---
> system/skeleton/etc/profile | 23 +++++++++++++++++++++++
> 1 file changed, 23 insertions(+)
Applied, thanks.
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH 12/16] package/samba: add systemd support
2015-02-02 22:38 ` Samuel Martin
@ 2015-07-13 20:47 ` Maxime Hadjinlian
0 siblings, 0 replies; 60+ messages in thread
From: Maxime Hadjinlian @ 2015-07-13 20:47 UTC (permalink / raw)
To: buildroot
Hi Samuel, Maxim, all
On Mon, Feb 2, 2015 at 11:38 PM, Samuel Martin <s.martin49@gmail.com> wrote:
> Hi Maxim,
>
On a more general note, we want to install your systemd services into
/usr/lib/systemd/system/ instead of the /lib/systemd/system that you
used.
> On Mon, Jan 19, 2015 at 5:14 PM, Maxim Mikityanskiy <maxtram95@gmail.com> wrote:
>> Add {smbd,nmbd,winbindd}.service files for systemd. Add tmpfiles.d
>> config file to create samba directories.
>>
>> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
>> ---
>> package/samba/nmbd.service | 12 ++++++++++++
>> package/samba/samba.mk | 23 +++++++++++++++++++++++
>> package/samba/samba_tmpfiles.conf | 4 ++++
>> package/samba/smbd.service | 12 ++++++++++++
>> package/samba/winbindd.service | 12 ++++++++++++
>> 5 files changed, 63 insertions(+)
>> create mode 100644 package/samba/nmbd.service
>> create mode 100644 package/samba/samba_tmpfiles.conf
>> create mode 100644 package/samba/smbd.service
>> create mode 100644 package/samba/winbindd.service
>>
>> diff --git a/package/samba/nmbd.service b/package/samba/nmbd.service
>> new file mode 100644
>> index 0000000..6e241ea
>> --- /dev/null
>> +++ b/package/samba/nmbd.service
>> @@ -0,0 +1,12 @@
>> +[Unit]
>> +Description=Samba NetBIOS name server
>> +After=network.target
>> +
>> +[Service]
>> +Type=forking
>> +PIDFile=/var/run/samba/nmbd.pid
>> +ExecStart=/usr/sbin/nmbd -D
>> +ExecReload=/bin/kill -HUP $MAINPID
>> +
>> +[Install]
>> +WantedBy=multi-user.target
>> diff --git a/package/samba/samba.mk b/package/samba/samba.mk
>> index 31ad644..5a11ebe 100644
>> --- a/package/samba/samba.mk
>> +++ b/package/samba/samba.mk
>> @@ -182,6 +182,29 @@ endef
>>
>> SAMBA_POST_INSTALL_TARGET_HOOKS += SAMBA_INSTALL_CONFIG
>>
>> +ifeq ($(BR2_INIT_SYSTEMD),y)
>> +define SAMBA_INSTALL_TMPFILES_HOOK
>> + $(INSTALL) -D -m 644 package/samba/samba_tmpfiles.conf \
>> + $(TARGET_DIR)/usr/lib/tmpfiles.d/samba.conf
>> +endef
>> +
>> +SAMBA_POST_INSTALL_TARGET_HOOKS += SAMBA_INSTALL_TMPFILES_HOOK
>> +endif
>> +
>> +define SAMBA_INSTALL_INIT_SYSTEMD
>> + $(INSTALL) -D -m 644 package/samba/smbd.service \
>> + $(TARGET_DIR)/lib/systemd/system/smbd.service
>
> smbd can be disabled, so its *.service installation should be optional
> WRT its option.
>
>> + $(INSTALL) -D -m 644 package/samba/nmbd.service \
>> + $(TARGET_DIR)/lib/systemd/system/nmbd.service
>
> ditto for nmbd.
>
>> + $(if $(BR2_PACKAGE_SAMBA_WINBINDD),$(INSTALL) -D -m 644 package/samba/winbindd.service $(TARGET_DIR)/lib/systemd/system/winbindd.service)
>> + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
>> + ln -fs /lib/systemd/system/smbd.service \
>> + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/smbd.service
>
> ditto
>
>> + ln -fs /lib/systemd/system/nmbd.service \
>> + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/nmbd.service
>
> ditto
>
>> + $(if $(BR2_PACKAGE_SAMBA_WINBINDD),ln -fs /lib/systemd/system/winbindd.service $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/winbindd.service)
>> +endef
>> +
>> define SAMBA_INSTALL_INIT_SYSV
>> $(INSTALL) -m 0755 -D package/samba/S91smb $(TARGET_DIR)/etc/init.d/S91smb
>> endef
>> diff --git a/package/samba/samba_tmpfiles.conf b/package/samba/samba_tmpfiles.conf
>> new file mode 100644
>> index 0000000..e265f75
>> --- /dev/null
>> +++ b/package/samba/samba_tmpfiles.conf
>> @@ -0,0 +1,4 @@
>> +d /var/cache/samba 0755 root root -
>> +d /var/log/samba 0755 root root -
>> +d /var/lock/samba 0755 root root -
>> +d /var/run/samba 0755 root root -
>> diff --git a/package/samba/smbd.service b/package/samba/smbd.service
>> new file mode 100644
>> index 0000000..64abf56
>> --- /dev/null
>> +++ b/package/samba/smbd.service
>> @@ -0,0 +1,12 @@
>> +[Unit]
>> +Description=Samba SMB/CIFS server
>> +After=network.target nmbd.service winbindd.service
>> +
>> +[Service]
>> +Type=forking
>> +PIDFile=/var/run/samba/smbd.pid
>> +ExecStart=/usr/sbin/smbd -D
>> +ExecReload=/bin/kill -HUP $MAINPID
>> +
>> +[Install]
>> +WantedBy=multi-user.target
>> diff --git a/package/samba/winbindd.service b/package/samba/winbindd.service
>> new file mode 100644
>> index 0000000..214c17e
>> --- /dev/null
>> +++ b/package/samba/winbindd.service
>> @@ -0,0 +1,12 @@
>> +[Unit]
>> +Description=Samba Winbind daemon
>> +After=network.target nmbd.service
>> +
>> +[Service]
>> +Type=forking
>> +PIDFile=/var/run/samba/winbindd.pid
>> +ExecStart=/usr/sbin/winbindd -D
>> +ExecReload=/bin/kill -HUP $MAINPID
>> +
>> +[Install]
>> +WantedBy=multi-user.target
>> --
>> 2.2.1
>
> Regards,
>
> --
> Samuel
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCHv2] transmission: improve systemd support
2015-01-19 16:14 ` [Buildroot] [PATCH 10/16] package/transmission: " Maxim Mikityanskiy
2015-02-02 22:09 ` Samuel Martin
@ 2015-07-14 13:51 ` Aurélien Chabot
2015-07-14 14:05 ` Maxime Hadjinlian
2015-07-19 22:18 ` [Buildroot] [PATCH v3] " Aurélien Chabot
2 siblings, 1 reply; 60+ messages in thread
From: Aurélien Chabot @ 2015-07-14 13:51 UTC (permalink / raw)
To: buildroot
From: Maxim Mikityanskiy <maxtram95@gmail.com>
Support running transmission-daemon in system-wide mode using systemd:
1. Pass --with-systemd-daemon to configure script if systemd is enabled.
2. Install sysctl.d config file to increase send and receive buffer
sizes.
3. Install sysusers.d config file to create transmission user when using
systemd. Create transmission user when not using systemd.
4. Install transmission-daemon.service for systemd.
[Aur?lien : Fix symlink relative path, use upstream service file,
no need for config path, and use transmission user in sysv script]
Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
Signed-off-by: Aur?lien Chabot <aurelien@chabot.fr>
---
package/transmission/S92transmission | 4 +--
package/transmission/transmission.mk | 37 +++++++++++++++++++++++++
package/transmission/transmission_sysctl.conf | 2 ++
package/transmission/transmission_sysusers.conf | 1 +
4 files changed, 41 insertions(+), 3 deletions(-)
create mode 100644 package/transmission/transmission_sysctl.conf
create mode 100644 package/transmission/transmission_sysusers.conf
diff --git a/package/transmission/S92transmission b/package/transmission/S92transmission
index 1870522..e5976b0 100644
--- a/package/transmission/S92transmission
+++ b/package/transmission/S92transmission
@@ -24,9 +24,7 @@
# by default, this is set to 'transmission'.
# For the sake of security you shouldn't set a password
# on this user
-#USERNAME=transmission
-USERNAME=default
-
+USERNAME=transmission
# ----- *ADVANCED* CONFIGURATION -----
diff --git a/package/transmission/transmission.mk b/package/transmission/transmission.mk
index bbc32bf..81dd110 100644
--- a/package/transmission/transmission.mk
+++ b/package/transmission/transmission.mk
@@ -36,11 +36,48 @@ endif
ifeq ($(BR2_PACKAGE_TRANSMISSION_DAEMON),y)
TRANSMISSION_CONF_OPTS += --enable-daemon
+ifeq ($(BR2_PACKAGE_SYSTEMD),y)
+TRANSMISSION_DEPENDENCIES += systemd
+TRANSMISSION_CONF_OPTS += --with-systemd-daemon
+else
+TRANSMISSION_CONF_OPTS += --without-systemd-daemon
+endif
+
+ifeq ($(BR2_INIT_SYSTEMD),)
+define TRANSMISSION_USERS
+ transmission -1 transmission -1 * /var/lib/transmission - transmission Transmission Daemon
+endef
+endif
+
define TRANSMISSION_INSTALL_INIT_SYSV
$(INSTALL) -m 0755 -D package/transmission/S92transmission \
$(TARGET_DIR)/etc/init.d/S92transmission
endef
+define TRANSMISSION_INSTALL_INIT_SYSTEMD
+ $(INSTALL) -D -m 0755 $(@D)/daemon/transmission-daemon.service \
+ $(TARGET_DIR)/usr/lib/systemd/system/transmission-daemon.service
+ mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+ ln -fs ../../../../usr/lib/systemd/system/transmission-daemon.service \
+ $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/transmission-daemon.service
+endef
+
+define TRANSMISSION_INSTALL_SYSCTL_HOOK
+ $(INSTALL) -D -m 644 package/transmission/transmission_sysctl.conf \
+ $(TARGET_DIR)/usr/lib/sysctl.d/20-transmission.conf
+endef
+
+TRANSMISSION_POST_INSTALL_TARGET_HOOKS += \
+ TRANSMISSION_INSTALL_SYSCTL_HOOK
+
+define TRANSMISSION_INSTALL_SYSUSERS_HOOK
+ $(INSTALL) -D -m 644 package/transmission/transmission_sysusers.conf \
+ $(TARGET_DIR)/usr/lib/sysusers.d/transmission.conf
+endef
+
+TRANSMISSION_POST_INSTALL_TARGET_HOOKS += \
+ TRANSMISSION_INSTALL_SYSUSERS_HOOK
+
else
TRANSMISSION_CONF_OPTS += --disable-daemon
endif
diff --git a/package/transmission/transmission_sysctl.conf b/package/transmission/transmission_sysctl.conf
new file mode 100644
index 0000000..7862332
--- /dev/null
+++ b/package/transmission/transmission_sysctl.conf
@@ -0,0 +1,2 @@
+net.core.wmem_max = 1048576
+net.core.rmem_max = 4194304
diff --git a/package/transmission/transmission_sysusers.conf b/package/transmission/transmission_sysusers.conf
new file mode 100644
index 0000000..09396d4
--- /dev/null
+++ b/package/transmission/transmission_sysusers.conf
@@ -0,0 +1 @@
+u transmission - "Transmission daemon" /var/lib/transmission
--
2.4.5
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Buildroot] [PATCHv2] transmission: improve systemd support
2015-07-14 13:51 ` [Buildroot] [PATCHv2] transmission: " Aurélien Chabot
@ 2015-07-14 14:05 ` Maxime Hadjinlian
2015-07-16 21:27 ` Aurélien Chabot
0 siblings, 1 reply; 60+ messages in thread
From: Maxime Hadjinlian @ 2015-07-14 14:05 UTC (permalink / raw)
To: buildroot
Hi Aur?lien, all
On Tue, Jul 14, 2015 at 3:51 PM, Aur?lien Chabot <aurelien@chabot.fr> wrote:
> From: Maxim Mikityanskiy <maxtram95@gmail.com>
>
> Support running transmission-daemon in system-wide mode using systemd:
>
> 1. Pass --with-systemd-daemon to configure script if systemd is enabled.
>
> 2. Install sysctl.d config file to increase send and receive buffer
> sizes.
>
> 3. Install sysusers.d config file to create transmission user when using
> systemd. Create transmission user when not using systemd.
>
> 4. Install transmission-daemon.service for systemd.
>
> [Aur?lien : Fix symlink relative path, use upstream service file,
> no need for config path, and use transmission user in sysv script]
>
> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
> Signed-off-by: Aur?lien Chabot <aurelien@chabot.fr>
> ---
> package/transmission/S92transmission | 4 +--
> package/transmission/transmission.mk | 37 +++++++++++++++++++++++++
> package/transmission/transmission_sysctl.conf | 2 ++
> package/transmission/transmission_sysusers.conf | 1 +
> 4 files changed, 41 insertions(+), 3 deletions(-)
> create mode 100644 package/transmission/transmission_sysctl.conf
> create mode 100644 package/transmission/transmission_sysusers.conf
>
> diff --git a/package/transmission/S92transmission b/package/transmission/S92transmission
> index 1870522..e5976b0 100644
> --- a/package/transmission/S92transmission
> +++ b/package/transmission/S92transmission
> @@ -24,9 +24,7 @@
> # by default, this is set to 'transmission'.
> # For the sake of security you shouldn't set a password
> # on this user
> -#USERNAME=transmission
> -USERNAME=default
> -
> +USERNAME=transmission
>
>
> # ----- *ADVANCED* CONFIGURATION -----
> diff --git a/package/transmission/transmission.mk b/package/transmission/transmission.mk
> index bbc32bf..81dd110 100644
> --- a/package/transmission/transmission.mk
> +++ b/package/transmission/transmission.mk
> @@ -36,11 +36,48 @@ endif
> ifeq ($(BR2_PACKAGE_TRANSMISSION_DAEMON),y)
> TRANSMISSION_CONF_OPTS += --enable-daemon
>
> +ifeq ($(BR2_PACKAGE_SYSTEMD),y)
> +TRANSMISSION_DEPENDENCIES += systemd
> +TRANSMISSION_CONF_OPTS += --with-systemd-daemon
> +else
> +TRANSMISSION_CONF_OPTS += --without-systemd-daemon
> +endif
> +
> +ifeq ($(BR2_INIT_SYSTEMD),)
> +define TRANSMISSION_USERS
> + transmission -1 transmission -1 * /var/lib/transmission - transmission Transmission Daemon
> +endef
> +endif
> +
> define TRANSMISSION_INSTALL_INIT_SYSV
> $(INSTALL) -m 0755 -D package/transmission/S92transmission \
> $(TARGET_DIR)/etc/init.d/S92transmission
> endef
>
> +define TRANSMISSION_INSTALL_INIT_SYSTEMD
> + $(INSTALL) -D -m 0755 $(@D)/daemon/transmission-daemon.service \
> + $(TARGET_DIR)/usr/lib/systemd/system/transmission-daemon.service
Do we still need to install the service ? Doesn't the transmission
Makefile do it for us ?
> + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
> + ln -fs ../../../../usr/lib/systemd/system/transmission-daemon.service \
> + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/transmission-daemon.service
> +endef
> +
> +define TRANSMISSION_INSTALL_SYSCTL_HOOK
> + $(INSTALL) -D -m 644 package/transmission/transmission_sysctl.conf \
> + $(TARGET_DIR)/usr/lib/sysctl.d/20-transmission.conf
> +endef
> +
> +TRANSMISSION_POST_INSTALL_TARGET_HOOKS += \
> + TRANSMISSION_INSTALL_SYSCTL_HOOK
> +
I don't know what the other think about it but I really don't like the
fact that there's some sysctl conf installed by a package.
> +define TRANSMISSION_INSTALL_SYSUSERS_HOOK
> + $(INSTALL) -D -m 644 package/transmission/transmission_sysusers.conf \
> + $(TARGET_DIR)/usr/lib/sysusers.d/transmission.conf
> +endef
> +
> +TRANSMISSION_POST_INSTALL_TARGET_HOOKS += \
> + TRANSMISSION_INSTALL_SYSUSERS_HOOK
> +
> else
> TRANSMISSION_CONF_OPTS += --disable-daemon
> endif
> diff --git a/package/transmission/transmission_sysctl.conf b/package/transmission/transmission_sysctl.conf
> new file mode 100644
> index 0000000..7862332
> --- /dev/null
> +++ b/package/transmission/transmission_sysctl.conf
> @@ -0,0 +1,2 @@
> +net.core.wmem_max = 1048576
> +net.core.rmem_max = 4194304
So I would scratch that too.
> diff --git a/package/transmission/transmission_sysusers.conf b/package/transmission/transmission_sysusers.conf
> new file mode 100644
> index 0000000..09396d4
> --- /dev/null
> +++ b/package/transmission/transmission_sysusers.conf
> @@ -0,0 +1 @@
> +u transmission - "Transmission daemon" /var/lib/transmission
> --
Have you tested with a read-only file system ? Since
/var/lib/transmission is not a tmpfs, I don't know if transmission
will be very happy about that.
> 2.4.5
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCHv2] transmission: improve systemd support
2015-07-14 14:05 ` Maxime Hadjinlian
@ 2015-07-16 21:27 ` Aurélien Chabot
2015-07-18 15:20 ` Maxime Hadjinlian
0 siblings, 1 reply; 60+ messages in thread
From: Aurélien Chabot @ 2015-07-16 21:27 UTC (permalink / raw)
To: buildroot
On Tue, Jul 14, 2015 at 4:05 PM, Maxime Hadjinlian <
maxime.hadjinlian@gmail.com> wrote:
> Have you tested with a read-only file system ? Since
> /var/lib/transmission is not a tmpfs, I don't know if transmission
> will be very happy about that.
>
From what I try, transmission doesn't crash or stop if it cannot write it's
configuration. That's why I remove the tmpfs. Moreover the tmpfs stuff was
only added for systemd, and if we choose to do that we should do the same
for sysvinit.
I just saw a well that with systemd the folder /var/lib/transmission is not
created, so I should have kept the line creating the folder.
BTW, is it really the prefer solution to user sysuser.d instead of the
buildroot user target ? Isn't this cause also problem on read only fs,
because ets/passwd will not be writable ?
Aur?lien
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20150716/c2794fc3/attachment-0001.html>
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCHv2] transmission: improve systemd support
2015-07-16 21:27 ` Aurélien Chabot
@ 2015-07-18 15:20 ` Maxime Hadjinlian
0 siblings, 0 replies; 60+ messages in thread
From: Maxime Hadjinlian @ 2015-07-18 15:20 UTC (permalink / raw)
To: buildroot
Hi Aur?lien, all
On Thu, Jul 16, 2015 at 11:27 PM, Aur?lien Chabot <aurelien@chabot.fr> wrote:
>
> On Tue, Jul 14, 2015 at 4:05 PM, Maxime Hadjinlian
> <maxime.hadjinlian@gmail.com> wrote:
>>
>> Have you tested with a read-only file system ? Since
>> /var/lib/transmission is not a tmpfs, I don't know if transmission
>> will be very happy about that.
>
>
> From what I try, transmission doesn't crash or stop if it cannot write it's
> configuration. That's why I remove the tmpfs. Moreover the tmpfs stuff was
> only added for systemd, and if we choose to do that we should do the same
> for sysvinit.
>
> I just saw a well that with systemd the folder /var/lib/transmission is not
> created, so I should have kept the line creating the folder.
> BTW, is it really the prefer solution to user sysuser.d instead of the
> buildroot user target ? Isn't this cause also problem on read only fs,
> because ets/passwd will not be writable ?
You are absolutely right, that's not the way to go, you should use the
Buildroot infra to do that.
As I said before, please remove also the sysctl settings, it should
not be install by us.
I'll try to give it a better look and test that tonight or tomorrow.
>
> Aur?lien
>
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH v3] transmission: improve systemd support
2015-01-19 16:14 ` [Buildroot] [PATCH 10/16] package/transmission: " Maxim Mikityanskiy
2015-02-02 22:09 ` Samuel Martin
2015-07-14 13:51 ` [Buildroot] [PATCHv2] transmission: " Aurélien Chabot
@ 2015-07-19 22:18 ` Aurélien Chabot
2015-07-26 21:38 ` Maxime Hadjinlian
2015-07-27 21:56 ` Thomas Petazzoni
2 siblings, 2 replies; 60+ messages in thread
From: Aurélien Chabot @ 2015-07-19 22:18 UTC (permalink / raw)
To: buildroot
From: Maxim Mikityanskiy <maxtram95@gmail.com>
Support running transmission-daemon in system-wide mode using systemd:
1. Pass --with-systemd-daemon to configure script if systemd is enabled.
2. Create the transmission user if having daemon
3. Install transmission-daemon.service for systemd.
[Aur?lien : Fix symlink relative path, use upstream service file,
no need for config path, and use transmission user in sysv script,
remove sysctl stuff]
Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
Signed-off-by: Aur?lien Chabot <aurelien@chabot.fr>
---
package/transmission/S92transmission | 4 +---
package/transmission/transmission.mk | 19 +++++++++++++++++++
2 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/package/transmission/S92transmission b/package/transmission/S92transmission
index 1870522..e5976b0 100644
--- a/package/transmission/S92transmission
+++ b/package/transmission/S92transmission
@@ -24,9 +24,7 @@
# by default, this is set to 'transmission'.
# For the sake of security you shouldn't set a password
# on this user
-#USERNAME=transmission
-USERNAME=default
-
+USERNAME=transmission
# ----- *ADVANCED* CONFIGURATION -----
diff --git a/package/transmission/transmission.mk b/package/transmission/transmission.mk
index bbc32bf..efc00a1 100644
--- a/package/transmission/transmission.mk
+++ b/package/transmission/transmission.mk
@@ -36,11 +36,30 @@ endif
ifeq ($(BR2_PACKAGE_TRANSMISSION_DAEMON),y)
TRANSMISSION_CONF_OPTS += --enable-daemon
+ifeq ($(BR2_PACKAGE_SYSTEMD),y)
+TRANSMISSION_DEPENDENCIES += systemd
+TRANSMISSION_CONF_OPTS += --with-systemd-daemon
+else
+TRANSMISSION_CONF_OPTS += --without-systemd-daemon
+endif
+
+define TRANSMISSION_USERS
+ transmission -1 transmission -1 * /var/lib/transmission - transmission Transmission Daemon
+endef
+
define TRANSMISSION_INSTALL_INIT_SYSV
$(INSTALL) -m 0755 -D package/transmission/S92transmission \
$(TARGET_DIR)/etc/init.d/S92transmission
endef
+define TRANSMISSION_INSTALL_INIT_SYSTEMD
+ $(INSTALL) -D -m 0755 $(@D)/daemon/transmission-daemon.service \
+ $(TARGET_DIR)/usr/lib/systemd/system/transmission-daemon.service
+ mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+ ln -fs ../../../../usr/lib/systemd/system/transmission-daemon.service \
+ $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/transmission-daemon.service
+endef
+
else
TRANSMISSION_CONF_OPTS += --disable-daemon
endif
--
2.4.6
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH v3] transmission: improve systemd support
2015-07-19 22:18 ` [Buildroot] [PATCH v3] " Aurélien Chabot
@ 2015-07-26 21:38 ` Maxime Hadjinlian
2015-07-27 21:56 ` Thomas Petazzoni
1 sibling, 0 replies; 60+ messages in thread
From: Maxime Hadjinlian @ 2015-07-26 21:38 UTC (permalink / raw)
To: buildroot
Hi Aur?lien, all
On Mon, Jul 20, 2015 at 12:18 AM, Aur?lien Chabot <aurelien@chabot.fr> wrote:
> From: Maxim Mikityanskiy <maxtram95@gmail.com>
>
> Support running transmission-daemon in system-wide mode using systemd:
>
> 1. Pass --with-systemd-daemon to configure script if systemd is enabled.
>
> 2. Create the transmission user if having daemon
>
> 3. Install transmission-daemon.service for systemd.
>
> [Aur?lien : Fix symlink relative path, use upstream service file,
> no need for config path, and use transmission user in sysv script,
> remove sysctl stuff]
>
> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
> Signed-off-by: Aur?lien Chabot <aurelien@chabot.fr>
> ---
> package/transmission/S92transmission | 4 +---
> package/transmission/transmission.mk | 19 +++++++++++++++++++
> 2 files changed, 20 insertions(+), 3 deletions(-)
>
> diff --git a/package/transmission/S92transmission b/package/transmission/S92transmission
> index 1870522..e5976b0 100644
> --- a/package/transmission/S92transmission
> +++ b/package/transmission/S92transmission
> @@ -24,9 +24,7 @@
> # by default, this is set to 'transmission'.
> # For the sake of security you shouldn't set a password
> # on this user
> -#USERNAME=transmission
> -USERNAME=default
> -
> +USERNAME=transmission
>
>
> # ----- *ADVANCED* CONFIGURATION -----
> diff --git a/package/transmission/transmission.mk b/package/transmission/transmission.mk
> index bbc32bf..efc00a1 100644
> --- a/package/transmission/transmission.mk
> +++ b/package/transmission/transmission.mk
> @@ -36,11 +36,30 @@ endif
> ifeq ($(BR2_PACKAGE_TRANSMISSION_DAEMON),y)
> TRANSMISSION_CONF_OPTS += --enable-daemon
>
> +ifeq ($(BR2_PACKAGE_SYSTEMD),y)
> +TRANSMISSION_DEPENDENCIES += systemd
> +TRANSMISSION_CONF_OPTS += --with-systemd-daemon
> +else
> +TRANSMISSION_CONF_OPTS += --without-systemd-daemon
> +endif
> +
> +define TRANSMISSION_USERS
> + transmission -1 transmission -1 * /var/lib/transmission - transmission Transmission Daemon
> +endef
> +
> define TRANSMISSION_INSTALL_INIT_SYSV
> $(INSTALL) -m 0755 -D package/transmission/S92transmission \
> $(TARGET_DIR)/etc/init.d/S92transmission
> endef
>
> +define TRANSMISSION_INSTALL_INIT_SYSTEMD
> + $(INSTALL) -D -m 0755 $(@D)/daemon/transmission-daemon.service \
> + $(TARGET_DIR)/usr/lib/systemd/system/transmission-daemon.service
> + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
> + ln -fs ../../../../usr/lib/systemd/system/transmission-daemon.service \
> + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/transmission-daemon.service
> +endef
> +
> else
> TRANSMISSION_CONF_OPTS += --disable-daemon
> endif
> --
> 2.4.6
>
Acked-by Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Buildroot] [PATCH v3] transmission: improve systemd support
2015-07-19 22:18 ` [Buildroot] [PATCH v3] " Aurélien Chabot
2015-07-26 21:38 ` Maxime Hadjinlian
@ 2015-07-27 21:56 ` Thomas Petazzoni
1 sibling, 0 replies; 60+ messages in thread
From: Thomas Petazzoni @ 2015-07-27 21:56 UTC (permalink / raw)
To: buildroot
Dear Aur?lien Chabot,
On Mon, 20 Jul 2015 00:18:01 +0200, Aur?lien Chabot wrote:
> From: Maxim Mikityanskiy <maxtram95@gmail.com>
>
> Support running transmission-daemon in system-wide mode using systemd:
>
> 1. Pass --with-systemd-daemon to configure script if systemd is enabled.
>
> 2. Create the transmission user if having daemon
>
> 3. Install transmission-daemon.service for systemd.
>
> [Aur?lien : Fix symlink relative path, use upstream service file,
> no need for config path, and use transmission user in sysv script,
> remove sysctl stuff]
>
> Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
> Signed-off-by: Aur?lien Chabot <aurelien@chabot.fr>
> ---
> package/transmission/S92transmission | 4 +---
> package/transmission/transmission.mk | 19 +++++++++++++++++++
> 2 files changed, 20 insertions(+), 3 deletions(-)
Applied, thanks.
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 60+ messages in thread
end of thread, other threads:[~2015-07-27 21:56 UTC | newest]
Thread overview: 60+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-19 16:14 [Buildroot] [PATCH 00/16] Different enhancements, primarily for systemd Maxim Mikityanskiy
2015-01-19 16:14 ` [Buildroot] [PATCH 01/16] package/busybox: optional udhcpc script Maxim Mikityanskiy
2015-01-26 21:26 ` Thomas Petazzoni
2015-01-26 22:06 ` Peter Korsgaard
2015-01-19 16:14 ` [Buildroot] [PATCH 02/16] package: install bash-completion files only with bash Maxim Mikityanskiy
2015-01-26 22:00 ` Thomas Petazzoni
2015-01-19 16:14 ` [Buildroot] [PATCH 03/16] package/dbus: fix machine-id when using systemd Maxim Mikityanskiy
2015-02-02 14:50 ` Samuel Martin
2015-02-02 15:18 ` Maxim Mikityanskiy
2015-07-12 23:48 ` Thomas Petazzoni
2015-01-19 16:14 ` [Buildroot] [PATCH 04/16] package/systemd: add missing dependencies Maxim Mikityanskiy
2015-02-02 14:22 ` Samuel Martin
2015-07-12 22:27 ` Thomas Petazzoni
2015-01-19 16:14 ` [Buildroot] [PATCH 05/16] package/systemd: apply locale settings in user shells Maxim Mikityanskiy
2015-02-02 15:20 ` Samuel Martin
2015-02-02 15:28 ` Maxim Mikityanskiy
2015-07-12 22:55 ` [Buildroot] [PATCH v2] skeleton: " Arnout Vandecappelle
2015-07-13 20:36 ` Thomas Petazzoni
2015-01-19 16:14 ` [Buildroot] [PATCH 06/16] package/dosfstools: add missing symlinks Maxim Mikityanskiy
2015-02-02 16:22 ` Samuel Martin
2015-03-08 22:04 ` Thomas Petazzoni
2015-01-19 16:14 ` [Buildroot] [PATCH 07/16] package/dropbear: install dropbear.service to correct dir Maxim Mikityanskiy
2015-02-02 20:41 ` Samuel Martin
2015-02-23 11:38 ` Thomas Petazzoni
2015-01-19 16:14 ` [Buildroot] [PATCH 08/16] package/e2fsprogs: make /sbin/fsck available Maxim Mikityanskiy
2015-02-02 20:44 ` Samuel Martin
2015-07-10 17:35 ` Thomas Petazzoni
2015-01-19 16:14 ` [Buildroot] [PATCH 09/16] package/minidlna: improve systemd support Maxim Mikityanskiy
2015-02-02 21:12 ` Samuel Martin
2015-02-02 21:30 ` Maxim Mikityanskiy
2015-02-02 23:22 ` Samuel Martin
2015-02-03 9:10 ` Arnout Vandecappelle
2015-03-08 21:52 ` Thomas Petazzoni
2015-01-19 16:14 ` [Buildroot] [PATCH 10/16] package/transmission: " Maxim Mikityanskiy
2015-02-02 22:09 ` Samuel Martin
2015-02-03 9:11 ` Arnout Vandecappelle
2015-07-14 13:51 ` [Buildroot] [PATCHv2] transmission: " Aurélien Chabot
2015-07-14 14:05 ` Maxime Hadjinlian
2015-07-16 21:27 ` Aurélien Chabot
2015-07-18 15:20 ` Maxime Hadjinlian
2015-07-19 22:18 ` [Buildroot] [PATCH v3] " Aurélien Chabot
2015-07-26 21:38 ` Maxime Hadjinlian
2015-07-27 21:56 ` Thomas Petazzoni
2015-01-19 16:14 ` [Buildroot] [PATCH 11/16] package/samba: use FHS dirs Maxim Mikityanskiy
2015-02-02 22:49 ` Samuel Martin
2015-04-06 9:45 ` Thomas Petazzoni
2015-01-19 16:14 ` [Buildroot] [PATCH 12/16] package/samba: add systemd support Maxim Mikityanskiy
2015-02-02 22:38 ` Samuel Martin
2015-07-13 20:47 ` Maxime Hadjinlian
2015-01-19 16:14 ` [Buildroot] [PATCH 13/16] package/tar: add support for acl and xattr Maxim Mikityanskiy
2015-02-02 8:26 ` Thomas Petazzoni
2015-01-19 16:14 ` [Buildroot] [PATCH 14/16] package/util-linux: add more tool select options Maxim Mikityanskiy
2015-01-26 22:11 ` Thomas Petazzoni
2015-02-07 22:00 ` Yann E. MORIN
2015-01-19 16:14 ` [Buildroot] [PATCH 15/16] package/vim: add default vimrc Maxim Mikityanskiy
2015-02-02 23:00 ` Samuel Martin
2015-07-10 18:24 ` Thomas Petazzoni
2015-01-19 16:14 ` [Buildroot] [PATCH 16/16] package/rng-tools: add systemd support for rngd Maxim Mikityanskiy
2015-02-02 17:12 ` Samuel Martin
2015-04-22 20:10 ` Thomas Petazzoni
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.