Author: brd
Date: Sat Aug 11 17:11:08 2018
New Revision: 337648
URL: https://svnweb.freebsd.org/changeset/base/337648

Log:
  Move all periodic related config and scripts to usr.sbin/periodic/
  
  This makes pkgbase easier by tagging these as CONFS so they are properly
  tagged as config files.
  
  Approved by:  will (mentor)
  Sponsored by: Essen Hackathon
  Differential Revision:        https://reviews.freebsd.org/D16553

Added:
  head/usr.sbin/periodic/etc/
     - copied from r337647, head/etc/periodic/
  head/usr.sbin/periodic/periodic.conf
     - copied unchanged from r337647, head/etc/defaults/periodic.conf
Deleted:
  head/etc/defaults/periodic.conf
  head/etc/periodic/
Modified:
  head/etc/Makefile
  head/etc/defaults/Makefile
  head/usr.sbin/periodic/Makefile
  head/usr.sbin/periodic/etc/Makefile.inc
  head/usr.sbin/periodic/etc/daily/Makefile
  head/usr.sbin/periodic/etc/monthly/Makefile
  head/usr.sbin/periodic/etc/security/Makefile
  head/usr.sbin/periodic/etc/weekly/Makefile

Modified: head/etc/Makefile
==============================================================================
--- head/etc/Makefile   Sat Aug 11 16:41:08 2018        (r337647)
+++ head/etc/Makefile   Sat Aug 11 17:11:08 2018        (r337648)
@@ -178,7 +178,6 @@ distribution:
 .if ${MK_NTP} != "no"
        ${_+_}cd ${.CURDIR}/ntp; ${MAKE} install
 .endif
-       ${_+_}cd ${.CURDIR}/periodic; ${MAKE} install
        ${_+_}cd ${SRCTOP}/share/termcap; ${MAKE} etc-termcap
        ${_+_}cd ${.CURDIR}/syslog.d; ${MAKE} install
        ${_+_}cd ${SRCTOP}/usr.sbin/rmt; ${MAKE} etc-rmt

Modified: head/etc/defaults/Makefile
==============================================================================
--- head/etc/defaults/Makefile  Sat Aug 11 16:41:08 2018        (r337647)
+++ head/etc/defaults/Makefile  Sat Aug 11 17:11:08 2018        (r337648)
@@ -2,7 +2,7 @@
 
 .include <src.opts.mk>
 
-FILES= devfs.rules periodic.conf
+FILES= devfs.rules
 FILESDIR= /etc/defaults
 
 .if ${MK_BLUETOOTH} != "no"

Modified: head/usr.sbin/periodic/Makefile
==============================================================================
--- head/usr.sbin/periodic/Makefile     Sat Aug 11 16:41:08 2018        
(r337647)
+++ head/usr.sbin/periodic/Makefile     Sat Aug 11 17:11:08 2018        
(r337648)
@@ -1,6 +1,10 @@
 # $FreeBSD$
 
+FILES= periodic.conf
+FILESDIR=      /etc/defaults
 SCRIPTS=periodic.sh
 MAN=   periodic.8
+
+SUBDIR=        etc
 
 .include <bsd.prog.mk>

Modified: head/usr.sbin/periodic/etc/Makefile.inc
==============================================================================
--- head/etc/periodic/Makefile.inc      Sat Aug 11 16:41:08 2018        
(r337647)
+++ head/usr.sbin/periodic/etc/Makefile.inc     Sat Aug 11 17:11:08 2018        
(r337648)
@@ -1,5 +1,6 @@
 # $FreeBSD$
 
-BINDIR=        /etc/periodic/${.CURDIR:T}
+CONFMODE=      755
+CONFDIR=       ETC_PERIODIC_${.CURDIR:T:U}
+ETC_PERIODIC_${.CURDIR:T:U}=   /etc/periodic/${.CURDIR:T}
 NO_OBJ=
-FILESMODE= 755

Modified: head/usr.sbin/periodic/etc/daily/Makefile
==============================================================================
--- head/etc/periodic/daily/Makefile    Sat Aug 11 16:41:08 2018        
(r337647)
+++ head/usr.sbin/periodic/etc/daily/Makefile   Sat Aug 11 17:11:08 2018        
(r337648)
@@ -2,9 +2,9 @@
 
 .include <src.opts.mk>
 
