diff --git a/repos/libports/lib/mk/e2fsprogs.mk b/repos/libports/lib/mk/e2fsprogs.mk index f2df773ac6..b6c31f96a7 100644 --- a/repos/libports/lib/mk/e2fsprogs.mk +++ b/repos/libports/lib/mk/e2fsprogs.mk @@ -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 diff --git a/repos/libports/lib/mk/e2fsprogs_host_tools.mk b/repos/libports/lib/mk/e2fsprogs_host_tools.mk index 730ab6e15e..ce28f8a0ba 100644 --- a/repos/libports/lib/mk/e2fsprogs_host_tools.mk +++ b/repos/libports/lib/mk/e2fsprogs_host_tools.mk @@ -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 = diff --git a/repos/libports/ports/e2fsprogs-lib.hash b/repos/libports/ports/e2fsprogs-lib.hash index 15b9d161f0..e60d7a5de5 100644 --- a/repos/libports/ports/e2fsprogs-lib.hash +++ b/repos/libports/ports/e2fsprogs-lib.hash @@ -1 +1 @@ -66fa19adc056fa1e55e3585ae5962c2f7d20dbe4 +d41e0f3b2517a1625a84c394c468530676d0551a diff --git a/repos/libports/ports/e2fsprogs-lib.port b/repos/libports/ports/e2fsprogs-lib.port index 99c0335842..4ded92b95e 100644 --- a/repos/libports/ports/e2fsprogs-lib.port +++ b/repos/libports/ports/e2fsprogs-lib.port @@ -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" \ diff --git a/repos/libports/recipes/src/fs_utils/content.mk b/repos/libports/recipes/src/fs_utils/content.mk index d2f8a2f4ba..25ecf971c4 100644 --- a/repos/libports/recipes/src/fs_utils/content.mk +++ b/repos/libports/recipes/src/fs_utils/content.mk @@ -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) diff --git a/repos/libports/src/app/e2fsck/target.mk b/repos/libports/src/app/e2fsck/target.mk index a9cb56a4a3..f35bc52494 100644 --- a/repos/libports/src/app/e2fsck/target.mk +++ b/repos/libports/src/app/e2fsck/target.mk @@ -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 = diff --git a/repos/libports/src/app/mke2fs/target.mk b/repos/libports/src/app/mke2fs/target.mk index 34618e8f64..d016174f6d 100644 --- a/repos/libports/src/app/mke2fs/target.mk +++ b/repos/libports/src/app/mke2fs/target.mk @@ -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 = diff --git a/repos/libports/src/lib/e2fsprogs/config.h b/repos/libports/src/lib/e2fsprogs/config.h index b13d8afc43..0c162b1728 100644 --- a/repos/libports/src/lib/e2fsprogs/config.h +++ b/repos/libports/src/lib/e2fsprogs/config.h @@ -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 diff --git a/repos/libports/src/lib/e2fsprogs/dummies.c b/repos/libports/src/lib/e2fsprogs/dummies.c new file mode 100644 index 0000000000..b1db651443 --- /dev/null +++ b/repos/libports/src/lib/e2fsprogs/dummies.c @@ -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 +#include +#include + + +int getrusage(int who, struct rusage *usage) +{ + (void)who; + (void)usage; + return -1; +} + + +void *sbrk(intptr_t increment) +{ + (void)increment; + return (void*)0; +} diff --git a/repos/libports/src/lib/e2fsprogs/patches/e2fsck_util_c.patch b/repos/libports/src/lib/e2fsprogs/patches/e2fsck_util_c.patch new file mode 100644 index 0000000000..4879d1f41c --- /dev/null +++ b/repos/libports/src/lib/e2fsprogs/patches/e2fsck_util_c.patch @@ -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 diff --git a/repos/libports/src/lib/e2fsprogs/patches/quotaio_strncat.patch b/repos/libports/src/lib/e2fsprogs/patches/quotaio_strncat.patch deleted file mode 100644 index a9513eeb27..0000000000 --- a/repos/libports/src/lib/e2fsprogs/patches/quotaio_strncat.patch +++ /dev/null @@ -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)); - diff --git a/repos/libports/src/lib/e2fsprogs/patches/unix_io.c.patch b/repos/libports/src/lib/e2fsprogs/patches/unix_io.c.patch deleted file mode 100644 index cab5708a07..0000000000 --- a/repos/libports/src/lib/e2fsprogs/patches/unix_io.c.patch +++ /dev/null @@ -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