diff options
Diffstat (limited to 'sys-fs')
141 files changed, 3625 insertions, 2084 deletions
diff --git a/sys-fs/android-file-transfer-linux/Manifest b/sys-fs/android-file-transfer-linux/Manifest index 50d40215513..d50d223a791 100644 --- a/sys-fs/android-file-transfer-linux/Manifest +++ b/sys-fs/android-file-transfer-linux/Manifest @@ -1,3 +1 @@ -DIST android-file-transfer-linux-3.9.tar.gz 781268 BLAKE2B 63032a39b39cf31b8d051c0069c0357f0b6ed5bd9e592ee5ce1f5e95438ff27571ec7d58789eb865a1896097c3cebf0ec30a89526b62c93694d71ca29e95d415 SHA512 7468ff19d2b4ae0f768eea70ec45246da11c4e541d07a9548d057c080adbbc905f76dcdff18c4c8478cd19aee6992d02beaf8b4275d7302997652e25351ab5c8 -DIST android-file-transfer-linux-4.1.tar.gz 820290 BLAKE2B 598a4ae25cc5110c38534d1b2b49c034f3dee3f8ab9e47835b4543acecf80521c102e0b8cdf89a19801b178a8fdbbd09e866b957b3ab5886700a26e6c00f8a1b SHA512 76151089dcce304fb688a54a4f94ea605fa3d048765119c631a2ff2c8d107678062ed4d485a983dfb0b337c9b4d3639e3f76640b6bcc73e3e6449764e99298ab DIST android-file-transfer-linux-4.2.tar.gz 823609 BLAKE2B dfd9b6ef4a92b1bc7851fd160837366b97fa95db5a998b9df156dd8543be554e07d02aae9be9f27b1cd9ee96aacc2003e06e4c7670c49b478e07779c92829817 SHA512 88ee6bf0af6cf6b2f6b97dee8e79d20905d2a84c271d68d874b87ccc797f198f1e480565633feea08a585ebb55e77da9742bd9cd87b59d88e677c44c69e95659 diff --git a/sys-fs/android-file-transfer-linux/android-file-transfer-linux-3.9.ebuild b/sys-fs/android-file-transfer-linux/android-file-transfer-linux-3.9.ebuild deleted file mode 100644 index e2ce2ae66cf..00000000000 --- a/sys-fs/android-file-transfer-linux/android-file-transfer-linux-3.9.ebuild +++ /dev/null @@ -1,64 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit cmake xdg - -DESCRIPTION="Android File Transfer for Linux" -HOMEPAGE="https://github.com/whoozle/android-file-transfer-linux" - -if [[ "${PV}" = *9999 ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/whoozle/android-file-transfer-linux.git" -else - SRC_URI="https://github.com/whoozle/android-file-transfer-linux/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 ~x86" -fi - -LICENSE="LGPL-2.1" -SLOT="0" - -IUSE="fuse qt5" - -RDEPEND=" - sys-apps/file - sys-libs/readline:0= - fuse? ( sys-fs/fuse:0 ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtwidgets:5 - ) -" - -DEPEND="${RDEPEND}" - -# required to override src_prepare from xdg eclass -src_prepare() { - cmake_src_prepare -} - -src_configure() { - local mycmakeargs=( - -DBUILD_FUSE="$(usex fuse)" - -DBUILD_QT_UI="$(usex qt5)" - -DBUILD_SHARED_LIB="ON" - # Upstream recommends to keep this off as libusb is broken - -DUSB_BACKEND_LIBUSB="OFF" - $(usex qt5 '-DDESIRED_QT_VERSION=5' '') - ) - cmake_src_configure -} - -pkg_preinst() { - xdg_pkg_preinst -} - -pkg_postinst() { - xdg_pkg_postinst -} - -pkg_postrm() { - xdg_pkg_postrm -} diff --git a/sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.1.ebuild b/sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.1.ebuild deleted file mode 100644 index 0b38a78cc13..00000000000 --- a/sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.1.ebuild +++ /dev/null @@ -1,79 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{7..9} ) - -inherit cmake python-single-r1 xdg - -DESCRIPTION="Android File Transfer for Linux" -HOMEPAGE="https://github.com/whoozle/android-file-transfer-linux" - -if [[ "${PV}" = *9999 ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/whoozle/android-file-transfer-linux.git" -else - SRC_URI="https://github.com/whoozle/android-file-transfer-linux/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 ~x86" -fi - -LICENSE="LGPL-2.1" -SLOT="0" - -IUSE="fuse python qt5 taglib zune" - -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -RDEPEND=" - sys-apps/file - sys-libs/readline:0= - fuse? ( sys-fs/fuse:0 ) - python? ( - ${PYTHON_DEPS} - $(python_gen_cond_dep ' - dev-python/pybind11[${PYTHON_USEDEP}] - ') - ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtnetwork:5 - dev-qt/qtwidgets:5 - ) - taglib? ( media-libs/taglib ) - zune? ( - dev-libs/openssl:0= - ) -" - -DEPEND="${RDEPEND}" - -BDEPEND=" - virtual/pkgconfig - qt5? ( dev-qt/linguist-tools:5 ) -" - -pkg_setup() { - use python && python-single-r1_pkg_setup -} - -# required to override src_prepare from xdg eclass -src_prepare() { - cmake_src_prepare -} - -src_configure() { - local mycmakeargs=( - -DBUILD_FUSE="$(usex fuse)" - -DBUILD_MTPZ="$(usex zune)" - -DBUILD_PYTHON="$(usex python)" - -DBUILD_QT_UI="$(usex qt5)" - -DBUILD_SHARED_LIB="ON" - -DBUILD_TAGLIB="$(usex taglib)" - # Upstream recommends to keep this off as libusb is broken - -DUSB_BACKEND_LIBUSB="OFF" - $(usex qt5 '-DDESIRED_QT_VERSION=5' '') - ) - cmake_src_configure -} diff --git a/sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.2.ebuild b/sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.2.ebuild index 0b38a78cc13..242c2c0cc22 100644 --- a/sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.2.ebuild +++ b/sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.2.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python3_{7..9} ) +PYTHON_COMPAT=( python3_{8..10} ) inherit cmake python-single-r1 xdg diff --git a/sys-fs/android-file-transfer-linux/android-file-transfer-linux-9999.ebuild b/sys-fs/android-file-transfer-linux/android-file-transfer-linux-9999.ebuild index 344d6b2e654..c4f1917e99d 100644 --- a/sys-fs/android-file-transfer-linux/android-file-transfer-linux-9999.ebuild +++ b/sys-fs/android-file-transfer-linux/android-file-transfer-linux-9999.ebuild @@ -1,9 +1,9 @@ # Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -PYTHON_COMPAT=( python3_{7..9} ) +PYTHON_COMPAT=( python3_{8..10} ) inherit cmake python-single-r1 xdg diff --git a/sys-fs/android-file-transfer-linux/metadata.xml b/sys-fs/android-file-transfer-linux/metadata.xml index b460969636e..3b18b9d156b 100644 --- a/sys-fs/android-file-transfer-linux/metadata.xml +++ b/sys-fs/android-file-transfer-linux/metadata.xml @@ -1,10 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>polynomial-c@gentoo.org</email> - <name>Lars Wendler</name> - </maintainer> + <!-- maintainer-needed --> <upstream> <remote-id type="github">whoozle/android-file-transfer-linux</remote-id> </upstream> diff --git a/sys-fs/bcache-tools/bcache-tools-1.1-r1.ebuild b/sys-fs/bcache-tools/bcache-tools-1.1-r1.ebuild index f2e436d2fa2..9e6dc7c6477 100644 --- a/sys-fs/bcache-tools/bcache-tools-1.1-r1.ebuild +++ b/sys-fs/bcache-tools/bcache-tools-1.1-r1.ebuild @@ -69,3 +69,7 @@ src_install() { pkg_postinst() { udev_reload } + +pkg_postrm() { + udev_reload +} diff --git a/sys-fs/bcache-tools/bcache-tools-9999.ebuild b/sys-fs/bcache-tools/bcache-tools-9999.ebuild index 31a8bc17834..1afc686aaca 100644 --- a/sys-fs/bcache-tools/bcache-tools-9999.ebuild +++ b/sys-fs/bcache-tools/bcache-tools-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -67,3 +67,7 @@ src_install() { pkg_postinst() { udev_reload } + +pkg_postrm() { + udev_reload +} diff --git a/sys-fs/bees/Manifest b/sys-fs/bees/Manifest index 90c2cb2bccb..1c7af098503 100644 --- a/sys-fs/bees/Manifest +++ b/sys-fs/bees/Manifest @@ -1 +1,2 @@ DIST bees-0.6.5.tar.gz 125987 BLAKE2B 459cec5f3c706045ee12a6efe2e32315d71ca16c966bbdb4d6c813f726a7cc411cf4bd272c082ba0bbfc33e9ec4c715a6be773ba929c2b5b31f1731e10ad137c SHA512 db4cf6bc8c7709ee9aa1e2faa2ac1c6323fb8c7407470cec0c370a0f910ec4a1f3cf6ebe695d16383aaec00b62b3de77aa5bbdd47502bdb564e247b3b8879e0b +DIST bees-0.7.tar.gz 164311 BLAKE2B b0b7f1bc24257e385b6201f473bf9377021d542a257b341c5c8ba5372fa604697e717bb65329d57abf2d2ac4311325e3242c481430629c911fcee3e42e1ea55e SHA512 beee7563ae0ea43247465941ef15f7bab2d86d5d164ccb280c378678b0bf61a67a4718881b94a5f3a72d4d0296eda92bfd7464dae0faeaa72b0e2a4ebef39a53 diff --git a/sys-fs/bees/bees-0.7.ebuild b/sys-fs/bees/bees-0.7.ebuild new file mode 100644 index 00000000000..a37916aa176 --- /dev/null +++ b/sys-fs/bees/bees-0.7.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit linux-info systemd toolchain-funcs + +DESCRIPTION="Best-Effort Extent-Same, a btrfs dedup agent" +HOMEPAGE="https://github.com/Zygo/bees" + +if [[ ${PV} == 9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/Zygo/bees.git" +else + SRC_URI="https://github.com/Zygo/bees/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm64" +fi + +LICENSE="GPL-3" +SLOT="0" +IUSE="tools" + +DEPEND=" + >=sys-apps/util-linux-2.30.2 + >=sys-fs/btrfs-progs-4.20.2 +" +RDEPEND="${DEPEND}" + +CONFIG_CHECK="~BTRFS_FS" +ERROR_BTRFS_FS="CONFIG_BTRFS_FS: bees does currently only work with btrfs" + +pkg_pretend() { + if [[ ${MERGE_TYPE} != buildonly ]]; then + if kernel_is -lt 4 11; then + ewarn "With kernel versions below 4.11, bees may severely degrade system performance" + ewarn "and responsiveness. Especially, the kernel may deadlock while bees is" + ewarn "running, it's recommended to run at least kernel 4.11." + ewarn + elif kernel_is -lt 4 14 29; then + ewarn "With kernel versions below 4.14.29, bees may generate a lot of bogus WARN_ON()" + ewarn "messages in the kernel log. These messages can be ignored and this is fixed" + ewarn "with more recent kernels:" + ewarn "# WARNING: CPU: 3 PID: 18172 at fs/btrfs/backref.c:1391 find_parent_nodes+0xc41/0x14e0" + ewarn + fi + if kernel_is -lt 5 1 0; then + ewarn "IMPORTANT: With kernel versions below 5.1.0, you may experience data corruption" + ewarn "due to bees using compression in btrfs. You are adviced to use a chronologically" + ewarn "later kernel, that includes older LTS versions released after 5.0.4:" + ewarn "Fixed in: 5.1+, 5.0.4+, 4.19.31+, 4.14.108+, 4.9.165+, 4.4.177+, 3.18.137+" + ewarn "# commit 8e92821 btrfs: fix corruption reading shared and compressed extents after hole punching" + ewarn + fi + if kernel_is -lt 5 3 4; then + ewarn "With kernel versions below 5.3.4, bees may trigger a btrfs bug when running" + ewarn "btrfs-balance in parallel. This may lead to meta-data corruption in the worst" + ewarn "case. Especially, kernels 5.1.21 and 5.2.21 should be avoided. Kernels 5.0.x" + ewarn "after 5.0.21 should be safe. In the best case, affected kernels may force" + ewarn "the device RO without writing corrupted meta-data. More details:" + ewarn "https://github.com/Zygo/bees/blob/master/docs/btrfs-kernel.md" + ewarn + fi + + elog "Bees recommends running the latest current kernel for performance and" + elog "reliability reasons, see README.md." + fi +} + +src_prepare() { + default + sed -i 's/ -Werror//' makeflags || die +} + +src_configure() { + tc-export CC CXX AR + cat >localconf <<-EOF || die + ETC_PREFIX="${EPREFIX}/etc" + LIBEXEC_PREFIX="${EPREFIX}/usr/libexec" + PREFIX="${EPREFIX}/usr" + SYSTEMD_SYSTEM_UNIT_DIR="$(systemd_get_systemunitdir)" + DEFAULT_MAKE_TARGET=all + EOF + if [[ ${PV} != "9999" ]] ; then + echo BEES_VERSION=v${PV} >>localconf || die + fi + if use tools; then + echo OPTIONAL_INSTALL_TARGETS=install_tools >>localconf || die + fi +} + +src_compile() { + default + # localconf quotes leak in the systemd unit but are still needed for spaces + sed -i 's/"//g' scripts/beesd@.service || die +} diff --git a/sys-fs/bindfs/Manifest b/sys-fs/bindfs/Manifest index 20f2bae4283..eb33b788e15 100644 --- a/sys-fs/bindfs/Manifest +++ b/sys-fs/bindfs/Manifest @@ -1,3 +1,4 @@ DIST bindfs-1.14.9.tar.gz 410344 BLAKE2B 3875c436e7f52a59c0b7aeb2d7fbcfa7d4edfc3f8397bf7d2a920a260f857ec16df64b78655175f9b0929b93788fb6af46c2844f30ee59c30b6ef9fb5beb4cf7 SHA512 e8c454b4edd65faa64255c7706c195aa1cab6436a0d3481e434a5e535a3c24df1b13342b72ed3da097e68e9d94582237d682dbb675734061d115e863d5767ffd DIST bindfs-1.15.0.tar.gz 415596 BLAKE2B e80bf7e233668ceddb6f57b7b939a68c918f3a6635d99bdc0efdacd67d74fdea66aa3d03ced6cfeddfc1a402e9866d27d83bcbe39dc6c25c50247c6b42739d9a SHA512 4f11dcb29321daa950bc8d778c7cc0269f200535367534c5ebb1e85f2f9e0e37359ebaa0d033fefc2140f07915d6ad7e884d185ac168db31c32e2e52175d0bfa DIST bindfs-1.15.1.tar.gz 415676 BLAKE2B 1d18d7a51e60e5ef304cdd13e908ebf5ca3e684b640f6c21678be685c3ff15ed43a20edcecfd6ef13d631974b11c5c7145e4365bf52f7e9280a53772f1377b84 SHA512 da9003f141b7aa2c23651b3b836b1d979bf1b19915f307c05e40ae6906aab738036cc8b5df6caeec158e4fa6b7bca71489ea7884ff1607c6fea72a603a048d59 +DIST bindfs-1.16.1.tar.gz 421240 BLAKE2B 1c33891d7f8f6beed2d18a50e2742c5cf8474f9b27b2afdac593f8a923445d7e2af9027371655845846d4fc67a858f1863a207cb8a78335a179329501a52454f SHA512 6fc6121dc5a9db040f444b432aed4c720250e268087c68e5a0c9a652370a431c94c05fddfa8515ffb86a0f76582bb9a8fa4f9ef66608b82a3b8a5fbb00d2f3dc diff --git a/sys-fs/bindfs/bindfs-1.16.1.ebuild b/sys-fs/bindfs/bindfs-1.16.1.ebuild new file mode 100644 index 00000000000..f884f36abe8 --- /dev/null +++ b/sys-fs/bindfs/bindfs-1.16.1.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="FUSE filesystem for bind mounting with altered permissions" +HOMEPAGE="https://bindfs.org/" +SRC_URI="https://bindfs.org/downloads/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug" + +RDEPEND=">=sys-fs/fuse-3.10.2:3" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +RESTRICT="test" + +src_configure() { + econf $(use_enable debug debug-output) --with-fuse3 +} diff --git a/sys-fs/btrfs-progs/Manifest b/sys-fs/btrfs-progs/Manifest index 8eb46af75e9..b2d5e48c0b5 100644 --- a/sys-fs/btrfs-progs/Manifest +++ b/sys-fs/btrfs-progs/Manifest @@ -1,5 +1,2 @@ -DIST btrfs-progs-v5.10.1.tar.xz 2204164 BLAKE2B ed83729754f9abd22d4d2e7ae9a7e90e80be9b63d49a4a9692e20e5939467dbd864834b71495661e1c7a1fca89e253a62fbda37f1d01d2eadecb13f5904f0dd0 SHA512 32e5b8bda1863e34613802db91946f240b2cde21288ff8f95c1807e7afd0a67c5a704aa4d2bc0d7b1ca094de6831adbfec83fe61f74e1caf6d1975be7d972f2d DIST btrfs-progs-v5.15.1.tar.xz 2280796 BLAKE2B b460254a6261d3d04a2d265a3b4e05a89385888f7ea4f2b16ec5b73922646c7f47a546fc78ba7c009e65914125435cf38157eabffc74f5d00df2c21c844922e3 SHA512 68ed89e337ae857fdaf077eaa889e259e9f162ea2222bdaa03f4187783a8682c24d45c91b0559b901d81429ba2cd3f84087d032d354092d5512fb226bdf91549 -DIST btrfs-progs-v5.16.2.tar.xz 2334464 BLAKE2B a21809a840107c370f1598e19f8b07d8bdd704e8ff3ce4cb78431000e7560802e1047d8200c523a45a761d59a311f1ec384946bd585826a129b05a1a5fd0250e SHA512 c89a763e8b099e0e9d04ff239dfee156a15fc783c515bbd48597f5645f720c377dbb4f2dfe9065971a65d3ade9d8fcb24cf37d527811bf4204153a06f7c8c3a7 -DIST btrfs-progs-v5.16.tar.xz 2327376 BLAKE2B 3bb3b630d465068373bf39776389f733e734cb39801b389a4e94ba2bb325e9625e2cd767c783e4a05e1e18fed92c06190c5d3fbb476b57689a16482357c86b61 SHA512 3ba557134b19f1abb6c63bf3e2092852f92e988677c4bcf9421c824824b87565ae5cc0e5bca0370be81766a8c8fbda21dfb443dcd159f705f31e70b6bf19aa63 -DIST btrfs-progs-v5.17.tar.xz 2286016 BLAKE2B 013acc4f9ec294d8d88b04e9f0ee33c450bfa6621b029005d18885add7c0a1da7e645c1f984931749ebd8f3166e8d849ec128a0f95cc189c15878d45acc0901b SHA512 4c2bfafe0fcae47f01bad41910c2e2b3d48a12b88ca1891a9ea63ac1e65699c2e22f481492c7dd11fbea546647ab78718ab9b6997bb257fc29d1482fde9b08d1 +DIST btrfs-progs-v5.18.1.tar.xz 2293940 BLAKE2B ce2326cca51a4242895aada860e290c6af69a216dc6369673bb3321ab91bfe1c995fcc37dd0c1e15c8e28aabaedf3d6c9508bde393eb0ba4c7b9327c922f749a SHA512 265a03b0db00a231ad51bb75fb161dee0a7a51cd120a696ca0524f08ef635b18afe43b391fa9889a4a79734ccc3931e4374bd950eb26dc47ddc8482368efed0e diff --git a/sys-fs/btrfs-progs/btrfs-progs-5.10.1-r1.ebuild b/sys-fs/btrfs-progs/btrfs-progs-5.10.1-r1.ebuild deleted file mode 100644 index ec36b2152a5..00000000000 --- a/sys-fs/btrfs-progs/btrfs-progs-5.10.1-r1.ebuild +++ /dev/null @@ -1,127 +0,0 @@ -# Copyright 2008-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{8..9} ) - -inherit bash-completion-r1 python-single-r1 - -libbtrfs_soname=0 - -if [[ ${PV} != 9999 ]]; then - MY_PV="v${PV/_/-}" - [[ "${PV}" = *_rc* ]] || \ - KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 ~riscv ~sparc x86" - SRC_URI="https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${PN}-${MY_PV}.tar.xz" - S="${WORKDIR}/${PN}-${MY_PV}" -else - WANT_LIBTOOL=none - inherit autotools git-r3 - EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git" - EGIT_BRANCH="devel" -fi - -DESCRIPTION="Btrfs filesystem utilities" -HOMEPAGE="https://btrfs.wiki.kernel.org" - -LICENSE="GPL-2" -SLOT="0/${libbtrfs_soname}" -IUSE="+convert doc python reiserfs static static-libs +zstd" - -RESTRICT=test # tries to mount repared filesystems - -RDEPEND=" - dev-libs/lzo:2= - sys-apps/util-linux:0=[static-libs(+)?] - sys-libs/zlib:0= - convert? ( - sys-fs/e2fsprogs:= - reiserfs? ( - >=sys-fs/reiserfsprogs-3.6.27 - ) - ) - python? ( ${PYTHON_DEPS} ) - zstd? ( app-arch/zstd:0= ) -" -DEPEND="${RDEPEND} - convert? ( sys-apps/acl ) - python? ( - $(python_gen_cond_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - ) - 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:0[static-libs(+)] ) - ) -" -BDEPEND=" - doc? ( - || ( >=app-text/asciidoc-8.6.0 dev-ruby/asciidoctor ) - app-text/docbook-xml-dtd:4.5 - app-text/xmlto - ) -" - -if [[ ${PV} == 9999 ]]; then - DEPEND+=" sys-devel/gnuconfig" -fi - -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -pkg_setup() { - use python && python-single-r1_pkg_setup -} - -src_prepare() { - default - if [[ ${PV} == 9999 ]]; then - AT_M4DIR=m4 eautoreconf - mkdir config || die - 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 "${EPREFIX}"/usr/share/gnuconfig/config.guess config/config.guess || die - ln -s "${EPREFIX}"/usr/share/gnuconfig/config.sub config/config.sub || die - fi -} - -src_configure() { - local myeconfargs=( - --bindir="${EPREFIX}"/sbin - $(use_enable convert) - $(use_enable doc documentation) - $(use_enable elibc_glibc backtrace) - $(use_enable python) - $(use_enable static-libs static) - $(use_enable zstd) - --with-convert=ext2$(usex reiserfs ',reiserfs' '') - ) - econf "${myeconfargs[@]}" -} - -src_compile() { - emake V=1 all $(usev static) -} - -src_install() { - local makeargs=( - $(usex python install_python '') - $(usex static install-static '') - ) - emake V=1 DESTDIR="${D}" install "${makeargs[@]}" - newbashcomp btrfs-completion btrfs - use python && python_optimize - - # install prebuilt subset of manuals - use doc || doman Documentation/*.[58] -} diff --git a/sys-fs/btrfs-progs/btrfs-progs-5.15.1.ebuild b/sys-fs/btrfs-progs/btrfs-progs-5.15.1.ebuild index 64cc9168091..a15d9125d0e 100644 --- a/sys-fs/btrfs-progs/btrfs-progs-5.15.1.ebuild +++ b/sys-fs/btrfs-progs/btrfs-progs-5.15.1.ebuild @@ -1,11 +1,11 @@ -# Copyright 2008-2021 Gentoo Authors +# Copyright 2008-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 PYTHON_COMPAT=( python3_{8..10} ) -inherit bash-completion-r1 python-single-r1 +inherit bash-completion-r1 python-single-r1 udev libbtrfs_soname=0 @@ -84,6 +84,9 @@ pkg_setup() { } src_prepare() { + local PATCHES=( + "${FILESDIR}/btrfs-progs-5.18.1-glibc-2.36.patch" + ) default if [[ ${PV} == 9999 ]]; then AT_M4DIR=m4 eautoreconf @@ -126,3 +129,7 @@ src_install() { # install prebuilt subset of manuals use doc || doman Documentation/*.[58] } + +pkg_postrm() { + [[ -n ${REPLACED_BY_VERSION} ]] || udev_reload +} diff --git a/sys-fs/btrfs-progs/btrfs-progs-5.16.2.ebuild b/sys-fs/btrfs-progs/btrfs-progs-5.16.2.ebuild deleted file mode 100644 index b9b56b46d14..00000000000 --- a/sys-fs/btrfs-progs/btrfs-progs-5.16.2.ebuild +++ /dev/null @@ -1,133 +0,0 @@ -# Copyright 2008-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -# TODO: change to sphinx for docs in 5.17 -PYTHON_COMPAT=( python3_{8..10} ) - -inherit bash-completion-r1 python-single-r1 - -libbtrfs_soname=0 - -if [[ ${PV} != 9999 ]]; then - MY_PV="v${PV/_/-}" - [[ "${PV}" = *_rc* ]] || \ - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" - SRC_URI="https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${PN}-${MY_PV}.tar.xz" - S="${WORKDIR}/${PN}-${MY_PV}" -else - WANT_LIBTOOL=none - inherit autotools git-r3 - EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git" - EGIT_BRANCH="devel" -fi - -DESCRIPTION="Btrfs filesystem utilities" -HOMEPAGE="https://btrfs.wiki.kernel.org" - -LICENSE="GPL-2" -SLOT="0/${libbtrfs_soname}" -IUSE="+convert doc python reiserfs static static-libs +zstd" - -RESTRICT="test" # tries to mount repaired filesystems - -RDEPEND=" - dev-libs/lzo:2= - sys-apps/util-linux:0=[static-libs(+)?] - sys-libs/zlib:0= - convert? ( - sys-fs/e2fsprogs:= - reiserfs? ( - >=sys-fs/reiserfsprogs-3.6.27 - ) - ) - python? ( ${PYTHON_DEPS} ) - zstd? ( app-arch/zstd:0= ) -" -DEPEND="${RDEPEND} - >=sys-kernel/linux-headers-5.10 - convert? ( sys-apps/acl ) - python? ( - $(python_gen_cond_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - ) - 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:0[static-libs(+)] ) - ) -" -BDEPEND=" - doc? ( - || ( >=app-text/asciidoc-8.6.0 dev-ruby/asciidoctor ) - app-text/docbook-xml-dtd:4.5 - app-text/xmlto - ) -" - -if [[ ${PV} == 9999 ]]; then - BDEPEND+=" sys-devel/gnuconfig" -fi - -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -pkg_setup() { - use python && python-single-r1_pkg_setup -} - -src_prepare() { - default - if [[ ${PV} == 9999 ]]; then - AT_M4DIR=m4 eautoreconf - mkdir config || die - 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 - $(use_enable convert) - $(use_enable doc documentation) - $(use_enable elibc_glibc backtrace) - $(use_enable python) - $(use_enable static-libs static) - $(use_enable zstd) - --with-convert=ext2$(usex reiserfs ',reiserfs' '') - ) - - econf "${myeconfargs[@]}" -} - -src_compile() { - emake V=1 all $(usev static) -} - -src_install() { - local makeargs=( - $(usex python install_python '') - $(usex static install-static '') - ) - - emake V=1 DESTDIR="${D}" install "${makeargs[@]}" - - newbashcomp btrfs-completion btrfs - - use python && python_optimize - - # install prebuilt subset of manuals - use doc || doman Documentation/*.[58] -} diff --git a/sys-fs/btrfs-progs/btrfs-progs-5.16.ebuild b/sys-fs/btrfs-progs/btrfs-progs-5.16.ebuild deleted file mode 100644 index 015b8136717..00000000000 --- a/sys-fs/btrfs-progs/btrfs-progs-5.16.ebuild +++ /dev/null @@ -1,136 +0,0 @@ -# Copyright 2008-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{8..10} ) - -inherit bash-completion-r1 python-single-r1 - -libbtrfs_soname=0 - -if [[ ${PV} != 9999 ]]; then - MY_PV="v${PV/_/-}" - [[ "${PV}" = *_rc* ]] || \ - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" - SRC_URI="https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${PN}-${MY_PV}.tar.xz" - S="${WORKDIR}/${PN}-${MY_PV}" -else - WANT_LIBTOOL=none - inherit autotools git-r3 - EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git" - EGIT_BRANCH="devel" -fi - -DESCRIPTION="Btrfs filesystem utilities" -HOMEPAGE="https://btrfs.wiki.kernel.org" - -LICENSE="GPL-2" -SLOT="0/${libbtrfs_soname}" -IUSE="+convert doc python reiserfs static static-libs +zstd" - -RESTRICT="test" # tries to mount repaired filesystems - -RDEPEND=" - dev-libs/lzo:2= - sys-apps/util-linux:0=[static-libs(+)?] - sys-libs/zlib:0= - convert? ( - sys-fs/e2fsprogs:= - reiserfs? ( - >=sys-fs/reiserfsprogs-3.6.27 - ) - ) - python? ( ${PYTHON_DEPS} ) - zstd? ( app-arch/zstd:0= ) -" -DEPEND="${RDEPEND} - >=sys-kernel/linux-headers-5.10 - convert? ( sys-apps/acl ) - python? ( - $(python_gen_cond_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - ) - 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:0[static-libs(+)] ) - ) -" -BDEPEND=" - doc? ( - || ( >=app-text/asciidoc-8.6.0 dev-ruby/asciidoctor ) - app-text/docbook-xml-dtd:4.5 - app-text/xmlto - ) -" - -if [[ ${PV} == 9999 ]]; then - BDEPEND+=" sys-devel/gnuconfig" -fi - -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -PATCHES=( - "${FILESDIR}"/5.16-linux-headers-before-5.11.patch -) - -pkg_setup() { - use python && python-single-r1_pkg_setup -} - -src_prepare() { - default - if [[ ${PV} == 9999 ]]; then - AT_M4DIR=m4 eautoreconf - mkdir config || die - 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 - $(use_enable convert) - $(use_enable doc documentation) - $(use_enable elibc_glibc backtrace) - $(use_enable python) - $(use_enable static-libs static) - $(use_enable zstd) - --with-convert=ext2$(usex reiserfs ',reiserfs' '') - ) - - econf "${myeconfargs[@]}" -} - -src_compile() { - emake V=1 all $(usev static) -} - -src_install() { - local makeargs=( - $(usex python install_python '') - $(usex static install-static '') - ) - - emake V=1 DESTDIR="${D}" install "${makeargs[@]}" - - newbashcomp btrfs-completion btrfs - - use python && python_optimize - - # install prebuilt subset of manuals - use doc || doman Documentation/*.[58] -} diff --git a/sys-fs/btrfs-progs/btrfs-progs-5.17.ebuild b/sys-fs/btrfs-progs/btrfs-progs-5.18.1-r1.ebuild index 70f276f2ea3..0ba3477e685 100644 --- a/sys-fs/btrfs-progs/btrfs-progs-5.17.ebuild +++ b/sys-fs/btrfs-progs/btrfs-progs-5.18.1-r1.ebuild @@ -30,7 +30,10 @@ HOMEPAGE="https://btrfs.wiki.kernel.org" LICENSE="GPL-2" SLOT="0/${libbtrfs_soname}" -IUSE="+convert doc python reiserfs static static-libs +zstd" +IUSE="+convert python +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" @@ -46,6 +49,7 @@ RDEPEND=" ) ) python? ( ${PYTHON_DEPS} ) + udev? ( virtual/libudev:= ) zstd? ( app-arch/zstd:= ) " DEPEND="${RDEPEND} @@ -69,13 +73,8 @@ DEPEND="${RDEPEND} zstd? ( app-arch/zstd[static-libs(+)] ) ) " -BDEPEND=" - doc? ( - app-text/docbook-xml-dtd:4.5 - app-text/xmlto - dev-python/sphinx - ) -" +BDEPEND="virtual/pkgconfig + man? ( dev-python/sphinx )" if [[ ${PV} == 9999 ]]; then BDEPEND+=" sys-devel/gnuconfig" @@ -88,6 +87,9 @@ pkg_setup() { } src_prepare() { + local PATCHES=( + "${FILESDIR}/btrfs-progs-5.18.1-glibc-2.36.patch" + ) default if [[ ${PV} == 9999 ]]; then AT_M4DIR="m4" eautoreconf @@ -106,13 +108,18 @@ src_configure() { local myeconfargs=( --bindir="${EPREFIX}"/sbin + --enable-lzo + --disable-experimental $(use_enable convert) - $(use_enable doc documentation) + $(use_enable man documentation) $(use_enable elibc_glibc backtrace) $(use_enable python) $(use_enable static-libs static) + $(use_enable udev libudev) $(use_enable zstd) + # Could support libgcrypt, libsodium, libkcapi + --with-crypto=builtin --with-convert=ext2$(usex reiserfs ',reiserfs' '') ) @@ -134,11 +141,12 @@ src_install() { newbashcomp btrfs-completion btrfs use python && python_optimize - - # Install prebuilt subset of manuals - use doc || doman Documentation/*.[58] } pkg_postinst() { udev_reload } + +pkg_postrm() { + [[ -n ${REPLACED_BY_VERSION} ]] || udev_reload +} diff --git a/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild b/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild index b9b56b46d14..76f2afe1fe0 100644 --- a/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild +++ b/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild @@ -3,24 +3,26 @@ EAPI=7 -# TODO: change to sphinx for docs in 5.17 PYTHON_COMPAT=( python3_{8..10} ) -inherit bash-completion-r1 python-single-r1 +inherit bash-completion-r1 python-single-r1 udev libbtrfs_soname=0 if [[ ${PV} != 9999 ]]; then MY_PV="v${PV/_/-}" - [[ "${PV}" = *_rc* ]] || \ - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" SRC_URI="https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${PN}-${MY_PV}.tar.xz" - S="${WORKDIR}/${PN}-${MY_PV}" + + if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + fi + + S="${WORKDIR}"/${PN}-${MY_PV} else - WANT_LIBTOOL=none - inherit autotools git-r3 EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git" EGIT_BRANCH="devel" + WANT_LIBTOOL="none" + inherit autotools git-r3 fi DESCRIPTION="Btrfs filesystem utilities" @@ -28,14 +30,18 @@ HOMEPAGE="https://btrfs.wiki.kernel.org" LICENSE="GPL-2" SLOT="0/${libbtrfs_soname}" -IUSE="+convert doc python reiserfs static static-libs +zstd" +IUSE="+convert python +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 )" -RESTRICT="test" # tries to mount repaired filesystems +# Tries to mount repaired filesystems +RESTRICT="test" RDEPEND=" dev-libs/lzo:2= - sys-apps/util-linux:0=[static-libs(+)?] - sys-libs/zlib:0= + sys-apps/util-linux:=[static-libs(+)?] + sys-libs/zlib:= convert? ( sys-fs/e2fsprogs:= reiserfs? ( @@ -43,7 +49,8 @@ RDEPEND=" ) ) python? ( ${PYTHON_DEPS} ) - zstd? ( app-arch/zstd:0= ) + udev? ( virtual/libudev:= ) + zstd? ( app-arch/zstd:= ) " DEPEND="${RDEPEND} >=sys-kernel/linux-headers-5.10 @@ -63,16 +70,11 @@ DEPEND="${RDEPEND} >=sys-fs/reiserfsprogs-3.6.27[static-libs(+)] ) ) - zstd? ( app-arch/zstd:0[static-libs(+)] ) - ) -" -BDEPEND=" - doc? ( - || ( >=app-text/asciidoc-8.6.0 dev-ruby/asciidoctor ) - app-text/docbook-xml-dtd:4.5 - app-text/xmlto + zstd? ( app-arch/zstd[static-libs(+)] ) ) " +BDEPEND="virtual/pkgconfig + man? ( dev-python/sphinx )" if [[ ${PV} == 9999 ]]; then BDEPEND+=" sys-devel/gnuconfig" @@ -87,10 +89,12 @@ pkg_setup() { src_prepare() { default if [[ ${PV} == 9999 ]]; then - AT_M4DIR=m4 eautoreconf + AT_M4DIR="m4" eautoreconf + mkdir config || die 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 @@ -100,12 +104,19 @@ src_prepare() { src_configure() { local myeconfargs=( --bindir="${EPREFIX}"/sbin + + --enable-lzo + --disable-experimental $(use_enable convert) - $(use_enable doc documentation) + $(use_enable man documentation) $(use_enable elibc_glibc backtrace) $(use_enable python) $(use_enable static-libs static) + $(use_enable udev libudev) $(use_enable zstd) + + # Could support libgcrypt, libsodium, libkcapi + --with-crypto=builtin --with-convert=ext2$(usex reiserfs ',reiserfs' '') ) @@ -127,7 +138,12 @@ src_install() { newbashcomp btrfs-completion btrfs use python && python_optimize +} + +pkg_postinst() { + udev_reload +} - # install prebuilt subset of manuals - use doc || doman Documentation/*.[58] +pkg_postrm() { + [[ -n ${REPLACED_BY_VERSION} ]] || udev_reload } diff --git a/sys-fs/btrfs-progs/files/5.16-linux-headers-before-5.11.patch b/sys-fs/btrfs-progs/files/5.16-linux-headers-before-5.11.patch deleted file mode 100644 index 184656d96d2..00000000000 --- a/sys-fs/btrfs-progs/files/5.16-linux-headers-before-5.11.patch +++ /dev/null @@ -1,40 +0,0 @@ -https://github.com/kdave/btrfs-progs/commit/b0cfe12c4d4b8b4ef335cdf4ddefcbdcd1b70d58.patch -https://bugs.gentoo.org/831817 - -From b0cfe12c4d4b8b4ef335cdf4ddefcbdcd1b70d58 Mon Sep 17 00:00:00 2001 -From: David Sterba <dsterba@suse.com> -Date: Thu, 13 Jan 2022 14:47:08 +0100 -Subject: [PATCH] btrfs-progs: kerncompat: add local definition for alignment - macros - -There's still problem left with compilation on musl and kernel < 5.11, -because __ALIGN_KERNEL is not defined anymore: - -../bin/ld: kernel-shared/volumes.o: in function `create_chunk': -volumes.c:(.text+0x17f8): undefined reference to `__ALIGN_KERNEL' - -Due to the entangled includes and unconditional definition of -__ALIGN_KERNEL, we can't use #ifdef in kerncompat.h to define it -eventually (as kerncompat.h is the first include). Instead add local -definitions of the macros and rename them to avoid name clashes. - -Pull-request: #433 -Signed-off-by: David Sterba <dsterba@suse.com> ---- a/kerncompat.h -+++ b/kerncompat.h -@@ -359,7 +359,14 @@ do { \ - - /* Alignment check */ - #define IS_ALIGNED(x, a) (((x) & ((typeof(x))(a) - 1)) == 0) --#define ALIGN(x, a) __ALIGN_KERNEL((x), (a)) -+ -+/* -+ * Alignment, copied and renamed from /usr/include/linux/const.h to work around -+ * issues caused by moving the definition in 5.12 -+ */ -+#define __ALIGN_KERNEL__(x, a) __ALIGN_KERNEL_MASK__(x, (typeof(x))(a) - 1) -+#define __ALIGN_KERNEL_MASK__(x, mask) (((x) + (mask)) & ~(mask)) -+#define ALIGN(x, a) __ALIGN_KERNEL__((x), (a)) - - static inline int is_power_of_2(unsigned long n) - { diff --git a/sys-fs/btrfs-progs/files/btrfs-progs-5.18.1-glibc-2.36.patch b/sys-fs/btrfs-progs/files/btrfs-progs-5.18.1-glibc-2.36.patch new file mode 100644 index 00000000000..52671ea6c35 --- /dev/null +++ b/sys-fs/btrfs-progs/files/btrfs-progs-5.18.1-glibc-2.36.patch @@ -0,0 +1,31 @@ +https://github.com/kdave/btrfs-progs/commit/46eb32a019834b0a49ae9744db1a921aaa6a3d63 + +From 46eb32a019834b0a49ae9744db1a921aaa6a3d63 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 25 Jul 2022 11:58:35 -0700 +Subject: [PATCH] btrfs-progs: use linux mount.h instead of sys/mount.h + +This file includes linux/fs.h which includes linux/mount.h and with +glibc 2.36 linux/mount.h and glibc mount.h are not compatible [1] +therefore try to avoid including both headers + +[1] https://sourceware.org/glibc/wiki/Release/2.36 + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Signed-off-by: David Sterba <dsterba@suse.com> +--- + common/device-utils.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/common/device-utils.c b/common/device-utils.c +index 617b67462..25a4fb8c4 100644 +--- a/common/device-utils.c ++++ b/common/device-utils.c +@@ -15,7 +15,6 @@ + */ + + #include <sys/ioctl.h> +-#include <sys/mount.h> + #include <sys/statfs.h> + #include <sys/types.h> + #include <stdio.h> diff --git a/sys-fs/cryfs/cryfs-0.10.3-r1.ebuild b/sys-fs/cryfs/cryfs-0.10.3-r1.ebuild index f209908d30e..4e9c60bd68d 100644 --- a/sys-fs/cryfs/cryfs-0.10.3-r1.ebuild +++ b/sys-fs/cryfs/cryfs-0.10.3-r1.ebuild @@ -11,7 +11,7 @@ if [[ ${PV} == 9999 ]] ; then EGIT_REPO_URI="https://github.com/cryfs/cryfs" else SRC_URI="https://github.com/cryfs/cryfs/releases/download/${PV}/${P}.tar.xz" - KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86" + KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86" S="${WORKDIR}" fi diff --git a/sys-fs/cryptmount/cryptmount-5.3.3-r1.ebuild b/sys-fs/cryptmount/cryptmount-5.3.3-r2.ebuild index ceafbdd5eb6..ec1442f7ac9 100644 --- a/sys-fs/cryptmount/cryptmount-5.3.3-r1.ebuild +++ b/sys-fs/cryptmount/cryptmount-5.3.3-r2.ebuild @@ -19,13 +19,14 @@ REQUIRED_USE=" " RDEPEND=" + sys-fs/lvm2 + virtual/libiconv + virtual/libintl gcrypt? ( dev-libs/libgcrypt:0= ) luks? ( sys-fs/cryptsetup ) openssl? ( dev-libs/openssl:0= ) systemd? ( sys-apps/systemd ) udev? ( virtual/udev ) - virtual/libiconv - virtual/libintl " DEPEND=" diff --git a/sys-fs/ddrescue/ddrescue-1.26.ebuild b/sys-fs/ddrescue/ddrescue-1.26.ebuild index c4d47c739d0..d9028f4ce2c 100644 --- a/sys-fs/ddrescue/ddrescue-1.26.ebuild +++ b/sys-fs/ddrescue/ddrescue-1.26.ebuild @@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.lz" LICENSE="GPL-2+" SLOT="0" -KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux" +KEYWORDS="amd64 ~arm ~ia64 ppc ppc64 ~riscv ~sparc x86 ~amd64-linux" IUSE="static" DEPEND="$(unpacker_src_uri_depends)" diff --git a/sys-fs/ddrescue/metadata.xml b/sys-fs/ddrescue/metadata.xml index 2ac0eef8d76..beac02a9af1 100644 --- a/sys-fs/ddrescue/metadata.xml +++ b/sys-fs/ddrescue/metadata.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>polynomial-c@gentoo.org</email> - <name>Lars Wendler</name> - </maintainer> + <maintainer type="person"> + <email>marecki@gentoo.org</email> + <name>Marek Szuba</name> + </maintainer> </pkgmetadata> diff --git a/sys-fs/dmraid/dmraid-1.0.0_rc16-r5.ebuild b/sys-fs/dmraid/dmraid-1.0.0_rc16-r5.ebuild index 7751241ce57..4d1ce63d017 100644 --- a/sys-fs/dmraid/dmraid-1.0.0_rc16-r5.ebuild +++ b/sys-fs/dmraid/dmraid-1.0.0_rc16-r5.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -14,7 +14,7 @@ S="${WORKDIR}/${PN}/${MY_PV}/${PN}" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ppc64 ~riscv sparc x86" +KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv sparc x86" IUSE="intel_led led mini static" RDEPEND=">=sys-fs/lvm2-2.02.45" diff --git a/sys-fs/e2fsprogs/metadata.xml b/sys-fs/e2fsprogs/metadata.xml index 902c90f4f05..a7ce0f49f40 100644 --- a/sys-fs/e2fsprogs/metadata.xml +++ b/sys-fs/e2fsprogs/metadata.xml @@ -6,7 +6,7 @@ <name>Gentoo Base System</name> </maintainer> <use> - <flag name="cron">Install e2scrub_all cron script</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="lto">Build with link time optimization (LTO)</flag> <flag name="tools">Build extfs tools (mke2fs, e2fsck, tune2fs, etc.)</flag> diff --git a/sys-fs/encfs/encfs-1.9.5-r2.ebuild b/sys-fs/encfs/encfs-1.9.5-r2.ebuild index c26268474a9..248d5daddc1 100644 --- a/sys-fs/encfs/encfs-1.9.5-r2.ebuild +++ b/sys-fs/encfs/encfs-1.9.5-r2.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit cmake @@ -11,7 +11,7 @@ SRC_URI="https://github.com/vgough/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="GPL-3 LGPL-3" SLOT="0" -KEYWORDS="~amd64 ~arm ~ppc64 ~sparc ~x86" +KEYWORDS="amd64 arm ~ppc64 ~sparc x86" IUSE="nls" RDEPEND="dev-libs/openssl:= diff --git a/sys-fs/erofs-utils/Manifest b/sys-fs/erofs-utils/Manifest index 0c2d2532e5d..560349e50cf 100644 --- a/sys-fs/erofs-utils/Manifest +++ b/sys-fs/erofs-utils/Manifest @@ -1 +1,2 @@ DIST erofs-utils-1.4.tar.gz 93979 BLAKE2B aef1dca8cb95e6104d73a84590319d3c55aba1a4ef5dbdbf470662cb86ee1b66a5707dc1c453470115ec6f2bf1246ee4b6b28aa1cb83b4cb9c8eed45e88668d4 SHA512 ab95d6a7b2d278ee443d1e378c62354db66ce7ab5ce03b3a8d9004cf498c4e43e3e8ced6524444d2ea4871c4db0195489f033180c8a2082c2cba69c46c09692f +DIST erofs-utils-1.5.tar.gz 106559 BLAKE2B 69a2b93c0ba8c50fb3f75a53cc224490ab31f55e24055932091e85032a637c2be6d937ab42f068a2937e5b9d8b6054fd756e89b9333f47a6b6b35c20a421ed49 SHA512 0a9d593a9fef3c5976dc63e2927f47d070121ed07e6dda727b0a715b72cfe560c83bdf26ce41fe07b8cb5b66b0660105848e3f7c5a84f222296eb422d1cd5cba diff --git a/sys-fs/erofs-utils/erofs-utils-1.5.ebuild b/sys-fs/erofs-utils/erofs-utils-1.5.ebuild new file mode 100644 index 00000000000..6ad7945f752 --- /dev/null +++ b/sys-fs/erofs-utils/erofs-utils-1.5.ebuild @@ -0,0 +1,46 @@ +# Copyright 2021-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Userspace tools for EROFS" +HOMEPAGE="https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git" +LICENSE="GPL-2+" + +SRC_URI="https://git.kernel.org/pub/scm/linux/kernel/git/xiang/${PN}.git/snapshot/${P}.tar.gz" +KEYWORDS="~amd64 ~loong" + +SLOT="0" +IUSE="fuse +lz4 selinux +uuid" + +RDEPEND=" + fuse? ( sys-fs/fuse:0 ) + lz4? ( app-arch/lz4:0= ) + selinux? ( sys-libs/libselinux:0= ) + uuid? ( sys-apps/util-linux ) +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +PATCHES=( +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # This package asks for MicroLZMA support, which is not included in any + # released version of xz-utils at the moment, so disable lzma until a new + # xz-utils is packaged. + econf \ + --disable-werror \ + $(use_enable fuse) \ + $(use_enable lz4) \ + --disable-lzma \ + $(use_with selinux) \ + $(use_with uuid) +} diff --git a/sys-fs/eudev/Manifest b/sys-fs/eudev/Manifest index e963c842d82..5a38d7af12e 100644 --- a/sys-fs/eudev/Manifest +++ b/sys-fs/eudev/Manifest @@ -1 +1,2 @@ DIST eudev-3.2.11.tar.gz 2254373 BLAKE2B cfa6235d6509b751fde93ff2b0961b93c3741458e561a7ad9b07b49a57779627532cff25ad3519e5f79320854fcedfcdc23642ef542505cebcd6b2803067389a SHA512 17b328365913af3e434abe667dd0498c3702a41c6cb66f3793ca2c195b05ac06397b0a401077f81df7dd25193e4eeea13657a221ca6cb3d237c4d91e31e30b33 +DIST eudev-3.2.12-pre3.tar.gz 2166940 BLAKE2B 46cb4e2daa7302380f169b2505e01483a1c879f83802537b718d1380b9411621db9b58454eaf828ca22aa8e913342b52b682593604c365d7159ddc1df82fe719 SHA512 a450ef8ccfb0ec8817e03ae666464cb43390849d1b340f057e047bc42b246ff30e13cfef148417c7452755316bce858ef0c89bf94abf27af143f87db7de9f446 diff --git a/sys-fs/eudev/eudev-3.2.12_pre3.ebuild b/sys-fs/eudev/eudev-3.2.12_pre3.ebuild new file mode 100644 index 00000000000..d286cedd7a1 --- /dev/null +++ b/sys-fs/eudev/eudev-3.2.12_pre3.ebuild @@ -0,0 +1,247 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +KV_MIN=2.6.39 + +inherit linux-info multilib-minimal toolchain-funcs udev + +if [[ ${PV} = 9999* ]]; then + EGIT_REPO_URI="https://github.com/eudev-project/eudev.git" + inherit autotools git-r3 +else + MY_PV=${PV/_pre/-pre} + SRC_URI="https://github.com/eudev-project/eudev/releases/download/v${MY_PV}/${PN}-${MY_PV}.tar.gz" + S="${WORKDIR}"/${PN}-${MY_PV} + + if [[ ${PV} != *_pre* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + fi +fi + +DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)" +HOMEPAGE="https://github.com/eudev-project/eudev" + +LICENSE="LGPL-2.1 MIT GPL-2" +SLOT="0" +IUSE="+kmod rule-generator selinux static-libs test" +RESTRICT="!test? ( test )" + +DEPEND=">=sys-apps/util-linux-2.20 + >=sys-kernel/linux-headers-${KV_MIN} + virtual/libcrypt:= + kmod? ( >=sys-apps/kmod-16 ) + selinux? ( >=sys-libs/libselinux-2.1.9 ) + !sys-apps/gentoo-systemd-integration + !sys-apps/systemd" +RDEPEND="${DEPEND} + acct-group/input + acct-group/kvm + acct-group/render + !sys-apps/systemd-utils[udev] + !sys-fs/udev + !sys-apps/systemd + !sys-apps/hwids[udev]" +BDEPEND="dev-util/gperf + virtual/os-headers + virtual/pkgconfig + test? ( + app-text/tree + dev-lang/perl + )" +PDEPEND=">=sys-fs/udev-init-scripts-26" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/udev.h +) + +pkg_pretend() { + ewarn + ewarn "As of 2013-01-29, ${PN} provides the new interface renaming functionality," + ewarn "as described in the URL below:" + ewarn "https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames" + ewarn + ewarn "This functionality is enabled BY DEFAULT because eudev has no means of synchronizing" + ewarn "between the default or user-modified choice of sys-fs/udev. If you wish to disable" + ewarn "this new iface naming, please be sure that /etc/udev/rules.d/80-net-name-slot.rules" + ewarn "exists: touch /etc/udev/rules.d/80-net-name-slot.rules" + ewarn +} + +pkg_setup() { + CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED ~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL ~FHANDLE ~NET ~UNIX" + linux-info_pkg_setup + get_running_version + + # These are required kernel options, but we don't error out on them + # because you can build under one kernel and run under another. + if kernel_is lt ${KV_MIN//./ }; then + ewarn + ewarn "Your current running kernel version ${KV_FULL} is too old to run ${P}." + ewarn "Make sure to run udev under kernel version ${KV_MIN} or above." + ewarn + fi +} + +src_prepare() { + default + + # Change rules back to group uucp instead of dialout for now + sed -e 's/GROUP="dialout"/GROUP="uucp"/' -i rules/*.rules \ + || die "failed to change group dialout to uucp" + + if [[ ${PV} == 9999* ]] ; then + eautoreconf + fi +} + +multilib_src_configure() { + # bug #463846 + tc-export CC + # bug #502950 + export cc_cv_CFLAGS__flto=no + + local myeconfargs=( + ac_cv_search_cap_init= + ac_cv_header_sys_capability_h=yes + + DBUS_CFLAGS=' ' + DBUS_LIBS=' ' + + --with-rootprefix= + --with-rootrundir=/run + --exec-prefix="${EPREFIX}" + --bindir="${EPREFIX}"/bin + --includedir="${EPREFIX}"/usr/include + --libdir="${EPREFIX}"/usr/$(get_libdir) + --with-rootlibexecdir="${EPREFIX}"/lib/udev + --enable-split-usr + --enable-manpages + ) + + # Only build libudev for non-native_abi, and only install it to libdir, + # that means all options only apply to native_abi + if multilib_is_native_abi ; then + myeconfargs+=( + --with-rootlibdir="${EPREFIX}"/$(get_libdir) + $(use_enable kmod) + $(use_enable static-libs static) + $(use_enable selinux) + $(use_enable rule-generator) + ) + else + myeconfargs+=( + --disable-static + --disable-kmod + --disable-selinux + --disable-rule-generator + --disable-hwdb + ) + fi + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_compile() { + if multilib_is_native_abi ; then + emake + else + emake -C src/shared + emake -C src/libudev + fi +} + +multilib_src_test() { + # Make sandbox get out of the way. + # These are safe because there is a fake root filesystem put in place, + # but sandbox seems to evaluate the paths of the test i/o instead of the + # paths of the actual i/o that results. Also only test for native abi + if multilib_is_native_abi ; then + addread /sys + addwrite /dev + addwrite /run + + default + fi +} + +multilib_src_install() { + if multilib_is_native_abi ; then + emake DESTDIR="${D}" install + else + emake -C src/libudev DESTDIR="${D}" install + fi +} + +multilib_src_install_all() { + find "${ED}" -name '*.la' -delete || die + + insinto /lib/udev/rules.d + doins "${FILESDIR}"/40-gentoo.rules + + use rule-generator && doinitd "${FILESDIR}"/udev-postmount +} + +pkg_postrm() { + udev_reload +} + +pkg_postinst() { + udev_reload + + mkdir -p "${EROOT}"/run + + # "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766 + # So try to remove it here (will only work if empty). + rmdir "${EROOT}"/dev/loop 2>/dev/null + if [[ -d ${EROOT}/dev/loop ]]; then + ewarn "Please make sure your remove /dev/loop," + ewarn "else losetup may be confused when looking for unused devices." + fi + + # REPLACING_VERSIONS should only ever have zero or 1 values but in case it doesn't, + # process it as a list. We only care about the zero case (new install) or the case where + # the same version is being re-emerged. If there is a second version, allow it to abort. + local rv rvres=doitnew + for rv in ${REPLACING_VERSIONS} ; do + if [[ ${rvres} == doit* ]]; then + if [[ ${rv%-r*} == ${PV} ]]; then + rvres=doit + else + rvres=${rv} + fi + fi + done + + if has_version 'sys-apps/hwids[udev]'; then + udevadm hwdb --update --root="${ROOT}" + + # https://cgit.freedesktop.org/systemd/systemd/commit/?id=1fab57c209035f7e66198343074e9cee06718bda + # reload database after it has be rebuilt, but only if we are not upgrading + # also pass if we are -9999 since who knows what hwdb related changes there might be + if [[ ${rvres} == doit* ]] && [[ -z ${ROOT} ]] && [[ ${PV} != "9999" ]]; then + udevadm control --reload + fi + fi + + if [[ ${rvres} != doitnew ]]; then + ewarn + ewarn "You need to restart eudev as soon as possible to make the" + ewarn "upgrade go into effect:" + ewarn "\t/etc/init.d/udev --nodeps restart" + fi + + if use rule-generator && \ + [[ -x $(type -P rc-update) ]] && rc-update show | grep udev-postmount | grep -qsv 'boot\|default\|sysinit'; then + ewarn + ewarn "Please add the udev-postmount init script to your default runlevel" + ewarn "to ensure the legacy rule-generator functionality works as reliably" + ewarn "as possible." + ewarn "\trc-update add udev-postmount default" + fi + + elog + elog "For more information on eudev on Gentoo, writing udev rules, and" + elog "fixing known issues visit: https://wiki.gentoo.org/wiki/Eudev" +} diff --git a/sys-fs/eudev/eudev-9999.ebuild b/sys-fs/eudev/eudev-9999.ebuild index a4edb4657be..d286cedd7a1 100644 --- a/sys-fs/eudev/eudev-9999.ebuild +++ b/sys-fs/eudev/eudev-9999.ebuild @@ -1,32 +1,36 @@ # Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 KV_MIN=2.6.39 -inherit autotools linux-info multilib-minimal toolchain-funcs +inherit linux-info multilib-minimal toolchain-funcs udev if [[ ${PV} = 9999* ]]; then EGIT_REPO_URI="https://github.com/eudev-project/eudev.git" - inherit git-r3 + inherit autotools git-r3 else - SRC_URI="https://github.com/eudev-project/eudev/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + MY_PV=${PV/_pre/-pre} + SRC_URI="https://github.com/eudev-project/eudev/releases/download/v${MY_PV}/${PN}-${MY_PV}.tar.gz" + S="${WORKDIR}"/${PN}-${MY_PV} + + if [[ ${PV} != *_pre* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + fi fi DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)" -HOMEPAGE="https://github.com/gentoo/eudev" +HOMEPAGE="https://github.com/eudev-project/eudev" LICENSE="LGPL-2.1 MIT GPL-2" SLOT="0" -IUSE="+kmod introspection rule-generator selinux static-libs test" +IUSE="+kmod rule-generator selinux static-libs test" RESTRICT="!test? ( test )" DEPEND=">=sys-apps/util-linux-2.20 >=sys-kernel/linux-headers-${KV_MIN} virtual/libcrypt:= - introspection? ( >=dev-libs/gobject-introspection-1.38 ) kmod? ( >=sys-apps/kmod-16 ) selinux? ( >=sys-libs/libselinux-2.1.9 ) !sys-apps/gentoo-systemd-integration @@ -42,8 +46,10 @@ RDEPEND="${DEPEND} BDEPEND="dev-util/gperf virtual/os-headers virtual/pkgconfig - >=sys-devel/make-3.82-r4 - test? ( app-text/tree dev-lang/perl )" + test? ( + app-text/tree + dev-lang/perl + )" PDEPEND=">=sys-fs/udev-init-scripts-26" MULTILIB_WRAPPED_HEADERS=( @@ -52,7 +58,7 @@ MULTILIB_WRAPPED_HEADERS=( pkg_pretend() { ewarn - ewarn "As of 2013-01-29, ${P} provides the new interface renaming functionality," + ewarn "As of 2013-01-29, ${PN} provides the new interface renaming functionality," ewarn "as described in the URL below:" ewarn "https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames" ewarn @@ -79,12 +85,15 @@ pkg_setup() { } src_prepare() { - # change rules back to group uucp instead of dialout for now + default + + # Change rules back to group uucp instead of dialout for now sed -e 's/GROUP="dialout"/GROUP="uucp"/' -i rules/*.rules \ || die "failed to change group dialout to uucp" - default - eautoreconf + if [[ ${PV} == 9999* ]] ; then + eautoreconf + fi } multilib_src_configure() { @@ -93,14 +102,13 @@ multilib_src_configure() { # bug #502950 export cc_cv_CFLAGS__flto=no - # Keep sorted by ./configure --help and only pass --disable flags - # when *required* to avoid external deps or unnecessary compile - local econf_args - econf_args=( + local myeconfargs=( ac_cv_search_cap_init= ac_cv_header_sys_capability_h=yes + DBUS_CFLAGS=' ' DBUS_LIBS=' ' + --with-rootprefix= --with-rootrundir=/run --exec-prefix="${EPREFIX}" @@ -114,19 +122,17 @@ multilib_src_configure() { # Only build libudev for non-native_abi, and only install it to libdir, # that means all options only apply to native_abi - if multilib_is_native_abi; then - econf_args+=( + if multilib_is_native_abi ; then + myeconfargs+=( --with-rootlibdir="${EPREFIX}"/$(get_libdir) - $(use_enable introspection) $(use_enable kmod) $(use_enable static-libs static) $(use_enable selinux) $(use_enable rule-generator) ) else - econf_args+=( + myeconfargs+=( --disable-static - --disable-introspection --disable-kmod --disable-selinux --disable-rule-generator @@ -134,11 +140,11 @@ multilib_src_configure() { ) fi - ECONF_SOURCE="${S}" econf "${econf_args[@]}" + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" } multilib_src_compile() { - if multilib_is_native_abi; then + if multilib_is_native_abi ; then emake else emake -C src/shared @@ -147,22 +153,21 @@ multilib_src_compile() { } multilib_src_test() { - # make sandbox get out of the way - # these are safe because there is a fake root filesystem put in place, + # Make sandbox get out of the way. + # These are safe because there is a fake root filesystem put in place, # but sandbox seems to evaluate the paths of the test i/o instead of the - # paths of the actual i/o that results. - # also only test for native abi - if multilib_is_native_abi; then + # paths of the actual i/o that results. Also only test for native abi + if multilib_is_native_abi ; then addread /sys addwrite /dev addwrite /run - default_src_test + default fi } multilib_src_install() { - if multilib_is_native_abi; then + if multilib_is_native_abi ; then emake DESTDIR="${D}" install else emake -C src/libudev DESTDIR="${D}" install @@ -178,7 +183,13 @@ multilib_src_install_all() { use rule-generator && doinitd "${FILESDIR}"/udev-postmount } +pkg_postrm() { + udev_reload +} + pkg_postinst() { + udev_reload + mkdir -p "${EROOT}"/run # "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766 diff --git a/sys-fs/extundelete/extundelete-0.2.4-r1.ebuild b/sys-fs/extundelete/extundelete-0.2.4-r1.ebuild deleted file mode 100644 index 88a235cf4f4..00000000000 --- a/sys-fs/extundelete/extundelete-0.2.4-r1.ebuild +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -DESCRIPTION="A utility to undelete files from an ext3 or ext4 partition" -HOMEPAGE="https://extundelete.sourceforge.net/" -SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 ~arm ~sparc x86" - -RDEPEND="sys-fs/e2fsprogs" -DEPEND=${RDEPEND} - -PATCHES=( "${FILESDIR}/${P}-e2fsprogs.patch" ) diff --git a/sys-fs/extundelete/extundelete-0.2.4-r2.ebuild b/sys-fs/extundelete/extundelete-0.2.4-r2.ebuild index dd0d828f64b..0902cb8474e 100644 --- a/sys-fs/extundelete/extundelete-0.2.4-r2.ebuild +++ b/sys-fs/extundelete/extundelete-0.2.4-r2.ebuild @@ -9,7 +9,7 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~arm ~riscv ~sparc ~x86" +KEYWORDS="amd64 ~arm ~riscv ~sparc x86" RDEPEND="sys-fs/e2fsprogs" DEPEND="${RDEPEND}" diff --git a/sys-fs/f2fs-tools/Manifest b/sys-fs/f2fs-tools/Manifest index b5c7b55ff87..c14b471509d 100644 --- a/sys-fs/f2fs-tools/Manifest +++ b/sys-fs/f2fs-tools/Manifest @@ -1 +1,2 @@ DIST f2fs-tools-1.14.0.tar.gz 371225 BLAKE2B 4b015e751ca7a8df8769de7a49afa1351717581d09973537d80780ff83f64db9a6fbf454a9a85d8acb761a8d00443a94d09d83cfaba9e5203c0fd656a96d505a SHA512 951b74178f99722550e73f331be066f124f6ee6022710f6b47ae47390b978b08f12a7f2a268d82ca69a32bf440cd3ce3adddc8a4c49c32df83da87e7f659f98d +DIST f2fs-tools-1.15.0.tar.gz 387663 BLAKE2B 1e55f87c839cee6431d9a83e9786201e9b6b872be27c8b92854b30b0fd1c651a9b7235ce93e70c530bfa7a4e9f4dfd309c72702b3338a4aa96e365b29424fb1d SHA512 61e40f16296091b55cec2dbdc6306af6abc2d3f854f39ef03a741b7f6f47348f915498375789f017f8da27fa7d27c79c905dd047693518adde503ea7ebf89387 diff --git a/sys-fs/f2fs-tools/f2fs-tools-1.15.0.ebuild b/sys-fs/f2fs-tools/f2fs-tools-1.15.0.ebuild new file mode 100644 index 00000000000..73df073760f --- /dev/null +++ b/sys-fs/f2fs-tools/f2fs-tools-1.15.0.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Tools for Flash-Friendly File System (F2FS)" +HOMEPAGE="https://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git/about/" +SRC_URI="https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/${PN}.git/snapshot/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0/9" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv x86" +IUSE="selinux" + +RDEPEND=" + selinux? ( sys-libs/libselinux ) + elibc_musl? ( sys-libs/queue-standalone )" +DEPEND="${RDEPEND}" + +src_prepare() { + default + eautoreconf +} + +src_configure() { + #This is required to install to /sbin, bug #481110 + econf \ + --bindir="${EPREFIX}"/sbin \ + --disable-static \ + $(use_with selinux) +} + +src_install() { + default + find "${D}" -name "*.la" -delete || die +} diff --git a/sys-fs/fuse-common/metadata.xml b/sys-fs/fuse-common/metadata.xml index ec0d3b0161b..75bf17e38d9 100644 --- a/sys-fs/fuse-common/metadata.xml +++ b/sys-fs/fuse-common/metadata.xml @@ -1,10 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>bman@gentoo.org</email> - <name>Aaron Bauman</name> - </maintainer> <maintainer type="project"> <email>base-system@gentoo.org</email> </maintainer> diff --git a/sys-fs/fuse-overlayfs/Manifest b/sys-fs/fuse-overlayfs/Manifest index 94be25574cd..c3e424e6396 100644 --- a/sys-fs/fuse-overlayfs/Manifest +++ b/sys-fs/fuse-overlayfs/Manifest @@ -2,3 +2,4 @@ DIST fuse-overlayfs-1.7.1.tar.gz 103575 BLAKE2B 1fc92852f3afdead707af8745db03e2f DIST fuse-overlayfs-1.8.1.tar.gz 103753 BLAKE2B 42ac0b75b563cee9457721dfebe03355d930e074f44cda43d071e853df2d2192266f6b2901c4faa333414de45fb1b95e245a42ae15c52714e311a1aad98deeb6 SHA512 7a63f1f129c100615676bccdb0f7fd83c4e9901786064d98fa3776dd64dbb61c38913f8d0eff428a601cb44b1bfd3261ded5ec5e471b889c7cd28f81a859d8ad DIST fuse-overlayfs-1.8.2.tar.gz 103892 BLAKE2B 18473c9703d12befbd68b5c1374fd18233dca3663dc0c6346e0a0c2f6f8928a57e8c04cf151196db3d6404ca8816e5ef2826a989c86d3ec7171344a73cec189f SHA512 637fbde0e9481b31491fa7fbdce9315e3832e9de076668dddfeba407a0dd9ceb2072723348eb2a47586756da8a8242a040bc20dbb5e1ac3be3ffa795daf22b95 DIST fuse-overlayfs-1.8.tar.gz 103726 BLAKE2B 12da116bba60c5833b43d130b24ba6a60fcaabe1248226fa30e8c0b2c2439a438c66b39d28a8d3dd0f65bf353c38811e87f23a2fdbd830982063a7b5df7b4808 SHA512 68a7b6a41fd2c44fbfb194d324cc6869d7f6ce198f7ff3ddf74e91f9679785ffa610634a6e35c2661549e0bb776bf68741be45501d860b1e8dd6814d2b3fb0ab +DIST fuse-overlayfs-1.9.tar.gz 104063 BLAKE2B f18703e32644ccbd1b47e9120b13a8efe1227ca8c142dbe90ff174e33937a2882ba354a837f874b5cd7bf28d1de7bb5039b86b6123288bde1ffc570a68500fb6 SHA512 16f4feb8426c0d6f78082065a2c1c6afb96e4fc665e40e79e2b2692b0b21e77998a2195cf2cd81f505d0167318ed843f55be4eb16956aadaeab56f47ccbddc0b diff --git a/sys-fs/fuse-overlayfs/fuse-overlayfs-1.9.ebuild b/sys-fs/fuse-overlayfs/fuse-overlayfs-1.9.ebuild new file mode 100644 index 00000000000..ea15a96bde4 --- /dev/null +++ b/sys-fs/fuse-overlayfs/fuse-overlayfs-1.9.ebuild @@ -0,0 +1,26 @@ +# Copyright 2019-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools + +DESCRIPTION="FUSE implementation for overlayfs" +HOMEPAGE="https://github.com/containers/fuse-overlayfs" +EGIT_COMMIT="v${PV}" +SRC_URI="https://github.com/containers/fuse-overlayfs/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" + +RDEPEND=">=sys-fs/fuse-3:=" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +S="${WORKDIR}/${PN}-${EGIT_COMMIT#v}" + +src_prepare() { + default + eautoreconf +} diff --git a/sys-fs/fuse/fuse-2.9.9-r1.ebuild b/sys-fs/fuse/fuse-2.9.9-r1.ebuild index 4d6a5352e73..a171192a0d6 100644 --- a/sys-fs/fuse/fuse-2.9.9-r1.ebuild +++ b/sys-fs/fuse/fuse-2.9.9-r1.ebuild @@ -47,9 +47,9 @@ src_prepare() { src_configure() { # lto not supported yet -- https://github.com/libfuse/libfuse/issues/198 - # gcc-9 with -flto leads to link failures: #663518, + # gcc-9 with -flto leads to link failures: #663518 (see also #863899) # https://gcc.gnu.org/PR91186 - filter-flags -flto* + filter-lto econf \ INIT_D_PATH="${EPREFIX}/etc/init.d" \ diff --git a/sys-fs/fuse/fuse-2.9.9-r2.ebuild b/sys-fs/fuse/fuse-2.9.9-r2.ebuild new file mode 100644 index 00000000000..1412603dbd8 --- /dev/null +++ b/sys-fs/fuse/fuse-2.9.9-r2.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools flag-o-matic linux-info udev + +DESCRIPTION="An interface for filesystems implemented in userspace" +HOMEPAGE="https://github.com/libfuse/libfuse" +SRC_URI="https://github.com/libfuse/libfuse/releases/download/${P}/${P}.tar.gz" +# For bug #809920 to avoid a gettext dependency +# extracted from sys-devel/gettext-0.21-r1 +SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/iconv.m4.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" +IUSE="examples static-libs" + +BDEPEND="virtual/pkgconfig" +RDEPEND=">=sys-fs/fuse-common-3.3.0-r1" + +PATCHES=( + "${FILESDIR}"/${PN}-2.9.3-kernel-types.patch + "${FILESDIR}"/${PN}-2.9.9-avoid-calling-umount.patch + "${FILESDIR}"/${PN}-2.9.9-closefrom-glibc-2-34.patch +) + +pkg_setup() { + if use kernel_linux ; then + if kernel_is lt 2 6 9 ; then + die "Your kernel is too old." + fi + CONFIG_CHECK="~FUSE_FS" + WARNING_FUSE_FS="You need to have FUSE module built to use user-mode utils" + linux-info_pkg_setup + fi +} + +src_prepare() { + default + + # Can be dropped along with additional SRC_URI if dropping eautoreconf + cp "${WORKDIR}"/iconv.m4 m4/ || die + eautoreconf +} + +src_configure() { + # lto not supported yet -- https://github.com/libfuse/libfuse/issues/198 + # gcc-9 with -flto leads to link failures: #663518 (see also #863899) + # https://gcc.gnu.org/PR91186 + filter-lto + # ... and strict aliasing warnings, bug #863899 + append-flags -fno-strict-aliasing + + econf \ + INIT_D_PATH="${EPREFIX}/etc/init.d" \ + MOUNT_FUSE_PATH="${EPREFIX}/sbin" \ + UDEV_RULES_PATH="${EPREFIX}/$(get_udevdir)/rules.d" \ + $(use_enable static-libs static) \ + --disable-example +} + +src_install() { + local DOCS=( AUTHORS ChangeLog README.md README.NFS NEWS doc/how-fuse-works doc/kernel.txt ) + default + + if use examples ; then + docinto examples + dodoc example/* + fi + + find "${ED}" -name '*.la' -delete || die + + # installed via fuse-common + rm -r "${ED}"/{etc,$(get_udevdir)} || die + + # handled by the device manager + rm -r "${D}"/dev || die +} diff --git a/sys-fs/fuse/fuse-3.11.0.ebuild b/sys-fs/fuse/fuse-3.11.0.ebuild index cd8c88e8077..421c4015187 100644 --- a/sys-fs/fuse/fuse-3.11.0.ebuild +++ b/sys-fs/fuse/fuse-3.11.0.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://github.com/libfuse/libfuse/releases/download/${P}/${P}.tar.xz" LICENSE="GPL-2 LGPL-2.1" SLOT="3" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" IUSE="+suid test" RESTRICT="!test? ( test )" diff --git a/sys-fs/genext2fs/files/backport-pr-32.patch b/sys-fs/genext2fs/files/backport-pr-32.patch new file mode 100644 index 00000000000..92c67e02031 --- /dev/null +++ b/sys-fs/genext2fs/files/backport-pr-32.patch @@ -0,0 +1,94 @@ +From 9651f5df1c95cdfee3d8f5f3f989fe326547f5d0 Mon Sep 17 00:00:00 2001 +From: matoro <matoro@users.noreply.github.com> +Date: Mon, 16 May 2022 21:54:21 -0400 +Subject: [PATCH 1/2] Fix alignment issues for strict architectures + +Fixes two locations where unaligned accesses will cause bus errors on +architectures that are strict about such accesses, namely sparc. + +The first is in swab32_into, which is called with an offset of +1 into +an unsigned char array from mklink_fs. + +The second is in add2fs_from_tarball when checking the validity of a +tarball, which casts a string from an unaligned position inside a struct +to a long. + +After these changes, the test suite passes on sparc. +--- + genext2fs.c | 15 +++++++++------ + 1 file changed, 9 insertions(+), 6 deletions(-) + +diff --git a/genext2fs.c b/genext2fs.c +index 96bbb43..404f31e 100644 +--- a/genext2fs.c ++++ b/genext2fs.c +@@ -2058,11 +2058,14 @@ mkdir_fs(filesystem *fs, uint32 parent_nod, const char *name, uint32 mode, + + // byte swapping for symlinks + static inline void +-swab32_into(uint32 *dst, uint32 *src, size_t n) ++swab32_into(uint32 *dst, uint8 *src, size_t n) + { + size_t i; +- for(i = 0; i < n; i++) +- dst[i] = swab32(src[i]); ++ for(i = 0; i < n; i++) { ++ uint32 tmp_buf; ++ memcpy(&tmp_buf, src + i * sizeof(uint32) / sizeof(uint8), sizeof(uint32) / sizeof(uint8)); ++ dst[i] = swab32(tmp_buf); ++ } + } + + // make a symlink +@@ -2079,7 +2082,7 @@ mklink_fs(filesystem *fs, uint32 parent_nod, const char *name, size_t size, uint + + if (size < 4 * (EXT2_TIND_BLOCK + 1)) + if (fs->swapit) +- swab32_into(node->i_block, (uint32 *)b, EXT2_TIND_BLOCK + 1); ++ swab32_into(node->i_block, b, EXT2_TIND_BLOCK + 1); + else + memcpy(node->i_block, b, 4 * (EXT2_TIND_BLOCK + 1)); + else +@@ -2290,7 +2293,7 @@ add2fs_from_tarball(filesystem *fs, uint32 this_nod, FILE * fh, int squash_uids, + continue; + } else + nbnull = 0; +- if (*(long *)tarhead->ustar != *(long *)"ustar\00000" && strcmp(tarhead->ustar, "ustar ")) ++ if (memcmp(tarhead->ustar, "ustar\00000", sizeof(long)) && strcmp(tarhead->ustar, "ustar ")) + error_msg_and_die("not a tarball"); + signed_checksum = unsigned_checksum = 0; + checksum = OCTAL_READ(tarhead->checksum); +@@ -3351,7 +3354,7 @@ print_link(filesystem *fs, uint32 nod) + uint32 *buf = malloc(4 * (EXT2_TIND_BLOCK + 1)); + if (buf == NULL) + error_msg_and_die(memory_exhausted); +- swab32_into(buf, node->i_block, EXT2_TIND_BLOCK + 1); ++ swab32_into(buf, (uint8*)node->i_block, EXT2_TIND_BLOCK + 1); + printf("links to '%s'\n", (char*) buf); + free(buf); + } else { + +From 4a99c22603fb01ca8d6c6c4cb9873f50124ac025 Mon Sep 17 00:00:00 2001 +From: matoro <matoro@users.noreply.github.com> +Date: Wed, 18 May 2022 11:46:44 -0400 +Subject: [PATCH 2/2] Hardcode length of hardcoded char array instead of + sizeof(long) + +sizeof(long) != 8 on 32-bit. +--- + genext2fs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/genext2fs.c b/genext2fs.c +index 404f31e..e8c71ff 100644 +--- a/genext2fs.c ++++ b/genext2fs.c +@@ -2293,7 +2293,7 @@ add2fs_from_tarball(filesystem *fs, uint32 this_nod, FILE * fh, int squash_uids, + continue; + } else + nbnull = 0; +- if (memcmp(tarhead->ustar, "ustar\00000", sizeof(long)) && strcmp(tarhead->ustar, "ustar ")) ++ if (memcmp(tarhead->ustar, "ustar\00000", 8) && strcmp(tarhead->ustar, "ustar ")) + error_msg_and_die("not a tarball"); + signed_checksum = unsigned_checksum = 0; + checksum = OCTAL_READ(tarhead->checksum); diff --git a/sys-fs/genext2fs/genext2fs-1.5.0-r1.ebuild b/sys-fs/genext2fs/genext2fs-1.5.0-r1.ebuild new file mode 100644 index 00000000000..730550a3a7a --- /dev/null +++ b/sys-fs/genext2fs/genext2fs-1.5.0-r1.ebuild @@ -0,0 +1,21 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="generate ext2 file systems" +HOMEPAGE="https://github.com/bestouff/genext2fs" +SRC_URI="https://github.com/bestouff/genext2fs/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~mips ppc ~ppc64 sparc x86" + +PATCHES=( "${FILESDIR}/backport-pr-32.patch" ) + +src_prepare() { + default + eautoreconf +} diff --git a/sys-fs/google-drive-ocamlfuse/Manifest b/sys-fs/google-drive-ocamlfuse/Manifest new file mode 100644 index 00000000000..4177ad68e22 --- /dev/null +++ b/sys-fs/google-drive-ocamlfuse/Manifest @@ -0,0 +1 @@ +DIST google-drive-ocamlfuse-0.7.29.gh.tar.gz 98832 BLAKE2B 7a959047abacc65379c2da0f590c6dba613cb7708dd56a7e029409d8791d76e6a0a164eea113b21a84b07bf522879401833431482f18d97865364eaee03dcb3b SHA512 562bca2e9019a999886052eb4b7f6554706c25be69670148c1938d3b30d742b03eafb6fba430c4762ba44713e291ec3b0cddabc1baaa6491740ddd3e77655fe9 diff --git a/sys-fs/google-drive-ocamlfuse/google-drive-ocamlfuse-0.7.29.ebuild b/sys-fs/google-drive-ocamlfuse/google-drive-ocamlfuse-0.7.29.ebuild new file mode 100644 index 00000000000..540886355a6 --- /dev/null +++ b/sys-fs/google-drive-ocamlfuse/google-drive-ocamlfuse-0.7.29.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit dune findlib + +DESCRIPTION="FUSE filesystem over Google Drive" +HOMEPAGE=" + https://github.com/astrada/google-drive-ocamlfuse + https://opam.ocaml.org/packages/google-drive-ocamlfuse/ +" +SRC_URI="https://github.com/astrada/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz" + +LICENSE="MIT" +SLOT="0/${PV}" +KEYWORDS="~amd64" +IUSE="ocamlopt test" + +RDEPEND=" + >=dev-ml/gapi-ocaml-0.4.2:= + >=dev-ml/ocamlfuse-2.7.1:= + dev-ml/cryptokit:= + dev-ml/extlib:= + dev-ml/ocaml-sqlite3:= + >=dev-ml/tiny_httpd-0.6:= +" +DEPEND=" + ${RDEPEND} + dev-ml/camlidl:= + test? ( dev-ml/ounit2 ) +" + +RESTRICT="!test? ( test )" diff --git a/sys-fs/google-drive-ocamlfuse/metadata.xml b/sys-fs/google-drive-ocamlfuse/metadata.xml new file mode 100644 index 00000000000..f3bfd6d0e89 --- /dev/null +++ b/sys-fs/google-drive-ocamlfuse/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>ml@gentoo.org</email> + <name>ML</name> + </maintainer> + <upstream> + <bugs-to>https://github.com/astrada/google-drive-ocamlfuse/issues</bugs-to> + <remote-id type="github">astrada/google-drive-ocamlfuse</remote-id> + <maintainer> + <name>Alessandro Strada</name> + <email>alessandro.strada@gmail.com</email> + </maintainer> + </upstream> +</pkgmetadata> diff --git a/sys-fs/growpart/growpart-0.0.32.ebuild b/sys-fs/growpart/growpart-0.0.32-r1.ebuild index bc8e3069db4..a2d6df9f568 100644 --- a/sys-fs/growpart/growpart-0.0.32.ebuild +++ b/sys-fs/growpart/growpart-0.0.32-r1.ebuild @@ -1,7 +1,7 @@ # Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=8 DESCRIPTION="A script that can grow your rootfs on first boot" HOMEPAGE="http://manpages.ubuntu.com/manpages/natty/man1/growpart.1.html" @@ -11,9 +11,7 @@ S="${WORKDIR}" LICENSE="GPL-3" SLOT="0" KEYWORDS="amd64 arm64 ppc64 ~riscv x86" -IUSE="" -DEPEND="" RDEPEND="sys-apps/gptfdisk" src_install() { diff --git a/sys-fs/inotify-tools/Manifest b/sys-fs/inotify-tools/Manifest index 55c4240f8e1..f30e8b03f64 100644 --- a/sys-fs/inotify-tools/Manifest +++ b/sys-fs/inotify-tools/Manifest @@ -1,3 +1 @@ -DIST inotify-tools-3.20.2.2.tar.gz 81006 BLAKE2B 7dd29985f68096fe2146a3ad84d619b3d1238b0db25eeb125f2fe9591fa678078351f00c7e09b526cf2251e4736201d5625ff0e477523cae370a307ccb667730 SHA512 72d6fdcc216d8083cd384c71c02dc8e800d3a9702613568b3c571f704aee3d42bf084c52f2141c9afb8d28e8b87ebb6391ed3d825b3d664ed51c552debeb1881 -DIST inotify-tools-3.21.9.6.tar.gz 91668 BLAKE2B cfb279d69e650b275af03052f4f76522670b7a563aa4e81bd5883b3ff825ecb70382cd4a5d48a9eb50b59930685a60b59a17376958d111d129c61fbced47a6bb SHA512 206eeebfd948499d81e6666b153cd7d9b05df618291fd3ada6479251b0773ce629c19f73117442a9093f028e294c5ba2dfa0aa4cf711510284ab7cad657da21c -DIST inotify-tools-3.22.1.0.tar.gz 92922 BLAKE2B 42558ca62f79e2bdf5a6071334a05cee826ec00b0666b1c0971af64d769eb7852cbcd8d6e630f88af68f26f5607ca4ef94ec832fbe2e89d42182120aac4896ce SHA512 53317147af4803b69603839c010a2b0b3fa527f0e32b08126f24805600728c0a9570b2a3d94bf987f0b9a4bfbe7207b5faa9337f0d7add91b062e68de4245548 +DIST inotify-tools-3.22.6.0.tar.gz 92918 BLAKE2B 601d3ac6896e445d297a04498c63df4f81c59699ba2d5b2eee2e8c499332913ce2783d13c9906d577ff0b6d7ef91ca826d48b01674adeb3d3569dfc1fbc0df63 SHA512 cda445add4b9d80b70eff9189ed50d05f4b5593a755159d0354431166c6fe6fdb33f7bf37fd50bc09aad3ed0a6e3763b9c74f65e554400f2596b8d492f1d0a21 diff --git a/sys-fs/inotify-tools/files/inotify-tools-3.22.6.0-musl.patch b/sys-fs/inotify-tools/files/inotify-tools-3.22.6.0-musl.patch new file mode 100644 index 00000000000..435adc2e797 --- /dev/null +++ b/sys-fs/inotify-tools/files/inotify-tools-3.22.6.0-musl.patch @@ -0,0 +1,26 @@ +Former fix[1] for musl that got reverted[2] for possibly(?) wrong +reasons[3]. Should be harmless to include here until sorted out. +https://bugs.gentoo.org/831976 + +[1] https://github.com/inotify-tools/inotify-tools/commit/b7889c8d +[2] https://github.com/inotify-tools/inotify-tools/commit/cbab7c0b +[3] https://github.com/inotify-tools/inotify-tools/issues/155 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 3 Jan 2022 04:42:50 -0800 +Subject: [PATCH] libinotifytools: Bridge differences between musl/glibc/kernel + fnotify.h (#154) +--- a/libinotifytools/src/inotifytools.c ++++ b/libinotifytools/src/inotifytools.c +@@ -54,6 +54,12 @@ struct fanotify_event_fid { + struct fanotify_event_info_fid info; + struct file_handle handle; + }; ++ ++#ifndef __GLIBC__ ++#define val __val ++#define __kernel_fsid_t fsid_t ++#endif ++ + #endif + + /** diff --git a/sys-fs/inotify-tools/inotify-tools-3.20.2.2.ebuild b/sys-fs/inotify-tools/inotify-tools-3.20.2.2.ebuild deleted file mode 100644 index 22720914efb..00000000000 --- a/sys-fs/inotify-tools/inotify-tools-3.20.2.2.ebuild +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools - -DESCRIPTION="a set of command-line programs providing a simple interface to inotify" -HOMEPAGE="https://github.com/inotify-tools/inotify-tools" -SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~hppa ~mips sparc x86" -IUSE="doc" - -BDEPEND="doc? ( app-doc/doxygen )" - -src_prepare() { - default - - # Remove -Werror from CFLAGS (#745069) - find -name "Makefile.am" -print0 \ - | xargs --null sed 's@ -Werror@@' -i || die - - eautoreconf -} - -src_configure() { - # only docs installed are doxygen ones, so use /html - local myeconfargs=( - --docdir='$(datarootdir)'/doc/${PF}/html - $(use_enable doc doxygen) - ) - econf "${myeconfargs[@]}" -} - -src_install() { - default - find "${ED}" \( -name '*.a*' -o -name '*.la' \) -delete || die -} diff --git a/sys-fs/inotify-tools/inotify-tools-3.21.9.6.ebuild b/sys-fs/inotify-tools/inotify-tools-3.21.9.6.ebuild deleted file mode 100644 index 2d25f84ae71..00000000000 --- a/sys-fs/inotify-tools/inotify-tools-3.21.9.6.ebuild +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools - -DESCRIPTION="a set of command-line programs providing a simple interface to inotify" -HOMEPAGE="https://github.com/inotify-tools/inotify-tools" -SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips ~riscv ~sparc ~x86" -IUSE="doc" - -BDEPEND="doc? ( app-doc/doxygen )" - -src_prepare() { - default - - # Remove -Werror from CFLAGS (#745069) - find -name "Makefile.am" -print0 \ - | xargs --null sed 's@ -Werror@@' -i || die - - eautoreconf -} - -src_configure() { - # only docs installed are doxygen ones, so use /html - local myeconfargs=( - --disable-static - --docdir='$(datarootdir)'/doc/${PF}/html - $(use_enable doc doxygen) - ) - econf "${myeconfargs[@]}" -} - -src_install() { - default - find "${ED}" -type f -name '*.la' -delete || die -} diff --git a/sys-fs/inotify-tools/inotify-tools-3.22.1.0.ebuild b/sys-fs/inotify-tools/inotify-tools-3.22.1.0.ebuild deleted file mode 100644 index 2d25f84ae71..00000000000 --- a/sys-fs/inotify-tools/inotify-tools-3.22.1.0.ebuild +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools - -DESCRIPTION="a set of command-line programs providing a simple interface to inotify" -HOMEPAGE="https://github.com/inotify-tools/inotify-tools" -SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips ~riscv ~sparc ~x86" -IUSE="doc" - -BDEPEND="doc? ( app-doc/doxygen )" - -src_prepare() { - default - - # Remove -Werror from CFLAGS (#745069) - find -name "Makefile.am" -print0 \ - | xargs --null sed 's@ -Werror@@' -i || die - - eautoreconf -} - -src_configure() { - # only docs installed are doxygen ones, so use /html - local myeconfargs=( - --disable-static - --docdir='$(datarootdir)'/doc/${PF}/html - $(use_enable doc doxygen) - ) - econf "${myeconfargs[@]}" -} - -src_install() { - default - find "${ED}" -type f -name '*.la' -delete || die -} diff --git a/sys-fs/inotify-tools/inotify-tools-3.22.6.0.ebuild b/sys-fs/inotify-tools/inotify-tools-3.22.6.0.ebuild new file mode 100644 index 00000000000..b1b8a0281b9 --- /dev/null +++ b/sys-fs/inotify-tools/inotify-tools-3.22.6.0.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Set of command-line programs providing a simple interface to inotify" +HOMEPAGE="https://github.com/inotify-tools/inotify-tools/" +SRC_URI="https://github.com/inotify-tools/inotify-tools/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~hppa ~mips ~riscv sparc x86" +IUSE="doc" + +BDEPEND="doc? ( app-doc/doxygen )" + +PATCHES=( + "${FILESDIR}"/${P}-musl.patch +) + +src_prepare() { + default + + sed -i 's/ -Werror//' {,libinotifytools/}src/Makefile.am || die #745069 + + eautoreconf +} + +src_configure() { + local econfargs=( + --docdir="${EPREFIX}"/usr/share/doc/${PF}/html + $(use_enable doc doxygen) + ) + + econf "${econfargs[@]}" +} + +src_install() { + default + + find "${ED}" -type f -name '*.la' -delete || die +} diff --git a/sys-fs/inotify-tools/metadata.xml b/sys-fs/inotify-tools/metadata.xml index 85936347796..5a392e4fedd 100644 --- a/sys-fs/inotify-tools/metadata.xml +++ b/sys-fs/inotify-tools/metadata.xml @@ -2,8 +2,8 @@ <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="person"> - <email>polynomial-c@gentoo.org</email> - <name>Lars Wendler</name> + <email>ionen@gentoo.org</email> + <name>Ionen Wolkens</name> </maintainer> <longdescription> inotify-tools is a set of command-line programs for Linux providing a simple @@ -11,7 +11,6 @@ interface to inotify. These programs can be used to monitor and act upon filesystem events. Requires a Linux kernel supporting inotify. </longdescription> <upstream> - <remote-id type="github">rvoicilas/inotify-tools</remote-id> - <remote-id type="sourceforge">inotify-tools</remote-id> + <remote-id type="github">inotify-tools/inotify-tools</remote-id> </upstream> </pkgmetadata> diff --git a/sys-fs/jfsutils/metadata.xml b/sys-fs/jfsutils/metadata.xml index 0f19441c284..2e031123641 100644 --- a/sys-fs/jfsutils/metadata.xml +++ b/sys-fs/jfsutils/metadata.xml @@ -1,10 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>polynomial-c@gentoo.org</email> - <name>Lars Wendler</name> - </maintainer> + <!-- maintainer-needed --> <longdescription> The jfsutils package contains administration and debugging tools for IBM's journaled file system. diff --git a/sys-fs/libeatmydata/Manifest b/sys-fs/libeatmydata/Manifest index 620220c6f68..4298bb47c86 100644 --- a/sys-fs/libeatmydata/Manifest +++ b/sys-fs/libeatmydata/Manifest @@ -1,2 +1 @@ -DIST libeatmydata-129.tar.gz 358437 BLAKE2B 448cff19629fa1a07443a52ebe16a7bf9a8ac7d0c2688e89555ed6c9c2369695a70ae2abf1b74152b3c305e6bc019e2e9808af6642122cd10a73deb7dfb580f2 SHA512 dbd0ea4df77034ecbb75955394b15aec6f1331205a5c7aa4a6e0595e3e486bbcc81c28a264bf5441c660563f74bfb06630da98373d481a2ebd9e9b1538c109d1 DIST libeatmydata-130.tar.gz 375627 BLAKE2B a1f65050572e8a7fc8345082a12e2831a8fb1e68e1d198ae507752375b2081a79fa6e5e589028104cd9d767d86b4d453c0eac0ad7f366c90d6734f5868f8e0cd SHA512 80edeee1b39e14d10e7d04d7fff63a233119c6e13216e92ec786cc41ecd79eb58937da0e621aaef697490e9fb285f3e1109b786ee6967fa1736bb4879e100f18 diff --git a/sys-fs/libeatmydata/libeatmydata-129-r1.ebuild b/sys-fs/libeatmydata/libeatmydata-129-r1.ebuild deleted file mode 100644 index 24b83a8556c..00000000000 --- a/sys-fs/libeatmydata/libeatmydata-129-r1.ebuild +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit multilib-minimal - -DESCRIPTION="LD_PRELOAD hack to convert sync()/msync() and the like to NO-OP" -HOMEPAGE="https://www.flamingspork.com/projects/libeatmydata/" -SRC_URI="https://github.com/stewartsmith/${PN}/releases/download/v${PV}/${P}.tar.gz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~hppa ~x86" -IUSE="test" -RESTRICT="!test? ( test )" - -DEPEND="test? ( dev-util/strace )" - -ECONF_SOURCE="${S}" - -multilib_src_configure() { - ECONF_SOURCE="${S}" econf --disable-static -} - -multilib_src_test() { - # sandbox fools LD_PRELOAD and libeatmydata does not get control - # feature of sandbox - SANDBOX_ON=0 LD_PRELOAD= emake -k check -} - -multilib_src_install_all() { - find "${D}" -name '*.la' -type f -delete || die - - dodoc AUTHORS README.md -} diff --git a/sys-fs/libeatmydata/libeatmydata-130.ebuild b/sys-fs/libeatmydata/libeatmydata-130.ebuild index 75db11525a1..70deafe4c9f 100644 --- a/sys-fs/libeatmydata/libeatmydata-130.ebuild +++ b/sys-fs/libeatmydata/libeatmydata-130.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://github.com/stewartsmith/${PN}/releases/download/v${PV}/${P}.tar LICENSE="GPL-3" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~x86" +KEYWORDS="amd64 arm arm64 ~hppa ~x86" IUSE="test" RESTRICT="!test? ( test )" diff --git a/sys-fs/loop-aes/Manifest b/sys-fs/loop-aes/Manifest index 529b8e4b6fb..523c94b316b 100644 --- a/sys-fs/loop-aes/Manifest +++ b/sys-fs/loop-aes/Manifest @@ -1,2 +1,2 @@ -DIST loop-AES-v3.7v.tar.bz2 378465 BLAKE2B 01d9c3719242846696c1e199a02a42254c06472abce6cee7ccc3882e456921176f7469e9c61331193dd86ee2fcf0d24972f9012026eadad150a8e6116dd4e275 SHA512 62c0bafd97bc07d78d128ba3bbcf471bf16bd979264ad9180132b83f01a1e8d4f6d9aa874c602a00bc85360abfefe16f72b28b2c73cc2ad863ea2d36eb7bc478 DIST loop-AES-v3.7w.tar.bz2 379844 BLAKE2B 00877a1711afa0a232f6cf0d568fd667fe891393c4cf4602666c68169c71b4a1308806e37ce48f7e5372d5e2416be2f5f1a680302d6ccc795057ccc1d3716f4b SHA512 882653341edba90a4717624382826296d490cd71d4e8843c9f44f606eda0d30a9e685a5310ed3b996b04ab9095d7be6adccff2a16f1c68a2349c052a69fd0a15 +DIST loop-AES-v3.7x.tar.bz2 380098 BLAKE2B 328e9eefcd22875ceb8b64b632032a63f5edac03c1ac6897cd05e0ca5d28b32a03428ba5da92c88361c1c115d28576c21c4d66e840137e203aab75926b5fd0fa SHA512 2d5986e524e11e1c69c4052d9545bd270e1726e0128884a0a942fef4491a90549fac7bf914348f6a8a8a9c3c38b77ebbf4af78a95a5d12d4c1db9d2a2cd04fc2 diff --git a/sys-fs/loop-aes/loop-aes-3.7v.ebuild b/sys-fs/loop-aes/loop-aes-3.7x.ebuild index 3061d50ad0a..5f6b4ed8f39 100644 --- a/sys-fs/loop-aes/loop-aes-3.7v.ebuild +++ b/sys-fs/loop-aes/loop-aes-3.7x.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -18,6 +18,8 @@ IUSE="cpu_flags_x86_aes extra-ciphers keyscrub cpu_flags_x86_padlock" DEPEND="app-crypt/loop-aes-losetup" +PATCHES=( "${FILESDIR}"/loop-aes-3.7w-build-initrd_explicit-losetup.patch ) + S="${WORKDIR}/${MY_P}" pkg_setup() { diff --git a/sys-fs/lvm2/files/lvm2-2.03.14-freopen_n2.patch b/sys-fs/lvm2/files/lvm2-2.03.14-freopen_n2.patch new file mode 100644 index 00000000000..5ca32f19fc5 --- /dev/null +++ b/sys-fs/lvm2/files/lvm2-2.03.14-freopen_n2.patch @@ -0,0 +1,34 @@ +In musl, the standard streams are read-only. To modify them we need to +use freopen. This patch does the same as lvm2-2.03.14-r1-fopen-to-freopen.patch + +https://listman.redhat.com/archives/lvm-devel/2022-June/024203.html + +See also: +https://wiki.gentoo.org/wiki/User:Sam/Musl_porting_notes#error:_assignment_of_read-only_variable_.27.5Bstdout.7Cstdin.7Cstderr.5D.27 +https://www.gnu.org/software/libc/manual/html_node/Standard-Streams.html + +--- + lib/log/log.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/lib/log/log.c b/lib/log/log.c +index 7b4d537..897c183 100644 +--- a/lib/log/log.c ++++ b/lib/log/log.c +@@ -207,8 +207,12 @@ int reopen_standard_stream(FILE **stream, const char *mode) + } + + _check_and_replace_standard_log_streams(old_stream, new_stream); +- ++ ++#ifdef __GLIBC__ + *stream = new_stream; ++#else ++ freopen(NULL, mode, *stream); ++#endif + return 1; + } + +-- +2.35.1 + diff --git a/sys-fs/lvm2/files/lvm2-2.03.14-r1-add-fcntl.patch b/sys-fs/lvm2/files/lvm2-2.03.14-r1-add-fcntl.patch new file mode 100644 index 00000000000..1b5524a6140 --- /dev/null +++ b/sys-fs/lvm2/files/lvm2-2.03.14-r1-add-fcntl.patch @@ -0,0 +1,24 @@ +https://bugs.gentoo.org/712336 +https://bugs.gentoo.org/549506 + +Adds fcntl.h into daemon-server.c to define fcntl and some constants. + +--- + libdaemon/server/daemon-server.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libdaemon/server/daemon-server.c b/libdaemon/server/daemon-server.c +index 88905a7..771b021 100644 +--- a/libdaemon/server/daemon-server.c ++++ b/libdaemon/server/daemon-server.c +@@ -28,6 +28,7 @@ + #include <sys/un.h> + #include <unistd.h> + #include <signal.h> ++#include <fcntl.h> + + #include <syslog.h> /* FIXME. For the global closelog(). */ + +-- +2.35.1 + diff --git a/sys-fs/lvm2/files/lvm2-2.03.14-r1-fopen-to-freopen.patch b/sys-fs/lvm2/files/lvm2-2.03.14-r1-fopen-to-freopen.patch new file mode 100644 index 00000000000..56248e10e5d --- /dev/null +++ b/sys-fs/lvm2/files/lvm2-2.03.14-r1-fopen-to-freopen.patch @@ -0,0 +1,43 @@ +In musl stdout, stdin and stderr are read-only unlike in glibc. +This patch changes std* = fopen(...) to freopen(..., std*). + +See: https://www.gnu.org/software/libc/manual/html_node/Standard-Streams.html and https://wiki.gentoo.org/wiki/User:Sam/Musl_porting_notes + +--- + tools/lvmcmdline.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/tools/lvmcmdline.c b/tools/lvmcmdline.c +index 1e12bed..19da1e5 100644 +--- a/tools/lvmcmdline.c ++++ b/tools/lvmcmdline.c +@@ -3384,7 +3384,7 @@ static int _check_standard_fds(void) + int err = is_valid_fd(STDERR_FILENO); + + if (!is_valid_fd(STDIN_FILENO) && +- !(stdin = fopen(_PATH_DEVNULL, "r"))) { ++ !freopen(_PATH_DEVNULL, "r", stdin)) { + if (err) + perror("stdin stream open"); + else +@@ -3394,7 +3394,7 @@ static int _check_standard_fds(void) + } + + if (!is_valid_fd(STDOUT_FILENO) && +- !(stdout = fopen(_PATH_DEVNULL, "w"))) { ++ !freopen(_PATH_DEVNULL, "w", stdout)) { + if (err) + perror("stdout stream open"); + /* else no stdout */ +@@ -3402,7 +3402,7 @@ static int _check_standard_fds(void) + } + + if (!is_valid_fd(STDERR_FILENO) && +- !(stderr = fopen(_PATH_DEVNULL, "w"))) { ++ !freopen(_PATH_DEVNULL, "w", stderr)) { + printf("stderr stream open: %s\n", + strerror(errno)); + return 0; +-- +2.35.1 + diff --git a/sys-fs/lvm2/files/lvm2-2.03.14-r1-mallinfo.patch b/sys-fs/lvm2/files/lvm2-2.03.14-r1-mallinfo.patch new file mode 100644 index 00000000000..af4cbc0d5aa --- /dev/null +++ b/sys-fs/lvm2/files/lvm2-2.03.14-r1-mallinfo.patch @@ -0,0 +1,18 @@ +https://git.alpinelinux.org/aports/tree/main/lvm2/mallinfo.patch + +Patch from Alpine, disables _allocate_memory since mallinfo isn't defined in musl. +19:17 <@sam_> your caution is well-advised, but it should be safe enough given it's only affecting the non-glibc path + +Should be looked back to! + +--- ./lib/mm/memlock.c.orig 2015-03-09 11:18:41.560028850 -0100 ++++ ./lib/mm/memlock.c 2015-03-09 11:19:54.504373309 -0100 +@@ -137,7 +137,7 @@ + + static void _allocate_memory(void) + { +-#ifndef VALGRIND_POOL ++#if !defined(VALGRIND_POOL) && defined(__GLIBC__) + void *stack_mem; + struct rlimit limit; + int i, area = 0, missing = _size_malloc_tmp, max_areas = 32, hblks; diff --git a/sys-fs/lvm2/lvm2-2.02.188-r2.ebuild b/sys-fs/lvm2/lvm2-2.02.188-r3.ebuild index a3e76755f1d..e6fd683ff14 100644 --- a/sys-fs/lvm2/lvm2-2.02.188-r2.ebuild +++ b/sys-fs/lvm2/lvm2-2.02.188-r3.ebuild @@ -206,11 +206,16 @@ src_compile() { fi } +src_test() { + einfo "Tests are disabled because of device-node mucking, if you want to" + einfo "run tests, compile the package and see ${S}/tests" +} + src_install() { local inst local INSTALL_TARGETS=( install install_tmpfiles_configuration ) # install systemd related files only when requested, bug #522430 - use systemd && INSTALL_TARGETS+=( systemdutildir="$(systemd_get_utildir)" install_systemd_units install_systemd_generators ) + use systemd && INSTALL_TARGETS+=( SYSTEMD_GENERATOR_DIR="$(systemd_get_systemgeneratordir)" install_systemd_units install_systemd_generators ) use device-mapper-only && INSTALL_TARGETS=( install_device-mapper ) emake V=1 DESTDIR="${D}" "${INSTALL_TARGETS[@]}" @@ -266,6 +271,10 @@ pkg_postinst() { tmpfiles_process lvm2.conf fi + if use udev; then + udev_reload + fi + if [[ -z "${REPLACING_VERSIONS}" ]]; then # This is a new installation ewarn "Make sure the \"lvm\" init script is in the runlevels:" @@ -292,7 +301,8 @@ pkg_postinst() { fi } -src_test() { - einfo "Tests are disabled because of device-node mucking, if you want to" - einfo "run tests, compile the package and see ${S}/tests" +pkg_postrm() { + if use udev && [[ -z ${REPLACED_BY_VERSION} ]]; then + udev_reload + fi } diff --git a/sys-fs/lvm2/lvm2-2.03.14-r1.ebuild b/sys-fs/lvm2/lvm2-2.03.14-r3.ebuild index f3bc54eebc3..6af624f3fbc 100644 --- a/sys-fs/lvm2/lvm2-2.03.14-r1.ebuild +++ b/sys-fs/lvm2/lvm2-2.03.14-r3.ebuild @@ -70,6 +70,10 @@ PATCHES=( "${FILESDIR}"/${PN}-2.03.05-dmeventd-no-idle-exit.patch #"${FILESDIR}"/${PN}-2.02.184-allow-reading-metadata-with-invalid-creation_time.patch #682380 # merged upstream "${FILESDIR}"/${PN}-2.02.184-mksh_build.patch #686652 + "${FILESDIR}"/${PN}-2.03.14-r1-add-fcntl.patch + "${FILESDIR}"/${PN}-2.03.14-r1-fopen-to-freopen.patch + "${FILESDIR}"/${PN}-2.03.14-r1-mallinfo.patch + "${FILESDIR}"/${PN}-2.03.14-freopen_n2.patch ) pkg_setup() { @@ -205,11 +209,16 @@ src_compile() { fi } +src_test() { + einfo "Tests are disabled because of device-node mucking, if you want to" + einfo "run tests, compile the package and see ${S}/tests" +} + src_install() { local inst local INSTALL_TARGETS=( install install_tmpfiles_configuration ) # install systemd related files only when requested, bug #522430 - use systemd && INSTALL_TARGETS+=( systemdutildir="$(systemd_get_utildir)" install_systemd_units install_systemd_generators ) + use systemd && INSTALL_TARGETS+=( SYSTEMD_GENERATOR_DIR="$(systemd_get_systemgeneratordir)" install_systemd_units install_systemd_generators ) use device-mapper-only && INSTALL_TARGETS=( install_device-mapper ) emake V=1 DESTDIR="${D}" "${INSTALL_TARGETS[@]}" @@ -264,6 +273,10 @@ pkg_postinst() { tmpfiles_process lvm2.conf fi + if use udev; then + udev_reload + fi + if [[ -z "${REPLACING_VERSIONS}" ]]; then # This is a new installation ewarn "Make sure the \"lvm\" init script is in the runlevels:" @@ -290,7 +303,8 @@ pkg_postinst() { fi } -src_test() { - einfo "Tests are disabled because of device-node mucking, if you want to" - einfo "run tests, compile the package and see ${S}/tests" +pkg_postrm() { + if use udev && [[ -z ${REPLACED_BY_VERSION} ]]; then + udev_reload + fi } diff --git a/sys-fs/lxcfs/Manifest b/sys-fs/lxcfs/Manifest index 5ca764cef5a..be566a9bba4 100644 --- a/sys-fs/lxcfs/Manifest +++ b/sys-fs/lxcfs/Manifest @@ -1,2 +1,5 @@ -DIST lxcfs-4.0.12.tar.gz 461251 BLAKE2B c0d1cc699461eed2e29ddb1937e8f4719be78a8f17c20b9dd682a617bc0423b22b4491399b934aa7f4be8f5ca292ab4c9e97e7bf149700c0c3760c8b3804ae11 SHA512 da8415599bb08e4e15a7e4044edbcad217e4034d96366d508e06cceb2a75d459e24aeb7efd5716e2f41449ec653ecd9916f0d934f738e1df8e9576738cc1ac18 -DIST lxcfs-4.0.12.tar.gz.asc 833 BLAKE2B af8bf08039e7bc1f405c468de0dd628175cef3ea6087c5fa1c0d95f9153df939a84f9a5d9d895fb471c0262616eb88f03532ac789b0c6198ad1349cff9a6c5de SHA512 20f1919ff216f5459e8e387c78b1430b5122e662adec27bdd9c6fd4565645b73ed5bce5e7e843da05d8cfdc17f1a3e964c20c6ad47d4dbd5df68c3f9359fb362 +DIST lxcfs-5.0.0_p20220524.tar.gz 101563 BLAKE2B 2bf282aed5490d160a563ae97fdfbb887366a6ec60ea7f36f5400e4a11330c51ac3096d63c99dd4aa2ebe1a3497102af9df41ebd40e38b3bde6c6dcd4265b336 SHA512 c1183096dd2b74ef859183451b8c909f762e3c56dce0b9384ac163a6b6b3f7a17a63e840742f4cc5ac50b1f25d402583ca6cf31c1617754b35e21c5c991515f4 +DIST lxcfs-5.0.1.tar.gz 103221 BLAKE2B 49cd0be04d358db81046ac78e66e8acaa86ef66e51a869b884cb75e98c0501ee7db1b1e5604ca44f105f04378418e8077738a6d6abf85c48b35dfee2b93131e9 SHA512 edc685914e73b055161b8efe9109aca7bc2b1f1285e06a71b697f97d2e7f4cddf5256519325bf628318b64ae0203f594928d9e772e04988971151c4e46788818 +DIST lxcfs-5.0.1.tar.gz.asc 833 BLAKE2B a280e506f154497af3cc6a61bf458830939c67a6a065da1c0509f44ed07bd58bf80c10b5bfdbb18027ae2f200aaa2e9ca4b76cde070b860c34fb2cca7083e809 SHA512 90b982b61fcc56ac23fcef344014252faba280a8fb7539d28dbe2d36dc433c8de93d2c065d160cb98b42ab4b341d01ff2a379cad12827d8b70885c044e9e9ae8 +DIST lxcfs-5.0.2.tar.gz 103236 BLAKE2B 5fc8dc437e97a79c78320f8d8111746b171b086beb176a6ada30b8c23164ae4e58ad42806bc0ea73bbbb15d94816bd9b3d5500f9e2a306e2458d23fb111bf68f SHA512 df51e7154060dd7efe992eb2bc40c5a52dce8c52063477110ed414ecc3f430f18d5023a29be6866560fc87b060c2158cc1e947f030c509188320d417eb23d407 +DIST lxcfs-5.0.2.tar.gz.asc 833 BLAKE2B a411c6cb4f3382469ea80a974166c98b57ae4b92712bf55507720fc78ec73ef6acbd47f6b3410294b209f77f1f3a17dc4b9fb4dda00bb7323ef32c7185ba4c2e SHA512 f9d54e26d406ebca97c82298361318f13e74fd55285c2b6563ae6c71af63d9b8325ac06b9de8103a95a19c5d965c2d907c313ac151210a162998f8a37ea99676 diff --git a/sys-fs/lxcfs/files/lxcfs-5.0.1-fix-reinitialization-with-fuse3.patch b/sys-fs/lxcfs/files/lxcfs-5.0.1-fix-reinitialization-with-fuse3.patch new file mode 100644 index 00000000000..45450504804 --- /dev/null +++ b/sys-fs/lxcfs/files/lxcfs-5.0.1-fix-reinitialization-with-fuse3.patch @@ -0,0 +1,71 @@ +From 5976d0349c1900e2649b7d2904d98ba6a7278e6b Mon Sep 17 00:00:00 2001 +From: Wolfgang Bumiller <w.bumiller@proxmox.com> +Date: Fri, 29 Jul 2022 09:30:10 +0200 +Subject: [PATCH] fix reinitialization with fuse3 + +With fuse3 `fuse_get_context` returns NULL before fuse was +fully initialized, so we must not access it. + +Futher, we call 'do_reload' for normal initialization as +well, so let's prevent that from re-initializing the +bindings initially and only do this on actual reloads, +otherwise we do it twice on startup. + +Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com> +Fixes #549 +--- + src/bindings.c | 2 +- + src/lxcfs.c | 8 ++++---- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/bindings.c b/src/bindings.c +index 422a6229..fee7ede0 100644 +--- a/src/bindings.c ++++ b/src/bindings.c +@@ -943,5 +943,5 @@ void *lxcfs_fuse_init(struct fuse_conn_info *conn, void *data) + can_use_sys_cpu = true; + #endif + has_versioned_opts = true; +- return fc->private_data; ++ return fc ? fc->private_data : NULL; + } +diff --git a/src/lxcfs.c b/src/lxcfs.c +index d1a3d805..fed896c9 100644 +--- a/src/lxcfs.c ++++ b/src/lxcfs.c +@@ -123,7 +123,7 @@ static int lxcfs_init_library(void) + + /* do_reload - reload the dynamic library. Done under + * lock and when we know the user_count was 0 */ +-static void do_reload(void) ++static void do_reload(bool reinit) + { + int ret; + char lxcfs_lib_path[PATH_MAX]; +@@ -164,7 +164,7 @@ static void do_reload(void) + + good: + /* initialize the library */ +- if (lxcfs_init_library() < 0) { ++ if (reinit && lxcfs_init_library() < 0) { + log_exit("Failed to initialize liblxcfs.so"); + } + +@@ -180,7 +180,7 @@ static void up_users(void) + { + users_lock(); + if (users_count == 0 && need_reload) +- do_reload(); ++ do_reload(true); + users_count++; + users_unlock(); + } +@@ -1362,7 +1362,7 @@ int main(int argc, char *argv[]) + fuse_argv[fuse_argc++] = new_argv[0]; + fuse_argv[fuse_argc] = NULL; + +- do_reload(); ++ do_reload(false); + if (install_signal_handler(SIGUSR1, sigusr1_reload)) { + lxcfs_error("%s - Failed to install SIGUSR1 signal handler", strerror(errno)); + goto out; diff --git a/sys-fs/lxcfs/lxcfs-4.0.12.ebuild b/sys-fs/lxcfs/lxcfs-4.0.12.ebuild deleted file mode 100644 index 62d6d70ca93..00000000000 --- a/sys-fs/lxcfs/lxcfs-4.0.12.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools flag-o-matic systemd verify-sig - -DESCRIPTION="FUSE filesystem for LXC" -HOMEPAGE="https://linuxcontainers.org/lxcfs/introduction/ https://github.com/lxc/lxcfs/" -SRC_URI="https://linuxcontainers.org/downloads/lxcfs/${P}.tar.gz - verify-sig? ( https://linuxcontainers.org/downloads/lxcfs/${P}.tar.gz.asc )" - -LICENSE="Apache-2.0 LGPL-2+" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~riscv ~x86" - -RDEPEND="sys-fs/fuse:3" -DEPEND="${RDEPEND}" -BDEPEND="sys-apps/help2man - verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )" - -# Looks like these won't ever work in a container/chroot environment. #764620 -RESTRICT="test" - -VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc - -src_prepare() { - default - eautoreconf -} - -src_configure() { - # Needed for x86 support, bug #819762 - # May be able to drop when/if ported to meson, but re-test w/ x86 chroot - append-lfs-flags - - # Without the localstatedir the filesystem isn't mounted correctly - # Without with-distro ./configure will fail when cross-compiling - econf --localstatedir=/var --with-distro=gentoo --disable-static -} - -src_test() { - cd tests/ || die - emake -j1 tests - ./main.sh || die "Tests failed" -} - -src_install() { - default - - newconfd "${FILESDIR}"/lxcfs-4.0.0.confd lxcfs - newinitd "${FILESDIR}"/lxcfs-4.0.0.initd lxcfs - - # Provide our own service file (copy of upstream) due to paths being different from upstream, - # #728470 - systemd_newunit "${FILESDIR}"/lxcfs-4.0.0.service lxcfs.service - - find "${ED}" -name '*.la' -delete || die -} diff --git a/sys-fs/lxcfs/lxcfs-5.0.0_p20220524.ebuild b/sys-fs/lxcfs/lxcfs-5.0.0_p20220524.ebuild new file mode 100644 index 00000000000..c9ff5e704ff --- /dev/null +++ b/sys-fs/lxcfs/lxcfs-5.0.0_p20220524.ebuild @@ -0,0 +1,77 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) + +inherit cmake meson python-any-r1 systemd + +MY_COMMIT="18e78f70fa6764be4e4f6fcc6ae8d314da7f3a91" + +DESCRIPTION="FUSE filesystem for LXC" +HOMEPAGE="https://linuxcontainers.org/lxcfs/introduction/ https://github.com/lxc/lxcfs/" +SRC_URI="https://github.com/lxc/lxcfs/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0 LGPL-2+" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~riscv ~x86" +IUSE="doc test" + +DEPEND="sys-fs/fuse:3" +RDEPEND="${DEPEND}" +BDEPEND="${PYTHON_DEPS} + $(python_gen_any_dep ' + dev-python/jinja[${PYTHON_USEDEP}] + ') + doc? ( sys-apps/help2man )" + +# Needs some black magic to work inside container/chroot. +RESTRICT="test" + +S="${WORKDIR}/${PN}-${MY_COMMIT}" + +python_check_deps() { + python_has_version -b "dev-python/jinja[${PYTHON_USEDEP}]" +} + +pkg_setup() { + python-any-r1_pkg_setup +} + +src_prepare() { + default + + # Fix python shebangs for python-exec[-native-symlinks], #851480 + local shebangs=($(grep -rl "#!/usr/bin/env python3" || die)) + python_fix_shebang -q ${shebangs[*]} +} + +src_configure() { + local emesonargs=( + $(meson_use doc docs) + $(meson_use test tests) + + -Dfuse-version=3 + -Dinit-script="" + -Dwith-init-script="" + ) + + meson_src_configure +} + +src_test() { + cd "${BUILD_DIR}"/tests || die "failed to change into tests/ directory." + ./main.sh || die +} + +src_install() { + meson_src_install + + newconfd "${FILESDIR}"/lxcfs-4.0.0.confd lxcfs + newinitd "${FILESDIR}"/lxcfs-4.0.0.initd lxcfs + + # Provide our own service file (copy of upstream) due to paths being different from upstream, + # #728470 + systemd_newunit "${FILESDIR}"/lxcfs-4.0.0.service lxcfs.service +} diff --git a/sys-fs/lxcfs/lxcfs-5.0.1-r1.ebuild b/sys-fs/lxcfs/lxcfs-5.0.1-r1.ebuild new file mode 100644 index 00000000000..1a0187e1c33 --- /dev/null +++ b/sys-fs/lxcfs/lxcfs-5.0.1-r1.ebuild @@ -0,0 +1,79 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) + +inherit cmake meson python-any-r1 systemd verify-sig + +DESCRIPTION="FUSE filesystem for LXC" +HOMEPAGE="https://linuxcontainers.org/lxcfs/introduction/ https://github.com/lxc/lxcfs/" +SRC_URI="https://linuxcontainers.org/downloads/lxcfs/${P}.tar.gz + verify-sig? ( https://linuxcontainers.org/downloads/lxcfs/${P}.tar.gz.asc )" + +LICENSE="Apache-2.0 LGPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" +IUSE="doc test" + +DEPEND="sys-fs/fuse:3" +RDEPEND="${DEPEND}" +BDEPEND="${PYTHON_DEPS} + $(python_gen_any_dep ' + dev-python/jinja[${PYTHON_USEDEP}] + ') + doc? ( sys-apps/help2man ) + verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )" + +# Needs some black magic to work inside container/chroot. +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc + +PATCHES=( "${FILESDIR}"/lxcfs-5.0.1-fix-reinitialization-with-fuse3.patch ) + +python_check_deps() { + python_has_version -b "dev-python/jinja[${PYTHON_USEDEP}]" +} + +pkg_setup() { + python-any-r1_pkg_setup +} + +src_prepare() { + default + + # Fix python shebangs for python-exec[-native-symlinks], #851480 + local shebangs=($(grep -rl "#!/usr/bin/env python3" || die)) + python_fix_shebang -q ${shebangs[*]} +} + +src_configure() { + local emesonargs=( + $(meson_use doc docs) + $(meson_use test tests) + + -Dfuse-version=3 + -Dinit-script="" + -Dwith-init-script="" + ) + + meson_src_configure +} + +src_test() { + cd "${BUILD_DIR}"/tests || die "failed to change into tests/ directory." + ./main.sh || die +} + +src_install() { + meson_src_install + + newconfd "${FILESDIR}"/lxcfs-4.0.0.confd lxcfs + newinitd "${FILESDIR}"/lxcfs-4.0.0.initd lxcfs + + # Provide our own service file (copy of upstream) due to paths being different from upstream, + # #728470 + systemd_newunit "${FILESDIR}"/lxcfs-4.0.0.service lxcfs.service +} diff --git a/sys-fs/lxcfs/lxcfs-5.0.2.ebuild b/sys-fs/lxcfs/lxcfs-5.0.2.ebuild new file mode 100644 index 00000000000..9af4475e980 --- /dev/null +++ b/sys-fs/lxcfs/lxcfs-5.0.2.ebuild @@ -0,0 +1,77 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) + +inherit cmake meson python-any-r1 systemd verify-sig + +DESCRIPTION="FUSE filesystem for LXC" +HOMEPAGE="https://linuxcontainers.org/lxcfs/introduction/ https://github.com/lxc/lxcfs/" +SRC_URI="https://linuxcontainers.org/downloads/lxcfs/${P}.tar.gz + verify-sig? ( https://linuxcontainers.org/downloads/lxcfs/${P}.tar.gz.asc )" + +LICENSE="Apache-2.0 LGPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" +IUSE="doc test" + +DEPEND="sys-fs/fuse:3" +RDEPEND="${DEPEND}" +BDEPEND="${PYTHON_DEPS} + $(python_gen_any_dep ' + dev-python/jinja[${PYTHON_USEDEP}] + ') + doc? ( sys-apps/help2man ) + verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )" + +# Needs some black magic to work inside container/chroot. +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc + +python_check_deps() { + python_has_version -b "dev-python/jinja[${PYTHON_USEDEP}]" +} + +pkg_setup() { + python-any-r1_pkg_setup +} + +src_prepare() { + default + + # Fix python shebangs for python-exec[-native-symlinks], #851480 + local shebangs=($(grep -rl "#!/usr/bin/env python3" || die)) + python_fix_shebang -q ${shebangs[*]} +} + +src_configure() { + local emesonargs=( + $(meson_use doc docs) + $(meson_use test tests) + + -Dfuse-version=3 + -Dinit-script="" + -Dwith-init-script="" + ) + + meson_src_configure +} + +src_test() { + cd "${BUILD_DIR}"/tests || die "failed to change into tests/ directory." + ./main.sh || die +} + +src_install() { + meson_src_install + + newconfd "${FILESDIR}"/lxcfs-4.0.0.confd lxcfs + newinitd "${FILESDIR}"/lxcfs-4.0.0.initd lxcfs + + # Provide our own service file (copy of upstream) due to paths being different from upstream, + # #728470 + systemd_newunit "${FILESDIR}"/lxcfs-4.0.0.service lxcfs.service +} diff --git a/sys-fs/mac-fdisk/files/mac-fdisk-0.1_p18-2tb.patch b/sys-fs/mac-fdisk/files/mac-fdisk-0.1_p18-2tb.patch new file mode 100644 index 00000000000..bb7c4222a4d --- /dev/null +++ b/sys-fs/mac-fdisk/files/mac-fdisk-0.1_p18-2tb.patch @@ -0,0 +1,164 @@ +grobian@gentoo.org + +not sure what big_pt.patch was tested on, but partitioning a 2TB disk +(Blocks=3907029168) won't work, with a daft warning, and no joy + +upgrade size storage to unsigned long long, so we can store these sizes +tested on a PowerMac G5 with a 2TB SATA drive + + +--- mac-fdisk-0.1.orig/io.c 2022-06-01 19:37:08.000000000 +0200 ++++ mac-fdisk-0.1.orig/io.c 2022-06-01 20:32:12.000000000 +0200 +@@ -85,7 +85,7 @@ + // + // Forward declarations + // +-long get_number(int first_char); ++long long get_number(int first_char); + char* get_string(int eos); + #ifndef __linux__ + int DoTestUnitReady(UInt8 targetID); +@@ -201,9 +205,8 @@ + return 0; + } + +- + int +-get_number_argument(char *prompt, long *number, long default_value) ++get_number_argument_long(char *prompt, long long *number, long long default_value) + { + int c; + int result = 0; +@@ -237,14 +241,22 @@ + return result; + } + ++int ++get_number_argument(char *prompt, long *number, long default_value) ++{ ++ long long retval = (long long)default_value; ++ int ret = get_number_argument_long(prompt, &retval, retval); ++ *number = (long)retval; ++ return ret; ++} + +-long ++long long + get_number(int first_char) + { + register int c; + int base; + int digit; +- int ret_value; ++ long long ret_value; + + if (first_char != '0') { + c = first_char; +--- mac-fdisk-0.1.orig/io.h 1997-01-09 23:31:31.000000000 +0100 ++++ mac-fdisk-0.1.orig/io.h 2022-06-01 20:10:20.000000000 +0200 +@@ -57,6 +57,7 @@ + int get_command(char *prompt, int promptBeforeGet, int *command); + long get_multiplier(long divisor); + int get_number_argument(char *prompt, long *number, long default_value); ++int get_number_argument_long(char *prompt, long long *number, long long default_value); + int get_okay(char *prompt, int default_value); + int get_string_argument(char *prompt, char **string, int reprompt); + int getch(); +--- mac-fdisk-0.1.orig/partition_map.c 2022-06-01 19:37:08.000000000 +0200 ++++ mac-fdisk-0.1.orig/partition_map.c 2022-06-01 20:16:26.000000000 +0200 +@@ -90,7 +90,7 @@ + void coerce_block0(partition_map_header *map); + int contains_driver(partition_map *entry); + void combine_entry(partition_map *entry); +-long compute_device_size(int fd); ++unsigned long long compute_device_size(int fd); + DPME* create_data(const char *name, const char *dptype, u32 base, u32 length); + partition_map_header* create_partition_map(char *name); + void delete_entry(partition_map *entry); +@@ -407,7 +407,7 @@ + int fd; + partition_map_header * map; + DPME *data; +- unsigned long number; ++ unsigned long long number; + #ifdef __linux__ + struct stat info; + #endif +@@ -435,13 +435,14 @@ + map->maximum_in_map = -1; + + number = compute_device_size(fd); +- printf("size of 'device' is %u blocks: ", (unsigned int)number); ++ printf("size of 'device' is %llu blocks: ", number); ++ fflush(NULL); + flush_to_newline(0); +- get_number_argument("what should be the size? ", (long *)&number, number); ++ get_number_argument_long("what should be the size? ", (long long *)&number, (long long)number); + if (number < 4) { + number = 4; + } +- printf("new size of 'device' is %u blocks\n", (unsigned int)number); ++ printf("new size of 'device' is %llu blocks\n", number); + map->media_size = number; + + #ifdef __linux__ +@@ -468,7 +469,7 @@ + data->dpme_signature = DPME_SIGNATURE; + data->dpme_map_entries = 1; + data->dpme_pblock_start = 1; +- data->dpme_pblocks = map->media_size - 1; ++ data->dpme_pblocks = (u32)(map->media_size - 1); + strncpy(data->dpme_name, kFreeName, DPISTRLEN); + strncpy(data->dpme_type, kFreeType, DPISTRLEN); + data->dpme_lblock_start = 0; +@@ -506,7 +507,7 @@ + if (p->sbSig != BLOCK0_SIGNATURE) { + p->sbSig = BLOCK0_SIGNATURE; + p->sbBlkSize = 512; +- p->sbBlkCount = map->media_size; ++ p->sbBlkCount = (u32)map->media_size; + p->sbDevType = 0; + p->sbDevId = 0; + p->sbData = 0; +@@ -573,7 +574,7 @@ + } + // if the map will overflow then punt + if (map->maximum_in_map < 0) { +- limit = map->media_size; ++ limit = (int)map->media_size; + } else { + limit = map->maximum_in_map; + } +@@ -661,7 +662,7 @@ + } + + +-long ++unsigned long long + compute_device_size(int fd) + { + #ifdef TEST_COMPUTE +@@ -753,11 +754,7 @@ + free(data); + } + +- // Add a warning just in case... +- if(x > 0x80000000) +- printf("Warning: Large disks may not work with this tool!\n"); +- +- return (unsigned long) x; ++ return x; + } + + +--- mac-fdisk-0.1.orig/partition_map.h 2022-06-01 19:37:08.000000000 +0200 ++++ mac-fdisk-0.1.orig/partition_map.h 2022-06-01 19:37:49.000000000 +0200 +@@ -47,7 +47,7 @@ + int regular_file; + int blocks_in_map; + int maximum_in_map; +- unsigned long media_size; ++ unsigned long long media_size; + }; + typedef struct partition_map_header partition_map_header; + diff --git a/sys-fs/mac-fdisk/files/mac-fdisk-0.1_p18-musl.patch b/sys-fs/mac-fdisk/files/mac-fdisk-0.1_p18-musl.patch new file mode 100644 index 00000000000..e99d6f5941d --- /dev/null +++ b/sys-fs/mac-fdisk/files/mac-fdisk-0.1_p18-musl.patch @@ -0,0 +1,68 @@ +grobian@gentoo.org + +auto-flush on stdio is really a glibc feature AFAICT, so in order for +musl to get prompts (and make the tool more bearable) just flush right +after writing half a line + +--- mac-fdisk-0.1.orig/io.c 2022-06-01 19:37:08.000000000 +0200 ++++ mac-fdisk-0.1.orig/io.c 2022-06-01 20:32:12.000000000 +0200 +@@ -151,7 +151,8 @@ + int c; + + flush_to_newline(0); +- printf(prompt); ++ printf("%s", prompt); ++ fflush(NULL); + + for (;;) { + c = getch(); +@@ -169,7 +170,8 @@ + return 0; + } else { + flush_to_newline(0); +- printf(prompt); ++ printf("%s", prompt); ++ fflush(NULL); + } + } + return -1; +@@ -182,7 +184,8 @@ + int c; + + if (promptBeforeGet) { +- printf(prompt); ++ printf("%s", prompt); ++ fflush(NULL); + } + for (;;) { + c = getch(); +@@ -192,7 +195,8 @@ + } else if (c == ' ' || c == '\t') { + // skip blanks and tabs + } else if (c == '\n') { +- printf(prompt); ++ printf("%s", prompt); ++ fflush(NULL); + } else { + *command = c; + return 1; +@@ -217,7 +220,8 @@ + // skip blanks and tabs + } else if (c == '\n') { + if (default_value < 0) { +- printf(prompt); ++ printf("%s", prompt); ++ fflush(NULL); + } else { + ungetch(c); + *number = default_value; +@@ -295,7 +307,8 @@ + // skip blanks and tabs + } else if (c == '\n') { + if (reprompt) { +- printf(prompt); ++ printf("%s", prompt); ++ fflush(NULL); + } else { + ungetch(c); + *string = NULL; diff --git a/sys-fs/mac-fdisk/mac-fdisk-0.1_p18-r1.ebuild b/sys-fs/mac-fdisk/mac-fdisk-0.1_p18-r1.ebuild new file mode 100644 index 00000000000..dad62e50d2a --- /dev/null +++ b/sys-fs/mac-fdisk/mac-fdisk-0.1_p18-r1.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit toolchain-funcs flag-o-matic + +DESCRIPTION="Mac/PowerMac disk partitioning utility" +HOMEPAGE="ftp://ftp.mklinux.apple.com/pub/Other_Tools/" +SRC_URI=" + mirror://debian/pool/main/m/mac-fdisk/${PN}_${PV/_p*}.orig.tar.gz + mirror://debian/pool/main/m/mac-fdisk/${PN}_${PV/_p*}-${PV/*_p}.diff.gz +" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 -riscv ~x86" + +S=${WORKDIR}/${P/_p*}.orig +PATCHES=( + "${WORKDIR}"/${PN}_${PV/_p*}-${PV/*_p}.diff + "${FILESDIR}"/largerthan2gb.patch + "${FILESDIR}"/${PN}-0.1-headers.patch + # Patch for bug #142737 + "${FILESDIR}"/${PN}-0.1_p16-ppc64.patch + ### Patch for building on amd64 + "${FILESDIR}"/${PN}-amd64.patch + # Patch for large (>550GB disks) + # Note that >=2TB disks may not work due to limitations of the Mac + # Partition Table structure, this needs to be investigated + "${FILESDIR}"/big_pt.patch + "${FILESDIR}"/${PN}-0.1_p16-ppc-inline.patch + "${FILESDIR}"/${PN}-0.1_p18-lseek64.patch + # add support for partitioning 2TB drives + "${FILESDIR}"/${PN}-0.1_p18-2tb.patch + "${FILESDIR}"/${PN}-0.1_p18-musl.patch +) + +src_compile() { + use elibc_musl && append-cppflags -Dloff_t=off_t + emake CC="$(tc-getCC)" +} + +src_install() { + into / + newsbin pdisk mac-fdisk + newsbin fdisk pmac-fdisk + + into /usr + newman mac-fdisk.8.in mac-fdisk.8 + newman pmac-fdisk.8.in pmac-fdisk.8 + + dodoc debian/changelog README HISTORY +} diff --git a/sys-fs/mergerfs-tools/mergerfs-tools-0_p20210502-r3.ebuild b/sys-fs/mergerfs-tools/mergerfs-tools-0_p20210502-r3.ebuild index b7a3da26a2f..2827a367ac7 100644 --- a/sys-fs/mergerfs-tools/mergerfs-tools-0_p20210502-r3.ebuild +++ b/sys-fs/mergerfs-tools/mergerfs-tools-0_p20210502-r3.ebuild @@ -16,6 +16,7 @@ SLOT="0" KEYWORDS="~amd64 ~x86" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" DEPEND="${PYTHON_DEPS}" RDEPEND="${DEPEND}" diff --git a/sys-fs/mergerfs/Manifest b/sys-fs/mergerfs/Manifest index cdff0268f58..77cab80d747 100644 --- a/sys-fs/mergerfs/Manifest +++ b/sys-fs/mergerfs/Manifest @@ -2,3 +2,4 @@ DIST mergerfs-2.32.3.tar.gz 314280 BLAKE2B f7c5ab92f1241627bd91255b35bdd81782f15 DIST mergerfs-2.33.1.tar.gz 382421 BLAKE2B 0985a0ad53a12fe5283fd0e953cd74a835efd3e83f65ba4e96bc42814ce151d03f95c032eeebcc9821c7c15ae59d14b9e40055438b4482a337c5b7bc9503d27e SHA512 1178fbd4ad99c6c693e2c21551c7522107701b0d5c608a7c18be29825cf97f2a2b2d6a50094e800a74dddd9a3902c374f8b57e84a76c0640aa8e387aa095d300 DIST mergerfs-2.33.3.tar.gz 382386 BLAKE2B 49a2b75a2a39fbec178460f94696a918a0f872a7c904355c84180f8be07d9abdf68e342e7acca5093a621b85110d0a0fdb5650de68e04aa176250199eaa5bdb7 SHA512 aca5884a9d5dc03d7095e73461dee843d69463db72dfc033f76611d5417dab63ff29eb2b473f39f0390299c3aa882e6197a7038e82b58ab85799d39cc44b84d0 DIST mergerfs-2.33.4.tar.gz 382872 BLAKE2B fe369f377f731a6323566cf4d5076e9ba7dca302aae1125635433ab93927d3aad5ca57a95e0791742cdf80c7fa69cacdd16a6519593bad9e933e529974bd5d2a SHA512 e8bd0a502c045d6f93d34bce833108deaf1071a3e5c56eb61a59416067230d6e8f19f9b0f8c8aa9fe84060a886afae7509231c97fc6d9537d3ad3390ce342239 +DIST mergerfs-2.33.5.tar.gz 382895 BLAKE2B e45d6d5890046cce495f788924323052effe63ea570061ed1d031595f166c0e680fdbbcf01dd992263550d6c33a04d91a6fabd5c9f97381c5c3e6858c3e1c122 SHA512 9032142285d85e22d2a880a42ae379209d44d12d71adec6388afd43a9fb77675149ec8558bdb1f01de1b511b3d0bf910dd2ccb6f47c918df377d4d5e41368408 diff --git a/sys-fs/mergerfs/mergerfs-2.33.4.ebuild b/sys-fs/mergerfs/mergerfs-2.33.4.ebuild index fb2d3b62a41..a21ae969d85 100644 --- a/sys-fs/mergerfs/mergerfs-2.33.4.ebuild +++ b/sys-fs/mergerfs/mergerfs-2.33.4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -9,7 +9,7 @@ DESCRIPTION="A featureful union filesystem" HOMEPAGE="https://github.com/trapexit/mergerfs" SRC_URI="https://github.com/trapexit/mergerfs/archive/${PV}.tar.gz -> ${P}.tar.gz" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" # Vendorized libfuse that's bundled is under LGPL-2.1. LICENSE="ISC LGPL-2.1" diff --git a/sys-fs/mergerfs/mergerfs-2.33.5.ebuild b/sys-fs/mergerfs/mergerfs-2.33.5.ebuild new file mode 100644 index 00000000000..fb2d3b62a41 --- /dev/null +++ b/sys-fs/mergerfs/mergerfs-2.33.5.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +DESCRIPTION="A featureful union filesystem" +HOMEPAGE="https://github.com/trapexit/mergerfs" + +SRC_URI="https://github.com/trapexit/mergerfs/archive/${PV}.tar.gz -> ${P}.tar.gz" +KEYWORDS="~amd64 ~x86" + +# Vendorized libfuse that's bundled is under LGPL-2.1. +LICENSE="ISC LGPL-2.1" +SLOT="0" +IUSE="+xattr" + +DEPEND=" + xattr? ( sys-apps/attr ) +" + +RDEPEND="${DEPEND}" + +BDEPEND="sys-devel/gettext" + +src_prepare() { + default + + # Hand made build system at it's finest. + echo -e "#!/bin/sh\ntrue" >tools/update-version || die + echo "#pragma once" >src/version.hpp || die + echo "static const char MERGERFS_VERSION[] = \"${PV}\";" >>src/version.hpp || die + + if ! use xattr; then + sed 's%USE_XATTR = 1%USE_XATTR = 0%g' -i Makefile || die + fi +} + +src_compile() { + # https://bugs.gentoo.org/725978 + tc-export AR CC CXX + + default +} + +src_install() { + dobin build/mergerfs + dosym mergerfs /usr/bin/mount.mergerfs + dodoc README.md + doman man/mergerfs.1 +} diff --git a/sys-fs/mtools/Manifest b/sys-fs/mtools/Manifest index 5a3c67d64b0..443dcb7f699 100644 --- a/sys-fs/mtools/Manifest +++ b/sys-fs/mtools/Manifest @@ -1,2 +1,2 @@ -DIST mtools-4.0.37.tar.bz2 441076 BLAKE2B a84ff9e532a1896706589dfe7e62b1e400baf0ab9b86cc3d4a09bd4a0a24d1e86f504b9005c98765f62d735d227d0a1d5ab78354c587c88e2d42a4146d127dc1 SHA512 5ff4da9050dd5d5c0929dd9977866086085bd8fef577f3c6ce2ed6fb958eec2304db612c0766e6be1a048819e29f62023cb0f0a9464a84ed7cc21de9561fadce DIST mtools-4.0.39.tar.bz2 429751 BLAKE2B b1b04fa1614cf36245c60c3ef35de1869e53786dbc9a7e864278a51c9519c63b59fff9dffbd761fbc59782161ba201908b4a5b6792a7231fff6f27be2bea1d67 SHA512 6f84ce57a7c088b526e3e4fa7c509f1869a55b87951134d6257533d311b4a97496c44fa374de6f8cb15c645d60b9f9745ccbdf405d0d77a30a86e31ed8d54ce4 +DIST mtools-4.0.40.tar.bz2 447038 BLAKE2B 6ae2dbd2129d48528f6a36f81f44979b2dd977729e3f3f0ab5ff4aa8d29b0841cd770e2ed12f0f772676f6bcfeb3949d4fb79e240cf1d88524bbaa6cdfb4d26e SHA512 c3acf8723ae207d9eccdca3c2b55aed262175328417031397c14c7120a1e02f0c52c7fefc0145dfb09fb91f1d3e63254e7a45bc7edf50b1ecc87b7cc95d2f390 diff --git a/sys-fs/mtools/mtools-4.0.37.ebuild b/sys-fs/mtools/mtools-4.0.40.ebuild index 1b4c09b1ccb..baaf6497462 100644 --- a/sys-fs/mtools/mtools-4.0.37.ebuild +++ b/sys-fs/mtools/mtools-4.0.40.ebuild @@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~x64-macos ~x64-solaris" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos ~x64-solaris" IUSE="X" RDEPEND="!elibc_glibc? ( virtual/libiconv ) @@ -40,6 +40,7 @@ src_configure() { src_install() { local -a DOCS=( README* Release.notes ) + default insinto /etc/mtools diff --git a/sys-fs/multipath-tools/Manifest b/sys-fs/multipath-tools/Manifest index b3e04b797c8..480f8d568d2 100644 --- a/sys-fs/multipath-tools/Manifest +++ b/sys-fs/multipath-tools/Manifest @@ -1,5 +1,2 @@ -DIST multipath-tools-0.8.6.tar.gz 519405 BLAKE2B 5aed36550c76bbde0e874e37356b6c5a80a80b876b56dadb69ce09f0fb049a7097fd1c0aca5076f816848e2c2660f96680d7f16d56918a25299017b39f76f777 SHA512 82e5b7307e599ba6b059679c3987a442fb5be4885f0a27c260a99a07cb336b88d48e314b4ec951944e0200e4731522d8da043d98fa566857ecc6d100791c0e38 -DIST multipath-tools-0.8.7.tar.gz 523535 BLAKE2B 3f59af86f5b9f9ea524bf0c36e4a4bc3e01f557f2e18486b5278fe10e3bcf10dbc7568768c0e95529885bcdca6bcf04021ad5261bd1e6a3aeae5eb95b9d54801 SHA512 c01aea837b13429d17688455b813947342ca1cabba19b22e13ce640c77e68335a6d410280a8298595e239131e6fcbb655fa6de5ff9857eac99aa175046a450cd -DIST multipath-tools-0.8.8-no-compress-man-pages.patch.bz2 2493 BLAKE2B 08d77d6524861a590e07e3e9eedb1039c9b15b589becd912f17f37f728a751c7566699540c025aa1f8a0b2e04db551b0093d066f6e340a15309794fdde197483 SHA512 662f32ba5437be2a3cfffc5a466dccb7923668eeef5f23112b31d6c1b43eca2917579729e975cfbe4cd60ecfaf547f534d304626ac19d165bb2f1a3ae4bb1cc6 -DIST multipath-tools-0.8.8.tar.gz 527412 BLAKE2B 15e24a04ff1c41c8562033ca22214c015ab4c4a9e9833323830b665793c1964b6fcb7b710761bf501f0e99d461d6e6c7dfe80851a0ded4d99693a1561490598f SHA512 f09932da93b6ab06f0f911b09c605ea931fb8cb8b5530ef9999d21a41056fb48e944fc245dfe20096b2746ce1c9ebb5b548e1182079a3b52659d33263a441969 DIST multipath-tools-0.8.9.tar.gz 534866 BLAKE2B b5ebf3c393f6b60e85678ac07378ae07056b6777409fc1bc4f4133cdd3f8c75a3d76f6e9342208df7fed8fe7812b089eba8f6b769e47e1dd6c8b7fd321bdbd30 SHA512 25f2a5d436af6a343804988cef45ca1574d4a981655a2b91563ddb89138619158befdf5af92d836a17c95d6dcf901072b614473c2129274e5dcdb1a1d64edb4d +DIST multipath-tools-0.9.0.tar.gz 537311 BLAKE2B e7d4958d24d1e19da2b80be23585ad37f6b0c1b66dc1377014d825ddd2be10ea3b8c30162cb7a23b120427bf0c957c6cad8560018e1cb058c284f37afd5d50d4 SHA512 6c417f6d1d116fa43bedb9f77769ece9cbb7b35b78a9b3558c41df2360e52a65a07314b12ab7e4a7bbc867b9755250de9db96a2f7eb4a6a37f0b0b3f0bbc840e diff --git a/sys-fs/multipath-tools/files/multipath-tools-0.8.5-respect-flags.patch b/sys-fs/multipath-tools/files/multipath-tools-0.8.5-respect-flags.patch deleted file mode 100644 index 20d9fef6f3f..00000000000 --- a/sys-fs/multipath-tools/files/multipath-tools-0.8.5-respect-flags.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- multipath-tools-0.8.5-eecfcba/Makefile.inc -+++ multipath-tools-0.8.5-eecfcba/Makefile.inc -@@ -98,7 +98,8 @@ - -Werror=implicit-function-declaration -Werror=format-security \ - $(WNOCLOBBERED) -Werror=cast-qual $(ERROR_DISCARDED_QUALIFIERS) - CPPFLAGS := -Wp,-D_FORTIFY_SOURCE=2 --CFLAGS := --std=gnu99 $(CFLAGS) $(OPTFLAGS) $(WARNFLAGS) -pipe \ -+CFLAGS ?= $(OPTFLAGS) $(WARNFLAGS) -pipe -+CFLAGS += --std=gnu99 \ - -DBIN_DIR=\"$(bindir)\" -DLIB_STRING=\"${LIB}\" -DRUN_DIR=\"${RUN}\" \ - -MMD -MP - BIN_CFLAGS = -fPIE -DPIE diff --git a/sys-fs/multipath-tools/files/multipath-tools-0.8.6-no-compress-man-pages.patch b/sys-fs/multipath-tools/files/multipath-tools-0.8.6-no-compress-man-pages.patch deleted file mode 100644 index d8521436d95..00000000000 --- a/sys-fs/multipath-tools/files/multipath-tools-0.8.6-no-compress-man-pages.patch +++ /dev/null @@ -1,226 +0,0 @@ -From 80cca1a75f24ee239ace5577d49ccfec511480ca Mon Sep 17 00:00:00 2001 -From: Sam James <sam@gentoo.org> -Date: Mon, 12 Jul 2021 06:04:04 +0100 -Subject: [PATCH] Don't compress man pages - ---- - kpartx/Makefile | 5 ++--- - libdmmp/Makefile | 13 ++++--------- - libmpathpersist/Makefile | 14 +++++--------- - mpathpersist/Makefile | 5 ++--- - multipath/Makefile | 10 ++++------ - multipathd/Makefile | 5 ++--- - 6 files changed, 19 insertions(+), 33 deletions(-) - -diff --git a/kpartx/Makefile b/kpartx/Makefile -index 2906a98..cd351a4 100644 ---- a/kpartx/Makefile -+++ b/kpartx/Makefile -@@ -21,7 +21,6 @@ all: $(EXEC) - - $(EXEC): $(OBJS) - $(CC) $(CFLAGS) $(OBJS) -o $(EXEC) $(LDFLAGS) $(LIBDEPS) -- $(GZIP) $(EXEC).8 > $(EXEC).8.gz - - install: $(EXEC) $(EXEC).8 - $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir) -@@ -33,11 +32,11 @@ install: $(EXEC) $(EXEC).8 - $(INSTALL_PROGRAM) -m 644 kpartx.rules $(DESTDIR)$(libudevdir)/rules.d/66-kpartx.rules - $(INSTALL_PROGRAM) -m 644 del-part-nodes.rules $(DESTDIR)$(libudevdir)/rules.d/68-del-part-nodes.rules - $(INSTALL_PROGRAM) -d $(DESTDIR)$(man8dir) -- $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir) -+ $(INSTALL_PROGRAM) -m 644 $(EXEC).8 $(DESTDIR)$(man8dir) - - uninstall: - $(RM) $(DESTDIR)$(bindir)/$(EXEC) -- $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz -+ $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8 - $(RM) $(DESTDIR)$(libudevdir)/kpartx_id - $(RM) $(DESTDIR)$(libudevdir)/rules.d/11-dm-parts.rules - $(RM) $(DESTDIR)$(libudevdir)/rules.d/66-kpartx.rules -diff --git a/libdmmp/Makefile b/libdmmp/Makefile -index 764a0bc..a859786 100644 ---- a/libdmmp/Makefile -+++ b/libdmmp/Makefile -@@ -21,13 +21,13 @@ CFLAGS += $(LIB_CFLAGS) -fvisibility=hidden -I$(libdmmpdir) -I$(mpathcmddir) \ - LIBDEPS += $(shell $(PKGCONFIG) --libs json-c) -L$(mpathcmddir) -lmpathcmd -lpthread - - all: $(LIBS) doc --.PHONY: doc doc.gz clean install uninstall check speed_test dep_clean -+.PHONY: doc clean install uninstall check speed_test dep_clean - - $(LIBS): $(OBJS) - $(CC) $(LDFLAGS) $(SHARED_FLAGS) -Wl,-soname=$@ -o $@ $(OBJS) $(LIBDEPS) - $(LN) $@ $(DEVLIB) - --install: doc.gz -+install: doc - mkdir -p $(DESTDIR)$(usrlibdir) - $(INSTALL_PROGRAM) -m 755 $(LIBS) $(DESTDIR)$(usrlibdir)/$(LIBS) - $(INSTALL_PROGRAM) -m 644 -D \ -@@ -41,7 +41,7 @@ install: doc.gz - $(DESTDIR)$(pkgconfdir)/$(PKGFILE) - perl -i -pe 's|__INCLUDEDIR__|$(includedir)|g' \ - $(DESTDIR)$(pkgconfdir)/$(PKGFILE) -- $(INSTALL_PROGRAM) -m 644 -t $(DESTDIR)$(man3dir) docs/man/*.3.gz -+ $(INSTALL_PROGRAM) -m 644 -t $(DESTDIR)$(man3dir) docs/man/*.3 - - uninstall: - $(RM) $(DESTDIR)$(usrlibdir)/$(LIBS) -@@ -55,7 +55,7 @@ uninstall: - - clean: dep_clean - $(RM) core *.a *.o *.gz *.so *.so.* -- $(RM) docs/man/*.gz -+ $(RM) docs/man/* - $(MAKE) -C test clean - - include $(wildcard $(OBJS:.o=.d)) -@@ -66,13 +66,8 @@ check: all - speed_test: all - $(MAKE) -C test speed_test - --doc.gz: doc $(patsubst %,%.gz,$(wildcard docs/man/*.3)) -- - doc: docs/man/dmmp_strerror.3 - --docs/man/%.3.gz: docs/man/%.3 -- gzip -c $< >$@ -- - docs/man/dmmp_strerror.3: $(HEADERS) - TEMPFILE=$(shell mktemp); \ - cat $^ | perl docs/doc-preclean.pl >$$TEMPFILE; \ -diff --git a/libmpathpersist/Makefile b/libmpathpersist/Makefile -index 57103e5..37c765a 100644 ---- a/libmpathpersist/Makefile -+++ b/libmpathpersist/Makefile -@@ -12,7 +12,7 @@ LIBDEPS += -lmultipath -lmpathcmd -ldevmapper -lpthread -ldl - - OBJS = mpath_persist.o mpath_updatepr.o mpath_pr_ioctl.o - --all: $(DEVLIB) man -+all: $(DEVLIB) - - $(LIBS): $(OBJS) $(VERSION_SCRIPT) - $(CC) $(LDFLAGS) $(SHARED_FLAGS) -Wl,-soname=$@ \ -@@ -21,10 +21,6 @@ $(LIBS): $(OBJS) $(VERSION_SCRIPT) - $(DEVLIB): $(LIBS) - $(LN) $(LIBS) $@ - --man: -- $(GZIP) mpath_persistent_reserve_in.3 > mpath_persistent_reserve_in.3.gz -- $(GZIP) mpath_persistent_reserve_out.3 > mpath_persistent_reserve_out.3.gz -- - install: all - $(INSTALL_PROGRAM) -d $(DESTDIR)$(syslibdir) - $(INSTALL_PROGRAM) -m 755 $(LIBS) $(DESTDIR)$(syslibdir)/$(LIBS) -@@ -32,14 +28,14 @@ install: all - $(INSTALL_PROGRAM) -m 755 -d $(DESTDIR)$(man3dir) - $(INSTALL_PROGRAM) -m 755 -d $(DESTDIR)$(includedir) - $(LN) $(LIBS) $(DESTDIR)$(syslibdir)/$(DEVLIB) -- $(INSTALL_PROGRAM) -m 644 mpath_persistent_reserve_in.3.gz $(DESTDIR)$(man3dir) -- $(INSTALL_PROGRAM) -m 644 mpath_persistent_reserve_out.3.gz $(DESTDIR)$(man3dir) -+ $(INSTALL_PROGRAM) -m 644 mpath_persistent_reserve_in.3 $(DESTDIR)$(man3dir) -+ $(INSTALL_PROGRAM) -m 644 mpath_persistent_reserve_out.3 $(DESTDIR)$(man3dir) - $(INSTALL_PROGRAM) -m 644 mpath_persist.h $(DESTDIR)$(includedir) - - uninstall: - $(RM) $(DESTDIR)$(syslibdir)/$(LIBS) -- $(RM) $(DESTDIR)$(man3dir)/mpath_persistent_reserve_in.3.gz -- $(RM) $(DESTDIR)$(man3dir)/mpath_persistent_reserve_out.3.gz -+ $(RM) $(DESTDIR)$(man3dir)/mpath_persistent_reserve_in.3 -+ $(RM) $(DESTDIR)$(man3dir)/mpath_persistent_reserve_out.3 - $(RM) $(DESTDIR)$(includedir)/mpath_persist.h - $(RM) $(DESTDIR)$(syslibdir)/$(DEVLIB) - -diff --git a/mpathpersist/Makefile b/mpathpersist/Makefile -index 5126801..0aba3cb 100644 ---- a/mpathpersist/Makefile -+++ b/mpathpersist/Makefile -@@ -14,13 +14,12 @@ all: $(EXEC) - - $(EXEC): $(OBJS) - $(CC) $(OBJS) -o $(EXEC) $(LDFLAGS) $(CFLAGS) $(LIBDEPS) -- $(GZIP) $(EXEC).8 > $(EXEC).8.gz - - install: - $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir) - $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)/ - $(INSTALL_PROGRAM) -d $(DESTDIR)$(man8dir) -- $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir) -+ $(INSTALL_PROGRAM) -m 644 $(EXEC).8 $(DESTDIR)$(man8dir) - - clean: dep_clean - $(RM) core *.o $(EXEC) *.gz -@@ -29,7 +28,7 @@ include $(wildcard $(OBJS:.o=.d)) - - uninstall: - $(RM) $(DESTDIR)$(bindir)/$(EXEC) -- $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz -+ $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8 - - dep_clean: - $(RM) $(OBJS:.o=.d) -diff --git a/multipath/Makefile b/multipath/Makefile -index 0828a8f..55b6f7b 100644 ---- a/multipath/Makefile -+++ b/multipath/Makefile -@@ -16,8 +16,6 @@ all: $(EXEC) - - $(EXEC): $(OBJS) $(multipathdir)/libmultipath.so $(mpathcmddir)/libmpathcmd.so - $(CC) $(CFLAGS) $(OBJS) -o $(EXEC) $(LDFLAGS) $(LIBDEPS) -- $(GZIP) $(EXEC).8 > $(EXEC).8.gz -- $(GZIP) $(EXEC).conf.5 > $(EXEC).conf.5.gz - - install: - $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir) -@@ -26,16 +24,16 @@ install: - $(INSTALL_PROGRAM) -m 644 11-dm-mpath.rules $(DESTDIR)$(udevrulesdir) - $(INSTALL_PROGRAM) -m 644 $(EXEC).rules $(DESTDIR)$(libudevdir)/rules.d/56-multipath.rules - $(INSTALL_PROGRAM) -d $(DESTDIR)$(man8dir) -- $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir) -+ $(INSTALL_PROGRAM) -m 644 $(EXEC).8 $(DESTDIR)$(man8dir) - $(INSTALL_PROGRAM) -d $(DESTDIR)$(man5dir) -- $(INSTALL_PROGRAM) -m 644 $(EXEC).conf.5.gz $(DESTDIR)$(man5dir) -+ $(INSTALL_PROGRAM) -m 644 $(EXEC).conf.5 $(DESTDIR)$(man5dir) - - uninstall: - $(RM) $(DESTDIR)$(bindir)/$(EXEC) - $(RM) $(DESTDIR)$(udevrulesdir)/11-dm-mpath.rules - $(RM) $(DESTDIR)$(libudevdir)/rules.d/56-multipath.rules -- $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz -- $(RM) $(DESTDIR)$(man5dir)/$(EXEC).conf.5.gz -+ $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8 -+ $(RM) $(DESTDIR)$(man5dir)/$(EXEC).conf.5 - - clean: dep_clean - $(RM) core *.o $(EXEC) *.gz -diff --git a/multipathd/Makefile b/multipathd/Makefile -index d053c1e..cf3339f 100644 ---- a/multipathd/Makefile -+++ b/multipathd/Makefile -@@ -38,7 +38,6 @@ all : $(EXEC) - - $(EXEC): $(OBJS) $(multipathdir)/libmultipath.so $(mpathcmddir)/libmpathcmd.so - $(CC) $(CFLAGS) $(OBJS) $(LDFLAGS) -o $(EXEC) $(LIBDEPS) -- $(GZIP) $(EXEC).8 > $(EXEC).8.gz - - cli_handlers.o: cli_handlers.c - $(CC) $(CFLAGS) -Wno-unused-parameter -c -o $@ $< -@@ -52,11 +51,11 @@ ifdef SYSTEMD - $(INSTALL_PROGRAM) -m 644 $(EXEC).socket $(DESTDIR)$(unitdir) - endif - $(INSTALL_PROGRAM) -d $(DESTDIR)$(man8dir) -- $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir) -+ $(INSTALL_PROGRAM) -m 644 $(EXEC).8 $(DESTDIR)$(man8dir) - - uninstall: - $(RM) $(DESTDIR)$(bindir)/$(EXEC) -- $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz -+ $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8 - $(RM) $(DESTDIR)$(unitdir)/$(EXEC).service - $(RM) $(DESTDIR)$(unitdir)/$(EXEC).socket - --- -2.32.0 - diff --git a/sys-fs/multipath-tools/files/multipath-tools-0.9.0-respect-flags.patch b/sys-fs/multipath-tools/files/multipath-tools-0.9.0-respect-flags.patch new file mode 100644 index 00000000000..f2b6dca0577 --- /dev/null +++ b/sys-fs/multipath-tools/files/multipath-tools-0.9.0-respect-flags.patch @@ -0,0 +1,15 @@ +--- a/Makefile.inc ++++ b/Makefile.inc +@@ -140,10 +140,9 @@ + WARNFLAGS := -Werror -Wall -Wextra -Wformat=2 $(WFORMATOVERFLOW) -Werror=implicit-int \ + -Werror=implicit-function-declaration -Werror=format-security \ + $(WNOCLOBBERED) -Werror=cast-qual $(ERROR_DISCARDED_QUALIFIERS) +-CPPFLAGS := $(FORTIFY_OPT) \ +- -DBIN_DIR=\"$(bindir)\" -DMULTIPATH_DIR=\"$(plugindir)\" -DRUN_DIR=\"${RUN}\" \ ++CPPFLAGS += -DBIN_DIR=\"$(bindir)\" -DMULTIPATH_DIR=\"$(plugindir)\" -DRUN_DIR=\"${RUN}\" \ + -DCONFIG_DIR=\"$(configdir)\" -DEXTRAVERSION=\"$(EXTRAVERSION)\" -MMD -MP +-CFLAGS := --std=gnu99 $(CFLAGS) $(OPTFLAGS) $(WARNFLAGS) -pipe ++CFLAGS += -std=gnu99 $(WARNFLAGS) + BIN_CFLAGS = -fPIE -DPIE + LIB_CFLAGS = -fPIC + SHARED_FLAGS = -shared diff --git a/sys-fs/multipath-tools/multipath-tools-0.8.6-r1.ebuild b/sys-fs/multipath-tools/multipath-tools-0.8.6-r1.ebuild deleted file mode 100644 index e8862ae6779..00000000000 --- a/sys-fs/multipath-tools/multipath-tools-0.8.6-r1.ebuild +++ /dev/null @@ -1,88 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -inherit linux-info systemd toolchain-funcs udev - -DESCRIPTION="Device mapper target autoconfig" -HOMEPAGE="http://christophe.varoqui.free.fr/" -SRC_URI="https://github.com/opensvc/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ppc ppc64 x86" -IUSE="systemd rbd test" -RESTRICT="!test? ( test )" - -RDEPEND=" - dev-libs/json-c:= - dev-libs/libaio - dev-libs/userspace-rcu:= - >=sys-fs/lvm2-2.02.45 - >=virtual/libudev-232-r3 - sys-libs/readline:0= - rbd? ( sys-cluster/ceph ) - systemd? ( sys-apps/systemd ) -" -DEPEND="${RDEPEND} - test? ( dev-util/cmocka )" -BDEPEND="virtual/pkgconfig" - -CONFIG_CHECK="~DM_MULTIPATH" - -PATCHES=( - "${FILESDIR}"/${PN}-0.8.5-respect-flags.patch - "${FILESDIR}"/${PN}-0.8.6-no-compress-man-pages.patch -) - -src_prepare() { - default - - # The upstream lacks any way to configure the build at present - # and ceph is a huge dependency, so we're using sed to make it - # optional until the upstream has a proper configure system - if ! use rbd ; then - sed \ - -e "s/libcheckrbd.so/# libcheckrbd.so/" \ - -e "s/-lrados//" \ - -i libmultipath/checkers/Makefile \ - || die - fi -} - -src_compile() { - # LIBDM_API_FLUSH involves grepping files in /usr/include, - # so force the test to go the way we want #411337. - emake \ - CC="$(tc-getCC)" \ - LIB="${EPREFIX}/$(get_libdir)" \ - LIBDM_API_FLUSH=1 \ - PKGCONFIG="$(tc-getPKG_CONFIG)" -} - -src_install() { - dodir /sbin /usr/share/man/man{3,5,8} - emake \ - DESTDIR="${D}" \ - LIB="${EPREFIX}/$(get_libdir)" \ - RUN=run \ - unitdir="$(systemd_get_systemunitdir)" \ - libudevdir='${prefix}'/"$(get_udevdir)" \ - pkgconfdir='${prefix}'/usr/'${LIB}'/pkgconfig \ - install - - newinitd "${FILESDIR}"/multipathd-r1.rc multipathd - newinitd "${FILESDIR}"/multipath.rc multipath - - einstalldocs - - find "${ED}" -type f -name "*.la" -delete || die -} - -pkg_postinst() { - if [[ -z ${REPLACING_VERSIONS} ]] ; then - elog "If you need multipath on your system, you must" - elog "add 'multipath' into your boot runlevel!" - fi -} diff --git a/sys-fs/multipath-tools/multipath-tools-0.8.8.ebuild b/sys-fs/multipath-tools/multipath-tools-0.8.8.ebuild deleted file mode 100644 index f0a18e273be..00000000000 --- a/sys-fs/multipath-tools/multipath-tools-0.8.8.ebuild +++ /dev/null @@ -1,90 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -inherit linux-info systemd toolchain-funcs udev - -DESCRIPTION="Device mapper target autoconfig" -HOMEPAGE="http://christophe.varoqui.free.fr/" -SRC_URI="https://github.com/opensvc/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" -SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-0.8.8-no-compress-man-pages.patch.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86" -IUSE="systemd rbd test" -RESTRICT="!test? ( test )" - -RDEPEND=" - dev-libs/json-c:= - dev-libs/libaio - dev-libs/userspace-rcu:= - >=sys-fs/lvm2-2.02.45 - >=virtual/libudev-232-r3 - sys-libs/readline:0= - rbd? ( sys-cluster/ceph ) - systemd? ( sys-apps/systemd ) -" -DEPEND="${RDEPEND} - test? ( dev-util/cmocka )" -BDEPEND="virtual/pkgconfig" - -CONFIG_CHECK="~DM_MULTIPATH" - -PATCHES=( - "${FILESDIR}"/${PN}-0.8.7-respect-flags.patch - "${WORKDIR}"/${PN}-0.8.8-no-compress-man-pages.patch -) - -src_prepare() { - default - - # The upstream lacks any way to configure the build at present - # and ceph is a huge dependency, so we're using sed to make it - # optional until the upstream has a proper configure system - if ! use rbd ; then - sed \ - -e "s/libcheckrbd.so/# libcheckrbd.so/" \ - -e "s/-lrados//" \ - -i libmultipath/checkers/Makefile \ - || die - fi -} - -src_compile() { - tc-export CC - - # LIBDM_API_FLUSH involves grepping files in /usr/include, - # so force the test to go the way we want #411337. - emake \ - LIB="${EPREFIX}/$(get_libdir)" \ - LIBDM_API_FLUSH=1 \ - PKGCONFIG="$(tc-getPKG_CONFIG)" -} - -src_install() { - dodir /sbin /usr/share/man/man{3,5,8} - emake \ - DESTDIR="${D}" \ - LIB="${EPREFIX}/$(get_libdir)" \ - RUN=run \ - unitdir="$(systemd_get_systemunitdir)" \ - libudevdir='${prefix}'/"$(get_udevdir)" \ - pkgconfdir='${prefix}'/usr/'${LIB}'/pkgconfig \ - install - - newinitd "${FILESDIR}"/multipathd-r1.rc multipathd - newinitd "${FILESDIR}"/multipath.rc multipath - - einstalldocs - - find "${ED}" -type f -name "*.la" -delete || die -} - -pkg_postinst() { - if [[ -z ${REPLACING_VERSIONS} ]] ; then - elog "If you need multipath on your system, you must" - elog "add 'multipath' into your boot runlevel!" - fi -} diff --git a/sys-fs/multipath-tools/multipath-tools-0.8.7.ebuild b/sys-fs/multipath-tools/multipath-tools-0.9.0.ebuild index 35caf3b69f5..c3ba08e79c7 100644 --- a/sys-fs/multipath-tools/multipath-tools-0.8.7.ebuild +++ b/sys-fs/multipath-tools/multipath-tools-0.9.0.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="7" +EAPI=8 inherit linux-info systemd toolchain-funcs udev @@ -11,8 +11,8 @@ SRC_URI="https://github.com/opensvc/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P} LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ppc ppc64 x86" -IUSE="systemd rbd test" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~x86" +IUSE="systemd test" RESTRICT="!test? ( test )" RDEPEND=" @@ -21,35 +21,15 @@ RDEPEND=" dev-libs/userspace-rcu:= >=sys-fs/lvm2-2.02.45 >=virtual/libudev-232-r3 - sys-libs/readline:0= - rbd? ( sys-cluster/ceph ) - systemd? ( sys-apps/systemd ) -" + sys-libs/readline:= + systemd? ( sys-apps/systemd )" DEPEND="${RDEPEND} test? ( dev-util/cmocka )" BDEPEND="virtual/pkgconfig" CONFIG_CHECK="~DM_MULTIPATH" -PATCHES=( - "${FILESDIR}"/${PN}-0.8.7-respect-flags.patch - "${FILESDIR}"/${PN}-0.8.6-no-compress-man-pages.patch -) - -src_prepare() { - default - - # The upstream lacks any way to configure the build at present - # and ceph is a huge dependency, so we're using sed to make it - # optional until the upstream has a proper configure system - if ! use rbd ; then - sed \ - -e "s/libcheckrbd.so/# libcheckrbd.so/" \ - -e "s/-lrados//" \ - -i libmultipath/checkers/Makefile \ - || die - fi -} +PATCHES=( "${FILESDIR}"/${PN}-0.9.0-respect-flags.patch ) src_compile() { tc-export CC @@ -57,7 +37,8 @@ src_compile() { # LIBDM_API_FLUSH involves grepping files in /usr/include, # so force the test to go the way we want #411337. emake \ - LIB="${EPREFIX}/$(get_libdir)" \ + prefix="${EPREFIX}" \ + LIB="$(get_libdir)" \ LIBDM_API_FLUSH=1 \ PKGCONFIG="$(tc-getPKG_CONFIG)" } @@ -66,24 +47,30 @@ src_install() { dodir /sbin /usr/share/man/man{3,5,8} emake \ DESTDIR="${D}" \ - LIB="${EPREFIX}/$(get_libdir)" \ + prefix="${EPREFIX}" \ + LIB="$(get_libdir)" \ RUN=run \ unitdir="$(systemd_get_systemunitdir)" \ - libudevdir='${prefix}'/"$(get_udevdir)" \ - pkgconfdir='${prefix}'/usr/'${LIB}'/pkgconfig \ + libudevdir='$(prefix)'/$(get_udevdir) \ + pkgconfdir='$(prefix)/usr/$(LIB)/pkgconfig' \ install + einstalldocs newinitd "${FILESDIR}"/multipathd-r1.rc multipathd newinitd "${FILESDIR}"/multipath.rc multipath - einstalldocs - - find "${ED}" -type f -name "*.la" -delete || die + find "${ED}" -type f -name '*.la' -delete || die } pkg_postinst() { + udev_reload + if [[ -z ${REPLACING_VERSIONS} ]] ; then elog "If you need multipath on your system, you must" elog "add 'multipath' into your boot runlevel!" fi } + +pkg_postrm() { + udev_reload +} diff --git a/sys-fs/ncdu/Manifest b/sys-fs/ncdu/Manifest index 5acfd206f3f..3873bd7bce9 100644 --- a/sys-fs/ncdu/Manifest +++ b/sys-fs/ncdu/Manifest @@ -1,2 +1,3 @@ -DIST ncdu-1.15.1.tar.gz 148242 BLAKE2B c49fc706c852f081256437bcb566d0dd4cc34682693186dd84321f4c6831ac982206d59b15f3afa7a2cb25d4affcce7ff84fcc0bf922558241df1ac13212ec7a SHA512 572379264b9bd0d782151bd2f79add0e7a6d092029a041ff8f9288e928a4b6a6733467bca7c1702cbb44c3861279da1bc3d4278df6fba1814fe1dc909f2d8087 DIST ncdu-1.16.tar.gz 149705 BLAKE2B 61d004581bdcf1885bec24d0a1de4fc890fe91bba511abbdbc507a48f31946caf5c7324979e8410e53cfca8ada1b20342b737dc4e8b1f034f2fca5aea84e4369 SHA512 ac8b7e573332e4e006bf743224096b697517b6899744f189ea5a31665c1ef5e50c7fdaaa0a50a8d7bc3d471656f1f1c6681c21368bdaf983257d8cc311a0dfd0 +DIST ncdu-1.17.tar.gz 157187 BLAKE2B 7d36a648b8fb0a26d3b6bcc533ed8f510e7f37b3084cb585a0c785d73fd82f537e0f2f9493c3b56173eae1324255e7acf7617a1cd1614c92a3b7bf0d53b7d77f SHA512 aa2366797760f0c0b2bea866f0ae0446b8113e3ff6460192a4a42d4d888d473d7f37bc4acff6220fa86003bd96d71761168a2ae0ded36456072176a69564c775 +DIST ncdu-2.1.2.tar.gz 52702 BLAKE2B fb64058bec2e8f286fa82e16986cddd9126e5c94d513740d48ff1c971e7ee95270fe6c1cfbbe240bb8e99fba4e3fd6d2624f99870422835da44447a2507f0b8b SHA512 ff48f2b9625e1aba29e5598051d16c4b5dc1a634fab897709226dd69d3b48031e6e62527c8514ec4753874d2d96800e538d6ad90b4a5f9851410d10579ccc67c diff --git a/sys-fs/ncdu/metadata.xml b/sys-fs/ncdu/metadata.xml index ece644aaab8..c3151420b3a 100644 --- a/sys-fs/ncdu/metadata.xml +++ b/sys-fs/ncdu/metadata.xml @@ -2,8 +2,8 @@ <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="person"> - <email>whissi@gentoo.org</email> - <name>Thomas Deutschmann</name> + <email>jsmolic@gentoo.org</email> + <name>Jakov Smolić</name> </maintainer> <longdescription> As the name already suggests, ncdu is an NCurses version of the famous old 'du' diff --git a/sys-fs/ncdu/ncdu-1.15.1-r1.ebuild b/sys-fs/ncdu/ncdu-1.15.1-r1.ebuild deleted file mode 100644 index 748704d358b..00000000000 --- a/sys-fs/ncdu/ncdu-1.15.1-r1.ebuild +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -DESCRIPTION="NCurses Disk Usage" -HOMEPAGE="https://dev.yorhel.nl/ncdu/" -SRC_URI="https://dev.yorhel.nl/download/${P}.tar.gz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ppc ppc64 x86 ~amd64-linux ~x86-linux ~x64-macos" - -RDEPEND=" - sys-libs/ncurses:=[unicode(+)] -" -DEPEND=" - ${RDEPEND} - virtual/pkgconfig -" diff --git a/sys-fs/ncdu/ncdu-1.16-r1.ebuild b/sys-fs/ncdu/ncdu-1.16-r1.ebuild index 22076a15235..ec9c548bfd3 100644 --- a/sys-fs/ncdu/ncdu-1.16-r1.ebuild +++ b/sys-fs/ncdu/ncdu-1.16-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="8" @@ -9,7 +9,7 @@ SRC_URI="https://dev.yorhel.nl/download/${P}.tar.gz" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~x64-macos" BDEPEND="virtual/pkgconfig" diff --git a/sys-fs/ncdu/ncdu-1.17.ebuild b/sys-fs/ncdu/ncdu-1.17.ebuild new file mode 100644 index 00000000000..4c3e4b6681e --- /dev/null +++ b/sys-fs/ncdu/ncdu-1.17.ebuild @@ -0,0 +1,16 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +DESCRIPTION="NCurses Disk Usage" +HOMEPAGE="https://dev.yorhel.nl/ncdu/" +SRC_URI="https://dev.yorhel.nl/download/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~x64-macos" + +DEPEND="sys-libs/ncurses:=[unicode(+)]" +RDEPEND="${DEPEND}" +BDEPEND="virtual/pkgconfig" diff --git a/sys-fs/ncdu/ncdu-2.1.2.ebuild b/sys-fs/ncdu/ncdu-2.1.2.ebuild new file mode 100644 index 00000000000..e755f1d265d --- /dev/null +++ b/sys-fs/ncdu/ncdu-2.1.2.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="NCurses Disk Usage" +HOMEPAGE="https://dev.yorhel.nl/ncdu/" +SRC_URI="https://dev.yorhel.nl/download/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND="sys-libs/ncurses:=[unicode(+)]" +RDEPEND="${DEPEND}" +BDEPEND=" + ~dev-lang/zig-0.9.1 + virtual/pkgconfig +" + +# see https://github.com/ziglang/zig/issues/3382 +# For now, Zig doesn't support CFLAGS/LDFLAGS/etc. +QA_FLAGS_IGNORED="/usr/bin/ncdu" + +src_test() { + zig build test || die "Tests failed" +} + +src_install() { + emake PREFIX="${ED}"/usr install + + dodoc README.md ChangeLog +} diff --git a/sys-fs/ntfs3g/Manifest b/sys-fs/ntfs3g/Manifest index 44a4ffdeed5..1cd86994343 100644 --- a/sys-fs/ntfs3g/Manifest +++ b/sys-fs/ntfs3g/Manifest @@ -1 +1 @@ -DIST ntfs-3g_ntfsprogs-2021.8.22.tgz 1317499 BLAKE2B 403036c68a37ba83873b5faadbb2088deb25e0ff31deb1958d4f869a198d830caa44edea879492a7894f5e7a5ad6205a6fda57bf8de722ce49bf3187239ad993 SHA512 e0544df78a6c352999e1206d7b5d71c56e39396b7a0936a261d728c2ac9d61c6b95ef297f8529ac2a5146f31c1c9e43066d3e281064d4f5d781a04eba51f536d +DIST ntfs-3g_ntfsprogs-2022.5.17.tgz 1318476 BLAKE2B 0f3d5b3ca6186886b1a4f1fc59242a1f4ccdc842cbe53b0869f707c1dbebdd58058d40b265dae663b71a2a611f7ce5392c63afa3053dc075155759c10499d529 SHA512 25e6d3412958576b0cd614f5d93201c0d7e8bbee78fbaf956718a3825c1435b3f0c3631ea1cc60b5b1be6e9ae7d58c0c03b0bebb69edee3bf181a966734336df diff --git a/sys-fs/ntfs3g/ntfs3g-2021.8.22-r4.ebuild b/sys-fs/ntfs3g/ntfs3g-2022.5.17.ebuild index 3ee5db1efeb..63ccf4800e8 100644 --- a/sys-fs/ntfs3g/ntfs3g-2021.8.22-r4.ebuild +++ b/sys-fs/ntfs3g/ntfs3g-2022.5.17.ebuild @@ -1,7 +1,7 @@ # Copyright 2006-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit toolchain-funcs @@ -15,7 +15,7 @@ SRC_URI="http://tuxera.com/opensource/${MY_P}.tgz" 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" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux" IUSE="acl debug +fuse +mount-ntfs ntfsdecrypt +ntfsprogs static-libs suid xattr" RDEPEND=" diff --git a/sys-fs/squashfs-tools/squashfs-tools-4.5.1-r1.ebuild b/sys-fs/squashfs-tools/squashfs-tools-4.5.1-r1.ebuild new file mode 100644 index 00000000000..ad3c805c18a --- /dev/null +++ b/sys-fs/squashfs-tools/squashfs-tools-4.5.1-r1.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit flag-o-matic toolchain-funcs + +DESCRIPTION="tools to create and extract Squashfs filesystems" +HOMEPAGE="https://github.com/plougher/squashfs-tools/" +SRC_URI=" + https://github.com/plougher/squashfs-tools/archive/${PV}.tar.gz + -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="debug lz4 lzma lzo xattr zstd" + +RDEPEND=" + sys-libs/zlib + lz4? ( app-arch/lz4 ) + lzma? ( app-arch/xz-utils ) + lzo? ( dev-libs/lzo ) + xattr? ( sys-apps/attr ) + zstd? ( app-arch/zstd ) +" +DEPEND=${RDEPEND} + +use10() { usex "${1}" 1 0; } + +src_configure() { + # set up make command line variables in EMAKE_SQUASHFS_CONF + EMAKE_SQUASHFS_CONF=( + LZMA_XZ_SUPPORT=$(use10 lzma) + LZO_SUPPORT=$(use10 lzo) + LZ4_SUPPORT=$(use10 lz4) + XATTR_SUPPORT=$(use10 xattr) + XZ_SUPPORT=$(use10 lzma) + ZSTD_SUPPORT=$(use10 zstd) + ) + + tc-export CC + use debug && append-cppflags -DSQUASHFS_TRACE +} + +src_compile() { + emake "${EMAKE_SQUASHFS_CONF[@]}" -C squashfs-tools +} + +src_install() { + dobin squashfs-tools/{mksquashfs,unsquashfs} + dodoc ACKNOWLEDGEMENTS CHANGES README* + dodoc -r RELEASE-READMEs + doman manpages/*.1 + + dosym unsquashfs /usr/bin/sqfscat + dosym mksquashfs /usr/bin/sqfstar +} diff --git a/sys-fs/udev-init-scripts/udev-init-scripts-35.ebuild b/sys-fs/udev-init-scripts/udev-init-scripts-35.ebuild index dc799ad0baf..866d0ce54c5 100644 --- a/sys-fs/udev-init-scripts/udev-init-scripts-35.ebuild +++ b/sys-fs/udev-init-scripts/udev-init-scripts-35.ebuild @@ -11,7 +11,7 @@ if [ "${PV}" = "9999" ]; then else SRC_URI="https://gitweb.gentoo.org/proj/${OLD_PN}.git/snapshot/${OLD_P}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${OLD_P}" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" fi DESCRIPTION="udev startup scripts for openrc" diff --git a/sys-fs/udev/udev-250.ebuild b/sys-fs/udev/udev-250.ebuild index 0a984b4284a..66b7f56ddb0 100644 --- a/sys-fs/udev/udev-250.ebuild +++ b/sys-fs/udev/udev-250.ebuild @@ -10,6 +10,6 @@ HOMEPAGE="https://systemd.io/" LICENSE="metapackage" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" RDEPEND="sys-apps/systemd-utils[udev,${MULTILIB_USEDEP}]" diff --git a/sys-fs/udiskie/Manifest b/sys-fs/udiskie/Manifest index e560e31fa20..cbaeb3c46ed 100644 --- a/sys-fs/udiskie/Manifest +++ b/sys-fs/udiskie/Manifest @@ -1,3 +1 @@ -DIST udiskie-2.4.0.tar.gz 94008 BLAKE2B 23c062aa79cb2ffd6377f8cdf3eea1c8398b56743054c701e878dd6070bd1ee14e3f1aab9a791d4b6d44b1ddab68cc69f92eb3dd711c9598d3d770d90a43e7d7 SHA512 3f2d3d37996442b21d8c167929eb2e6f2fcb864b313334954407b03d913c83671dd25960226bafc68e463ab0ea38cfb6947467dd8bf51bbee7f072e4bdf19d7a -DIST udiskie-2.4.1.tar.gz 94974 BLAKE2B f7aefecce230eb085ace5dd493ef2c24f7962138c6cae593887b7b62fc19360304442caa6454381321b287772eb517566ed4006bd4cace0f04a13bc060e31423 SHA512 0820ec5a04ede2076ac25110057bcee1bf8f69a9e7161017f23e108701b2d135c1bd62496c70727c462561612916d1eafb6cf69d1d77b8d5e0f4af3eab445eef DIST udiskie-2.4.2.tar.gz 95178 BLAKE2B eec6f4d2aed9ad86400ee8f3924a8b748cbb1e7ccc1aa2b681858065c18d172def5cc32763a7c2af0899fd719b53bf08d6fddbeb2611cfa74d5b968da0a756b9 SHA512 0881872c614f73b034835f6157eae7f944b6f4ea08a5dabaeb1e6a476a620720dfe950e538a03a3cbdd2a54e95f64a5349650decd554930d02086fdac2e45f23 diff --git a/sys-fs/udiskie/udiskie-2.4.0.ebuild b/sys-fs/udiskie/udiskie-2.4.0.ebuild deleted file mode 100644 index 905bb0bb94b..00000000000 --- a/sys-fs/udiskie/udiskie-2.4.0.ebuild +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{7..10} ) -inherit distutils-r1 xdg-utils - -DESCRIPTION="An automatic disk mounting service using udisks" -HOMEPAGE="https://pypi.org/project/udiskie/ https://github.com/coldfix/udiskie" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="amd64 ~arm x86" -IUSE="" - -RDEPEND="dev-python/docopt[${PYTHON_USEDEP}] - dev-python/pygobject:3[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - sys-fs/udisks:2" -DEPEND="app-text/asciidoc - dev-python/setuptools[${PYTHON_USEDEP}] - test? ( dev-python/python-keyutils[${PYTHON_USEDEP}] )" - -distutils_enable_tests pytest - -src_prepare() { - sed -i -e 's:gtk-update-icon-cache:true:' setup.py || die - default - - distutils-r1_src_prepare -} - -src_compile() { - distutils-r1_src_compile - emake -C doc -} - -src_install() { - distutils-r1_src_install - doman doc/${PN}.8 -} - -pkg_postinst() { - xdg_icon_cache_update -} - -pkg_postrm() { - xdg_icon_cache_update -} diff --git a/sys-fs/udiskie/udiskie-2.4.1.ebuild b/sys-fs/udiskie/udiskie-2.4.1.ebuild deleted file mode 100644 index 43fe883fb3a..00000000000 --- a/sys-fs/udiskie/udiskie-2.4.1.ebuild +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{7..10} ) -inherit distutils-r1 xdg-utils - -DESCRIPTION="An automatic disk mounting service using udisks" -HOMEPAGE="https://pypi.org/project/udiskie/ https://github.com/coldfix/udiskie" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" -IUSE="" - -RDEPEND="dev-python/docopt[${PYTHON_USEDEP}] - dev-python/pygobject:3[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - sys-fs/udisks:2" -DEPEND="app-text/asciidoc - dev-python/setuptools[${PYTHON_USEDEP}] - test? ( dev-python/python-keyutils[${PYTHON_USEDEP}] )" - -distutils_enable_tests pytest - -src_prepare() { - sed -i -e 's:gtk-update-icon-cache:true:' setup.py || die - default - - distutils-r1_src_prepare -} - -src_compile() { - distutils-r1_src_compile - emake -C doc -} - -src_install() { - distutils-r1_src_install - doman doc/${PN}.8 -} - -pkg_postinst() { - xdg_icon_cache_update -} - -pkg_postrm() { - xdg_icon_cache_update -} diff --git a/sys-fs/udiskie/udiskie-2.4.2.ebuild b/sys-fs/udiskie/udiskie-2.4.2.ebuild index 905bb0bb94b..0b4ca8482e3 100644 --- a/sys-fs/udiskie/udiskie-2.4.2.ebuild +++ b/sys-fs/udiskie/udiskie-2.4.2.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{7..10} ) +PYTHON_COMPAT=( python3_{9..11} ) inherit distutils-r1 xdg-utils DESCRIPTION="An automatic disk mounting service using udisks" diff --git a/sys-fs/udisks/udisks-2.9.4.ebuild b/sys-fs/udisks/udisks-2.9.4.ebuild index f5e7dd5fdbc..bd1114c6424 100644 --- a/sys-fs/udisks/udisks-2.9.4.ebuild +++ b/sys-fs/udisks/udisks-2.9.4.ebuild @@ -10,7 +10,7 @@ SRC_URI="https://github.com/storaged-project/udisks/releases/download/${P}/${P}. LICENSE="LGPL-2+ GPL-2+" SLOT="2" -KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 ~riscv sparc x86" +KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86" IUSE="acl +daemon debug elogind +introspection lvm nls selinux systemd vdo zram" REQUIRED_USE=" @@ -142,3 +142,7 @@ pkg_postinst() { ewarn "You should reboot the system now to get /run mounted with tmpfs!" fi } + +pkg_postrm() { + udev_reload +} diff --git a/sys-fs/unionfs-fuse/unionfs-fuse-2.2-r1.ebuild b/sys-fs/unionfs-fuse/unionfs-fuse-2.2-r1.ebuild new file mode 100644 index 00000000000..2312fa71e7c --- /dev/null +++ b/sys-fs/unionfs-fuse/unionfs-fuse-2.2-r1.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +PYTHON_COMPAT=( python3_{8..10} ) +inherit python-any-r1 toolchain-funcs + +DESCRIPTION="Self-syncing tree-merging file system based on FUSE" +HOMEPAGE="https://github.com/rpodgorny/unionfs-fuse" +SRC_URI="https://github.com/rpodgorny/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~x86-linux" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND="sys-fs/fuse:0" +DEPEND="${RDEPEND} + test? ( + $(python_gen_any_dep 'dev-python/pytest[${PYTHON_USEDEP}]') + ) +" + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +python_check_deps() { + use test || return 0 + has_version "dev-python/pytest[${PYTHON_USEDEP}]" +} + +src_compile() { + emake AR="$(tc-getAR)" CC="$(tc-getCC)" +} + +src_install() { + emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install +} + +src_test() { + [[ -e /dev/fuse ]] || return 0 + addwrite /dev/fuse + pytest -vv || die "Tests fail with ${EPYTHON}" +} diff --git a/sys-fs/unionfs-fuse/unionfs-fuse-9999.ebuild b/sys-fs/unionfs-fuse/unionfs-fuse-9999.ebuild index 5897a40f291..eab277c33f8 100644 --- a/sys-fs/unionfs-fuse/unionfs-fuse-9999.ebuild +++ b/sys-fs/unionfs-fuse/unionfs-fuse-9999.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="7" +EAPI="8" -PYTHON_COMPAT=( python3_{7..9} ) +PYTHON_COMPAT=( python3_{8..10} ) inherit git-r3 python-any-r1 toolchain-funcs DESCRIPTION="Self-syncing tree-merging file system based on FUSE" diff --git a/sys-fs/xfsdump/Manifest b/sys-fs/xfsdump/Manifest index 1bebe60de37..bf62052b788 100644 --- a/sys-fs/xfsdump/Manifest +++ b/sys-fs/xfsdump/Manifest @@ -1,2 +1 @@ DIST xfsdump-3.1.10.tar.xz 609424 BLAKE2B 742d392c4ca4532e64ab8fd89a27b0d7c669e3f977fb9362f3f41e1db09c250951aff3906a5f598892cf58b00a7aab636864af9461afb724feec2708f52cdbd9 SHA512 8a1b671b22fffb5d2eac45d5fd7a2948c137b3ca21fde06779cff13fc6eaa27286876f56715f2eeb82ce107278d763028474260a54a8fec722e5a5d7c5875c9a -DIST xfsdump-3.1.9.tar.xz 600348 BLAKE2B 9e833acaacd3ad581b4f23731d7d613fcffa3d518f43638cddbc7da7015e582cb9415e00616e5e8586836831b6d5877fa83e8a5fd931fd454731bf2af7072095 SHA512 e8f9811d16fc06ab49fe2c109de0546c989575eca6e68b579c6d219a745f935952020069f58b357c5c87b944c5097ca2894466d328d09f06beb8a55880142351 diff --git a/sys-fs/xfsdump/xfsdump-3.1.9-r1.ebuild b/sys-fs/xfsdump/xfsdump-3.1.9-r1.ebuild deleted file mode 100644 index 500e295dd5f..00000000000 --- a/sys-fs/xfsdump/xfsdump-3.1.9-r1.ebuild +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit toolchain-funcs - -DESCRIPTION="xfs dump/restore utilities" -HOMEPAGE="https://xfs.wiki.kernel.org/" -SRC_URI="https://www.kernel.org/pub/linux/utils/fs/xfs/${PN}/${P}.tar.xz" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 -sparc x86" -IUSE="ncurses nls" - -RDEPEND=" - >=sys-apps/attr-2.4.19 - sys-apps/util-linux - sys-fs/e2fsprogs - >=sys-fs/xfsprogs-3.2.0 - ncurses? ( sys-libs/ncurses:0= ) -" -DEPEND="${RDEPEND} - nls? ( - sys-devel/gettext - ) -" -BDEPEND="ncurses? ( virtual/pkgconfig )" - -PATCHES=( - "${FILESDIR}"/${PN}-3.1.9-prompt-overflow.patch #335115 - "${FILESDIR}"/${PN}-3.1.9-no-symlink.patch #311881 - "${FILESDIR}"/${PN}-3.1.6-linguas.patch #561664 - "${FILESDIR}"/${PN}-3.1.9-fix-docs.patch - "${FILESDIR}"/${PN}-3.1.9-skip-inventory-debian-subfolder.patch -) - -src_prepare() { - sed -i \ - -e "/^PKG_DOC_DIR/s:@pkg_name@:${PF}:" \ - include/builddefs.in \ - || die - - sed -i \ - -e "s:enable_curses=[a-z]*:enable_curses=$(usex ncurses):" \ - -e "s:libcurses=\"[^\"]*\":libcurses='$(use ncurses && $(tc-getPKG_CONFIG) --libs ncurses)':" \ - configure || die #605852 - - default -} - -src_configure() { - unset PLATFORM #184564 - export OPTIMIZER=${CFLAGS} - export DEBUG=-DNDEBUG - - local myeconfargs=( - $(use_enable nls gettext) - --libdir="${EPREFIX}/$(get_libdir)" - --libexecdir="${EPREFIX}/usr/$(get_libdir)" - --sbindir="${EPREFIX}/sbin" - ) - econf "${myeconfargs[@]}" -} - -src_compile() { - # enable verbose build - emake V=1 -} diff --git a/sys-fs/xfsprogs/Manifest b/sys-fs/xfsprogs/Manifest index 8a1ffbddce2..59ac4136f68 100644 --- a/sys-fs/xfsprogs/Manifest +++ b/sys-fs/xfsprogs/Manifest @@ -1,4 +1,2 @@ -DIST xfsprogs-5.10.0.tar.xz 1273332 BLAKE2B 8caaa0ca8a94480f131d36b383afcf732b3a5a7a3c7927b4b4da4855fc5a0fb97a56fcebb98391a4dd0f02465868a4bd857e57eeba053a419df47d42f74bc958 SHA512 da09e687c87c4b133888dba7b4458017ec028020637ea5066be0232bf5c7da18239cc33eadd02d9b99d1c835aab38cab1ec9d45ae8b83897f9157cfcb0271fbd DIST xfsprogs-5.14.2.tar.xz 1308912 BLAKE2B 04083bf7952015d64f16e1aec0fa74be1957543e2264914f69defe45a3dc9f2524d941abc064a25a2fd760ebd6dcdcdc2404fd305e08fff7f6be6c5fc11d4d2f SHA512 cb9794247a2eed8bd9f10ff811d38f97e4adbed97bad334b0fa8a26503ec224237eddd92fd78892584a153967417ab2009fb2fc8bab6ef12cd53fd20bdba1b4e -DIST xfsprogs-5.15.0.tar.xz 1303080 BLAKE2B e2d60eb554d206b2d2910d07e20051fb0abd71723186bcdfa07f1ebd2c10c0a7ae387ea5f41e1be008d8e8cede97371581da06505e1675aa210fc3ac242d0782 SHA512 be7ee319fd13c103d88c7fc939277594a386d88d65349594a33eea2899ec4f28115b4ea53b64176cacbd52f3c801e103a085388e3539fc445a4ecd2775766438 -DIST xfsprogs-5.16.0.tar.xz 1306100 BLAKE2B da328fe0c146a7b8ba866c5872f26ce95010939e05da51c73ed6374f00474605a81f4a822d65b60a132a4de47fff286e9f5f1ac809c1aa29420633f573b61aef SHA512 949ddb42d37523d6494aa33d1f73757a6379ee661147b9bb84372bdc3ccf60cdf07580f5337b2f0aebdc5d9c2b7de37cc05d010a2b094d1119d900225fc5b711 +DIST xfsprogs-5.18.0.tar.xz 1310008 BLAKE2B a2a2835d53ee6ac55279636f3f3cdcecab8757911ce5c1ea5f350a4da9ff4c1ca64b2aba1c0e5424c0c0a01fd0504396d5fecca12e4689c372ed5bb76b9ac24e SHA512 47d035a33367edae7357e34c70bdb0fe9219231153fb4c4f418ed1462d137dd77338c12a199eb71cd70e88903e5fc11e1e4fb595c622183786e87346e2f65739 diff --git a/sys-fs/xfsprogs/files/xfsprogs-5.18.0-docdir.patch b/sys-fs/xfsprogs/files/xfsprogs-5.18.0-docdir.patch new file mode 100644 index 00000000000..480f44cf607 --- /dev/null +++ b/sys-fs/xfsprogs/files/xfsprogs-5.18.0-docdir.patch @@ -0,0 +1,11 @@ +--- a/scrub/Makefile ++++ b/scrub/Makefile +@@ -25,7 +25,7 @@ + CRONTABS = xfs_scrub_all.cron + OPTIONAL_TARGETS += $(CRONTABS) + # Don't enable the crontab by default for now +-CROND_DIR = $(PKG_LIB_SCRIPT_DIR)/$(PKG_NAME) ++CROND_DIR = $(PKG_DOC_DIR) + endif + + endif # scrub_prereqs diff --git a/sys-fs/xfsprogs/xfsprogs-5.10.0-r1.ebuild b/sys-fs/xfsprogs/xfsprogs-5.10.0-r1.ebuild deleted file mode 100644 index 09adcd12008..00000000000 --- a/sys-fs/xfsprogs/xfsprogs-5.10.0-r1.ebuild +++ /dev/null @@ -1,95 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit flag-o-matic toolchain-funcs systemd usr-ldscript - -DESCRIPTION="xfs filesystem utilities" -HOMEPAGE="https://xfs.wiki.kernel.org/" -SRC_URI="https://www.kernel.org/pub/linux/utils/fs/xfs/${PN}/${P}.tar.xz" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86" -IUSE="icu libedit nls selinux" - -RDEPEND=">=sys-apps/util-linux-2.17.2 - dev-libs/inih - icu? ( dev-libs/icu:= ) - libedit? ( dev-libs/libedit ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - nls? ( sys-devel/gettext ) -" -RDEPEND+=" selinux? ( sec-policy/selinux-xfs )" - -PATCHES=( - "${FILESDIR}"/${PN}-4.15.0-docdir.patch - "${FILESDIR}"/${PN}-5.3.0-libdir.patch -) - -src_prepare() { - default - - # Fix doc dir - sed -i \ - -e "/^PKG_DOC_DIR/s:@pkg_name@:${PF}:" \ - include/builddefs.in || die - - # Don't install compressed docs - sed 's@\(CHANGES\)\.gz[[:space:]]@\1 @' -i doc/Makefile || die -} - -src_configure() { - # include/builddefs.in will add FCFLAGS to CFLAGS which will - # unnecessarily clutter CFLAGS (and fortran isn't used) - unset FCFLAGS - - export DEBUG=-DNDEBUG - - # Package is honoring CFLAGS; No need to use OPTIMIZER anymore. - # However, we have to provide an empty value to avoid default - # flags. - export OPTIMIZER=" " - - unset PLATFORM # if set in user env, this breaks configure - - # Avoid automagic on libdevmapper, #709694 - export ac_cv_search_dm_task_create=no - - # Build fails with -O3 (bug #712698) - replace-flags -O3 -O2 - - # Upstream does NOT support --disable-static anymore, - # https://www.spinics.net/lists/linux-xfs/msg30185.html - # https://www.spinics.net/lists/linux-xfs/msg30272.html - local myconf=( - --enable-blkid - --with-crond-dir="${EPREFIX}/etc/cron.d" - --with-systemd-unit-dir="$(systemd_get_systemunitdir)" - $(use_enable icu libicu) - $(use_enable nls gettext) - $(use_enable libedit editline) - ) - - if is-flagq -flto ; then - myconf+=( --enable-lto ) - else - myconf+=( --disable-lto ) - fi - - econf "${myconf[@]}" -} - -src_compile() { - emake V=1 -} - -src_install() { - emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install - emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install-dev - - gen_usr_ldscript -a handle -} diff --git a/sys-fs/xfsprogs/xfsprogs-5.15.0.ebuild b/sys-fs/xfsprogs/xfsprogs-5.15.0.ebuild deleted file mode 100644 index 202d1ea4a5f..00000000000 --- a/sys-fs/xfsprogs/xfsprogs-5.15.0.ebuild +++ /dev/null @@ -1,94 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit flag-o-matic systemd usr-ldscript - -DESCRIPTION="xfs filesystem utilities" -HOMEPAGE="https://xfs.wiki.kernel.org/" -SRC_URI="https://www.kernel.org/pub/linux/utils/fs/xfs/${PN}/${P}.tar.xz" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -IUSE="icu libedit nls selinux" - -RDEPEND=">=sys-apps/util-linux-2.17.2 - dev-libs/inih - dev-libs/userspace-rcu:= - icu? ( dev-libs/icu:= ) - libedit? ( dev-libs/libedit ) -" -DEPEND="${RDEPEND}" -BDEPEND="nls? ( sys-devel/gettext )" -RDEPEND+=" selinux? ( sec-policy/selinux-xfs )" - -PATCHES=( - "${FILESDIR}"/${PN}-4.15.0-docdir.patch - "${FILESDIR}"/${PN}-5.3.0-libdir.patch -) - -src_prepare() { - default - - # Fix doc dir - sed -i \ - -e "/^PKG_DOC_DIR/s:@pkg_name@:${PF}:" \ - include/builddefs.in || die - - # Don't install compressed docs - sed 's@\(CHANGES\)\.gz[[:space:]]@\1 @' -i doc/Makefile || die -} - -src_configure() { - # include/builddefs.in will add FCFLAGS to CFLAGS which will - # unnecessarily clutter CFLAGS (and fortran isn't used) - unset FCFLAGS - - export DEBUG=-DNDEBUG - - # Package is honoring CFLAGS; No need to use OPTIMIZER anymore. - # However, we have to provide an empty value to avoid default - # flags. - export OPTIMIZER=" " - - unset PLATFORM # if set in user env, this breaks configure - - # Avoid automagic on libdevmapper, #709694 - export ac_cv_search_dm_task_create=no - - # Build fails with -O3 (bug #712698) - replace-flags -O3 -O2 - - # Upstream does NOT support --disable-static anymore, - # https://www.spinics.net/lists/linux-xfs/msg30185.html - # https://www.spinics.net/lists/linux-xfs/msg30272.html - local myconf=( - --enable-blkid - --with-crond-dir="${EPREFIX}/etc/cron.d" - --with-systemd-unit-dir="$(systemd_get_systemunitdir)" - $(use_enable icu libicu) - $(use_enable nls gettext) - $(use_enable libedit editline) - ) - - if is-flagq -flto ; then - myconf+=( --enable-lto ) - else - myconf+=( --disable-lto ) - fi - - econf "${myconf[@]}" -} - -src_compile() { - emake V=1 -} - -src_install() { - emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install - emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install-dev - - gen_usr_ldscript -a handle -} diff --git a/sys-fs/xfsprogs/xfsprogs-5.16.0.ebuild b/sys-fs/xfsprogs/xfsprogs-5.18.0.ebuild index 1307cd0f82e..b9facc52f47 100644 --- a/sys-fs/xfsprogs/xfsprogs-5.16.0.ebuild +++ b/sys-fs/xfsprogs/xfsprogs-5.18.0.ebuild @@ -5,7 +5,7 @@ EAPI=7 inherit flag-o-matic systemd usr-ldscript -DESCRIPTION="xfs filesystem utilities" +DESCRIPTION="XFS filesystem utilities" HOMEPAGE="https://xfs.wiki.kernel.org/" SRC_URI="https://www.kernel.org/pub/linux/utils/fs/xfs/${PN}/${P}.tar.xz" @@ -14,9 +14,9 @@ SLOT="0" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE="icu libedit nls selinux" -RDEPEND=">=sys-apps/util-linux-2.17.2 - dev-libs/inih +RDEPEND="dev-libs/inih dev-libs/userspace-rcu:= + >=sys-apps/util-linux-2.17.2 icu? ( dev-libs/icu:= ) libedit? ( dev-libs/libedit )" DEPEND="${RDEPEND}" @@ -24,8 +24,8 @@ BDEPEND="nls? ( sys-devel/gettext )" RDEPEND+=" selinux? ( sec-policy/selinux-xfs )" PATCHES=( - "${FILESDIR}"/${PN}-4.15.0-docdir.patch "${FILESDIR}"/${PN}-5.3.0-libdir.patch + "${FILESDIR}"/${PN}-5.18.0-docdir.patch ) src_prepare() { diff --git a/sys-fs/zerofree/zerofree-1.1.1-r1.ebuild b/sys-fs/zerofree/zerofree-1.1.1-r1.ebuild index 79566f7af0e..d062b46de0b 100644 --- a/sys-fs/zerofree/zerofree-1.1.1-r1.ebuild +++ b/sys-fs/zerofree/zerofree-1.1.1-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -11,7 +11,7 @@ SRC_URI="http://frippery.org/uml/${P}.tgz" LICENSE="GPL-2" SLOT="0" -KEYWORDS="amd64 arm arm64 ~mips x86" +KEYWORDS="amd64 arm arm64 ~mips ~riscv x86" DEPEND="sys-fs/e2fsprogs" RDEPEND="${DEPEND}" diff --git a/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-1.2.4-drop-which.patch b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-1.2.4-drop-which.patch new file mode 100644 index 00000000000..125cb3d1fc0 --- /dev/null +++ b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-1.2.4-drop-which.patch @@ -0,0 +1,47 @@ +--- a/etc/zfs-auto-snapshot.cron.daily ++++ b/etc/zfs-auto-snapshot.cron.daily +@@ -1,6 +1,6 @@ + #!/bin/sh + + # Only call zfs-auto-snapshot if it's available +-which zfs-auto-snapshot > /dev/null || exit 0 ++command -v zfs-auto-snapshot > /dev/null || exit 0 + + exec zfs-auto-snapshot --quiet --syslog --label=daily --keep=31 // +--- a/etc/zfs-auto-snapshot.cron.frequent ++++ b/etc/zfs-auto-snapshot.cron.frequent +@@ -1,3 +1,3 @@ + PATH="/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin" + +-*/15 * * * * root which zfs-auto-snapshot > /dev/null || exit 0 ; zfs-auto-snapshot --quiet --syslog --label=frequent --keep=4 // ++*/15 * * * * root command -v zfs-auto-snapshot > /dev/null || exit 0 ; zfs-auto-snapshot --quiet --syslog --label=frequent --keep=4 // +--- a/etc/zfs-auto-snapshot.cron.hourly ++++ b/etc/zfs-auto-snapshot.cron.hourly +@@ -1,6 +1,6 @@ + #!/bin/sh + + # Only call zfs-auto-snapshot if it's available +-which zfs-auto-snapshot > /dev/null || exit 0 ++command -v zfs-auto-snapshot > /dev/null || exit 0 + + exec zfs-auto-snapshot --quiet --syslog --label=hourly --keep=24 // +--- a/etc/zfs-auto-snapshot.cron.monthly ++++ b/etc/zfs-auto-snapshot.cron.monthly +@@ -1,6 +1,6 @@ + #!/bin/sh + + # Only call zfs-auto-snapshot if it's available +-which zfs-auto-snapshot > /dev/null || exit 0 ++command -v zfs-auto-snapshot > /dev/null || exit 0 + + exec zfs-auto-snapshot --quiet --syslog --label=monthly --keep=12 // +--- a/etc/zfs-auto-snapshot.cron.weekly ++++ b/etc/zfs-auto-snapshot.cron.weekly +@@ -1,6 +1,6 @@ + #!/bin/sh + + # Only call zfs-auto-snapshot if it's available +-which zfs-auto-snapshot > /dev/null || exit 0 ++command -v zfs-auto-snapshot > /dev/null || exit 0 + + exec zfs-auto-snapshot --quiet --syslog --label=weekly --keep=8 // diff --git a/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r1.ebuild b/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r2.ebuild index 30221867b13..2af66eac668 100644 --- a/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r1.ebuild +++ b/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r2.ebuild @@ -23,6 +23,7 @@ SLOT="0" IUSE="+cron +default-exclude systemd" RDEPEND=" + sys-apps/which sys-fs/zfs !systemd? ( virtual/cron ) " diff --git a/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r3.ebuild b/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r3.ebuild new file mode 100644 index 00000000000..e503554be28 --- /dev/null +++ b/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r3.ebuild @@ -0,0 +1,92 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit prefix readme.gentoo-r1 systemd + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/zfsonlinux/${PN}.git" +else + MY_P="${PN}-upstream-${PV}" + SRC_URI="https://github.com/zfsonlinux/${PN}/archive/upstream/${PV}.tar.gz -> ${MY_P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" + S="${WORKDIR}/${MY_P}" +fi + +DESCRIPTION="ZFS Automatic Snapshot Service for Linux" +HOMEPAGE="https://github.com/zfsonlinux/zfs-auto-snapshot" + +LICENSE="GPL-2+" +SLOT="0" +IUSE="+cron +default-exclude systemd" + +RDEPEND=" + sys-fs/zfs + !systemd? ( virtual/cron ) +" + +REQUIRED_USE="!systemd? ( cron )" + +PATCHES=( + "${FILESDIR}"/${PN}-1.2.4-drop-which.patch +) + +src_install() { + if use default-exclude; then + for cronfile in etc/"${PN}".cron.{daily,hourly,monthly,weekly}; do + sed -i "s/\(^exec ${PN}\)/\1 --default-exclude/" "${cronfile}" || die + done + sed -i "s/\(; ${PN}\)/\1 --default-exclude/" etc/"${PN}".cron.frequent || die + fi + readme.gentoo_create_doc + emake PREFIX="${EPREFIX}/usr" DESTDIR="${D}" install + + local exclude unit + exclude="$(usev default-exclude)" + for unit in "${PN}"{-daily,-frequent,-hourly,-monthly,-weekly}.service; do + cp "${FILESDIR}/${unit}" "${T}/${unit}" || die + eprefixify "${T}/${unit}" + sed -i "s/@DEFAULT_EXCLUDE@/${exclude:+--default-exclude}/g" "${T}/${unit}" || die + systemd_dounit "${T}/${unit}" + done + for unit in "${PN}"{-daily,-frequent,-hourly,-monthly,-weekly}.timer; do + systemd_dounit "${FILESDIR}/${unit}" + done + systemd_dounit "${FILESDIR}/${PN}.target" + + if ! use cron; then + ebegin "removing cron files from installation image" + rm -rfv "${ED}/etc" || die + eend "$?" + fi +} + +pkg_postinst() { + readme.gentoo_print_elog + + if ! use default-exclude; then + ewarn "snapshots are enabled by default for ALL zfs datasets" + ewarn "set com.sun:auto-snapshot=false or enable 'default-exclude' flag" + elog + fi + + if use cron && has_version sys-process/fcron; then + ewarn "frequent snapshot may not work if you are using fcron" + ewarn "you should add frequent job to crontab manually" + fi + + if use cron; then + if systemd_is_booted || has_version sys-apps/systemd; then + echo + ewarn "Both 'cron' and 'systemd' flags are enabled." + ewarn "So both ${PN}.target and cron files were installed." + ewarn "Please don't use 2 implementations at the same time." + ewarn "Cronjobs are usually enabled by default via /etc/cron.* jobs" + ewarn "If you want to use systemd ${PN}.target timers" + ewarn "disable 'cron' flag and reinstall ${PN}" + echo + fi + fi +} diff --git a/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-9999.ebuild b/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-9999.ebuild index 18a922257db..221028bc21a 100644 --- a/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-9999.ebuild +++ b/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-9999.ebuild @@ -23,6 +23,7 @@ SLOT="0" IUSE="+cron +default-exclude systemd" RDEPEND=" + sys-apps/which sys-fs/zfs !systemd? ( virtual/cron ) " diff --git a/sys-fs/zfs-kmod/Manifest b/sys-fs/zfs-kmod/Manifest index 737e23e8e6e..7b982f51e74 100644 --- a/sys-fs/zfs-kmod/Manifest +++ b/sys-fs/zfs-kmod/Manifest @@ -1,7 +1,7 @@ -DIST zfs-0.8.6.tar.gz 9295260 BLAKE2B 45424d710aaf75a05f766ae523ae157a24b5cbdcefe72a59e4cede81e42f7a92ae7f01150388437b78cd49f3d28b9664599f2a624516e6b3f1073497194a99f2 SHA512 626b172554f39a5c70f6ea5c599a92fae52534590d1b0273de2bbfc3676d29dff0eade8ca17e5f179a59870c12bc758fb53b7900f8a1fdbdef3a9161b93f9cce DIST zfs-2.0.7.tar.gz 14550055 BLAKE2B 80f7297f04a21cd8f3f2043d895b0325512ba0cea3bb9223561237754495c8233d29af5a9418a3c06a87510100240a45ef3d59c7ce776fffb5aafdcd18167c21 SHA512 1135abf74bf74685439018f7cd65fc52088f179d113bdd2e6481689bb0f4a016716a07d859107b74501fda00689e80b2488c7c2c53d5f058d6b659909ed85f6f DIST zfs-2.0.7.tar.gz.asc 836 BLAKE2B 65e7df58c33ccadc4e0ca9dbc1e8c006abbec8442e2da50872a1ab0cbb841fc45152298e8d3b93ee4320ddae6416e3a856caf80d8efb21b19db53dfedbf00e38 SHA512 b901d8e92faa6cfe6010bd54de88c7d18057f434cb07f8a89672d6c446a0a97b23209ee8f02cfd3b2a8f431c68ec977e7dc9f95fe5d385dba0bb6d37338ba682 -DIST zfs-2.1.2.tar.gz 34829045 BLAKE2B ab4e2d85200438373c7eeeaa5256a712dbfb2862b85de1fb7554ad0cc2b9f8e1255ab4564bca62f65a81a823adb8c112957e6e8771b8e5e6944c3731bc894584 SHA512 3e3932259da2a27f1c4cca8da62b909edc43bf51ab0229d2d5d0234d9a7eaa7b63b67c06a98cbe2d29ba1eb5cbcaab16e5062c2a2bc8e84cab770be10ebf2102 -DIST zfs-2.1.2.tar.gz.asc 836 BLAKE2B 8f5666f5c3d7016a4d79191f42d0a220fe8c654a0d64e3da3b575644fe52c83dcb9f9ef49ba0553771a127bba44e2802f1d366a7a38f670e73612deef76755c3 SHA512 da6bfccd19a249a6891f5e1de6c4b332e98ce4f125f638c046b9cedac3fd79c56a99dd9a620105a40741e5f04b382f5d5996b56cbe576fb268b31e57e0fed6eb DIST zfs-2.1.4.tar.gz 34896310 BLAKE2B be303f1181f604770536aa4aa61d5319ec408abbd04964cedadd15b3101a15deba6539bb5d833f4fed357f323d74f622d035305df699b213df41ae45bffdd200 SHA512 c7b57c43fc287b22905067ab022df4133d32e1a5dc335f7baf743b4ef88f64c2bf9d41318c2083230d077dd49e68f7d9e6172266e13d4b1eee29d359860f969e DIST zfs-2.1.4.tar.gz.asc 836 BLAKE2B b311730f72d534c87a782515f35a354bfbefba0513dc0cee5b0b497cf742590f13be6a49ff8a70d7d6503d0ba06b0266e7d290d718337add614812c3d1b0731a SHA512 53880cd5369f468551bab685eb83739ed76aa286886fdd2cbad4270755fe809da730082a91bba61011f59594fac297ce05645ae32c2c73b4a9aa835f2991a1ee +DIST zfs-2.1.5-patches.tar.xz 13324 BLAKE2B bfef8abd298cebd54491272b8c1deacace901d9a1acce67cb927bab6447eafd985352fd09f64336aa9d6611bab0e5c761d7973f0a65c408d77bb735a94c60253 SHA512 d2b009664f8eb4f2a8596693011fde578b6eae123c6169e5dfb70bd920c0f987f5177f7b1be008705a421574a8a9bc930f99823785c69e81573f18b0350cb9bd +DIST zfs-2.1.5.tar.gz 34951632 BLAKE2B c6e3efd9c0cda91654767eaad0eaaa05cd9a5daf1cb0384c9c78b30062f5c29142ac37ab9dbdaf96c91456d11c317d782d3524ade293f03fda983e5992b79e49 SHA512 d9ccf1049cefa9167d25f71fbdca70092cd02368b60f09341e6489fb68dc5f89e87b026b0191f4d81181a8851449124d824a1d959d0e2fb29c8a3d624edc4f03 +DIST zfs-2.1.5.tar.gz.asc 836 BLAKE2B 4a81c266967540850a2cc824e79555ca9d05b2e17e45fa2723893cbd85b55e3d7d791986d6667b7ee1530e7692c03818f15e8b6798393b54989f90801b775786 SHA512 224b0dcf4982c63a8eff0a39d054537e7d023f7c35e154e4d20490b8daf184c076bc8e4de7d2c5af4059f8a802b747e637aad4479cd8d1330cf5b26da2f19c94 diff --git a/sys-fs/zfs-kmod/files/0.8.6-copy-builtin.patch b/sys-fs/zfs-kmod/files/0.8.6-copy-builtin.patch deleted file mode 100644 index 2b1ef858254..00000000000 --- a/sys-fs/zfs-kmod/files/0.8.6-copy-builtin.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 0ce99b43b339226d62362f624d37f80a921eb197 Mon Sep 17 00:00:00 2001 -From: Georgy Yakovlev <gyakovlev@gentoo.org> -Date: Fri, 18 Dec 2020 11:35:07 -0800 -Subject: [PATCH] copy-builtin: handle missing .gitignore - -acfc4944d0d6db114db9f2bb5401251c5bd767b6 broke copy-builtin in -release tarballs, because those do not contain .gitignore file. -Adding -f to rm call will make it return 0 even if file does not exist. - -Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> ---- - copy-builtin | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/copy-builtin b/copy-builtin -index 84f469fef02..6a6eb1f3695 100755 ---- a/copy-builtin -+++ b/copy-builtin -@@ -36,7 +36,7 @@ rm -rf "$KERNEL_DIR/include/zfs" "$KERNEL_DIR/fs/zfs" - cp --recursive include "$KERNEL_DIR/include/zfs" - cp --recursive module "$KERNEL_DIR/fs/zfs" - cp zfs_config.h "$KERNEL_DIR/include/zfs/" --rm "$KERNEL_DIR/include/zfs/.gitignore" -+rm -f "$KERNEL_DIR/include/zfs/.gitignore" - - for MODULE in "${MODULES[@]}" - do diff --git a/sys-fs/zfs-kmod/files/2.1.5-build-issues.patch b/sys-fs/zfs-kmod/files/2.1.5-build-issues.patch new file mode 100644 index 00000000000..cca6561b16f --- /dev/null +++ b/sys-fs/zfs-kmod/files/2.1.5-build-issues.patch @@ -0,0 +1,74 @@ +https://github.com/openzfs/zfs/commit/a6e8113fed8a508ffda13cf1c4d8da99a4e8133a +https://github.com/openzfs/zfs/commit/60e389ca10085acfa7cd35f79ab4465d968a942f +Cherry-picked from https://github.com/openzfs/zfs/pull/13575 + +https://bugs.gentoo.org/855182 +--- a/config/always-compiler-options.m4 ++++ b/config/always-compiler-options.m4 +@@ -205,6 +205,29 @@ AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_CC_NO_OMIT_FRAME_POINTER], [ + AC_SUBST([NO_OMIT_FRAME_POINTER]) + ]) + ++dnl # ++dnl # Check if cc supports -Winfinite-recursion option. ++dnl # ++AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_CC_INFINITE_RECURSION], [ ++ AC_MSG_CHECKING([whether $CC supports -Winfinite-recursion]) ++ ++ saved_flags="$CFLAGS" ++ CFLAGS="$CFLAGS -Werror -Winfinite-recursion" ++ ++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])], [ ++ INFINITE_RECURSION=-Winfinite-recursion ++ AC_DEFINE([HAVE_INFINITE_RECURSION], 1, ++ [Define if compiler supports -Winfinite-recursion]) ++ AC_MSG_RESULT([yes]) ++ ], [ ++ INFINITE_RECURSION= ++ AC_MSG_RESULT([no]) ++ ]) ++ ++ CFLAGS="$saved_flags" ++ AC_SUBST([INFINITE_RECURSION]) ++]) ++ + dnl # + dnl # Check if cc supports -fno-ipa-sra option. + dnl # +--- a/config/zfs-build.m4 ++++ b/config/zfs-build.m4 +@@ -211,6 +211,7 @@ AC_DEFUN([ZFS_AC_CONFIG_ALWAYS], [ + + ZFS_AC_CONFIG_ALWAYS_CC_NO_UNUSED_BUT_SET_VARIABLE + ZFS_AC_CONFIG_ALWAYS_CC_NO_BOOL_COMPARE ++ ZFS_AC_CONFIG_ALWAYS_CC_INFINITE_RECURSION + ZFS_AC_CONFIG_ALWAYS_CC_IMPLICIT_FALLTHROUGH + ZFS_AC_CONFIG_ALWAYS_CC_FRAME_LARGER_THAN + ZFS_AC_CONFIG_ALWAYS_CC_NO_FORMAT_TRUNCATION +--- a/module/lua/ldo.c ++++ b/module/lua/ldo.c +@@ -168,6 +168,13 @@ static void seterrorobj (lua_State *L, int errcode, StkId oldtop) { + L->top = oldtop + 1; + } + ++/* ++ * Silence infinite recursion warning which was added to -Wall in gcc 12.1 ++ */ ++#if defined(HAVE_INFINITE_RECURSION) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Winfinite-recursion" ++#endif + + l_noret luaD_throw (lua_State *L, int errcode) { + if (L->errorJmp) { /* thread has an error handler? */ +@@ -190,6 +197,10 @@ l_noret luaD_throw (lua_State *L, int errcode) { + } + } + ++#if defined(HAVE_INFINITE_RECURSION) ++#pragma GCC diagnostic pop ++#endif ++ + + int luaD_rawrunprotected (lua_State *L, Pfunc f, void *ud) { + unsigned short oldnCcalls = L->nCcalls; diff --git a/sys-fs/zfs-kmod/zfs-kmod-0.8.6.ebuild b/sys-fs/zfs-kmod/zfs-kmod-2.1.5-r1.ebuild index 49d364f92cc..93d1733d51d 100644 --- a/sys-fs/zfs-kmod/zfs-kmod-0.8.6.ebuild +++ b/sys-fs/zfs-kmod/zfs-kmod-2.1.5-r1.ebuild @@ -12,22 +12,29 @@ if [[ ${PV} == "9999" ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/openzfs/zfs.git" else - SRC_URI="https://github.com/openzfs/zfs/releases/download/zfs-${PV}/zfs-${PV}.tar.gz" - KEYWORDS="amd64 arm64 ppc64" - S="${WORKDIR}/zfs-${PV}" - ZFS_KERNEL_COMPAT="5.9" + VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/openzfs.asc + inherit verify-sig - # increments minor eg 5.14 -> 5.15, and still supports override. + MY_PV="${PV/_rc/-rc}" + SRC_URI="https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz" + SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/sys-fs/zfs/${P/-kmod}-patches.tar.xz" + SRC_URI+=" verify-sig? ( https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz.asc )" + S="${WORKDIR}/zfs-${PV%_rc?}" + ZFS_KERNEL_COMPAT="5.18" + + # 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 fi -LICENSE="CDDL debug? ( GPL-2+ )" +LICENSE="CDDL MIT debug? ( GPL-2+ )" SLOT="0/${PVR}" IUSE="custom-cflags debug +rootfs" -DEPEND="" - RDEPEND="${DEPEND} !sys-kernel/spl " @@ -35,9 +42,19 @@ RDEPEND="${DEPEND} BDEPEND=" dev-lang/perl virtual/awk - dist-kernel? ( <virtual/dist-kernel-${ZFS_KERNEL_DEP}:= ) " +# 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? ( sec-keys/openpgp-keys-openzfs ) + dist-kernel? ( <virtual/dist-kernel-${ZFS_KERNEL_DEP}:= ) + " +fi + # PDEPEND in this form is needed to trick portage suggest # enabling dist-kernel if only 1 package have it set PDEPEND="dist-kernel? ( ~sys-fs/zfs-${PV}[dist-kernel] )" @@ -46,6 +63,11 @@ RESTRICT="debug? ( strip ) test" DOCS=( AUTHORS COPYRIGHT META README.md ) +PATCHES=( + # bug #863212, bug #855182 + "${WORKDIR}"/${P/-kmod}-patches/ +) + pkg_pretend() { use rootfs || return 0 @@ -57,9 +79,6 @@ pkg_pretend() { fi } -# https://github.com/openzfs/zfs/pull/11371 -PATCHES=( "${FILESDIR}/${PV}-copy-builtin.patch" ) - pkg_setup() { CONFIG_CHECK=" !DEBUG_LOCK_ALLOC @@ -83,10 +102,6 @@ pkg_setup() { DEVTMPFS " - if use arm64; then - kernel_is -ge 5 && CONFIG_CHECK="${CONFIG_CHECK} !PREEMPT" - fi - kernel_is -lt 5 && CONFIG_CHECK="${CONFIG_CHECK} IOSCHED_NOOP" if [[ ${PV} != "9999" ]]; then @@ -98,22 +113,29 @@ pkg_setup() { kernel_is -le "${kv_major_max}" "${kv_minor_max}" || die \ "Linux ${kv_major_max}.${kv_minor_max} is the latest supported version" - # 0.8.x requires at least 2.6.32 - kernel_is ge 2 6 32 || die "Linux 2.6.32 or newer required" - else - # git master requires at least 3.10 - kernel_is -ge 3 10 || die "Linux 3.10 or newer required" fi + kernel_is -ge 3 10 || die "Linux 3.10 or newer required" + linux-mod_pkg_setup } +src_unpack() { + if use verify-sig ; then + # Needed for downloaded patch (which is unsigned, which is fine) + verify-sig_verify_detached "${DISTDIR}"/zfs-${MY_PV}.tar.gz{,.asc} + fi + + default +} + src_prepare() { default - if [[ ${PV} == "9999" ]]; then - eautoreconf - else + # Run unconditionally (bug #792627) + eautoreconf + + if [[ ${PV} != "9999" ]]; then # Set module revision number sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" META || die "Could not set Gentoo release" fi @@ -141,7 +163,7 @@ src_configure() { $(use_enable debug) ) - CONFIG_SHELL="${EPREFIX}/bin/bash" econf "${myconf[@]}" + econf "${myconf[@]}" } src_compile() { @@ -160,8 +182,8 @@ src_install() { myemakeargs+=( DEPMOD=: + # INSTALL_MOD_PATH ?= $(DESTDIR) in module/Makefile DESTDIR="${D}" - INSTALL_MOD_PATH="${EPREFIX:-/}" # lib/modules/<kver> added by KBUILD ) emake "${myemakeargs[@]}" install @@ -172,15 +194,6 @@ src_install() { pkg_postinst() { linux-mod_pkg_postinst - # Remove old modules - if [[ -d "${EROOT}/lib/modules/${KV_FULL}/addon/zfs" ]]; then - ewarn "${PN} now installs modules in ${EROOT}/lib/modules/${KV_FULL}/extra/zfs" - ewarn "Old modules were detected in ${EROOT}/lib/modules/${KV_FULL}/addon/zfs" - ewarn "Automatically removing old modules to avoid problems." - rm -r "${EROOT}/lib/modules/${KV_FULL}/addon/zfs" || die "Cannot remove modules" - rmdir --ignore-fail-on-non-empty "${EROOT}/lib/modules/${KV_FULL}/addon" - fi - if [[ -z ${ROOT} ]] && use dist-kernel; then set_arch_to_pkgmgr dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}" @@ -191,22 +204,17 @@ pkg_postinst() { ewarn "at least 256M and decreasing zfs_arc_max to some value less than that." fi - ewarn "This version of OpenZFS includes support for new feature flags" - ewarn "that are incompatible with previous versions. GRUB2 support for" - ewarn "/boot with the new feature flags is not yet available." - ewarn "Do *NOT* upgrade root pools to use the new feature flags." - ewarn "Any new pools will be created with the new feature flags by default" - ewarn "and will not be compatible with older versions of OpenZFS. To" - ewarn "create a newpool that is backward compatible wih GRUB2, use " - ewarn - ewarn "zpool create -d -o feature@async_destroy=enabled " - ewarn " -o feature@empty_bpobj=enabled -o feature@lz4_compress=enabled" - ewarn " -o feature@spacemap_histogram=enabled" - ewarn " -o feature@enabled_txg=enabled " - ewarn " -o feature@extensible_dataset=enabled -o feature@bookmarks=enabled" - ewarn " ..." - ewarn - ewarn "GRUB2 support will be updated as soon as either the GRUB2" - ewarn "developers do a tag or the Gentoo developers find time to backport" - ewarn "support from GRUB2 HEAD." + if has_version sys-boot/grub; then + ewarn "This version of OpenZFS includes support for new feature flags" + ewarn "that are incompatible with previous versions. GRUB2 support for" + ewarn "/boot with the new feature flags is not yet available." + ewarn "Do *NOT* upgrade root pools to use the new feature flags." + ewarn "Any new pools will be created with the new feature flags by default" + ewarn "and will not be compatible with older versions of OpenZFS. To" + ewarn "create a newpool that is backward compatible wih GRUB2, use " + ewarn + ewarn "zpool create -o compatibility=grub2 ..." + ewarn + ewarn "Refer to /usr/share/zfs/compatibility.d/grub2 for list of features." + fi } diff --git a/sys-fs/zfs-kmod/zfs-kmod-2.1.2.ebuild b/sys-fs/zfs-kmod/zfs-kmod-2.1.5.ebuild index 6eacb6cbcf3..ac917091d0b 100644 --- a/sys-fs/zfs-kmod/zfs-kmod-2.1.2.ebuild +++ b/sys-fs/zfs-kmod/zfs-kmod-2.1.5.ebuild @@ -19,14 +19,14 @@ else SRC_URI="https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz" SRC_URI+=" verify-sig? ( https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz.asc )" S="${WORKDIR}/zfs-${PV%_rc?}" - ZFS_KERNEL_COMPAT="5.15" + ZFS_KERNEL_COMPAT="5.18" # 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" + KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" fi fi @@ -62,6 +62,11 @@ RESTRICT="debug? ( strip ) test" DOCS=( AUTHORS COPYRIGHT META README.md ) +PATCHES=( + # bug #855182 + "${FILESDIR}"/${PV}-build-issues.patch +) + pkg_pretend() { use rootfs || return 0 @@ -167,8 +172,8 @@ src_install() { myemakeargs+=( DEPMOD=: + # INSTALL_MOD_PATH ?= $(DESTDIR) in module/Makefile DESTDIR="${D}" - INSTALL_MOD_PATH="${EPREFIX:-/}" # lib/modules/<kver> added by KBUILD ) emake "${myemakeargs[@]}" install diff --git a/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild b/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild index 1b9f31ac766..65567e49fef 100644 --- a/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild +++ b/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild @@ -19,7 +19,7 @@ else SRC_URI="https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz" SRC_URI+=" verify-sig? ( https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz.asc )" S="${WORKDIR}/zfs-${PV%_rc?}" - ZFS_KERNEL_COMPAT="5.17" + ZFS_KERNEL_COMPAT="5.18" # increments minor eg 5.14 -> 5.15, and still supports override. ZFS_KERNEL_DEP="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}" diff --git a/sys-fs/zfs/Manifest b/sys-fs/zfs/Manifest index 737e23e8e6e..7b982f51e74 100644 --- a/sys-fs/zfs/Manifest +++ b/sys-fs/zfs/Manifest @@ -1,7 +1,7 @@ -DIST zfs-0.8.6.tar.gz 9295260 BLAKE2B 45424d710aaf75a05f766ae523ae157a24b5cbdcefe72a59e4cede81e42f7a92ae7f01150388437b78cd49f3d28b9664599f2a624516e6b3f1073497194a99f2 SHA512 626b172554f39a5c70f6ea5c599a92fae52534590d1b0273de2bbfc3676d29dff0eade8ca17e5f179a59870c12bc758fb53b7900f8a1fdbdef3a9161b93f9cce DIST zfs-2.0.7.tar.gz 14550055 BLAKE2B 80f7297f04a21cd8f3f2043d895b0325512ba0cea3bb9223561237754495c8233d29af5a9418a3c06a87510100240a45ef3d59c7ce776fffb5aafdcd18167c21 SHA512 1135abf74bf74685439018f7cd65fc52088f179d113bdd2e6481689bb0f4a016716a07d859107b74501fda00689e80b2488c7c2c53d5f058d6b659909ed85f6f DIST zfs-2.0.7.tar.gz.asc 836 BLAKE2B 65e7df58c33ccadc4e0ca9dbc1e8c006abbec8442e2da50872a1ab0cbb841fc45152298e8d3b93ee4320ddae6416e3a856caf80d8efb21b19db53dfedbf00e38 SHA512 b901d8e92faa6cfe6010bd54de88c7d18057f434cb07f8a89672d6c446a0a97b23209ee8f02cfd3b2a8f431c68ec977e7dc9f95fe5d385dba0bb6d37338ba682 -DIST zfs-2.1.2.tar.gz 34829045 BLAKE2B ab4e2d85200438373c7eeeaa5256a712dbfb2862b85de1fb7554ad0cc2b9f8e1255ab4564bca62f65a81a823adb8c112957e6e8771b8e5e6944c3731bc894584 SHA512 3e3932259da2a27f1c4cca8da62b909edc43bf51ab0229d2d5d0234d9a7eaa7b63b67c06a98cbe2d29ba1eb5cbcaab16e5062c2a2bc8e84cab770be10ebf2102 -DIST zfs-2.1.2.tar.gz.asc 836 BLAKE2B 8f5666f5c3d7016a4d79191f42d0a220fe8c654a0d64e3da3b575644fe52c83dcb9f9ef49ba0553771a127bba44e2802f1d366a7a38f670e73612deef76755c3 SHA512 da6bfccd19a249a6891f5e1de6c4b332e98ce4f125f638c046b9cedac3fd79c56a99dd9a620105a40741e5f04b382f5d5996b56cbe576fb268b31e57e0fed6eb DIST zfs-2.1.4.tar.gz 34896310 BLAKE2B be303f1181f604770536aa4aa61d5319ec408abbd04964cedadd15b3101a15deba6539bb5d833f4fed357f323d74f622d035305df699b213df41ae45bffdd200 SHA512 c7b57c43fc287b22905067ab022df4133d32e1a5dc335f7baf743b4ef88f64c2bf9d41318c2083230d077dd49e68f7d9e6172266e13d4b1eee29d359860f969e DIST zfs-2.1.4.tar.gz.asc 836 BLAKE2B b311730f72d534c87a782515f35a354bfbefba0513dc0cee5b0b497cf742590f13be6a49ff8a70d7d6503d0ba06b0266e7d290d718337add614812c3d1b0731a SHA512 53880cd5369f468551bab685eb83739ed76aa286886fdd2cbad4270755fe809da730082a91bba61011f59594fac297ce05645ae32c2c73b4a9aa835f2991a1ee +DIST zfs-2.1.5-patches.tar.xz 13324 BLAKE2B bfef8abd298cebd54491272b8c1deacace901d9a1acce67cb927bab6447eafd985352fd09f64336aa9d6611bab0e5c761d7973f0a65c408d77bb735a94c60253 SHA512 d2b009664f8eb4f2a8596693011fde578b6eae123c6169e5dfb70bd920c0f987f5177f7b1be008705a421574a8a9bc930f99823785c69e81573f18b0350cb9bd +DIST zfs-2.1.5.tar.gz 34951632 BLAKE2B c6e3efd9c0cda91654767eaad0eaaa05cd9a5daf1cb0384c9c78b30062f5c29142ac37ab9dbdaf96c91456d11c317d782d3524ade293f03fda983e5992b79e49 SHA512 d9ccf1049cefa9167d25f71fbdca70092cd02368b60f09341e6489fb68dc5f89e87b026b0191f4d81181a8851449124d824a1d959d0e2fb29c8a3d624edc4f03 +DIST zfs-2.1.5.tar.gz.asc 836 BLAKE2B 4a81c266967540850a2cc824e79555ca9d05b2e17e45fa2723893cbd85b55e3d7d791986d6667b7ee1530e7692c03818f15e8b6798393b54989f90801b775786 SHA512 224b0dcf4982c63a8eff0a39d054537e7d023f7c35e154e4d20490b8daf184c076bc8e4de7d2c5af4059f8a802b747e637aad4479cd8d1330cf5b26da2f19c94 diff --git a/sys-fs/zfs/files/2.1.2-scrub-timers.patch b/sys-fs/zfs/files/2.1.2-scrub-timers.patch deleted file mode 100644 index f1c5b5699f6..00000000000 --- a/sys-fs/zfs/files/2.1.2-scrub-timers.patch +++ /dev/null @@ -1,147 +0,0 @@ -From 2c9844d159024d4c742d24639a218213fb53d537 Mon Sep 17 00:00:00 2001 -From: Georgy Yakovlev <gyakovlev@gentoo.org> -Date: Sat, 22 May 2021 22:27:39 -0700 -Subject: [PATCH 1/2] systemd: add weekly and monthly scrub timers - -timers can be enabled as follows: - -systemctl enable zfs-scrub-weekly@rpool.timer --now -systemctl enable zfs-scrub-monthly@datapool.timer --now - -Each timer will pull in zfs-scrub@${poolname}.service, which is not -schedule-specific. - -Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> ---- - etc/systemd/system/.gitignore | 1 + - etc/systemd/system/Makefile.am | 5 ++++- - etc/systemd/system/zfs-scrub-monthly@.timer.in | 12 ++++++++++++ - etc/systemd/system/zfs-scrub-weekly@.timer.in | 12 ++++++++++++ - etc/systemd/system/zfs-scrub@.service.in | 14 ++++++++++++++ - 5 files changed, 43 insertions(+), 1 deletion(-) - create mode 100644 etc/systemd/system/zfs-scrub-monthly@.timer.in - create mode 100644 etc/systemd/system/zfs-scrub-weekly@.timer.in - create mode 100644 etc/systemd/system/zfs-scrub@.service.in - -diff --git a/etc/systemd/system/Makefile.am b/etc/systemd/system/Makefile.am -index c374a52ac..5e65e1db4 100644 ---- a/etc/systemd/system/Makefile.am -+++ b/etc/systemd/system/Makefile.am -@@ -12,7 +12,10 @@ systemdunit_DATA = \ - zfs-volume-wait.service \ - zfs-import.target \ - zfs-volumes.target \ -- zfs.target -+ zfs.target \ -+ zfs-scrub-monthly@.timer \ -+ zfs-scrub-weekly@.timer \ -+ zfs-scrub@.service - - SUBSTFILES += $(systemdpreset_DATA) $(systemdunit_DATA) - -diff --git a/etc/systemd/system/zfs-scrub-monthly@.timer.in b/etc/systemd/system/zfs-scrub-monthly@.timer.in -new file mode 100644 -index 000000000..903068468 ---- /dev/null -+++ b/etc/systemd/system/zfs-scrub-monthly@.timer.in -@@ -0,0 +1,12 @@ -+[Unit] -+Description=Monthly zpool scrub timer for %i -+Documentation=man:zpool-scrub(8) -+ -+[Timer] -+OnCalendar=monthly -+Persistent=true -+RandomizedDelaySec=1h -+Unit=zfs-scrub@%i.service -+ -+[Install] -+WantedBy=timers.target -diff --git a/etc/systemd/system/zfs-scrub-weekly@.timer.in b/etc/systemd/system/zfs-scrub-weekly@.timer.in -new file mode 100644 -index 000000000..ede699500 ---- /dev/null -+++ b/etc/systemd/system/zfs-scrub-weekly@.timer.in -@@ -0,0 +1,12 @@ -+[Unit] -+Description=Weekly zpool scrub timer for %i -+Documentation=man:zpool-scrub(8) -+ -+[Timer] -+OnCalendar=weekly -+Persistent=true -+RandomizedDelaySec=1h -+Unit=zfs-scrub@%i.service -+ -+[Install] -+WantedBy=timers.target -diff --git a/etc/systemd/system/zfs-scrub@.service.in b/etc/systemd/system/zfs-scrub@.service.in -new file mode 100644 -index 000000000..c04ac292a ---- /dev/null -+++ b/etc/systemd/system/zfs-scrub@.service.in -@@ -0,0 +1,14 @@ -+[Unit] -+Description=zpool scrub on %i -+Documentation=man:zpool-scrub(8) -+Requires=zfs.target -+After=zfs.target -+ConditionACPower=true -+ConditionPathIsDirectory=/sys/module/zfs -+ -+[Service] -+ExecStart=/bin/sh -c '\ -+if @sbindir@/zpool status %i | grep "scrub in progress"; then\ -+exec @sbindir@/zpool wait -t scrub %i;\ -+else exec @sbindir@/zpool scrub -w %i; fi' -+ExecStop=-/bin/sh -c '@sbindir@/zpool scrub -p %i 2>/dev/null || true' --- -2.34.1 - -From 4bac4eae0345fb322337b66a9b4923e9f3f52b0f Mon Sep 17 00:00:00 2001 -From: Georgy Yakovlev <gyakovlev@gentoo.org> -Date: Fri, 29 Oct 2021 21:40:50 -0700 -Subject: [PATCH 2/2] zpool-scrub.8: add PERIODIC SCRUB section - -Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> ---- - man/man8/zpool-scrub.8 | 21 +++++++++++++++++++++ - 1 file changed, 21 insertions(+) - -diff --git a/man/man8/zpool-scrub.8 b/man/man8/zpool-scrub.8 -index 768f71539..69ae825b6 100644 ---- a/man/man8/zpool-scrub.8 -+++ b/man/man8/zpool-scrub.8 -@@ -116,8 +116,29 @@ scanned at 100M/s, and 68.4M of that file data has been - scrubbed sequentially at 10.0M/s. - .El - .El -+.Sh PERIODIC SCRUB -+On machines using systemd, scrub timers can be enabled on per-pool basis. -+.Nm weekly -+and -+.Nm monthly -+timer units are provided. -+.Bl -tag -width Ds -+.It Xo -+.Xc -+.Nm systemctl -+.Cm enable -+.Cm zfs-scrub-\fIweekly\fB@\fIrpool\fB.timer -+.Cm --now -+.It Xo -+.Xc -+.Nm systemctl -+.Cm enable -+.Cm zfs-scrub-\fImonthly\fB@\fIotherpool\fB.timer -+.Cm --now -+.El - . - .Sh SEE ALSO -+.Xr systemd.timer 5 , - .Xr zpool-iostat 8 , - .Xr zpool-resilver 8 , - .Xr zpool-status 8 --- -2.34.1 - diff --git a/sys-fs/zfs/files/2.1.5-build-issues.patch b/sys-fs/zfs/files/2.1.5-build-issues.patch new file mode 100644 index 00000000000..cca6561b16f --- /dev/null +++ b/sys-fs/zfs/files/2.1.5-build-issues.patch @@ -0,0 +1,74 @@ +https://github.com/openzfs/zfs/commit/a6e8113fed8a508ffda13cf1c4d8da99a4e8133a +https://github.com/openzfs/zfs/commit/60e389ca10085acfa7cd35f79ab4465d968a942f +Cherry-picked from https://github.com/openzfs/zfs/pull/13575 + +https://bugs.gentoo.org/855182 +--- a/config/always-compiler-options.m4 ++++ b/config/always-compiler-options.m4 +@@ -205,6 +205,29 @@ AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_CC_NO_OMIT_FRAME_POINTER], [ + AC_SUBST([NO_OMIT_FRAME_POINTER]) + ]) + ++dnl # ++dnl # Check if cc supports -Winfinite-recursion option. ++dnl # ++AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_CC_INFINITE_RECURSION], [ ++ AC_MSG_CHECKING([whether $CC supports -Winfinite-recursion]) ++ ++ saved_flags="$CFLAGS" ++ CFLAGS="$CFLAGS -Werror -Winfinite-recursion" ++ ++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])], [ ++ INFINITE_RECURSION=-Winfinite-recursion ++ AC_DEFINE([HAVE_INFINITE_RECURSION], 1, ++ [Define if compiler supports -Winfinite-recursion]) ++ AC_MSG_RESULT([yes]) ++ ], [ ++ INFINITE_RECURSION= ++ AC_MSG_RESULT([no]) ++ ]) ++ ++ CFLAGS="$saved_flags" ++ AC_SUBST([INFINITE_RECURSION]) ++]) ++ + dnl # + dnl # Check if cc supports -fno-ipa-sra option. + dnl # +--- a/config/zfs-build.m4 ++++ b/config/zfs-build.m4 +@@ -211,6 +211,7 @@ AC_DEFUN([ZFS_AC_CONFIG_ALWAYS], [ + + ZFS_AC_CONFIG_ALWAYS_CC_NO_UNUSED_BUT_SET_VARIABLE + ZFS_AC_CONFIG_ALWAYS_CC_NO_BOOL_COMPARE ++ ZFS_AC_CONFIG_ALWAYS_CC_INFINITE_RECURSION + ZFS_AC_CONFIG_ALWAYS_CC_IMPLICIT_FALLTHROUGH + ZFS_AC_CONFIG_ALWAYS_CC_FRAME_LARGER_THAN + ZFS_AC_CONFIG_ALWAYS_CC_NO_FORMAT_TRUNCATION +--- a/module/lua/ldo.c ++++ b/module/lua/ldo.c +@@ -168,6 +168,13 @@ static void seterrorobj (lua_State *L, int errcode, StkId oldtop) { + L->top = oldtop + 1; + } + ++/* ++ * Silence infinite recursion warning which was added to -Wall in gcc 12.1 ++ */ ++#if defined(HAVE_INFINITE_RECURSION) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Winfinite-recursion" ++#endif + + l_noret luaD_throw (lua_State *L, int errcode) { + if (L->errorJmp) { /* thread has an error handler? */ +@@ -190,6 +197,10 @@ l_noret luaD_throw (lua_State *L, int errcode) { + } + } + ++#if defined(HAVE_INFINITE_RECURSION) ++#pragma GCC diagnostic pop ++#endif ++ + + int luaD_rawrunprotected (lua_State *L, Pfunc f, void *ud) { + unsigned short oldnCcalls = L->nCcalls; diff --git a/sys-fs/zfs/files/2.1.5-dracut-mount.patch b/sys-fs/zfs/files/2.1.5-dracut-mount.patch new file mode 100644 index 00000000000..758f4b3a3e9 --- /dev/null +++ b/sys-fs/zfs/files/2.1.5-dracut-mount.patch @@ -0,0 +1,29 @@ +https://github.com/openzfs/zfs/commit/07f2793e869196fcbcd5057d9ada377674262fe3 +https://bugs.gentoo.org/857228 + +From: Brian Behlendorf <behlendorf1@llnl.gov> +Date: Wed, 29 Jun 2022 15:33:38 -0700 +Subject: [PATCH] dracut: fix typo in mount-zfs.sh.in +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Format the `zpool get` command correctly. The -o option must +be followed by "all" or the requested field name. + +Reviewed-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> +Reviewed-by: George Melikov <mail@gmelikov.ru> +Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> +Closes #13602 +--- a/contrib/dracut/90zfs/mount-zfs.sh.in ++++ b/contrib/dracut/90zfs/mount-zfs.sh.in +@@ -82,7 +82,7 @@ ZFS_DATASET="${ZFS_DATASET:-${root}}" + ZFS_POOL="${ZFS_DATASET%%/*}" + + +-if ! zpool get -Ho name "${ZFS_POOL}" > /dev/null 2>&1; then ++if ! zpool get -Ho value name "${ZFS_POOL}" > /dev/null 2>&1; then + info "ZFS: Importing pool ${ZFS_POOL}..." + # shellcheck disable=SC2086 + if ! zpool import -N ${ZPOOL_IMPORT_OPTS} "${ZFS_POOL}"; then + diff --git a/sys-fs/zfs/files/2.1.5-dracut-non-root.patch b/sys-fs/zfs/files/2.1.5-dracut-non-root.patch new file mode 100644 index 00000000000..6d1caf92cd2 --- /dev/null +++ b/sys-fs/zfs/files/2.1.5-dracut-non-root.patch @@ -0,0 +1,33 @@ +https://github.com/openzfs/zfs/pull/13589 +https://bugs.gentoo.org/854333 + +From ef9d996669cc2ec596d4e90753b89b32a3f0ce59 Mon Sep 17 00:00:00 2001 +From: "Andrew J. Hesford" <ajh@sideband.org> +Date: Fri, 24 Jun 2022 11:05:53 -0400 +Subject: [PATCH] Dracut module: fix parsing of root= kernel command-line + argument + +Some Dracut modules may read the `root=` kernel command-line argument +and rewrite it; in particular, `rootfs-block` installs a command-line +hook that to canonicalize arguments that specify block devices. If the +`zfs` module is added to an initramfs (which it is, by default, as long +as the core ZFS utilities are available) on a system that does not use a +ZFS root filesystem, the `zfs` module will overwrite the `root` shell +variable with the contents of the kernel command-line in the process of +determining if it should control mounting the root. This breaks the +initramfs. To solve this problem, only parse the kernel command-line +directly if the `root` shell variable is empty; otherwise, rely on the +parsing (and possible rewriting) done by other modules. + +Signed-off-by: Andrew J. Hesford <ajh@sideband.org> +--- a/contrib/dracut/90zfs/zfs-lib.sh.in ++++ b/contrib/dracut/90zfs/zfs-lib.sh.in +@@ -88,7 +88,7 @@ decode_root_args() { + return + fi + +- root=$(getarg root=) ++ [ -n "$root" ] || root=$(getarg root=) + rootfstype=$(getarg rootfstype=) + + # shellcheck disable=SC2249 diff --git a/sys-fs/zfs/files/2.1.5-dracut-zfs-missing.patch b/sys-fs/zfs/files/2.1.5-dracut-zfs-missing.patch new file mode 100644 index 00000000000..077bcd55f6d --- /dev/null +++ b/sys-fs/zfs/files/2.1.5-dracut-zfs-missing.patch @@ -0,0 +1,14 @@ +https://github.com/openzfs/zfs/commit/ebbfc6cb853d2d2f3f0671362d5ff5588be39e9d +https://github.com/openzfs/zfs/issues/13595 +--- b/contrib/dracut/90zfs/module-setup.sh.in ++++ a/contrib/dracut/90zfs/module-setup.sh.in +@@ -19,7 +19,7 @@ + } + + installkernel() { ++ instmods zfs +- instmods -c zfs + } + + install() { + diff --git a/sys-fs/zfs/files/2.1.5-r2-dracut-non-root.patch b/sys-fs/zfs/files/2.1.5-r2-dracut-non-root.patch new file mode 100644 index 00000000000..a9c6130f5b0 --- /dev/null +++ b/sys-fs/zfs/files/2.1.5-r2-dracut-non-root.patch @@ -0,0 +1,60 @@ +https://github.com/openzfs/zfs/commit/eefe83eaa68f7cb4a49c580dd940d3688e42c849 +https://bugs.gentoo.org/854333 + +From eefe83eaa68f7cb4a49c580dd940d3688e42c849 Mon Sep 17 00:00:00 2001 +From: Toyam Cox <aviator45003@gmail.com> +Date: Thu, 30 Jun 2022 13:47:58 -0400 +Subject: [PATCH] dracut: fix boot on non-zfs-root systems + +Simply prevent overwriting root until it needs to be overwritten. + +Dracut could change this value before this module is called, but won't +change the kernel command line. + +Reviewed-by: Andrew J. Hesford <ajh@sideband.org> +Signed-off-by: Toyam Cox <vaelatern@voidlinux.org> +Closes #13592 +--- + contrib/dracut/90zfs/zfs-lib.sh.in | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/contrib/dracut/90zfs/zfs-lib.sh.in b/contrib/dracut/90zfs/zfs-lib.sh.in +index e44673c2d75..3a43e514d6f 100755 +--- a/contrib/dracut/90zfs/zfs-lib.sh.in ++++ b/contrib/dracut/90zfs/zfs-lib.sh.in +@@ -88,11 +88,11 @@ decode_root_args() { + return + fi + +- root=$(getarg root=) ++ xroot=$(getarg root=) + rootfstype=$(getarg rootfstype=) + + # shellcheck disable=SC2249 +- case "$root" in ++ case "$xroot" in + ""|zfs|zfs:|zfs:AUTO) + root=zfs:AUTO + rootfstype=zfs +@@ -100,7 +100,7 @@ decode_root_args() { + ;; + + ZFS=*|zfs:*) +- root="${root#zfs:}" ++ root="${xroot#zfs:}" + root="${root#ZFS=}" + root=$(echo "$root" | tr '+' ' ') + rootfstype=zfs +@@ -109,9 +109,9 @@ decode_root_args() { + esac + + if [ "$rootfstype" = "zfs" ]; then +- case "$root" in ++ case "$xroot" in + "") root=zfs:AUTO ;; +- *) root=$(echo "$root" | tr '+' ' ') ;; ++ *) root=$(echo "$xroot" | tr '+' ' ') ;; + esac + return 0 + fi + diff --git a/sys-fs/zfs/zfs-2.0.7.ebuild b/sys-fs/zfs/zfs-2.0.7-r1.ebuild index e4ff7efbdef..68d9116fd3d 100644 --- a/sys-fs/zfs/zfs-2.0.7.ebuild +++ b/sys-fs/zfs/zfs-2.0.7-r1.ebuild @@ -191,6 +191,13 @@ src_configure() { use custom-cflags || strip-flags use minimal || python_setup + # All the same issue: + # Segfaults w/ GCC 12 and 'zfs send' + # bug #856373 + # https://github.com/openzfs/zfs/issues/13620 + # https://github.com/openzfs/zfs/issues/13605 + append-flags -fno-tree-vectorize + local myconf=( --bindir="${EPREFIX}/bin" --enable-shared @@ -256,6 +263,8 @@ src_install() { } pkg_postinst() { + udev_reload + # we always need userspace utils in sync with zfs-kmod # so force initrd update for userspace as well, to avoid # situation when zfs-kmod trigger initrd rebuild before @@ -296,6 +305,8 @@ pkg_postinst() { } pkg_postrm() { + udev_reload + if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then remove_moduledb fi diff --git a/sys-fs/zfs/zfs-0.8.6-r2.ebuild b/sys-fs/zfs/zfs-2.1.4-r1.ebuild index 46403d3bc9b..fb6aab2ca7e 100644 --- a/sys-fs/zfs/zfs-0.8.6-r2.ebuild +++ b/sys-fs/zfs/zfs-2.1.4-r1.ebuild @@ -4,33 +4,46 @@ EAPI=7 DISTUTILS_OPTIONAL=1 -PYTHON_COMPAT=( python3_{7,8,9} ) +PYTHON_COMPAT=( python3_{8,9,10} ) -inherit autotools bash-completion-r1 dist-kernel-utils distutils-r1 flag-o-matic linux-info systemd udev usr-ldscript +inherit autotools bash-completion-r1 dist-kernel-utils distutils-r1 flag-o-matic linux-info pam systemd udev usr-ldscript DESCRIPTION="Userland utilities for ZFS Linux kernel module" HOMEPAGE="https://github.com/openzfs/zfs" -if [[ ${PV} == "9999" ]] ; then +if [[ ${PV} == "9999" ]]; then inherit git-r3 linux-mod EGIT_REPO_URI="https://github.com/openzfs/zfs.git" else - SRC_URI="https://github.com/openzfs/${PN}/releases/download/${P}/${P}.tar.gz" - KEYWORDS="amd64 arm64 ppc64" + VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/openzfs.asc + inherit verify-sig + + MY_P="${P/_rc/-rc}" + SRC_URI="https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz" + SRC_URI+=" verify-sig? ( https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz.asc )" + S="${WORKDIR}/${P%_rc?}" + + # 2.1.3 unkeyworded briefly for some testing + if [[ ${PV} != *_rc* ]]; then + KEYWORDS="amd64 arm64 ppc64 ~riscv" + fi fi LICENSE="BSD-2 CDDL MIT" -SLOT="0/2" # just libzfs soname major for now. possible candidates: libuutil, libzpool, libnvpair +# just libzfs soname major for now. +# possible candidates: libuutil, libzpool, libnvpair. Those do not provide stable abi, but are considered. +# see libsoversion_check() below as well +SLOT="0/5" IUSE="custom-cflags debug dist-kernel kernel-builtin minimal nls pam python +rootfs test-suite" DEPEND=" net-libs/libtirpc:= sys-apps/util-linux sys-libs/zlib - virtual/awk virtual/libudev:= dev-libs/openssl:0= !minimal? ( ${PYTHON_DEPS} ) + pam? ( sys-libs/pam ) python? ( virtual/python-cffi[${PYTHON_USEDEP}] ) @@ -41,9 +54,18 @@ BDEPEND="virtual/awk nls? ( sys-devel/gettext ) python? ( dev-python/setuptools[${PYTHON_USEDEP}] + || ( + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/distlib[${PYTHON_USEDEP}] + ) ) " +if [[ ${PV} != "9999" ]] ; then + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-openzfs )" +fi + +# awk is used for some scripts, completions, and the Dracut module RDEPEND="${DEPEND} !kernel-builtin? ( ~sys-fs/zfs-kmod-${PV}:= ) !prefix? ( virtual/udev ) @@ -56,6 +78,7 @@ RDEPEND="${DEPEND} !<sys-kernel/genkernel-3.5.1.1 ) test-suite? ( + app-shells/ksh sys-apps/kmod[tools] sys-apps/util-linux sys-devel/bc @@ -78,10 +101,6 @@ REQUIRED_USE=" RESTRICT="test" -PATCHES=( - "${FILESDIR}/bash-completion-sudo.patch" -) - pkg_pretend() { use rootfs || return 0 @@ -97,7 +116,7 @@ pkg_setup() { if use kernel_linux; then linux-info_pkg_setup - if ! linux_config_exists; then + if ! linux_config_exists; then ewarn "Cannot check the linux kernel configuration." else if use test-suite; then @@ -115,12 +134,37 @@ pkg_setup() { fi } +libsoversion_check() { + local bugurl libzfs_sover + bugurl="https://bugs.gentoo.org/enter_bug.cgi?form_name=enter_bug&product=Gentoo+Linux&component=Current+packages" + + libzfs_sover="$(grep 'libzfs_la_LDFLAGS += -version-info' lib/libzfs/Makefile.am \ + | grep -Eo '[0-9]+:[0-9]+:[0-9]+')" + libzfs_sover="${libzfs_sover%%:*}" + + if [[ ${libzfs_sover} -ne $(ver_cut 2 ${SLOT}) ]]; then + echo + eerror "BUG BUG BUG BUG BUG BUG BUG BUG" + eerror "ebuild subslot does not match libzfs soversion!" + eerror "libzfs soversion: ${libzfs_sover}" + eerror "ebuild value: $(ver_cut 2 ${SLOT})" + eerror "This is a bug in the ebuild, please use the following URL to report it" + eerror "${bugurl}&short_desc=${CATEGORY}%2F${P}+update+subslot" + echo + # we want to abort for releases, but just print a warning for live ebuild + # to keep package installable + [[ ${PV} == "9999" ]] || die + fi +} + src_prepare() { default + libsoversion_check - if [[ ${PV} == "9999" ]]; then - eautoreconf - else + # Run unconditionally (bug #792627) + eautoreconf + + if [[ ${PV} != "9999" ]]; then # Set revision number sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" META || die "Could not set Gentoo release" fi @@ -140,10 +184,16 @@ src_configure() { use custom-cflags || strip-flags use minimal || python_setup + # All the same issue: + # Segfaults w/ GCC 12 and 'zfs send' + # bug #856373 + # https://github.com/openzfs/zfs/issues/13620 + # https://github.com/openzfs/zfs/issues/13605 + append-flags -fno-tree-vectorize + local myconf=( --bindir="${EPREFIX}/bin" --enable-shared - --enable-systemd --enable-sysvinit --localstatedir="${EPREFIX}/var" --sbindir="${EPREFIX}/sbin" @@ -152,16 +202,24 @@ src_configure() { --with-linux="${KV_DIR}" --with-linux-obj="${KV_OUT_DIR}" --with-udevdir="$(get_udevdir)" + --with-pamconfigsdir="${EPREFIX}/unwanted_files" + --with-pammoduledir="$(getpam_mod_dir)" --with-systemdunitdir="$(systemd_get_systemunitdir)" --with-systemdpresetdir="$(systemd_get_systempresetdir)" + --with-vendor=gentoo + # Building zfs-mount-generator.c on musl breaks as strndupa + # isn't available. But systemd doesn't support musl anyway, so + # just disable building it. + $(use_enable !elibc_musl systemd) $(use_enable debug) $(use_enable nls) + $(use_enable pam) $(use_enable python pyzfs) --disable-static $(usex minimal --without-python --with-python="${EPYTHON}") ) - CONFIG_SHELL="${EPREFIX}/bin/bash" econf "${myconf[@]}" + econf "${myconf[@]}" } src_compile() { @@ -176,11 +234,13 @@ src_compile() { src_install() { default - gen_usr_ldscript -a uutil nvpair zpool zfs zfs_core + gen_usr_ldscript -a nvpair uutil zfsbootenv zfs zfs_core zpool - use test-suite || rm -rf "${ED}/usr/share/zfs" + use pam && { rm -rv "${ED}/unwanted_files" || die ; } - find "${ED}/" -name '*.la' -delete || die + use test-suite || { rm -r "${ED}"/usr/share/zfs/{test-runner,zfs-tests,runfiles,*sh} || die ; } + + find "${ED}" -name '*.la' -delete || die dobashcomp contrib/bash_completion.d/zfs bashcomp_alias zfs zpool @@ -199,6 +259,8 @@ src_install() { } pkg_postinst() { + udev_reload + # we always need userspace utils in sync with zfs-kmod # so force initrd update for userspace as well, to avoid # situation when zfs-kmod trigger initrd rebuild before @@ -210,14 +272,14 @@ pkg_postinst() { if use rootfs; then if ! has_version sys-kernel/genkernel && ! has_version sys-kernel/dracut; then - elog "root on zfs requires initramfs to boot" - elog "the following packages known to provide one and tested on regular basis:" + elog "Root on zfs requires an initramfs to boot" + elog "The following packages provide one and are tested on a regular basis:" elog " sys-kernel/dracut ( preferred, module maintained by zfs developers )" elog " sys-kernel/genkernel" fi fi - if ! use kernel-builtin && [[ ${PV} = "9999" ]]; then + if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then einfo "Adding ${P} to the module database to ensure that the" einfo "kernel modules and userland utilities stay in sync." update_moduledb @@ -229,6 +291,8 @@ pkg_postinst() { else [[ -e "${EROOT}/etc/runlevels/boot/zfs-import" ]] || \ einfo "You should add zfs-import to the boot runlevel." + [[ -e "${EROOT}/etc/runlevels/boot/zfs-load-key" ]] || \ + einfo "You should add zfs-load-key to the boot runlevel." [[ -e "${EROOT}/etc/runlevels/boot/zfs-mount" ]]|| \ einfo "You should add zfs-mount to the boot runlevel." [[ -e "${EROOT}/etc/runlevels/default/zfs-share" ]] || \ @@ -239,6 +303,8 @@ pkg_postinst() { } pkg_postrm() { + udev_reload + if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then remove_moduledb fi diff --git a/sys-fs/zfs/zfs-2.1.2-r1.ebuild b/sys-fs/zfs/zfs-2.1.5-r1.ebuild index d119026f5c7..7f0466ea0e2 100644 --- a/sys-fs/zfs/zfs-2.1.2-r1.ebuild +++ b/sys-fs/zfs/zfs-2.1.5-r1.ebuild @@ -4,7 +4,7 @@ EAPI=7 DISTUTILS_OPTIONAL=1 -PYTHON_COMPAT=( python3_{8,9,10} ) +PYTHON_COMPAT=( python3_{8..10} ) inherit autotools bash-completion-r1 dist-kernel-utils distutils-r1 flag-o-matic linux-info pam systemd udev usr-ldscript @@ -24,7 +24,7 @@ else S="${WORKDIR}/${P%_rc?}" if [[ ${PV} != *_rc* ]]; then - KEYWORDS="amd64 arm64 ppc64 ~riscv" + KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" fi fi @@ -101,9 +101,10 @@ REQUIRED_USE=" RESTRICT="test" PATCHES=( - "${FILESDIR}/2.1.2-scrub-timers.patch" - "${FILESDIR}/2.1.2-openrc-vendor.patch" - "${FILESDIR}/2.1.2-musl-tests.patch" + # bug #855182 + "${FILESDIR}"/${PV}-build-issues.patch + # bug #854333 + "${FILESDIR}"/${PV}-dracut-non-root.patch ) pkg_pretend() { @@ -257,6 +258,8 @@ src_install() { } pkg_postinst() { + udev_reload + # we always need userspace utils in sync with zfs-kmod # so force initrd update for userspace as well, to avoid # situation when zfs-kmod trigger initrd rebuild before @@ -287,6 +290,8 @@ pkg_postinst() { else [[ -e "${EROOT}/etc/runlevels/boot/zfs-import" ]] || \ einfo "You should add zfs-import to the boot runlevel." + [[ -e "${EROOT}/etc/runlevels/boot/zfs-load-key" ]] || \ + einfo "You should add zfs-load-key to the boot runlevel." [[ -e "${EROOT}/etc/runlevels/boot/zfs-mount" ]]|| \ einfo "You should add zfs-mount to the boot runlevel." [[ -e "${EROOT}/etc/runlevels/default/zfs-share" ]] || \ @@ -297,6 +302,8 @@ pkg_postinst() { } pkg_postrm() { + udev_reload + if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then remove_moduledb fi diff --git a/sys-fs/zfs/zfs-2.1.5-r3.ebuild b/sys-fs/zfs/zfs-2.1.5-r3.ebuild new file mode 100644 index 00000000000..a2c22c0ac35 --- /dev/null +++ b/sys-fs/zfs/zfs-2.1.5-r3.ebuild @@ -0,0 +1,319 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DISTUTILS_OPTIONAL=1 +PYTHON_COMPAT=( python3_{8..10} ) + +inherit autotools bash-completion-r1 dist-kernel-utils distutils-r1 flag-o-matic linux-info pam systemd udev usr-ldscript + +DESCRIPTION="Userland utilities for ZFS Linux kernel module" +HOMEPAGE="https://github.com/openzfs/zfs" + +if [[ ${PV} == "9999" ]]; then + inherit git-r3 linux-mod + EGIT_REPO_URI="https://github.com/openzfs/zfs.git" +else + VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/openzfs.asc + inherit verify-sig + + MY_P="${P/_rc/-rc}" + SRC_URI="https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz" + SRC_URI+=" verify-sig? ( https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz.asc )" + S="${WORKDIR}/${P%_rc?}" + + if [[ ${PV} != *_rc* ]]; then + KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" + fi +fi + +LICENSE="BSD-2 CDDL MIT" +# just libzfs soname major for now. +# possible candidates: libuutil, libzpool, libnvpair. Those do not provide stable abi, but are considered. +# see libsoversion_check() below as well +SLOT="0/5" +IUSE="custom-cflags debug dist-kernel kernel-builtin minimal nls pam python +rootfs test-suite" + +DEPEND=" + net-libs/libtirpc:= + sys-apps/util-linux + sys-libs/zlib + virtual/libudev:= + dev-libs/openssl:0= + !minimal? ( ${PYTHON_DEPS} ) + pam? ( sys-libs/pam ) + python? ( + virtual/python-cffi[${PYTHON_USEDEP}] + ) +" + +BDEPEND="virtual/awk + virtual/pkgconfig + nls? ( sys-devel/gettext ) + python? ( + dev-python/setuptools[${PYTHON_USEDEP}] + || ( + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/distlib[${PYTHON_USEDEP}] + ) + ) +" + +if [[ ${PV} != "9999" ]] ; then + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-openzfs )" +fi + +# awk is used for some scripts, completions, and the Dracut module +RDEPEND="${DEPEND} + !kernel-builtin? ( ~sys-fs/zfs-kmod-${PV}:= ) + !prefix? ( virtual/udev ) + sys-fs/udev-init-scripts + virtual/awk + dist-kernel? ( virtual/dist-kernel:= ) + rootfs? ( + app-arch/cpio + app-misc/pax-utils + !<sys-kernel/genkernel-3.5.1.1 + ) + test-suite? ( + app-shells/ksh + sys-apps/kmod[tools] + sys-apps/util-linux + sys-devel/bc + sys-block/parted + sys-fs/lsscsi + sys-fs/mdadm + sys-process/procps + ) +" + +# 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 ) + test-suite? ( !minimal ) +" + +RESTRICT="test" + +PATCHES=( + # bug #855182 + "${FILESDIR}"/${PV}-build-issues.patch + # bug #854333 + "${FILESDIR}"/${PV}-r2-dracut-non-root.patch + # + "${FILESDIR}"/2.1.5-dracut-zfs-missing.patch +) + +pkg_pretend() { + use rootfs || return 0 + + if has_version virtual/dist-kernel && ! use dist-kernel; then + ewarn "You have virtual/dist-kernel installed, but" + ewarn "USE=\"dist-kernel\" is not enabled for ${CATEGORY}/${PN}" + ewarn "It's recommended to globally enable dist-kernel USE flag" + ewarn "to auto-trigger initrd rebuilds with kernel updates" + fi +} + +pkg_setup() { + if use kernel_linux; then + linux-info_pkg_setup + + if ! linux_config_exists; then + ewarn "Cannot check the linux kernel configuration." + else + if use test-suite; then + if linux_chkconfig_present BLK_DEV_LOOP; then + eerror "The ZFS test suite requires loop device support enabled." + eerror "Please enable it:" + eerror " CONFIG_BLK_DEV_LOOP=y" + eerror "in /usr/src/linux/.config or" + eerror " Device Drivers --->" + eerror " Block devices --->" + eerror " [X] Loopback device support" + fi + fi + fi + fi +} + +libsoversion_check() { + local bugurl libzfs_sover + bugurl="https://bugs.gentoo.org/enter_bug.cgi?form_name=enter_bug&product=Gentoo+Linux&component=Current+packages" + + libzfs_sover="$(grep 'libzfs_la_LDFLAGS += -version-info' lib/libzfs/Makefile.am \ + | grep -Eo '[0-9]+:[0-9]+:[0-9]+')" + libzfs_sover="${libzfs_sover%%:*}" + + if [[ ${libzfs_sover} -ne $(ver_cut 2 ${SLOT}) ]]; then + echo + eerror "BUG BUG BUG BUG BUG BUG BUG BUG" + eerror "ebuild subslot does not match libzfs soversion!" + eerror "libzfs soversion: ${libzfs_sover}" + eerror "ebuild value: $(ver_cut 2 ${SLOT})" + eerror "This is a bug in the ebuild, please use the following URL to report it" + eerror "${bugurl}&short_desc=${CATEGORY}%2F${P}+update+subslot" + echo + # we want to abort for releases, but just print a warning for live ebuild + # to keep package installable + [[ ${PV} == "9999" ]] || die + fi +} + +src_prepare() { + default + libsoversion_check + + # Run unconditionally (bug #792627) + eautoreconf + + if [[ ${PV} != "9999" ]]; then + # Set revision number + sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" META || die "Could not set Gentoo release" + fi + + if use python; then + pushd contrib/pyzfs >/dev/null || die + distutils-r1_src_prepare + popd >/dev/null || die + fi + + # prevent errors showing up on zfs-mount stop, #647688 + # openrc will unmount all filesystems anyway. + sed -i "/^ZFS_UNMOUNT=/ s/yes/no/" "etc/default/zfs.in" || die +} + +src_configure() { + use custom-cflags || strip-flags + use minimal || python_setup + + # All the same issue: + # Segfaults w/ GCC 12 and 'zfs send' + # bug #856373 + # https://github.com/openzfs/zfs/issues/13620 + # https://github.com/openzfs/zfs/issues/13605 + append-flags -fno-tree-vectorize + + local myconf=( + --bindir="${EPREFIX}/bin" + --enable-shared + --enable-sysvinit + --localstatedir="${EPREFIX}/var" + --sbindir="${EPREFIX}/sbin" + --with-config=user + --with-dracutdir="${EPREFIX}/usr/lib/dracut" + --with-linux="${KV_DIR}" + --with-linux-obj="${KV_OUT_DIR}" + --with-udevdir="$(get_udevdir)" + --with-pamconfigsdir="${EPREFIX}/unwanted_files" + --with-pammoduledir="$(getpam_mod_dir)" + --with-systemdunitdir="$(systemd_get_systemunitdir)" + --with-systemdpresetdir="$(systemd_get_systempresetdir)" + --with-vendor=gentoo + # Building zfs-mount-generator.c on musl breaks as strndupa + # isn't available. But systemd doesn't support musl anyway, so + # just disable building it. + $(use_enable !elibc_musl systemd) + $(use_enable debug) + $(use_enable nls) + $(use_enable pam) + $(use_enable python pyzfs) + --disable-static + $(usex minimal --without-python --with-python="${EPYTHON}") + ) + + econf "${myconf[@]}" +} + +src_compile() { + default + if use python; then + pushd contrib/pyzfs >/dev/null || die + distutils-r1_src_compile + popd >/dev/null || die + fi +} + +src_install() { + default + + gen_usr_ldscript -a nvpair uutil zfsbootenv zfs zfs_core zpool + + use pam && { rm -rv "${ED}/unwanted_files" || die ; } + + use test-suite || { rm -r "${ED}"/usr/share/zfs/{test-runner,zfs-tests,runfiles,*sh} || die ; } + + find "${ED}" -name '*.la' -delete || die + + dobashcomp contrib/bash_completion.d/zfs + bashcomp_alias zfs zpool + + # strip executable bit from conf.d file + fperms 0644 /etc/conf.d/zfs + + if use python; then + pushd contrib/pyzfs >/dev/null || die + distutils-r1_src_install + popd >/dev/null || die + fi + + # enforce best available python implementation + use minimal || python_fix_shebang "${ED}/bin" +} + +pkg_postinst() { + udev_reload + + # we always need userspace utils in sync with zfs-kmod + # so force initrd update for userspace as well, to avoid + # situation when zfs-kmod trigger initrd rebuild before + # userspace component is rebuilt + # KV_* variables are provided by linux-info.eclass + if [[ -z ${ROOT} ]] && use dist-kernel; then + dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}" + fi + + if use rootfs; then + if ! has_version sys-kernel/genkernel && ! has_version sys-kernel/dracut; then + elog "Root on zfs requires an initramfs to boot" + elog "The following packages provide one and are tested on a regular basis:" + elog " sys-kernel/dracut ( preferred, module maintained by zfs developers )" + elog " sys-kernel/genkernel" + fi + fi + + if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then + einfo "Adding ${P} to the module database to ensure that the" + einfo "kernel modules and userland utilities stay in sync." + update_moduledb + fi + + if systemd_is_booted || has_version sys-apps/systemd; then + einfo "Please refer to ${EROOT}/$(systemd_get_systempresetdir)/50-zfs.preset" + einfo "for default zfs systemd service configuration" + else + [[ -e "${EROOT}/etc/runlevels/boot/zfs-import" ]] || \ + einfo "You should add zfs-import to the boot runlevel." + [[ -e "${EROOT}/etc/runlevels/boot/zfs-load-key" ]] || \ + einfo "You should add zfs-load-key to the boot runlevel." + [[ -e "${EROOT}/etc/runlevels/boot/zfs-mount" ]]|| \ + einfo "You should add zfs-mount to the boot runlevel." + [[ -e "${EROOT}/etc/runlevels/default/zfs-share" ]] || \ + einfo "You should add zfs-share to the default runlevel." + [[ -e "${EROOT}/etc/runlevels/default/zfs-zed" ]] || \ + einfo "You should add zfs-zed to the default runlevel." + fi +} + +pkg_postrm() { + udev_reload + + if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then + remove_moduledb + fi +} diff --git a/sys-fs/zfs/zfs-2.1.5-r4.ebuild b/sys-fs/zfs/zfs-2.1.5-r4.ebuild new file mode 100644 index 00000000000..2cf49118a4f --- /dev/null +++ b/sys-fs/zfs/zfs-2.1.5-r4.ebuild @@ -0,0 +1,321 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DISTUTILS_OPTIONAL=1 +PYTHON_COMPAT=( python3_{8..10} ) + +inherit autotools bash-completion-r1 dist-kernel-utils distutils-r1 flag-o-matic linux-info pam systemd udev usr-ldscript + +DESCRIPTION="Userland utilities for ZFS Linux kernel module" +HOMEPAGE="https://github.com/openzfs/zfs" + +if [[ ${PV} == "9999" ]]; then + inherit git-r3 linux-mod + EGIT_REPO_URI="https://github.com/openzfs/zfs.git" +else + VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/openzfs.asc + inherit verify-sig + + MY_P="${P/_rc/-rc}" + SRC_URI="https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz" + SRC_URI+=" verify-sig? ( https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz.asc )" + S="${WORKDIR}/${P%_rc?}" + + if [[ ${PV} != *_rc* ]]; then + KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" + fi +fi + +LICENSE="BSD-2 CDDL MIT" +# just libzfs soname major for now. +# possible candidates: libuutil, libzpool, libnvpair. Those do not provide stable abi, but are considered. +# see libsoversion_check() below as well +SLOT="0/5" +IUSE="custom-cflags debug dist-kernel kernel-builtin minimal nls pam python +rootfs test-suite" + +DEPEND=" + net-libs/libtirpc:= + sys-apps/util-linux + sys-libs/zlib + virtual/libudev:= + dev-libs/openssl:0= + !minimal? ( ${PYTHON_DEPS} ) + pam? ( sys-libs/pam ) + python? ( + virtual/python-cffi[${PYTHON_USEDEP}] + ) +" + +BDEPEND="virtual/awk + virtual/pkgconfig + nls? ( sys-devel/gettext ) + python? ( + dev-python/setuptools[${PYTHON_USEDEP}] + || ( + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/distlib[${PYTHON_USEDEP}] + ) + ) +" + +if [[ ${PV} != "9999" ]] ; then + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-openzfs )" +fi + +# awk is used for some scripts, completions, and the Dracut module +RDEPEND="${DEPEND} + !kernel-builtin? ( ~sys-fs/zfs-kmod-${PV}:= ) + !prefix? ( virtual/udev ) + sys-fs/udev-init-scripts + virtual/awk + dist-kernel? ( virtual/dist-kernel:= ) + rootfs? ( + app-arch/cpio + app-misc/pax-utils + !<sys-kernel/genkernel-3.5.1.1 + ) + test-suite? ( + app-shells/ksh + sys-apps/kmod[tools] + sys-apps/util-linux + sys-devel/bc + sys-block/parted + sys-fs/lsscsi + sys-fs/mdadm + sys-process/procps + ) +" + +# 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 ) + test-suite? ( !minimal ) +" + +RESTRICT="test" + +PATCHES=( + # bug #855182 + "${FILESDIR}"/${PV}-build-issues.patch + # bug #854333 + "${FILESDIR}"/${PV}-r2-dracut-non-root.patch + # + "${FILESDIR}"/2.1.5-dracut-zfs-missing.patch + # bug #857228 + "${FILESDIR}"/${PV}-dracut-mount.patch +) + +pkg_pretend() { + use rootfs || return 0 + + if has_version virtual/dist-kernel && ! use dist-kernel; then + ewarn "You have virtual/dist-kernel installed, but" + ewarn "USE=\"dist-kernel\" is not enabled for ${CATEGORY}/${PN}" + ewarn "It's recommended to globally enable dist-kernel USE flag" + ewarn "to auto-trigger initrd rebuilds with kernel updates" + fi +} + +pkg_setup() { + if use kernel_linux; then + linux-info_pkg_setup + + if ! linux_config_exists; then + ewarn "Cannot check the linux kernel configuration." + else + if use test-suite; then + if linux_chkconfig_present BLK_DEV_LOOP; then + eerror "The ZFS test suite requires loop device support enabled." + eerror "Please enable it:" + eerror " CONFIG_BLK_DEV_LOOP=y" + eerror "in /usr/src/linux/.config or" + eerror " Device Drivers --->" + eerror " Block devices --->" + eerror " [X] Loopback device support" + fi + fi + fi + fi +} + +libsoversion_check() { + local bugurl libzfs_sover + bugurl="https://bugs.gentoo.org/enter_bug.cgi?form_name=enter_bug&product=Gentoo+Linux&component=Current+packages" + + libzfs_sover="$(grep 'libzfs_la_LDFLAGS += -version-info' lib/libzfs/Makefile.am \ + | grep -Eo '[0-9]+:[0-9]+:[0-9]+')" + libzfs_sover="${libzfs_sover%%:*}" + + if [[ ${libzfs_sover} -ne $(ver_cut 2 ${SLOT}) ]]; then + echo + eerror "BUG BUG BUG BUG BUG BUG BUG BUG" + eerror "ebuild subslot does not match libzfs soversion!" + eerror "libzfs soversion: ${libzfs_sover}" + eerror "ebuild value: $(ver_cut 2 ${SLOT})" + eerror "This is a bug in the ebuild, please use the following URL to report it" + eerror "${bugurl}&short_desc=${CATEGORY}%2F${P}+update+subslot" + echo + # we want to abort for releases, but just print a warning for live ebuild + # to keep package installable + [[ ${PV} == "9999" ]] || die + fi +} + +src_prepare() { + default + libsoversion_check + + # Run unconditionally (bug #792627) + eautoreconf + + if [[ ${PV} != "9999" ]]; then + # Set revision number + sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" META || die "Could not set Gentoo release" + fi + + if use python; then + pushd contrib/pyzfs >/dev/null || die + distutils-r1_src_prepare + popd >/dev/null || die + fi + + # prevent errors showing up on zfs-mount stop, #647688 + # openrc will unmount all filesystems anyway. + sed -i "/^ZFS_UNMOUNT=/ s/yes/no/" "etc/default/zfs.in" || die +} + +src_configure() { + use custom-cflags || strip-flags + use minimal || python_setup + + # All the same issue: + # Segfaults w/ GCC 12 and 'zfs send' + # bug #856373 + # https://github.com/openzfs/zfs/issues/13620 + # https://github.com/openzfs/zfs/issues/13605 + append-flags -fno-tree-vectorize + + local myconf=( + --bindir="${EPREFIX}/bin" + --enable-shared + --enable-sysvinit + --localstatedir="${EPREFIX}/var" + --sbindir="${EPREFIX}/sbin" + --with-config=user + --with-dracutdir="${EPREFIX}/usr/lib/dracut" + --with-linux="${KV_DIR}" + --with-linux-obj="${KV_OUT_DIR}" + --with-udevdir="$(get_udevdir)" + --with-pamconfigsdir="${EPREFIX}/unwanted_files" + --with-pammoduledir="$(getpam_mod_dir)" + --with-systemdunitdir="$(systemd_get_systemunitdir)" + --with-systemdpresetdir="$(systemd_get_systempresetdir)" + --with-vendor=gentoo + # Building zfs-mount-generator.c on musl breaks as strndupa + # isn't available. But systemd doesn't support musl anyway, so + # just disable building it. + $(use_enable !elibc_musl systemd) + $(use_enable debug) + $(use_enable nls) + $(use_enable pam) + $(use_enable python pyzfs) + --disable-static + $(usex minimal --without-python --with-python="${EPYTHON}") + ) + + econf "${myconf[@]}" +} + +src_compile() { + default + if use python; then + pushd contrib/pyzfs >/dev/null || die + distutils-r1_src_compile + popd >/dev/null || die + fi +} + +src_install() { + default + + gen_usr_ldscript -a nvpair uutil zfsbootenv zfs zfs_core zpool + + use pam && { rm -rv "${ED}/unwanted_files" || die ; } + + use test-suite || { rm -r "${ED}"/usr/share/zfs/{test-runner,zfs-tests,runfiles,*sh} || die ; } + + find "${ED}" -name '*.la' -delete || die + + dobashcomp contrib/bash_completion.d/zfs + bashcomp_alias zfs zpool + + # strip executable bit from conf.d file + fperms 0644 /etc/conf.d/zfs + + if use python; then + pushd contrib/pyzfs >/dev/null || die + distutils-r1_src_install + popd >/dev/null || die + fi + + # enforce best available python implementation + use minimal || python_fix_shebang "${ED}/bin" +} + +pkg_postinst() { + udev_reload + + # we always need userspace utils in sync with zfs-kmod + # so force initrd update for userspace as well, to avoid + # situation when zfs-kmod trigger initrd rebuild before + # userspace component is rebuilt + # KV_* variables are provided by linux-info.eclass + if [[ -z ${ROOT} ]] && use dist-kernel; then + dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}" + fi + + if use rootfs; then + if ! has_version sys-kernel/genkernel && ! has_version sys-kernel/dracut; then + elog "Root on zfs requires an initramfs to boot" + elog "The following packages provide one and are tested on a regular basis:" + elog " sys-kernel/dracut ( preferred, module maintained by zfs developers )" + elog " sys-kernel/genkernel" + fi + fi + + if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then + einfo "Adding ${P} to the module database to ensure that the" + einfo "kernel modules and userland utilities stay in sync." + update_moduledb + fi + + if systemd_is_booted || has_version sys-apps/systemd; then + einfo "Please refer to ${EROOT}/$(systemd_get_systempresetdir)/50-zfs.preset" + einfo "for default zfs systemd service configuration" + else + [[ -e "${EROOT}/etc/runlevels/boot/zfs-import" ]] || \ + einfo "You should add zfs-import to the boot runlevel." + [[ -e "${EROOT}/etc/runlevels/boot/zfs-load-key" ]] || \ + einfo "You should add zfs-load-key to the boot runlevel." + [[ -e "${EROOT}/etc/runlevels/boot/zfs-mount" ]]|| \ + einfo "You should add zfs-mount to the boot runlevel." + [[ -e "${EROOT}/etc/runlevels/default/zfs-share" ]] || \ + einfo "You should add zfs-share to the default runlevel." + [[ -e "${EROOT}/etc/runlevels/default/zfs-zed" ]] || \ + einfo "You should add zfs-zed to the default runlevel." + fi +} + +pkg_postrm() { + udev_reload + + if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then + remove_moduledb + fi +} diff --git a/sys-fs/zfs/zfs-2.1.5-r5.ebuild b/sys-fs/zfs/zfs-2.1.5-r5.ebuild new file mode 100644 index 00000000000..705c6d3e1aa --- /dev/null +++ b/sys-fs/zfs/zfs-2.1.5-r5.ebuild @@ -0,0 +1,333 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DISTUTILS_OPTIONAL=1 +PYTHON_COMPAT=( python3_{8..10} ) + +inherit autotools bash-completion-r1 dist-kernel-utils distutils-r1 flag-o-matic linux-info pam systemd udev usr-ldscript + +DESCRIPTION="Userland utilities for ZFS Linux kernel module" +HOMEPAGE="https://github.com/openzfs/zfs" + +if [[ ${PV} == "9999" ]]; then + inherit git-r3 linux-mod + EGIT_REPO_URI="https://github.com/openzfs/zfs.git" +else + VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/openzfs.asc + inherit verify-sig + + MY_P="${P/_rc/-rc}" + SRC_URI="https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz" + SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/sys-fs/zfs/${P}-patches.tar.xz" + SRC_URI+=" verify-sig? ( https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz.asc )" + S="${WORKDIR}/${P%_rc?}" + + if [[ ${PV} != *_rc* ]]; then + KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" + fi +fi + +LICENSE="BSD-2 CDDL MIT" +# just libzfs soname major for now. +# possible candidates: libuutil, libzpool, libnvpair. Those do not provide stable abi, but are considered. +# see libsoversion_check() below as well +SLOT="0/5" +IUSE="custom-cflags debug dist-kernel kernel-builtin minimal nls pam python +rootfs test-suite" + +DEPEND=" + net-libs/libtirpc:= + sys-apps/util-linux + sys-libs/zlib + virtual/libudev:= + dev-libs/openssl:0= + !minimal? ( ${PYTHON_DEPS} ) + pam? ( sys-libs/pam ) + python? ( + virtual/python-cffi[${PYTHON_USEDEP}] + ) +" + +BDEPEND="virtual/awk + virtual/pkgconfig + nls? ( sys-devel/gettext ) + python? ( + dev-python/setuptools[${PYTHON_USEDEP}] + || ( + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/distlib[${PYTHON_USEDEP}] + ) + ) +" + +if [[ ${PV} != "9999" ]] ; then + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-openzfs )" +fi + +# awk is used for some scripts, completions, and the Dracut module +RDEPEND="${DEPEND} + !kernel-builtin? ( ~sys-fs/zfs-kmod-${PV}:= ) + !prefix? ( virtual/udev ) + sys-fs/udev-init-scripts + virtual/awk + dist-kernel? ( virtual/dist-kernel:= ) + rootfs? ( + app-arch/cpio + app-misc/pax-utils + !<sys-kernel/genkernel-3.5.1.1 + ) + test-suite? ( + app-shells/ksh + sys-apps/kmod[tools] + sys-apps/util-linux + sys-devel/bc + sys-block/parted + sys-fs/lsscsi + sys-fs/mdadm + sys-process/procps + ) +" + +# 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 ) + test-suite? ( !minimal ) +" + +RESTRICT="test" + +PATCHES=( + # bug #854333 + "${FILESDIR}"/${PV}-r2-dracut-non-root.patch + + "${FILESDIR}"/2.1.5-dracut-zfs-missing.patch + + # bug #857228 + "${FILESDIR}"/${PV}-dracut-mount.patch + + # bug #863212, bug #855182 + "${WORKDIR}"/${P}-patches/ +) + +pkg_pretend() { + use rootfs || return 0 + + if has_version virtual/dist-kernel && ! use dist-kernel; then + ewarn "You have virtual/dist-kernel installed, but" + ewarn "USE=\"dist-kernel\" is not enabled for ${CATEGORY}/${PN}" + ewarn "It's recommended to globally enable dist-kernel USE flag" + ewarn "to auto-trigger initrd rebuilds with kernel updates" + fi +} + +pkg_setup() { + if use kernel_linux; then + linux-info_pkg_setup + + if ! linux_config_exists; then + ewarn "Cannot check the linux kernel configuration." + else + if use test-suite; then + if linux_chkconfig_present BLK_DEV_LOOP; then + eerror "The ZFS test suite requires loop device support enabled." + eerror "Please enable it:" + eerror " CONFIG_BLK_DEV_LOOP=y" + eerror "in /usr/src/linux/.config or" + eerror " Device Drivers --->" + eerror " Block devices --->" + eerror " [X] Loopback device support" + fi + fi + fi + fi +} + +libsoversion_check() { + local bugurl libzfs_sover + bugurl="https://bugs.gentoo.org/enter_bug.cgi?form_name=enter_bug&product=Gentoo+Linux&component=Current+packages" + + libzfs_sover="$(grep 'libzfs_la_LDFLAGS += -version-info' lib/libzfs/Makefile.am \ + | grep -Eo '[0-9]+:[0-9]+:[0-9]+')" + libzfs_sover="${libzfs_sover%%:*}" + + if [[ ${libzfs_sover} -ne $(ver_cut 2 ${SLOT}) ]]; then + echo + eerror "BUG BUG BUG BUG BUG BUG BUG BUG" + eerror "ebuild subslot does not match libzfs soversion!" + eerror "libzfs soversion: ${libzfs_sover}" + eerror "ebuild value: $(ver_cut 2 ${SLOT})" + eerror "This is a bug in the ebuild, please use the following URL to report it" + eerror "${bugurl}&short_desc=${CATEGORY}%2F${P}+update+subslot" + echo + # we want to abort for releases, but just print a warning for live ebuild + # to keep package installable + [[ ${PV} == "9999" ]] || die + fi +} + +src_unpack() { + if use verify-sig ; then + # Needed for downloaded patch (which is unsigned, which is fine) + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.gz{,.asc} + fi + + default +} + +src_prepare() { + default + libsoversion_check + + # Run unconditionally (bug #792627) + eautoreconf + + if [[ ${PV} != "9999" ]]; then + # Set revision number + sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" META || die "Could not set Gentoo release" + fi + + if use python; then + pushd contrib/pyzfs >/dev/null || die + distutils-r1_src_prepare + popd >/dev/null || die + fi + + # prevent errors showing up on zfs-mount stop, #647688 + # openrc will unmount all filesystems anyway. + sed -i "/^ZFS_UNMOUNT=/ s/yes/no/" "etc/default/zfs.in" || die +} + +src_configure() { + use custom-cflags || strip-flags + use minimal || python_setup + + # All the same issue: + # Segfaults w/ GCC 12 and 'zfs send' + # bug #856373 + # https://github.com/openzfs/zfs/issues/13620 + # https://github.com/openzfs/zfs/issues/13605 + append-flags -fno-tree-vectorize + + local myconf=( + --bindir="${EPREFIX}/bin" + --enable-shared + --enable-sysvinit + --localstatedir="${EPREFIX}/var" + --sbindir="${EPREFIX}/sbin" + --with-config=user + --with-dracutdir="${EPREFIX}/usr/lib/dracut" + --with-linux="${KV_DIR}" + --with-linux-obj="${KV_OUT_DIR}" + --with-udevdir="$(get_udevdir)" + --with-pamconfigsdir="${EPREFIX}/unwanted_files" + --with-pammoduledir="$(getpam_mod_dir)" + --with-systemdunitdir="$(systemd_get_systemunitdir)" + --with-systemdpresetdir="$(systemd_get_systempresetdir)" + --with-vendor=gentoo + # Building zfs-mount-generator.c on musl breaks as strndupa + # isn't available. But systemd doesn't support musl anyway, so + # just disable building it. + $(use_enable !elibc_musl systemd) + $(use_enable debug) + $(use_enable nls) + $(use_enable pam) + $(use_enable python pyzfs) + --disable-static + $(usex minimal --without-python --with-python="${EPYTHON}") + ) + + econf "${myconf[@]}" +} + +src_compile() { + default + if use python; then + pushd contrib/pyzfs >/dev/null || die + distutils-r1_src_compile + popd >/dev/null || die + fi +} + +src_install() { + default + + gen_usr_ldscript -a nvpair uutil zfsbootenv zfs zfs_core zpool + + use pam && { rm -rv "${ED}/unwanted_files" || die ; } + + use test-suite || { rm -r "${ED}"/usr/share/zfs/{test-runner,zfs-tests,runfiles,*sh} || die ; } + + find "${ED}" -name '*.la' -delete || die + + dobashcomp contrib/bash_completion.d/zfs + bashcomp_alias zfs zpool + + # strip executable bit from conf.d file + fperms 0644 /etc/conf.d/zfs + + if use python; then + pushd contrib/pyzfs >/dev/null || die + distutils-r1_src_install + popd >/dev/null || die + fi + + # enforce best available python implementation + use minimal || python_fix_shebang "${ED}/bin" +} + +pkg_postinst() { + udev_reload + + # we always need userspace utils in sync with zfs-kmod + # so force initrd update for userspace as well, to avoid + # situation when zfs-kmod trigger initrd rebuild before + # userspace component is rebuilt + # KV_* variables are provided by linux-info.eclass + if [[ -z ${ROOT} ]] && use dist-kernel; then + dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}" + fi + + if use rootfs; then + if ! has_version sys-kernel/genkernel && ! has_version sys-kernel/dracut; then + elog "Root on zfs requires an initramfs to boot" + elog "The following packages provide one and are tested on a regular basis:" + elog " sys-kernel/dracut ( preferred, module maintained by zfs developers )" + elog " sys-kernel/genkernel" + fi + fi + + if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then + einfo "Adding ${P} to the module database to ensure that the" + einfo "kernel modules and userland utilities stay in sync." + update_moduledb + fi + + if systemd_is_booted || has_version sys-apps/systemd; then + einfo "Please refer to ${EROOT}/$(systemd_get_systempresetdir)/50-zfs.preset" + einfo "for default zfs systemd service configuration" + else + [[ -e "${EROOT}/etc/runlevels/boot/zfs-import" ]] || \ + einfo "You should add zfs-import to the boot runlevel." + [[ -e "${EROOT}/etc/runlevels/boot/zfs-load-key" ]] || \ + einfo "You should add zfs-load-key to the boot runlevel." + [[ -e "${EROOT}/etc/runlevels/boot/zfs-mount" ]]|| \ + einfo "You should add zfs-mount to the boot runlevel." + [[ -e "${EROOT}/etc/runlevels/default/zfs-share" ]] || \ + einfo "You should add zfs-share to the default runlevel." + [[ -e "${EROOT}/etc/runlevels/default/zfs-zed" ]] || \ + einfo "You should add zfs-zed to the default runlevel." + fi +} + +pkg_postrm() { + udev_reload + + if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then + remove_moduledb + fi +} diff --git a/sys-fs/zfs/zfs-2.1.4.ebuild b/sys-fs/zfs/zfs-2.1.5.ebuild index 7d1292a10c0..6e0b78a9c12 100644 --- a/sys-fs/zfs/zfs-2.1.4.ebuild +++ b/sys-fs/zfs/zfs-2.1.5.ebuild @@ -4,7 +4,7 @@ EAPI=7 DISTUTILS_OPTIONAL=1 -PYTHON_COMPAT=( python3_{8,9,10} ) +PYTHON_COMPAT=( python3_{8..10} ) inherit autotools bash-completion-r1 dist-kernel-utils distutils-r1 flag-o-matic linux-info pam systemd udev usr-ldscript @@ -23,9 +23,8 @@ else SRC_URI+=" verify-sig? ( https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz.asc )" S="${WORKDIR}/${P%_rc?}" - # 2.1.3 unkeyworded briefly for some testing if [[ ${PV} != *_rc* ]]; then - KEYWORDS="amd64 arm64 ppc64 ~riscv" + KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" fi fi @@ -252,6 +251,8 @@ src_install() { } pkg_postinst() { + udev_reload + # we always need userspace utils in sync with zfs-kmod # so force initrd update for userspace as well, to avoid # situation when zfs-kmod trigger initrd rebuild before @@ -294,6 +295,8 @@ pkg_postinst() { } pkg_postrm() { + udev_reload + if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then remove_moduledb fi diff --git a/sys-fs/zfs/zfs-9999.ebuild b/sys-fs/zfs/zfs-9999.ebuild index cd2bdc26966..eb60343f89b 100644 --- a/sys-fs/zfs/zfs-9999.ebuild +++ b/sys-fs/zfs/zfs-9999.ebuild @@ -4,7 +4,7 @@ EAPI=7 DISTUTILS_OPTIONAL=1 -PYTHON_COMPAT=( python3_{8,9,10} ) +PYTHON_COMPAT=( python3_{8..10} ) inherit autotools bash-completion-r1 dist-kernel-utils distutils-r1 flag-o-matic linux-info pam systemd udev usr-ldscript @@ -100,6 +100,10 @@ REQUIRED_USE=" RESTRICT="test" +PATCHES=( + "${FILESDIR}"/2.1.5-dracut-zfs-missing.patch +) + pkg_pretend() { use rootfs || return 0 @@ -183,6 +187,13 @@ src_configure() { use custom-cflags || strip-flags use minimal || python_setup + # All the same issue: + # Segfaults w/ GCC 12 and 'zfs send' + # bug #856373 + # https://github.com/openzfs/zfs/issues/13620 + # https://github.com/openzfs/zfs/issues/13605 + append-flags -fno-tree-vectorize + local myconf=( --bindir="${EPREFIX}/bin" --enable-shared @@ -251,6 +262,8 @@ src_install() { } pkg_postinst() { + udev_reload + # we always need userspace utils in sync with zfs-kmod # so force initrd update for userspace as well, to avoid # situation when zfs-kmod trigger initrd rebuild before @@ -293,6 +306,8 @@ pkg_postinst() { } pkg_postrm() { + udev_reload + if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then remove_moduledb fi |