-FILESGROUPS=FILES
+CONFGROUPS=    CONFS
 
-FILES= 100.clean-disks \
+CONFS= 100.clean-disks \
        110.clean-tmps \
        120.clean-preserve \
        140.clean-rwho \
@@ -27,35 +27,34 @@ FILES=      100.clean-disks \
 # NB: keep these sorted by MK_* knobs
 
 .if ${MK_ACCT} != "no"
-FILESGROUPS+=  ACCT
+CONFGROUPS+=   ACCT
 ACCT+=         310.accounting
-.endif
-ACCTDIR=       /etc/periodic/daily
 ACCTMODE=      ${BINMODE}
 ACCTPACKAGE=   acct
+.endif
 
 .if ${MK_CALENDAR} != "no"
-FILES+=        300.calendar
+CONFS+=        300.calendar
 .endif
 
 .if ${MK_MAIL} != "no"
-FILES+=        130.clean-msgs
+CONFS+=        130.clean-msgs
 .endif
 
 .if ${MK_NTP} != "no"
-FILES+=        480.status-ntpd \
+CONFS+=        480.status-ntpd \
        480.leapfile-ntpd
 .endif
 
 .if ${MK_SENDMAIL} != "no"
-FILES+=        150.clean-hoststat \
+CONFS+=        150.clean-hoststat \
        440.status-mailq \
        460.status-mail-rejects \
        500.queuerun
 .endif
 
 .if ${MK_ZFS} != "no"
-FILES+=        404.status-zfs \
+CONFS+=        404.status-zfs \
        800.scrub-zfs
 .endif
 

Modified: head/usr.sbin/periodic/etc/monthly/Makefile
==============================================================================
--- head/etc/periodic/monthly/Makefile  Sat Aug 11 16:41:08 2018        
(r337647)
+++ head/usr.sbin/periodic/etc/monthly/Makefile Sat Aug 11 17:11:08 2018        
(r337648)
@@ -2,19 +2,19 @@
 
 .include <src.opts.mk>
 
-FILESGROUPS=FILES
+CONFGROUPS=    CONFS
 
-FILES= 450.status-security \
+CONFS= 450.status-security \
        999.local
 
 # NB: keep these sorted by MK_* knobs
 
 .if ${MK_UTMPX} != "no"
-FILESGROUPS+=  ACCT
+CONFGROUPS+=   ACCT
 ACCT+=         200.accounting
-.endif
 ACCTDIR=       /etc/periodic/monthly
 ACCTMODE=      ${BINMODE}
 ACCTPACKAGE=   acct
+.endif
 
 .include <bsd.prog.mk>

Modified: head/usr.sbin/periodic/etc/security/Makefile
==============================================================================
--- head/etc/periodic/security/Makefile Sat Aug 11 16:41:08 2018        
(r337647)
+++ head/usr.sbin/periodic/etc/security/Makefile        Sat Aug 11 17:11:08 
2018        (r337648)
@@ -2,9 +2,9 @@
 
 .include <src.opts.mk>
 
-FILESGROUPS=   FILES DATA
+CONFGROUPS=    CONFS DATA
 
-FILES= 100.chksetuid \
+CONFS= 100.chksetuid \
        110.neggrpperm \
        200.chkmounts \
        300.chkuid0 \
@@ -13,25 +13,26 @@ FILES=      100.chksetuid \
        700.kernelmsg \
        800.loginfail
 DATA=  security.functions
+DATAMODE=      444
 
 # NB: keep these sorted by MK_* knobs
 
 .if ${MK_IPFILTER} != "no"
-FILES+=        510.ipfdenied
-FILES+=        610.ipf6denied
+CONFS+=        510.ipfdenied
+CONFS+=        610.ipf6denied
 .endif
 
 .if ${MK_IPFW} != "no"
-FILES+=        500.ipfwdenied \
+CONFS+=        500.ipfwdenied \
        550.ipfwlimit
 .endif
 
 .if ${MK_PF} != "no"
