Skip to content

package/busybox: invert dependencies

Yann E. MORIN buildroot 2 versions – New

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest50 patches 0 repliesNew
  2. v10 of 50 patches 0 repliesSuperseded

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/50package/busybox: update to 1.29.0package/busybox/0002-Makefile.flags-strip-non-l-arguments-returned-by-pkg.patch package/busybox/busybox.hash package/busybox/busybox.mk+10 -161 reply
2/50package/busybox: invert dependency with whoispackage/busybox/busybox.mk package/whois/whois.mk+5 -20 replies
3/50package/busybox: invert dependency with wgetpackage/busybox/busybox.mk package/wget/wget.mk+1 -50 replies
4/50package/busybox: invert dependency with vimpackage/busybox/busybox.mk package/vim/vim.mk+2 -40 replies
5/50package/busybox: invert dependency with util-linuxpackage/busybox/busybox.mk package/util-linux/util-linux.mk+1 -60 replies
6/50package/busybox: invert dependency with usbutilspackage/busybox/busybox.mk package/usbutils/usbutils.mk+1 -50 replies
7/50package/busybox: invert dependency with unzippackage/busybox/busybox.mk package/unzip/unzip.mk+1 -20 replies
8/50package/busybox: invert dependency with traceroutepackage/busybox/busybox.mk package/traceroute/traceroute.mk+1 -50 replies
9/50package/busybox: invert dependency with tftpdpackage/busybox/busybox.mk package/tftpd/tftpd.mk+1 -50 replies
10/50package/busybox: invert dependency with tarpackage/busybox/busybox.mk package/tar/tar.mk+2 -60 replies
11/50package/busybox: invert dependency with sysvinitpackage/busybox/busybox.mk package/sysvinit/sysvinit.mk+1 -50 replies
12/50package/busybox: invert dependency with systemdpackage/busybox/busybox.mk package/systemd/systemd.mk+1 -60 replies
13/50package/busybox: invert dependency with syslog-ngpackage/busybox/busybox.mk package/syslog-ng/syslog-ng.mk+5 -60 replies
14/50package/busybox: invert dependency with sysklogdpackage/busybox/busybox.mk package/sysklogd/sysklogd.mk+1 -50 replies
15/50package/busybox: invert dependency with start-stop-daemonpackage/busybox/busybox.mk package/start-stop-daemon/start-stop-daemon.mk+2 -20 replies
16/50package/busybox: invert dependency with rsyslogpackage/busybox/busybox.mk package/rsyslog/rsyslog.mk+1 -51 reply
17/50package/busybox: invert dependency with psmiscpackage/busybox/busybox.mk package/psmisc/psmisc.mk+1 -50 replies
18/50package/busybox: invert dependency with procps-ngpackage/busybox/busybox.mk package/procps-ng/procps-ng.mk+3 -80 replies
19/50package/busybox: invert dependency with pciutilspackage/busybox/busybox.mk package/pciutils/pciutils.mk+1 -50 replies
20/50package/busybox: invert dependency with ntppackage/busybox/busybox.mk package/ntp/ntp.mk+2 -10 replies
21/50package/busybox: invert dependency with nmappackage/busybox/busybox.mk package/nmap/nmap.mk+1 -61 reply
21/50package/busybox: invert dependency with nmap+0 -01 reply
22/50package/busybox: invert dependency with netcat-openbsdpackage/busybox/busybox.mk package/netcat-openbsd/netcat-openbsd.mk+1 -60 replies
23/50package/busybox: invert dependency with netcatpackage/busybox/busybox.mk package/netcat/netcat.mk+1 -131 reply
24/50package/busybox: invert dependency with net-toolspackage/busybox/busybox.mk package/net-tools/net-tools.mk+3 -60 replies
25/50package/busybox: invert dependency with mtdpackage/busybox/busybox.mk package/mtd/mtd.mk+1 -40 replies
26/50package/busybox: invert dependency with lsofpackage/busybox/busybox.mk package/lsof/lsof.mk+1 -30 replies
27/50package/busybox: invert dependency with lesspackage/busybox/busybox.mk package/less/less.mk+2 -20 replies
28/50package/busybox: invert dependency with kmodpackage/busybox/busybox.mk package/kmod/kmod.mk+1 -30 replies
29/50package/busybox: invert dependency with iputilspackage/busybox/busybox.mk package/iputils/iputils.mk+1 -60 replies
30/50package/busybox: invert dependency with iproute2package/busybox/busybox.mk package/iproute2/iproute2.mk+1 -60 replies
31/50package/busybox: invert dependency with ifupdownpackage/busybox/busybox.mk package/ifupdown/ifupdown.mk+1 -10 replies
32/50package/busybox: invert dependency with ifplugdpackage/busybox/busybox.mk package/ifplugd/ifplugd.mk+1 -50 replies
33/50package/busybox: invert dependency with ifenslavepackage/busybox/busybox.mk package/ifenslave/ifenslave.mk+1 -10 replies
34/50package/busybox: invert dependency with i2c-toolspackage/busybox/busybox.mk package/i2c-tools/i2c-tools.mk+1 -40 replies
35/50package/busybox: invert dependency with gzippackage/busybox/busybox.mk package/gzip/gzip.mk+1 -20 replies
36/50package/busybox: invert dependency with greppackage/busybox/busybox.mk package/grep/grep.mk+1 -50 replies
37/50package/busybox: invert dependency with gawkpackage/busybox/busybox.mk package/gawk/gawk.mk+1 -50 replies
38/50package/busybox: invert dependency with fbsetpackage/busybox/busybox.mk package/fbset/fbset.mk+1 -50 replies
39/50package/busybox: invert dependency with e2fsprogspackage/busybox/busybox.mk package/e2fsprogs/e2fsprogs.mk+3 -80 replies
40/50package/busybox: invert dependency with dos2unixpackage/busybox/busybox.mk package/dos2unix/dos2unix.mk+2 -30 replies
41/50package/busybox: invert dependency with diffutilspackage/busybox/busybox.mk package/diffutils/diffutils.mk+1 -40 replies
42/50package/busybox: invert dependency with debianutilspackage/busybox/busybox.mk package/debianutils/debianutils.mk+1 -20 replies
43/50package/busybox: invert dependency with dcronpackage/busybox/busybox.mk package/dcron/dcron.mk+1 -50 replies
44/50package/busybox: invert dependency with cpiopackage/busybox/busybox.mk package/cpio/cpio.mk+1 -10 replies
45/50package/busybox: invert dependency with coreutilspackage/busybox/busybox.mk package/coreutils/coreutils.mk+1 -60 replies
46/50package/busybox: invert dependency with binutilspackage/binutils/binutils.mk package/busybox/busybox.mk+1 -50 replies
47/50package/busybox: invert dependency with bcpackage/bc/bc.mk package/busybox/busybox.mk+1 -50 replies
48/50package/busybox: invert dependency with bashpackage/bash/bash.mk package/busybox/busybox.mk+2 -31 reply
48/50package/busybox: invert dependency with bash+0 -00 replies
49/50package/busybox: add dependency on attrpackage/busybox/busybox.mk+1 -01 reply
49/50package/busybox: add dependency on attr+0 -00 replies
50/50support/scripts: don't draw most of busybox' dependenciessupport/scripts/graph-depends+11 -04 replies
50/50support/scripts: don't draw most of busybox' dependencies+0 -01 reply

Reviews trailers per patch

8 of 54 patches have a Reviewed-by or Acked-by.

PatchCarlos SantosMatt Weber
1/50
2/50
3/50
4/50
5/50R-b
6/50
7/50
8/50
9/50
10/50
11/50R-b
12/50
13/50
14/50
15/50R-b
16/50R-b
17/50
18/50
19/50
20/50
21/50R-b
21/50R-b
22/50
23/50
24/50
25/50
26/50
27/50
28/50
29/50
30/50
31/50
32/50
33/50
34/50
35/50
36/50
37/50
38/50
39/50
40/50
41/50
42/50
43/50
44/50
45/50
46/50
47/50
48/50
48/50
49/50
49/50
50/50R-b R-b
50/50R-b R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

Cover letter [Buildroot] [PATCH 00/50 v2] package/busybox: invert dependencies

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(-)
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'