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@gentoo.org>
This commit is contained in:
Sam James 2025-11-25 01:11:30 +00:00
parent d0e2d9e485
commit b235e3097f
No known key found for this signature in database
GPG Key ID: 738409F520DF9190
3 changed files with 143 additions and 0 deletions

View File

@ -1 +1,2 @@
DIST udisks-2.10.2.tar.bz2 1791811 BLAKE2B 59c4f76860a33c2a453e2750a24d66cbc5e7b15ac6504a3332fc75792c4f41d49cd34957dcad9ee5fe8bd72959b46b9c61b38a2558e55ef19e32fbea8ec2fcd3 SHA512 8b2fb6d5a9b5c040f315073d0890cde2cad67f06684e607a31636012a515ec798c2129c3dbc8fcd6655d72b7b4a9485172e5e85795a0aeb4ff20a5ea76e690a8 DIST udisks-2.10.2.tar.bz2 1791811 BLAKE2B 59c4f76860a33c2a453e2750a24d66cbc5e7b15ac6504a3332fc75792c4f41d49cd34957dcad9ee5fe8bd72959b46b9c61b38a2558e55ef19e32fbea8ec2fcd3 SHA512 8b2fb6d5a9b5c040f315073d0890cde2cad67f06684e607a31636012a515ec798c2129c3dbc8fcd6655d72b7b4a9485172e5e85795a0aeb4ff20a5ea76e690a8
DIST udisks-2.11.0.tar.bz2 1847966 BLAKE2B 4356ea8c781608b84b36ba298e57b1247d8f2900a8fc0d55d4e6002cb4ebb2723a3054ea037c07411a2bb40d6570f755dd6bf51b5b60ecd1edd2bfacd60f3416 SHA512 ddf7bbf6d71c100ea2787aa45d51ae84d8184d33d9e0c1c8824e3da1ca34814b3278f9f74a1aab7acc37efe3ed2b702404fbb9dc3733c0accbb366a74e7d3fe5

View File

@ -7,6 +7,7 @@
<use> <use>
<flag name="daemon">Build the system daemon, not just the client tool</flag> <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="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> <flag name="systemd">Support <pkg>sys-apps/systemd</pkg>'s logind</flag>
</use> </use>
<upstream> <upstream>

View File

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