diff options
Diffstat (limited to 'sys-libs/libblockdev')
-rw-r--r-- | sys-libs/libblockdev/Manifest | 7 | ||||
-rw-r--r-- | sys-libs/libblockdev/files/libblockdev-2.28-sh_tests.patch | 23 | ||||
-rw-r--r-- | sys-libs/libblockdev/files/libblockdev-3.0.4-add-non-systemd-method-for-distro-info.patch | 30 | ||||
-rw-r--r-- | sys-libs/libblockdev/libblockdev-2.28-r1.ebuild (renamed from sys-libs/libblockdev/libblockdev-2.25.ebuild) | 45 | ||||
-rw-r--r-- | sys-libs/libblockdev/libblockdev-2.29.ebuild (renamed from sys-libs/libblockdev/libblockdev-2.24.ebuild) | 44 | ||||
-rw-r--r-- | sys-libs/libblockdev/libblockdev-3.0.3.ebuild (renamed from sys-libs/libblockdev/libblockdev-9999.ebuild) | 70 | ||||
-rw-r--r-- | sys-libs/libblockdev/libblockdev-3.0.4.ebuild | 132 | ||||
-rw-r--r-- | sys-libs/libblockdev/libblockdev-3.1.1.ebuild | 132 | ||||
-rw-r--r-- | sys-libs/libblockdev/metadata.xml | 39 |
9 files changed, 444 insertions, 78 deletions
diff --git a/sys-libs/libblockdev/Manifest b/sys-libs/libblockdev/Manifest index f589b2f9e543..301c93b4bf6a 100644 --- a/sys-libs/libblockdev/Manifest +++ b/sys-libs/libblockdev/Manifest @@ -1,2 +1,5 @@ -DIST libblockdev-2.24.tar.gz 905838 BLAKE2B dcc31021d72c2a4f92d8f70387537ec409302e85a9bdb338a09449b02318113d40cabf7fc2f6b4aca819400baccba69a9f67a616b30c744cf843eeac785875e4 SHA512 92b7d734ea2cefbb67e626bef369d6785ba2a4bbbf09a4f59345febe977bc32319fb44f38b3c3177b8652abbc1f87b6cc76d41fdd2d70783c1c168049bdcb1d6 -DIST libblockdev-2.25.tar.gz 930238 BLAKE2B ae28c40b5e114826baf4a8ba9012267b297dbc4abee52669cf39c886d2c9989291f41937ec742c7457049a6a30e674f9c89ad6478923f393ae1773db3afcf621 SHA512 628d05f3a257b44208a9d0b5d84ae248fefd415812d9a93d132c03039b09fefc4d6110beb9aa0d3072e3f0c992e642d7867d0241209056538f132f86a748e195 +DIST libblockdev-2.28.tar.gz 925698 BLAKE2B 63ac7ab5bd02c1ef1848d0b252e09fe721cfe86258f063b7bab616766cbc56311707dcb2dd3a1fadf0e0840187f121aa178fd5959500cd590b846238a9d3e36e SHA512 9e01c41db4f728c8e81e710c6bb4725bbe34b3a7de25ff7f57b7b88ca6b7b5debbe858947585d314770036b2c3c533f9f8ff3d038b7ca50eee3d18f9fbe0d392 +DIST libblockdev-2.29.tar.gz 935117 BLAKE2B 774062459602a6f3730ac6e694b3f535daf0258cc5f509ff138bb8c15f44ff46bdc08e32ae1957909b51a191726cf5e9cb418c0317e5178300687947704cf5e0 SHA512 0d9637800b189f3824483010d2ff079da11b15ed0b42c578352a0d3cd9c35dab4e5945a3cc31c17ea6f88637548151fc7cf237ac8e9c98edfc7b7bce1a756e01 +DIST libblockdev-3.0.3.tar.gz 1048628 BLAKE2B c26a806797effc7231a0eb92f1b8cd74e548da5b1800cddd75a21e7df327be8371edabc2e9a39a727291f365b6a4f6242f78b66396adc4526b41749219f0429f SHA512 f2cc6fbe1df6fd9886016177a4a94984d704f3b402c7090344c581afb89f7cb050c9516c52974157a99ea6c6239f6a1f6079cde0b43a2336af0daca7311ca788 +DIST libblockdev-3.0.4.tar.gz 1050971 BLAKE2B e31ecb04310c2c66cbe432c1e003b3c3241f318f78916d5c61c0efca37fa677e5f857eab9b7c3bfc7c5a589350cdef12402940d28af68ab9fc95e5da6852ddf1 SHA512 82b574c1f8e301d6e9ff07f8c3d2a351a5bc966b5d65a3b578c214e03e48b54270b54176d646ac15e8119c79536d08b36415de478ffd34c8b3fe536300fc5172 +DIST libblockdev-3.1.1.tar.gz 1056270 BLAKE2B b3dbdc7226524d544193b609ced8a9fee725268ba2201b639c22103fcae6d047c94fb1b848e489525300242cb235d688934193894a06279a4dc0e0b33dff6e96 SHA512 44628d9e68a467f8a5d5e65e12d5d6ffb4d9b953c846acd9f6da257eab5ccd79309651d6b20092fa700fb4340f1f718ceef11141203da676d088824aa9d03481 diff --git a/sys-libs/libblockdev/files/libblockdev-2.28-sh_tests.patch b/sys-libs/libblockdev/files/libblockdev-2.28-sh_tests.patch new file mode 100644 index 000000000000..2fbeaf49f233 --- /dev/null +++ b/sys-libs/libblockdev/files/libblockdev-2.28-sh_tests.patch @@ -0,0 +1,23 @@ +bash is fine with "test . == ." but e.g. dash fails on not having +the two dots quoted as strings. + +--- a/docs/Makefile.am ++++ b/docs/Makefile.am +@@ -2,7 +2,7 @@ + + html-doc.stamp: ${srcdir}/libblockdev-docs.xml ${srcdir}/libblockdev-sections.txt $(wildcard ${srcdir}/../src/plugins/*.[ch]) $(wildcard ${srcdir}/../src/lib/*.[ch]) $(wildcard ${srcdir}/../src/utils/*.[ch]) + touch ${builddir}/html-doc.stamp +- test ${builddir} == ${srcdir} || cp ${srcdir}/libblockdev-sections.txt ${srcdir}/libblockdev-docs.xml ${builddir} ++ test "${builddir}" == "${srcdir}" || cp ${srcdir}/libblockdev-sections.txt ${srcdir}/libblockdev-docs.xml ${builddir} + gtkdoc-scan --rebuild-types --module=libblockdev --source-dir=${srcdir}/../src/plugins/ --source-dir=${srcdir}/../src/lib/ --source-dir=${srcdir}/../src/utils/ + gtkdoc-mkdb --module=libblockdev --output-format=xml --source-dir=${srcdir}/../src/plugins/ --source-dir=${srcdir}/../src/lib/ --source-dir=${srcdir}/../src/utils/ --source-suffixes=c,h + test -d ${builddir}/html || mkdir ${builddir}/html +@@ -13,7 +13,7 @@ + -rm -rf ${builddir}/html + -rm -rf ${builddir}/xml + test ! -f ${builddir}/html-doc.stamp || rm ${builddir}/html-doc.stamp +- test ${builddir} == ${srcdir} || rm -f ${builddir}/libblockdev-sections.txt ${builddir}/libblockdev-docs.xml ++ test "${builddir}" == "${srcdir}" || rm -f ${builddir}/libblockdev-sections.txt ${builddir}/libblockdev-docs.xml + + install-data-local: + test -d ${DESTDIR}${datadir}/gtk-doc/html/libblockdev || mkdir -p ${DESTDIR}${datadir}/gtk-doc/html/libblockdev diff --git a/sys-libs/libblockdev/files/libblockdev-3.0.4-add-non-systemd-method-for-distro-info.patch b/sys-libs/libblockdev/files/libblockdev-3.0.4-add-non-systemd-method-for-distro-info.patch new file mode 100644 index 000000000000..5625478c6081 --- /dev/null +++ b/sys-libs/libblockdev/files/libblockdev-3.0.4-add-non-systemd-method-for-distro-info.patch @@ -0,0 +1,30 @@ +From ec8cab726abe60ba5c7ffcce07905b29c5376163 Mon Sep 17 00:00:00 2001 +From: Alfred Wingate <parona@protonmail.com> +Date: Mon, 13 Nov 2023 16:21:44 +0200 +Subject: [PATCH] Add non-systemd method to get distro name and version + +--- a/tests/utils.py ++++ b/tests/utils.py +@@ -514,10 +514,16 @@ def get_version(): + """ Try to get distro and version + """ + +- bus = dbus.SystemBus() ++ try: ++ bus = dbus.SystemBus() ++ ++ # get information about the distribution from systemd (hostname1) ++ sys_info = bus.get_object("org.freedesktop.hostname1", "/org/freedesktop/hostname1") ++ except dbus.exceptions.DBusException: ++ import platform ++ info = platform.freedesktop_os_release() ++ return (info["NAME"], info["VERSION_ID"]) + +- # get information about the distribution from systemd (hostname1) +- sys_info = bus.get_object("org.freedesktop.hostname1", "/org/freedesktop/hostname1") + cpe = str(sys_info.Get("org.freedesktop.hostname1", "OperatingSystemCPEName", dbus_interface=dbus.PROPERTIES_IFACE)) + + if cpe: +-- +2.42.1 + diff --git a/sys-libs/libblockdev/libblockdev-2.25.ebuild b/sys-libs/libblockdev/libblockdev-2.28-r1.ebuild index 7a897bf92547..3a4d698c3f06 100644 --- a/sys-libs/libblockdev/libblockdev-2.25.ebuild +++ b/sys-libs/libblockdev/libblockdev-2.28-r1.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2024 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_{10..11} ) inherit autotools python-single-r1 xdg-utils DESCRIPTION="A library for manipulating block devices" @@ -12,20 +12,19 @@ if [[ "${PV}" == *9999 ]] ; then inherit git-r3 EGIT_REPO_URI="https://github.com/storaged-project/libblockdev.git" BDEPEND=" - sys-devel/autoconf-archive + dev-build/autoconf-archive " else MY_PV="${PV}-1" - #MY_P="${PN}-${MY_PV}" - #SRC_URI="https://github.com/storaged-project/${PN}/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz" SRC_URI="https://github.com/storaged-project/${PN}/releases/download/${MY_PV}/${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" - #S="${WORKDIR}/${MY_P}" + KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86" fi LICENSE="LGPL-2+" -SLOT="0" +SLOT="0/2" # subslot is SOVERSION IUSE="bcache +cryptsetup device-mapper dmraid escrow gtk-doc introspection lvm kbd test +tools vdo" -RESTRICT="!test? ( test )" +# Tests require root. In a future release, we may be able to run a smaller +# subset with new run_tests.py arguments. +RESTRICT="!test? ( test ) test" RDEPEND=" >=dev-libs/glib-2.42.2 @@ -57,15 +56,26 @@ DEPEND=" ${RDEPEND} " +# TODO: relax libbytesize condition once it has gained py3.11 support BDEPEND+=" - dev-util/gtk-doc-am + dev-build/gtk-doc-am gtk-doc? ( dev-util/gtk-doc ) introspection? ( >=dev-libs/gobject-introspection-1.3.0 ) + test? ( + $(python_gen_cond_dep ' + dev-libs/libbytesize[python,${PYTHON_USEDEP}] + ' python3_{9..10} ) + sys-block/targetcli-fb + ) " REQUIRED_USE="${PYTHON_REQUIRED_USE} escrow? ( cryptsetup )" +PATCHES=( + "${FILESDIR}"/${PN}-2.28-sh_tests.patch +) + pkg_setup() { python-single-r1_pkg_setup } @@ -86,8 +96,10 @@ src_configure() { --with-btrfs --with-fs --with-part + --with-python3 --without-mpath --without-nvdimm + --without-python2 $(use_enable introspection) $(use_enable test tests) $(use_with bcache) @@ -101,18 +113,23 @@ src_configure() { $(use_with lvm lvm-dbus) $(use_with tools) $(use_with vdo) - --without-python2 - --with-python3 ) econf "${myeconfargs[@]}" } +src_test() { + # See http://storaged.org/libblockdev/ch03.html + # The 'check' target just does Pylint. + # ... but it needs root. + emake test +} + src_install() { default find "${ED}" -type f -name "*.la" -delete || die # This is installed even with USE=-lvm, but libbd_lvm are omitted so it # doesn't work at all. - if ! use lvm; then + if ! use lvm ; then rm -f "${ED}"/usr/bin/lvm-cache-stats || die fi python_optimize #718576 diff --git a/sys-libs/libblockdev/libblockdev-2.24.ebuild b/sys-libs/libblockdev/libblockdev-2.29.ebuild index 3d13b5989022..aed9cc3e41c6 100644 --- a/sys-libs/libblockdev/libblockdev-2.24.ebuild +++ b/sys-libs/libblockdev/libblockdev-2.29.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -PYTHON_COMPAT=( python3_{7,8,9} ) +PYTHON_COMPAT=( python3_{10..12} ) inherit autotools python-single-r1 xdg-utils DESCRIPTION="A library for manipulating block devices" @@ -12,20 +12,19 @@ if [[ "${PV}" == *9999 ]] ; then inherit git-r3 EGIT_REPO_URI="https://github.com/storaged-project/libblockdev.git" BDEPEND=" - sys-devel/autoconf-archive + dev-build/autoconf-archive " else MY_PV="${PV}-1" - #MY_P="${PN}-${MY_PV}" - #SRC_URI="https://github.com/storaged-project/${PN}/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz" SRC_URI="https://github.com/storaged-project/${PN}/releases/download/${MY_PV}/${P}.tar.gz" - KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 sparc x86" - #S="${WORKDIR}/${MY_P}" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" fi LICENSE="LGPL-2+" -SLOT="0" +SLOT="0/2" # subslot is SOVERSION IUSE="bcache +cryptsetup device-mapper dmraid escrow gtk-doc introspection lvm kbd test +tools vdo" -RESTRICT="!test? ( test )" +# Tests require root. In a future release, we may be able to run a smaller +# subset with new run_tests.py arguments. +RESTRICT="!test? ( test ) test" RDEPEND=" >=dev-libs/glib-2.42.2 @@ -58,14 +57,24 @@ DEPEND=" " BDEPEND+=" - dev-util/gtk-doc-am + dev-build/gtk-doc-am gtk-doc? ( dev-util/gtk-doc ) introspection? ( >=dev-libs/gobject-introspection-1.3.0 ) + test? ( + $(python_gen_cond_dep ' + dev-libs/libbytesize[python,${PYTHON_USEDEP}] + ') + sys-block/targetcli-fb + ) " REQUIRED_USE="${PYTHON_REQUIRED_USE} escrow? ( cryptsetup )" +PATCHES=( + "${FILESDIR}"/${PN}-2.28-sh_tests.patch +) + pkg_setup() { python-single-r1_pkg_setup } @@ -86,8 +95,10 @@ src_configure() { --with-btrfs --with-fs --with-part + --with-python3 --without-mpath --without-nvdimm + --without-python2 $(use_enable introspection) $(use_enable test tests) $(use_with bcache) @@ -101,18 +112,23 @@ src_configure() { $(use_with lvm lvm-dbus) $(use_with tools) $(use_with vdo) - --without-python2 - --with-python3 ) econf "${myeconfargs[@]}" } +src_test() { + # See http://storaged.org/libblockdev/ch03.html + # The 'check' target just does Pylint. + # ... but it needs root. + emake test +} + src_install() { default find "${ED}" -type f -name "*.la" -delete || die # This is installed even with USE=-lvm, but libbd_lvm are omitted so it # doesn't work at all. - if ! use lvm; then + if ! use lvm ; then rm -f "${ED}"/usr/bin/lvm-cache-stats || die fi python_optimize #718576 diff --git a/sys-libs/libblockdev/libblockdev-9999.ebuild b/sys-libs/libblockdev/libblockdev-3.0.3.ebuild index 8cd5e5f095e8..88cfcd76553c 100644 --- a/sys-libs/libblockdev/libblockdev-9999.ebuild +++ b/sys-libs/libblockdev/libblockdev-3.0.3.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -PYTHON_COMPAT=( python3_{7..9} ) -inherit autotools python-single-r1 xdg-utils +PYTHON_COMPAT=( python3_{10..11} ) +inherit autotools python-single-r1 toolchain-funcs xdg-utils DESCRIPTION="A library for manipulating block devices" HOMEPAGE="https://github.com/storaged-project/libblockdev" @@ -12,24 +12,24 @@ if [[ "${PV}" == *9999 ]] ; then inherit git-r3 EGIT_REPO_URI="https://github.com/storaged-project/libblockdev.git" BDEPEND=" - sys-devel/autoconf-archive + dev-build/autoconf-archive " else MY_PV="${PV}-1" - #MY_P="${PN}-${MY_PV}" - #SRC_URI="https://github.com/storaged-project/${PN}/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz" SRC_URI="https://github.com/storaged-project/${PN}/releases/download/${MY_PV}/${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86" - #S="${WORKDIR}/${MY_P}" + KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc64 ~riscv x86" fi LICENSE="LGPL-2+" -SLOT="0" -IUSE="bcache +cryptsetup device-mapper dmraid escrow gtk-doc introspection lvm kbd test +tools vdo" -RESTRICT="!test? ( test )" +SLOT="0/3" # subslot is SOVERSION +IUSE="+cryptsetup device-mapper escrow gtk-doc introspection lvm +nvme test +tools" +# Tests require root. In a future release, we may be able to run a smaller +# subset with new run_tests.py arguments. +RESTRICT="!test? ( test ) test" RDEPEND=" >=dev-libs/glib-2.42.2 dev-libs/libbytesize + sys-apps/gptfdisk >=sys-apps/kmod-19 >=sys-apps/util-linux-2.27 >=sys-block/parted-3.1 @@ -38,29 +38,33 @@ RDEPEND=" >=dev-libs/nss-3.18.0 dev-libs/volume_key ) - >=sys-fs/cryptsetup-1.6.7:= + >=sys-apps/keyutils-1.5.0:= + >=sys-fs/cryptsetup-2.3.0:= ) device-mapper? ( sys-fs/lvm2 ) - dmraid? ( - sys-fs/dmraid - sys-fs/lvm2 - ) lvm? ( sys-fs/lvm2 virtual/udev ) - vdo? ( dev-libs/libyaml ) + nvme? ( sys-libs/libnvme ) ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/pygobject:3[${PYTHON_USEDEP}] + ') " -DEPEND=" - ${RDEPEND} -" +DEPEND="${RDEPEND}" BDEPEND+=" - dev-util/gtk-doc-am + dev-build/gtk-doc-am gtk-doc? ( dev-util/gtk-doc ) introspection? ( >=dev-libs/gobject-introspection-1.3.0 ) + test? ( + $(python_gen_cond_dep ' + dev-libs/libbytesize[python,${PYTHON_USEDEP}] + ') + sys-block/targetcli-fb + ) " REQUIRED_USE="${PYTHON_REQUIRED_USE} @@ -82,37 +86,45 @@ src_prepare() { } src_configure() { + # Bug #910487 + if tc-ld-is-lld; then + tc-ld-force-bfd + fi + local myeconfargs=( --with-btrfs --with-fs --with-part + --with-python3 --without-mpath --without-nvdimm $(use_enable introspection) $(use_enable test tests) - $(use_with bcache) $(use_with cryptsetup crypto) $(use_with device-mapper dm) - $(use_with dmraid) $(use_with escrow) $(use_with gtk-doc) - $(use_with kbd) $(use_with lvm lvm) $(use_with lvm lvm-dbus) + $(use_with nvme) $(use_with tools) - $(use_with vdo) - --without-python2 - --with-python3 ) econf "${myeconfargs[@]}" } +src_test() { + # See http://storaged.org/libblockdev/ch03.html + # The 'check' target just does Pylint. + # ... but it needs root. + emake test +} + src_install() { default find "${ED}" -type f -name "*.la" -delete || die # This is installed even with USE=-lvm, but libbd_lvm are omitted so it # doesn't work at all. - if ! use lvm; then + if ! use lvm ; then rm -f "${ED}"/usr/bin/lvm-cache-stats || die fi python_optimize #718576 diff --git a/sys-libs/libblockdev/libblockdev-3.0.4.ebuild b/sys-libs/libblockdev/libblockdev-3.0.4.ebuild new file mode 100644 index 000000000000..4d3b38836631 --- /dev/null +++ b/sys-libs/libblockdev/libblockdev-3.0.4.ebuild @@ -0,0 +1,132 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +inherit autotools python-single-r1 xdg-utils + +DESCRIPTION="A library for manipulating block devices" +HOMEPAGE="https://github.com/storaged-project/libblockdev" +if [[ "${PV}" == *9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/storaged-project/libblockdev.git" + BDEPEND=" + dev-build/autoconf-archive + " +else + MY_PV="${PV}-1" + SRC_URI="https://github.com/storaged-project/${PN}/releases/download/${MY_PV}/${P}.tar.gz" + KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ~ppc ppc64 ~riscv x86" +fi +LICENSE="LGPL-2+" +SLOT="0/3" # subslot is SOVERSION +IUSE="+cryptsetup device-mapper escrow gtk-doc introspection lvm +nvme test +tools" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-libs/glib-2.42.2 + dev-libs/libbytesize + sys-apps/gptfdisk + >=sys-apps/kmod-19 + >=sys-apps/util-linux-2.27 + >=sys-block/parted-3.1 + cryptsetup? ( + escrow? ( + >=dev-libs/nss-3.18.0 + dev-libs/volume_key + ) + >=sys-apps/keyutils-1.5.0:= + >=sys-fs/cryptsetup-2.3.0:= + ) + device-mapper? ( sys-fs/lvm2 ) + lvm? ( + sys-fs/lvm2 + virtual/udev + ) + nvme? ( sys-libs/libnvme ) + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/pygobject:3[${PYTHON_USEDEP}] + ') +" + +DEPEND="${RDEPEND}" + +BDEPEND+=" + dev-build/gtk-doc-am + gtk-doc? ( dev-util/gtk-doc ) + introspection? ( >=dev-libs/gobject-introspection-1.3.0 ) + test? ( + $(python_gen_cond_dep ' + dev-libs/libbytesize[python,${PYTHON_USEDEP}] + dev-python/dbus-python[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + ') + sys-apps/lsb-release + sys-block/targetcli-fb + ) +" + +REQUIRED_USE="${PYTHON_REQUIRED_USE} + escrow? ( cryptsetup ) + test? ( introspection lvm ) +" + +PATCHES=( + "${FILESDIR}/libblockdev-3.0.4-add-non-systemd-method-for-distro-info.patch" +) + +pkg_setup() { + python-single-r1_pkg_setup +} + +src_prepare() { + xdg_environment_reset #623992 + default + + # https://bugs.gentoo.org/744289 + find -type f \( -name "Makefile.am" -o -name "configure.ac" \) -print0 \ + | xargs --null sed "s@ -Werror@@" -i || die + + eautoreconf +} + +src_configure() { + local myeconfargs=( + --with-btrfs + --with-fs + --with-part + --with-python3 + --without-mpath + --without-nvdimm + $(use_enable introspection) + $(use_enable test tests) + $(use_with cryptsetup crypto) + $(use_with device-mapper dm) + $(use_with escrow) + $(use_with gtk-doc) + $(use_with lvm lvm) + $(use_with lvm lvm-dbus) + $(use_with nvme) + $(use_with tools) + ) + econf "${myeconfargs[@]}" +} + +src_test() { + # See http://storaged.org/libblockdev/ch03.html + # Largest subset which doesn't require root priviledges + ${EPYTHON} tests/run_tests.py --include-tags extradeps sourceonly || die +} + +src_install() { + default + find "${ED}" -type f -name "*.la" -delete || die + # This is installed even with USE=-lvm, but libbd_lvm are omitted so it + # doesn't work at all. + if ! use lvm ; then + rm -f "${ED}"/usr/bin/lvm-cache-stats || die + fi + python_optimize #718576 +} diff --git a/sys-libs/libblockdev/libblockdev-3.1.1.ebuild b/sys-libs/libblockdev/libblockdev-3.1.1.ebuild new file mode 100644 index 000000000000..dbce37fe8a48 --- /dev/null +++ b/sys-libs/libblockdev/libblockdev-3.1.1.ebuild @@ -0,0 +1,132 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +inherit autotools python-single-r1 xdg-utils + +DESCRIPTION="A library for manipulating block devices" +HOMEPAGE="https://github.com/storaged-project/libblockdev" +if [[ "${PV}" == *9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/storaged-project/libblockdev.git" + BDEPEND=" + dev-build/autoconf-archive + " +else + MY_PV="${PV}-1" + SRC_URI="https://github.com/storaged-project/${PN}/releases/download/${MY_PV}/${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi +LICENSE="LGPL-2+" +SLOT="0/3" # subslot is SOVERSION +IUSE="+cryptsetup device-mapper escrow gtk-doc introspection lvm +nvme test +tools" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-libs/glib-2.42.2 + dev-libs/libbytesize + sys-apps/gptfdisk + >=sys-apps/kmod-19 + >=sys-apps/util-linux-2.27 + >=sys-block/parted-3.1 + cryptsetup? ( + escrow? ( + >=dev-libs/nss-3.18.0 + dev-libs/volume_key + ) + >=sys-apps/keyutils-1.5.0:= + >=sys-fs/cryptsetup-2.3.0:= + ) + device-mapper? ( sys-fs/lvm2 ) + lvm? ( + sys-fs/lvm2 + virtual/udev + ) + nvme? ( sys-libs/libnvme ) + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/pygobject:3[${PYTHON_USEDEP}] + ') +" + +DEPEND="${RDEPEND}" + +BDEPEND+=" + dev-build/gtk-doc-am + gtk-doc? ( dev-util/gtk-doc ) + introspection? ( >=dev-libs/gobject-introspection-1.3.0 ) + test? ( + $(python_gen_cond_dep ' + dev-libs/libbytesize[python,${PYTHON_USEDEP}] + dev-python/dbus-python[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + ') + sys-apps/lsb-release + sys-block/targetcli-fb + ) +" + +REQUIRED_USE="${PYTHON_REQUIRED_USE} + escrow? ( cryptsetup ) + test? ( introspection lvm ) +" + +PATCHES=( + "${FILESDIR}/libblockdev-3.0.4-add-non-systemd-method-for-distro-info.patch" +) + +pkg_setup() { + python-single-r1_pkg_setup +} + +src_prepare() { + xdg_environment_reset #623992 + default + + # https://bugs.gentoo.org/744289 + find -type f \( -name "Makefile.am" -o -name "configure.ac" \) -print0 \ + | xargs --null sed "s@ -Werror@@" -i || die + + eautoreconf +} + +src_configure() { + local myeconfargs=( + --with-btrfs + --with-fs + --with-part + --with-python3 + --without-mpath + --without-nvdimm + $(use_enable introspection) + $(use_enable test tests) + $(use_with cryptsetup crypto) + $(use_with device-mapper dm) + $(use_with escrow) + $(use_with gtk-doc) + $(use_with lvm lvm) + $(use_with lvm lvm-dbus) + $(use_with nvme) + $(use_with tools) + ) + econf "${myeconfargs[@]}" +} + +src_test() { + # See http://storaged.org/libblockdev/ch03.html + # Largest subset which doesn't require root priviledges + ${EPYTHON} tests/run_tests.py --include-tags extradeps sourceonly || die +} + +src_install() { + default + find "${ED}" -type f -name "*.la" -delete || die + # This is installed even with USE=-lvm, but libbd_lvm are omitted so it + # doesn't work at all. + if ! use lvm ; then + rm -f "${ED}"/usr/bin/lvm-cache-stats || die + fi + python_optimize #718576 +} diff --git a/sys-libs/libblockdev/metadata.xml b/sys-libs/libblockdev/metadata.xml index f5d22ce82f4e..1c865386b8fd 100644 --- a/sys-libs/libblockdev/metadata.xml +++ b/sys-libs/libblockdev/metadata.xml @@ -1,22 +1,23 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!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> - <use> - <flag name="bcache">Enable block device cache support.</flag> - <flag name="cryptsetup">Enable <pkg>sys-fs/cryptsetup</pkg> support</flag> - <flag name="device-mapper">Enable support for device-mapper from <pkg>sys-fs/lvm2</pkg></flag> - <flag name="dmraid">Support for dmraid devices, also known as ATA-RAID, or Fake RAID.</flag> - <flag name="escrow">Support for building crypto plugin with escrow device support</flag> - <flag name="kbd">Enable kernel block device support.</flag> - <flag name="lvm">Enable support for Logical Volume Management via <pkg>sys-fs/lvm2</pkg>.</flag> - <flag name="tools">Build tools</flag> - <flag name="vdo">Enable Virtual Data Optimizer support.</flag> - </use> - <upstream> - <remote-id type="github">storaged-project/libblockdev</remote-id> - </upstream> + <maintainer type="person"> + <email>marecki@gentoo.org</email> + <name>Marek Szuba</name> + </maintainer> + <use> + <flag name="bcache">Enable block device cache support.</flag> + <flag name="cryptsetup">Enable <pkg>sys-fs/cryptsetup</pkg> support</flag> + <flag name="device-mapper">Enable support for device-mapper from <pkg>sys-fs/lvm2</pkg></flag> + <flag name="dmraid">Support for dmraid devices, also known as ATA-RAID, or Fake RAID.</flag> + <flag name="escrow">Support for building crypto plugin with escrow device support</flag> + <flag name="kbd">Enable kernel block device support.</flag> + <flag name="lvm">Enable support for Logical Volume Management via <pkg>sys-fs/lvm2</pkg>.</flag> + <flag name="nvme">Add nvme support via <pkg>sys-libs/libnvme</pkg></flag> + <flag name="tools">Build tools</flag> + <flag name="vdo">Enable Virtual Data Optimizer support.</flag> + </use> + <upstream> + <remote-id type="github">storaged-project/libblockdev</remote-id> + </upstream> </pkgmetadata> |