[Buildroot] [PATCH 4/9] start-stop-daemon: new package
Arnout Vandecappelle
arnout at mind.be
Tue Nov 18 20:23:56 UTC 2014
On 18/11/14 18:01, Gustavo Zacarias wrote:
> Signed-off-by: Gustavo Zacarias <gustavo at zacarias.com.ar>
Maybe mention in the commit log why 1.17.21 doesn't work.
> ---
> package/Config.in | 3 ++
> .../0001-add-uclibc-alias-and-musl.patch | 42 ++++++++++++++++++++++
> package/start-stop-daemon/Config.in | 8 +++++
> package/start-stop-daemon/start-stop-daemon.hash | 2 ++
> package/start-stop-daemon/start-stop-daemon.mk | 27 ++++++++++++++
> 5 files changed, 82 insertions(+)
> create mode 100644 package/start-stop-daemon/0001-add-uclibc-alias-and-musl.patch
> create mode 100644 package/start-stop-daemon/Config.in
> create mode 100644 package/start-stop-daemon/start-stop-daemon.hash
> create mode 100644 package/start-stop-daemon/start-stop-daemon.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 8f3cc3c..ce161cf 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1229,6 +1229,9 @@ if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
> source "package/rsyslog/Config.in"
> endif
> source "package/smack/Config.in"
> +if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
> + source "package/start-stop-daemon/Config.in"
> +endif
> source "package/supervisor/Config.in"
> if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
> source "package/sysklogd/Config.in"
> diff --git a/package/start-stop-daemon/0001-add-uclibc-alias-and-musl.patch b/package/start-stop-daemon/0001-add-uclibc-alias-and-musl.patch
> new file mode 100644
> index 0000000..0b726d4
> --- /dev/null
> +++ b/package/start-stop-daemon/0001-add-uclibc-alias-and-musl.patch
> @@ -0,0 +1,42 @@
> +Make linux-uclibcgnueabi an alias for linux-uclibceabi since it's
> +what we use in buildroot toolchains.
> +Also add support for musl libc which is a backport from 1.17.x with
> +a slight tweak for musleabi (non-hf).
> +
> +Signed-off-by: Gustavo Zacarias <gustavo at zacarias.com.ar>
> +
> +diff -Nura dpkg-1.16.15.orig/ostable dpkg-1.16.15/ostable
> +--- dpkg-1.16.15.orig/ostable 2014-11-07 08:09:07.358304926 -0300
> ++++ dpkg-1.16.15/ostable 2014-11-07 09:35:06.158580079 -0300
> +@@ -14,8 +14,10 @@
> + # system part of the output of the GNU config.guess script.
> + #
> + # <Debian name> <GNU name> <config.guess regex>
> +-uclibceabi-linux linux-uclibceabi linux[^-]*-uclibceabi
> ++uclibceabi-linux linux-uclibceabi linux[^-]*-uclibc.*eabi
> + uclibc-linux linux-uclibc linux[^-]*-uclibc
> ++musleabihf-linux linux-musleabihf linux[^-]*-musleabihf
> ++musl-linux linux-musl linux[^-]*-musl[^-]*
> + gnueabihf-linux linux-gnueabihf linux[^-]*-gnueabihf
> + gnueabi-linux linux-gnueabi linux[^-]*-gnueabi
> + gnuabin32-linux linux-gnuabin32 linux[^-]*-gnuabin32
> +@@ -33,6 +35,6 @@
> + bsd-netbsd netbsd netbsd[^-]*
> + bsd-openbsd openbsd openbsd[^-]*
> + sysv-solaris solaris solaris[^-]*
> +-uclibceabi-uclinux uclinux-uclibceabi uclinux[^-]*-uclibceabi
> ++uclibceabi-uclinux uclinux-uclibceabi uclinux[^-]*-uclibc.*eabi
> + uclibc-uclinux uclinux-uclibc uclinux[^-]*(-uclibc.*)?
> + tos-mint mint mint[^-]*
> +diff -Nura dpkg-1.16.15.orig/triplettable dpkg-1.16.15/triplettable
> +--- dpkg-1.16.15.orig/triplettable 2014-11-07 08:09:07.345304482 -0300
> ++++ dpkg-1.16.15/triplettable 2014-11-07 09:35:29.098364036 -0300
> +@@ -5,6 +5,8 @@
> + # <Debian triplet> <Debian arch>
> + uclibceabi-linux-arm uclibc-linux-armel
> + uclibc-linux-<cpu> uclibc-linux-<cpu>
> ++musleabihf-linux-arm musl-linux-armhf
> ++musl-linux-<cpu> musl-linux-<cpu>
> + gnueabihf-linux-arm armhf
> + gnueabi-linux-arm armel
> + gnuabin32-linux-mips64el mipsn32el
> diff --git a/package/start-stop-daemon/Config.in b/package/start-stop-daemon/Config.in
> new file mode 100644
> index 0000000..7d8eb34
> --- /dev/null
> +++ b/package/start-stop-daemon/Config.in
> @@ -0,0 +1,8 @@
> +config BR2_PACKAGE_START_STOP_DAEMON
> + bool "start-stop-daemon"
> + depends on BR2_USE_MMU # fork()
> + help
> + start-stop-daemon is used to control the creation and termination
> + of system-level processes.
> +
> + https://tracker.debian.org/pkg/dpkg
> diff --git a/package/start-stop-daemon/start-stop-daemon.hash b/package/start-stop-daemon/start-stop-daemon.hash
> new file mode 100644
> index 0000000..e3ab29f
> --- /dev/null
> +++ b/package/start-stop-daemon/start-stop-daemon.hash
> @@ -0,0 +1,2 @@
> +# From http://ftp.de.debian.org/debian/pool/main/d/dpkg/dpkg_1.16.15.dsc
> +sha256 92bca9901ba2d9300be42f6de8dbea59b8367a918a2abeeb47d2176c9cf86b55 dpkg_1.16.15.tar.xz
> diff --git a/package/start-stop-daemon/start-stop-daemon.mk b/package/start-stop-daemon/start-stop-daemon.mk
> new file mode 100644
> index 0000000..4790859
> --- /dev/null
> +++ b/package/start-stop-daemon/start-stop-daemon.mk
> @@ -0,0 +1,27 @@
> +################################################################################
> +#
> +# start-stop-daemon
> +#
> +################################################################################
> +
I would like a comment here explaining why the package is not called dpkg. E.g.
# Debian start-stop-daemon is part of dpkg. Since start-stop-daemon is the only
# interesting tool in it, we call the buildroot package start-stop-daemon.
> +START_STOP_DAEMON_VERSION = 1.16.15
> +START_STOP_DAEMON_SOURCE = dpkg_$(START_STOP_DAEMON_VERSION).tar.xz
> +START_STOP_DAEMON_SITE = http://snapshot.debian.org/archive/debian/20140616T044945Z/pool/main/d/dpkg
> +START_STOP_DAEMON_CONF_OPTS = --disable-dselect --disable-update-alternatives \
> + --disable-install-info --exec-prefix=/
If the line is split anyway, I personally prefer
START_STOP_DAEMON_CONF_OPTS = \
--disable-dselect \
--disable-update-alternatives \
--disable-install-info \
--exec-prefix=/
(this gives smaller/clearer diffs when something changes; and if the last line
change, git diff will still show the variable name as the 'function').
> +START_STOP_DAEMON_DEPENDENCIES = host-pkgconf \
> + $(if $(BR2_PACKAGE_BUSYBOX),busybox)
> +START_STOP_DAEMON_LICENSE = Public Domain
> +START_STOP_DAEMON_LICENSE_FILES = utils/start-stop-daemon.c
For static building, I need
START_STOP_DAEMON_CONF_ENV = \
dpkg_cv_va_copy=yes \
dpkg_cv_c99_snprintf=yes
With that added:
Tested-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>
Regards,
Arnout
> +
> +define START_STOP_DAEMON_BUILD_CMDS
> + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/lib/compat
> + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/utils
> +endef
> +
> +define START_STOP_DAEMON_INSTALL_TARGET_CMDS
> + $(INSTALL) -m 0755 -D $(@D)/utils/start-stop-daemon \
> + $(TARGET_DIR)/sbin/start-stop-daemon
> +endef
> +
> +$(eval $(autotools-package))
>
--
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
More information about the buildroot
mailing list