On Mon, May 31, 2021 at 01:57:06PM +0200, Roland Hieber wrote:
> Signed-off-by: Roland Hieber <[email protected]>
> ---
> ...le-fix-installation-to-empty-DESTDIR.patch | 40 ++++++++++
> patches/pps-tools-1.0.2/series | 4 +
> rules/pps-tools.in | 10 +++
> rules/pps-tools.make | 80 +++++++++++++++++++
> 4 files changed, 134 insertions(+)
> create mode 100644
> patches/pps-tools-1.0.2/0001-Makefile-fix-installation-to-empty-DESTDIR.patch
> create mode 100644 patches/pps-tools-1.0.2/series
> create mode 100644 rules/pps-tools.in
> create mode 100644 rules/pps-tools.make
>
> diff --git
> a/patches/pps-tools-1.0.2/0001-Makefile-fix-installation-to-empty-DESTDIR.patch
>
> b/patches/pps-tools-1.0.2/0001-Makefile-fix-installation-to-empty-DESTDIR.patch
> new file mode 100644
> index 000000000000..97498dc22e1b
> --- /dev/null
> +++
> b/patches/pps-tools-1.0.2/0001-Makefile-fix-installation-to-empty-DESTDIR.patch
> @@ -0,0 +1,40 @@
> +From: Thomas Petazzoni <[email protected]>
> +Date: Mon, 3 Dec 2018 13:55:02 +0100
> +Subject: [PATCH] Makefile: fix installation to empty DESTDIR
> +
> +When DESTDIR is empty, or at least does not contain usr/bin or
> +usr/include, the installation fails, because install does not create
> +those intermediate directories:
> +
> +$ make DESTDIR=/tmp/koin install
> +install -m 755 -t /tmp/koin/usr/bin ppsfind ppstest ppsctl ppswatch ppsldisc
> +install: failed to access '/tmp/koin/usr/bin': No such file or directory
> +
> +Using the -D option of install fixes this:
> +
> +$ make DESTDIR=/tmp/koin install
> +install -D -m 755 -t /tmp/koin/usr/bin ppsfind ppstest ppsctl ppswatch
> ppsldisc
> +install -D -m 644 -t /tmp/koin/usr/include/sys timepps.h
> +
> +Signed-off-by: Thomas Petazzoni <[email protected]>
> +Origin: upstream;
> https://github.com/redlab-i/pps-tools/commit/b3eae485a8c759d1ce1727076b2c287deb5f24e1
> +Signed-off-by: Roland Hieber <[email protected]>
> +---
> + Makefile | 4 ++--
> + 1 file changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/Makefile b/Makefile
> +index 939466885e9f..30672f79585c 100644
> +--- a/Makefile
> ++++ b/Makefile
> +@@ -19,8 +19,8 @@ include .depend
> + endif
> +
> + install : all
> +- install -m 755 -t $(DESTDIR)/usr/bin ppsfind $(TARGETS)
> +- install -m 644 -t $(DESTDIR)/usr/include/sys timepps.h
> ++ install -D -m 755 -t $(DESTDIR)/usr/bin ppsfind $(TARGETS)
> ++ install -D -m 644 -t $(DESTDIR)/usr/include/sys timepps.h
> +
> + uninstall :
> + for f in $(TARGETS); do rm $(DESTDIR)/usr/bin/$$f; done
> diff --git a/patches/pps-tools-1.0.2/series b/patches/pps-tools-1.0.2/series
> new file mode 100644
> index 000000000000..7b3c7762325f
> --- /dev/null
> +++ b/patches/pps-tools-1.0.2/series
> @@ -0,0 +1,4 @@
> +# generated by git-ptx-patches
> +#tag:base --start-number 1
> +0001-Makefile-fix-installation-to-empty-DESTDIR.patch
> +# eb24c32ce10c0f011f2d37488c8de58c - git-ptx-patches magic
> diff --git a/rules/pps-tools.in b/rules/pps-tools.in
> new file mode 100644
> index 000000000000..8b50b475de47
> --- /dev/null
> +++ b/rules/pps-tools.in
> @@ -0,0 +1,10 @@
> +## SECTION=shell_and_console
> +
> +config PPS_TOOLS
> + tristate
> + prompt "pps-tools"
> + select LIBC_M
> + help
> + The pps-tools provide applications to configure and test pulse per
> + second devices. They also provide the official PPS API header
> + timepps.h.
> diff --git a/rules/pps-tools.make b/rules/pps-tools.make
> new file mode 100644
> index 000000000000..94b2c3b7dfd4
> --- /dev/null
> +++ b/rules/pps-tools.make
> @@ -0,0 +1,80 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2020 by Daniel Glöckner <[email protected]>
> +# Copyright (C) 2021 Roland Hieber, Pengutronix <[email protected]>
> +#
> +# For further information about the PTXdist project and license conditions
> +# see the README file.
> +#
> +
> +#
> +# We provide this package
> +#
> +PACKAGES-$(PTXCONF_PPS_TOOLS) += pps-tools
> +
> +#
> +# Paths and names
> +#
> +PPS_TOOLS_VERSION := 1.0.2
> +PPS_TOOLS_MD5 := 6eddfeb151cffe8751f4766e428b8eb7
> +PPS_TOOLS := pps-tools-$(PPS_TOOLS_VERSION)
> +PPS_TOOLS_SUFFIX := tar.gz
> +PPS_TOOLS_URL :=
> https://github.com/redlab-i/pps-tools/archive/v$(PPS_TOOLS_VERSION).$(PPS_TOOLS_SUFFIX)
> +PPS_TOOLS_SOURCE := $(SRCDIR)/$(PPS_TOOLS).$(PPS_TOOLS_SUFFIX)
> +PPS_TOOLS_DIR := $(BUILDDIR)/$(PPS_TOOLS)
> +PPS_TOOLS_LICENSE := GPL-2.0-or-later
> +PPS_TOOLS_LICENSE_FILES := \
> + file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
> +
> file://ppsctl.c;startline=6;endline=14;md5=681a7c053fa782c41658ac9fc7dd1579
> +
> +#
> ----------------------------------------------------------------------------
> +# Prepare
> +#
> ----------------------------------------------------------------------------
> +
> +PPS_TOOLS_CONF_TOOL := NO
> +
> +#
> ----------------------------------------------------------------------------
> +# Compile
> +#
> ----------------------------------------------------------------------------
> +
> +PPS_TOOLS_MAKE_ENV := $(CROSS_ENV)
> +
> +$(STATEDIR)/pps-tools.compile:
> + @$(call targetinfo)
> +
> + @# Everything depends on .depends, which is made by but also included
> + @# in the Makefile, so make sure that "make install" does not rebuild
> + @# everything
> + @cd ${PPS_TOOLS_DIR} && \
> + ${PPS_TOOLS_MAKE_ENV} \
> + ${MAKE} .depend
> + @cd ${PPS_TOOLS_DIR} && \
> + ${PPS_TOOLS_MAKE_ENV} \
> + ${MAKE} ${PARALLELMFLAGS} all
@$(call compile, PPS_TOOLS, .depend)
@$(call world/compile, PPS_TOOLS)
> +
> + @$(call touch)
> +
> +#
> ----------------------------------------------------------------------------
> +# Target-Install
> +#
> ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/pps-tools.targetinstall:
> + @$(call targetinfo)
> +
> + @$(call install_init, pps-tools)
> + @$(call install_fixup, pps-tools,PRIORITY,optional)
> + @$(call install_fixup, pps-tools,SECTION,base)
> + @$(call install_fixup, pps-tools,AUTHOR,"Daniel Glöckner
> <[email protected]>")
> + @$(call install_fixup, pps-tools,DESCRIPTION,missing)
> +
> + @$(call install_copy, pps-tools, 0, 0, 0755, -, /usr/bin/ppsfind)
> + @$(call install_copy, pps-tools, 0, 0, 0755, -, /usr/bin/ppstest)
> + @$(call install_copy, pps-tools, 0, 0, 0755, -, /usr/bin/ppsctl)
> + @$(call install_copy, pps-tools, 0, 0, 0755, -, /usr/bin/ppswatch)
> + @$(call install_copy, pps-tools, 0, 0, 0755, -, /usr/bin/ppsldisc)
> +
> + @$(call install_finish, pps-tools)
> +
> + @$(call touch)
> +
> +# vim: syntax=make
> --
> 2.29.2
>
>
> _______________________________________________
> ptxdist mailing list
> [email protected]
> To unsubscribe, send a mail with subject "unsubscribe" to
> [email protected]
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
ptxdist mailing list
[email protected]
To unsubscribe, send a mail with subject "unsubscribe" to
[email protected]