diff options
Diffstat (limited to 'sys-fs')
33 files changed, 778 insertions, 517 deletions
diff --git a/sys-fs/Manifest.gz b/sys-fs/Manifest.gz Binary files differindex a789b698a846..bbf72d4f8460 100644 --- a/sys-fs/Manifest.gz +++ b/sys-fs/Manifest.gz diff --git a/sys-fs/btrfs-progs/Manifest b/sys-fs/btrfs-progs/Manifest index 060767a998ce..3199de3ad3ae 100644 --- a/sys-fs/btrfs-progs/Manifest +++ b/sys-fs/btrfs-progs/Manifest @@ -1,8 +1,8 @@ DIST btrfs-progs-v5.10.1.tar.xz 2204164 BLAKE2B ed83729754f9abd22d4d2e7ae9a7e90e80be9b63d49a4a9692e20e5939467dbd864834b71495661e1c7a1fca89e253a62fbda37f1d01d2eadecb13f5904f0dd0 SHA512 32e5b8bda1863e34613802db91946f240b2cde21288ff8f95c1807e7afd0a67c5a704aa4d2bc0d7b1ca094de6831adbfec83fe61f74e1caf6d1975be7d972f2d -DIST btrfs-progs-v5.14.1.tar.xz 2247384 BLAKE2B 70eb5f1f3f4b7acc2d4f662c0484984903a09c03bd4d3bd6e15ac712318c3ee9a3621e682f1d33a8b2b25280a63801e1a71d574c55dbd28e205e7fb4b549af47 SHA512 d706322b3c82825ab0eedc952a5e68642483539af5f3bf84d751ffed09d5e997f188370734145c7eb8b109be5bf6d77a2e3731521b3e34d46e1a454eef6bfb56 DIST btrfs-progs-v5.14.2.tar.xz 2252600 BLAKE2B 74ac21bc9bbc70a4034b6a439afbd0c0ab023ac7815c1cae1e7ac81c4239684d41be06bebe1d015dc2a0ba80cf0975e8f6da7e111b2825eb1a7814d1832914eb SHA512 dc1a73e49dd94ccd8128c197d99f112977b16350d22bc0ca32247211314a3fec66de73827305bf24ef8e0571fc890f00378d0ec3a82988f0ee54f5db10f6578c +DIST btrfs-progs-v5.15.tar.xz 2275480 BLAKE2B 45fa1e20d14bdd92b1a7761771c7b6c2795d885f91fb44c9c5cf9c735c0c6c0f319e701ca2f6bf19191c50552459287042b56d4308fcc2da5bd566e63c755941 SHA512 5fc182c490733cbe7f2cdb8e131e0c79e5cc374ae32427d5f9ee2251e00e6e1d8ba0fdbbe31d50230f2bded08a9b9c652a4288998a427643a2d738f57ce72f90 EBUILD btrfs-progs-5.10.1-r1.ebuild 2981 BLAKE2B 0c1e13d87b5119c171447e3eebc0fe9439da77a7d05ae0b1130eb8904c24081716e6f15dcb39f700abbe68a0431331c78c18a9253cb631998e61a842bbbe9791 SHA512 715d72ae20791fa701e3116ae7540be89c6761cbee1b42589881482e3abab6d5f9621fcba2b22166ac858466fe821b1af32284a0eea0a25ec8d9b3f63518a7c7 -EBUILD btrfs-progs-5.14.1.ebuild 3020 BLAKE2B cc9ea2671ef95528d17529556c6ae00cda5d2386c35c93e1bd07909775393dd208df0b28269935fdab8d049611dcb3b1ec4e1561346058e94166703cdf8f0a84 SHA512 c063048685057d687f99516f770789a3919e6354d7279999ffab70c05511b08ab632f888ed4a9b1d7870acd2a8bdccda9b9e4e1abec0b3c83fda3d8578eda374 EBUILD btrfs-progs-5.14.2.ebuild 3020 BLAKE2B cc9ea2671ef95528d17529556c6ae00cda5d2386c35c93e1bd07909775393dd208df0b28269935fdab8d049611dcb3b1ec4e1561346058e94166703cdf8f0a84 SHA512 c063048685057d687f99516f770789a3919e6354d7279999ffab70c05511b08ab632f888ed4a9b1d7870acd2a8bdccda9b9e4e1abec0b3c83fda3d8578eda374 +EBUILD btrfs-progs-5.15.ebuild 3020 BLAKE2B cc9ea2671ef95528d17529556c6ae00cda5d2386c35c93e1bd07909775393dd208df0b28269935fdab8d049611dcb3b1ec4e1561346058e94166703cdf8f0a84 SHA512 c063048685057d687f99516f770789a3919e6354d7279999ffab70c05511b08ab632f888ed4a9b1d7870acd2a8bdccda9b9e4e1abec0b3c83fda3d8578eda374 EBUILD btrfs-progs-9999.ebuild 3020 BLAKE2B cc9ea2671ef95528d17529556c6ae00cda5d2386c35c93e1bd07909775393dd208df0b28269935fdab8d049611dcb3b1ec4e1561346058e94166703cdf8f0a84 SHA512 c063048685057d687f99516f770789a3919e6354d7279999ffab70c05511b08ab632f888ed4a9b1d7870acd2a8bdccda9b9e4e1abec0b3c83fda3d8578eda374 MISC metadata.xml 524 BLAKE2B 4e27833128aeb064271af7a4f3c05699b4603b1d993b32bef3d9d973182d3d0c88ac799c95f0f35495e9a99e645627afd96049273c08c3e1334d8fe1ccf0debe SHA512 471014a98bc3feb75e7930485e89daf6cb3390c37a330b8373d5c3b0b764b9180cbff133839ce4742a3c76f63e6f18895060d5906e6a113d2cd43af0df3b0d5a diff --git a/sys-fs/btrfs-progs/btrfs-progs-5.14.1.ebuild b/sys-fs/btrfs-progs/btrfs-progs-5.15.ebuild index 36548f98db8a..36548f98db8a 100644 --- a/sys-fs/btrfs-progs/btrfs-progs-5.14.1.ebuild +++ b/sys-fs/btrfs-progs/btrfs-progs-5.15.ebuild diff --git a/sys-fs/ctmg/Manifest b/sys-fs/ctmg/Manifest index 6f0a2a88b43d..2055ca5707bd 100644 --- a/sys-fs/ctmg/Manifest +++ b/sys-fs/ctmg/Manifest @@ -1,3 +1,3 @@ DIST ctmg-1.2.tar.xz 3824 BLAKE2B 58cddaa3ce31b7e3d91b1752b6e850efcd2d89173d35773f71431df8a7b8894af8f04b7c49d193872de934244e66f59fc4cc39b41477a927ecac7c9e7a32f708 SHA512 6c4b7881c57cead41c7c0065c55805af7fee901723f61bdb06e5cb64dbba08add382d80f931f3321dca5e1e0f8080ab7da4520e58494694ba21900d23717c816 -EBUILD ctmg-1.2.ebuild 561 BLAKE2B 96edabf4e0a56de361e36792cfdfcdeeb0e662a851658af48ea03c91b6f5a5f94d0b30efcb4500b6c29c14d358039e9600a11c41ea096f180603e6743cee9e0f SHA512 5c9e1594738ce1bb8d4976302bf859a07713039bf3150c7e2a241c8511921899c96d3233da9bcfab67197cfb516ff63f8ce378ec69d2a34621a4ae79e0cac94e +EBUILD ctmg-1.2.ebuild 564 BLAKE2B d47b88d50a28b81bb903a70f483182374e7c0b4134322d074faf711e77d81c51fb432f5b05bf1bc551a3f523c4e8d3b674a2fa5e4992504243c3b09283ca741c SHA512 188a763313b819f69bf372c26f493b127f135e4398962ae9e37d5625b84a421f3b00a4bc33b42150b78dd4d80b17a60c5a88568fe5d486aba783479f0d7f9ff4 MISC metadata.xml 251 BLAKE2B b1977a04e8904e65636648bd24804893bc0a317a7a20a8b4bac3874f0529dd15b2c058b0002b13febafcdfd93cbef59ef7bc1c646f3996c381b994d384b73ba3 SHA512 25f6fc31ee9e87d78b143500e706ac3417896e67a183470867130b23a42ec8ddd4cdd9a1da40f32903085ee4add969b4b07466b90fb0275308a2518d2d73a270 diff --git a/sys-fs/ctmg/ctmg-1.2.ebuild b/sys-fs/ctmg/ctmg-1.2.ebuild index 7f05530078a9..e8ac8f76fe98 100644 --- a/sys-fs/ctmg/ctmg-1.2.ebuild +++ b/sys-fs/ctmg/ctmg-1.2.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 +EAPI=8 DESCRIPTION="Simple wrapper around cryptsetup for encrypted containers" HOMEPAGE="https://git.zx2c4.com/ctmg/about/" @@ -13,7 +13,12 @@ KEYWORDS="amd64 arm ~arm64 x86" IUSE="" DEPEND="" -RDEPEND="sys-fs/cryptsetup sys-apps/util-linux sys-fs/e2fsprogs sys-apps/coreutils app-admin/sudo" +RDEPEND=" + sys-fs/cryptsetup + sys-apps/util-linux + sys-fs/e2fsprogs + sys-apps/coreutils + app-admin/sudo" src_compile() { :; } diff --git a/sys-fs/e2fsprogs/Manifest b/sys-fs/e2fsprogs/Manifest index c91684bf0df8..dcab8ead9b93 100644 --- a/sys-fs/e2fsprogs/Manifest +++ b/sys-fs/e2fsprogs/Manifest @@ -4,13 +4,7 @@ AUX e2fsprogs-1.42.13-fix-build-cflags.patch 290 BLAKE2B b37f9fd204bd35631776d68 AUX fsck_ext2fs.8 3802 BLAKE2B 379ef7974e29c654e4a69caa64c3703eecf375d63557915bdbfe23c8c0ca67cc9a13792988ba8c0b18bb4ae0819d220102f034499200fd20951e004d34273311 SHA512 639af16c7881bdfca55a9cd39623d3eeb9ae0ca93f8e65321c69ab1b2591cb17cdd0cfc21d27c20b8cc65bd295cccf23e47f740fffb91f4cf17e32959bb166d0 AUX fsck_ext2fs.c 2793 BLAKE2B 65294fc9026bdb859a58d010f885fdbee2db4372a81b82ffa0722a0a3163885561bf06f0fdb73b4cf8c9cfc5bd0dc0c6ee0a7fb340a2416ce34555eff22f71a4 SHA512 1cac2963c0e85dd6a111bfe2a00f2b4f65c17a05bf0039cec073d4109ad4b0efee8905cff1a25098e0693f367db300054d92598a85dfbe8e5db7ff6419534af6 DIST e2fsprogs-1.42.9-mint-r1.patch.xz 9012 BLAKE2B ae6421587c3cca2f9b26805c5f8d236d3fecde78cc7df3776ae9c23c7f254d7240e06507568fdd2154a16113c47609a8143535ab9cb2925426d3c578d077ce26 SHA512 591a7c80d65082eebcdc455028be6ade05c9aae96c94f654106be0facef330a8875dae82891e6e3ad2b48dece2b4e1c1940dbc47cd3eba3e6eea3b5ddba9a8fc -DIST e2fsprogs-1.45.7.tar.xz 5570052 BLAKE2B 237ef068c3899641b5eb908cc302c8c6b454e337bce2de95fc96b9a078a003db0c44bd34391063cc2f30a95dcce57950fe900f59ae7d273786c657b7c190b341 SHA512 fcbd66af7b87f2bdec562ddd59c8c5fbd60f32fdd582a5c9d21cb6cfea642d2cdca57b6c29124309798528b2d9ceadf770928a6698f75dc88a47701286128763 -DIST e2fsprogs-1.46.2.tar.xz 7020552 BLAKE2B 0eda7428862c13dfd02308f0321d22c134679197bad5b247baa6f0ca386433db6749b97529709d43934afa73d8d0801379bb342456a0fd3dab7df01f5a90fd31 SHA512 5297a4d7bf944806d8ee77227eac596b5e5efed2c665561d40094c40b9f321616c60975a2716f1499a9f72243df6e3b6e2267b98ec1fdc1dfd646d7be887fc4d -DIST e2fsprogs-1.46.3.tar.xz 7024896 BLAKE2B 86f65cf9997f09aa7a27be35b2f38d6385f565de565b1c4cda710dbbea8312312ff77d92beb2b579a3caffa7ce82ee6b2726eb8f97daf41bba46379a94198c8f SHA512 27da6e38d3463e7a283dacfb88a3210dd6d8c63f4d990db879f63bdf503aaa5c447ef0ccc566b71526c12a8ab0a7a6529014b1010be300ad56a6ad5ce9066196 DIST e2fsprogs-1.46.4.tar.xz 7035200 BLAKE2B 473f7fd3f521b94cdaa68e37784a518fc1919387dd114f31b5338f1b4c472f86b150229ec3dcae8b73eac95330c0dea729befc8cea08bcf1e455c0b6652d6d2b SHA512 7d9cfdf00ed58e66049585e8382fe4977088956421a0fb8155900c69afd8857309ad2b9301b3f74c9c0afa7287a0ddba2fd1538fcf57858b37a9ab712390016d -EBUILD e2fsprogs-1.45.7.ebuild 3977 BLAKE2B aa340ee1dfe6fa745c5e69e48098e3d0bbde09ac6da4c28fa6a853193414e5236a0eb2f50fbe3b9951afaad1b903247eccc85becf793acbda1d30c262f373a78 SHA512 bdc90d96f2200c1e2217cab8c7e2775d377fae6eee2524b5dd1dac0196d0ab5b1f4adf1d0dc84ea2bb55a67ca45e09ed348db0f5482c79acf69fb22ea3f7df04 -EBUILD e2fsprogs-1.46.2.ebuild 4015 BLAKE2B 6aabd166fce82e441e6214fcc911033c3b58ac114870b221c29e4d55978adf8819d8dfa09d0b8549ca6fbd5e964fa2bb3de5afe8a1006e31c92fa4785949ace0 SHA512 6faff94db1cff5d1ae4c726afb9c8e5a31cb2f435f009af4b66668d65ffc88375d98ed4a187c744abb368d1804db6c193bceef7a76057d94df94cb4ad9bb61b5 -EBUILD e2fsprogs-1.46.3.ebuild 4019 BLAKE2B ea12fa2e331be15f3f7c003575ab6369025c28b49a421174ac9559b671c347df954c505c74a4e41b67d18798cf4b4ee8da6595deec11a3e1420990a279fb6454 SHA512 99c1ca7e4780e2716ccddfc03415d31f1f292347d127874335a6219a4afc56bf3c7b2fb8e850d9b6a9bc375536164c8e28dc743c3bdc9afe930ee335f7802136 EBUILD e2fsprogs-1.46.4-r51.ebuild 4919 BLAKE2B aa332a2ab98952e301cf139d489b7421e8254c83b18eb9750fc509283fd62c02c2b9b921ddf592229cd1425d4922ef0c31c37b6964390b7cfbd0d9cc700940ec SHA512 afe69970b8f4b5077ed9ca2ced0d8d6d5d61278dc1bc367a90ccf7323544d39228fbe7ba51e35bcde747c34cd915106f864dacfb4fec91f424167ecc546bd666 EBUILD e2fsprogs-1.46.4.ebuild 4011 BLAKE2B ed9e1b1ff7116c4a07c650978b42aa43801daaa530c191c2e3ed095d5a0f2938a2c4795b78ecddb577325ca3b125bbf6bcb08fbe4e957bf1bfb30cfcb34e4171 SHA512 26ef3f4a84c8fcb2b7a57b5f1377761cb137ad4c6f491de4579709987a1489ebd9f35d9bc00a2f10514483b3c0b0b605150bd6d836322b1c183cab771a7a3005 MISC metadata.xml 782 BLAKE2B 6010ef2af50bc0ec4f7511d28e47cd6f0fc76e3ef88afed222f5a6775e3a1ac51940b2272c37713c0f594b10202391073776f1f8330bc9f45ce0c3a03548f135 SHA512 3a18335967f411f387ecdd066db068d05c90abd1af4a91b226d52a6b9507932528d006ef5e463a423bb635d88b12d81ca1e2d403bd9de2dd12c04a50abc94474 diff --git a/sys-fs/e2fsprogs/e2fsprogs-1.45.7.ebuild b/sys-fs/e2fsprogs/e2fsprogs-1.45.7.ebuild deleted file mode 100644 index 9325951632f0..000000000000 --- a/sys-fs/e2fsprogs/e2fsprogs-1.45.7.ebuild +++ /dev/null @@ -1,142 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit flag-o-matic systemd toolchain-funcs udev usr-ldscript - -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 - elibc_mintlib? ( mirror://gentoo/${PN}-1.42.9-mint-r1.patch.xz )" - -LICENSE="GPL-2 BSD" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" -IUSE="cron fuse nls static-libs elibc_FreeBSD" - -RDEPEND="~sys-libs/${PN}-libs-${PV} - >=sys-apps/util-linux-2.16 - cron? ( sys-fs/lvm2[-device-mapper-only(-)] ) - fuse? ( sys-fs/fuse:0 ) - nls? ( virtual/libintl )" -DEPEND="${RDEPEND}" -BDEPEND=" - nls? ( sys-devel/gettext ) - virtual/pkgconfig - sys-apps/texinfo -" - -PATCHES=( - "${FILESDIR}"/${PN}-1.40-fbsd.patch - "${FILESDIR}"/${PN}-1.42.13-fix-build-cflags.patch #516854 - - # Upstream patches (can usually removed with next version bump) -) - -src_prepare() { - if [[ ${CHOST} == *-mint* ]] ; then - PATCHES+=( "${WORKDIR}"/${PN}-1.42.9-mint-r1.patch ) - fi - - 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" - - # blargh ... trick e2fsprogs into using e2fsprogs-libs - sed -i -r \ - -e 's:@LIBINTL@:@LTLIBINTL@:' \ - -e '/^(STATIC_)?LIB(COM_ERR|SS)/s:[$][(]LIB[)]/lib([^@]*)@(STATIC_)?LIB_EXT@:-l\1:' \ - -e '/^DEP(STATIC_)?LIB(COM_ERR|SS)/s:=.*:=:' \ - MCONFIG.in || die "muck libs" #122368 - sed -i -r \ - -e '/^LIB_SUBDIRS/s:lib/(et|ss)::g' \ - Makefile.in || die "remove subdirs" - ln -s $(which mk_cmds) lib/ss/ || die - - # Avoid rebuild - echo '#include_next <ss/ss_err.h>' > lib/ss/ss_err.h -} - -src_configure() { - # Keep the package from doing silly things #261411 - export VARTEXFONTS="${T}/fonts" - - # needs open64() prototypes and friends - append-cppflags -D_GNU_SOURCE - - 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) - --without-included-gettext - $(use_enable fuse fuse2fs) - $(use_enable nls) - --disable-libblkid - --disable-libuuid - --disable-fsck - --disable-uuidd - ) - ac_cv_path_LDCONFIG=: econf "${myeconfargs[@]}" - - if [[ ${CHOST} != *-uclibc ]] && 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/show_bug.cgi?id=81096" - die "Preventing included intl cruft from building" - fi -} - -src_compile() { - emake V=1 COMPILE_ET=compile_et MK_CMDS=mk_cmds - - # Build the FreeBSD helper - if use elibc_FreeBSD ; then - cp "${FILESDIR}"/fsck_ext2fs.c . - emake V=1 fsck_ext2fs - fi -} - -src_install() { - # need to set root_libdir= manually as any --libdir options in the - # econf above (i.e. multilib) will screw up the default #276465 - emake \ - STRIP=: \ - root_libdir="${EPREFIX}/usr/$(get_libdir)" \ - DESTDIR="${D}" \ - install - - einstalldocs - - insinto /etc - doins "${FILESDIR}"/e2fsck.conf - - # Move shared libraries to /lib/, install static libraries to - # /usr/lib/, and install linker scripts to /usr/lib/. - gen_usr_ldscript -a e2p ext2fs - - # configure doesn't have an option to disable static libs :/ - if ! use static-libs ; then - find "${ED}" -name '*.a' -delete || die - fi - - if use elibc_FreeBSD ; then - # Install helpers for us - into / - dosbin "${S}"/fsck_ext2fs - doman "${FILESDIR}"/fsck_ext2fs.8 - - # filefrag is linux only - rm \ - "${ED}"/usr/sbin/filefrag \ - "${ED}"/usr/share/man/man8/filefrag.8 || die - fi -} diff --git a/sys-fs/e2fsprogs/e2fsprogs-1.46.2.ebuild b/sys-fs/e2fsprogs/e2fsprogs-1.46.2.ebuild deleted file mode 100644 index 35a2562be6d2..000000000000 --- a/sys-fs/e2fsprogs/e2fsprogs-1.46.2.ebuild +++ /dev/null @@ -1,143 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit flag-o-matic systemd toolchain-funcs udev usr-ldscript - -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 - elibc_mintlib? ( mirror://gentoo/${PN}-1.42.9-mint-r1.patch.xz )" - -LICENSE="GPL-2 BSD" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux" -IUSE="cron fuse lto nls static-libs +threads elibc_FreeBSD" - -RDEPEND="~sys-libs/${PN}-libs-${PV} - >=sys-apps/util-linux-2.16 - cron? ( sys-fs/lvm2[-device-mapper-only(-)] ) - fuse? ( sys-fs/fuse:0 ) - nls? ( virtual/libintl )" -DEPEND="${RDEPEND}" -BDEPEND=" - nls? ( sys-devel/gettext ) - virtual/pkgconfig - sys-apps/texinfo -" - -PATCHES=( - "${FILESDIR}"/${PN}-1.40-fbsd.patch - "${FILESDIR}"/${PN}-1.42.13-fix-build-cflags.patch #516854 - - # Upstream patches (can usually removed with next version bump) -) - -src_prepare() { - if [[ ${CHOST} == *-mint* ]] ; then - PATCHES+=( "${WORKDIR}"/${PN}-1.42.9-mint-r1.patch ) - fi - - 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" - - # blargh ... trick e2fsprogs into using e2fsprogs-libs - sed -i -r \ - -e 's:@LIBINTL@:@LTLIBINTL@:' \ - -e '/^(STATIC_)?LIB(COM_ERR|SS)/s:[$][(]LIB[)]/lib([^@]*)@(STATIC_)?LIB_EXT@:-l\1:' \ - -e '/^DEP(STATIC_)?LIB(COM_ERR|SS)/s:=.*:=:' \ - MCONFIG.in || die "muck libs" #122368 - sed -i -r \ - -e '/^LIB_SUBDIRS/s:lib/(et|ss)::g' \ - Makefile.in || die "remove subdirs" - ln -s $(which mk_cmds) lib/ss/ || die - - # Avoid rebuild - echo '#include_next <ss/ss_err.h>' > lib/ss/ss_err.h -} - -src_configure() { - # Keep the package from doing silly things #261411 - export VARTEXFONTS="${T}/fonts" - - # needs open64() prototypes and friends - append-cppflags -D_GNU_SOURCE - - 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) - $(use_enable fuse fuse2fs) - $(use_enable nls) - --disable-libblkid - --disable-libuuid - --disable-fsck - --disable-uuidd - $(use_enable lto) - $(use_with threads pthread) - ) - ac_cv_path_LDCONFIG=: econf "${myeconfargs[@]}" - - if [[ ${CHOST} != *-uclibc ]] && 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/show_bug.cgi?id=81096" - die "Preventing included intl cruft from building" - fi -} - -src_compile() { - emake V=1 COMPILE_ET=compile_et MK_CMDS=mk_cmds - - # Build the FreeBSD helper - if use elibc_FreeBSD ; then - cp "${FILESDIR}"/fsck_ext2fs.c . - emake V=1 fsck_ext2fs - fi -} - -src_install() { - # need to set root_libdir= manually as any --libdir options in the - # econf above (i.e. multilib) will screw up the default #276465 - emake \ - STRIP=: \ - root_libdir="${EPREFIX}/usr/$(get_libdir)" \ - DESTDIR="${D}" \ - install - - einstalldocs - - insinto /etc - doins "${FILESDIR}"/e2fsck.conf - - # Move shared libraries to /lib/, install static libraries to - # /usr/lib/, and install linker scripts to /usr/lib/. - gen_usr_ldscript -a e2p ext2fs - - # configure doesn't have an option to disable static libs :/ - if ! use static-libs ; then - find "${ED}" -name '*.a' -delete || die - fi - - if use elibc_FreeBSD ; then - # Install helpers for us - into / - dosbin "${S}"/fsck_ext2fs - doman "${FILESDIR}"/fsck_ext2fs.8 - - # filefrag is linux only - rm \ - "${ED}"/usr/sbin/filefrag \ - "${ED}"/usr/share/man/man8/filefrag.8 || die - fi -} diff --git a/sys-fs/e2fsprogs/e2fsprogs-1.46.3.ebuild b/sys-fs/e2fsprogs/e2fsprogs-1.46.3.ebuild deleted file mode 100644 index 963bf42ad0c5..000000000000 --- a/sys-fs/e2fsprogs/e2fsprogs-1.46.3.ebuild +++ /dev/null @@ -1,143 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit flag-o-matic systemd toolchain-funcs udev usr-ldscript - -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 - elibc_mintlib? ( mirror://gentoo/${PN}-1.42.9-mint-r1.patch.xz )" - -LICENSE="GPL-2 BSD" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" -IUSE="cron fuse lto nls static-libs +threads elibc_FreeBSD" - -RDEPEND="~sys-libs/${PN}-libs-${PV} - >=sys-apps/util-linux-2.16 - cron? ( sys-fs/lvm2[-device-mapper-only(-)] ) - fuse? ( sys-fs/fuse:0 ) - nls? ( virtual/libintl )" -DEPEND="${RDEPEND}" -BDEPEND=" - nls? ( sys-devel/gettext ) - virtual/pkgconfig - sys-apps/texinfo -" - -PATCHES=( - "${FILESDIR}"/${PN}-1.40-fbsd.patch - "${FILESDIR}"/${PN}-1.42.13-fix-build-cflags.patch #516854 - - # Upstream patches (can usually removed with next version bump) -) - -src_prepare() { - if [[ ${CHOST} == *-mint* ]] ; then - PATCHES+=( "${WORKDIR}"/${PN}-1.42.9-mint-r1.patch ) - fi - - 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" - - # blargh ... trick e2fsprogs into using e2fsprogs-libs - sed -i -r \ - -e 's:@LIBINTL@:@LTLIBINTL@:' \ - -e '/^(STATIC_)?LIB(COM_ERR|SS)/s:[$][(]LIB[)]/lib([^@]*)@(STATIC_)?LIB_EXT@:-l\1:' \ - -e '/^DEP(STATIC_)?LIB(COM_ERR|SS)/s:=.*:=:' \ - MCONFIG.in || die "muck libs" #122368 - sed -i -r \ - -e '/^LIB_SUBDIRS/s:lib/(et|ss)::g' \ - Makefile.in || die "remove subdirs" - ln -s $(which mk_cmds) lib/ss/ || die - - # Avoid rebuild - echo '#include_next <ss/ss_err.h>' > lib/ss/ss_err.h -} - -src_configure() { - # Keep the package from doing silly things #261411 - export VARTEXFONTS="${T}/fonts" - - # needs open64() prototypes and friends - append-cppflags -D_GNU_SOURCE - - 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) - $(use_enable fuse fuse2fs) - $(use_enable nls) - --disable-libblkid - --disable-libuuid - --disable-fsck - --disable-uuidd - $(use_enable lto) - $(use_with threads pthread) - ) - ac_cv_path_LDCONFIG=: econf "${myeconfargs[@]}" - - if [[ ${CHOST} != *-uclibc ]] && 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/show_bug.cgi?id=81096" - die "Preventing included intl cruft from building" - fi -} - -src_compile() { - emake V=1 COMPILE_ET=compile_et MK_CMDS=mk_cmds - - # Build the FreeBSD helper - if use elibc_FreeBSD ; then - cp "${FILESDIR}"/fsck_ext2fs.c . - emake V=1 fsck_ext2fs - fi -} - -src_install() { - # need to set root_libdir= manually as any --libdir options in the - # econf above (i.e. multilib) will screw up the default #276465 - emake \ - STRIP=: \ - root_libdir="${EPREFIX}/usr/$(get_libdir)" \ - DESTDIR="${D}" \ - install - - einstalldocs - - insinto /etc - doins "${FILESDIR}"/e2fsck.conf - - # Move shared libraries to /lib/, install static libraries to - # /usr/lib/, and install linker scripts to /usr/lib/. - gen_usr_ldscript -a e2p ext2fs - - # configure doesn't have an option to disable static libs :/ - if ! use static-libs ; then - find "${ED}" -name '*.a' -delete || die - fi - - if use elibc_FreeBSD ; then - # Install helpers for us - into / - dosbin "${S}"/fsck_ext2fs - doman "${FILESDIR}"/fsck_ext2fs.8 - - # filefrag is linux only - rm \ - "${ED}"/usr/sbin/filefrag \ - "${ED}"/usr/share/man/man8/filefrag.8 || die - fi -} diff --git a/sys-fs/jdiskreport-bin/Manifest b/sys-fs/jdiskreport-bin/Manifest index db53df38976c..bf338e8ae2c9 100644 --- a/sys-fs/jdiskreport-bin/Manifest +++ b/sys-fs/jdiskreport-bin/Manifest @@ -1,3 +1,3 @@ DIST jdiskreport-1_4_1.zip 864613 BLAKE2B 9f10a10e54f0553e9130bdaf801380b40982a48e308fff5418308a37a4e02a886961d5ff2787b9bc3d1dfa1db087409e0447b275f6419b5e775716d20843fa98 SHA512 c1e17bdaab739561ae46475d69805e18be271a0d41b555e981cde59091d6c46fe3cf6775bdd992200edbb4646b7a04003a6b67bfedc18161952a20e47b18ea38 -EBUILD jdiskreport-bin-1.4.1.ebuild 650 BLAKE2B 9cd7263ccfac9331c0c7730335741aec623418a7073fa02082d15957edb90a9f8759e3682c0a6bdc337522e3d7b6d940e825c8a68094ce1c986216eb26877516 SHA512 e0006eb4794e244f18d4ba53d4088de3d9967797d92b74e50a2d7cacd6ebf878497eea2015d338fe3d8b4e071a0a67bc52edbcf35c5dbb2eae5cbb8a25063c6e +EBUILD jdiskreport-bin-1.4.1.ebuild 641 BLAKE2B 3c870ae7b1af5d99178e60f33a753d1c6ee2da26668f82e93e8427ccf57f01646b42e6b7938feae49b60be392e5871de8cf6312110e2f2f26bfcdf391862333d SHA512 51cf64ff8c4d7ac3226e5d550e95e3e14f5582d135adc59ded566ea9c90c049d2b458de9b6caa8d3f534a627d7b9601d01b13ea1fdfe21bc24d9af49d9d2e070 MISC metadata.xml 450 BLAKE2B 5d86db8cedd71361c76bf57bd3176e7a2445e75af6ec9a77196357f3bb657d67a53bf825de71ff3e7421e54352bf8103baf0af5fe2350afb785f8bcc8110da3c SHA512 7a5e2258ba61f84aaedfeb74cc80069b639f7306a03add2ad132a7db23cf857d0691780a940e667bea7626da54672d9bc6224f16ecd1f71d4928f302b33b13f1 diff --git a/sys-fs/jdiskreport-bin/jdiskreport-bin-1.4.1.ebuild b/sys-fs/jdiskreport-bin/jdiskreport-bin-1.4.1.ebuild index 69ad393e3a39..05d9deaeb551 100644 --- a/sys-fs/jdiskreport-bin/jdiskreport-bin-1.4.1.ebuild +++ b/sys-fs/jdiskreport-bin/jdiskreport-bin-1.4.1.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2014 Gentoo Foundation +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 +EAPI=7 inherit java-pkg-2 @@ -12,16 +12,14 @@ MY_P="${MY_PN}-${MY_PV}" DESCRIPTION="JDiskReport helps you to understand disk drive usage" HOMEPAGE="http://www.jgoodies.com/freeware/jdiskreport/" SRC_URI="http://www.jgoodies.com/download/${MY_PN}/${MY_P}.zip" +S="${WORKDIR}/${MY_PN}-${PV}" LICENSE="freedist" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="" -DEPEND="app-arch/unzip" RDEPEND=">=virtual/jre-1.6" - -S=${WORKDIR}/${MY_PN}-${PV} +BDEPEND="app-arch/unzip" src_install() { java-pkg_newjar ${MY_PN}-${PV}.jar diff --git a/sys-fs/lvm2/Manifest b/sys-fs/lvm2/Manifest index 5e11d9d6d332..fb4b2227463e 100644 --- a/sys-fs/lvm2/Manifest +++ b/sys-fs/lvm2/Manifest @@ -32,6 +32,6 @@ AUX lvmlockd.initd-2.02.166-r1 390 BLAKE2B aebfa2a654eca784da24fd4e4d46b3e6c9725 AUX lvmpolld.initd-2.02.183 348 BLAKE2B cba0419add6591320dc60ef7616b66706e042b566284a4ec42002fbb5331a7173fc8b4b39be7198426fe4bbdcd3ad94b69fc3d8950705b6331c5f3f4cda4ad66 SHA512 b9b8376cbc8b6703868afab18e5baa4ef5354569e57f0596d38a8005fa725299f6858ac86b39fcca10e5a0f1adbd3a4cfa6cc6b62405e78916cc1287d8b36d0d DIST LVM2.2.02.188.tgz 2421550 BLAKE2B bed90c8454cd4b20fdeec6dcbf5a9f97c9310671aea3b2252f8069cfa439fcb050f5ad95f928a7125a1734a4dc5ac985da99a4a570538e377a7205191a505476 SHA512 8c9db17c49dc8ebcab6c7f246ab85870a80658be811cf7f4d8f36abbebafa355b030bfc1e3bcbad73ccccb7fcd06d4a95ac547ca15d18d33715126da92703dca DIST LVM2.2.03.14.tgz 2639538 BLAKE2B 806f5e9cb76a05febef6f8ce8cfc42c92927b9538f62a21029c5ffc426a4fd7c3f32709be08dbd8028b53891b1075d1d13cb3b0d7b1815071ee8eb927d8f3ed3 SHA512 6a93bed1d5cf36f0f48d4d413d028b0e480cd4fc20e25d173770a892f265d2a0cc68d01a720b1513469953649e989532cd0c45f9538f92a4190eb3dc4555857d -EBUILD lvm2-2.02.188-r2.ebuild 10201 BLAKE2B b5e314a58938aac469c41deacfccbae61764e6935cdde28aaae27c793ba0fed0ddbd3606ddce0a16187aaa6755f8a513e56a20066c9222a9f439980a7c602579 SHA512 d7d1f489eb84101a5c98b2d40dc73742329aec811c0feaeb9ac459a04d2f018fd9ecc13913b70a2a3524df97e2e461106631d425bee4515c021da3385b5322e5 -EBUILD lvm2-2.03.14.ebuild 9711 BLAKE2B 1ae67efc26a6f77822786ffe6a4d1a92398f2676218515869a4573e0f3192894e0eeaf8116ff785c0948fea785b50ae190a51a56ace5085f23ee310a720a5bdb SHA512 43ba1592c735b6493e22f01ab5d1cec25b3a1ed5317507680d7e44d7a18495a170e9be13db4de2e719b4a97e961fb740b9a6f2901c1c94912eafe50acc238c78 -MISC metadata.xml 1035 BLAKE2B 363c4aefb6831140dbad128de1856a51025a267ec3f91c8e904623acd37f768241476e75c0445188a22892c1c7f63ad30302c7325f529c024d9cd0939dfba91d SHA512 6b4c9f27d96b1b90362db7d167d9f9b05f5f7f8d70394502d4cd581e8677c184ff05cf8474882902dce6c5ac746ec9c73d8a09ee8fb12ec48e006e13372c1f92 +EBUILD lvm2-2.02.188-r2.ebuild 10131 BLAKE2B 1fb4372993e615678e9f5f1a44bcb530ad959ec727a9db5e78bad15bdc32aba31825e75539780987cbede765f16d655d09d1d3cde1e88892fd3b7fa7794056fc SHA512 cb60df19a2ed209c0b47fd50637b1ab18788ac63c865b50e175e6e48b842a8ffa00f53a460305f6554f7a732763c705ba27b1e21e4a2f5a8cb81dbee32946374 +EBUILD lvm2-2.03.14.ebuild 9740 BLAKE2B a7457c9ba8a9f0c0bc31e6670a229f7f4ad27bb1d677650cc9cee3bce083a183ab93737ee7a5c4203b352e8b0a0ec7895ed2fb34e470250d5eee81ec3c0b4d0b SHA512 44722ccf1e9ec4a270a04a187244b267d0ed958dc2de3a1e5fa68318641d570d6f4498923fdb5ec353831b97c0bda2a8130b8d61b2e56fc5ac87eaf6a6e7638a +MISC metadata.xml 1035 BLAKE2B b9a3162e72e1ea09c7530edca817046434186c3948ef763c1a4efedb45aa8f842b7819efdbb09fb40897368e61b26a43896ef28a4a9d1ae554ea3cdb81f88dc7 SHA512 a16653a343d66eab8bd790eb974cc95d75f48321051ebb37eef87b3c7ad9903b2be1f0c70aff4b711b4469fa2715a5fb0c8566c46e6a83173bf998cf182ce964 diff --git a/sys-fs/lvm2/lvm2-2.02.188-r2.ebuild b/sys-fs/lvm2/lvm2-2.02.188-r2.ebuild index dcba617a6048..60cc0d980580 100644 --- a/sys-fs/lvm2/lvm2-2.02.188-r2.ebuild +++ b/sys-fs/lvm2/lvm2-2.02.188-r2.ebuild @@ -13,8 +13,8 @@ SRC_URI="ftp://sourceware.org/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz LICENSE="GPL-2" SLOT="0" KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" -IUSE="readline static static-libs systemd lvm2create_initrd sanlock selinux +udev +thin device-mapper-only" -REQUIRED_USE="device-mapper-only? ( !lvm2create_initrd !sanlock !thin ) +IUSE="readline static static-libs systemd lvm2create-initrd sanlock selinux +udev +thin device-mapper-only" +REQUIRED_USE="device-mapper-only? ( !lvm2create-initrd !sanlock !thin ) static? ( !systemd !udev ) static-libs? ( !udev ) systemd? ( udev )" @@ -32,11 +32,8 @@ DEPEND_COMMON=" # This version of LVM is incompatible with cryptsetup <1.1.2. RDEPEND="${DEPEND_COMMON} >=sys-apps/baselayout-2.2 - !<sys-apps/openrc-0.11 - !<sys-fs/cryptsetup-1.1.2 - !!sys-fs/lvm-user >=sys-apps/util-linux-2.16 - lvm2create_initrd? ( sys-apps/makedev ) + lvm2create-initrd? ( sys-apps/makedev ) !device-mapper-only? ( virtual/tmpfiles ) thin? ( >=sys-block/thin-provisioning-tools-0.3.0 )" # note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check @@ -254,7 +251,7 @@ src_install() { rm -f "${ED}"/usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a fi - if use lvm2create_initrd; then + if use lvm2create-initrd; then dosbin scripts/lvm2create_initrd/lvm2create_initrd doman scripts/lvm2create_initrd/lvm2create_initrd.8 newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd diff --git a/sys-fs/lvm2/lvm2-2.03.14.ebuild b/sys-fs/lvm2/lvm2-2.03.14.ebuild index 1cc2795b71b0..d95b20485c02 100644 --- a/sys-fs/lvm2/lvm2-2.03.14.ebuild +++ b/sys-fs/lvm2/lvm2-2.03.14.ebuild @@ -13,8 +13,8 @@ SRC_URI="ftp://sourceware.org/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz LICENSE="GPL-2" SLOT="0" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" -IUSE="readline static static-libs systemd lvm2create_initrd sanlock selinux +udev +thin device-mapper-only" -REQUIRED_USE="device-mapper-only? ( !lvm2create_initrd !sanlock !thin ) +IUSE="readline static static-libs systemd lvm2create-initrd sanlock selinux +udev +thin device-mapper-only" +REQUIRED_USE="device-mapper-only? ( !lvm2create-initrd !sanlock !thin ) static? ( !systemd !udev ) static-libs? ( !udev ) systemd? ( udev )" @@ -32,16 +32,14 @@ DEPEND_COMMON=" # This version of LVM is incompatible with cryptsetup <1.1.2. RDEPEND="${DEPEND_COMMON} >=sys-apps/baselayout-2.2 - !<sys-apps/openrc-0.11 - !<sys-fs/cryptsetup-1.1.2 - !!sys-fs/lvm-user >=sys-apps/util-linux-2.16 - lvm2create_initrd? ( sys-apps/makedev ) + lvm2create-initrd? ( sys-apps/makedev ) !device-mapper-only? ( virtual/tmpfiles ) thin? ( >=sys-block/thin-provisioning-tools-0.3.0 )" # note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check DEPEND="${DEPEND_COMMON} static? ( + readline? ( sys-libs/readline[static-libs] ) selinux? ( sys-libs/libselinux[static-libs] ) >=sys-apps/util-linux-2.16[static-libs] )" @@ -120,6 +118,10 @@ src_prepare() { src_configure() { filter-flags -flto + + # Workaround for bug #822210 + tc-ld-disable-gold + local myeconfargs=() # Most of this package does weird stuff. @@ -242,7 +244,7 @@ src_install() { rm -f "${ED}"/usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a fi - if use lvm2create_initrd; then + if use lvm2create-initrd; then dosbin scripts/lvm2create_initrd/lvm2create_initrd doman scripts/lvm2create_initrd/lvm2create_initrd.8 newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd diff --git a/sys-fs/lvm2/metadata.xml b/sys-fs/lvm2/metadata.xml index 75aaff4f1e52..e264bd799086 100644 --- a/sys-fs/lvm2/metadata.xml +++ b/sys-fs/lvm2/metadata.xml @@ -15,7 +15,7 @@ <description>Upstream Maintainer (please CC on bugs)</description> </maintainer> <use> - <flag name="lvm2create_initrd">Install lvm2create_initrd script and pull in <pkg>sys-apps/makedev</pkg> for the /sbin/MAKEDEV command</flag> + <flag name="lvm2create-initrd">Install lvm2create_initrd script and pull in <pkg>sys-apps/makedev</pkg> for the /sbin/MAKEDEV command</flag> <flag name="thin">Support for thin volumes</flag> <flag name="device-mapper-only">Build only device-mapper and not the rest of LVM2 (UNSUPPORTED)</flag> <flag name="sanlock">Enable lvmlockd with support for sanlock</flag> diff --git a/sys-fs/mdadm/Manifest b/sys-fs/mdadm/Manifest index 8b50dce2d41e..66dcb282ae6f 100644 --- a/sys-fs/mdadm/Manifest +++ b/sys-fs/mdadm/Manifest @@ -6,9 +6,9 @@ AUX mdadm.weekly 187 BLAKE2B 50048d84cd57b384b98fcdb6b2a4a18380aab6e76877ee9edd4 AUX mdraid.confd 383 BLAKE2B c61fd2c072a0d12ca21ad4f8a60a55101b4e452f9acc8cdcdf9a6069060b11bf90387830f516b69d266fef061112ba41f903b9371fff91c94c9332b12e436145 SHA512 37fe70f5df0fb2b68be01ee774e3a943cfb280322f2db0c5d6892e701fb58be26a225b78448814294bf68f154cca697278fcf9572a47b6201920d95ad05189d6 AUX mdraid.rc 759 BLAKE2B 41f1b4cb9dd29411d56bea656dddc2cb2fd3cc14b183d05c502fb5e29407d1d816de9595e13349ef7e03240308cf4395578be31149f59d1960d1feee0165506d SHA512 d76190646b393d1480607b0d89d08ce4196738295fbb7790fa1035c53a041b5cb88fe857bb2070920a9c3ae21b9fb8f7838dde240fa0e275e5915add9c113021 DIST mdadm-4.1.tar.xz 440756 BLAKE2B df0506d937c2aa309d7c68804f66f7dcd51783288594bf746832311c64b8cf82004af4af5f246c5f9753f1de324ff7d49b5ee752d6a00ec03864f7885389706e SHA512 0859c5d3e786345d93ff2c3b291ca8866ba60f1375479e5b4d343124f6824140a8268d42b8ae603b069edba761aa30aaf20d49e9ec54dfcbad34bad3bea0e433 -DIST mdadm-4.2-rc2.tar.xz 452724 BLAKE2B c13c031450a93a3e74c286a84cca541a32041ad7611a2a427539f8583404a9c1b7dffb2565d7cf72fe4b43c79e4dd144ad3b76c65193cc05c9f0da0bf08a8ee5 SHA512 09a3657284c7f98892f5be663d5e034252ff319d8ff1d235597efc373c156188d450e12f64a9a0fb9266b00035c1602133e487ce1961db1a12db05f7f9829249 +DIST mdadm-4.2-rc3.tar.xz 453332 BLAKE2B 1bab4e8702f1f0a1d2571e90409fcc58c4c7ad4e87cc224b714a842faa454e3a56f9e1852605c8c937a756b55d7dab19ac2bd1e72ce044efec101e526f19f4b1 SHA512 9d544181dca54e2cbdf724b3fab1f840e6a3c523ea0ecd712ef0aad77422a19512e64456adaed6c2e7db2c5dd237a1e7e79cd6202d8dd3d20543019257f39581 DIST mdadm_4.1-3.debian.tar.xz 89640 BLAKE2B 3cb5e42dcbd218a71e55127cecda6f2594a1b1691e17c05f52a8cd0ba05b556d2812772e53d78de025738d7c2de059df3f878b8290ba3906b3d75ef435bfb698 SHA512 e9b04abf195d7bda9fb0197eb926c01a69b879ef82c72af6497116cea9be8f0823408dddbe5c6c033f5fae554a8fec17299e361fa48045e033c87dcee1a0bb63 -DIST mdadm_4.2~rc2-1.debian.tar.xz 89160 BLAKE2B 055fb705fde6c47bf4187eb596e1bba3eb4b0e47f79e1b8d134f18dacb363dc3a434959a2d337a6e33b714d5b34b1359853fcfdc91d50b8f6ab14ad5015cdb51 SHA512 2900bae6b8133ddaaa29a83856b16ebe3ae5bb16aea4d252318392e6c789a11df16d874c101316e90df124b1dea0c939cd5b6fcb07f7c09abf5eabe1d2202113 +DIST mdadm_4.2~rc2-7.debian.tar.xz 89904 BLAKE2B dd04f2dd044d0bca85920eaf5c79a288d69c47a7ad7e36509a126c01ef63bd045d7e0530450650028de39d74ad852995ca080c3a73dbcb1cf1b3783118109f35 SHA512 3d36533d2713b663606919b2bfec18b15e18a6a0194e333e38e4a58f175da96af7b1fe16f0c36ee148e14492a4e0710b9fad6ac7856495b63c0176ebb7333be6 EBUILD mdadm-4.1.ebuild 2390 BLAKE2B f087e92607145b9e9235a4da6571d2a691a5f69072cfd40b183422411f4b1c8a41049b8350ff0761c79527afef6ca759e7dcdde42cd7c7bb6620795aef69da7d SHA512 b80d6eec601955155730be28e81fe8b260eeedb3eedc20edd677d5c56fd416ac5b8fac93ecad7047e3e28441437bd3f3b0359de0735933dc9454c31e961d56ea -EBUILD mdadm-4.2_rc2.ebuild 2402 BLAKE2B 8c738fa38d12509b61c0248ce0eca4aea24c2d9faa3b4fdf878f83e0e18480861cb1ac81533b61d2d510a4a44a22f4d3a184b35572603381943fccf8ad833e79 SHA512 09d2e6c2f64e4d19f9c583d4de24e5219c30b41a3f7b584318975f5ef814930465bc52dd7af7557ead249849f2ed00fd38d8de27f0c9e8421dd4319b6085eaf7 +EBUILD mdadm-4.2_rc3.ebuild 2402 BLAKE2B 43d4ceabc63bd674592f4a1827c62f943d5ddc7db5dc4c37d3f09a6459dd219bd190dc60384a3749e84af85bd4fad1729cf2c2fa133f8d97aaf4cfc8a130659b SHA512 49c6c50b8e5a2c0a8aa9411f6bfca264de4f522dddcc48241a53ae2e839e239c6e86eea23e582564ca6d3aea30019f64a3daa0defb4c77ec904924b554cd918f MISC metadata.xml 339 BLAKE2B 68b5c6f497a2396786b76d8cb10a076933ebff54b319ccaba2d8c5af18fb62a56519c5a42b248d7a92624514f3de635be5ff1180ef0b0a7deb8d391324680560 SHA512 3aba8c92057ff5dc92e2a9455f986bea0fcfb84d4c7ecbca2782d983cbd6ca11c1ee4443a217cbaea87d2903659390b04b26adc156782a2672d249254925071b diff --git a/sys-fs/mdadm/mdadm-4.2_rc2.ebuild b/sys-fs/mdadm/mdadm-4.2_rc3.ebuild index 148a4e327326..dc6f83ae0408 100644 --- a/sys-fs/mdadm/mdadm-4.2_rc2.ebuild +++ b/sys-fs/mdadm/mdadm-4.2_rc3.ebuild @@ -6,7 +6,7 @@ inherit flag-o-matic multilib systemd toolchain-funcs udev DESCRIPTION="Tool for running RAID systems - replacement for the raidtools" HOMEPAGE="https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/" -DEB_PF="4.2~rc2-1" +DEB_PF="4.2~rc2-7" SRC_URI="https://www.kernel.org/pub/linux/utils/raid/mdadm/${P/_/-}.tar.xz mirror://debian/pool/main/m/mdadm/${PN}_${DEB_PF}.debian.tar.xz" diff --git a/sys-fs/ntfs3g/Manifest b/sys-fs/ntfs3g/Manifest index 4462b1363ce0..fab1fb8800ae 100644 --- a/sys-fs/ntfs3g/Manifest +++ b/sys-fs/ntfs3g/Manifest @@ -1,5 +1,4 @@ -DIST ntfs-3g_ntfsprogs-2017.3.23AR.5.tgz 1278315 BLAKE2B d4f84bf744b12fec7faff82bd3d3048282a3cbcde2ca75e5d3a295206585c4cee68e25dff5fb20b034f516a3f2cd95c489105d9df810f8a9378024ef065b67d3 SHA512 8534970ba9f07999c5ff433144ad3a59640fb9a28fb30b37b5d736101e19f9fec1c222152338be382c894f972fce2b2a83680b85a28cf147cb5500b40a0a25cc DIST ntfs-3g_ntfsprogs-2021.8.22.tgz 1317499 BLAKE2B 403036c68a37ba83873b5faadbb2088deb25e0ff31deb1958d4f869a198d830caa44edea879492a7894f5e7a5ad6205a6fda57bf8de722ce49bf3187239ad993 SHA512 e0544df78a6c352999e1206d7b5d71c56e39396b7a0936a261d728c2ac9d61c6b95ef297f8529ac2a5146f31c1c9e43066d3e281064d4f5d781a04eba51f536d -EBUILD ntfs3g-2017.3.23.5-r1.ebuild 2063 BLAKE2B d70e46fe59628db9440f4d6516781fad6d9d10873f98b06364acd4c8afbc6b609f78fca688fbb1c4486ae6cd7a0089a6c3674b8555fec8af4360b6c7e4ac54b1 SHA512 fbf424b708a4e15fabdffb1046dd49854ed21335bf953fe39eb8993541178cfd3ffe482121d29c56b5dd5802c373d8aaaa70e0ae9dc6526f091baa886950bf36 -EBUILD ntfs3g-2021.8.22.ebuild 2094 BLAKE2B 0d482ef348d1d375ea0527062d433d967e47b7c9ca633bcb596a90d4a18d4b2d9dc125380c177c9d31269a3031861a181800953137c444ccfcfe6ca68d98869e SHA512 79e9b31bd21941cb511b3d4f8d86be88fa9a0e9912be4f46ce9c8341688e0edbf6118aa8ee6577c357761787126df5a1e03dcd965a8f131f4b880c39c67ed4c0 -MISC metadata.xml 1072 BLAKE2B cbfb93f83a25bb707c6584f035d742513da2e423ec1f52fcebf25b6b34829bc429f7fbc38e2e3e76dd5ad2eca5f28d91072a0000ef83277bf84553aa6ff1e6b5 SHA512 2afcc34189ca0708f6d1cd15e9e249dc3ac0a150f4094c97a0d5745ca0b21f426676c3090df031cc8f234da38b2d13abb8ddf1583b9049d52ce2737833ee9314 +EBUILD ntfs3g-2021.8.22-r3.ebuild 2044 BLAKE2B d16a408891fdb5b368df38e338ff6f08822db2cb817f12c33ccb24c818fb8b71b2cba38cc70d1a6c8cba25cfb747d11bebcd682cdb7809b07048d20fb3dcbc19 SHA512 58dec845c63767f2b76df43963ffa4dc02f771792cbc8d2bb83da5a31ffad382de72f412a3d2690fb77447ef9c9d256a3f7aaf542aadd2ebf674a34e7494f5e5 +EBUILD ntfs3g-2021.8.22.ebuild 2078 BLAKE2B 236f32ff2a280c8c42d84cb66b5a9aea465e0d9ef4095991406d40edd59a98b396598698318098762be665bb62c4c917abac68015a01a2183b28066acb24c25d SHA512 7bf7851726792dcadf394cb7278723a4a9a59f425c362bde4a2128e60e0c5677a286a4c02596c15f05b29830074891166b774a58f4c9c566c6272da29b04c1ae +MISC metadata.xml 1164 BLAKE2B 276dcf2d0cccad4b91a84390949ff8a81b76e54c22d7bfbe4b778c97917224f3d0603079fb74e4b3ff0e058580f4ac6540aef3bae4fdc6ae9b2fb54b831e22ea SHA512 63391014c4dc8ba722c8f90d6fe1952b5f4386d44b1bb2af195e907e5027ede0f4063e4390679b6b521b892fcc12194914b4f40a09c6bc08a300a90bdd250390 diff --git a/sys-fs/ntfs3g/metadata.xml b/sys-fs/ntfs3g/metadata.xml index 9b2852a0591a..910a26c2caf5 100644 --- a/sys-fs/ntfs3g/metadata.xml +++ b/sys-fs/ntfs3g/metadata.xml @@ -16,8 +16,10 @@ file ownership, access right. </longdescription> <use> + <flag name="fuse">Enable ntfs-3g FUSE driver</flag> + <flag name="mount-ntfs">Install mount.ntfs symlink</flag> <flag name="ntfsdecrypt">Build and install the ntfsdecrypt application.</flag> - <flag name="ntfsprogs">Include internal version of ntfsprogs.</flag> + <flag name="ntfsprogs">Enable ntfsprogs</flag> </use> <upstream> <bugs-to>http://tuxera.com/forum/</bugs-to> diff --git a/sys-fs/ntfs3g/ntfs3g-2017.3.23.5-r1.ebuild b/sys-fs/ntfs3g/ntfs3g-2021.8.22-r3.ebuild index 17c8330cd5b4..28102ca67d43 100644 --- a/sys-fs/ntfs3g/ntfs3g-2017.3.23.5-r1.ebuild +++ b/sys-fs/ntfs3g/ntfs3g-2021.8.22-r3.ebuild @@ -1,22 +1,22 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 2006-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -inherit linux-info toolchain-funcs -MY_P="ntfs-3g_ntfsprogs-${PV%.*}AR.${PV##*.}" +inherit toolchain-funcs + +MY_P="ntfs-3g_ntfsprogs-${PV}" DESCRIPTION="Open source read-write NTFS driver that runs under FUSE" HOMEPAGE="http://www.tuxera.com/community/ntfs-3g-download/" HOMEPAGE="https://jp-andre.pagesperso-orange.fr/advanced-ntfs-3g.html" -#SRC_URI="http://tuxera.com/opensource/${MY_P}.tgz" -SRC_URI="https://jp-andre.pagesperso-orange.fr/${MY_P}.tgz" +SRC_URI="http://tuxera.com/opensource/${MY_P}.tgz" LICENSE="GPL-2" # The subslot matches the SONAME major #. -SLOT="0/885" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux" -IUSE="acl debug ntfsdecrypt +ntfsprogs static-libs suid xattr" +SLOT="0/89" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="acl debug +fuse +mount-ntfs ntfsdecrypt +ntfsprogs static-libs suid xattr" RDEPEND=" sys-apps/util-linux:0= @@ -34,12 +34,6 @@ BDEPEND=" S="${WORKDIR}/${MY_P}" -pkg_setup() { - CONFIG_CHECK="~FUSE_FS" - FUSE_FS_WARNING="You need to have FUSE module built to use ntfs-3g" - linux-info_pkg_setup -} - src_configure() { tc-ld-disable-gold @@ -52,6 +46,7 @@ src_configure() { --disable-ldconfig --enable-extras $(use_enable debug) + $(use_enable fuse ntfs-3g) $(use_enable acl posix-acls) $(use_enable xattr xattr-mappings) $(use_enable ntfsdecrypt crypto) @@ -64,6 +59,10 @@ src_configure() { # disable hd library until we have the right library in the tree and # don't links to hwinfo one causing issues like bug #602360 --without-hd + + # Needed for suid + # https://bugs.gentoo.org/822024 + --with-fuse=internal ) econf "${myconf[@]}" @@ -71,9 +70,15 @@ src_configure() { src_install() { default - use suid && fperms u+s /usr/bin/ntfs-3g - dosym mount.ntfs-3g /sbin/mount.ntfs - find "${D}" -name '*.la' -type f -delete || die - # https://bugs.gentoo.org/760780 - keepdir "/usr/$(get_libdir)/ntfs-3g" + if use fuse; then + # Plugins directory + keepdir "/usr/$(get_libdir)/ntfs-3g" + if use suid; then + fperms u+s /usr/bin/ntfs-3g + fi + if use mount-ntfs; then + dosym mount.ntfs-3g /sbin/mount.ntfs + fi + fi + find "${ED}" -name '*.la' -type f -delete || die } diff --git a/sys-fs/ntfs3g/ntfs3g-2021.8.22.ebuild b/sys-fs/ntfs3g/ntfs3g-2021.8.22.ebuild index 73800e129e54..64a938dc180b 100644 --- a/sys-fs/ntfs3g/ntfs3g-2021.8.22.ebuild +++ b/sys-fs/ntfs3g/ntfs3g-2021.8.22.ebuild @@ -16,7 +16,7 @@ LICENSE="GPL-2" # The subslot matches the SONAME major #. SLOT="0/89" KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux" -IUSE="acl debug ntfsdecrypt +ntfsprogs static-libs suid xattr" +IUSE="acl debug +mount-ntfs ntfsdecrypt +ntfsprogs static-libs xattr" RDEPEND=" sys-apps/util-linux:0= @@ -74,8 +74,7 @@ src_configure() { src_install() { default - use suid && fperms u+s /usr/bin/ntfs-3g - dosym mount.ntfs-3g /sbin/mount.ntfs + use mount-ntfs && dosym mount.ntfs-3g /sbin/mount.ntfs find "${ED}" -name '*.la' -type f -delete || die # https://bugs.gentoo.org/760780 keepdir "/usr/$(get_libdir)/ntfs-3g" diff --git a/sys-fs/zfs-kmod/Manifest b/sys-fs/zfs-kmod/Manifest index 10403340c068..5319dff6c58e 100644 --- a/sys-fs/zfs-kmod/Manifest +++ b/sys-fs/zfs-kmod/Manifest @@ -1,11 +1,13 @@ AUX 0.8.6-copy-builtin.patch 988 BLAKE2B f79add4b341075e3cd98b6aee4bb74b8fadd28b5ee1062f9260c0418909d380cdd2d637b52d4959ec19cafec1e55b1d05cd6bc358fdffbd6dc1b159e9935083d SHA512 af6b73a2d9d1b4e028c9b959950934798f4d048211d6e4a7e94595982ad2dc8bb4befd52122e3fa0890548e192f2f2ae41d877cad057543e940a7c2710c81a23 +AUX 2.1.1-SEEK_DATA-SEEK_HOLE.patch 19794 BLAKE2B c3259c50e96e7c28a8d6a18693674c1a6b233fb8eb1cbdd4a4c87e085b0b787c8b512231f109c4600da1a7a571c6129a3acd904303967543c1a12bb1042ed2b5 SHA512 098d0b6cb25fb90ac987e7e0913b2681a297bf3138d6708d4f4bb9b6402f0ec71f4848c50bbec6ef006208f40fa709b1d58ca46c9cbf08a125a9165f83287c52 +AUX 2.1.1-restore-dirty-dnode-logic.patch 1075 BLAKE2B 04720dbfb3f4fc223c329dee330330a94224119dcdfb7240c8bb629fbc4f8206acf95c021219844ad289ddcd2cced7b686418d9f59c3c21d2b08d029100fa29d SHA512 5122de3b1fa9875d47afe52da624a25c1b24ad917ee195769828efdb3c510c709b1cee95914e0a0f2959b41324ac0b61fe77675901dfd95955994d52434b8c3a DIST zfs-0.8.6.tar.gz 9295260 BLAKE2B 45424d710aaf75a05f766ae523ae157a24b5cbdcefe72a59e4cede81e42f7a92ae7f01150388437b78cd49f3d28b9664599f2a624516e6b3f1073497194a99f2 SHA512 626b172554f39a5c70f6ea5c599a92fae52534590d1b0273de2bbfc3676d29dff0eade8ca17e5f179a59870c12bc758fb53b7900f8a1fdbdef3a9161b93f9cce DIST zfs-2.0.6.tar.gz 13192941 BLAKE2B 3a83303b016ec4259c286af8a9ceb281829d26508d411df91dd94193bca8c3155ef0ba63604e95f6add5f0c6cf6d100b0f567efc33b6c484c9ff811924da6ccd SHA512 52a5576eed21868b2a3d63d05d3d8c35b5e59ee88c7ddab1dc070644539f9acd56bde43ba5e965ad951a6d50a014fb429a7977d2ab1a2bfcadd92ea78dd57bf8 DIST zfs-2.0.6.tar.gz.asc 836 BLAKE2B 065eba3361ef4234acc67df0236ab9a6737ba9fe5a706be98b55dd64d10360160ca787d8873f27451a2107225ae657dc4cab20a7c2a268cd2de64c8d82d0327a SHA512 123569ecfcee22ac462160acf61b120144c774bc5c0d46a50d2b7312f7565da1a9d780e1a6207dba5834917c66d5b852763e4a3162378d5c9bb90b0dfde35c5c DIST zfs-2.1.1.tar.gz 34836374 BLAKE2B 09ee6bd30e8266342bd975454086049c3fd9142e7dacfe52166575c20e3c92688f9b457d75b2a2068fc281e65f78e1d47450545504cdf8bc31e23663545d7800 SHA512 b69ce764a9f7438ec2c90f86be02abfd684c67cd38de876374e3e6f4b2f82a75d86fa70205def2ba454ad27e52ec8d955ebc4ba456e91d397129a54ea849c19c DIST zfs-2.1.1.tar.gz.asc 195 BLAKE2B d886e7dc74270228f98dfc5ca85bbbe897d5a87a5ae8bbfde28e2af1b36218227bc9f1b5902e97beebe160a298857d6e4673829d87cd8039332dc1858cfcffc0 SHA512 d76956b5c1bd547a319e70dd33d50beae39f65fca54532731426d2ef209385a556c51b3936051f75bc3800623c42da5b8d279c51f501a896f5fdfb7b4ed7fb94 -EBUILD zfs-kmod-0.8.6.ebuild 5481 BLAKE2B a367b1cec0374f6c9266bf599944ef5493eae21a91704572f806ec2486707a6d3cae876f52f97d527744c66596204b2dcdb435b2beb7cd182ca524cb991f8915 SHA512 014332fa562aae19d65c3f31ba1179e0c623dc3293e45e51323bb2b279641ee6926ac9d8cca3aba8407b44a2787be19abbaa3945f48e6e40f9aa27b1458e647a -EBUILD zfs-kmod-2.0.6.ebuild 5524 BLAKE2B 92a1d66c9d994129b54957858eb2235f018df88e4a564a7dcfbe0a7d0d558dbbb81661a48fa0d6bc8a745cfff08b2d5f01a1263d2ef7a6b509d4ea4439d06e39 SHA512 37ca8be74fa3dbca773c76ddd60dcb9ce790e92174d400c4abb0837e6bce6dee24a3cdfa0366fa5e6bb196691ac9a17c976ee272516b2a918b872741f7c9fd23 -EBUILD zfs-kmod-2.1.1.ebuild 4740 BLAKE2B 8706911cc8e55df54477c0c00c6a36e0c1444154be4ef3c0a0e6bd53790550aa54fe70ed3719fa5a09f1fc0bf1d165ac821f756cccbc3c5cdeda5029d2056b97 SHA512 58f44cd588e4b4afdcf2f7d1d102b42a7b1767dd196f6d85cd2daf1d084ebf2586ade44f3c66ce56613fa0bad09a21c44c529584cbc630ec9f7e28c890a09e04 -EBUILD zfs-kmod-9999.ebuild 4722 BLAKE2B 559e7c1574b6f22a8e251fbad495cbd4341f58a496bf0cfb6c6f188ec5cb8091fa8514e485ae327f83ad1e80bff8a3e67b9cb55a4f5fb8e96a66205b9c1c17e7 SHA512 3e9ee32d5906dd3a0fa9f630309a89ecb5ea095f96e3ec1feec3db0faf02c23cfba37e472ada753f1f7e46186d9ec33ea86e6f9b30cf3e7a3dc995217c9458bc +EBUILD zfs-kmod-0.8.6.ebuild 5749 BLAKE2B 867ba8d060dc08eae4027d8c6e17f8ed31f429c87cc0ad9faa88aab0ee60d91e0a2a1d0b9dc59974d3c406a6266d4a4f752dab9e909a0df18ddf5c65152e6e13 SHA512 3f7303584c5324ed8715cd5a473344564ce2862b3e730722ac128a758f2750c1cb3ab2521185eae6e237ec1aa5dda82b8780009a51fc6798e27fc45b18c96f6a +EBUILD zfs-kmod-2.0.6.ebuild 6045 BLAKE2B 02a899203203caf05268bebd5e275aefdfb6ebdf71feecc9df9c3e5d861f635d8b0632afb51edf62450b2c82cf58396d3df812b721fd40906655c16aa7280b67 SHA512 d25e34726710e9b2bfda4467f03df4376cce9eb988c4449d54aeee47c7d7c717326e9e56d58fb69d8bfff47fb6a0a1f69d4cb8ca5cf28a7efa29f76f8caccf83 +EBUILD zfs-kmod-2.1.1-r3.ebuild 5584 BLAKE2B 29b6b8e78b9f9cbe872977ada4ae2a10cf2ae31dd02077065c2b383f87829a552ad6e06363a7734934d1edc6758fbe068e5a8e90b44a7427110c66f67e1eee1b SHA512 1f5723a243e4d39bce5e57e132b540b5ac83371ae1262e641996f5a19eabbbe077e4f1756a9db465db01009f776578c54ef56cbabfa166355ea3f76979198ce2 +EBUILD zfs-kmod-9999.ebuild 5243 BLAKE2B fb00deb56979862a3249a9be33dc438153945dc38384473c6d24534d9cbde56fc17b5dde81c110239dd8945079417a912f614f611be1b036106201fde4028125 SHA512 a3ade0ec20a34b0e28f8af9a674c3124c283097b405b222d4518122e81cf6a215aa1eacfed1d6beea04c782af3b8a2c9b8763188dfd94f9a94f10e6a6ebb0199 MISC metadata.xml 549 BLAKE2B ae860684a4cf82c277fe91d11e0bcf283103a08442e78584c9962b1571efed7e6ee0e215f3341263f809978e63e01d70275a80fa4996b8265569539e0b2ffe34 SHA512 7a97c7965147549da470c9d5d3a541284964c5ec276d005a2f7aa1a4550c915cce32b2593257e5ad373c84955e3bf74b235297d540364ee4a17cf9e1e705b650 diff --git a/sys-fs/zfs-kmod/files/2.1.1-SEEK_DATA-SEEK_HOLE.patch b/sys-fs/zfs-kmod/files/2.1.1-SEEK_DATA-SEEK_HOLE.patch new file mode 100644 index 000000000000..458fe279ee23 --- /dev/null +++ b/sys-fs/zfs-kmod/files/2.1.1-SEEK_DATA-SEEK_HOLE.patch @@ -0,0 +1,594 @@ +From 664d487a5dbd758216ac613934a4080fcc1de347 Mon Sep 17 00:00:00 2001 +From: Brian Behlendorf <behlendorf1@llnl.gov> +Date: Sun, 7 Nov 2021 13:27:44 -0800 +Subject: [PATCH] Fix lseek(SEEK_DATA/SEEK_HOLE) mmap consistency + +When using lseek(2) to report data/holes memory mapped regions of +the file were ignored. This could result in incorrect results. +To handle this zfs_holey_common() was updated to asynchronously +writeback any dirty mmap(2) regions prior to reporting holes. + +Additionally, while not strictly required, the dn_struct_rwlock is +now held over the dirty check to prevent the dnode structure from +changing. This ensures that a clean dnode can't be dirtied before +the data/hole is located. The range lock is now also taken to +ensure the call cannot race with zfs_write(). + +Furthermore, the code was refactored to provide a dnode_is_dirty() +helper function which checks the dnode for any dirty records to +determine its dirtiness. + +Reviewed-by: Matthew Ahrens <mahrens@delphix.com> +Reviewed-by: Tony Hutter <hutter2@llnl.gov> +Reviewed-by: Rich Ercolani <rincebrain@gmail.com> +Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> +Issue #11900 +Closes #12724 +--- + configure.ac | 1 + + include/os/freebsd/spl/sys/vnode.h | 18 +++ + include/os/freebsd/zfs/sys/zfs_znode_impl.h | 3 +- + include/os/linux/zfs/sys/zfs_znode_impl.h | 1 + + include/sys/dnode.h | 1 + + man/man4/zfs.4 | 2 +- + module/zfs/dmu.c | 53 ++++--- + module/zfs/dnode.c | 20 +++ + module/zfs/zfs_vnops.c | 9 +- + tests/runfiles/common.run | 2 +- + tests/zfs-tests/cmd/Makefile.am | 1 + + tests/zfs-tests/cmd/mmap_seek/.gitignore | 1 + + tests/zfs-tests/cmd/mmap_seek/Makefile.am | 6 + + tests/zfs-tests/cmd/mmap_seek/mmap_seek.c | 147 ++++++++++++++++++ + tests/zfs-tests/include/commands.cfg | 1 + + tests/zfs-tests/include/tunables.cfg | 1 + + .../tests/functional/mmap/Makefile.am | 3 +- + .../functional/mmap/mmap_seek_001_pos.ksh | 67 ++++++++ + 18 files changed, 305 insertions(+), 32 deletions(-) + create mode 100644 tests/zfs-tests/cmd/mmap_seek/.gitignore + create mode 100644 tests/zfs-tests/cmd/mmap_seek/Makefile.am + create mode 100644 tests/zfs-tests/cmd/mmap_seek/mmap_seek.c + create mode 100755 tests/zfs-tests/tests/functional/mmap/mmap_seek_001_pos.ksh + +diff --git a/configure.ac b/configure.ac +index 6f34b210d2b..ebc7b276a64 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -221,6 +221,7 @@ AC_CONFIG_FILES([ + tests/zfs-tests/cmd/mktree/Makefile + tests/zfs-tests/cmd/mmap_exec/Makefile + tests/zfs-tests/cmd/mmap_libaio/Makefile ++ tests/zfs-tests/cmd/mmap_seek/Makefile + tests/zfs-tests/cmd/mmapwrite/Makefile + tests/zfs-tests/cmd/nvlist_to_lua/Makefile + tests/zfs-tests/cmd/randfree_file/Makefile +diff --git a/include/os/freebsd/spl/sys/vnode.h b/include/os/freebsd/spl/sys/vnode.h +index 3670712a045..3bc8a18eeb7 100644 +--- a/include/os/freebsd/spl/sys/vnode.h ++++ b/include/os/freebsd/spl/sys/vnode.h +@@ -59,6 +59,8 @@ enum symfollow { NO_FOLLOW = NOFOLLOW }; + #include <sys/file.h> + #include <sys/filedesc.h> + #include <sys/syscallsubr.h> ++#include <sys/vm.h> ++#include <vm/vm_object.h> + + typedef struct vop_vector vnodeops_t; + #define VOP_FID VOP_VPTOFH +@@ -83,6 +85,22 @@ vn_is_readonly(vnode_t *vp) + #define vn_has_cached_data(vp) \ + ((vp)->v_object != NULL && \ + (vp)->v_object->resident_page_count > 0) ++ ++static __inline void ++vn_flush_cached_data(vnode_t *vp, boolean_t sync) ++{ ++#if __FreeBSD_version > 1300054 ++ if (vm_object_mightbedirty(vp->v_object)) { ++#else ++ if (vp->v_object->flags & OBJ_MIGHTBEDIRTY) { ++#endif ++ int flags = sync ? OBJPC_SYNC : 0; ++ zfs_vmobject_wlock(vp->v_object); ++ vm_object_page_clean(vp->v_object, 0, 0, flags); ++ zfs_vmobject_wunlock(vp->v_object); ++ } ++} ++ + #define vn_exists(vp) do { } while (0) + #define vn_invalid(vp) do { } while (0) + #define vn_renamepath(tdvp, svp, tnm, lentnm) do { } while (0) +diff --git a/include/os/freebsd/zfs/sys/zfs_znode_impl.h b/include/os/freebsd/zfs/sys/zfs_znode_impl.h +index e90008c70a8..edb28d041a0 100644 +--- a/include/os/freebsd/zfs/sys/zfs_znode_impl.h ++++ b/include/os/freebsd/zfs/sys/zfs_znode_impl.h +@@ -118,7 +118,8 @@ extern minor_t zfsdev_minor_alloc(void); + #define Z_ISLNK(type) ((type) == VLNK) + #define Z_ISDIR(type) ((type) == VDIR) + +-#define zn_has_cached_data(zp) vn_has_cached_data(ZTOV(zp)) ++#define zn_has_cached_data(zp) vn_has_cached_data(ZTOV(zp)) ++#define zn_flush_cached_data(zp, sync) vn_flush_cached_data(ZTOV(zp), sync) + #define zn_rlimit_fsize(zp, uio) \ + vn_rlimit_fsize(ZTOV(zp), GET_UIO_STRUCT(uio), zfs_uio_td(uio)) + +diff --git a/include/os/linux/zfs/sys/zfs_znode_impl.h b/include/os/linux/zfs/sys/zfs_znode_impl.h +index 0a6273442b7..de46fc8f2bd 100644 +--- a/include/os/linux/zfs/sys/zfs_znode_impl.h ++++ b/include/os/linux/zfs/sys/zfs_znode_impl.h +@@ -71,6 +71,7 @@ extern "C" { + #define Z_ISDIR(type) S_ISDIR(type) + + #define zn_has_cached_data(zp) ((zp)->z_is_mapped) ++#define zn_flush_cached_data(zp, sync) write_inode_now(ZTOI(zp), sync) + #define zn_rlimit_fsize(zp, uio) (0) + + /* +diff --git a/include/sys/dnode.h b/include/sys/dnode.h +index 2cdc5b8798a..af8775b9ee0 100644 +--- a/include/sys/dnode.h ++++ b/include/sys/dnode.h +@@ -425,6 +425,7 @@ boolean_t dnode_add_ref(dnode_t *dn, void *ref); + void dnode_rele(dnode_t *dn, void *ref); + void dnode_rele_and_unlock(dnode_t *dn, void *tag, boolean_t evicting); + int dnode_try_claim(objset_t *os, uint64_t object, int slots); ++boolean_t dnode_is_dirty(dnode_t *dn); + void dnode_setdirty(dnode_t *dn, dmu_tx_t *tx); + void dnode_set_dirtyctx(dnode_t *dn, dmu_tx_t *tx, void *tag); + void dnode_sync(dnode_t *dn, dmu_tx_t *tx); +diff --git a/man/man4/zfs.4 b/man/man4/zfs.4 +index 2aed6895754..20b24d898d8 100644 +--- a/man/man4/zfs.4 ++++ b/man/man4/zfs.4 +@@ -1574,7 +1574,7 @@ Allow no-operation writes. + The occurrence of nopwrites will further depend on other pool properties + .Pq i.a. the checksumming and compression algorithms . + . +-.It Sy zfs_dmu_offset_next_sync Ns = Ns Sy 0 Ns | ns 1 Pq int ++.It Sy zfs_dmu_offset_next_sync Ns = Ns Sy 0 Ns | Ns 1 Pq int + Enable forcing TXG sync to find holes. + When enabled forces ZFS to act like prior versions when + .Sy SEEK_HOLE No or Sy SEEK_DATA +diff --git a/module/zfs/dmu.c b/module/zfs/dmu.c +index 1c47430953b..8302d506146 100644 +--- a/module/zfs/dmu.c ++++ b/module/zfs/dmu.c +@@ -2095,42 +2095,41 @@ int + dmu_offset_next(objset_t *os, uint64_t object, boolean_t hole, uint64_t *off) + { + dnode_t *dn; +- int i, err; +- boolean_t clean = B_TRUE; ++ int err; + ++restart: + err = dnode_hold(os, object, FTAG, &dn); + if (err) + return (err); + +- /* +- * Check if dnode is dirty +- */ +- for (i = 0; i < TXG_SIZE; i++) { +- if (multilist_link_active(&dn->dn_dirty_link[i])) { +- clean = B_FALSE; +- break; +- } +- } ++ rw_enter(&dn->dn_struct_rwlock, RW_READER); + +- /* +- * If compatibility option is on, sync any current changes before +- * we go trundling through the block pointers. +- */ +- if (!clean && zfs_dmu_offset_next_sync) { +- clean = B_TRUE; +- dnode_rele(dn, FTAG); +- txg_wait_synced(dmu_objset_pool(os), 0); +- err = dnode_hold(os, object, FTAG, &dn); +- if (err) +- return (err); +- } ++ if (dnode_is_dirty(dn)) { ++ /* ++ * If the zfs_dmu_offset_next_sync module option is enabled ++ * then strict hole reporting has been requested. Dirty ++ * dnodes must be synced to disk to accurately report all ++ * holes. When disabled (the default) dirty dnodes are ++ * reported to not have any holes which is always safe. ++ * ++ * When called by zfs_holey_common() the zp->z_rangelock ++ * is held to prevent zfs_write() and mmap writeback from ++ * re-dirtying the dnode after txg_wait_synced(). ++ */ ++ if (zfs_dmu_offset_next_sync) { ++ rw_exit(&dn->dn_struct_rwlock); ++ dnode_rele(dn, FTAG); ++ txg_wait_synced(dmu_objset_pool(os), 0); ++ goto restart; ++ } + +- if (clean) +- err = dnode_next_offset(dn, +- (hole ? DNODE_FIND_HOLE : 0), off, 1, 1, 0); +- else + err = SET_ERROR(EBUSY); ++ } else { ++ err = dnode_next_offset(dn, DNODE_FIND_HAVELOCK | ++ (hole ? DNODE_FIND_HOLE : 0), off, 1, 1, 0); ++ } + ++ rw_exit(&dn->dn_struct_rwlock); + dnode_rele(dn, FTAG); + + return (err); +diff --git a/module/zfs/dnode.c b/module/zfs/dnode.c +index 7f741542ce0..572d88ec2bf 100644 +--- a/module/zfs/dnode.c ++++ b/module/zfs/dnode.c +@@ -1648,6 +1648,26 @@ dnode_try_claim(objset_t *os, uint64_t object, int slots) + slots, NULL, NULL)); + } + ++/* ++ * Checks if the dnode contains any uncommitted dirty records. ++ */ ++boolean_t ++dnode_is_dirty(dnode_t *dn) ++{ ++ mutex_enter(&dn->dn_mtx); ++ ++ for (int i = 0; i < TXG_SIZE; i++) { ++ if (list_head(&dn->dn_dirty_records[i]) != NULL) { ++ mutex_exit(&dn->dn_mtx); ++ return (B_TRUE); ++ } ++ } ++ ++ mutex_exit(&dn->dn_mtx); ++ ++ return (B_FALSE); ++} ++ + void + dnode_setdirty(dnode_t *dn, dmu_tx_t *tx) + { +diff --git a/module/zfs/zfs_vnops.c b/module/zfs/zfs_vnops.c +index 8229bc9a93e..170e392abe9 100644 +--- a/module/zfs/zfs_vnops.c ++++ b/module/zfs/zfs_vnops.c +@@ -85,6 +85,7 @@ zfs_fsync(znode_t *zp, int syncflag, cred_t *cr) + static int + zfs_holey_common(znode_t *zp, ulong_t cmd, loff_t *off) + { ++ zfs_locked_range_t *lr; + uint64_t noff = (uint64_t)*off; /* new offset */ + uint64_t file_sz; + int error; +@@ -100,12 +101,18 @@ zfs_holey_common(znode_t *zp, ulong_t cmd, loff_t *off) + else + hole = B_FALSE; + ++ /* Flush any mmap()'d data to disk */ ++ if (zn_has_cached_data(zp)) ++ zn_flush_cached_data(zp, B_FALSE); ++ ++ lr = zfs_rangelock_enter(&zp->z_rangelock, 0, file_sz, RL_READER); + error = dmu_offset_next(ZTOZSB(zp)->z_os, zp->z_id, hole, &noff); ++ zfs_rangelock_exit(lr); + + if (error == ESRCH) + return (SET_ERROR(ENXIO)); + +- /* file was dirty, so fall back to using generic logic */ ++ /* File was dirty, so fall back to using generic logic */ + if (error == EBUSY) { + if (hole) + *off = file_sz; +diff --git a/tests/runfiles/common.run b/tests/runfiles/common.run +index a62cd6ad39f..97ee7b8ae24 100644 +--- a/tests/runfiles/common.run ++++ b/tests/runfiles/common.run +@@ -669,7 +669,7 @@ tests = ['migration_001_pos', 'migration_002_pos', 'migration_003_pos', + tags = ['functional', 'migration'] + + [tests/functional/mmap] +-tests = ['mmap_write_001_pos', 'mmap_read_001_pos'] ++tests = ['mmap_write_001_pos', 'mmap_read_001_pos', 'mmap_seek_001_pos'] + tags = ['functional', 'mmap'] + + [tests/functional/mount] +diff --git a/tests/zfs-tests/cmd/Makefile.am b/tests/zfs-tests/cmd/Makefile.am +index 2b965ca7000..d1c29fcd1c6 100644 +--- a/tests/zfs-tests/cmd/Makefile.am ++++ b/tests/zfs-tests/cmd/Makefile.am +@@ -19,6 +19,7 @@ SUBDIRS = \ + mktree \ + mmap_exec \ + mmap_libaio \ ++ mmap_seek \ + mmapwrite \ + nvlist_to_lua \ + randwritecomp \ +diff --git a/tests/zfs-tests/cmd/mmap_seek/.gitignore b/tests/zfs-tests/cmd/mmap_seek/.gitignore +new file mode 100644 +index 00000000000..6b05a791750 +--- /dev/null ++++ b/tests/zfs-tests/cmd/mmap_seek/.gitignore +@@ -0,0 +1 @@ ++/mmap_seek +diff --git a/tests/zfs-tests/cmd/mmap_seek/Makefile.am b/tests/zfs-tests/cmd/mmap_seek/Makefile.am +new file mode 100644 +index 00000000000..b938931125f +--- /dev/null ++++ b/tests/zfs-tests/cmd/mmap_seek/Makefile.am +@@ -0,0 +1,6 @@ ++include $(top_srcdir)/config/Rules.am ++ ++pkgexecdir = $(datadir)/@PACKAGE@/zfs-tests/bin ++ ++pkgexec_PROGRAMS = mmap_seek ++mmap_seek_SOURCES = mmap_seek.c +diff --git a/tests/zfs-tests/cmd/mmap_seek/mmap_seek.c b/tests/zfs-tests/cmd/mmap_seek/mmap_seek.c +new file mode 100644 +index 00000000000..f476e1dba9a +--- /dev/null ++++ b/tests/zfs-tests/cmd/mmap_seek/mmap_seek.c +@@ -0,0 +1,147 @@ ++/* ++ * CDDL HEADER START ++ * ++ * The contents of this file are subject to the terms of the ++ * Common Development and Distribution License (the "License"). ++ * You may not use this file except in compliance with the License. ++ * ++ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE ++ * or http://www.opensolaris.org/os/licensing. ++ * See the License for the specific language governing permissions ++ * and limitations under the License. ++ * ++ * When distributing Covered Code, include this CDDL HEADER in each ++ * file and include the License file at usr/src/OPENSOLARIS.LICENSE. ++ * If applicable, add the following below this CDDL HEADER, with the ++ * fields enclosed by brackets "[]" replaced with your own identifying ++ * information: Portions Copyright [yyyy] [name of copyright owner] ++ * ++ * CDDL HEADER END ++ */ ++ ++/* ++ * Copyright (c) 2021 by Lawrence Livermore National Security, LLC. ++ */ ++ ++#include <unistd.h> ++#include <fcntl.h> ++#include <stdio.h> ++#include <stdlib.h> ++#include <string.h> ++#include <sys/mman.h> ++#include <errno.h> ++ ++static void ++seek_data(int fd, off_t offset, off_t expected) ++{ ++ off_t data_offset = lseek(fd, offset, SEEK_DATA); ++ if (data_offset != expected) { ++ fprintf(stderr, "lseek(fd, %d, SEEK_DATA) = %d (expected %d)\n", ++ (int)offset, (int)data_offset, (int)expected); ++ exit(2); ++ } ++} ++ ++static void ++seek_hole(int fd, off_t offset, off_t expected) ++{ ++ off_t hole_offset = lseek(fd, offset, SEEK_HOLE); ++ if (hole_offset != expected) { ++ fprintf(stderr, "lseek(fd, %d, SEEK_HOLE) = %d (expected %d)\n", ++ (int)offset, (int)hole_offset, (int)expected); ++ exit(2); ++ } ++} ++ ++int ++main(int argc, char **argv) ++{ ++ char *execname = argv[0]; ++ char *file_path = argv[1]; ++ char *buf = NULL; ++ int err; ++ ++ if (argc != 4) { ++ (void) printf("usage: %s <file name> <file size> " ++ "<block size>\n", argv[0]); ++ exit(1); ++ } ++ ++ int fd = open(file_path, O_RDWR | O_CREAT, 0666); ++ if (fd == -1) { ++ (void) fprintf(stderr, "%s: %s: ", execname, file_path); ++ perror("open"); ++ exit(2); ++ } ++ ++ off_t file_size = atoi(argv[2]); ++ off_t block_size = atoi(argv[3]); ++ ++ if (block_size * 2 > file_size) { ++ (void) fprintf(stderr, "file size must be at least " ++ "double the block size\n"); ++ exit(2); ++ } ++ ++ err = ftruncate(fd, file_size); ++ if (err == -1) { ++ perror("ftruncate"); ++ exit(2); ++ } ++ ++ if ((buf = mmap(NULL, file_size, PROT_READ | PROT_WRITE, ++ MAP_SHARED, fd, 0)) == MAP_FAILED) { ++ perror("mmap"); ++ exit(2); ++ } ++ ++ /* Verify the file is sparse and reports no data. */ ++ seek_data(fd, 0, -1); ++ ++ /* Verify the file is reported as a hole. */ ++ seek_hole(fd, 0, 0); ++ ++ /* Verify search beyond end of file is an error. */ ++ seek_data(fd, 2 * file_size, -1); ++ seek_hole(fd, 2 * file_size, -1); ++ ++ /* Dirty the first byte. */ ++ memset(buf, 'a', 1); ++ seek_data(fd, 0, 0); ++ seek_data(fd, block_size, -1); ++ seek_hole(fd, 0, block_size); ++ seek_hole(fd, block_size, block_size); ++ ++ /* Dirty the first half of the file. */ ++ memset(buf, 'b', file_size / 2); ++ seek_data(fd, 0, 0); ++ seek_data(fd, block_size, block_size); ++ seek_hole(fd, 0, P2ROUNDUP(file_size / 2, block_size)); ++ seek_hole(fd, block_size, P2ROUNDUP(file_size / 2, block_size)); ++ ++ /* Dirty the whole file. */ ++ memset(buf, 'c', file_size); ++ seek_data(fd, 0, 0); ++ seek_data(fd, file_size * 3 / 4, ++ P2ROUNDUP(file_size * 3 / 4, block_size)); ++ seek_hole(fd, 0, file_size); ++ seek_hole(fd, file_size / 2, file_size); ++ ++ /* Punch a hole (required compression be enabled). */ ++ memset(buf + block_size, 0, block_size); ++ seek_data(fd, 0, 0); ++ seek_data(fd, block_size, 2 * block_size); ++ seek_hole(fd, 0, block_size); ++ seek_hole(fd, block_size, block_size); ++ seek_hole(fd, 2 * block_size, file_size); ++ ++ err = munmap(buf, file_size); ++ if (err == -1) { ++ perror("munmap"); ++ exit(2); ++ } ++ ++ close(fd); ++ ++ return (0); ++} +diff --git a/tests/zfs-tests/include/commands.cfg b/tests/zfs-tests/include/commands.cfg +index 1ec73f25bae..4497a6248b4 100644 +--- a/tests/zfs-tests/include/commands.cfg ++++ b/tests/zfs-tests/include/commands.cfg +@@ -209,6 +209,7 @@ export ZFSTEST_FILES='badsend + mktree + mmap_exec + mmap_libaio ++ mmap_seek + mmapwrite + nvlist_to_lua + randfree_file +diff --git a/tests/zfs-tests/include/tunables.cfg b/tests/zfs-tests/include/tunables.cfg +index 56d430a3987..fff43e46916 100644 +--- a/tests/zfs-tests/include/tunables.cfg ++++ b/tests/zfs-tests/include/tunables.cfg +@@ -33,6 +33,7 @@ DEADMAN_FAILMODE deadman.failmode zfs_deadman_failmode + DEADMAN_SYNCTIME_MS deadman.synctime_ms zfs_deadman_synctime_ms + DEADMAN_ZIOTIME_MS deadman.ziotime_ms zfs_deadman_ziotime_ms + DISABLE_IVSET_GUID_CHECK disable_ivset_guid_check zfs_disable_ivset_guid_check ++DMU_OFFSET_NEXT_SYNC dmu_offset_next_sync zfs_dmu_offset_next_sync + INITIALIZE_CHUNK_SIZE initialize_chunk_size zfs_initialize_chunk_size + INITIALIZE_VALUE initialize_value zfs_initialize_value + KEEP_LOG_SPACEMAPS_AT_EXPORT keep_log_spacemaps_at_export zfs_keep_log_spacemaps_at_export +diff --git a/tests/zfs-tests/tests/functional/mmap/Makefile.am b/tests/zfs-tests/tests/functional/mmap/Makefile.am +index 2adc398b8c0..b26791ee7ce 100644 +--- a/tests/zfs-tests/tests/functional/mmap/Makefile.am ++++ b/tests/zfs-tests/tests/functional/mmap/Makefile.am +@@ -4,7 +4,8 @@ dist_pkgdata_SCRIPTS = \ + cleanup.ksh \ + mmap_read_001_pos.ksh \ + mmap_write_001_pos.ksh \ +- mmap_libaio_001_pos.ksh ++ mmap_libaio_001_pos.ksh \ ++ mmap_seek_001_pos.ksh + + dist_pkgdata_DATA = \ + mmap.cfg +diff --git a/tests/zfs-tests/tests/functional/mmap/mmap_seek_001_pos.ksh b/tests/zfs-tests/tests/functional/mmap/mmap_seek_001_pos.ksh +new file mode 100755 +index 00000000000..6188549ad8d +--- /dev/null ++++ b/tests/zfs-tests/tests/functional/mmap/mmap_seek_001_pos.ksh +@@ -0,0 +1,67 @@ ++#!/bin/ksh -p ++# ++# CDDL HEADER START ++# ++# The contents of this file are subject to the terms of the ++# Common Development and Distribution License (the "License"). ++# You may not use this file except in compliance with the License. ++# ++# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE ++# or http://www.opensolaris.org/os/licensing. ++# See the License for the specific language governing permissions ++# and limitations under the License. ++# ++# When distributing Covered Code, include this CDDL HEADER in each ++# file and include the License file at usr/src/OPENSOLARIS.LICENSE. ++# If applicable, add the following below this CDDL HEADER, with the ++# fields enclosed by brackets "[]" replaced with your own identifying ++# information: Portions Copyright [yyyy] [name of copyright owner] ++# ++# CDDL HEADER END ++# ++ ++# ++# Copyright (c) 2021 by Lawrence Livermore National Security, LLC. ++# ++ ++. $STF_SUITE/include/libtest.shlib ++. $STF_SUITE/tests/functional/mmap/mmap.cfg ++ ++# ++# DESCRIPTION: ++# lseek() data/holes for an mmap()'d file. ++# ++# STRATEGY: ++# 1. Enable compression and hole reporting for dirty files. ++# 2. Call mmap_seek binary test case for various record sizes. ++# ++ ++verify_runnable "global" ++ ++function cleanup ++{ ++ log_must zfs set compression=off $TESTPOOL/$TESTFS ++ log_must zfs set recordsize=128k $TESTPOOL/$TESTFS ++ log_must rm -f $TESTDIR/test-mmap-file ++ log_must set_tunable64 DMU_OFFSET_NEXT_SYNC $dmu_offset_next_sync ++} ++ ++log_assert "lseek() data/holes for an mmap()'d file." ++ ++log_onexit cleanup ++ ++# Enable hole reporting for dirty files. ++typeset dmu_offset_next_sync=$(get_tunable DMU_OFFSET_NEXT_SYNC) ++log_must set_tunable64 DMU_OFFSET_NEXT_SYNC 1 ++ ++# Compression must be enabled to convert zero'd blocks to holes. ++# This behavior is checked by the mmap_seek test. ++log_must zfs set compression=on $TESTPOOL/$TESTFS ++ ++for bs in 4096 8192 16384 32768 65536 131072; do ++ log_must zfs set recordsize=$bs $TESTPOOL/$TESTFS ++ log_must mmap_seek $TESTDIR/test-mmap-file $((1024*1024)) $bs ++ log_must rm $TESTDIR/test-mmap-file ++done ++ ++log_pass "lseek() data/holes for an mmap()'d file succeeded." diff --git a/sys-fs/zfs-kmod/files/2.1.1-restore-dirty-dnode-logic.patch b/sys-fs/zfs-kmod/files/2.1.1-restore-dirty-dnode-logic.patch new file mode 100644 index 000000000000..d33735ff9ff6 --- /dev/null +++ b/sys-fs/zfs-kmod/files/2.1.1-restore-dirty-dnode-logic.patch @@ -0,0 +1,31 @@ +From d7e640cf95f72deeca501d34afed59a0bc9d7940 Mon Sep 17 00:00:00 2001 +From: Brian Behlendorf <behlendorf1@llnl.gov> +Date: Wed, 10 Nov 2021 16:14:32 -0800 +Subject: [PATCH] Restore dirty dnode detection logic + +In addition to flushing memory mapped regions when checking holes, +commit de198f2d95 modified the dirty dnode detection logic to check +the dn->dn_dirty_records instead of the dn->dn_dirty_link. Relying +on the dirty record has not be reliable, switch back to the previous +method. + +Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> +Issue #11900 +Closes #12745 +--- + module/zfs/dnode.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/module/zfs/dnode.c b/module/zfs/dnode.c +index 572d88ec2bf..7044c1fc634 100644 +--- a/module/zfs/dnode.c ++++ b/module/zfs/dnode.c +@@ -1657,7 +1657,7 @@ dnode_is_dirty(dnode_t *dn) + mutex_enter(&dn->dn_mtx); + + for (int i = 0; i < TXG_SIZE; i++) { +- if (list_head(&dn->dn_dirty_records[i]) != NULL) { ++ if (multilist_link_active(&dn->dn_dirty_link[i])) { + mutex_exit(&dn->dn_mtx); + return (B_TRUE); + } diff --git a/sys-fs/zfs-kmod/zfs-kmod-0.8.6.ebuild b/sys-fs/zfs-kmod/zfs-kmod-0.8.6.ebuild index e5b3df641c98..3d63f3f393bf 100644 --- a/sys-fs/zfs-kmod/zfs-kmod-0.8.6.ebuild +++ b/sys-fs/zfs-kmod/zfs-kmod-0.8.6.ebuild @@ -16,6 +16,10 @@ else KEYWORDS="amd64 arm64 ppc64" S="${WORKDIR}/zfs-${PV}" ZFS_KERNEL_COMPAT="5.9" + + # increments minor eg 5.14 -> 5.15, and still supports override. + ZFS_KERNEL_DEP="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}" + ZFS_KERNEL_DEP="${ZFS_KERNEL_DEP%%.*}.$(( ${ZFS_KERNEL_DEP##*.} + 1))" fi LICENSE="CDDL debug? ( GPL-2+ )" @@ -31,6 +35,7 @@ RDEPEND="${DEPEND} BDEPEND=" dev-lang/perl virtual/awk + dist-kernel? ( <virtual/dist-kernel-${ZFS_KERNEL_DEP}:= ) " # PDEPEND in this form is needed to trick portage suggest diff --git a/sys-fs/zfs-kmod/zfs-kmod-2.0.6.ebuild b/sys-fs/zfs-kmod/zfs-kmod-2.0.6.ebuild index 5c445cce099f..d12b2a434901 100644 --- a/sys-fs/zfs-kmod/zfs-kmod-2.0.6.ebuild +++ b/sys-fs/zfs-kmod/zfs-kmod-2.0.6.ebuild @@ -21,6 +21,10 @@ else S="${WORKDIR}/zfs-${PV%_rc?}" ZFS_KERNEL_COMPAT="5.14" + # increments minor eg 5.14 -> 5.15, and still supports override. + ZFS_KERNEL_DEP="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}" + ZFS_KERNEL_DEP="${ZFS_KERNEL_DEP%%.*}.$(( ${ZFS_KERNEL_DEP##*.} + 1))" + if [[ ${PV} != *_rc* ]]; then KEYWORDS="amd64 arm64 ppc64" fi @@ -39,8 +43,15 @@ BDEPEND=" virtual/awk " +# we want dist-kernel block in BDEPEND because of portage resolver. +# since linux-mod.eclass already sets version-unbounded dep, portage +# will pull new versions. So we set it in BDEPEND which takes priority. +# and we don't need in in git ebuild. if [[ ${PV} != "9999" ]] ; then - BDEPEND+=" verify-sig? ( app-crypt/openpgp-keys-openzfs )" + BDEPEND+=" + verify-sig? ( app-crypt/openpgp-keys-openzfs ) + dist-kernel? ( <virtual/dist-kernel-${ZFS_KERNEL_DEP}:= ) + " fi # PDEPEND in this form is needed to trick portage suggest diff --git a/sys-fs/zfs-kmod/zfs-kmod-2.1.1.ebuild b/sys-fs/zfs-kmod/zfs-kmod-2.1.1-r3.ebuild index 996dd40ebdcb..ea61ad1dc0a9 100644 --- a/sys-fs/zfs-kmod/zfs-kmod-2.1.1.ebuild +++ b/sys-fs/zfs-kmod/zfs-kmod-2.1.1-r3.ebuild @@ -21,6 +21,10 @@ else S="${WORKDIR}/zfs-${PV%_rc?}" ZFS_KERNEL_COMPAT="5.14" + # increments minor eg 5.14 -> 5.15, and still supports override. + ZFS_KERNEL_DEP="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}" + ZFS_KERNEL_DEP="${ZFS_KERNEL_DEP%%.*}.$(( ${ZFS_KERNEL_DEP##*.} + 1))" + if [[ ${PV} != *_rc* ]]; then KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" fi @@ -39,8 +43,15 @@ BDEPEND=" virtual/awk " +# we want dist-kernel block in BDEPEND because of portage resolver. +# since linux-mod.eclass already sets version-unbounded dep, portage +# will pull new versions. So we set it in BDEPEND which takes priority. +# and we don't need in in git ebuild. if [[ ${PV} != "9999" ]] ; then - BDEPEND+=" verify-sig? ( app-crypt/openpgp-keys-openzfs )" + BDEPEND+=" + verify-sig? ( app-crypt/openpgp-keys-openzfs ) + dist-kernel? ( <virtual/dist-kernel-${ZFS_KERNEL_DEP}:= ) + " fi # PDEPEND in this form is needed to trick portage suggest @@ -51,6 +62,11 @@ RESTRICT="debug? ( strip ) test" DOCS=( AUTHORS COPYRIGHT META README.md ) +PATCHES=( + "${FILESDIR}/2.1.1-SEEK_DATA-SEEK_HOLE.patch" + "${FILESDIR}/2.1.1-restore-dirty-dnode-logic.patch" +) + pkg_pretend() { use rootfs || return 0 @@ -191,4 +207,10 @@ pkg_postinst() { ewarn ewarn "Refer to /etc/zfs/compatibility.d/grub2 for list of features." fi + + echo + ewarn "This versions of ${PN} includes a very important fix for upstream bug" + ewarn "https://github.com/openzfs/zfs/issues/11900" + ewarn "Please reboot into kernel with ${P} as soon as possible" + echo } diff --git a/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild b/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild index 255ef48a0b4b..5b11d92a6ea3 100644 --- a/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild +++ b/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild @@ -21,6 +21,10 @@ else S="${WORKDIR}/zfs-${PV%_rc?}" ZFS_KERNEL_COMPAT="5.14" + # increments minor eg 5.14 -> 5.15, and still supports override. + ZFS_KERNEL_DEP="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}" + ZFS_KERNEL_DEP="${ZFS_KERNEL_DEP%%.*}.$(( ${ZFS_KERNEL_DEP##*.} + 1))" + if [[ ${PV} != *_rc* ]]; then KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" fi @@ -39,8 +43,15 @@ BDEPEND=" virtual/awk " +# we want dist-kernel block in BDEPEND because of portage resolver. +# since linux-mod.eclass already sets version-unbounded dep, portage +# will pull new versions. So we set it in BDEPEND which takes priority. +# and we don't need in in git ebuild. if [[ ${PV} != "9999" ]] ; then - BDEPEND+=" verify-sig? ( app-crypt/openpgp-keys-openzfs )" + BDEPEND+=" + verify-sig? ( app-crypt/openpgp-keys-openzfs ) + dist-kernel? ( <virtual/dist-kernel-${ZFS_KERNEL_DEP}:= ) + " fi # PDEPEND in this form is needed to trick portage suggest diff --git a/sys-fs/zfs/Manifest b/sys-fs/zfs/Manifest index c91e5b826deb..fd5db0e00da8 100644 --- a/sys-fs/zfs/Manifest +++ b/sys-fs/zfs/Manifest @@ -5,8 +5,8 @@ DIST zfs-2.0.6.tar.gz 13192941 BLAKE2B 3a83303b016ec4259c286af8a9ceb281829d26508 DIST zfs-2.0.6.tar.gz.asc 836 BLAKE2B 065eba3361ef4234acc67df0236ab9a6737ba9fe5a706be98b55dd64d10360160ca787d8873f27451a2107225ae657dc4cab20a7c2a268cd2de64c8d82d0327a SHA512 123569ecfcee22ac462160acf61b120144c774bc5c0d46a50d2b7312f7565da1a9d780e1a6207dba5834917c66d5b852763e4a3162378d5c9bb90b0dfde35c5c DIST zfs-2.1.1.tar.gz 34836374 BLAKE2B 09ee6bd30e8266342bd975454086049c3fd9142e7dacfe52166575c20e3c92688f9b457d75b2a2068fc281e65f78e1d47450545504cdf8bc31e23663545d7800 SHA512 b69ce764a9f7438ec2c90f86be02abfd684c67cd38de876374e3e6f4b2f82a75d86fa70205def2ba454ad27e52ec8d955ebc4ba456e91d397129a54ea849c19c DIST zfs-2.1.1.tar.gz.asc 195 BLAKE2B d886e7dc74270228f98dfc5ca85bbbe897d5a87a5ae8bbfde28e2af1b36218227bc9f1b5902e97beebe160a298857d6e4673829d87cd8039332dc1858cfcffc0 SHA512 d76956b5c1bd547a319e70dd33d50beae39f65fca54532731426d2ef209385a556c51b3936051f75bc3800623c42da5b8d279c51f501a896f5fdfb7b4ed7fb94 -EBUILD zfs-0.8.6-r1.ebuild 6315 BLAKE2B 063ec7b7374c26035f05614ce2cab7e9d73993571edd22fbaa6eeff51b26ebdeba98fe7fae398f4201a12774a672fe444c1f0f56cfae8da7acd1ec35d92cd5c4 SHA512 5ee8f85b288eca30d3540b1fa8de11616f9095385190139478aa59942e0df7e5f089522e145c35ce900c288b1a4f1d13dda66c569a206da73050630b2f3e787b -EBUILD zfs-2.0.6-r1.ebuild 8150 BLAKE2B 97f5d5db28d6202b7585be544b7fc4f70d19c04b85356525cea2a12a14840f4f5b09119fc51fd5ff7f7b83eee042fedab89f24ca0cc204b2f8e35be21cde38c5 SHA512 2eb2544cdfbfcd24fd9da53afa15c24afcd12eea817df3553022161f250f1d65ed0bac4600d0dc3c34c152df4577248aae3bc56d0a3b8193da9c83f6d2f5ef96 -EBUILD zfs-2.1.1-r2.ebuild 8328 BLAKE2B 4ced1d769042006a93d2a77fdcb89097179cee184704a2eb7ca6a0a1e651c598d17781ac2974221e68dc9bf10107be2a5e0c569f0e0c8efa9c84697f99538b59 SHA512 bcbf86059b5f49f52d408e26cc7fc49eb888b07114b3e0d9675931a5c88d70f4fa8e4daef0bbc87912ee4cb2e84aa507d402bb96163e7ff47f08e2789d929572 -EBUILD zfs-9999.ebuild 8369 BLAKE2B af151107e258c8d391616a9860b12f4394b81e0ef05eea989ee23d9f649f78c126a73a8067873145574c2e3798044363ca5ba5f79fcdec9a4dead46df63103ae SHA512 515a0f26d5c12caeedaf6f8b4c3a1b7c3c735e045980b2c600857ed9412e3b167cf1c02d921efad68c4ee97063a9db71dfff78ce7639357644e70db7d90cbe56 +EBUILD zfs-0.8.6-r1.ebuild 6507 BLAKE2B f43f8cb39ab74e8ab1abef2e42a9c859eeefb27a0c0f301235bcac75d4a865d94d98d9c05762ab18a04e9e981c626734e6d9ee01224c5af711179e06b385bf0a SHA512 12733f40599722d4ff1390f6044b9bbe3e4a4596b84ce922b59c785ff440d5951e2fa7505cd9e5f4b9193b40d88d8e30f99e1c8b83678cff36c796f2014ca42c +EBUILD zfs-2.0.6-r1.ebuild 8342 BLAKE2B 837fb68deaecc8923cbf780bd0600cdbc0207fa765ba00084041886cde246fa0b680c824d19f5e7705da52acbec8ae34ea5f0e9318aa274c61720c671cd01f32 SHA512 10dfd698fd0fd149ab8a1ecfb468240f9a797e8c0536a242da4a948a0de3045c4608a40f685013d78a35f2c1a5fc675b2da48a0f329ecaff74b537ee35943d4c +EBUILD zfs-2.1.1-r5.ebuild 8521 BLAKE2B 1ba53dcecbd12d37e83466fe87b96414e273522c459a89ce021288347cdd6bd33c82cc56c9d96777097c2238657c2e624487c2e0d8427b7be52a992cf33b294e SHA512 ca4c86fb5d4ac37ebb5ba5f5b827abae90d5140df3c3f2abb146c37c9d9d85defb9006ad25c762023fa7d2d02798c8e05a0af1bf31265e99c4d2cfe0a2037b91 +EBUILD zfs-9999.ebuild 8446 BLAKE2B f5803888ba025451f15285f1f27ee55a9945e40a09b5a5caffed47ca0fe648df46f5f9a393253f465db9878a310949f4b2b7cf4f014b119175ec9d55e324b04f SHA512 bca04d73af011baa972df8085eda617d9baeddea86f29f0b1b74f1b9dc166476070ef0aae2863daeeba49ad7f3d9a959f5a2680bc69232e26cf4ad0bb813305b MISC metadata.xml 1001 BLAKE2B 8e94a0d8e1afff064b3f8e4a7e3e6d34ad12d5fa550df2f3371b1593b0938b3ea0dbfdcd2e40023f4e91bbe12cf1f3633d92977e4f5b4ee10b56d5040f065f90 SHA512 fc7ba310676715f5daa59b30107560f9ba61cc7dc79eb74ff866e4c8f36bd6a414474a216f5c833dc46c6426e4c80a6672b488fab4178a0c00a47b0de1caf6eb diff --git a/sys-fs/zfs/zfs-0.8.6-r1.ebuild b/sys-fs/zfs/zfs-0.8.6-r1.ebuild index ac6c6017eaaf..b21a59267cb9 100644 --- a/sys-fs/zfs/zfs-0.8.6-r1.ebuild +++ b/sys-fs/zfs/zfs-0.8.6-r1.ebuild @@ -46,7 +46,7 @@ BDEPEND="virtual/awk " RDEPEND="${DEPEND} - !kernel-builtin? ( ~sys-fs/zfs-kmod-${PV}:=[dist-kernel?] ) + !kernel-builtin? ( ~sys-fs/zfs-kmod-${PV}:= ) !prefix? ( virtual/udev ) sys-fs/udev-init-scripts virtual/awk @@ -67,6 +67,10 @@ RDEPEND="${DEPEND} ) " +# PDEPEND in this form is needed to trick portage suggest +# enabling dist-kernel if only 1 package have it set, without suggesting to disable +PDEPEND="dist-kernel? ( ~sys-fs/zfs-kmod-${PV}[dist-kernel] )" + REQUIRED_USE=" !minimal? ( ${PYTHON_REQUIRED_USE} ) python? ( !minimal ) diff --git a/sys-fs/zfs/zfs-2.0.6-r1.ebuild b/sys-fs/zfs/zfs-2.0.6-r1.ebuild index e12aebe76f0a..c955a9a96516 100644 --- a/sys-fs/zfs/zfs-2.0.6-r1.ebuild +++ b/sys-fs/zfs/zfs-2.0.6-r1.ebuild @@ -63,7 +63,7 @@ fi # awk is used for some scripts, completions, and the Dracut module RDEPEND="${DEPEND} - !kernel-builtin? ( ~sys-fs/zfs-kmod-${PV}:=[dist-kernel?] ) + !kernel-builtin? ( ~sys-fs/zfs-kmod-${PV}:= ) !prefix? ( virtual/udev ) sys-fs/udev-init-scripts virtual/awk @@ -84,6 +84,10 @@ RDEPEND="${DEPEND} ) " +# PDEPEND in this form is needed to trick portage suggest +# enabling dist-kernel if only 1 package have it set, without suggesting to disable +PDEPEND="dist-kernel? ( ~sys-fs/zfs-kmod-${PV}[dist-kernel] )" + # temporary block new coreutils # https://github.com/openzfs/zfs/issues/11900 RDEPEND+=" diff --git a/sys-fs/zfs/zfs-2.1.1-r2.ebuild b/sys-fs/zfs/zfs-2.1.1-r5.ebuild index 36d16c857de2..2f2920a75e08 100644 --- a/sys-fs/zfs/zfs-2.1.1-r2.ebuild +++ b/sys-fs/zfs/zfs-2.1.1-r5.ebuild @@ -63,7 +63,7 @@ fi # awk is used for some scripts, completions, and the Dracut module RDEPEND="${DEPEND} - !kernel-builtin? ( ~sys-fs/zfs-kmod-${PV}:=[dist-kernel?] ) + !kernel-builtin? ( ~sys-fs/zfs-kmod-${PV}:= ) !prefix? ( virtual/udev ) sys-fs/udev-init-scripts virtual/awk @@ -84,6 +84,10 @@ RDEPEND="${DEPEND} ) " +# PDEPEND in this form is needed to trick portage suggest +# enabling dist-kernel if only 1 package have it set, without suggesting to disable +PDEPEND="dist-kernel? ( ~sys-fs/zfs-kmod-${PV}[dist-kernel] )" + # temporary block new coreutils # https://github.com/openzfs/zfs/issues/11900 RDEPEND+=" @@ -98,7 +102,9 @@ REQUIRED_USE=" RESTRICT="test" -PATCHES=( "${FILESDIR}/2.0.4-scrub-timers.patch" ) +PATCHES=( + "${FILESDIR}/2.0.4-scrub-timers.patch" +) pkg_pretend() { use rootfs || return 0 diff --git a/sys-fs/zfs/zfs-9999.ebuild b/sys-fs/zfs/zfs-9999.ebuild index 6cf9307c40d0..2349a5a20d00 100644 --- a/sys-fs/zfs/zfs-9999.ebuild +++ b/sys-fs/zfs/zfs-9999.ebuild @@ -67,7 +67,7 @@ fi # awk is used for some scripts, completions, and the Dracut module RDEPEND="${DEPEND} - !kernel-builtin? ( ~sys-fs/zfs-kmod-${PV}:=[dist-kernel?] ) + !kernel-builtin? ( ~sys-fs/zfs-kmod-${PV}:= ) !prefix? ( virtual/udev ) sys-fs/udev-init-scripts virtual/awk @@ -88,11 +88,9 @@ RDEPEND="${DEPEND} ) " -# temporary block new coreutils -# https://github.com/openzfs/zfs/issues/11900 -RDEPEND+=" - <sys-apps/coreutils-9 -" +# PDEPEND in this form is needed to trick portage suggest +# enabling dist-kernel if only 1 package have it set, without suggesting to disable +PDEPEND="dist-kernel? ( ~sys-fs/zfs-kmod-${PV}[dist-kernel] )" REQUIRED_USE=" !minimal? ( ${PYTHON_REQUIRED_USE} ) |