libports: update e2fsprogs to 1.46.5

Brings in Ext4 support.

Fixes #4524.
This commit is contained in:
Josef Söntgen 2022-06-05 13:27:10 +00:00 committed by Christian Helmuth
parent 0ffc55a20a
commit d9f6882a2a
12 changed files with 82 additions and 110 deletions

View File

@ -12,33 +12,6 @@ CC_DEF += -DLOCALEDIR=\"/share/locale\"
CC_DEF += -DLIBDIR=\"/lib\"
CC_DEF += -DLOCALE_ALIAS_PATH=\"/share/locale\"
SRC_C_intl := \
intl/bindtextdom.c \
intl/dcgettext.c \
intl/dgettext.c \
intl/gettext.c \
intl/finddomain.c \
intl/loadmsgcat.c \
intl/localealias.c \
intl/textdomain.c \
intl/l10nflist.c \
intl/dcigettext.c \
intl/explodename.c \
intl/dcngettext.c \
intl/dngettext.c \
intl/ngettext.c \
intl/plural.c \
intl/plural-exp.c \
intl/localcharset.c \
intl/relocatable.c \
intl/log.c \
intl/localename.c \
intl/printf.c \
intl/osdep.c \
intl/intl-compat.c
INC_DIR_intl := $(E2FSPROGS_DIR)/intl $(REP_DIR)/src/lib/e2fsprogs/intl
CC_OPT_intl/dcigettext += -DSTATIC=
SRC_C_libblkid := \
lib/blkid/cache.c \
lib/blkid/devname.c \
@ -63,6 +36,7 @@ SRC_C_libcom_err := \
INC_DIR_libcom_err := $(E2FSPROGS_DIR)/lib/et
SRC_C_libe2p := \
lib/e2p/encoding.c \
lib/e2p/feature.c \
lib/e2p/fgetflags.c \
lib/e2p/fgetversion.c \
@ -90,6 +64,7 @@ SRC_C_libext2fs := \
lib/ext2fs/alloc_sb.c \
lib/ext2fs/alloc_stats.c \
lib/ext2fs/alloc_tables.c \
lib/ext2fs/atexit.c \
lib/ext2fs/badblocks.c \
lib/ext2fs/bb_compat.c \
lib/ext2fs/bb_inode.c \
@ -115,21 +90,25 @@ SRC_C_libext2fs := \
lib/ext2fs/ext2_err.c \
lib/ext2fs/ext_attr.c \
lib/ext2fs/extent.c \
lib/ext2fs/fallocate.c \
lib/ext2fs/fileio.c \
lib/ext2fs/finddev.c \
lib/ext2fs/flushb.c \
lib/ext2fs/freefs.c \
lib/ext2fs/gen_bitmap.c \
lib/ext2fs/gen_bitmap64.c \
lib/ext2fs/get_num_dirs.c \
lib/ext2fs/get_pathname.c \
lib/ext2fs/getsectsize.c \
lib/ext2fs/getsize.c \
lib/ext2fs/hashmap.c \
lib/ext2fs/i_block.c \
lib/ext2fs/icount.c \
lib/ext2fs/imager.c \
lib/ext2fs/ind_block.c \
lib/ext2fs/initialize.c \
lib/ext2fs/inline.c \
lib/ext2fs/inline_data.c \
lib/ext2fs/inode.c \
lib/ext2fs/inode_io.c \
lib/ext2fs/io_manager.c \
@ -143,6 +122,7 @@ SRC_C_libext2fs := \
lib/ext2fs/namei.c \
lib/ext2fs/native.c \
lib/ext2fs/newdir.c \
lib/ext2fs/nls_utf8.c \
lib/ext2fs/openfs.c \
lib/ext2fs/progress.c \
lib/ext2fs/punch.c \
@ -152,6 +132,8 @@ SRC_C_libext2fs := \
lib/ext2fs/read_bb_file.c \
lib/ext2fs/res_gdt.c \
lib/ext2fs/rw_bitmaps.c \
lib/ext2fs/sha512.c \
lib/ext2fs/sparse_io.c \
lib/ext2fs/swapfs.c \
lib/ext2fs/symlink.c \
lib/ext2fs/tdb.c \
@ -164,13 +146,17 @@ SRC_C_libext2fs := \
lib/ext2fs/write_bb_file.c
INC_DIR_libext2fs := $(E2FSPROGS_DIR)/lib/ext2fs $(REP_DIR)/src/lib/e2fsprogs/lib/ext2fs
SRC_C_libquota := \
lib/quota/mkquota.c \
lib/quota/quotaio.c \
lib/quota/quotaio_v2.c \
lib/quota/quotaio_tree.c \
e2fsck/dict.c
INC_DIR_libquota := $(E2FSPROGS_DIR)/lib/quota
SRC_C_libsupport := \
lib/support/dict.c \
lib/support/mkquota.c \
lib/support/plausible.c \
lib/support/parse_qtype.c \
lib/support/prof_err.c \
lib/support/profile.c \
lib/support/quotaio.c \
lib/support/quotaio_tree.c \
lib/support/quotaio_v2.c
INC_DIR_libsupport := $(E2FSPROGS_DIR)/lib/support
SRC_C_libuuid := \
lib/uuid/clear.c \
@ -186,23 +172,22 @@ SRC_C_libuuid := \
INC_DIR_libuuid := $(E2FSPROGS_DIR)/lib/uuid
SRC_C := \
$(SRC_C_intl) \
$(SRC_C_libblkid) \
$(SRC_C_libcom_err) \
$(SRC_C_libe2p) \
$(SRC_C_libext2fs) \
$(SRC_C_libquota) \
$(SRC_C_libuuid)
$(SRC_C_libsupport) \
$(SRC_C_libuuid) \
dummies.c
INC_DIR += $(E2FSPROGS_DIR)/lib
INC_DIR += $(REP_DIR)/src/lib/e2fsprogs
INC_DIR += $(REP_DIR)/src/lib/e2fsprogs/lib
INC_DIR += $(INC_DIR_intl)
INC_DIR += $(INC_DIR_libblkid)
INC_DIR += $(INC_DIR_libcom_err)
INC_DIR += $(INC_DIR_libe2p)
INC_DIR += $(INC_DIR_libext2fs)
INC_DIR += $(INC_DIR_libquota)
INC_DIR += $(INC_DIR_libsupport)
INC_DIR += $(INC_DIR_libuuid)
@ -210,6 +195,7 @@ CC_DEF += -D__BSD_VISIBLE
CC_DEF += -DHAVE_CONFIG_H
vpath %.c $(E2FSPROGS_DIR)
vpath %.c $(REP_DIR)/src/lib/e2fsprogs
#
# Generate header files

