git: ad2f62b27547 - main - sysutils/linux-racadm: Add new port
Date: Sun, 26 Oct 2025 10:30:24 UTC
The branch main has been updated by arrowd:
URL: https://cgit.FreeBSD.org/ports/commit/?id=ad2f62b27547889d5e57b1bec20c27c06516c625
commit ad2f62b27547889d5e57b1bec20c27c06516c625
Author: Dan Mahoney <freebsd@gushi.org>
AuthorDate: 2025-10-08 00:43:36 +0000
Commit: Gleb Popov <arrowd@FreeBSD.org>
CommitDate: 2025-10-26 10:29:38 +0000
sysutils/linux-racadm: Add new port
PR: 201799
Reviewed by: pi
Co-authored-by: Gleb Popov <arrowd@FreeBSD.org>
---
sysutils/Makefile | 1 +
sysutils/racadm/Makefile | 55 +++++++++++++++++++++++++++++++++++++++++++++
sysutils/racadm/distinfo | 5 +++++
sysutils/racadm/pkg-descr | 1 +
sysutils/racadm/pkg-message | 11 +++++++++
sysutils/racadm/pkg-plist | 12 ++++++++++
6 files changed, 85 insertions(+)
diff --git a/sysutils/Makefile b/sysutils/Makefile
index 69c386b181e9..68ea0063a09f 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -653,6 +653,7 @@
SUBDIR += linux-c7-numactl-libs
SUBDIR += linux-c7-userspace-rcu
SUBDIR += linux-miniconda-installer
+ SUBDIR += linux-racadm
SUBDIR += linux-rkbin
SUBDIR += littlejet
SUBDIR += lmmon
diff --git a/sysutils/racadm/Makefile b/sysutils/racadm/Makefile
new file mode 100644
index 000000000000..4b29c66a9b89
--- /dev/null
+++ b/sysutils/racadm/Makefile
@@ -0,0 +1,55 @@
+PORTNAME= racadm
+PORTVERSION= 11.3.0.0
+DISTVERSIONSUFFIX= -795.el9
+CATEGORIES= sysutils linux
+MASTER_SITES= https://linux.dell.com/repo/hardware/DSU_25.08.25/os_dependent/RHEL9_64/racadm/
+PKGNAMEPREFIX= linux-
+DISTNAME= srvadmin-idracadm7-${DISTVERSIONFULL}
+DISTFILES= srvadmin-argtable2-${DISTVERSIONFULL}${EXTRACT_SUFX_amd64} \
+ ${DISTNAME}${EXTRACT_SUFX_amd64}
+
+MAINTAINER= freebsd@gushi.org
+COMMENT= Dell remote access controller admin utility
+WWW= https://www.dell.com/support/home/en-us/drivers/driversdetails?driverId=MFV7T
+
+LICENSE= DELL
+LICENSE_NAME= Dell Proprietary License
+LICENSE_TEXT= This program is NOT in the public domain.\
+ Dell allows free downloads and mirroring of the linux RPMs this port is based on,\
+ but you should read the full license here:\
+ https://www.dell.com/learn/us/en/uscorp1/legal_terms-conditions_dellgrmwebpage/art-software-license-agreements\
+ and determine if it is right for you or your organization.
+LICENSE_PERMS= none
+
+ONLY_FOR_ARCHS= amd64
+
+USES= linux:rl9
+
+USE_LINUX_RPM= yes
+MANDIRS= ${PREFIX}/usr/share/man
+# Cancel out knobs set by USE_LINUX_RPM, we don't want them for this port
+DIST_SUBDIR=
+SRC_DISTFILES=
+PLIST= ${.CURDIR}/pkg-plist
+
+# racadm dynamically tries to load libssl.so from OpenSSL 1.0
+# If it fails to do so, it asks user to put a symlink to a working libssl.so
+# under its /opt hierarchy. This can be reproduced by running
+# /compat/linux/opt/dell/srvadmin/bin/idracadm7 -r localhost -u root -p xxx getsysinfo
+# This post-install target provides the relative symlink
+post-install:
+ ${MKDIR} ${STAGEDIR}${PREFIX}/lib64
+ ${CP} ${LINUXBASE}/lib64/libssl.so.3 ${STAGEDIR}${PREFIX}/lib64/
+ ${RLN} ${STAGEDIR}${PREFIX}/lib64/libssl.so.3 ${STAGEDIR}${PREFIX}/opt/dell/srvadmin/lib64/openmanage/private/libssl.so
+ ${RM} ${STAGEDIR}${PREFIX}/lib64/libssl.so.3
+ ${RMDIR} ${STAGEDIR}${PREFIX}/lib64
+ # Reinstall manpages compressed
+ ${RM} -r ${STAGEDIR}${PREFIX}/opt/dell/srvadmin/share/man
+ ${RMDIR} ${STAGEDIR}${PREFIX}/opt/dell/srvadmin/share
+ ${MKDIR} ${STAGEDIR}${PREFIX}/usr/share/man/man3
+ ${INSTALL_MAN} ${WRKSRC}/opt/dell/srvadmin/share/man/man3/argtable.3 \
+ ${STAGEDIR}${PREFIX}/usr/share/man/man3/argtable.3
+ ${INSTALL_MAN} ${WRKSRC}/opt/dell/srvadmin/share/man/man3/argtable2.3 \
+ ${STAGEDIR}${PREFIX}/usr/share/man/man3/argtable2.3
+
+.include <bsd.port.mk>
diff --git a/sysutils/racadm/distinfo b/sysutils/racadm/distinfo
new file mode 100644
index 000000000000..23f33c9bec66
--- /dev/null
+++ b/sysutils/racadm/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1756768563
+SHA256 (srvadmin-argtable2-11.3.0.0-795.el9.x86_64.rpm) = 1db4a3431dd6b90a668467a0e623961f8bde9d975f268f6dbb59fde10bece165
+SIZE (srvadmin-argtable2-11.3.0.0-795.el9.x86_64.rpm) = 66651
+SHA256 (srvadmin-idracadm7-11.3.0.0-795.el9.x86_64.rpm) = 9aaa86556fba84088494618d58a92d0e9ab0949eeb201ec7b0d91d17ffce9047
+SIZE (srvadmin-idracadm7-11.3.0.0-795.el9.x86_64.rpm) = 1142062
diff --git a/sysutils/racadm/pkg-descr b/sysutils/racadm/pkg-descr
new file mode 100644
index 000000000000..2b6caf7c5cc4
--- /dev/null
+++ b/sysutils/racadm/pkg-descr
@@ -0,0 +1 @@
+Linux command line tool to interface with Dell's Remote Access Controller (DRAC).
diff --git a/sysutils/racadm/pkg-message b/sysutils/racadm/pkg-message
new file mode 100644
index 000000000000..dfdf05268074
--- /dev/null
+++ b/sysutils/racadm/pkg-message
@@ -0,0 +1,11 @@
+[
+{ type: install
+ message: <<EOM
+racadm7 has been installed under the linux "compat" tree:
+(by default, /compat/linux/opt/dell/srvadmin/bin/idracadm7) due to linux library dependencies.
+
+It is left to the user to alias/symlink this path in their scripts.
+Note that under FreeBSD this will not work as a "local" racadm (to operate on an iDrac installed in the machine where it is run).
+EOM
+}
+]
diff --git a/sysutils/racadm/pkg-plist b/sysutils/racadm/pkg-plist
new file mode 100644
index 000000000000..f50e43f1ffdc
--- /dev/null
+++ b/sysutils/racadm/pkg-plist
@@ -0,0 +1,12 @@
+etc/ld.so.conf.d/srvadmin-idrac7.conf
+opt/dell/srvadmin/bin/idracadm7
+opt/dell/srvadmin/lib64/openmanage/private/libargtable2.so.0
+opt/dell/srvadmin/lib64/openmanage/private/libargtable2.so.0.1.6
+opt/dell/srvadmin/lib64/openmanage/private/libssl.so
+opt/dell/srvadmin/sbin/racadm-wrapper-idrac7
+usr/share/doc/srvadmin-argtable2/AUTHORS
+usr/share/doc/srvadmin-argtable2/COPYING
+usr/share/doc/srvadmin-argtable2/ChangeLog
+usr/share/doc/srvadmin-argtable2/README
+usr/share/man/man3/argtable.3.gz
+usr/share/man/man3/argtable2.3.gz