On Thu, Jun 29, 2017 at 11:49:26PM +0200, Robert Schwebel wrote:
> Add the haveged package.
> 
> Signed-off-by: Robert Schwebel <r.schwe...@pengutronix.de>
> ---
>  ....ac-fix-handling-for-enable-clock_gettime.patch | 26 ++++++++
>  .../0002-init-fix-path-for-systemd-unit-dir.patch  | 24 +++++++
>  ...nstallation-of-systemd-unit-file-DESTDIR-.patch | 28 ++++++++
>  ...akefile.am-create-nonexisting-directories.patch | 31 +++++++++
>  ...file.am-do-not-call-systemd-during-compil.patch | 29 +++++++++
>  patches/haveged-1.9.1/autogen.sh                   |  1 +
>  patches/haveged-1.9.1/series                       |  8 +++
>  rules/haveged.in                                   |  7 ++
>  rules/haveged.make                                 | 76 
> ++++++++++++++++++++++
>  9 files changed, 230 insertions(+)
>  create mode 100644 
> patches/haveged-1.9.1/0001-configure.ac-fix-handling-for-enable-clock_gettime.patch
>  create mode 100644 
> patches/haveged-1.9.1/0002-init-fix-path-for-systemd-unit-dir.patch
>  create mode 100644 
> patches/haveged-1.9.1/0003-init-make-installation-of-systemd-unit-file-DESTDIR-.patch
>  create mode 100644 
> patches/haveged-1.9.1/0004-init.d-Makefile.am-create-nonexisting-directories.patch
>  create mode 100644 
> patches/haveged-1.9.1/0005-init.d-Makefile.am-do-not-call-systemd-during-compil.patch
>  create mode 120000 patches/haveged-1.9.1/autogen.sh
>  create mode 100644 patches/haveged-1.9.1/series
>  create mode 100644 rules/haveged.in
>  create mode 100644 rules/haveged.make
> 
> diff --git 
> a/patches/haveged-1.9.1/0001-configure.ac-fix-handling-for-enable-clock_gettime.patch
>  
> b/patches/haveged-1.9.1/0001-configure.ac-fix-handling-for-enable-clock_gettime.patch
> new file mode 100644
> index 000000000..20a34b466
> --- /dev/null
> +++ 
> b/patches/haveged-1.9.1/0001-configure.ac-fix-handling-for-enable-clock_gettime.patch
> @@ -0,0 +1,26 @@
> +From: Robert Schwebel <r.schwe...@pengutronix.de>
> +Date: Thu, 29 Jun 2017 22:30:34 +0200
> +Subject: [PATCH] configure.ac: fix handling for --enable-clock_gettime
> +
> +The logic for this configure option is broken; on ARM, we fall into the
> +*) path and the logic decides that this option is not set, no matter if
> +we set it or not.
> +
> +Signed-off-by: Robert Schwebel <r.schwe...@pengutronix.de>
> +---
> + configure.ac | 2 ++
> + 1 file changed, 2 insertions(+)
> +
> +diff --git a/configure.ac b/configure.ac
> +index f8d76c106014..e4f17a80d876 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -175,6 +175,8 @@ case "$host" in
> +  *)
> +     if test "x$enable_clock_gettime" = "xx"; then
> +       enable_clock_gettime="yes"
> ++    elif test "x$enable_clock_gettime" = "xyes"; then
> ++      enable_clock_gettime="yes"
> +     else
> +       AC_MSG_ERROR([no timer source for host :"$host".])
> +     fi
> diff --git 
> a/patches/haveged-1.9.1/0002-init-fix-path-for-systemd-unit-dir.patch 
> b/patches/haveged-1.9.1/0002-init-fix-path-for-systemd-unit-dir.patch
> new file mode 100644
> index 000000000..6ae95fbb5
> --- /dev/null
> +++ b/patches/haveged-1.9.1/0002-init-fix-path-for-systemd-unit-dir.patch
> @@ -0,0 +1,24 @@
> +From: Robert Schwebel <r.schwe...@pengutronix.de>
> +Date: Thu, 29 Jun 2017 22:53:16 +0200
> +Subject: [PATCH] init: fix path for systemd unit dir
> +
> +This branch was obviously not tested.
> +
> +Signed-off-by: Robert Schwebel <r.schwe...@pengutronix.de>
> +---
> + init.d/Makefile.am | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/init.d/Makefile.am b/init.d/Makefile.am
> +index ca3ad1c1e854..bf86773176a6 100644
> +--- a/init.d/Makefile.am
> ++++ b/init.d/Makefile.am
> +@@ -37,7 +37,7 @@ install-data-hook:
> + if ENABLE_SYSTEMD_LOOKUP
> +     install -p -m644 haveged.service `pkg-config 
> --variable=systemdsystemunitdir systemd`/haveged.service;
> + else
> +-    install -p -m644 haveged.service ($unit_dir)/haveged.service;
> ++    install -p -m644 haveged.service $(unit_dir)/haveged.service;
> + endif
> +     systemctl enable haveged.service;
> + 
> diff --git 
> a/patches/haveged-1.9.1/0003-init-make-installation-of-systemd-unit-file-DESTDIR-.patch
>  
> b/patches/haveged-1.9.1/0003-init-make-installation-of-systemd-unit-file-DESTDIR-.patch
> new file mode 100644
> index 000000000..5a536871a
> --- /dev/null
> +++ 
> b/patches/haveged-1.9.1/0003-init-make-installation-of-systemd-unit-file-DESTDIR-.patch
> @@ -0,0 +1,28 @@
> +From: Robert Schwebel <r.schwe...@pengutronix.de>
> +Date: Thu, 29 Jun 2017 22:54:11 +0200
> +Subject: [PATCH] init: make installation of systemd unit file DESTDIR aware
> +
> +The installation currently does not care about a DESTDIR, which is
> +imporant when cross compiling.
> +
> +Signed-off-by: Robert Schwebel <r.schwe...@pengutronix.de>
> +---
> + init.d/Makefile.am | 4 ++--
> + 1 file changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/init.d/Makefile.am b/init.d/Makefile.am
> +index bf86773176a6..2f92cb7fdde4 100644
> +--- a/init.d/Makefile.am
> ++++ b/init.d/Makefile.am
> +@@ -35,9 +35,9 @@ install-exec-hook:
> + 
> + install-data-hook:
> + if ENABLE_SYSTEMD_LOOKUP
> +-    install -p -m644 haveged.service `pkg-config 
> --variable=systemdsystemunitdir systemd`/haveged.service;
> ++    install -p -m644 haveged.service $(DESTDIR)`pkg-config 
> --variable=systemdsystemunitdir systemd`/haveged.service;
> + else
> +-    install -p -m644 haveged.service $(unit_dir)/haveged.service;
> ++    install -p -m644 haveged.service $(DESTDIR)$(unit_dir)/haveged.service;
> + endif
> +     systemctl enable haveged.service;
> + 
> diff --git 
> a/patches/haveged-1.9.1/0004-init.d-Makefile.am-create-nonexisting-directories.patch
>  
> b/patches/haveged-1.9.1/0004-init.d-Makefile.am-create-nonexisting-directories.patch
> new file mode 100644
> index 000000000..6f693b000
> --- /dev/null
> +++ 
> b/patches/haveged-1.9.1/0004-init.d-Makefile.am-create-nonexisting-directories.patch
> @@ -0,0 +1,31 @@
> +From: Robert Schwebel <r.schwe...@pengutronix.de>
> +Date: Thu, 29 Jun 2017 22:59:46 +0200
> +Subject: [PATCH] init.d/Makefile.am: create nonexisting directories
> +
> +install can't assume that all leading directories do already exist.
> +While this will in most cases be true on normal desktop/server
> +distributions, cross build systems or systems that build single packages
> +will build into a fresh hierarchy. Add -D to install, in order to create
> +the leading directories.
> +
> +Signed-off-by: Robert Schwebel <r.schwe...@pengutronix.de>
> +---
> + init.d/Makefile.am | 4 ++--
> + 1 file changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/init.d/Makefile.am b/init.d/Makefile.am
> +index 2f92cb7fdde4..4a6e551f0b51 100644
> +--- a/init.d/Makefile.am
> ++++ b/init.d/Makefile.am
> +@@ -35,9 +35,9 @@ install-exec-hook:
> + 
> + install-data-hook:
> + if ENABLE_SYSTEMD_LOOKUP
> +-    install -p -m644 haveged.service $(DESTDIR)`pkg-config 
> --variable=systemdsystemunitdir systemd`/haveged.service;
> ++    install -p -D -m644 haveged.service $(DESTDIR)`pkg-config 
> --variable=systemdsystemunitdir systemd`/haveged.service;
> + else
> +-    install -p -m644 haveged.service $(DESTDIR)$(unit_dir)/haveged.service;
> ++    install -p -D -m644 haveged.service 
> $(DESTDIR)$(unit_dir)/haveged.service;
> + endif
> +     systemctl enable haveged.service;
> + 
> diff --git 
> a/patches/haveged-1.9.1/0005-init.d-Makefile.am-do-not-call-systemd-during-compil.patch
>  
> b/patches/haveged-1.9.1/0005-init.d-Makefile.am-do-not-call-systemd-during-compil.patch
> new file mode 100644
> index 000000000..359708a18
> --- /dev/null
> +++ 
> b/patches/haveged-1.9.1/0005-init.d-Makefile.am-do-not-call-systemd-during-compil.patch
> @@ -0,0 +1,29 @@
> +From: Robert Schwebel <r.schwe...@pengutronix.de>
> +Date: Thu, 29 Jun 2017 23:03:06 +0200
> +Subject: [PATCH] init.d/Makefile.am: do not call systemd during compilation
> +
> +Remove systemd call: we can not assume that the user is allowed to do
> +so: he might not if he compiles the software as non-root.
> +
> +When cross-compiling, the intended systemd might not even run on the
> +same hardware.
> +
> +We better leave the decision whether or not to call systemd to the
> +administrator.
> +
> +Signed-off-by: Robert Schwebel <r.schwe...@pengutronix.de>
> +---
> + init.d/Makefile.am | 2 --
> + 1 file changed, 2 deletions(-)
> +
> +diff --git a/init.d/Makefile.am b/init.d/Makefile.am
> +index 4a6e551f0b51..efb01e3c8aab 100644
> +--- a/init.d/Makefile.am
> ++++ b/init.d/Makefile.am
> +@@ -39,6 +39,4 @@ if ENABLE_SYSTEMD_LOOKUP
> + else
> +     install -p -D -m644 haveged.service 
> $(DESTDIR)$(unit_dir)/haveged.service;
> + endif
> +-    systemctl enable haveged.service;
> +-
> + endif
> diff --git a/patches/haveged-1.9.1/autogen.sh 
> b/patches/haveged-1.9.1/autogen.sh
> new file mode 120000
> index 000000000..9f8a4cb7d
> --- /dev/null
> +++ b/patches/haveged-1.9.1/autogen.sh
> @@ -0,0 +1 @@
> +../autogen.sh
> \ No newline at end of file
> diff --git a/patches/haveged-1.9.1/series b/patches/haveged-1.9.1/series
> new file mode 100644
> index 000000000..0e24f4d6b
> --- /dev/null
> +++ b/patches/haveged-1.9.1/series
> @@ -0,0 +1,8 @@
> +# generated by git-ptx-patches
> +#tag:base --start-number 1
> +0001-configure.ac-fix-handling-for-enable-clock_gettime.patch
> +0002-init-fix-path-for-systemd-unit-dir.patch
> +0003-init-make-installation-of-systemd-unit-file-DESTDIR-.patch
> +0004-init.d-Makefile.am-create-nonexisting-directories.patch
> +0005-init.d-Makefile.am-do-not-call-systemd-during-compil.patch
> +# d6dc334689ded00c3e697eb3fe83b57a  - git-ptx-patches magic
> diff --git a/rules/haveged.in b/rules/haveged.in
> new file mode 100644
> index 000000000..9a8a59702
> --- /dev/null
> +++ b/rules/haveged.in
> @@ -0,0 +1,7 @@
> +## SECTION=networking
> +
> +config HAVEGED
> +     tristate
> +     prompt "haveged"
> +     help
> +       haveged is a simple entropy daemon
> diff --git a/rules/haveged.make b/rules/haveged.make
> new file mode 100644
> index 000000000..0ef3559e6
> --- /dev/null
> +++ b/rules/haveged.make
> @@ -0,0 +1,76 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2017 by Robert Schwebel <r.schwe...@pengutronix.de>
> +#
> +# See CREDITS for details about who has contributed to this project.
> +#
> +# For further information about the PTXdist project and license conditions
> +# see the README file.
> +#
> +
> +#
> +# We provide this package
> +#
> +PACKAGES-$(PTXCONF_HAVEGED) += haveged
> +
> +#
> +# Paths and names
> +#
> +HAVEGED_VERSION      := 1.9.1
> +HAVEGED_MD5  := 015ff58cd10607db0e0de60aeca2f5f8
> +HAVEGED              := haveged-$(HAVEGED_VERSION)
> +HAVEGED_SUFFIX       := tar.gz
> +HAVEGED_URL  := http://www.issihosts.com/haveged/$(HAVEGED).$(HAVEGED_SUFFIX)
> +HAVEGED_SOURCE       := $(SRCDIR)/$(HAVEGED).$(HAVEGED_SUFFIX)
> +HAVEGED_DIR  := $(BUILDDIR)/$(HAVEGED)
> +HAVEGED_LICENSE      := GPL-3.0 