View File

@ -3,9 +3,8 @@
#
EXT2FS_GEN_CRC := $(BUILD_BASE_DIR)/tool/e2fsprogs/gen_crc32ctable
E2FSCK_GEN_CRC := $(BUILD_BASE_DIR)/tool/e2fsprogs/gen_crc32table
HOST_TOOLS += $(EXT2FS_GEN_CRC) $(E2FSCK_GEN_CRC)
HOST_TOOLS += $(EXT2FS_GEN_CRC)
E2FSPROGS_DIR := $(call select_from_ports,e2fsprogs-lib)/src/lib/e2fsprogs
@ -14,9 +13,4 @@ $(EXT2FS_GEN_CRC): $(E2FSPROGS_DIR)
$(VERBOSE)mkdir -p $(dir $@)
$(VERBOSE)gcc $(E2FSPROGS_DIR)/lib/ext2fs/$(notdir $@).c -o $@
$(E2FSCK_GEN_CRC): $(E2FSPROGS_DIR)
$(MSG_BUILD)$(notdir $@)
$(VERBOSE)mkdir -p $(dir $@)
$(VERBOSE)gcc $(E2FSPROGS_DIR)/e2fsck/$(notdir $@).c -o $@
CC_CXX_WARN_STRICT =

View File

@ -1 +1 @@
66fa19adc056fa1e55e3585ae5962c2f7d20dbe4
d41e0f3b2517a1625a84c394c468530676d0551a

