git: e52a4095e3a8 - main - sysutils/smartmontools: Fix 3 issues

From: Vladimir Druzenko <vvd_at_FreeBSD.org>
Date: Wed, 08 Oct 2025 01:36:22 UTC
The branch main has been updated by vvd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=e52a4095e3a891d65fbec4b8287cc5c3cb9623bf

commit e52a4095e3a891d65fbec4b8287cc5c3cb9623bf
Author:     Vladimir Druzenko <vvd@FreeBSD.org>
AuthorDate: 2025-10-08 01:28:13 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2025-10-08 01:35:11 +0000

    sysutils/smartmontools: Fix 3 issues
    
    1. Start "smartd" service after "DAEMON" - smartd starts too early.
    2. Exclude "mfid" device from automatic detection in daily "smart".
    3. Add the ability to manually specify the "pass" device with parameters
       in "periodic.conf" for processing in daily "smart", example:
       daily_status_smart_devices="pass14,-dsat pass15,-dsat"
    
    PR:             288538
    Approved by:    Oleksii Samorukov <samm@FreeBSD.org> (3 explicit, 1 and 2 timeout > 1 month)
    Co-authored-by: Anton Saietskii <vsasjason@gmail.com>
---
 sysutils/smartmontools/Makefile        | 1 +
 sysutils/smartmontools/files/smart.in  | 5 ++++-
 sysutils/smartmontools/files/smartd.in | 2 +-
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/sysutils/smartmontools/Makefile b/sysutils/smartmontools/Makefile
index 85d841432579..e4cc6bc5a5a5 100644
--- a/sysutils/smartmontools/Makefile
+++ b/sysutils/smartmontools/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	smartmontools
 DISTVERSION=	7.5
+PORTREVISION=	1
 CATEGORIES=	sysutils
 MASTER_SITES=	SF
 
diff --git a/sysutils/smartmontools/files/smart.in b/sysutils/smartmontools/files/smart.in
index 8460df0f231a..606bd02cefa3 100644
--- a/sysutils/smartmontools/files/smart.in
+++ b/sysutils/smartmontools/files/smart.in
@@ -13,7 +13,7 @@ smartctl=%%PREFIX%%/sbin/smartctl
 case "${daily_status_smart_devices}" in
 	# XXX AUTO mode selects only regular ad/da disks 
 	[Aa][Uu][Tt][Oo])
-		daily_status_smart_devices="$(sysctl -n kern.disks | sed -E 's/[[:<:]](cd|ar|vtbd)[0-9]+//g; s/n(da|vd)/nvme/g')"
+		daily_status_smart_devices="$(sysctl -n kern.disks | sed -E 's/[[:<:]](cd|ar|vtbd|mfid)[0-9]+//g; s/n(da|vd)/nvme/g')"
 		;;
 	*)	;;
 esac
@@ -51,6 +51,9 @@ case "${daily_status_smart_enable}" in
 			mrsas*) devflags="-dmegaraid,${device##mrsas[0-9]*,}"
 				device="/dev/${device%,[0-9]*}"
 				;;
+			pass*)  devflags="${device#pass[0-9]*,}"
+				device="/dev/${device%%,[:alpha:0-9-]*}"
+				;;
 			/*)	;;
 			*)	device="/dev/${device}"
 			        ;;
diff --git a/sysutils/smartmontools/files/smartd.in b/sysutils/smartmontools/files/smartd.in
index 1176089041ad..832b3bb6b2c7 100644
--- a/sysutils/smartmontools/files/smartd.in
+++ b/sysutils/smartmontools/files/smartd.in
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # PROVIDE: smartd
-# REQUIRE: root ldconfig devfs syslogd mail
+# REQUIRE: DAEMON mail
 # KEYWORD: shutdown nojail
 #
 # Define these smartd_* variables in one of these files: