All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v7 3/8] core: implement per-package SDK and target
Date: Wed, 6 Nov 2019 08:57:33 +0100	[thread overview]
Message-ID: <20191106085733.3b339da7@windsurf> (raw)
In-Reply-To: <CAJ4jsafpnaBRuxtd-6RFAGVcFgkEgmqNbjDLgPEYQV5DXGMxMw@mail.gmail.com>

Hello,

On Tue, 5 Nov 2019 16:05:50 -0300
Carlos Santos <unixmania@gmail.com> wrote:

> > Or we could:
> >
> >  (1) Move the /etc/resolv.conf symlink from system/skeleton/ to
> >      package/skeleton-init-sysv/skeleton/etc.
> >
> >  (2) Tweak the systemd.mk so that it always creates resolv.conf, either
> >      pointing to ../run/systemd/resolve/resolv.conf when resolved is
> >      enabled, or to /tmp/resolv.conf otherwise.
> >
> > This would avoid the overwriting entirely.
> >
> > What do you think ?
> >
> > Best regards,
> >
> This would prevent NetworkManager from updating resolv.conf. See
> https://bugs.busybox.net/show_bug.cgi?id=9881

Then I guess the TARGET_FINALIZE_HOOKS is the only solution here.

But thinking more about this issue, it really means that no package
should overwrite any file installed by one of its dependencies: this
means that the check-uniq-files stuff that Yann recently removed was in
fact useful.

Indeed, if we have the following scenario:

 - Package A installs file /foo/bar

 - Package B depends on A, and overwrites /foo/bar with some contents

 - Package C depends on A

Then, at the end in the target root filesystem, we will have A's
version of /foo/bar, and not B's version. Just like Jan explained, the
final rsync will rsync the per-package target directories in this order
(due to alphabetic ordering):

 A, B, C

So, in the end, it is the version of /foo/bar in the per-package
directory of C that wins, and because C depends on A, the version of
/foo/bar in C's per-package directory is the one coming from package A.

So, it is really important for packages *not* to overwrite any file
installed by any other package, even if said package is in its
dependencies.

Am I missing something here ?

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

  reply	other threads:[~2019-11-06  7:57 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-28 10:43 [Buildroot] [PATCH v7 0/8] Top-level parallel build support Thomas Petazzoni
2018-12-28 10:43 ` [Buildroot] [PATCH v7 1/8] support/scripts/check-host-rpath: document existing functions Thomas Petazzoni
2018-12-28 12:47   ` Yann E. MORIN
2019-01-17 21:33   ` Peter Korsgaard
2018-12-28 10:43 ` [Buildroot] [PATCH v7 2/8] Makefile: move definition of TARGET_DIR inside .config condition Thomas Petazzoni
2018-12-28 12:49   ` Yann E. MORIN
2019-01-17 21:35   ` Peter Korsgaard
2018-12-28 10:43 ` [Buildroot] [PATCH v7 3/8] core: implement per-package SDK and target Thomas Petazzoni
2018-12-30 21:52   ` Yann E. MORIN
2018-12-31 14:31     ` Thomas Petazzoni
2018-12-31 14:45       ` Yann E. MORIN
2019-01-08 18:02   ` Jan Kundrát
2019-11-05 16:38     ` Thomas Petazzoni
2019-11-05 19:05       ` Carlos Santos
2019-11-06  7:57         ` Thomas Petazzoni [this message]
2019-11-06  8:13           ` Jan Kundrát
2018-12-28 10:43 ` [Buildroot] [PATCH v7 4/8] Makefile: allow top-level parallel build with BR2_PER_PACKAGE_DIRECTORIES=y Thomas Petazzoni
2018-12-28 12:51   ` Yann E. MORIN
2018-12-28 10:43 ` [Buildroot] [PATCH v7 5/8] package/pkg-generic: make libtool .la files compatible with per-package directories Thomas Petazzoni
2018-12-31  8:44   ` Yann E. MORIN
2018-12-28 10:43 ` [Buildroot] [PATCH v7 6/8] package/pkg-kconfig: handle KCONFIG_DEPENDENCIES " Thomas Petazzoni
2018-12-28 10:43 ` [Buildroot] [PATCH v7 7/8] docs/manual: add details about top-level parallel build support Thomas Petazzoni
2018-12-28 13:03   ` Yann E. MORIN
2018-12-28 13:08     ` Thomas Petazzoni
2018-12-31  8:46       ` Yann E. MORIN
2018-12-28 10:43 ` [Buildroot] [PATCH v7 8/8] docs/manual: document the effect of per-package directory on variables Thomas Petazzoni
2018-12-28 17:21 ` [Buildroot] [PATCH v7 0/8] Top-level parallel build support Thomas Petazzoni
2019-02-22 16:18   ` Andreas Naumann
2019-02-22 18:07     ` Vadim Kochan
2019-02-22 20:29       ` Thomas Petazzoni
2019-02-25  1:10         ` Vadim Kochan
2019-02-25  8:05           ` Thomas Petazzoni
2019-02-25  8:33             ` Vadim Kochan
2019-03-01 14:50             ` Vadym Kochan
2019-03-01 17:18               ` Yann E. MORIN
2019-03-04  7:24                 ` Arnout Vandecappelle
2019-03-04 10:22                   ` Thomas Petazzoni

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=20191106085733.3b339da7@windsurf \
    --to=thomas.petazzoni@bootlin.com \
    --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 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.