From: Luca Ceresoli <luca@lucaceresoli.net>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 15/21 RFC] core/pkg-generic: add macro to hardlink-or-copy
Date: Wed, 18 Nov 2015 16:40:17 +0100 [thread overview]
Message-ID: <564C9BE1.6010008@lucaceresoli.net> (raw)
In-Reply-To: <13184d01305cbba2861610b0e54ffa3895c8a2f0.1447713615.git.yann.morin.1998@free.fr>
Dear Yann,
Yann E. MORIN wrote:
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Cc: Luca Ceresoli <luca@lucaceresoli.net>
> ---
> package/pkg-generic.mk | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
>
> diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
> index 544ae5c..82fbeb0 100644
> --- a/package/pkg-generic.mk
> +++ b/package/pkg-generic.mk
> @@ -305,6 +305,24 @@ endif
> endef
>
> ################################################################################
> +# hardlink-copy -- hardlink source and destination if possible, otherwise
> +# do a simple copy
> +#
> +# argument 1 is the source
> +# argument 2 is the destination *directory*
> +#
> +# example:
> +# $(call hard-link-copy,source,destination)
> +#
> +# Note: we make that a single command, so se can:
> +# - use '$(Q)' in front of it and properly silence the whole macro,
> +# - use '|| exit 1' after it, so we can exit on error in compound commands.
> +################################################################################
> +define hardlink-copy
> + { mkdir -p $(2) && { cp -l $(1) $(2) 2>/dev/null || cp $(1) $(2); } }
> +endef
> +
Good idea! But wouldn't it fit better in pkg-utils.mk? Indeed it's very
generic.
--
Luca
next prev parent reply other threads:[~2015-11-18 15:40 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-16 22:47 [Buildroot] [PATCH 0/21 RFC] core/legal-info: fixes, completness and enhancements (branch yem/legal-patch) Yann E. MORIN
2015-11-16 22:46 ` [Buildroot] [PATCH 01/21 RFC] package/libecore: do not build anything at patch time Yann E. MORIN
2015-11-17 11:16 ` Thomas Petazzoni
2015-11-17 12:20 ` Romain Naour
2015-11-17 20:16 ` Romain Naour
2015-11-17 16:03 ` Peter Korsgaard
2015-11-16 22:46 ` [Buildroot] [PATCH 02/21 RFC] core/legal-info: fix missing double-$ Yann E. MORIN
2015-11-17 11:19 ` Thomas Petazzoni
2015-11-17 16:03 ` Peter Korsgaard
2015-11-16 22:46 ` [Buildroot] [PATCH 03/21 RFC] package/linux-headers: add licensing information Yann E. MORIN
2015-11-17 11:19 ` Thomas Petazzoni
2015-11-17 16:04 ` Peter Korsgaard
2015-11-16 22:46 ` [Buildroot] [PATCH 04/21 RFC] core/legal-info: allow ignoring packages from the legal-info Yann E. MORIN
2015-11-17 11:22 ` Thomas Petazzoni
2015-11-17 17:35 ` Luca Ceresoli
2015-11-17 19:28 ` Yann E. MORIN
2015-11-17 20:14 ` Thomas Petazzoni
2015-11-17 21:26 ` Yann E. MORIN
2015-11-17 21:43 ` Arnout Vandecappelle
2015-11-17 21:48 ` Arnout Vandecappelle
2015-11-16 22:47 ` [Buildroot] [PATCH 05/21 RFC] core/pkg-virtual: ignore from legal-info output Yann E. MORIN
2015-11-17 11:25 ` Thomas Petazzoni
2015-11-17 19:35 ` Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 06/21 RFC] package/gcc: add licensing information Yann E. MORIN
2015-11-17 11:28 ` Thomas Petazzoni
2015-11-17 21:15 ` Yann E. MORIN
2015-11-17 21:25 ` Thomas Petazzoni
2015-11-17 21:40 ` Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 07/21 RFC] package/gcc: handle " Yann E. MORIN
2015-11-17 11:31 ` Thomas Petazzoni
2015-11-17 21:20 ` Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 08/21 RFC] package/gcc: add a patch for arc rather than using sed Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 09/21 RFC] package/gcc: properly extract and patch sources Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 10/21 RFC] package/gcc: make host-gcc a pure host package Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 11/21 RFC] package/gcc: make -initial and -final use sources from host-gcc Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 12/21 RFC] package/gcc: include the extensa overlay in the legal-info output Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 13/21 RFC] package/perl: include perl-cross " Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 14/21 RFC] core: add a global variable with already-unquoted global patch dir Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 15/21 RFC] core/pkg-generic: add macro to hardlink-or-copy Yann E. MORIN
2015-11-18 15:40 ` Luca Ceresoli [this message]
2015-11-16 22:47 ` [Buildroot] [PATCH 16/21 RFC] core/legal-info: use the macro to install source archives Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 17/21 RFC] core/legal-info: install source archives in their own sub-dir Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 18/21 RFC] core/legal-info: add package version to license directory Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 19/21 RFC] core/apply-patches: store full path of applied patches Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 20/21 RFC] core/legal-info: also save patches Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 21/21 RFC] core/pkg-infra: ensure legal-info works in off-line mode Yann E. MORIN
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=564C9BE1.6010008@lucaceresoli.net \
--to=luca@lucaceresoli.net \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox