All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 00/50 v2] package/busybox: invert dependencies
@ 2018-07-08  9:46 Yann E. MORIN
  2018-07-08  9:45 ` [Buildroot] [PATCH 01/50 v2] package/busybox: update to 1.29.0 Yann E. MORIN
                   ` (50 more replies)
  0 siblings, 51 replies; 68+ messages in thread
From: Yann E. MORIN @ 2018-07-08  9:46 UTC (permalink / raw)
  To: buildroot

Hello All!

Currently, the issue that busybox may install the same executables as
those from other packages, is handled in all those packages. This is
not very practical from a maintenance point of view.

Furthermore, this means that those packages all overwrite the
busybox-installed applets, which means that this triggers the
no-two-packages-touch-the-same-file rule. So far, this is only a
warning, but when we eventually go with TLPB, we may have to enforce
that rule.

But busybox can be told to be smart, and not replace existing files
during installation. This is in fact what we do with a hook, which uses
'sed' to force the 'noclobber' install. But now, Busybox upstream has
proper support for doing a noclobber install without artifice. So we
bump busybox to the latest release, use the new install-noclobber rule,
and drop our hook.

All other commits are just trivial dependency order exchange between a
package and busybox, except for syslog-ng, for which we must take care
that busybox does not overwrite the init script.

Eventually, we also add a new dependency onto the 'attr' package, to
solve a potential conflict with the setfattr applet.

Inverting a single dependency could introduce a dependency loop, which
would be resolved by a latter inversion. For example, suppose we were to
start with this initial situation:

    B -->-- A -->-- busybox
     `------>-------'

With the first inversion, we'd get to now have a dependency loop:

    B -->-- A -->-- busybox -->-- B

Then with the second inversion, we'd resolve that loop:

                    busybox -->-- B -->-- A
                           `------>------'

Detecting and avoiding those loops is not trivial, because they may
imply multiple intermediate packages between B and A. So, the series
does not attempt to prevent those loops, as they are entirely resolved
by the end of the series anyway.


Regards,
Yann E. MORIN.


The following changes since commit 0fe0c50d3683be4975a4551ac183707692b11215

  systemd: Fix polkit build order (2018-07-08 00:19:37 +0200)


are available in the git repository at:

  git://git.buildroot.org/~ymorin/git/buildroot.git

for you to fetch changes up to 7d4417e280d8c1db48496f8e35895c4819cae957

  support/scripts: don't draw most of busybox' dependencies (2018-07-08 11:24:23 +0200)


----------------------------------------------------------------
Yann E. MORIN (50):
      package/busybox: update to 1.29.0
      package/busybox: invert dependency with whois
      package/busybox: invert dependency with wget
      package/busybox: invert dependency with vim
      package/busybox: invert dependency with util-linux
      package/busybox: invert dependency with usbutils
      package/busybox: invert dependency with unzip
      package/busybox: invert dependency with traceroute
      package/busybox: invert dependency with tftpd
      package/busybox: invert dependency with tar
      package/busybox: invert dependency with sysvinit
      package/busybox: invert dependency with systemd
      package/busybox: invert dependency with syslog-ng
      package/busybox: invert dependency with sysklogd
      package/busybox: invert dependency with start-stop-daemon
      package/busybox: invert dependency with rsyslog
      package/busybox: invert dependency with psmisc
      package/busybox: invert dependency with procps-ng
      package/busybox: invert dependency with pciutils
      package/busybox: invert dependency with ntp
      package/busybox: invert dependency with nmap
      package/busybox: invert dependency with netcat-openbsd
      package/busybox: invert dependency with netcat
      package/busybox: invert dependency with net-tools
      package/busybox: invert dependency with mtd
      package/busybox: invert dependency with lsof
      package/busybox: invert dependency with less
      package/busybox: invert dependency with kmod
      package/busybox: invert dependency with iputils
      package/busybox: invert dependency with iproute2
      package/busybox: invert dependency with ifupdown
      package/busybox: invert dependency with ifplugd
      package/busybox: invert dependency with ifenslave
      package/busybox: invert dependency with i2c-tools
      package/busybox: invert dependency with gzip
      package/busybox: invert dependency with grep
      package/busybox: invert dependency with gawk
      package/busybox: invert dependency with fbset
      package/busybox: invert dependency with e2fsprogs
      package/busybox: invert dependency with dos2unix
      package/busybox: invert dependency with diffutils
      package/busybox: invert dependency with debianutils
      package/busybox: invert dependency with dcron
      package/busybox: invert dependency with cpio
      package/busybox: invert dependency with coreutils
      package/busybox: invert dependency with binutils
      package/busybox: invert dependency with bc
      package/busybox: invert dependency with bash
      package/busybox: add dependency on attr
      support/scripts: don't draw most of busybox' dependencies

 package/bash/bash.mk                               |  4 +-
 package/bc/bc.mk                                   |  5 --
 package/binutils/binutils.mk                       |  5 --
 ...ags-strip-non-l-arguments-returned-by-pkg.patch |  4 +-
 package/busybox/busybox.hash                       | 10 +---
 package/busybox/busybox.mk                         | 68 +++++++++++++++++++---
 package/coreutils/coreutils.mk                     |  6 --
 package/cpio/cpio.mk                               |  1 -
 package/dcron/dcron.mk                             |  5 --
 package/debianutils/debianutils.mk                 |  2 -
 package/diffutils/diffutils.mk                     |  4 --
 package/dos2unix/dos2unix.mk                       |  4 +-
 package/e2fsprogs/e2fsprogs.mk                     | 10 +---
 package/fbset/fbset.mk                             |  5 --
 package/gawk/gawk.mk                               |  5 --
 package/grep/grep.mk                               |  5 --
 package/gzip/gzip.mk                               |  2 -
 package/i2c-tools/i2c-tools.mk                     |  4 --
 package/ifenslave/ifenslave.mk                     |  1 -
 package/ifplugd/ifplugd.mk                         |  5 --
 package/ifupdown/ifupdown.mk                       |  1 -
 package/iproute2/iproute2.mk                       |  6 --
 package/iputils/iputils.mk                         |  6 --
 package/kmod/kmod.mk                               |  3 -
 package/less/less.mk                               |  3 +-
 package/lsof/lsof.mk                               |  3 -
 package/mtd/mtd.mk                                 |  4 --
 package/net-tools/net-tools.mk                     |  8 +--
 package/netcat-openbsd/netcat-openbsd.mk           |  6 --
 package/netcat/netcat.mk                           | 13 -----
 package/nmap/nmap.mk                               |  6 --
 package/ntp/ntp.mk                                 |  2 +-
 package/pciutils/pciutils.mk                       |  5 --
 package/procps-ng/procps-ng.mk                     | 10 +---
 package/psmisc/psmisc.mk                           |  5 --
 package/rsyslog/rsyslog.mk                         |  5 --
 package/start-stop-daemon/start-stop-daemon.mk     |  3 +-
 package/sysklogd/sysklogd.mk                       |  5 --
 package/syslog-ng/syslog-ng.mk                     |  5 --
 package/systemd/systemd.mk                         |  6 --
 package/sysvinit/sysvinit.mk                       |  5 --
 package/tar/tar.mk                                 |  7 +--
 package/tftpd/tftpd.mk                             |  5 --
 package/traceroute/traceroute.mk                   |  5 --
 package/unzip/unzip.mk                             |  2 -
 package/usbutils/usbutils.mk                       |  5 --
 package/util-linux/util-linux.mk                   |  6 --
 package/vim/vim.mk                                 |  5 +-
 package/wget/wget.mk                               |  5 --
 package/whois/whois.mk                             |  3 +-
 support/scripts/graph-depends                      | 11 ++++
 51 files changed, 90 insertions(+), 229 deletions(-)

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 68+ messages in thread

end of thread, other threads:[~2018-07-09 19:33 UTC | newest]