View File

@ -1,5 +1,5 @@
LICENSE := GPLv2
VERSION := 1.42.9
VERSION := 1.46.5
DOWNLOADS := e2fsprogs.git
E2FSPROGS_DIR := src/lib/e2fsprogs
@ -24,26 +24,15 @@ DIR_CONTENT($(INCLUDE_DIR)) := \
BLKID_HEADER := $(INCLUDE_DIR)/blkid/blkid.h
EXT2FS_HEADER := $(INCLUDE_DIR)/ext2fs/ext2_types.h
INTL_HEADER := $(INCLUDE_DIR)/libgnuintl.h
UUID_HEADER := $(INCLUDE_DIR)/uuid/uuid.h
DEFAULT_PROFILE_C := $(addsuffix /misc/default_profile.c, $(E2FSPROGS_DIR))
_dirs: \
$(BLKID_HEADER) \
$(EXT2FS_HEADER) \
$(INTL_HEADER) \
$(UUID_HEADER) \
$(DEFAULT_PROFILE_C)
$(INTL_HEADER):
@$(MSG_GENERATE)$(notdir $@)
$(VERBOSE)sed -e 's,@''HAVE_POSIX_PRINTF''@,1,g' \
-e 's,@''HAVE_ASPRINTF''@,1,g' \
-e 's,@''HAVE_SNPRINTF''@,1,g' \
-e 's,@''HAVE_WPRINTF''@,0,g' \
< $(E2FSPROGS_DIR)/intl/libgnuintl.h.in > $@
$(VERBOSE)ln -sf $(notdir $@) $(dir $@)/libintl.h
$(BLKID_HEADER):
@$(MSG_GENERATE)$(notdir $@)
$(VERBOSE)mkdir -p $(dir $@)
@ -69,7 +58,7 @@ $(EXT2FS_HEADER):
$(VERBOSE)sed -e 's,@''E2FSPROGS_VERSION''@,$(VERSION),g' \
< $(E2FSPROGS_DIR)/lib/ext2fs/ext2_err.et.in \
> $(E2FSPROGS_DIR)/lib/ext2fs/ext2_err.et && \
for file in lib/ext2fs/ext2_err e2fsck/prof_err; do \
for file in lib/ext2fs/ext2_err lib/support/prof_err; do \
$(MSG_GENERATE)$${file}.h && \
gawk -f $(E2FSPROGS_DIR)/lib/et/et_h.awk \
"outfile=$(E2FSPROGS_DIR)/$${file}.h" \

View File

