<pre style='margin:0'>
Ryan Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/a48c7cffa27cd2018b479f7c1a3f080ca2b49518">https://github.com/macports/macports-ports/commit/a48c7cffa27cd2018b479f7c1a3f080ca2b49518</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new a48c7cffa27 clamav-server: Fix startupitems for MacPorts 2.6.3
</span>a48c7cffa27 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit a48c7cffa27cd2018b479f7c1a3f080ca2b49518
</span>Author: Steven Thomas Smith <s.t.smith@ieee.org>
AuthorDate: Sat Aug 1 13:15:19 2020 -0400

<span style='display:block; white-space:pre;color:#404040;'>    clamav-server: Fix startupitems for MacPorts 2.6.3
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes: https://trac.macports.org/ticket/60922
</span>---
 sysutils/clamav-server/Portfile | 158 +++++++++++++++++++++++-----------------
 1 file changed, 90 insertions(+), 68 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/clamav-server/Portfile b/sysutils/clamav-server/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index fdf9950c35f..e17d2a07b7a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/clamav-server/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/clamav-server/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4,7 +4,7 @@ PortSystem              1.0
</span> 
 name                    clamav-server
 version                 0.101.2
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision                1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision                2
</span> homepage                https://www.clamav.net/
 categories              sysutils
 platforms               darwin
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -43,6 +43,16 @@ set logPath ${prefix}/var/log/clamav
</span> set runPath ${prefix}/var/run/clamav
 set sharePath ${prefix}/share/clamav
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+pre-fetch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # The way that startupitems values are quoted was changed in 2.6.3.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # This port now relies on those changes. See:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://github.com/macports/macports-base/pull/191
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[vercmp [macports_version] 2.6.3] < 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_error "${name} @${version} requires MacPorts 2.6.3 or later"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return -code error "incompatible MacPorts version"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> startupitem.create     yes
 startupitems \
     name               clamd \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -59,78 +69,90 @@ if {[variant_isset "scan_schedule_access"]} {
</span> 
     startupitems-append \
         name            ClamavScanSchedule \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        init            "pidfile=\"\${prefix}/var/run/clamav/ClamavScanSchedule.pid\"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-CLAMAV_SERVER_SCAN_SCHEDULE_TARGETS_DEFAULT=(\"/\")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-CLAMAV_SERVER_SCAN_SCHEDULE_TARGETS=(\"\${CLAMAV_SERVER_SCAN_SCHEDULE_TARGETS\[@\]:-\${CLAMAV_SERVER_SCAN_SCHEDULE_TARGETS_DEFAULT\[@\]}}\")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-CLAMAV_SERVER_QUARANTINE=\${CLAMAV_SERVER_QUARANTINE:-\${prefix%/*}/Quarantine}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-CLAMAV_SERVER_SCAN_SCHEDULE_LOG=\${CLAMAV_SERVER_SCAN_SCHEDULE_LOG:-\${prefix}/var/log/clamav/ClamavScanSchedule.log}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-DATE=(/bin/date \"+%FT%T\")" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        start           "\${prefix}/bin/clamdscan --reload \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t&& ( /bin/test -d \"\${CLAMAV_SERVER_QUARANTINE}\" || /bin/mkdir -p \"\${CLAMAV_SERVER_QUARANTINE}\" ) \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t&& ( /bin/test -d \"\${CLAMAV_SERVER_SCAN_SCHEDULE_LOG%/*}\" || /bin/mkdir -p \"\${CLAMAV_SERVER_SCAN_SCHEDULE_LOG%/*}\" ) \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t&& echo \"Launchdaemon org.macports.ClamavScanSchedule started on `\${DATE\[@\]}` …\" >> \"\${CLAMAV_SERVER_SCAN_SCHEDULE_LOG}\" \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t&& ( \${prefix}/bin/clamdscan --multiscan --quiet --fdpass \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\t--move=\"\${CLAMAV_SERVER_QUARANTINE}\" --log=\"\${CLAMAV_SERVER_SCAN_SCHEDULE_LOG}\" \"\${CLAMAV_SERVER_SCAN_SCHEDULE_TARGETS\[@\]}\" \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\t&& echo \"Launchdaemon org.macports.ClamavScanSchedule completed on `\${DATE\[@\]}`.\" >> \"\${CLAMAV_SERVER_SCAN_SCHEDULE_LOG}\" \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\t|| echo \"Launchdaemon org.macports.ClamavScanSchedule exited with error code \$? on `\${DATE\[@\]}`.\" >> \"\${CLAMAV_SERVER_SCAN_SCHEDULE_LOG}\" )" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        init {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "pidfile=\"\${prefix}/var/run/clamav/ClamavScanSchedule.pid\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "CLAMAV_SERVER_SCAN_SCHEDULE_TARGETS_DEFAULT=(\"/\")"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "CLAMAV_SERVER_SCAN_SCHEDULE_TARGETS=(\"\${CLAMAV_SERVER_SCAN_SCHEDULE_TARGETS\[@\]:-\${CLAMAV_SERVER_SCAN_SCHEDULE_TARGETS_DEFAULT\[@\]}}\")"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "CLAMAV_SERVER_QUARANTINE=\${CLAMAV_SERVER_QUARANTINE:-\${prefix%/*}/Quarantine}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "CLAMAV_SERVER_SCAN_SCHEDULE_LOG=\${CLAMAV_SERVER_SCAN_SCHEDULE_LOG:-\${prefix}/var/log/clamav/ClamavScanSchedule.log}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "DATE=(/bin/date \"+%FT%T\")"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        start {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "\${prefix}/bin/clamdscan --reload \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "&& ( /bin/test -d \"\${CLAMAV_SERVER_QUARANTINE}\" || /bin/mkdir -p \"\${CLAMAV_SERVER_QUARANTINE}\" ) \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "&& ( /bin/test -d \"\${CLAMAV_SERVER_SCAN_SCHEDULE_LOG%/*}\" || /bin/mkdir -p \"\${CLAMAV_SERVER_SCAN_SCHEDULE_LOG%/*}\" ) \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "&& echo \"Launchdaemon org.macports.ClamavScanSchedule started on `\${DATE\[@\]}` …\" >> \"\${CLAMAV_SERVER_SCAN_SCHEDULE_LOG}\" \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "&& ( \${prefix}/bin/clamdscan --multiscan --quiet --fdpass \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "\t--move=\"\${CLAMAV_SERVER_QUARANTINE}\" --log=\"\${CLAMAV_SERVER_SCAN_SCHEDULE_LOG}\" \"\${CLAMAV_SERVER_SCAN_SCHEDULE_TARGETS\[@\]}\" \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "\t&& echo \"Launchdaemon org.macports.ClamavScanSchedule completed on `\${DATE\[@\]}`.\" >> \"\${CLAMAV_SERVER_SCAN_SCHEDULE_LOG}\" \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "\t|| echo \"Launchdaemon org.macports.ClamavScanSchedule exited with error code \$? on `\${DATE\[@\]}`.\" >> \"\${CLAMAV_SERVER_SCAN_SCHEDULE_LOG}\" )"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } \
</span>         pidfile         none \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        stop            "if \[ -f \"\${prefix}/var/run/clamav/ClamavScanSchedule.pid\" \]; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\t/bin/kill `/bin/cat \"\${prefix}/var/run/clamav/ClamavScanSchedule.pid\"` \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\t\t&& /bin/rm -f \"\${prefix}/var/run/clamav/ClamavScanSchedule.pid\"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\t/usr/bin/killall -SIGUSR1 clamdscan 2>/dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\tfi"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        stop {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "if \[ -f \"\${prefix}/var/run/clamav/ClamavScanSchedule.pid\" \]; then"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "\t/bin/kill `/bin/cat \"\${prefix}/var/run/clamav/ClamavScanSchedule.pid\"` \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "\t\t&& /bin/rm -f \"\${prefix}/var/run/clamav/ClamavScanSchedule.pid\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "else"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "\t/usr/bin/killall -SIGUSR1 clamdscan 2>/dev/null"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "fi"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span> 
     startupitems-append \
         name            ClamavScanOnAccess \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        init            "pidfile=\"\${prefix}/var/run/clamav/ClamavScanOnAccess.pid\"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Default: use clamdscan if clamd is running; otherwise:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# clamscan with an explicit configuration imported from \${prefix}/etc/clamd.conf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-CLAMD_CONF=\"\${prefix}/etc/clamd.conf\"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-IFS=\$'\n'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-CROSS_FS=(`/usr/bin/egrep -e '^\[\[:space:\]\]*CrossFilesystems\\b' \"\${CLAMD_CONF}\" | /usr/bin/sed -E -e 's/^\[\[:space:\]\]*CrossFilesystems\[\[:space:\]\]+/--cross-fs=/'`)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-FOLLOW_DIR_SYMLINKS=(`/usr/bin/egrep -e '^\[\[:space:\]\]*FollowDirectorySymlinks\\b' \"\${CLAMD_CONF}\" | /usr/bin/sed -E -e 's/^\[\[:space:\]\]*FollowDirectorySymlinks\[\[:space:\]\]+/--follow-dir-symlinks=/'`)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-FOLLOW_FILE_SYMLINKS=(`/usr/bin/egrep -e '^\[\[:space:\]\]*FollowFileSymlinks\\b' \"\${CLAMD_CONF}\" | /usr/bin/sed -E -e 's/^\[\[:space:\]\]*FollowFileSymlinks\[\[:space:\]\]+/--follow-file-symlinks=/'`)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-EXCLUDE_PATH=(`/usr/bin/egrep -e '^\[\[:space:\]\]*ExcludePath\\b' \"\${CLAMD_CONF}\" | /usr/bin/sed -E -e 's/^\[\[:space:\]\]*ExcludePath\[\[:space:\]\]+/--exclude=/'`)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-DETECT_PUA=(`/usr/bin/egrep -e '^\[\[:space:\]\]*DetectPUA\\b' \"\${CLAMD_CONF}\" | /usr/bin/sed -E -e 's/^\[\[:space:\]\]*DetectPUA\[\[:space:\]\]+/--detect-pua=/'`)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-EXCLUDE_PUA=(`/usr/bin/egrep -e '^\[\[:space:\]\]*ExcludePUA\\b' \"\${CLAMD_CONF}\" | /usr/bin/sed -E -e 's/^\[\[:space:\]\]*ExcludePUA\[\[:space:\]\]+/--exclude-pua=/'`)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-INCLUDE_PUA=(`/usr/bin/egrep -e '^\[\[:space:\]\]*IncludePUA\\b' \"\${CLAMD_CONF}\" | /usr/bin/sed -E -e 's/^\[\[:space:\]\]*IncludePUA\[\[:space:\]\]+/--include-pua=/'`)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-CLAMAV_SERVER_QUARANTINE=\${CLAMAV_SERVER_QUARANTINE:-\${prefix%/*}/Quarantine}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-CLAMAV_SERVER_SCAN_ONACCESS_LOG=\${CLAMAV_SERVER_SCAN_ONACCESS_LOG:-\${prefix}/var/log/clamav/ClamavScanOnAccess.log}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-DATE=(/bin/date \"+%FT%T\")" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        start           "IFS=\$'\\n'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\tUSER_HOMEDIRS=(`/usr/bin/dscacheutil -q user | /usr/bin/grep -A 3 -B 2 -E -e '^uid: (?:\\d*5\\d\\d|\\d{4,})' | \${prefix}/bin/pcregrep -B 5 -e '^shell: (?!/usr/bin/false).*' | \${prefix}/bin/pcregrep -A 5 -e '^name: (?!_).*' | /usr/bin/grep -e '^dir: .*/Users/' | /usr/bin/sed -e 's/^dir: //'`)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\tUSER_DOWNLOADSDIRS=(`for d in \${USER_HOMEDIRS\[@\]}; do echo \"\${d}/Downloads\" ; done`)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\tUSER_DESKTOPDIRS=(`for d in \${USER_HOMEDIRS\[@\]}; do echo \"\${d}/Desktop\" ; done`)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\[ -d \"\${CLAMAV_SERVER_QUARANTINE}\" \] || /bin/mkdir -p \"\${CLAMAV_SERVER_QUARANTINE}\"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\[ -d \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG%/*}\" \] || /bin/mkdir -p \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG%/*}\"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t( echo \"Launchdaemon org.macports.ClamavScanOnAccess started on `\${DATE\[@\]}` …\" ; echo \"Watched directories:\" ) >> \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t( for d in \"\${USER_DOWNLOADSDIRS\[@\]}\"; do echo \"\\t\${d}\"; done ) >> \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t( for d in \"\${USER_DESKTOPDIRS\[@\]}\"; do echo \"\\t\${d}\"; done ) >> \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\techo \$\$ > \"\${pidfile}\"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\${prefix}/bin/fswatch -0 -l 3 -e '/.DS_Store\$' -r \"\${USER_DOWNLOADSDIRS\[@\]}\" \"\${USER_DESKTOPDIRS\[@\]}\" \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\t| while read -d \"\" event ; \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\t  do \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\t\techo \"Scanning \${event} on `\${DATE\[@\]}`…\" >> \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\" ; \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\t\t! \[ \"`/usr/bin/pgrep -u root clamd`\" == \"\" \] \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\t\t  && ( /usr/bin/nice -n 5 \"\${prefix}/bin/clamdscan\" --multiscan --quiet --fdpass --move=\"\${CLAMAV_SERVER_QUARANTINE}\" --log=\"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\" \"\${event}\" \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\t\t\t&& echo \"Done clamdscan \${event} on `\${DATE\[@\]}`.\" >> \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\" \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\t\t\t\t|| echo \"clamdscan exited with error code \$? on `\${DATE\[@\]}`.\" >> \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\" ) \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\t\t  || ( /usr/bin/nice -n 5 \"\${prefix}/bin/clamscan\" --infected --quiet --move=\"\${CLAMAV_SERVER_QUARANTINE}\" --log=\"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\" \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\t\t\t\t\"\${CROSS_FS\[@\]}\" \"\${FOLLOW_DIR_SYMLINKS\[@\]}\" \"\${FOLLOW_FILE_SYMLINKS\[@\]}\" \"\${EXCLUDE_PATH\[@\]}\" \"\${DETECT_PUA\[@\]}\" \"\${EXCLUDE_PUA\[@\]}\" \"\${INCLUDE_PUA\[@\]}\" \"\${event}\" \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\t\t\t&& echo \"Done clamscan \${event} on `\${DATE\[@\]}`.\" >> \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\" \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\t\t\t\t|| echo \"clamscan exited with error code \$? on `\${DATE\[@\]}`.\" >> \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\" ) ; \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\t  done" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        init {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "pidfile=\"\${prefix}/var/run/clamav/ClamavScanOnAccess.pid\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "# Default: use clamdscan if clamd is running; otherwise:"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "# clamscan with an explicit configuration imported from \${prefix}/etc/clamd.conf"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "CLAMD_CONF=\"\${prefix}/etc/clamd.conf\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "IFS=\$'\\n'"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "CROSS_FS=(`/usr/bin/egrep -e '^\[\[:space:\]\]*CrossFilesystems\\b' \"\${CLAMD_CONF}\" | /usr/bin/sed -E -e 's/^\[\[:space:\]\]*CrossFilesystems\[\[:space:\]\]+/--cross-fs=/'`)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "FOLLOW_DIR_SYMLINKS=(`/usr/bin/egrep -e '^\[\[:space:\]\]*FollowDirectorySymlinks\\b' \"\${CLAMD_CONF}\" | /usr/bin/sed -E -e 's/^\[\[:space:\]\]*FollowDirectorySymlinks\[\[:space:\]\]+/--follow-dir-symlinks=/'`)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "FOLLOW_FILE_SYMLINKS=(`/usr/bin/egrep -e '^\[\[:space:\]\]*FollowFileSymlinks\\b' \"\${CLAMD_CONF}\" | /usr/bin/sed -E -e 's/^\[\[:space:\]\]*FollowFileSymlinks\[\[:space:\]\]+/--follow-file-symlinks=/'`)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "EXCLUDE_PATH=(`/usr/bin/egrep -e '^\[\[:space:\]\]*ExcludePath\\b' \"\${CLAMD_CONF}\" | /usr/bin/sed -E -e 's/^\[\[:space:\]\]*ExcludePath\[\[:space:\]\]+/--exclude=/'`)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "DETECT_PUA=(`/usr/bin/egrep -e '^\[\[:space:\]\]*DetectPUA\\b' \"\${CLAMD_CONF}\" | /usr/bin/sed -E -e 's/^\[\[:space:\]\]*DetectPUA\[\[:space:\]\]+/--detect-pua=/'`)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "EXCLUDE_PUA=(`/usr/bin/egrep -e '^\[\[:space:\]\]*ExcludePUA\\b' \"\${CLAMD_CONF}\" | /usr/bin/sed -E -e 's/^\[\[:space:\]\]*ExcludePUA\[\[:space:\]\]+/--exclude-pua=/'`)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "INCLUDE_PUA=(`/usr/bin/egrep -e '^\[\[:space:\]\]*IncludePUA\\b' \"\${CLAMD_CONF}\" | /usr/bin/sed -E -e 's/^\[\[:space:\]\]*IncludePUA\[\[:space:\]\]+/--include-pua=/'`)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "CLAMAV_SERVER_QUARANTINE=\${CLAMAV_SERVER_QUARANTINE:-\${prefix%/*}/Quarantine}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "CLAMAV_SERVER_SCAN_ONACCESS_LOG=\${CLAMAV_SERVER_SCAN_ONACCESS_LOG:-\${prefix}/var/log/clamav/ClamavScanOnAccess.log}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "DATE=(/bin/date \"+%FT%T\")"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        start {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "IFS=\$'\\n'"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "USER_HOMEDIRS=(`/usr/bin/dscacheutil -q user | /usr/bin/grep -A 3 -B 2 -E -e '^uid: (?:\\d*5\\d\\d|\\d{4,})' | \${prefix}/bin/pcregrep -B 5 -e '^shell: (?!/usr/bin/false).*' | \${prefix}/bin/pcregrep -A 5 -e '^name: (?!_).*' | /usr/bin/grep -e '^dir: .*/Users/' | /usr/bin/sed -e 's/^dir: //'`)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "USER_DOWNLOADSDIRS=(`for d in \${USER_HOMEDIRS\[@\]}; do echo \"\${d}/Downloads\" ; done`)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "USER_DESKTOPDIRS=(`for d in \${USER_HOMEDIRS\[@\]}; do echo \"\${d}/Desktop\" ; done`)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "\[ -d \"\${CLAMAV_SERVER_QUARANTINE}\" \] || /bin/mkdir -p \"\${CLAMAV_SERVER_QUARANTINE}\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "\[ -d \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG%/*}\" \] || /bin/mkdir -p \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG%/*}\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "( echo \"Launchdaemon org.macports.ClamavScanOnAccess started on `\${DATE\[@\]}` …\" ; echo \"Watched directories:\" ) >> \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "( for d in \"\${USER_DOWNLOADSDIRS\[@\]}\"; do echo \"\\t\${d}\"; done ) >> \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "( for d in \"\${USER_DESKTOPDIRS\[@\]}\"; do echo \"\\t\${d}\"; done ) >> \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "echo \$\$ > \"\${pidfile}\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "\${prefix}/bin/fswatch -0 -l 3 -e '/.DS_Store\$' -r \"\${USER_DOWNLOADSDIRS\[@\]}\" \"\${USER_DESKTOPDIRS\[@\]}\" \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "\t| while read -d \"\" event ; \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "\t  do \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "\t\techo \"Scanning \${event} on `\${DATE\[@\]}`…\" >> \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\" ; \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "\t\t! \[ \"`/usr/bin/pgrep -u root clamd`\" == \"\" \] \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "\t\t  && ( /usr/bin/nice -n 5 \"\${prefix}/bin/clamdscan\" --multiscan --quiet --fdpass --move=\"\${CLAMAV_SERVER_QUARANTINE}\" --log=\"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\" \"\${event}\" \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "\t\t\t&& echo \"Done clamdscan \${event} on `\${DATE\[@\]}`.\" >> \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\" \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "\t\t\t\t|| echo \"clamdscan exited with error code \$? on `\${DATE\[@\]}`.\" >> \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\" ) \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "\t\t  || ( /usr/bin/nice -n 5 \"\${prefix}/bin/clamscan\" --infected --quiet --move=\"\${CLAMAV_SERVER_QUARANTINE}\" --log=\"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\" \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "\t\t\t\t\"\${CROSS_FS\[@\]}\" \"\${FOLLOW_DIR_SYMLINKS\[@\]}\" \"\${FOLLOW_FILE_SYMLINKS\[@\]}\" \"\${EXCLUDE_PATH\[@\]}\" \"\${DETECT_PUA\[@\]}\" \"\${EXCLUDE_PUA\[@\]}\" \"\${INCLUDE_PUA\[@\]}\" \"\${event}\" \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "\t\t\t&& echo \"Done clamscan \${event} on `\${DATE\[@\]}`.\" >> \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\" \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "\t\t\t\t|| echo \"clamscan exited with error code \$? on `\${DATE\[@\]}`.\" >> \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\" ) ; \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "\t  done"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } \
</span>         pidfile         none \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        stop            "if \[ -f \"\${pidfile}\" \]; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\t/bin/kill `/bin/cat \"\${pidfile}\"` && /bin/rm -f \"\${pidfile}\"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\telse
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\t\t/usr/bin/kill -SIGUSR1 `/usr/bin/pgrep -u root fswatch` 2>/dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-\tfi"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        stop {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "if \[ -f \"\${pidfile}\" \]; then"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "\t/bin/kill `/bin/cat \"\${pidfile}\"` && /bin/rm -f \"\${pidfile}\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "else"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "\t/usr/bin/kill -SIGUSR1 `/usr/bin/pgrep -u root fswatch` 2>/dev/null"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        "fi"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span> }
 
 destroot {
</pre><pre style='margin:0'>

</pre>