commit: b235e3097f09cf0340f0f7e1215fb1146e709abe
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 25 01:11:30 2025 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Nov 25 01:11:30 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b235e309
sys-fs/udisks: add 2.11.0
smart functionality was previously part of udisks itself using
dev-libs/libatasmart, but udisks upstream have now farmed it out to
sys-libs/libblockdev.
In 271edaee5439e8fb4fb76de8ef9d2c559556bc14 bumping libblockdev, I
made USE=smart use sys-apps/smartmontools and I disabled dev-libs/libatasmart
entirely given it is dead upstream, but in the udisks-2.11.0 release notes,
they say:
> ATA SMART handling has been ported over to libblockdev which now offers
> two plugins, based on libatasmart (default, recommended) and smartmontools
> (experimental).
I don't know if we want to revisit that decision in libblockdev accordingly
or not, but let's see how this goes.
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-fs/udisks/Manifest | 1 +
sys-fs/udisks/metadata.xml | 1 +
sys-fs/udisks/udisks-2.11.0.ebuild | 141 +++++++++++++++++++++++++++++++++++++
3 files changed, 143 insertions(+)
diff --git a/sys-fs/udisks/Manifest b/sys-fs/udisks/Manifest
index ba5c1f5bd87b..320441274d57 100644
--- a/sys-fs/udisks/Manifest
+++ b/sys-fs/udisks/Manifest
@@ -1 +1,2 @@
DIST udisks-2.10.2.tar.bz2 1791811 BLAKE2B
59c4f76860a33c2a453e2750a24d66cbc5e7b15ac6504a3332fc75792c4f41d49cd34957dcad9ee5fe8bd72959b46b9c61b38a2558e55ef19e32fbea8ec2fcd3
SHA512
8b2fb6d5a9b5c040f315073d0890cde2cad67f06684e607a31636012a515ec798c2129c3dbc8fcd6655d72b7b4a9485172e5e85795a0aeb4ff20a5ea76e690a8
+DIST udisks-2.11.0.tar.bz2 1847966 BLAKE2B
4356ea8c781608b84b36ba298e57b1247d8f2900a8fc0d55d4e6002cb4ebb2723a3054ea037c07411a2bb40d6570f755dd6bf51b5b60ecd1edd2bfacd60f3416
SHA512
ddf7bbf6d71c100ea2787aa45d51ae84d8184d33d9e0c1c8824e3da1ca34814b3278f9f74a1aab7acc37efe3ed2b702404fbb9dc3733c0accbb366a74e7d3fe5
diff --git a/sys-fs/udisks/metadata.xml b/sys-fs/udisks/metadata.xml
index b74a66645ed4..2d03303cef31 100644
--- a/sys-fs/udisks/metadata.xml
+++ b/sys-fs/udisks/metadata.xml
@@ -7,6 +7,7 @@
<use>
<flag name="daemon">Build the system daemon, not just the
client tool</flag>
<flag name="lvm">Add support for Logical Volume Management via
<pkg>sys-fs/lvm2</pkg></flag>
+ <flag name="smart">Support SMART via
<pkg>sys-libs/libblockdev</pkg></flag>
<flag name="systemd">Support <pkg>sys-apps/systemd</pkg>'s
logind</flag>
</use>
<upstream>
diff --git a/sys-fs/udisks/udisks-2.11.0.ebuild
b/sys-fs/udisks/udisks-2.11.0.ebuild
new file mode 100644
index 000000000000..8dfb3b65e671
--- /dev/null
+++ b/sys-fs/udisks/udisks-2.11.0.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools bash-completion-r1 linux-info systemd tmpfiles udev xdg-utils
+
+DESCRIPTION="Daemon providing interfaces to work with storage devices"
+HOMEPAGE="https://www.freedesktop.org/wiki/Software/udisks/
https://github.com/storaged-project/udisks"
+SRC_URI="https://github.com/storaged-project/udisks/releases/download/${P}/${P}.tar.bz2"
+
+LICENSE="LGPL-2+ GPL-2+"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc
~x86"
+IUSE="acl +daemon debug elogind +introspection lvm nls selinux smart systemd"
+
+REQUIRED_USE="
+ ?? ( elogind systemd )
+ elogind? ( daemon )
+ systemd? ( daemon )
+"
+
+COMMON_DEPEND="
+ >=sys-auth/polkit-0.114[daemon(+)]
+ >=sys-libs/libblockdev-3.4.0:=[cryptsetup,lvm?,nvme,smart?]
+ virtual/udev
+ acl? ( virtual/acl )
+ daemon? (
+ >=dev-libs/glib-2.68:2
+ >=dev-libs/libgudev-165:=
+ )
+ elogind? ( >=sys-auth/elogind-219 )
+ introspection? ( >=dev-libs/gobject-introspection-1.82.0-r2:= )
+ lvm? ( sys-fs/lvm2 )
+ systemd? ( >=sys-apps/systemd-209 )
+"
+# util-linux -> mount, umount, swapon, swapoff (see also #403073)
+RDEPEND="
+ ${COMMON_DEPEND}
+ >=sys-block/parted-3
+ >=sys-apps/util-linux-2.30
+ selinux? ( sec-policy/selinux-devicekit )
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ >=sys-kernel/linux-headers-3.1
+"
+BDEPEND="
+ app-text/docbook-xsl-stylesheets
+ >=dev-util/gdbus-codegen-2.32
+ >=dev-build/gtk-doc-am-1.3
+ virtual/pkgconfig
+ nls? ( >=sys-devel/gettext-0.19.8 )
+ dev-libs/gobject-introspection-common
+ dev-build/autoconf-archive
+"
+# If adding a eautoreconf, then these might be needed at buildtime:
+# dev-libs/gobject-introspection-common
+# dev-build/autoconf-archive
+
+DOCS=( AUTHORS HACKING NEWS README.md )
+
+pkg_setup() {
+ # Listing only major arch's here to avoid tracking kernel's defconfig
+ if use amd64 || use arm || use ppc || use ppc64 || use x86; then
+ CONFIG_CHECK="~!IDE" #319829
+ CONFIG_CHECK+=" ~TMPFS_POSIX_ACL" #412377
+ CONFIG_CHECK+=" ~NLS_UTF8" #425562
+ kernel_is lt 3 10 && CONFIG_CHECK+=" ~USB_SUSPEND" #331065,
#477278
+ linux-info_pkg_setup
+ fi
+}
+
+src_prepare() {
+ xdg_environment_reset
+ default
+
+ if ! use systemd ; then
+ sed -i -e 's:libsystemd-login:&disable:' configure || die
+ fi
+
+ # bug #782061
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-btrfs
+ --disable-gtk-doc
+ --disable-static
+ --localstatedir="${EPREFIX}"/var
+ --with-html-dir="${EPREFIX}"/usr/share/gtk-doc/html
+ --with-modprobedir="${EPREFIX}"/lib/modprobe.d
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ --with-tmpfilesdir="${EPREFIX}"/usr/lib/tmpfiles.d
+ --with-udevdir="${EPREFIX}$(get_udevdir)"
+ $(use_enable acl)
+ $(use_enable daemon)
+ $(use_enable debug)
+ $(use_enable introspection)
+ $(use_enable lvm lvm2)
+ $(use_enable nls)
+ $(use_enable smart)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name "*.la" -delete || die
+ keepdir /var/lib/udisks2 #383091
+
+ rm -rf "${ED}"/usr/share/bash-completion
+ dobashcomp data/completions/udisksctl
+}
+
+pkg_preinst() {
+ # Remove gtk-doc symlink, #597628
+ if [[ -L "${EROOT}"/usr/share/gtk-doc/html/udisks2 ]]; then
+ rm "${EROOT}"/usr/share/gtk-doc/html/udisks2 || die
+ fi
+}
+
+pkg_postinst() {
+ udev_reload
+
+ # TODO: obsolete with tmpfiles_process?
+ # mkdir -p "${EROOT}"/run #415987
+
+ tmpfiles_process udisks2.conf
+
+ # See pkg_postinst() of >=sys-apps/baselayout-2.1-r1. Keep in sync?
+ if ! grep -qs "^tmpfs.*/run " "${EROOT}"/proc/mounts ; then
+ echo
+ ewarn "You should reboot the system now to get /run mounted
with tmpfs!"
+ fi
+}
+
+pkg_postrm() {
+ udev_reload
+}