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
+}

Reply via email to