From: Herve Codina via buildroot <buildroot@buildroot.org>
To: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>, buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH 2/2] package/pkg-utils: teach per-package-rsync to copy or hardlink dest
Date: Wed, 18 Oct 2023 17:38:07 +0200 [thread overview]
Message-ID: <20231018173807.1586a883@bootlin.com> (raw)
In-Reply-To: <20231018152047.GA2607@scaer>
Yann, All,
On Wed, 18 Oct 2023 17:20:47 +0200
"Yann E. MORIN" <yann.morin.1998@free.fr> wrote:
> Hervé, All
>
[...]
>
> > > --- a/package/pkg-utils.mk
> > > +++ b/package/pkg-utils.mk
> > > @@ -214,10 +214,19 @@ ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),y)
> > > # $1: space-separated list of packages to rsync from
> > > # $2: 'host' or 'target'
> > > # $3: destination directory
> > > +# $4: literal "copy" or "hardlink" to copy or hardlink files from src to dest
> > > define per-package-rsync
> > > mkdir -p $(3)
> > > $(foreach pkg,$(1),\
> > > - rsync -a --link-dest=$(PER_PACKAGE_DIR)/$(pkg)/$(2)/ \
> > > + rsync -a \
> > > + --hard-links \
> > You preserve hard links (--hard-links) in all cases (copy and hardlink).
> > In case of copy, is it correct to preserve hard links ?
>
> Yes, --hard-links is:
>
> This tells rsync to look for hard-linked files in the source and
> link together the corresponding files on the destination.
In case of 'copy', you keep hard-links already present in source and so the
destination (final host/target dirs) is not a full copy.
Some hard-links can be present and post-build scripts can still corrupt some
per-package sources.
I don't understand why keeping hard-links on this last copy is needed and I
probably miss something...
Regards,
Hervé
>
> Regards,
> Yann E. MORIN.
>
> > > + $(if $(filter hardlink,$(4)), \
> > > + --link-dest=$(PER_PACKAGE_DIR)/$(pkg)/$(2)/, \
> > > + $(if $(filter copy,$(4)), \
> > > + $(empty), \
> > > + $(error per-package-rsync can only "copy" or "hardlink", not "$(4)") \
> > > + ) \
> > > + ) \
> > > $(PER_PACKAGE_DIR)/$(pkg)/$(2)/ \
> > > $(3)$(sep))
> > > endef
> >
> > [...]
> >
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next prev parent reply other threads:[~2023-10-18 15:38 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-17 21:01 [Buildroot] [PATCH 0/2] package/pkg-utils: fix regression in size and build time with PPD (branch yem/rsync-copy) Yann E. MORIN
2023-10-17 21:01 ` [Buildroot] [PATCH 1/2] Revert "package/pkg-utils.mk: break hardlinks in global {TARGET, HOST}_DIR on per-package build" Yann E. MORIN
2023-10-18 8:38 ` Herve Codina via buildroot
2023-10-26 18:34 ` Peter Korsgaard
2023-10-17 21:01 ` [Buildroot] [PATCH 2/2] package/pkg-utils: teach per-package-rsync to copy or hardlink dest Yann E. MORIN
2023-10-18 8:53 ` Herve Codina via buildroot
2023-10-18 15:20 ` Yann E. MORIN
2023-10-18 15:38 ` Herve Codina via buildroot [this message]
2023-10-18 16:18 ` Yann E. MORIN
2023-10-18 16:42 ` Herve Codina via buildroot
2023-10-26 18:34 ` Peter Korsgaard
2023-10-21 19:25 ` [Buildroot] [PATCH 0/2] package/pkg-utils: fix regression in size and build time with PPD (branch yem/rsync-copy) 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=20231018173807.1586a883@bootlin.com \
--to=buildroot@buildroot.org \
--cc=herve.codina@bootlin.com \
--cc=thomas.petazzoni@bootlin.com \
--cc=yann.morin.1998@free.fr \
/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 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.