Trailing whitespace.

> +
> +# 
> ----------------------------------------------------------------------------
> +# Prepare
> +# 
> ----------------------------------------------------------------------------
> +
> +#
> +# autoconf
> +#
> +HAVEGED_CONF_TOOL    := autoconf
> +HAVEGED_CONF_OPT     := \
> +     $(CROSS_AUTOCONF_USR) \
> +     --enable-clock_gettime \
> +     --enable-daemon=yes \
> +     --enable-diagnostic=no \
> +     --enable-init=service.fedora \
> +     --enable-initdir=? \
> +     --enable-nistest=no \
> +     --enable-olt=no \
> +     --enable-threads=no \
> +     --enable-tune=yes

Please use --enable-XXX and --disable-XXX, not arguments necessary.

Michael

> +
> +# 
> ----------------------------------------------------------------------------
> +# Target-Install
> +# 
> ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/haveged.targetinstall:
> +     @$(call targetinfo)
> +
> +     @$(call install_init, haveged)
> +     @$(call install_fixup, haveged,PRIORITY,optional)
> +     @$(call install_fixup, haveged,SECTION,base)
> +     @$(call install_fixup, haveged,AUTHOR,"Robert Schwebel 
> <r.schwe...@pengutronix.de>")
> +     @$(call install_fixup, haveged,DESCRIPTION,missing)
> +
> +     @$(call install_lib, haveged, 0, 0, 0644, libhavege)
> +     @$(call install_copy, haveged, 0, 0, 0755, -, /usr/sbin/haveged)
> +
> +ifdef PTXCONF_INITMETHOD_SYSTEMD
> +     @$(call install_copy, haveged, 0, 0, 0644, -, 
> /usr/lib/systemd/system/haveged.service)

Use install_alternative to allow overwriting it.

> +     @$(call install_link, haveged, \

no break here...

> +             ../haveged.service, \
> +             /usr/lib/systemd/system/multi-user.target.wants/haveged.service 
> \

... and here

> +     )

Maybe this should start earlier? Does it have any requirements? This might
require patching the service file to add DefaultDependencies=no.

Michael

> +endif
> +
> +     @$(call install_finish, haveged)
> +
> +     @$(call touch)
> +
> +# vim: syntax=make
> -- 
> 2.13.2
> 
> 
> _______________________________________________
> ptxdist mailing list
> ptxdist@pengutronix.de

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

Reply via email to