aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--MOVED1
-rw-r--r--sysutils/Makefile1
-rw-r--r--sysutils/linux-megacli2/Makefile62
-rw-r--r--sysutils/linux-megacli2/distinfo3
-rw-r--r--sysutils/linux-megacli2/files/407.status-mfi-raid.in256
-rw-r--r--sysutils/linux-megacli2/files/README-status-mfi-raid.txt42
-rw-r--r--sysutils/linux-megacli2/files/megacli.in66
-rw-r--r--sysutils/linux-megacli2/files/mfi_tty_log.in63
-rw-r--r--sysutils/linux-megacli2/pkg-descr10
-rw-r--r--sysutils/linux-megacli2/pkg-message47
-rw-r--r--sysutils/linux-megacli2/pkg-plist9
11 files changed, 1 insertions, 559 deletions
diff --git a/MOVED b/MOVED
index 1a1e6b5c851e..9a66ca919ba8 100644
--- a/MOVED
+++ b/MOVED
@@ -3942,3 +3942,4 @@ emulators/cpmtools27|emulators/cpmtools2|2009-04-25|Renamed
games/chromium|games/chromium-bsu|2009-04-26|Renamed
russian/xneur|deskutils/xneur|2009-04-27|Better category: supports many languages
audio/rubygem-mp3info|rubygem-ruby-mp3info|2009-04-28|Updated to match GEM name, use rubygem-ruby-mp3info instead
+sysutils/linux-megacli2|sysutils/linux-megacli|2009-04-30|Folded into unversioned port directory
diff --git a/sysutils/Makefile b/sysutils/Makefile
index 4193552ab434..2ea45d76c85e 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -415,7 +415,6 @@
SUBDIR += linux-acu
SUBDIR += linux-afaapps
SUBDIR += linux-megacli
- SUBDIR += linux-megacli2
SUBDIR += linux-megamgr
SUBDIR += linux-nero
SUBDIR += linux-procps
diff --git a/sysutils/linux-megacli2/Makefile b/sysutils/linux-megacli2/Makefile
deleted file mode 100644
index 030ff8388bea..000000000000
--- a/sysutils/linux-megacli2/Makefile
+++ /dev/null
@@ -1,62 +0,0 @@
-# Ports collection makefile for: linux-megacli
-# Date created: Wed, Nov 29th, 2006
-# Whom: Ruben van Staveren (ruben@verweg.com)
-#
-# $FreeBSD$
-#
-
-PORTNAME= megacli
-PORTVERSION= 2.00.12
-PORTREVISION= 1
-CATEGORIES= sysutils linux
-MASTER_SITES= http://www.lsi.com/DistributionSystem/AssetDocument/support/downloads/megaraid/miscellaneous/linux/
-PKGNAMEPREFIX= linux-
-DISTNAME= ${PORTVERSION}_Linux_CLI
-
-MAINTAINER= ruben@verweg.com
-COMMENT= LSI MegaRAID SAS controller management utility
-
-NO_WRKSUBDIR= yes
-USE_ZIP= yes
-RESTRICTED= Redistribution prohibited, see: http://lsi.com/cm/License.do
-ONLY_FOR_ARCHS= i386 amd64
-USE_LINUX= yes
-SUB_FILES= megacli 407.status-mfi-raid mfi_tty_log
-
-CONFLICTS= linux-megacli-1*
-LATEST_LINK= megacli2
-
-# From bsd.linux.rpm.mk
-RPM2CPIO?= ${LOCALBASE}/bin/rpm2cpio
-EXTRACT_DEPENDS+= ${RPM2CPIO}:${PORTSDIR}/archivers/rpm
-
-post-extract:
- cd ${WRKSRC} && \
- ${UNZIP_CMD} -qo MegaCliLin.zip && \
- ${RPM2CPIO} MegaCli-${PORTVERSION}-1.i386.rpm | ${CPIO} -id --quiet
-
-do-build:
- @${BRANDELF} -t Linux ${WRKSRC}/opt/MegaRAID/MegaCli/MegaCli
-
-do-install:
- ${INSTALL_SCRIPT} ${WRKSRC}/megacli ${PREFIX}/sbin/megacli
- ${MKDIR} ${PREFIX}/etc/periodic/daily
- ${INSTALL_SCRIPT} ${WRKSRC}/407.status-mfi-raid ${PREFIX}/etc/periodic/daily
- ${INSTALL_SCRIPT} ${WRKSRC}/mfi_tty_log ${PREFIX}/etc/rc.d
- ${INSTALL_PROGRAM} ${WRKSRC}/opt/MegaRAID/MegaCli/MegaCli ${PREFIX}/libexec
-
-post-install:
-.if !defined(NOPORTDOCS)
- ${MKDIR} ${DOCSDIR}
- ${INSTALL_MAN} ${WRKSRC}/${PORTVERSION}_Linux_Cli.txt ${DOCSDIR}/readme.txt
- ${INSTALL_MAN} ${FILESDIR}/README-status-mfi-raid.txt ${DOCSDIR}/README-status-mfi-raid.txt
-.endif
- @${CAT} ${PKGMESSAGE}
-
-.include <bsd.port.pre.mk>
-
-.if ${OSVERSION} < 602000
-IGNORE= needs at least FreeBSD 6.2 and mfi_linux.ko
-.endif
-
-.include <bsd.port.post.mk>
diff --git a/sysutils/linux-megacli2/distinfo b/sysutils/linux-megacli2/distinfo
deleted file mode 100644
index 5041fc6d5776..000000000000
--- a/sysutils/linux-megacli2/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-MD5 (2.00.12_Linux_CLI.zip) = e37232a86ee81591949f06dbe1f9bf82
-SHA256 (2.00.12_Linux_CLI.zip) = be4fde18f0192df20ffa022ca55fe5c6a0b9ceff36299ff69beab6fabaaeff58
-SIZE (2.00.12_Linux_CLI.zip) = 1367859
diff --git a/sysutils/linux-megacli2/files/407.status-mfi-raid.in b/sysutils/linux-megacli2/files/407.status-mfi-raid.in
deleted file mode 100644
index 25c5ef5f9616..000000000000
--- a/sysutils/linux-megacli2/files/407.status-mfi-raid.in
+++ /dev/null
@@ -1,256 +0,0 @@
-#!/bin/sh
-#
-# Show status of LSI Logic's MegaRAID SAS RAID controllers.
-#
-# $FreeBSD$
-#
-
-# If there is a global system configuration file, suck it in.
-#
-if test -r /etc/defaults/periodic.conf; then
- . /etc/defaults/periodic.conf
- source_periodic_confs
-fi
-
-# Defaults.
-: ${daily_status_mfi_raid_enable:=NO}
-: ${daily_status_mfi_raid_verbose:=NO}
-: ${daily_status_mfi_raid_persist_logs:=YES}
-: ${daily_status_mfi_raid_tty_log:=NO}
-
-megacli=${megacli:-%%PREFIX%%/sbin/megacli}
-logdir=${logdir:-/var/log}
-
-case "$daily_status_mfi_raid_enable" in
- [Yy][Ee][Ss])
- echo
- echo 'Checking status of MFI RAID controllers:'
- ;;
- *)
- exit 0
- ;;
-esac
-
-if test `id -u` -ne 0; then
- echo "You must be root to run `basename $0`." >&2
- exit 1
-fi
-
-ADPCOUNT=$(${megacli} -adpCount | \
- awk '/Controller Count:/ { gsub("\\.", ""); print $3 }')
-
-case ${ADPCOUNT} in
- 0) echo "Error: Cannot find an adapter." >&2
- exit 1
- ;;
- [1-9]|[1-9][0-9]|[1-2][0-9][0-9])
- ;;
- *)
- echo "Error: Cannot get the number of adapters: ${ADPCOUNT}" >&2
- exit 1
- ;;
-esac
-
-ADPMINIDX=0
-ADPMAXIDX=`expr ${ADPCOUNT} - 1`
-
-rc=0
-for ctrl in `jot ${ADPCOUNT} ${ADPMINIDX} ${ADPMAXIDX}`; do
- echo "Adapter: ${ctrl}"
-
- # Print summary information.
- echo "------------------------------------------------------------------------"
- echo "Physical Drive Information:"
- echo "ENC SLO DEV SEQ MEC OEC PFC LPF STATE"
- ${megacli} -PDList -a${ctrl} | \
- awk '
- BEGIN {
- E=-1; S=-1; D=-1; s=-1; mec=-1; oec=-1; pfc=-1; lpfeqn=-1;
- state="";
- }
- /^Enclosure (Number:/ { E=$3; }
- /^Enclosure Device ID:/ { E=$4; }
- /^Slot Number:/ { S=$3; }
- /^Device Id:/ { D=$3; }
- /^Sequence Number:/ { s=$3; }
- /^Media Error Count:/ { mec=$4; }
- /^Other Error Count:/ { oec=$4; }
- /^Predictive Failure Count:/ { pfc=$4; }
- /^Last Predictive Failure Event Seq Number:/ { lpfeqn=$7 }
- /^Firmware state:/ { state=$3; }
- /^$/ {
- if (E!=-1 && S!=-1 && D!=-1) {
- printf "%-3d %-3d %-3d %-3d %-3d %-3d %-3d %-3d %s\n",
- E, S, D, s, mec, oec, pfc, lpfeqn, state;
- }
- E=-1; S=-1; D=-1; s=-1; mec=-1; oec=-1; pfc=-1; lpfeqn=-1;
- state="";
- }
- ' | sort -n -k1 -k2 -k3
- echo
- echo "Virtual Drive Information:"
- ${megacli} -LDInfo -lall -a${ctrl} | \
- awk '
- BEGIN {
- drvs=-1; vd=-1; state=""; name=""; s=-1; strs=-1;
- rlp=-1; rls=-1; rlq=-1;
- printf "VD DRV RLP RLS RLQ STS SIZE STATE NAME\n";
- }
- /^Name:/ { sub("^Name:", ""); name=$0; }
- /^RAID Level:/ {
- #Primary-1, Secondary-0, RAID Level Qualifier-0
- _p=_s=_q=$0;
- sub(".*Primary-", "", _p);
- sub(", Secondary.*", "", _p);
- rlp=_p;
- sub(".*Secondary-", "", _s);
- sub(", RAID Level.*", "", _s);
- rls=_s;
- sub(".*Qualifier-", "", _q);
- rlq=_q;
- }
- /^Size:/ { sub("^Size:", ""); s=$0; }
- /^State:/ { state=$2; }
- /^Stripe Size:/ { strs=$3; }
- /^Number Of Drives:/ { sub("Drives:", "", $3); drvs=$3; }
- /^Virtual Disk:/ {
- if (vd!=-1) {
- printf "%-3d %-3d %-3d %-3d %-3d %-6s %-11s %-13s %s\n",
- vd, drvs, rlp, rls, rlq, strs, s, state, name;
- }
- drvs=-1; vd=-1; state=""; name=""; s=-1; strs=-1;
- rlp=-1; rls=-1; rlq=-1;
- vd=$3;
- }
- END {
- if (vd!=-1) {
- printf "%-3d %-3d %-3d %-3d %-3d %-6s %-11s %-13s %s\n",
- vd, drvs, rlp, rls, rlq, strs, s, state, name;
- }
- }
- '
- # Print BBU Information, if we found something
- ${megacli} -AdpBbuCmd -a${ctrl} | \
- awk '
- BEGIN {
- type=""; temp=-1; isok="-"; rsoc=-1; asoc=-1;
- rc=-1; cc=-1; me=-1;
- }
- /^BatteryType:/ { type=$2; }
- /^Temperature:/ { temp=$2; }
- /^isSOHGood:/ { isok=$2; }
- /^Relative State of Charge:/ { rsoc=$5; }
- /^Absolute State of charge:/ { asoc=$5; }
- /^Remaining Capacity:/ { rc=$3; }
- /^Cycle Count:/ { cc=$3; }
- /^Max Error:/ { me=$3; }
- END {
- if (type == "") { exit 0 };
- printf "\nBBU Information:\n"
- printf "TYPE TEMP OK RSOC ASOC RC CC ME\n";
- printf "%-5s %2dC %-3s %4d%% %4d%% %4dmAh %4d %2d%%\n",
- type, temp, isok, rsoc, asoc, rc, cc, me;
-
- }
- '
- echo
-
- # Give very long outputs.
- case "$daily_status_mfi_raid_verbose" in
- [Yy][Ee][Ss])
- ${megacli} -AdpAllInfo -a${ctrl}
- ${megacli} -EncInfo -a${ctrl}
- ${megacli} -PDList -a${ctrl}
- ${megacli} -LDGetNUm -a${ctrl}
- ${megacli} -LDInfo -Lall -a${ctrl}
- ${megacli} -AdpBbuCmd -GetBbuStatus -a${ctrl}
- ;;
- *)
- ;;
- esac
-
- # Diff daily logs.
- echo "Controller Logs:"
- ctrl_log=${logdir}/mfi_raid_${ctrl}
- case "$daily_status_mfi_raid_persist_logs" in
- [Yy][Ee][Ss])
- if test ! -f ${ctrl_log}.today; then
- touch ${ctrl_log}.today
- fi
- mv -f ${ctrl_log}.today ${ctrl_log}.yesterday
- ;;
- *)
- ;;
- esac
- ${megacli} -AdpEventLog -GetEvents -f ${ctrl_log}.tmp -a${ctrl}
- awk '
- BEGIN {
- inrecord=0;
- }
- printed=0;
- /^seqNum: / {
- inrecord=0;
- print "";
- print "====================================" \
- "====================================";
- }
- /^Event Data:/ { inrecord=1; printed=1; }
- /^seqNum: /, /^Event Data:/
- /^===========/ { printed=1; }
- /^$/ { printed=1; }
- { if (inrecord && !printed) { printf "\t%s\n", $0; } }
- ' < ${ctrl_log}.tmp > ${ctrl_log}.today
- rm -f ${ctrl_log}.tmp
- # Now show the differences or the entire log.
- case "$daily_status_mfi_raid_persist_logs" in
- [Yy][Ee][Ss])
- cmp -s ${ctrl_log}.yesterday ${ctrl_log}.today
- raid_rc=$?
- if test $raid_rc -ne 0; then
- diff -u ${ctrl_log}.yesterday ${ctrl_log}.today | \
- grep -v '^-\|^$'
- fi
- ;;
- *)
- # XXX we might consider clearing the logs here
- # ${megacli} -AdpEventLog -Clear -a${ctrl}
- raid_rc=0
- lines=`wc -l ${ctrl_log}.today | awk '{ print $1 }'`
- if test $lines -gt 4; then
- cat ${ctrl_log}.today
- raid_rc=1
- fi
- esac
- if test $raid_rc -eq 0; then
- echo " No new log messages."
- fi
-
- # TTY Log
- echo "TTY Log:"
- tty_log=${logdir}/mfi_raid_${ctrl}_tty
- tty_rc=0
- case "$daily_status_mfi_raid_tty_log" in
- [Yy][Ee][Ss])
- if test ! -f ${tty_log}.today; then
- touch ${tty_log}.today
- fi
- mv -f ${tty_log}.today ${tty_log}.yesterday
- ${megacli} -FwTermLog Dsply -a${ctrl} > ${tty_log}.today
- cmp -s ${tty_log}.yesterday ${tty_log}.today
- tty_rc=$?
- if test $tty_rc -ne 0; then
- diff -u ${tty_log}.yesterday ${tty_log}.today | \
- grep -v '^-\|^$'
- else
- echo " No new TTY log messages."
- fi
- ;;
- *)
- ;;
- esac
- [ $rc -eq 0 ] && [ $raid_rc -ne 0 -o $tty_rc -ne 0 ] && rc=3
-done
-
-exit ${rc}
-
-# end
diff --git a/sysutils/linux-megacli2/files/README-status-mfi-raid.txt b/sysutils/linux-megacli2/files/README-status-mfi-raid.txt
deleted file mode 100644
index 7f6cbae76998..000000000000
--- a/sysutils/linux-megacli2/files/README-status-mfi-raid.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-# $FreeBSD$
-
-The output of periodic/daily/407.status-mfi-raid uses several
-abbreviations. This document maps the abbreviations to the
-names MegaCli uses, which were just too long for summary mails.
-
-Section 'Physical Drive Information:'
---------------------------------------------------
-ENC Enclosure Number
-SLO Slot Number
-DEV Device Id
-SEQ Sequence Number
-MEC Media Error Count
-OEC Other Error Count
-PFC Predictive Failure Count
-LPF Last Predictive Failure Event Seq Number
-STATE Firmware state
-
-Section 'Virtual Drive Information:'
---------------------------------------------------
-VD Virtual Disk
-DRV Number Of Drives
-RLP RAID Level: Primary
-RLS RAID Level: Secondary
-RLQ RAID Level: RAID Level Qualifier
-STS Stripe Size
-SIZE Size
-STATE State
-NAME Name
-
-Section 'BBU Information:'
---------------------------------------------------
-TYPE BatteryType
-TEMP Temperature
-OK isSOHGood
-RSOC Relative State of Charge
-ASOC Absolute State of charge
-RC Remaining Capacity
-CC Cycle Count
-ME Max Error
-
-# end
diff --git a/sysutils/linux-megacli2/files/megacli.in b/sysutils/linux-megacli2/files/megacli.in
deleted file mode 100644
index acd82899f556..000000000000
--- a/sysutils/linux-megacli2/files/megacli.in
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/bin/sh
-
-# check for root user
-#
-if [ `id -u` -ne 0 ]
-then
- echo "You must be root to run `basename $0`." >&2
- exit 1
-fi
-
-osrelease=`sysctl -n compat.linux.osrelease`
-
-case $osrelease in
- 2.6.*)
- if [ `echo $osrelease | cut -d . -f 3` -lt 12 ]; then
- osrelease=TOOLOW
- fi
- ;;
- 2.*)
- if [ `echo $osrelease | cut -d . -f 2` -lt 6 ]; then
- osrelease=TOOLOW
- fi
- ;;
- *)
- if [ `echo $osrelease | cut -d . -f 1` -lt 2 ]; then
- osrelease=TOOLOW
- fi
- ;;
-esac
-
-if [ $osrelease = "TOOLOW" ]; then
- echo "You need to set compat.linux.osrelease to atleast 2.6.12 to run `basename $0`." >&2
- exit 1
-fi
-
-
-lpfs=`mount -t linprocfs | awk 'END{ print NR }'`
-if [ ${lpfs} -le 0 ]; then
- echo "You need to mount linprocfs to run `basename $0`." >&2
- exit 1
-fi
-lsfs=`mount -t linsysfs | awk 'END{ print NR }'`
-if [ ${lsfs} -le 0 ]; then
- echo "You need to mount linsysfs to run `basename $0`." >&2
- exit 1
-fi
-
-# check for active mfi_linux.ko
-#
-if ! kldstat -q -m mfi_linux
-then
- if kldload mfi_linux
- then
- echo 'mfi_linux module loaded.' >&2
- else
- echo 'mfi_linux module failed to load.' >&2
- exit 1
- fi
-fi
-
-if [ $# -le 0 ]; then
- echo "usage: `basename $0` [options]" >&2
- exec %%PREFIX%%/libexec/MegaCli -h
-fi
-
-exec %%PREFIX%%/libexec/MegaCli ${*}
diff --git a/sysutils/linux-megacli2/files/mfi_tty_log.in b/sysutils/linux-megacli2/files/mfi_tty_log.in
deleted file mode 100644
index 43f5114ee010..000000000000
--- a/sysutils/linux-megacli2/files/mfi_tty_log.in
+++ /dev/null
@@ -1,63 +0,0 @@
-#!/bin/sh
-#
-# $FreeBSD: /tmp/pcvs/ports/sysutils/linux-megacli2/files/Attic/mfi_tty_log.in,v 1.2 2009-01-18 19:50:26 pgollucci Exp $
-#
-
-# PROVIDE: mfi_tty_log
-# REQUIRE: abi
-# KEYWORD: nojail
-
-: ${rc_mfi_raid_tty_log:=NO}
-
-. /etc/rc.subr
-
-name="mfi_tty_log"
-start_cmd="${name}_start"
-stop_cmd=":"
-
-mfi_tty_log_start()
-{
- megacli=${megacli:-%%PREFIX%%/sbin/megacli}
- logdir=${logdir:-/var/log}
-
- case "$rc_mfi_raid_tty_log" in
- [Yy][Ee][Ss])
- echo
- echo 'Checking for TTY logs of MFI(4) RAID controllers:'
- ;;
- *)
- return 0
- ;;
- esac
-
- if test `id -u` -ne 0; then
- echo "You must be root to run `basename $0`." >&2
- return 1
- fi
-
- ADPCOUNT=$(${megacli} -adpCount | \
- awk '/Controller Count:/ { gsub("\\.", ""); print $3 }')
-
- case ${ADPCOUNT} in
- 0) echo "Error: Cannot find an adapter." >&2
- return 1
- ;;
- [1-9]|[1-9][0-9]|[1-2][0-9][0-9])
- ;;
- *)
- echo "Error: Cannot get the number of adapters: ${ADPCOUNT}" >&2
- return 1
- ;;
- esac
-
- ADPMINIDX=0
- ADPMAXIDX=`expr ${ADPCOUNT} - 1`
-
- for ctrl in `jot ${ADPCOUNT} ${ADPMINIDX} ${ADPMAXIDX}`; do
- tty_log=${logdir}/mfi_raid_${ctrl}_tty.boot
- echo " Adapter: ${ctrl} - TTY log saved to ${tty_log}"
- ${megacli} -FwTermLog Dsply -a${ctrl} > ${tty_log}
- done
-}
-
-run_rc_command "$1"
diff --git a/sysutils/linux-megacli2/pkg-descr b/sysutils/linux-megacli2/pkg-descr
deleted file mode 100644
index b6c873ae443a..000000000000
--- a/sysutils/linux-megacli2/pkg-descr
+++ /dev/null
@@ -1,10 +0,0 @@
-LSI Logic MegaRAID SAS MegaCLI Release
-
-This is the Linux console based management utility for the LSI
-MegaRAID SAS family of controllers.
-
-FreeBSD >= 6.1 supports running this tool by the means of the
-mfi_linux.ko kernel module and the /dev/mfi0 device.
-
-Author: LSI Logic Corporation
-WWW: http://www.lsi.com/
diff --git a/sysutils/linux-megacli2/pkg-message b/sysutils/linux-megacli2/pkg-message
deleted file mode 100644
index 4e4a56e2ba26..000000000000
--- a/sysutils/linux-megacli2/pkg-message
+++ /dev/null
@@ -1,47 +0,0 @@
-
-===================================================================
-This port installed a commercial software product with a restricted
-license. Please review the license terms at this URL:
-
- http://www.lsi.com/cm/License.do
-
-===================================================================
-
-Add the following to /boot/loader.conf
-
- # For MegaCLi
- mfi_linux_load="YES"
-
-Add the following to /etc/sysctl.conf
-
- # For MegaCLi
- compat.linux.osrelease=2.6.12
-
-Add the following to /etc/fstab
-
- # For MegaCLi
- linproc /compat/linux/proc linprocfs rw 0 0
- linsys /compat/linux/sys linsysfs rw 0 0
-
-Add the following to /etc/periodic.conf
-
- # !!! Warning: test before running on a production system !!!
- # !!! Warning: might hang your system !!!
- # For daily summary mails and log diffs:
- daily_status_mfi_raid_enable="YES"
- # In case you want really lots of details enable this:
- daily_status_mfi_raid_verbose="YES"
- # In case you want the tty logs from the controller
- daily_status_mfi_raid_tty_log="YES"
-
-Add the following to /etc/rc.conf
-
-# Save tty log on reboot (you want this)
-rc_mfi_raid_tty_log="YES"
-
-
-If you find mfi(4) too verbose, see mfi_evt_class_t in
-/usr/src/sys/dev/mfi/mfireg.h for values you can use in the
- hw.mfi.event_class
-sysctl variable.
-
diff --git a/sysutils/linux-megacli2/pkg-plist b/sysutils/linux-megacli2/pkg-plist
deleted file mode 100644
index c565df0de4a7..000000000000
--- a/sysutils/linux-megacli2/pkg-plist
+++ /dev/null
@@ -1,9 +0,0 @@
-sbin/megacli
-libexec/MegaCli
-etc/periodic/daily/407.status-mfi-raid
-etc/rc.d/mfi_tty_log
-%%PORTDOCS%%%%DOCSDIR%%/readme.txt
-%%PORTDOCS%%%%DOCSDIR%%/README-status-mfi-raid.txt
-%%PORTDOCS%%@dirrm %%DOCSDIR%%
-@dirrmtry etc/periodic/daily
-@dirrmtry etc/periodic