ports/188941: sysutils/dmidecode: proposed daily periodic script

Dmitry Morozovsky marck at FreeBSD.org
Thu Apr 24 05:50:00 UTC 2014


>Number:         188941
>Category:       ports
>Synopsis:       sysutils/dmidecode: proposed daily periodic script
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Thu Apr 24 05:50:00 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator:     Dmitry Morozovsky
>Release:        FreeBSD [89]-STABLE {i386,amd64}
>Organization:
Cronyx Plus LLC (RiNet ISP)
>Environment:
System: FreeBSD X-STABLE

>Description:

I suppose it would be useful to be able to track server hardware changes via
SMBIOS/DMI.

In my case, after replacing server RAM I could not find exact failed module by
serial number because did not save dmidecode output before memory swap.

The attached script should help in such and related situations. To enable
tracking dmidecode diffs in daily mail the admin should set the variable
daily_status_dmidecode_enable to "YES" in /etc/periodic.conf

>How-To-Repeat:

>Fix:


Index: Makefile
===================================================================
--- Makefile	(revision 351962)
+++ Makefile	(working copy)
@@ -3,6 +3,7 @@
 
 PORTNAME=	dmidecode
 PORTVERSION=	2.12
+PORTREVISION=	1
 CATEGORIES=	sysutils
 MASTER_SITES=	${MASTER_SITE_SAVANNAH} \
 		ftp://ftp.nuug.no/pub/anders/distfiles/
@@ -19,10 +20,17 @@
 MAKE_ENV+=	DOCSDIR="${DOCSDIR}"
 
 PLIST_FILES=	sbin/dmidecode \
-		man/man8/dmidecode.8.gz
+		man/man8/dmidecode.8.gz \
+		etc/periodic/daily/dmidecode
 
 PORTDOCS=	AUTHORS CHANGELOG README
+USE_RC_SUBR=	dmidecode
 
+post-install:
+	${MKDIR} ${STAGEDIR}${PREFIX}/etc/periodic/daily
+	${INSTALL_SCRIPT} ${WRKDIR}/dmidecode \
+		${STAGEDIR}${PREFIX}/etc/periodic/daily
+
 .include <bsd.port.pre.mk>
 
 .if ${ARCH} == "amd64" || ${ARCH} == "i386"
Index: files/dmidecode.in
===================================================================
--- files/dmidecode.in	(revision 0)
+++ files/dmidecode.in	(working copy)
@@ -0,0 +1,53 @@
+#!/bin/sh -
+#
+# Copyright (c) 2001-2014  The FreeBSD Project
+# Copyright (c) 2014	Dmitry Morozovsky <marck at rinet.ru>
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# $FreeBSD$
+#
+
+# If there is a global system configuration file, suck it in.
+#
+if [ -r /etc/defaults/periodic.conf ]
+then
+    . /etc/defaults/periodic.conf
+    source_periodic_confs
+fi
+
+dmidecode=%%PREFIX%%/sbin/dmidecode
+
+. /etc/periodic/security/security.functions
+
+rc=0
+
+case "$daily_status_dmidecode_enable" in
+    [Yy][Ee][Ss])
+	$dmidecode 2>/dev/null |
+	    check_diff dmidecode - "${host} hardware dmi status:"
+	rc=$?;;
+    *)	rc=0;;
+esac
+
+exit $rc

Property changes on: files/dmidecode.in
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-ports-bugs mailing list