The update to version 8.32 removes the need for an extra patch [1]
(which was added in upstream) but requires another one [2] to fix a new
build issue related to the file 'src/ls.c'.
[1]: 0001-strtod_fix_clash_with_strtold.patch
[2]: 0001-ls-restore-8.31-behavior-on-removed-directories.patch
The changes in the 'COPYING' license file are purely cosmetic: the
https protocol is replacing http in all the links pointing to the
fsf.org and the gnu.org websites (plus a page being renamed). The
following diff shows one of these changes, they are all similar anyway:
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Signed-off-by: Joao Marcos Costa <joaomarcos.costa@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Until version 8.23, we needed to patch coreutils to ensure that options
be passed before non-options when calling help2man (during the build).
Our patch would just swap around two consecutive lines, and required
autoreconfguring and gettextising.
However, in coreutils 8.24, upstream applied a semantically equivalent
fix, but we did not notice, and we blindly fixed the patch by swapping
the previously faulty lines, even though the issue was no longer present
to begin with (if one would need an example of cargo cult, this is it).
Drop our patch, as it has not been needed for the past 4.5 years.
This means that we can also stop autoreconfiguring and gettextising.
Woot!
Rename the remaining patch.
Reported-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
More and more packages are now depending on ln --relative, some require
realpath, both of which only got introduced in "recent" versions of
coreutils; older distros had a separate realpath, though, but that is
not in the list of our required dependencies, and was not installed by
default.
So, we introduce a minimal host variant of coreutils to provide those
programs.
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Wheter we are mutli-call or multi-binaries, test is either a symlink to
coreutils or a standalone binary.
Consequently, test always exists, and so we can simplify the [ symlink.
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Markus Mayer <mmayer@broadcom.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
We add configuration option BR2_PACKAGE_COREUTILS_INDIVIDUAL_BINARIES
so that coreutils can be built and installed as individual binaries.
It can be used if the target file system doesn't support symlinks or
symlinks are undesirable.
The approach is modelled after Busybox's similarly named configuration
option.
Signed-off-by: Markus Mayer <mmayer@broadcom.com>
[Thomas: adjust to previous preparation commits.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
The COREUTILS_CLEANUP macro naming is a bit weird. In addition, it
does two unrelated things, and the introduction of support for
building coreutils as individual binaries will require splitting it
up.
So let's do this split as a preparation commit, and use better names
for both resulting macros.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
COREUTILS_CLEANUP_BIN doesn't mean much, what it really does is fixing
the location of binaries, so let's rename to a more sensible name.
This is done in preparation to the introduction of support for
building coreutils as individual binaries.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Among other things this is required to build aginst Glibc 2.28+,
see:
4af4a4a718
Otherwise it fails on build like that:
----------------------->8------------------------
CC lib/fts.o
lib/freadptr.c: In function 'freadptr':
lib/freadptr.c:119:3: error: #error "Please port gnulib freadptr.c to your platform! Look at the definition of fflush, fread, getc, getc_unlocked on your system, then report this to bug-gnulib."
#error "Please port gnulib freadptr.c to your platform! Look at the definition of fflush, fread, getc, getc_unlocked on your system, then report this to bug-gnulib."
^~~~~
----------------------->8------------------------
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Link '[' directly to the coreutils binary instead of going through
'test'.
Suggested-by: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Since commit 256bb383fb (coreutils: use single binary in symlink
method) the chroot move command creates a dangling symlink, because the
symlink target is 'coreutils' which is not in the /usr/sbin/ directory.
Instead of moving, remove the coreutils installed symlink, and create a
new one in $(TARGET_DIR)/usr/sbin with the correct target.
Should also fix (busybox):
http://autobuild.buildroot.net/results/6b3/6b39648b466738162516aa50ab328d839ec85448/
Cc: Carlos Santos <casantos@datacom.ind.br>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
The symlink method is faster, since there is no shell fork/exec, and
provides extra space savings.
Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
[Thomas: use the symlinks method not only for the merged /usr case,
but also in the non-merged case to be consistent, and therefore adjust
the logic that was moving the shell wrappers to a logic that recreates
the symlinks.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This brings up error checking at each iteration of the loop for free,
which removes the need for "|| exit 1".
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
BusyBox installs kill, link, mktemp, nice and printenv on /bin, so
ensure that coreutils replaces them.
Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit uses TARGET_NLS_DEPENDENCIES instead of existing logic to
add the dependency on gettext. To keep the existing behavior, we keep
the --with-libintl-prefix option, but only when a libintl library is
effectively provided by gettext.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
We want to use SPDX identifier for license string as much as possible.
SPDX short identifier for GPLv3/GPLv3+ is GPL-3.0/GPL-3.0+.
This change is done using following command.
find . -name "*.mk" | xargs sed -ri '/LICENSE( )?[\+:]?=/s/\<GPLv3\>/GPL-3.0/g'
Signed-off-by: Rahul Bedarkar <rahulbedarkar89@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This comment was added in 2007 (e4c6340a: cleanup and fixes), back when
removing a package was (seemingly) supported.
This ability was lost when coreutils was converted to autotarget in 2010
(386183f: coreutils: convert to autotarget), but the comment stuck.
Get rid of it: it nowadays does not make sense and is a bit confusing.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Pass on INSTALL_PROGRAM to configure since starting with version 8.26
when building natively it tries to use the self-built install to
install, and when cross-compiling it expects INSTALL_PROGRAM to point to
a real install, or otherwise fails when recursively trying to expand it.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Having the BR2_PACKAGE_BUSYBOX_SHOW_OTHERS dependencies in
package/Config.in is not very practical: it makes this file not very
readable, and puts the dependency away from the package itself, which
can sometimes be confusing. Therefore, this commit moves the dependency
in each package Config.in file.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
For targets prepared with a usr-move, coreutils should not be attempting
to move binaries from `usr/bin` to `bin`.
Signed-off-by: James Knight <james.knight@rockwellcollins.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Autogenerated from rename-patch.py (http://patchwork.ozlabs.org/patch/403345)
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The mode bits of coreutils installed binaries are 555. As a result, on
rebuild mv prompts the user to confirm overwrite of non writable binaries.
Force overwrite to skip this prompt.
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
musl doesn't implement re_match and friends and coreutils fails to
detect this properly, so force internal regex routines for musl.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Move OPTS, ENV & PROGS up to the top, the fact that a conditional
(BR2_PACKAGE_BUSYBOX) was before them is bad style and confused me while
i tried to get them grouped together.
This was making all of the new disable OPTS fail, pretty much harmless
but still.
Account for libintl/gettext presence, it's not required in any toolchain
combination but it will fail if it's present, so use it when it's
selected by some other package. Fixes:
http://autobuild.buildroot.net/results/30d/30d0e3d27d8606443479466e60716e6f202a4711/
Add conditional on OpenSSL for faster hashing binaries as pointed again
by Pádraig Brady.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Add proper support for optional libraries: acl, attr, gmp & libcap.
Also build the single binary as pointed out by Pádraig Brady for some
neat space savings.
Use the shebang (default) method since it allows us to move binaries
into other directories to suit our needs whereas for symlink that
wouldn't be so easy.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Add hash file. patches 01 & 02 are now upstream so remove them.
Patch 01 isn't required any more (no posix_spawn usage).
Patch 02 is upstream.
Patch 03 retooled for 8.23 and renamed to 01.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
To be consistent with the recent change of FOO_MAKE_OPT into FOO_MAKE_OPTS,
make the same change for FOO_CONF_OPT.
Sed command used:
find * -type f | xargs sed -i 's#_CONF_OPT\>#&S#g'
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Surprisingly long-standing issue with conflicting /bin/hostname
installs. Reported as early as November 2005 by Joseph Dupre.
All together at one point or another there are at least 4 possible
sources of /bin/hostname:
busybox
util-linux
coreutils
net-tools
Buildroot depends on the -F flag being available in the default
/etc/inittab. Out of the 4 listed projects only net-tools and buildroot
for sure support the -F flag. I'm a little unclear on util-linux as it
has been removed entirely (in favor of net-tools) for some time.
As of coreutils 6.9.90 (2007-12-01), coreutils does not install its
/bin/hostname by default. The following commit reenabled its build:
d6e58cb coreutils: fixed missing hostname (Sep 2010)
This was done to fix a build error in coreutils regarding help2man. A
later patch:
30c5105 coreutils: bump to version 8.21
disabled the help2man functionality entirely but left hostname being
installed.
On a very related note, net-tools now contains an obsolete check to add
util-linux as a dependency to force it to build first (so that net-tools
ends up with /bin/hostname).
This patch fixes both of these issues so that hostname always comes from
one of two places:
busybox
net-tools
Tested-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Co-authored-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Andrew Ruder <andrew.ruder@elecsyscorp.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
coreutils configure script needs to know whether /proc/uptime is
available, but this is not possible in a cross-compilation
context. This leads to an uptime program that fails to work on the
target, as it has been compiled without /proc/uptime reading support.
This commit fixes that by telling coreutils at configure time that
/proc/uptime will be available on the target (which seems to be a
reasonable assumption on Linux systems).
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Now that --disable-dependency-tracking is passed by the
autotools-package infrastructure, there's no longer any reason to pass
it in individual packages.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The correct capitalised form appears to be "BusyBox" rather than "Busybox";
fix all references to the latter form. (Most such references occur in the
manual and in commentary in package makefiles.)
Signed-off-by: Simon Dawson <spdawson@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
coreutils was not building in the static link case with uClibc, due to
binaries being linked with librt (for timer functions), but not with
libpthread. However, librt uses functions from libpthread, so both
must be specified. This lack of linking against libpthread was caused
by a deficiency in one of the gnulib m4 macro, for which we add a patch.
Fixes:
http://autobuild.buildroot.org/results/bd4/bd4cc779b46e3837e3d6c43c97eaf42fdfc3a288/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The patch that commit a728e2fe35 (coreutils: fix build against uclibc
snapshot) adds mentions the wrong coreutils version in its description.
Also fix the sign-of tag while at it.
Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
uClibc development version adds support for POSIX spawn routines. However,
unlike glibc these routines are in librt. This breaks gnulib autoconf
detection. Teach gnulib autoconf to look for POSIX spawn in librt.
Fixes:
http://autobuild.buildroot.net/results/246/246b3778a1a646afd1c8b9c17b4579fb5a27120e/
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Set PERL=missing so as to avoid generating manpages with help2man that breaks
on many occasions (and it's pointless).
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
When a package A depends on config option B and toolchain option C, then
the comment that is given when C is not fulfilled should also depend on B.
For example:
config BR2_PACKAGE_A
depends on BR2_B
depends on BR2_LARGEFILE
depends on BR2_WCHAR
comment "A needs a toolchain w/ largefile, wchar"
depends on !BR2_LARGEFILE || !BR2_WCHAR
This comment should actually be:
comment "A needs a toolchain w/ largefile, wchar"
depends on BR2_B
depends on !BR2_LARGEFILE || !BR2_WCHAR
or if possible (typically when B is a package config option declared in that
same Config.in file):
if BR2_B
comment "A needs a toolchain w/ largefile, wchar"
depends on !BR2_LARGEFILE || !BR2_WCHAR
[other config options depending on B]
endif
Otherwise, the comment would be visible even though the other dependencies
are not met.
This patch adds such missing dependencies, and changes existing such
dependencies from
depends on BR2_BASE_DEP && !BR2_TOOLCHAIN_USES_GLIBC
to
depends on BR2_BASE_DEP
depends on !BR2_TOOLCHAIN_USES_GLIBC
so that (positive) base dependencies are separate from the (negative)
toolchain dependencies. This strategy makes it easier to write such comments
(because one can simply copy the base dependency from the actual package
config option), but also avoids complex and long boolean expressions.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
(untested)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This patch lines up the comments in Config.in files that clarify which
toolchain options the package depends on.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>