-FILES+=        520.pfdenied
+CONFS+=        520.pfdenied
 .endif
 
 .if ${MK_INETD} != "no" && ${MK_TCP_WRAPPERS} != "no"
-FILES+=        900.tcpwrap
+CONFS+=        900.tcpwrap
 .endif
 
 .include <bsd.prog.mk>

Modified: head/usr.sbin/periodic/etc/weekly/Makefile
==============================================================================
--- head/etc/periodic/weekly/Makefile   Sat Aug 11 16:41:08 2018        
(r337647)
+++ head/usr.sbin/periodic/etc/weekly/Makefile  Sat Aug 11 17:11:08 2018        
(r337648)
@@ -2,18 +2,18 @@
 
 .include <src.opts.mk>
 
-FILES= 340.noid \
+CONFS= 340.noid \
        450.status-security \
        999.local
 
 # NB: keep these sorted by MK_* knobs
 
 .if ${MK_LOCATE} != "no"
-FILES+=        310.locate
+CONFS+=        310.locate
 .endif
 
 .if ${MK_MAN_UTILS} != "no"
-FILES+=        320.whatis
+CONFS+=        320.whatis
 .endif
 
 .include <bsd.prog.mk>

Copied: head/usr.sbin/periodic/periodic.conf (from r337647, 
head/etc/defaults/periodic.conf)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/usr.sbin/periodic/periodic.conf        Sat Aug 11 17:11:08 2018        
(r337648, copy of r337647, head/etc/defaults/periodic.conf)
@@ -0,0 +1,407 @@
+#!/bin/sh
+#
+# This is defaults/periodic.conf - a file full of useful variables that
+# you can set to change the default behaviour of periodic jobs on your
+# system.  You should not edit this file!  Put any overrides into one of the
+# $periodic_conf_files instead and you will be able to update these defaults
+# later without spamming your local configuration information.
+#
+# The $periodic_conf_files files should only contain values which override
+# values set in this file.  This eases the upgrade path when defaults
+# are changed and new features are added.
+#
+# For a more detailed explanation of all the periodic.conf variables, please
+# refer to the periodic.conf(5) manual page.
+#
+# $FreeBSD$
+#
+
+# What files override these defaults ?
+periodic_conf_files="/etc/periodic.conf /etc/periodic.conf.local"
+
+# periodic script dirs
+local_periodic="/usr/local/etc/periodic"
+
+# Max time to sleep to avoid causing congestion on download servers
+anticongestion_sleeptime=3600
+
+# Daily options
+
+# These options are used by periodic(8) itself to determine what to do
+# with the output of the sub-programs that are run, and where to send
+# that output.  $daily_output might be set to /var/log/daily.log if you
+# wish to log the daily output and have the files rotated by newsyslog(8)
+#
+daily_output="root"                                    # user or /file
+daily_show_success="YES"                               # scripts returning 0
+daily_show_info="YES"                                  # scripts returning 1
+daily_show_badconfig="NO"                              # scripts returning 2
+
+# 100.clean-disks
+daily_clean_disks_enable="NO"                          # Delete files daily
+daily_clean_disks_files="[#,]* .#* a.out *.core *.CKP .emacs_[0-9]*"
+daily_clean_disks_days=3                               # If older than this
+daily_clean_disks_verbose="YES"                                # Mention files 
deleted
+
+# 110.clean-tmps
+daily_clean_tmps_enable="NO"                           # Delete stuff daily
+daily_clean_tmps_dirs="/tmp"                           # Delete under here
+daily_clean_tmps_days="3"                              # If not accessed for
+daily_clean_tmps_ignore=".X*-lock .X11-unix .ICE-unix .font-unix .XIM-unix"
+daily_clean_tmps_ignore="$daily_clean_tmps_ignore quota.user quota.group .snap"
+daily_clean_tmps_ignore="$daily_clean_tmps_ignore .sujournal"
+                                                       # Don't delete these
+daily_clean_tmps_verbose="YES"                         # Mention files deleted
+
+# 120.clean-preserve
+daily_clean_preserve_enable="YES"                      # Delete files daily
+daily_clean_preserve_days=7                            # If not modified for
+daily_clean_preserve_verbose="YES"                     # Mention files deleted
+
+# 130.clean-msgs
+daily_clean_msgs_enable="YES"                          # Delete msgs daily
+daily_clean_msgs_days=                                 # If not modified for
+
+# 140.clean-rwho
+daily_clean_rwho_enable="YES"                          # Delete rwho daily
+daily_clean_rwho_days=7                                        # If not 
modified for
+daily_clean_rwho_verbose="YES"                         # Mention files deleted
+
+# 150.clean-hoststat
+daily_clean_hoststat_enable="YES"                      # Purge sendmail host
+                                                       # status cache daily
+
+# 200.backup-passwd
+daily_backup_passwd_enable="YES"                       # Backup passwd & group
+
+# 210.backup-aliases
+daily_backup_aliases_enable="YES"                      # Backup mail aliases
+
+# 300.calendar
+daily_calendar_enable="NO"                             # Run calendar -a
+
+# 310.accounting
+daily_accounting_enable="YES"                          # Rotate acct files
+daily_accounting_compress="NO"                         # Gzip rotated files
+daily_accounting_flags=-q                              # Flags to /usr/sbin/sa
+daily_accounting_save=3                                        # How many 
files to save
+
+# 330.news
+daily_news_expire_enable="YES"                         # Run news.expire
+
+# 400.status-disks
+daily_status_disks_enable="YES"                                # Check disk 
status
+daily_status_disks_df_flags="-l -h"                    # df(1) flags for check
+
+# 401.status-graid
+daily_status_graid_enable="NO"                         # Check graid(8)
+
+# 404.status-zfs
+daily_status_zfs_enable="NO"                           # Check ZFS
+daily_status_zfs_zpool_list_enable="YES"               # List ZFS pools
+
+# 406.status-gmirror
+daily_status_gmirror_enable="NO"                       # Check gmirror(8)
+
+# 407.status-graid3
+daily_status_graid3_enable="NO"                        # Check graid3(8)
+
+# 408.status-gstripe
+daily_status_gstripe_enable="NO"                       # Check gstripe(8)
+
+# 409.status-gconcat
+daily_status_gconcat_enable="NO"                       # Check gconcat(8)
+
+# 410.status-mfi
+daily_status_mfi_enable="NO"                           # Check mfiutil(8)
+
+# 420.status-network
+daily_status_network_enable="YES"                      # Check network status
+daily_status_network_usedns="YES"                      # DNS lookups are ok
+daily_status_network_netstat_flags="-d"                        # netstat(1) 
flags
+
+# 430.status-uptime
+daily_status_uptime_enable="YES"                       # Check system uptime
+
+# 440.status-mailq
+daily_status_mailq_enable="YES"                                # Check mail 
status
+daily_status_mailq_shorten="NO"                                # Shorten output
+daily_status_include_submit_mailq="YES"                        # Also submit 
queue
+
+# 450.status-security
+daily_status_security_enable="YES"                     # Security check
+# See also "Security options" below for more options
+daily_status_security_inline="NO"                      # Run inline ?
+daily_status_security_output="root"                    # user or /file
+
+# 460.status-mail-rejects
+daily_status_mail_rejects_enable="YES"                 # Check mail rejects
+daily_status_mail_rejects_logs=3                       # How many logs to check
+daily_status_mail_rejects_shorten="NO"                 # Shorten output
+
+# 480.leapfile-ntpd
+daily_ntpd_leapfile_enable="YES"                       # Fetch NTP leapfile
+
+# 480.status-ntpd
+daily_status_ntpd_enable="NO"                          # Check NTP status
+
+# 500.queuerun
+daily_queuerun_enable="YES"                            # Run mail queue
+daily_submit_queuerun="YES"                            # Also submit queue
+
+# 510.status-world-kernel
+daily_status_world_kernel="YES"                                # Check the 
running
+                                                       # userland/kernel 
version
+
+# 800.scrub-zfs
+daily_scrub_zfs_enable="NO"
+daily_scrub_zfs_pools=""                       # empty string selects all pools
+daily_scrub_zfs_default_threshold="35"         # days between scrubs
+#daily_scrub_zfs_${poolname}_threshold="35"    # pool specific threshold
+
+# 999.local
+daily_local="/etc/daily.local"                         # Local scripts
+
+
+# Weekly options
+
+# These options are used by periodic(8) itself to determine what to do
+# with the output of the sub-programs that are run, and where to send
+# that output.  $weekly_output might be set to /var/log/weekly.log if you
+# wish to log the weekly output and have the files rotated by newsyslog(8)
+#
+weekly_output="root"                                   # user or /file
+weekly_show_success="YES"                              # scripts returning 0
+weekly_show_info="YES"                                 # scripts returning 1
+weekly_show_badconfig="NO"                             # scripts returning 2
+
+# 310.locate
+weekly_locate_enable="YES"                             # Update locate weekly
+
+# 320.whatis
+weekly_whatis_enable="YES"                             # Update whatis weekly
+
+# 340.noid
+weekly_noid_enable="NO"                                        # Find unowned 
files
+weekly_noid_dirs="/"                                   # Look here
+
+# 450.status-security
+weekly_status_security_enable="YES"                    # Security check
+# See also "Security options" above for more options
+weekly_status_security_inline="NO"                     # Run inline ?
+weekly_status_security_output="root"                   # user or /file
+
+# 999.local
+weekly_local="/etc/weekly.local"                       # Local scripts
+
+
+# Monthly options
+
+# These options are used by periodic(8) itself to determine what to do
+# with the output of the sub-programs that are run, and where to send
+# that output.  $monthly_output might be set to /var/log/monthly.log if you
+# wish to log the monthly output and have the files rotated by newsyslog(8)
+#
+monthly_output="root"                                  # user or /file
+monthly_show_success="YES"                             # scripts returning 0
+monthly_show_info="YES"                                        # scripts 
returning 1
+monthly_show_badconfig="NO"                            # scripts returning 2
+
+# 200.accounting
+monthly_accounting_enable="YES"                                # Login 
accounting
+
+# 450.status-security
+monthly_status_security_enable="YES"                   # Security check
+# See also "Security options" above for more options
+monthly_status_security_inline="NO"                    # Run inline ?
+monthly_status_security_output="root"                  # user or /file
+
+# 999.local
+monthly_local="/etc/monthly.local"                     # Local scripts
+
+
+# Security options
+
+security_show_success="YES"                            # scripts returning 0
+security_show_info="YES"                               # scripts returning 1
+security_show_badconfig="NO"                           # scripts returning 2
+
+# These options are used by the security periodic(8) scripts spawned in
+# daily and weekly 450.status-security.
+security_status_logdir="/var/log"                      # Directory for logs
+security_status_diff_flags="-b -u"                     # flags for diff output
+
+# Each of the security_status_*_period options below can have one of the
+# following values:
+# - NO: do not run at all
+# - daily: only run during the daily security status
+# - weekly: only run during the weekly security status
+# - monthly: only run during the monthly security status
+# Note that if periodic security scripts are run from crontab(5) directly,
+# they will be run unless _enable or _period is set to "NO".
+
+# 100.chksetuid
+security_status_chksetuid_enable="YES"
+security_status_chksetuid_period="daily"
+
+# 110.neggrpperm
+security_status_neggrpperm_enable="YES"
+security_status_neggrpperm_period="daily"
+
+# 200.chkmounts
+security_status_chkmounts_enable="YES"
+security_status_chkmounts_period="daily"
+#security_status_chkmounts_ignore="^amd:"              # Don't check matching
+                                                       # FS types
+security_status_noamd="NO"                             # Don't check amd mounts
+
+# 300.chkuid0
+security_status_chkuid0_enable="YES"
+security_status_chkuid0_period="daily"
+
+# 400.passwdless
+security_status_passwdless_enable="YES"
+security_status_passwdless_period="daily"
+
+# 410.logincheck
+security_status_logincheck_enable="YES"
+security_status_logincheck_period="daily"
+
+# 500.ipfwdenied
+security_status_ipfwdenied_enable="YES"
+security_status_ipfwdenied_period="daily"
+
+# 510.ipfdenied
+security_status_ipfdenied_enable="YES"
+security_status_ipfdenied_period="daily"
+
+# 520.pfdenied
+security_status_pfdenied_enable="YES"
+security_status_pfdenied_period="daily"
+
+# 550.ipfwlimit
+security_status_ipfwlimit_enable="YES"
+security_status_ipfwlimit_period="daily"
+
+# 610.ipf6denied
+security_status_ipf6denied_enable="YES"
+security_status_ipf6denied_period="daily"
+
+# 700.kernelmsg
+security_status_kernelmsg_enable="YES"
+security_status_kernelmsg_period="daily"
+
+# 800.loginfail
+security_status_loginfail_enable="YES"
+security_status_loginfail_period="daily"
+
+# 900.tcpwrap
+security_status_tcpwrap_enable="YES"
+security_status_tcpwrap_period="daily"
+
+
+
+# Define source_periodic_confs, the mechanism used by /etc/periodic/*/*
+# scripts to source defaults/periodic.conf overrides safely.
+
+if [ -z "${source_periodic_confs_defined}" ]; then
+        source_periodic_confs_defined=yes
+
+       # Sleep for a random amount of time in order to mitigate the thundering
+       # herd problem of multiple hosts running periodic simultaneously.
+       # Will not sleep when used interactively.
+       # Will sleep at most once per invocation of periodic
+       anticongestion() {
+               [ -n "$PERIODIC_IS_INTERACTIVE" ] && return
+               if [ -f "$PERIODIC_ANTICONGESTION_FILE" ]; then
+                       rm -f $PERIODIC_ANTICONGESTION_FILE
+                       sleep `jot -r 1 0 ${anticongestion_sleeptime}`
+               fi
+       }
+
+       # Compatibility with old daily variable names.
+       # They can be removed in stable/11.
+       security_daily_compat_var() {
+               local var=$1 dailyvar value
+
+               dailyvar=daily_status_security${var#security_status}
+               periodvar=${var%enable}period
+               eval value=\"\$$dailyvar\"
+               [ -z "$value" ] && return
+               echo "Warning: Variable \$$dailyvar is deprecated," \
+                   "use \$$var instead." >&2
+               case "$value" in
+               [Yy][Ee][Ss])
+                       eval $var=YES
+                       eval $periodvar=daily
+                       ;;
+               *)
+                       eval $var=\"$value\"
+                       ;;
+               esac
+       }
+
+       check_yesno_period() {
+               local var="$1" periodvar value period
+
+               eval value=\"\$$var\"
+               case "$value" in
+               [Yy][Ee][Ss]) ;;
+               *) return 1 ;;
+               esac
+
+               periodvar=${var%enable}period
+               eval period=\"\$$periodvar\"
+               case "$PERIODIC" in
+               "security daily")
+                       case "$period" in
+                       [Dd][Aa][Ii][Ll][Yy]) return 0 ;;
+                       *) return 1 ;;
+                       esac
+                       ;;
+               "security weekly")
+                       case "$period" in
+                       [Ww][Ee][Ee][Kk][Ll][Yy]) return 0 ;;
+                       *) return 1 ;;
+                       esac
+                       ;;
+               "security monthly")
+                       case "$period" in
+                       [Mm][Oo][Nn][Tt][Hh][Ll][Yy]) return 0 ;;
+                       *) return 1 ;;
+                       esac
+                       ;;
+               security)
+                       # Run directly from crontab(5).
+                       case "$period" in
+                       [Nn][Oo]) return 1 ;;
+                       *) return 0 ;;
+                       esac
+                       ;;
+                '')
+                        # Script run manually.
+                        return 0
+                        ;;
+               *)
+                       echo "ASSERTION FAILED: Unexpected value for" \
+                           "\$PERIODIC: '$PERIODIC'" >&2
+                       exit 127
+                       ;;
+               esac
+       }
+
+        source_periodic_confs() {
+                local i sourced_files
+
+                for i in ${periodic_conf_files}; do
+                        case ${sourced_files} in
+                        *:$i:*)
+                                ;;
+                        *)
+                                sourced_files="${sourced_files}:$i:"
+                                [ -r $i ] && . $i
+                                ;;
+                        esac
+                done
+        }
+fi
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to