diff options
Diffstat (limited to 'sys-fs')
| -rw-r--r-- | sys-fs/android-file-transfer-linux/Manifest | 1 | ||||
| -rw-r--r-- | sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.1.ebuild | 80 | ||||
| -rw-r--r-- | sys-fs/mdadm/mdadm-4.1.ebuild | 24 | ||||
| -rw-r--r-- | sys-fs/unionfs-fuse/Manifest | 2 | ||||
| -rw-r--r-- | sys-fs/unionfs-fuse/unionfs-fuse-1.0.ebuild | 21 | ||||
| -rw-r--r-- | sys-fs/unionfs-fuse/unionfs-fuse-2.0.ebuild | 21 | ||||
| -rw-r--r-- | sys-fs/unionfs-fuse/unionfs-fuse-9999.ebuild | 2 | ||||
| -rw-r--r-- | sys-fs/xfsprogs/Manifest | 1 | ||||
| -rw-r--r-- | sys-fs/xfsprogs/xfsprogs-5.10.0.ebuild | 95 | ||||
| -rw-r--r-- | sys-fs/zfs-kmod/Manifest | 1 | ||||
| -rw-r--r-- | sys-fs/zfs-kmod/zfs-kmod-0.8.6.ebuild | 185 | ||||
| -rw-r--r-- | sys-fs/zfs/Manifest | 1 | ||||
| -rw-r--r-- | sys-fs/zfs/zfs-0.8.6.ebuild | 222 |
13 files changed, 602 insertions, 54 deletions
diff --git a/sys-fs/android-file-transfer-linux/Manifest b/sys-fs/android-file-transfer-linux/Manifest index dc763d40f49f..2a27a32ca976 100644 --- a/sys-fs/android-file-transfer-linux/Manifest +++ b/sys-fs/android-file-transfer-linux/Manifest @@ -1,2 +1,3 @@ DIST android-file-transfer-linux-3.9.tar.gz 781268 BLAKE2B 63032a39b39cf31b8d051c0069c0357f0b6ed5bd9e592ee5ce1f5e95438ff27571ec7d58789eb865a1896097c3cebf0ec30a89526b62c93694d71ca29e95d415 SHA512 7468ff19d2b4ae0f768eea70ec45246da11c4e541d07a9548d057c080adbbc905f76dcdff18c4c8478cd19aee6992d02beaf8b4275d7302997652e25351ab5c8 DIST android-file-transfer-linux-4.0.tar.gz 820094 BLAKE2B 1cb7150647e09a9f3dbe30cdf8ff01e122c9bab5a450c9bbe58fc8e3c8b48de0e2b6d571c8e7fa71de25fff28b803ef60aed7f8a77129919bdf9f482fff975ee SHA512 31083d3f7adb06ba0b5e79738825f5a10f3f4ce7e5b24498f7255224c11a9d978b814749c4b5fd60a5ec2b4c7d06bc85ad4b0cfb6cbcf6b3ff3f7e331c6c03f1 +DIST android-file-transfer-linux-4.1.tar.gz 820290 BLAKE2B 598a4ae25cc5110c38534d1b2b49c034f3dee3f8ab9e47835b4543acecf80521c102e0b8cdf89a19801b178a8fdbbd09e866b957b3ab5886700a26e6c00f8a1b SHA512 76151089dcce304fb688a54a4f94ea605fa3d048765119c631a2ff2c8d107678062ed4d485a983dfb0b337c9b4d3639e3f76640b6bcc73e3e6449764e99298ab 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 new file mode 100644 index 000000000000..e5da047c2999 --- /dev/null +++ b/sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.1.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8,9,10} ) + +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 libressl 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? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl: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/mdadm/mdadm-4.1.ebuild b/sys-fs/mdadm/mdadm-4.1.ebuild index 515775501e94..9aad93609658 100644 --- a/sys-fs/mdadm/mdadm-4.1.ebuild +++ b/sys-fs/mdadm/mdadm-4.1.ebuild @@ -30,16 +30,22 @@ PATCHES=( mdadm_emake() { # We should probably make corosync & libdlm into USE flags. #573782 - emake \ - PKG_CONFIG="$(tc-getPKG_CONFIG)" \ - CC="$(tc-getCC)" \ - CWFLAGS="-Wall" \ - CXFLAGS="${CFLAGS}" \ - UDEVDIR="$(get_udevdir)" \ - SYSTEMD_DIR="$(systemd_get_systemunitdir)" \ - COROSYNC="-DNO_COROSYNC" \ - DLM="-DNO_DLM" \ + local args=( + PKG_CONFIG="$(tc-getPKG_CONFIG)" + CC="$(tc-getCC)" + CWFLAGS="-Wall" + CXFLAGS="${CFLAGS}" + UDEVDIR="$(get_udevdir)" + SYSTEMD_DIR="$(systemd_get_systemunitdir)" + COROSYNC="-DNO_COROSYNC" + DLM="-DNO_DLM" + + # https://bugs.gentoo.org/732276 + STRIP= + "$@" + ) + emake "${args[@]}" } src_compile() { diff --git a/sys-fs/unionfs-fuse/Manifest b/sys-fs/unionfs-fuse/Manifest index 0b0a749a3fb7..e37c9a073cd2 100644 --- a/sys-fs/unionfs-fuse/Manifest +++ b/sys-fs/unionfs-fuse/Manifest @@ -1,3 +1 @@ -DIST unionfs-fuse-1.0.tar.gz 48149 BLAKE2B d1ef74980158f4710f5b545c3e98abd27eb4eb610cbe141fa1befaa2a0efc3cce3cead1a405ecdea7dd0f02fab2d2f030d96a7b1d5068a1cd5de4e2f5bfe3aec SHA512 805151acaeae8526fba430701a1690f6eb0ad8331a9e730095ee538dc2b148d02fe996a63e8a7f6471d1ef622cc5c03d82bd2b2faad1ebe3b614ec343c2f55de -DIST unionfs-fuse-2.0.tar.gz 46537 BLAKE2B 2f5a0da5adb15c408e7b9d0c3658e389a1aea4a9a5f2f3809fc724af43cf2a4b309e4220e46647e3f3fc9b19d48c8d62692e190cf8536182abfe551bfacfcc24 SHA512 5b60204632f498931fff7671cc9f40b1800d34cb8c0d0de0773626e2653eb0a36647566c92c1d0cf79543e01b934602ef5603a06508407f352e48ef27a7ee758 DIST unionfs-fuse-2.1.tar.gz 47917 BLAKE2B c76edbcbff98db28092f61facbdf443eda12ea97770126feac3d590e0f85e51df84308d0eeeebd96e5bafd126b472b0ded6a2ead72cac0fab3614e3cc04730dd SHA512 851e378f8c189d8a84d2a0cf47ce8f1e9cdda5e789a8c0c97aac6e0757c2f6480ca4d931a525bb94cec4af11789073ccda44ad01d7ed02de1c29ded72f578aa0 diff --git a/sys-fs/unionfs-fuse/unionfs-fuse-1.0.ebuild b/sys-fs/unionfs-fuse/unionfs-fuse-1.0.ebuild deleted file mode 100644 index 1dd309e439f7..000000000000 --- a/sys-fs/unionfs-fuse/unionfs-fuse-1.0.ebuild +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright 1999-2018 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="5" - -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="" - -DEPEND="sys-fs/fuse:0" -RDEPEND="${DEPEND}" - -src_install() { - emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install -} diff --git a/sys-fs/unionfs-fuse/unionfs-fuse-2.0.ebuild b/sys-fs/unionfs-fuse/unionfs-fuse-2.0.ebuild deleted file mode 100644 index bf4a922ce675..000000000000 --- a/sys-fs/unionfs-fuse/unionfs-fuse-2.0.ebuild +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright 1999-2018 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -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="" - -DEPEND="sys-fs/fuse:0" -RDEPEND="${DEPEND}" - -src_install() { - emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install -} diff --git a/sys-fs/unionfs-fuse/unionfs-fuse-9999.ebuild b/sys-fs/unionfs-fuse/unionfs-fuse-9999.ebuild index 52e8998a43f0..f08dfadb41eb 100644 --- a/sys-fs/unionfs-fuse/unionfs-fuse-9999.ebuild +++ b/sys-fs/unionfs-fuse/unionfs-fuse-9999.ebuild @@ -4,7 +4,7 @@ EAPI="7" PYTHON_COMPAT=( python3_{6,7,8,9,10} ) -inherit python-any-r1 toolchain-funcs git-r3 +inherit python-any-r1 toolchain-funcs DESCRIPTION="Self-syncing tree-merging file system based on FUSE" HOMEPAGE="https://github.com/rpodgorny/unionfs-fuse" diff --git a/sys-fs/xfsprogs/Manifest b/sys-fs/xfsprogs/Manifest index a741a9724ea7..7a495d78f432 100644 --- a/sys-fs/xfsprogs/Manifest +++ b/sys-fs/xfsprogs/Manifest @@ -1,3 +1,4 @@ +DIST xfsprogs-5.10.0.tar.xz 1273332 BLAKE2B 8caaa0ca8a94480f131d36b383afcf732b3a5a7a3c7927b4b4da4855fc5a0fb97a56fcebb98391a4dd0f02465868a4bd857e57eeba053a419df47d42f74bc958 SHA512 da09e687c87c4b133888dba7b4458017ec028020637ea5066be0232bf5c7da18239cc33eadd02d9b99d1c835aab38cab1ec9d45ae8b83897f9157cfcb0271fbd DIST xfsprogs-5.4.0.tar.xz 1248688 BLAKE2B dd00083b62a4989ca94d117eabad3905dc487c3e6d4f20bbe855399e99e2195c1a45f2be3b117048e2a7f2374c7e6258e7c1edd63d12a405c88f4c9fa6cd5e8e SHA512 c0973fcf97e2666385b46c80cd1398728702cb34fd7e0f89e2a63686300573405d09a81d3ae43d79c2e9710ccf6b6bd6ed1c3f3f831c75cd0916f094f203aaa7 DIST xfsprogs-5.6.0.tar.xz 1253112 BLAKE2B 7928b29458e3ad8251b48b6fb14a515e0128701c40cdfa63c05fc85173c70da3f34c948b7791f12ac5bb8d5f0c634016dac71c328a8917d1065aa7fb4cac3291 SHA512 a6bee55b0a23316c73f3921234d1dbaa4cbe91c12e79264e5f9bfe1356a24baa0ab25270405a46e4613a7e48443ef21997ff4f5962663777bed373f89ca29701 DIST xfsprogs-5.7.0.tar.xz 1258772 BLAKE2B 3dab72c1c64d88194f677ed434fe00c8c2eac10c7c6d471d3b32595eb27a76ec1fa20955a08d7c2e371a0d160bce741afad0998731d2fee497917e0d7a4e70f7 SHA512 6a333b7e4fc6afb1689f6bbbbf07b97058cce2fde437fd3ed5b010276c050f886e5c0317ea16aedb23f579a9fed5edc4e7e64b4af5f0331dc8fd97b3251dd231 diff --git a/sys-fs/xfsprogs/xfsprogs-5.10.0.ebuild b/sys-fs/xfsprogs/xfsprogs-5.10.0.ebuild new file mode 100644 index 000000000000..1661c39dc4e8 --- /dev/null +++ b/sys-fs/xfsprogs/xfsprogs-5.10.0.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2020 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="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86" +IUSE="icu libedit nls" + +LIB_DEPEND=">=sys-apps/util-linux-2.17.2[static-libs(+)] + icu? ( dev-libs/icu:=[static-libs(+)] ) + libedit? ( dev-libs/libedit[static-libs(+)] )" +RDEPEND="${LIB_DEPEND//\[static-libs(+)]} + !<sys-fs/xfsdump-3" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-libs/inih + nls? ( sys-devel/gettext ) +" + +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}" install + emake DIST_ROOT="${ED}" install-dev + + gen_usr_ldscript -a handle +} diff --git a/sys-fs/zfs-kmod/Manifest b/sys-fs/zfs-kmod/Manifest index c61bfe7fb31e..e9efc723c3af 100644 --- a/sys-fs/zfs-kmod/Manifest +++ b/sys-fs/zfs-kmod/Manifest @@ -1,2 +1,3 @@ DIST zfs-0.8.5.tar.gz 9196381 BLAKE2B 8376f360369c4657ff1fc040fb2bba780bbd5d6a98d149d2fa4ba39478588e213dbf6db218c7bd970839f015a69ae00ac951b90afc1c26b34aadf666b2976cab SHA512 3e6e70b76f7cc5b018adb78ce7c3009f88faf5b3da0a03170b03577cd84a2937b6056621c41fc819fd08bf59b28053caf8fec375cf375816a6786bb5646ed773 +DIST zfs-0.8.6.tar.gz 9295260 BLAKE2B 45424d710aaf75a05f766ae523ae157a24b5cbdcefe72a59e4cede81e42f7a92ae7f01150388437b78cd49f3d28b9664599f2a624516e6b3f1073497194a99f2 SHA512 626b172554f39a5c70f6ea5c599a92fae52534590d1b0273de2bbfc3676d29dff0eade8ca17e5f179a59870c12bc758fb53b7900f8a1fdbdef3a9161b93f9cce DIST zfs-2.0.0.tar.gz 12989903 BLAKE2B 2961b97aa6736af9b4a2bc968d1488f49ec0c0fd7bb22b6bc015047239279efd2d48f8d7c593f9b467ac9d40f99d67363ab551bdfaf1dd71335c37c48c759875 SHA512 2706ae1aa54b882b272502e7a46e57ff41f9db9b123e8cd5dafbdd7f61975d05538167016f943804145d22aa018a1f11c884f692dc3992b28c24eac08112650f diff --git a/sys-fs/zfs-kmod/zfs-kmod-0.8.6.ebuild b/sys-fs/zfs-kmod/zfs-kmod-0.8.6.ebuild new file mode 100644 index 000000000000..cc5f18c90673 --- /dev/null +++ b/sys-fs/zfs-kmod/zfs-kmod-0.8.6.ebuild @@ -0,0 +1,185 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools flag-o-matic linux-mod toolchain-funcs + +DESCRIPTION="Linux ZFS kernel module for sys-fs/zfs" +HOMEPAGE="https://github.com/openzfs/zfs" + +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" +fi + +LICENSE="CDDL debug? ( GPL-2+ )" +SLOT="0" +IUSE="custom-cflags debug +rootfs" + +DEPEND="" + +RDEPEND="${DEPEND} + !sys-kernel/spl +" + +BDEPEND=" + dev-lang/perl + virtual/awk +" + +RESTRICT="debug? ( strip ) test" + +DOCS=( AUTHORS COPYRIGHT META README.md ) + +pkg_setup() { + CONFIG_CHECK=" + !DEBUG_LOCK_ALLOC + EFI_PARTITION + MODULES + !PAX_KERNEXEC_PLUGIN_METHOD_OR + !TRIM_UNUSED_KSYMS + ZLIB_DEFLATE + ZLIB_INFLATE + " + + use debug && CONFIG_CHECK="${CONFIG_CHECK} + FRAME_POINTER + DEBUG_INFO + !DEBUG_INFO_REDUCED + " + + use rootfs && \ + CONFIG_CHECK="${CONFIG_CHECK} + BLK_DEV_INITRD + 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 + local kv_major_max kv_minor_max zcompat + zcompat="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}" + kv_major_max="${zcompat%%.*}" + zcompat="${zcompat#*.}" + kv_minor_max="${zcompat%%.*}" + 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 + + linux-mod_pkg_setup +} + +src_prepare() { + default + + if [[ ${PV} == "9999" ]]; then + eautoreconf + else + # Set module revision number + sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" META || die "Could not set Gentoo release" + fi + + # undo https://github.com/openzfs/zfs/commit/acfc4944d0d6db114db9f2bb5401251c5bd767b6 + # we use release tarballs with no gitignore files already + sed -i 's:rm "$KERNEL_DIR/include/zfs/.gitignore"::' copy-builtin || die +} + +src_configure() { + set_arch_to_kernel + + use custom-cflags || strip-flags + + filter-ldflags -Wl,* + + local myconf=( + CROSS_COMPILE="${CHOST}-" + HOSTCC="$(tc-getBUILD_CC)" + --bindir="${EPREFIX}/bin" + --sbindir="${EPREFIX}/sbin" + --with-config=kernel + --with-linux="${KV_DIR}" + --with-linux-obj="${KV_OUT_DIR}" + $(use_enable debug) + ) + + CONFIG_SHELL="${EPREFIX}/bin/bash" econf "${myconf[@]}" +} + +src_compile() { + set_arch_to_kernel + + myemakeargs=( + CROSS_COMPILE="${CHOST}-" + HOSTCC="$(tc-getBUILD_CC)" + V=1 + ) + + emake "${myemakeargs[@]}" +} + +src_install() { + set_arch_to_kernel + + myemakeargs+=( + DEPMOD="/bin/true" + DESTDIR="${D}" + INSTALL_MOD_PATH="${INSTALL_MOD_PATH:-$EROOT}" + ) + + emake "${myemakeargs[@]}" install + + einstalldocs +} + +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 use x86 || use arm; then + ewarn "32-bit kernels will likely require increasing vmalloc to" + 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 ZFSOnLinux. 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." +} diff --git a/sys-fs/zfs/Manifest b/sys-fs/zfs/Manifest index c61bfe7fb31e..e9efc723c3af 100644 --- a/sys-fs/zfs/Manifest +++ b/sys-fs/zfs/Manifest @@ -1,2 +1,3 @@ DIST zfs-0.8.5.tar.gz 9196381 BLAKE2B 8376f360369c4657ff1fc040fb2bba780bbd5d6a98d149d2fa4ba39478588e213dbf6db218c7bd970839f015a69ae00ac951b90afc1c26b34aadf666b2976cab SHA512 3e6e70b76f7cc5b018adb78ce7c3009f88faf5b3da0a03170b03577cd84a2937b6056621c41fc819fd08bf59b28053caf8fec375cf375816a6786bb5646ed773 +DIST zfs-0.8.6.tar.gz 9295260 BLAKE2B 45424d710aaf75a05f766ae523ae157a24b5cbdcefe72a59e4cede81e42f7a92ae7f01150388437b78cd49f3d28b9664599f2a624516e6b3f1073497194a99f2 SHA512 626b172554f39a5c70f6ea5c599a92fae52534590d1b0273de2bbfc3676d29dff0eade8ca17e5f179a59870c12bc758fb53b7900f8a1fdbdef3a9161b93f9cce DIST zfs-2.0.0.tar.gz 12989903 BLAKE2B 2961b97aa6736af9b4a2bc968d1488f49ec0c0fd7bb22b6bc015047239279efd2d48f8d7c593f9b467ac9d40f99d67363ab551bdfaf1dd71335c37c48c759875 SHA512 2706ae1aa54b882b272502e7a46e57ff41f9db9b123e8cd5dafbdd7f61975d05538167016f943804145d22aa018a1f11c884f692dc3992b28c24eac08112650f diff --git a/sys-fs/zfs/zfs-0.8.6.ebuild b/sys-fs/zfs/zfs-0.8.6.ebuild new file mode 100644 index 000000000000..034b6bc99516 --- /dev/null +++ b/sys-fs/zfs/zfs-0.8.6.ebuild @@ -0,0 +1,222 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DISTUTILS_OPTIONAL=1 +PYTHON_COMPAT=( python3_{6,7,8,9,10} ) + +inherit autotools bash-completion-r1 flag-o-matic linux-info distutils-r1 systemd toolchain-funcs 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 + SRC_URI="https://github.com/openzfs/${PN}/releases/download/${P}/${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~ppc64" +fi + +LICENSE="BSD-2 CDDL MIT" +SLOT="0/2" # just libzfs soname major for now. possible candidates: libuutil, libzpool, libnvpair +IUSE="custom-cflags debug kernel-builtin libressl minimal nls python +rootfs test-suite static-libs" + +DEPEND=" + net-libs/libtirpc[static-libs?] + sys-apps/util-linux[static-libs?] + sys-libs/zlib[static-libs(+)?] + virtual/awk + virtual/libudev[static-libs(-)?] + libressl? ( dev-libs/libressl:0=[static-libs?] ) + !libressl? ( dev-libs/openssl:0=[static-libs?] ) + !minimal? ( ${PYTHON_DEPS} ) + python? ( + virtual/python-cffi[${PYTHON_USEDEP}] + ) +" + +BDEPEND="virtual/awk + virtual/pkgconfig + nls? ( sys-devel/gettext ) + python? ( + dev-python/setuptools[${PYTHON_USEDEP}] + ) +" + +RDEPEND="${DEPEND} + !kernel-builtin? ( ~sys-fs/zfs-kmod-${PV} ) + !prefix? ( virtual/udev ) + sys-fs/udev-init-scripts + rootfs? ( + app-arch/cpio + app-misc/pax-utils + !<sys-kernel/genkernel-3.5.1.1 + ) + test-suite? ( + sys-apps/kmod[tools] + sys-apps/util-linux + sys-devel/bc + sys-block/parted + sys-fs/lsscsi + sys-fs/mdadm + sys-process/procps + ) +" + +REQUIRED_USE=" + !minimal? ( ${PYTHON_REQUIRED_USE} ) + python? ( !minimal ) + test-suite? ( !minimal ) +" + +RESTRICT="test" + +PATCHES=( + "${FILESDIR}/bash-completion-sudo.patch" +) + +pkg_setup() { + if use kernel_linux && use test-suite; 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 +} + +src_prepare() { + default + + if [[ ${PV} == "9999" ]]; then + eautoreconf + else + # 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 + + local myconf=( + --bindir="${EPREFIX}/bin" + --enable-shared + --enable-systemd + --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-systemdunitdir="$(systemd_get_systemunitdir)" + --with-systemdpresetdir="${EPREFIX}/lib/systemd/system-preset" + $(use_enable debug) + $(use_enable nls) + $(use_enable python pyzfs) + $(use_enable static-libs static) + $(usex minimal --without-python --with-python="${EPYTHON}") + ) + + CONFIG_SHELL="${EPREFIX}/bin/bash" 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 uutil nvpair zpool zfs zfs_core + + use test-suite || rm -rf "${ED}/usr/share/zfs" + + if ! use static-libs; then + find "${ED}/" -name '*.la' -delete || die + fi + + 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() { + 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 " sys-kernel/dracut" + 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}/lib/systemd/system-preset/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-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() { + if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then + remove_moduledb + fi +} |
