From the release notes (https://lwn.net/Articles/750103/):
E2fsprogs 1.44.0 introduced a regression introduced which caused e2fsck
to fail to support HTree directories on big-endian systems. Fix how we
read block numbers for internal htree nodes.
Removed a potential memory leak from fsck.
E2image now correctly creates e2image files for bigalloc file systems.
Dumpe2fs and debugfs now correctly support e2image files for file
systems that have the meta_bg option enabled.
E2fsck and debugfs now correctly handle delete inodes (including
processing the orphaned inode list in the case of e2fsck) for bigalloc
file systems. (Addresses Google Bug: #73795618)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Drop 0001-libext2fs-fix-build-failure-in-swapfs.c-on-big-endia.patch as it
is now upstream.
Only contains minor bugfixes since 1.43.8 and no new features.
>From the release notes:
Remove the huge file flag from libe2p (and hence from chattr/lsattr),
since it was never made visible by the kernel. Remove the description
of some compression related flags, and add a description of the
encrypted file flag, and the project hierarchy flag.
Remove a misplaced "MNP is unsupported" message from debugfs.
Fix a build failure in lib/ext2fs/swapfs.c on big-endian systems.
(Addresses Debian Bug #886119)
Fix various Debian packaging issues. (Addresses Debian Bug #269569).
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
We no longer support building the full-blown libintl in static linking
scenarios, as it causes too many problems. Therefore, remove the
special code in e2fsprogs that was handling this.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
We usually have empty lines around multi-line variable definitions.
Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
For dynamic library builds, it's not needed to pass it explicitly.
Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
[Arnout: don't split up the fuse2fs CONF_OPTS and DEPENDENCIES
handling]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
We don't need e2initrd_helper or the test I/O manager for the host, just
like we don't need it for the target.
Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
[Arnout: don't add --disable-rpath, since we *do* need rpath for the
host; otherwise we have to explicitly pass LD_LIBRARY_PATH to be able
to run tools linked with util-linux' libuuid/libblkid]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
So far we attempted to solve the conflicts between busybox and e2fsprogs
by removing busybox programs from /bin and /sbin, leaving the e2fsprogs
ones at /usr/bin and /usr/sbin. This fails with BR2_ROOTFS_MERGED_USR=y,
leading to situations like the one described in bug 9436.
We could provide a better solution by means of a fine-grained selection
of programs, like util-linux does, but this would require big changes in
e2fsprogs. So instead of resorting to dirty tricks we switch to a more
pragmatic approach:
- Drop all configs to select/deselect utilities without corresponding
enable/disable options to the configure script. In other words, we
always install the basic set of utilities.
- fsck has a configure option, so use it. Note that --enable-fsck is
only about the wrapper, not about e2fsck.
- Install e2fsprogs utilities at /bin and /sbin, overriding the ones
eventually installed by busybox.
- Let the e2fsprogs build system create the symlinks mkfs.ext2 -> mke2fs
etc. fsck.ext4dev and mkfs.ext4dev were dropped in version 1.43.4.
Notice that these changes do exactly the opposite of what is requested
in bug 9436. On the other hand the policy for e2fsprogs becomes coherent
with the one for util-linux: busybox never wins.
Fixes:
https://bugs.busybox.net/show_bug.cgi?id=9436 (no fix, in fact)
Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
[Arnout:
- don't add 'default y' to resize2fs;
- don't install the host package in /bin instead of /usr/bin - we
install everything under /usr (until /usr will be removed, soon)]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
We have a host-util-linux, so we can use it to provide libblkid and
libuuid. This makes it consistent with the target package.
Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
In fact, uuidgen was never built because we pass --disable-libuuid. So
the option was a NOP.
Remove the license info for libuuid.
Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
[Arnout:
- do not remove --disable-uuidd - even though that is implied by
--disable-libuuid, it's better to be explicit about it;
- remove license info of libuuid]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
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 BSD-3c is BSD-3-Clause.
This change is done using following command.
find . -name "*.mk" | xargs sed -ri '/LICENSE( )?[\+:]?=/s/BSD-3c/BSD-3-Clause/g'
Signed-off-by: Rahul Bedarkar <rahulbedarkar89@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
We want to use SPDX identifier for license strings as much as possible.
SPDX short identifier for GPLv2/GPLv2+ is GPL-2.0/GPL-2.0+.
This change is done by using following command.
find . -name "*.mk" | xargs sed -ri '/LICENSE( )?[\+:]?=/s/\<GPLv2\>/GPL-2.0/g'
Signed-off-by: Rahul Bedarkar <rahulbedarkar89@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Make license type lists more uniform:
* put content license applies to in parenthesis; ex: "GPLv2+ (programs)"
* use commas to separate types listed without conjuction; ex: "GPLv2, LGPLv2"
No attempt was made to validate the claimed licenses. This is just a tweak
to increase uniformity of the _LICENSE variables.
Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Thomas: replace semi-colons by commas in LIBURCU_LICENSE.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
With the commit 64544178f1 many packages
broke because they could not find the ext2fs.pc file.
This is perfectly normal, as the DESTDIR and the install target were not
passed anymore to make.
[Peter: remove redundant E2FSPROGS_INSTALL_STAGING_OPTS]
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
We correctly set LDCONFIG=true for MAKE_OPTS, but not for the other
steps which don't inherit it, and therefore e2fsprogs tries to use the
host ldconfig during staging and target installation, which causes some
weird error messages at build time (even if they don't abort the build).
Fix that by passing LDCONFIG=true at install time.
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
RHEL 5.x does have magic.h, but it does not define all expected symbols.
In particular, the NO_CHECK symbols were only added in file 4.20 and RHEL
5.x is using 4.17. Don't use magic.h and libmagic when building host
package.
Suggested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
- Upstream patches removed.
- Do not autoreconf since this was neecessary for one of those patches
that are now upstream. Also remove host-gettext dependency for the
same reason.
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Commit a93fc34 modified e2fsprogs to symlink /usr/sbin/fsck to /sbin/fsck
to keep systemd happy. However, later on commit c5bd8af6 has forced
/usr/sbin to be a symlink to /sbin when using systemd. This means fsck
gets destroyed as a symlink to itself when using systemd or when setting
BR2_ROOTFS_MERGED_USR.
Since commit c5bd8af6 obsoletes commit a93fc34 revert the changes from
commit a93fc34 to solve the issue.
Signed-off-by: Martin Bark <martin@barkynet.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
In old (< 2.17) glibc versions clock_gettime() resides in librt, however
there's no check for this, so add a patch to fix it. Fixes:
http://autobuild.buildroot.net/results/25c/25c042d2862affebf552ed24bc2a58e0c484226f/
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
subst.c is built for the host, but uses defines calculated by the
configure script using the cross-compiler. By passing BUILD_CFLAGS, we
help subst.c include the proper header files, and therefore avoid the
build failure.
Fixes:
http://autobuild.buildroot.org/results/2a66280800b8aa16fee2701b3f345aa24bb13c35/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Add new fuse2fs option and disable it for host-e2fsprogs to avoid
carrying over unused/unnecessary distro/host dependencies.
Move E2FSPROGS_DEPENDENCIES to the top to avoid nasty mistakes (like
resetting a previous conditional addition).
License file renamed from COPYING to NOTICE.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The e2fsprogs package's findfs option provides no capabilities. When the
option is selected, a symbolic link is generated from findfs to e2label;
however, e2label will not handle findfs since the respective code is
explicitly disabled when `--disable-libblkid` is passed in. At this
time, the e2fsprogs package only supports findfs capabilities when
building its "private blkid library".
Note that the `--disable-libblkid` configuration argument must remain
to prevent conflicts with util-linux's libblkid and an e2fsprogs-
generated variant (see e1ffc2f791).
Since e2fsprogs cannot provide findfs capabilities, the option is being
removed in this change. A following change will be introduced to include
util-linux's findfs utility.
Signed-off-by: James Knight <james.knight@rockwellcollins.com>
Cc: Zheng Yi <yzheng@techyauld.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The following commit prevents the e2fsprogs package from inadvertently
removing its own binaries when a target includes BusyBox and is
targeting a usr-merged environment.
While an action has been added to cleanup BusyBox-provided (if any)
ext2-related tools when including e2fsprogs, the action will delete
desired e2fsprogs binaries in an already prepared usr-merged target.
Adjusting the cleanup to occur before installing e2fsprogs binaries so
that if a usr-merged target exists, it will first delete the previous
binaries (if any) followed by installing new binaries.
Signed-off-by: James Knight <james.knight@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
e4defrag from e2fsprogs 1.42.13 encounters these build errors on RHEL5.8 hosts:
e4defrag.c:197:2: error: #error sync_file_range not available!
e4defrag.c:201:2: error: #error fallocate64 not available!
It's possible to fix these problems, but we don't use it on the host
anyway, so just disable it.
Signed-off-by: Hollis Blanchard <hollis_blanchard@mentor.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Following commit aa02829240 (e2fsprogs: remove busybox tune2fs when
installing full version, 2015-07-08), remove the rest of Busybox e2fsprogs
applet links. All of them are installed in different locations than upstream
e2fsprogs.
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Currently, busybox installs a version of tune2fs in /sbin/ while
e2fsprogs installs at /usr/sbin/. This causes issues if a user is
expecting the to use the full version from a prompt via 'tune2fs'
since busybox's tune2fs will be found first from the default path
search.
Fix this by removing the busybox version of tune2fs when a user has
selected the option to install tune2fs from e2fsprogs.
[Thomas: don't hijack E2FSPROGS_TARGET_TUNE2FS_SYMLINK for the removal
and instead introduce a separate E2FSPROGS_REMOVE_BUSYBOX_APPLETS post
install target hook, and do related code re-organization.]
Signed-off-by: Ryan Barnett <ryan.barnett@rockwellcollins.com>
Reviewed-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
systemd looks for fsck in /sbin, so make symlink:
/sbin/fsck -> /usr/sbin/fsck
[Thomas: add comment.]
Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Also update hash file
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Since a while, the semantic of BR2_PREFER_STATIC_LIB has been changed
from "prefer static libraries when possible" to "use only static
libraries". The former semantic didn't make much sense, since the user
had absolutely no control/idea of which package would use static
libraries, and which packages would not. Therefore, for quite some
time, we have been starting to enforce that BR2_PREFER_STATIC_LIB
should really build everything with static libraries.
As a consequence, this patch renames BR2_PREFER_STATIC_LIB to
BR2_STATIC_LIBS, and adjust the Config.in option accordingly.
This also helps preparing the addition of other options to select
shared, shared+static or just static.
Note that we have verified that this commit can be reproduced by
simply doing a global rename of BR2_PREFER_STATIC_LIB to
BR2_STATIC_LIBS plus adding BR2_PREFER_STATIC_LIB to Config.in.legacy.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
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>
To be consistent with the recent change of FOO_MAKE_OPT into FOO_MAKE_OPTS,
make the same change for FOO_INSTALL_STAGING_OPT.
Sed command used:
find * -type f | xargs sed -i 's#_INSTALL_STAGING_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>
While the autotools infrastructure was using FOO_MAKE_OPT, generic packages
were typically using FOO_MAKE_OPTS. This inconsistency becomes a problem
when a new infrastructure is introduced that wants to make use of
FOO_MAKE_OPT(S), and can live alongside either generic-package or
autotools-package. The new infrastructure will have to choose between either
OPT or OPTS, and thus rule out transparent usage by respectively generic
packages or generic packages. An example of such an infrastructure is
kconfig-package, which provides kconfig-related make targets.
The OPTS variant is more logical, as there are typically multiple options.
This patch renames all occurrences of FOO_MAKE_OPT in FOO_MAKE_OPTS.
Sed command used:
find * -type f | xargs sed -i 's#_MAKE_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>
For some reason the kernel.org download hash doesn't match the
sourceforge hash so switch to kernel.org for the download.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Drop --disable-tls since it's not needed.
Add --disable-rpath to avoid unnecessary pollution.
e4defrag now needs an (e)glibc or musl toolchain because of
sync_file_range()
See e2fsprogs commit 58229aaf85d435469e901c974f31ead6d9124166
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(external) nios2 toolchain is currently missing the fallocate64 system
call. Because of compiling the e2fsprogs package with _FILE_OFFSET_BITS=64,
_LARGEFILE_SOURCE and _LARGEFILE64_SOURCE the fallocate call is replaced
by fallocate64 by the glibc. Therefore fallocate is entirely disabled while
configuring the package.
Fixes http://autobuild.buildroot.org/results/70a/70a47bd7392560cbc1c64769c8357c0b4c91ca3b/
Signed-off-by: Frank Bergmann <frank@frajasalo.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>