summaryrefslogtreecommitdiff
path: root/sys-fs
diff options
context:
space:
mode:
Diffstat (limited to 'sys-fs')
-rw-r--r--sys-fs/Manifest.gzbin22090 -> 22092 bytes
-rw-r--r--sys-fs/btrfs-progs/Manifest3
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-6.9.ebuild191
-rw-r--r--sys-fs/cryptsetup/Manifest2
-rw-r--r--sys-fs/cryptsetup/cryptsetup-2.7.2.ebuild149
-rw-r--r--sys-fs/e2fsprogs/Manifest4
-rw-r--r--sys-fs/e2fsprogs/e2fsprogs-1.47.1.ebuild167
-rw-r--r--sys-fs/e2fsprogs/metadata.xml1
8 files changed, 516 insertions, 1 deletions
diff --git a/sys-fs/Manifest.gz b/sys-fs/Manifest.gz
index 4066a24a1899..d78245a50af3 100644
--- a/sys-fs/Manifest.gz
+++ b/sys-fs/Manifest.gz
Binary files differ
diff --git a/sys-fs/btrfs-progs/Manifest b/sys-fs/btrfs-progs/Manifest
index 97fad910f2ed..5e79ff328788 100644
--- a/sys-fs/btrfs-progs/Manifest
+++ b/sys-fs/btrfs-progs/Manifest
@@ -4,9 +4,12 @@ DIST btrfs-progs-v6.7.1.tar.sign 566 BLAKE2B e5aba64e199f26cef84a8cbbb034c0a5c24
DIST btrfs-progs-v6.7.1.tar.xz 2565576 BLAKE2B 4e05e9dd80e5531425490970318389aef280f61cc636a80aa2bbc630399afd4f1f3ce649d194822ff93ff4b1774d65a504e3bed6f1426ff60830e4c0d0ac87b0 SHA512 8a2e735f036a0778a2482d42c813012269903174232bc2924af41b72bbcfb49783d5f3b7d0af085285a68754748bd76b6534a498a47cdcea94020f4262281ffc
DIST btrfs-progs-v6.8.1.tar.sign 566 BLAKE2B 843eada2b00a2370522edc95d79bcfed88bd24233e647946d4807322550593e4d5f5bb5efa6652c754dd0965dc3e389bc97698a0bd8fc5d0e850bea94de98e72 SHA512 84ebaa6ec27aa5bc87a323f5c6cc82a860fada7311ab8319127de3592294c1076d25959e412f8387d54bad3b8ff838ce39c4db4b04a658b2de2eaa7c976e2b09
DIST btrfs-progs-v6.8.1.tar.xz 2652968 BLAKE2B 34406dedc6d97bd94a498c3bbb424d34a59b8251b37f9a40a87740f96db77780a4cd76c88055b4d9e4f673b4a3621503a6bedb67ceaf20870fb26c10f49b74e0 SHA512 b5f0694e56eecf1956313b3406610c2e22658ace51a636d79efe996780bb0b03fed95e68a8c9a11dd8649958c0e7dbc7417bb479859365d47b52e478f6830d46
+DIST btrfs-progs-v6.9.tar.sign 566 BLAKE2B a2e26047775bcc407b8f5aa8b08b0708a01c84a8cd649e50a935e15d04e2ee917010fc98df0dfb80320ee25a8dbfbbbabbb1f155489f32391544100956ba9636 SHA512 1e8304b3df013a841e82a8656361946914d35f680b5bc547c1599fdd98a75b66e2b1f869c8b043d7532182318c2183e699a9d6101ab4b1544618d2c8a25362e1
+DIST btrfs-progs-v6.9.tar.xz 2663052 BLAKE2B 9fad691327b6290b3ba0e1a638576b65e4e4d6c8f32549ea0f10188fdb40028315abf5e330976ff7a5efb6a258d0008e7602ae81ba0339888f474dc056791798 SHA512 e97907b377040371f4742a45345ec720e0cb8e0cf9ee5fdc60618ce2bc76f572725ec32e1a178fd57534f73affd3eeb5e6cfebf23734f04583bbbef858d913b2
EBUILD btrfs-progs-6.6.3.ebuild 4581 BLAKE2B c5fd9d72bfe270bf54838e0b0eff08cb9405711792cdd1775f21ff853a6202ba0f7ccff8a043f39da02d8cdcd36a253d03c53812ad293f64b6ce26df9e1c505e SHA512 a8af6e0941002d70cebef2fd96838c1bf630ad95bd4871e83097fd552ec5f01d253f675c05551f56c92871d5a40acae697c1f69e194c1cc9b915bb9acdb1cdc9
EBUILD btrfs-progs-6.7.1.ebuild 4581 BLAKE2B c5fd9d72bfe270bf54838e0b0eff08cb9405711792cdd1775f21ff853a6202ba0f7ccff8a043f39da02d8cdcd36a253d03c53812ad293f64b6ce26df9e1c505e SHA512 a8af6e0941002d70cebef2fd96838c1bf630ad95bd4871e83097fd552ec5f01d253f675c05551f56c92871d5a40acae697c1f69e194c1cc9b915bb9acdb1cdc9
EBUILD btrfs-progs-6.8.1-r1.ebuild 4385 BLAKE2B 1a9ef892af338671a84f00beb26080dfc83b0ae5df4896bbdfe8524a4546b58467c7299e2aaf605d193d426278c44e26e6a1bfb7ae188ed9d033f98eb473a33c SHA512 836ac7cefa25d16d89be2afd5da74ae91c665dc231dc1dd3f3d1420f6aad0d8de44936da83cb932ebe467685150842ffb08feb6ac9b3df168cec04b87f5a29a1
EBUILD btrfs-progs-6.8.1.ebuild 4581 BLAKE2B d396df46d93764918662ebef638bffd6383d959e924dcbd130851d8ea853d4e8999e4144b171080c694e1dd8d531fcaa0dfe7049a8b3479c2b40884d38f019b4 SHA512 7a26a82542bb82e3d429342b9421c8bda1b0ce5cfe516329dfca2ae8545ebdc97fa951a5755c43e981e5298a9a5bbf867e018929d74cc9bfb8b2486f4785e003
+EBUILD btrfs-progs-6.9.ebuild 4385 BLAKE2B 1a9ef892af338671a84f00beb26080dfc83b0ae5df4896bbdfe8524a4546b58467c7299e2aaf605d193d426278c44e26e6a1bfb7ae188ed9d033f98eb473a33c SHA512 836ac7cefa25d16d89be2afd5da74ae91c665dc231dc1dd3f3d1420f6aad0d8de44936da83cb932ebe467685150842ffb08feb6ac9b3df168cec04b87f5a29a1
EBUILD btrfs-progs-9999.ebuild 4385 BLAKE2B 1a9ef892af338671a84f00beb26080dfc83b0ae5df4896bbdfe8524a4546b58467c7299e2aaf605d193d426278c44e26e6a1bfb7ae188ed9d033f98eb473a33c SHA512 836ac7cefa25d16d89be2afd5da74ae91c665dc231dc1dd3f3d1420f6aad0d8de44936da83cb932ebe467685150842ffb08feb6ac9b3df168cec04b87f5a29a1
MISC metadata.xml 610 BLAKE2B 70361c4d5434a98f73a3d38ed47d7be830783529db6217396f2235cdedd58744fc6e52e4de1994d28184fe9d8aa5d2982c433d47eda1868cfdb79edf0769a620 SHA512 8958c02574adb1395a9d21d9e9ad5db38570b82a1c7211752eb007eecbd0e541e880a060649641f40be877f167e14f278f14d5ef8775766ef9a6fa5d3843dc53
diff --git a/sys-fs/btrfs-progs/btrfs-progs-6.9.ebuild b/sys-fs/btrfs-progs/btrfs-progs-6.9.ebuild
new file mode 100644
index 000000000000..59e32bcafd5d
--- /dev/null
+++ b/sys-fs/btrfs-progs/btrfs-progs-6.9.ebuild
@@ -0,0 +1,191 @@
+# Copyright 2008-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit bash-completion-r1 python-any-r1 udev
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git"
+ EGIT_BRANCH="devel"
+ WANT_LIBTOOL="none"
+ inherit autotools git-r3
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/dsterba.asc
+ inherit verify-sig
+
+ MY_PV="v${PV/_/-}"
+ MY_P="${PN}-${MY_PV}"
+ SRC_URI="
+ https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${MY_P}.tar.xz
+ verify-sig? ( https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${MY_P}.tar.sign )
+ "
+ S="${WORKDIR}"/${PN}-${MY_PV}
+
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ fi
+fi
+
+DESCRIPTION="Btrfs filesystem utilities"
+HOMEPAGE="https://btrfs.readthedocs.io/en/latest/"
+
+LICENSE="GPL-2"
+SLOT="0/0" # libbtrfs soname
+IUSE="+convert +man reiserfs static static-libs udev +zstd"
+# Could support it with just !systemd => eudev, see mdadm, but let's
+# see if someone asks for it first.
+REQUIRED_USE="static? ( !udev )"
+
+# Tries to mount repaired filesystems
+RESTRICT="test"
+
+RDEPEND="
+ dev-libs/lzo:2=
+ sys-apps/util-linux:=[static-libs(+)?]
+ sys-libs/zlib:=
+ convert? (
+ sys-fs/e2fsprogs:=
+ reiserfs? (
+ >=sys-fs/reiserfsprogs-3.6.27
+ )
+ )
+ udev? ( virtual/libudev:= )
+ zstd? ( app-arch/zstd:= )
+"
+DEPEND="
+ ${RDEPEND}
+ >=sys-kernel/linux-headers-5.10
+ convert? ( sys-apps/acl )
+ static? (
+ dev-libs/lzo:2[static-libs(+)]
+ sys-apps/util-linux:0[static-libs(+)]
+ sys-libs/zlib:0[static-libs(+)]
+ convert? (
+ sys-fs/e2fsprogs[static-libs(+)]
+ reiserfs? (
+ >=sys-fs/reiserfsprogs-3.6.27[static-libs(+)]
+ )
+ )
+ zstd? ( app-arch/zstd[static-libs(+)] )
+ )
+"
+BDEPEND="
+ virtual/pkgconfig
+ man? (
+ $(python_gen_any_dep 'dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]')
+ )
+"
+
+python_check_deps() {
+ python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
+}
+
+if [[ ${PV} == 9999 ]]; then
+ BDEPEND+=" sys-devel/gnuconfig"
+else
+ BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-dsterba )"
+fi
+
+pkg_setup() {
+ : # Prevent python-any-r1_python_setup
+}
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ return
+ fi
+
+ if in_iuse verify-sig && use verify-sig ; then
+ mkdir "${T}"/verify-sig || die
+ pushd "${T}"/verify-sig &>/dev/null || die
+
+ # Upstream sign the decompressed .tar
+ # Let's do it separately in ${T} then cleanup to avoid external
+ # effects on normal unpack.
+ cp "${DISTDIR}"/${MY_P}.tar.xz . || die
+ xz -d ${MY_P}.tar.xz || die
+ verify-sig_verify_detached ${MY_P}.tar "${DISTDIR}"/${MY_P}.tar.sign
+
+ popd &>/dev/null || die
+ rm -r "${T}"/verify-sig || die
+ fi
+
+ default
+}
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == 9999 ]]; then
+ local AT_M4DIR=config
+ eautoreconf
+
+ local automakedir="$(autotools_run_tool --at-output automake --print-libdir)"
+ [[ -e ${automakedir} ]] || die "Could not locate automake directory"
+
+ ln -s "${automakedir}"/install-sh config/install-sh || die
+ ln -s "${BROOT}"/usr/share/gnuconfig/config.guess config/config.guess || die
+ ln -s "${BROOT}"/usr/share/gnuconfig/config.sub config/config.sub || die
+ fi
+}
+
+src_configure() {
+ local myeconfargs=(
+ --bindir="${EPREFIX}"/sbin
+
+ --enable-lzo
+ --disable-experimental
+ --disable-python
+ $(use_enable convert)
+ $(use_enable man documentation)
+ $(use_enable elibc_glibc backtrace)
+ $(use_enable static-libs static)
+ $(use_enable udev libudev)
+ $(use_enable zstd)
+
+ # Could support libgcrypt, libsodium, libkcapi, openssl, botan
+ --with-crypto=builtin
+ --with-convert=ext2$(usev reiserfs ',reiserfs')
+ )
+
+ export EXTRA_PYTHON_CFLAGS="${CFLAGS}"
+ export EXTRA_PYTHON_LDFLAGS="${LDFLAGS}"
+
+ if use man; then
+ python_setup
+ fi
+
+ # bash as a temporary workaround for https://github.com/kdave/btrfs-progs/pull/721
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake V=1 all $(usev static)
+}
+
+src_test() {
+ emake V=1 -j1 -C tests test
+}
+
+src_install() {
+ local makeargs=(
+ $(usev static install-static)
+ )
+
+ emake V=1 DESTDIR="${D}" install "${makeargs[@]}"
+
+ newbashcomp btrfs-completion btrfs
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-fs/cryptsetup/Manifest b/sys-fs/cryptsetup/Manifest
index ab6fbb687bbb..38c7439ccc18 100644
--- a/sys-fs/cryptsetup/Manifest
+++ b/sys-fs/cryptsetup/Manifest
@@ -1,5 +1,7 @@
AUX 2.4.3-dmcrypt.confd 4306 BLAKE2B 107697c85548a8c5f1f4ffc1ae6ec785bcb9c63a55e52a97fd24c1a3c5e7867d031f494030a27be1efb8eab448a94e466c186c964b2638fd4d95250005fbf31d SHA512 d80701d1507c682d619e2ec433bebab2d64cc3e27c5ddc2e7c8408e07dcd353b4d66e9b8505719fa88fa734d7a7930fc90f5b8279e185580c3c038ac7ef7a02a
AUX 2.4.3-dmcrypt.rc 9715 BLAKE2B f3ad708c4fd26e197282ca3b3289756e686663dddeed87d0cdf973e485828141a50a1eb519ce0f32e44aeb6a3675ea71e8bae31bfda97ffc5558a8c017a5cf08 SHA512 a5355f870a018d516d50152b1a09243be28ddca0578347a1bbf21f4bfd495331a1571d11922360274b07d1344b4107e9eb937bc9fcedee47d0b733ab7d6f47de
DIST cryptsetup-2.6.1.tar.xz 11402380 BLAKE2B efd7a64d89d863876de68ff3e89d8c94ad5eca6a8d2236c52c234fbe51e9d9ee303a0c7fe7dac7df10e0062003b9c0aeddc8dc342582106c157ab2d1e742155e SHA512 0cbddbf33cbac2b834ed7e2dd47a9fc787131031a1c729f373f5c974600a838097e9cc0555f13719fc79c384a2a34b404f94ba4cc2f35f0bb1d70aef2233fd18
+DIST cryptsetup-2.7.2.tar.xz 11637316 BLAKE2B 466d7818cf8b6e23f802291ccad205d09f128572c21a85d6ca8e518d2198e49c9d95066c58560ffcb7df5a483aa27592b0e931db1e4daeabd102db9a5543da20 SHA512 06f42f443b91d1f8af8af999dfedd4051ecb12ba5ef291cf2b44b6a5676e2c5cf1e686e19687f5cb6b1fd524dfc1a208cd25a3798367a480d80eac954aa8d6d4
EBUILD cryptsetup-2.6.1.ebuild 4152 BLAKE2B b346a276c968b88d55e5ab0ee39f5623e4d06608c228752b37c538876fbd838eebcfede1de9c9d40daa1e308f2f91bc030e727fd7c055c56e05ae6ae9c0c3b3d SHA512 497b7a18f2d7434b35c6980ee8dda270df757bca81782fd166bbf92a079f850227f48dc6bfd373553ede01fb9143a7c79207eb51011de84ec1416c6db9f47326
+EBUILD cryptsetup-2.7.2.ebuild 4174 BLAKE2B bd4151965fba4327cbca825d260c68016bfefa361429fec287e8a6b5495cb14e82587a51b85057249f69b25dce1daf83ccf91525d877fc7f386c4dd56e98873c SHA512 73b1b05e7f6d88821666dea8e483fe2ad0be8e41869b75c439c6ce75a7112644cbabe2cddf9417de176989deae1ea5e2d821c7ed577001bc453f79354283c56b
MISC metadata.xml 1146 BLAKE2B e349364ad14e957f35c1fbe1fdeff46cd6a48535b45363922e071adde6342a60fb30c25e3579b908b6e0c0df80984ef26b319e70d438731d665a57fcc2aa8b81 SHA512 6cec96962ee5da4b2923e1fbce5232d014e25e01ccfdd3ca55d48e23cb8581af592ed9b061f8e24b6408e8c339b9ebfa5e2754c1ead417e41d832f777d4ccb45
diff --git a/sys-fs/cryptsetup/cryptsetup-2.7.2.ebuild b/sys-fs/cryptsetup/cryptsetup-2.7.2.ebuild
new file mode 100644
index 000000000000..14f76fc36fb8
--- /dev/null
+++ b/sys-fs/cryptsetup/cryptsetup-2.7.2.ebuild
@@ -0,0 +1,149 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO: meson
+inherit linux-info tmpfiles
+
+DESCRIPTION="Tool to setup encrypted devices with dm-crypt"
+HOMEPAGE="https://gitlab.com/cryptsetup/cryptsetup"
+SRC_URI="https://www.kernel.org/pub/linux/utils/${PN}/v$(ver_cut 1-2)/${P/_/-}.tar.xz"
+S="${WORKDIR}"/${P/_/-}
+
+LICENSE="GPL-2+"
+SLOT="0/12" # libcryptsetup.so version
+if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+
+CRYPTO_BACKENDS="gcrypt kernel nettle +openssl"
+# we don't support nss since it doesn't allow cryptsetup to be built statically
+# and it's missing ripemd160 support so it can't provide full backward compatibility
+IUSE="${CRYPTO_BACKENDS} +argon2 fips nls pwquality ssh static static-libs test +udev urandom"
+RESTRICT="!test? ( test )"
+# bug #496612, bug #832711, bug #843863
+REQUIRED_USE="
+ ^^ ( ${CRYPTO_BACKENDS//+/} )
+ static? ( !gcrypt !ssh !udev !fips )
+ fips? ( !kernel !nettle )
+"
+
+LIB_DEPEND="
+ dev-libs/json-c:=[static-libs(+)]
+ dev-libs/popt[static-libs(+)]
+ >=sys-apps/util-linux-2.31-r1[static-libs(+)]
+ argon2? ( app-crypt/argon2:=[static-libs(+)] )
+ gcrypt? (
+ dev-libs/libgcrypt:0=[static-libs(+)]
+ dev-libs/libgpg-error[static-libs(+)]
+ )
+ nettle? ( >=dev-libs/nettle-2.4[static-libs(+)] )
+ openssl? ( dev-libs/openssl:0=[static-libs(+)] )
+ pwquality? ( dev-libs/libpwquality[static-libs(+)] )
+ ssh? ( net-libs/libssh[static-libs(+)] )
+ sys-fs/lvm2[static-libs(+)]
+"
+# We have to always depend on ${LIB_DEPEND} rather than put behind
+# !static? () because we provide a shared library which links against
+# these other packages. bug #414665
+RDEPEND="
+ static-libs? ( ${LIB_DEPEND} )
+ ${LIB_DEPEND//\[static-libs\([+-]\)\]}
+ udev? ( virtual/libudev:= )
+"
+DEPEND="
+ ${RDEPEND}
+ static? ( ${LIB_DEPEND} )
+"
+# vim-core needed for xxd in tests
+BDEPEND="
+ virtual/pkgconfig
+ test? ( app-editors/vim-core )
+"
+
+pkg_setup() {
+ local CONFIG_CHECK="~DM_CRYPT ~CRYPTO ~CRYPTO_CBC ~CRYPTO_SHA256"
+ local WARNING_DM_CRYPT="CONFIG_DM_CRYPT:\tis not set (required for cryptsetup)\n"
+ local WARNING_CRYPTO_SHA256="CONFIG_CRYPTO_SHA256:\tis not set (required for cryptsetup)\n"
+ local WARNING_CRYPTO_CBC="CONFIG_CRYPTO_CBC:\tis not set (required for kernel 2.6.19)\n"
+ local WARNING_CRYPTO="CONFIG_CRYPTO:\tis not set (required for cryptsetup)\n"
+ check_extra_config
+}
+
+src_prepare() {
+ default
+
+ sed -i '/^LOOPDEV=/s:$: || exit 0:' tests/{compat,mode}-test || die
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-internal-argon2
+ --disable-asciidoc
+ --enable-shared
+ --sbindir="${EPREFIX}"/sbin
+ # for later use
+ --with-default-luks-format=LUKS2
+ --with-tmpfilesdir="${EPREFIX}/usr/lib/tmpfiles.d"
+ --with-crypto_backend=$(for x in ${CRYPTO_BACKENDS//+/} ; do usev ${x} ; done)
+ $(use_enable argon2 libargon2)
+ $(use_enable nls)
+ $(use_enable pwquality)
+ $(use_enable !static external-tokens)
+ $(use_enable static static-cryptsetup)
+ $(use_enable static-libs static)
+ $(use_enable udev)
+ $(use_enable !urandom dev-random)
+ $(use_enable ssh ssh-token)
+ $(usev !argon2 '--with-luks2-pbkdf=pbkdf2')
+ $(use_enable fips)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ if [[ ! -e /dev/mapper/control ]] ; then
+ ewarn "No /dev/mapper/control found -- skipping tests"
+ return 0
+ fi
+
+ local p
+ for p in /dev/mapper /dev/loop* ; do
+ addwrite ${p}
+ done
+
+ default
+}
+
+src_install() {
+ default
+
+ if use static ; then
+ mv "${ED}"/sbin/cryptsetup{.static,} || die
+ mv "${ED}"/sbin/veritysetup{.static,} || die
+ mv "${ED}"/sbin/integritysetup{.static,} || die
+
+ if use ssh ; then
+ mv "${ED}"/sbin/cryptsetup-ssh{.static,} || die
+ fi
+ fi
+
+ find "${ED}" -type f -name "*.la" -delete || die
+
+ dodoc docs/v*ReleaseNotes
+
+ newconfd "${FILESDIR}"/2.4.3-dmcrypt.confd dmcrypt
+ newinitd "${FILESDIR}"/2.4.3-dmcrypt.rc dmcrypt
+}
+
+pkg_postinst() {
+ tmpfiles_process cryptsetup.conf
+
+ if use kernel ; then
+ ewarn "Note that kernel backend is very slow for this type of operation"
+ ewarn "and is provided mainly for embedded systems wanting to avoid"
+ ewarn "userspace crypto libraries."
+ fi
+}
diff --git a/sys-fs/e2fsprogs/Manifest b/sys-fs/e2fsprogs/Manifest
index 57b46b5bca95..d9d4086caa3e 100644
--- a/sys-fs/e2fsprogs/Manifest
+++ b/sys-fs/e2fsprogs/Manifest
@@ -3,5 +3,7 @@ AUX e2fsprogs-1.42.13-fix-build-cflags.patch 290 BLAKE2B b37f9fd204bd35631776d68
AUX e2fsprogs-1.47.0-disable-metadata_csum_seed-and-orphan_file-by-default.patch 1140 BLAKE2B bd454a4cf073db6e2e102ad814065e3a0c9a81282db932a2259a615417a9dea5879e53ca6d4bd41537147e7706edc88ecbd06ad71dc57305e8b0b835c2b15ae9 SHA512 90afefd47bbec59537cd646515dc320eac7b6e0f89ce5100b0d518d2386f8f57f84cf182f62130a7530e9a78132fc971e3195f4cef1836a8175261ddb1beaf11
AUX e2fsprogs-1.47.0-parallel-make.patch 3491 BLAKE2B b3848202f038cc86a07e784bfeff266096f241e38cd96eec176aa05423cc1286b30b879b202bec103851c3b59394ea4f894b03e1b4868dd035fb47679f984cc3 SHA512 08764ccb47b8790c390f47440082ce0dcd844bb3bddada647c63cc176d3daab29f8815380ddb65ed8a60b91b6a5af9c0bc32d32029c39b2c2c996a6026992121
DIST e2fsprogs-1.47.0.tar.xz 7059372 BLAKE2B 84f58b05a9f0e14e1a66c6e5171ff23b022f51c4e9a02d4d6d1d26c91909f3c7ec9c9f0462663a4457b4479043774502b8891f691e58a61f4ef6bf9ba33f33aa SHA512 0e6d64c565b455becb84166b6a5c7090724bac5cfe69098657a31bf0481b4e2cace3de1363121b7d84820fbae85b7c83ac5f2a2b02bb36280f0e3ae83a934cec
+DIST e2fsprogs-1.47.1.tar.xz 7271444 BLAKE2B 67924c38a6b688e0db5ee77b0e11a8b34ec602a729d48516668e9fdf7f36964c8a9369295f0313bfacdc8e5f3f5a27d79a8d99a1aca3b4fe0ced98a4db4884ea SHA512 2ac51f7654a44adf3ee5a5e32cecd7f129e423bdf3074c60b22a7acdba131e7dd0bb2964c107a06ae133f51836272be166f5da1f996f67ceb6c22e2636117beb
EBUILD e2fsprogs-1.47.0-r3.ebuild 4461 BLAKE2B 3ad15e552e74f7d9c49465feb39b00af95fdd60c15ea6020b47269275dcf0750934e6c923aaf5cb5f8eb25f7386802e8c7a855a914102452c55ce80ca5c5fbb5 SHA512 2f2e32e2feca64f58d23f8fe6b64b684fce0e8fba8086ae615259a23c99db8279193df099105e34baf1bcd1f89c5accff5344dc7262b6c1586ce622973818650
-MISC metadata.xml 715 BLAKE2B 7a5d2ea0cd9b404d7ac0916648edd979852fc477513f55ed887b2198ec14f78cc42e13c52f7851605e16a0ac1a717484f2cd7ac6f953dd5ceec18a9738eba2c1 SHA512 286aedab5c877c6b3de25bc4764bb92e1f95d41a996003f86cd5050a122eb59d1bd6f06a6a5e27ff42d404c14baa1e71cf450e7a3aaeecb17f6db067eebf1c3f
+EBUILD e2fsprogs-1.47.1.ebuild 4407 BLAKE2B f31ce213f8075f953b9a40dfbfe71d7e418dcb9e4f2d7e69f5cbe67ed6d17553faecfcfdd4c39cf455bb66fd314bb59e1459c0b2517367b3b4a06981330c50f2 SHA512 663c9942b4fe8627f892fe7f826aa3b0410d6e99bc1870b0a73cba2ba75014db77c13803c626b0c8f6bc715c1f6dd72a038fedcb13e102f0c0819cf25360b82f
+MISC metadata.xml 870 BLAKE2B bf57e8f24b302ed91357fb10dbc9b15656002983281fd287ee241a9a097d00e6af56d4a42de4109728dbb826ea58e58eba26ec1840299e43f7728495b1a133f4 SHA512 fa0ea6b3db855719976d3c627dcf88f62cf7fdacc132686ea06bcdfce03bb9ccef035d9aa674fc43844a0a111198c34921016183966be5f887aabed06bf0f369
diff --git a/sys-fs/e2fsprogs/e2fsprogs-1.47.1.ebuild b/sys-fs/e2fsprogs/e2fsprogs-1.47.1.ebuild
new file mode 100644
index 000000000000..300fe7548c64
--- /dev/null
+++ b/sys-fs/e2fsprogs/e2fsprogs-1.47.1.ebuild
@@ -0,0 +1,167 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal systemd toolchain-funcs udev
+
+DESCRIPTION="Standard EXT2/EXT3/EXT4 filesystem utilities"
+HOMEPAGE="http://e2fsprogs.sourceforge.net/"
+SRC_URI="https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v${PV}/${P}.tar.xz"
+
+LICENSE="GPL-2 BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="archive cron fuse nls static-libs test +tools"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !sys-libs/${PN}-libs
+ archive? ( app-arch/libarchive:= )
+ cron? ( sys-fs/lvm2[lvm] )
+ fuse? ( sys-fs/fuse:3 )
+ nls? ( virtual/libintl )
+ tools? ( sys-apps/util-linux )
+"
+# For testing lib/ext2fs, lib/support/libsupport.a is required, which
+# unconditionally includes '<blkid/blkid.h>' from sys-apps/util-linux.
+DEPEND="
+ ${RDEPEND}
+ test? ( sys-apps/util-linux[${MULTILIB_USEDEP}] )
+"
+BDEPEND="
+ sys-apps/texinfo
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/ext2fs/ext2_types.h
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.42.13-fix-build-cflags.patch # bug #516854
+ # We can drop this metadata patch after 6 months or so to let initramfses
+ # upgrade. See bug #904093 and bug #904048.
+ "${FILESDIR}"/${PN}-1.47.0-disable-metadata_csum_seed-and-orphan_file-by-default.patch
+
+ # Upstream patches (can usually removed with next version bump)
+)
+
+src_prepare() {
+ default
+
+ cp doc/RelNotes/v${PV}.txt ChangeLog || die "Failed to copy Release Notes"
+
+ # Get rid of doc -- we don't use them. This also prevents a sandbox
+ # violation due to mktexfmt invocation
+ rm -r doc || die "Failed to remove doc dir"
+
+ # Prevent included intl cruft from building, bug #81096
+ sed -i -r \
+ -e 's:@LIBINTL@:@LTLIBINTL@:' \
+ MCONFIG.in || die 'intl cruft'
+}
+
+multilib_src_configure() {
+ # Keep the package from doing silly things, bug #261411
+ export VARTEXFONTS="${T}/fonts"
+
+ local myeconfargs=(
+ --with-root-prefix="${EPREFIX}"
+ $(use_with cron crond-dir "${EPREFIX}/etc/cron.d")
+ --with-systemd-unit-dir="$(systemd_get_systemunitdir)"
+ --with-udev-rules-dir="${EPREFIX}$(get_udevdir)/rules.d"
+ --enable-symlink-install
+ --enable-elf-shlibs
+ $(tc-has-tls || echo --disable-tls)
+ $(multilib_native_use_with archive libarchive direct)
+ $(multilib_native_use_enable fuse fuse2fs)
+ $(use_enable nls)
+ $(multilib_native_use_enable tools e2initrd-helper)
+ --disable-fsck
+ --disable-uuidd
+ --disable-lto
+ --with-pthread
+ --enable-largefile
+ )
+
+ # We use blkid/uuid from util-linux now
+ if use kernel_linux ; then
+ export ac_cv_lib_{uuid_uuid_generate,blkid_blkid_get_cache}=yes
+ myeconfargs+=( --disable-lib{blkid,uuid} )
+ fi
+
+ ac_cv_path_LDCONFIG=: \
+ ECONF_SOURCE="${S}" \
+ CC="$(tc-getCC)" \
+ BUILD_CC="$(tc-getBUILD_CC)" \
+ BUILD_LD="$(tc-getBUILD_LD)" \
+ econf "${myeconfargs[@]}"
+
+ if grep -qs 'USE_INCLUDED_LIBINTL.*yes' config.{log,status} ; then
+ eerror "INTL sanity check failed, aborting build."
+ eerror "Please post your ${S}/config.log file as an"
+ eerror "attachment to https://bugs.gentoo.org/81096"
+ die "Preventing included intl cruft from building"
+ fi
+}
+
+multilib_src_compile() {
+ if multilib_is_native_abi && use tools ; then
+ emake V=1
+ else
+ emake -C lib/et V=1
+ emake -C lib/ss V=1
+ emake -C lib/ext2fs V=1
+ emake -C lib/e2p V=1
+ fi
+}
+
+multilib_src_test() {
+ if multilib_is_native_abi && use tools ; then
+ emake V=1 check
+ else
+ # Required by lib/ext2fs's check target
+ emake -C lib/support V=1
+
+ # For non-native, there's no binaries to test. Just libraries.
+ emake -C lib/et V=1 check
+ emake -C lib/ss V=1 check
+ emake -C lib/ext2fs V=1 check
+ emake -C lib/e2p V=1 check
+ fi
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi && use tools ; then
+ emake STRIP=':' V=1 DESTDIR="${D}" install
+ else
+ emake -C lib/et V=1 DESTDIR="${D}" install
+ emake -C lib/ss V=1 DESTDIR="${D}" install
+ emake -C lib/ext2fs V=1 DESTDIR="${D}" install
+ emake -C lib/e2p V=1 DESTDIR="${D}" install
+ fi
+
+ # configure doesn't have an option to disable static libs
+ if ! use static-libs ; then
+ find "${ED}" -name '*.a' -delete || die
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if use tools ; then
+ insinto /etc
+ doins "${FILESDIR}"/e2fsck.conf
+ fi
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-fs/e2fsprogs/metadata.xml b/sys-fs/e2fsprogs/metadata.xml
index 3030299059ee..972d0ac8f30c 100644
--- a/sys-fs/e2fsprogs/metadata.xml
+++ b/sys-fs/e2fsprogs/metadata.xml
@@ -6,6 +6,7 @@
<name>Gentoo Base System</name>
</maintainer>
<use>
+ <flag name="archive">Add support for mke2fs to read a tarball as input. This allows not needing privileges. Needs <pkg>app-arch/libarchive</pkg>.</flag>
<flag name="cron">Install e2scrub_all cron script</flag>
<flag name="fuse">Build fuse2fs, a FUSE file system client for ext2/ext3/ext4 file systems</flag>
<flag name="tools">Build extfs tools (mke2fs, e2fsck, tune2fs, etc.)</flag>