All of lore.kernel.org
 help / color / mirror / Atom feed
From: John Ernberg <john.ernberg@actia.se>
To: Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
	"buildroot@buildroot.org" <buildroot@buildroot.org>
Cc: "Jonas Blixt" <jonas.blixt@actia.se>,
	"Mårten Svanfeldt" <marten.svanfeldt@actia.se>
Subject: [Buildroot] [BUG?] per-package not fully working with dependencies and rebuild
Date: Fri, 10 Nov 2023 14:12:47 +0000	[thread overview]
Message-ID: <20231110141242.3796161-1-john.ernberg@actia.se> (raw)
In-Reply-To: <20191105164646.23820-2-thomas.petazzoni@bootlin.com>

Hi Thomas, list,

We are using buildroot 2023.2 with per-package setup and we've run into
a scenario where rebuilds of a package do not propagate properly into
the $(TARGET_DIR) area of the final image.

We have custom closed source packages A and B, where B depends on A.

If we make changes in A that do not require a rebuild of B, we just
want to rebuild A and then build our image.

However, since the $(TARGET_DIR) of A is rsync:ed into Bs per-package
$(TARGET_DIR), the final image assembly ends up using whatever state of
A that was last true when B was last rebuilt, because of naming.

The $(TARGET_DIR) of A is rsync:ed into the final $(TARGET_DIR), and
then the $(TARGET_DIR) of B is rsync:ed into the final $(TARGET_DIR),
overwriting whatever A put there.

Looking at pkg-utils.mk prepare-per-package-directory, the call with
target is what is causing the issue.

Thinking of this from a packaging aspect, the per-package $(TARGET_DIR)
should only contain whatever the package itself is producing, as this
matches the behavior of every package-based Linux distro and it is our
impression of per-package that this is what it is meant to do.

Removing this call however breaks multiple packages with errors of
missing directories, which would need fixing. The most reliable fix is
probably to have a step in target install that touches the basic
directories before it runs any hooks and main CMDS.

Does all this sound like a sensible assessment?

Thanks! // John Ernberg
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

  parent reply	other threads:[~2023-11-10 14:12 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-05 16:46 [Buildroot] [PATCH next v8 0/6] Top-level parallel build support Thomas Petazzoni
2019-11-05 16:46 ` [Buildroot] [PATCH next v8 1/6] core: implement per-package SDK and target Thomas Petazzoni
2019-11-29 14:20   ` Peter Korsgaard
2023-11-10 14:12   ` John Ernberg [this message]
2019-11-05 16:46 ` [Buildroot] [PATCH next v8 2/6] Makefile: allow top-level parallel build with BR2_PER_PACKAGE_DIRECTORIES=y Thomas Petazzoni
2019-11-29 14:20   ` Peter Korsgaard
2019-11-05 16:46 ` [Buildroot] [PATCH next v8 3/6] package/pkg-generic: make libtool .la files compatible with per-package directories Thomas Petazzoni
2019-11-20 20:22   ` Matthew Weber
2019-11-29 14:24   ` Peter Korsgaard
2019-11-05 16:46 ` [Buildroot] [PATCH next v8 4/6] package/pkg-kconfig: handle KCONFIG_DEPENDENCIES " Thomas Petazzoni
2019-11-29 14:39   ` Peter Korsgaard
2019-11-05 16:46 ` [Buildroot] [PATCH next v8 5/6] docs/manual: add details about top-level parallel build support Thomas Petazzoni
2019-11-29 14:43   ` Peter Korsgaard
2019-11-05 16:46 ` [Buildroot] [PATCH next v8 6/6] docs/manual: document the effect of per-package directory on variables Thomas Petazzoni
2019-11-29 14:43   ` Peter Korsgaard
2019-11-06 19:37 ` [Buildroot] [PATCH next v8 0/6] Top-level parallel build support Bernd Kuhls

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=20231110141242.3796161-1-john.ernberg@actia.se \
    --to=john.ernberg@actia.se \
    --cc=buildroot@buildroot.org \
    --cc=jonas.blixt@actia.se \
    --cc=marten.svanfeldt@actia.se \
    --cc=thomas.petazzoni@bootlin.com \
    /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.