Thread overview: 68+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-08  9:46 [Buildroot] [PATCH 00/50 v2] package/busybox: invert dependencies Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 01/50 v2] package/busybox: update to 1.29.0 Yann E. MORIN
2018-07-08 10:34   ` Arnout Vandecappelle
2018-07-08  9:45 ` [Buildroot] [PATCH 02/50 v2] package/busybox: invert dependency with whois Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 03/50 v2] package/busybox: invert dependency with wget Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 04/50 v2] package/busybox: invert dependency with vim Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 05/50 v2] package/busybox: invert dependency with util-linux Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 06/50 v2] package/busybox: invert dependency with usbutils Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 07/50 v2] package/busybox: invert dependency with unzip Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 08/50 v2] package/busybox: invert dependency with traceroute Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 09/50 v2] package/busybox: invert dependency with tftpd Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 10/50 v2] package/busybox: invert dependency with tar Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 11/50 v2] package/busybox: invert dependency with sysvinit Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 12/50 v2] package/busybox: invert dependency with systemd Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 13/50 v2] package/busybox: invert dependency with syslog-ng Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 14/50 v2] package/busybox: invert dependency with sysklogd Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 15/50 v2] package/busybox: invert dependency with start-stop-daemon Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 16/50 v2] package/busybox: invert dependency with rsyslog Yann E. MORIN
2018-07-09  1:39   ` Carlos Santos
2018-07-08  9:45 ` [Buildroot] [PATCH 17/50 v2] package/busybox: invert dependency with psmisc Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 18/50 v2] package/busybox: invert dependency with procps-ng Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 19/50 v2] package/busybox: invert dependency with pciutils Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 20/50 v2] package/busybox: invert dependency with ntp Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 21/50 v2] package/busybox: invert dependency with nmap Yann E. MORIN
2018-07-08 11:12   ` Arnout Vandecappelle
2018-07-08 12:38     ` Yann E. MORIN
2018-07-08 14:03       ` Arnout Vandecappelle
2018-07-08  9:45 ` [Buildroot] [PATCH 22/50 v2] package/busybox: invert dependency with netcat-openbsd Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 23/50 v2] package/busybox: invert dependency with netcat Yann E. MORIN
2018-07-08 11:00   ` Arnout Vandecappelle
2018-07-08  9:45 ` [Buildroot] [PATCH 24/50 v2] package/busybox: invert dependency with net-tools Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 25/50 v2] package/busybox: invert dependency with mtd Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 26/50 v2] package/busybox: invert dependency with lsof Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 27/50 v2] package/busybox: invert dependency with less Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 28/50 v2] package/busybox: invert dependency with kmod Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 29/50 v2] package/busybox: invert dependency with iputils Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 30/50 v2] package/busybox: invert dependency with iproute2 Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 31/50 v2] package/busybox: invert dependency with ifupdown Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 32/50 v2] package/busybox: invert dependency with ifplugd Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 33/50 v2] package/busybox: invert dependency with ifenslave Yann E. MORIN
2018-07-08  9:45 ` [Buildroot] [PATCH 34/50 v2] package/busybox: invert dependency with i2c-tools Yann E. MORIN
2018-07-08  9:46 ` [Buildroot] [PATCH 35/50 v2] package/busybox: invert dependency with gzip Yann E. MORIN
2018-07-08  9:46 ` [Buildroot] [PATCH 36/50 v2] package/busybox: invert dependency with grep Yann E. MORIN
2018-07-08  9:46 ` [Buildroot] [PATCH 37/50 v2] package/busybox: invert dependency with gawk Yann E. MORIN
2018-07-08  9:46 ` [Buildroot] [PATCH 38/50 v2] package/busybox: invert dependency with fbset Yann E. MORIN
2018-07-08  9:46 ` [Buildroot] [PATCH 39/50 v2] package/busybox: invert dependency with e2fsprogs Yann E. MORIN
2018-07-08  9:46 ` [Buildroot] [PATCH 40/50 v2] package/busybox: invert dependency with dos2unix Yann E. MORIN
2018-07-08  9:46 ` [Buildroot] [PATCH 41/50 v2] package/busybox: invert dependency with diffutils Yann E. MORIN
2018-07-08  9:46 ` [Buildroot] [PATCH 42/50 v2] package/busybox: invert dependency with debianutils Yann E. MORIN
2018-07-08  9:46 ` [Buildroot] [PATCH 43/50 v2] package/busybox: invert dependency with dcron Yann E. MORIN
2018-07-08  9:46 ` [Buildroot] [PATCH 44/50 v2] package/busybox: invert dependency with cpio Yann E. MORIN
2018-07-08  9:46 ` [Buildroot] [PATCH 45/50 v2] package/busybox: invert dependency with coreutils Yann E. MORIN
2018-07-08  9:46 ` [Buildroot] [PATCH 46/50 v2] package/busybox: invert dependency with binutils Yann E. MORIN
2018-07-08  9:46 ` [Buildroot] [PATCH 47/50 v2] package/busybox: invert dependency with bc Yann E. MORIN
2018-07-08  9:46 ` [Buildroot] [PATCH 48/50 v2] package/busybox: invert dependency with bash Yann E. MORIN
2018-07-08 11:06   ` Arnout Vandecappelle
2018-07-08 12:34     ` Yann E. MORIN
2018-07-08  9:46 ` [Buildroot] [PATCH 49/50 v2] package/busybox: add dependency on attr Yann E. MORIN
2018-07-08 11:09   ` Arnout Vandecappelle
2018-07-08 12:35     ` Yann E. MORIN
2018-07-08  9:46 ` [Buildroot] [PATCH 50/50 v2] support/scripts: don't draw most of busybox' dependencies Yann E. MORIN
2018-07-08 11:25   ` Arnout Vandecappelle
2018-07-08 12:42     ` Yann E. MORIN
2018-07-08 14:05       ` Arnout Vandecappelle
2018-07-09  1:41   ` Carlos Santos
2018-07-09  2:03     ` Carlos Santos
2018-07-09 19:33       ` Arnout Vandecappelle
2018-07-08 11:14 ` [Buildroot] [PATCH 00/50 v2] package/busybox: invert dependencies Arnout Vandecappelle

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.