@ -16,7 +16,7 @@ src/lib/e2fsprogs:
cp -a $(REP_DIR)/src/lib/e2fsprogs/* $@
LICENSE:
cp $(PORT_DIR)/src/lib/e2fsprogs/COPYING $@
cp $(PORT_DIR)/src/lib/e2fsprogs/NOTICE $@
$(MIRROR_FROM_REP_DIR):
$(mirror_from_rep_dir)

View File

@ -14,12 +14,13 @@ CC_OPT += -Wno-unused-variable -Wno-parentheses
# e2fsck/dict.c
SRC_C := \
badblocks.c \
crc32.c \
dirinfo.c \
dx_dirinfo.c \
e2fsck.c \
ea_refcount.c \
ehandler.c \
encrypted_files.c \
extents.c \
journal.c \
logfile.c \
message.c \
@ -30,10 +31,9 @@ SRC_C := \
pass4.c \
pass5.c \
problem.c \
prof_err.c \
profile.c \
quota.c \
recovery.c \
readahead.c \
region.c \
rehash.c \
revoke.c \
@ -46,20 +46,4 @@ INC_DIR += $(PRG_DIR)
vpath %.c $(E2FSCK_DIR)
#
# Generate CRC32 header
#
E2FSCK_GEN_CRC := $(BUILD_BASE_DIR)/tool/e2fsprogs/gen_crc32table
CRC_HEADER := $(BUILD_BASE_DIR)/app/e2fsck/crc32table.h
$(SRC_C:.c=.o): $(CRC_HEADER)
$(CRC_HEADER):
$(MSG_CONVERT)$(notdir $@)
$(VERBOSE)mkdir -p $(dir $@)
$(VERBOSE)$(E2FSCK_GEN_CRC) > $@
INC_DIR += $(BUILD_BASE_DIR)/$(dir $(CRC_HEADER))
CC_CXX_WARN_STRICT =

View File

@ -7,9 +7,13 @@ INC_DIR += $(E2FS_DIR)/e2fsck
CC_DEF += -DROOT_SYSCONFDIR=\"/etc\"
SRC_C := $(addprefix misc/, mke2fs.c util.c default_profile.c)
SRC_C += $(addprefix e2fsck/, profile.c prof_err.c)
SRC_C := \
create_inode.c \
default_profile.c \
mk_hugefiles.c \
mke2fs.c \
util.c
vpath %.c $(E2FS_DIR)
vpath %.c $(E2FS_DIR)/misc
CC_CXX_WARN_STRICT =

View File

@ -1,5 +1,4 @@
#define ENABLE_HTREE 1
#define ENABLE_NLS 1
#define HAVE_ALLOCA 1
#define HAVE_ASPRINTF 1
#define HAVE_DECL_FEOF_UNLOCKED 1

View File

@ -0,0 +1,31 @@
/*
* \brief Dummies to prevent unneeded warnings
* \author Josef Soentgen
* \date 2022-06-05
*/
/*
* Copyright (C) 2022 Genode Labs GmbH
*
* This file is part of the Genode OS framework, which is distributed
* under the terms of the GNU Affero General Public License version 3.
*/
#include <sys/time.h>
#include <sys/resource.h>
#include <unistd.h>
int getrusage(int who, struct rusage *usage)
{
(void)who;
(void)usage;
return -1;
}
void *sbrk(intptr_t increment)
{
(void)increment;
return (void*)0;
}

View File

@ -0,0 +1,11 @@
--- src/lib/e2fsprogs/e2fsck/util.c
+++ src/lib/e2fsprogs/e2fsck/util.c
@@ -115,7 +115,7 @@
void *e2fsck_allocate_memory(e2fsck_t ctx, unsigned long size,
const char *description)
{
- void *ret;
+ void *ret = NULL;
char buf[256];
#ifdef DEBUG_ALLOCATE_MEMORY

View File

@ -1,13 +0,0 @@
diff --git src/lib/e2fsprogs/lib/quota/quotaio.c src/lib/e2fsprogs/lib/quota/quotaio.c
index 1bdcba6c..8bd253d4 100644
--- src/lib/e2fsprogs/lib/quota/quotaio.c
+++ src/lib/e2fsprogs/lib/quota/quotaio.c
@@ -64,7 +64,7 @@ const char *quota_get_qf_path(const char *mntpt, int qtype, int fmt,
return NULL;
strncpy(path_buf, mntpt, path_buf_size);
- strncat(path_buf, "/", 1);
+ strncat(path_buf, "/", path_buf_size - strlen(path_buf));
strncat(path_buf, quota_get_qf_name(qtype, fmt, qf_name),
path_buf_size - strlen(path_buf));

View File

@ -1,13 +0,0 @@
Remove io->align check because it is not needed in our case
and rather leads to an memory allocation error (we cannot satisfy
the alignment).
+++ src/lib/e2fsprogs/lib/ext2fs/unix_io.c
@@ -558,7 +558,7 @@ static errcode_t unix_open(const char *name, int flags, io_channel *channel)
}
#endif
-#if defined(__CYGWIN__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
+#if 0
/*
* Some operating systems require that the buffers be aligned,
* regardless of O_DIRECT