<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/5063b995c204c1d39ff5876e0121caa8d2538461">https://github.com/macports/macports-ports/commit/5063b995c204c1d39ff5876e0121caa8d2538461</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 5063b995c20 tor: Fix activate issue when torrc already exists
</span>5063b995c20 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 5063b995c204c1d39ff5876e0121caa8d2538461
</span>Author: Steven Thomas Smith <s.t.smith@ieee.org>
AuthorDate: Tue Nov 9 17:23:50 2021 -0500

<span style='display:block; white-space:pre;color:#404040;'>    tor: Fix activate issue when torrc already exists
</span>---
 security/tor/Portfile | 71 ++++++++++++++++++++++++++++++++-------------------
 1 file changed, 45 insertions(+), 26 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/security/tor/Portfile b/security/tor/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 0870ba2e8d4..2f6adaa1a9f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/security/tor/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/security/tor/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,7 +5,7 @@ PortSystem          1.0
</span> name                tor
 conflicts           tor-devel
 version             0.4.6.8
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> categories          security
 platforms           darwin
 maintainers         nomaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -33,7 +33,7 @@ depends_lib         port:libevent \
</span> 
 set torUser         _tor
 set torGroup        _tor
<span style='display:block; white-space:pre;background:#ffe0e0;'>-add_users           ${torUser} group=${torGroup} home=${prefix}/var/lib/tor
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+add_users           ${torUser} group=${torGroup} home=${prefix}/var/lib/${name}
</span> 
 configure.args      --disable-silent-rules
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -45,31 +45,50 @@ configure.args-append \
</span> 
 post-destroot {
     # Create a working torrc file with basic, locked-down permissions
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -o ${torUser} -g ${torGroup} -m 0640 ${destroot}${prefix}/etc/tor/torrc.sample ${destroot}${prefix}/etc/tor/torrc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    system -W ${destroot}${prefix}/etc/tor "cat >> torrc <<LOCAL_TOR_CONFIGURATION
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -o ${torUser} -g ${torGroup} -m 0640 ${destroot}${prefix}/etc/${name}/torrc.sample ${destroot}${prefix}/etc/${name}/torrc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system -W ${destroot}${prefix}/etc/${name} "cat >> torrc <<LOCAL_TOR_CONFIGURATION
</span> 
 # Local Tor configuration
 SocksPolicy accept 127.0.0.1  # accept only localhost connections
 SocksPolicy reject *
 ExitPolicy reject *:*  # no exits allowed
<span style='display:block; white-space:pre;background:#ffe0e0;'>-DataDirectory ${prefix}/var/lib/tor
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PidFile ${prefix}/var/run/tor/tor.pid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+DataDirectory ${prefix}/var/lib/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PidFile ${prefix}/var/run/${name}/${name}.pid
</span> # tor process uid
 User ${torUser}
 LOCAL_TOR_CONFIGURATION"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # save the existing config if it exists
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[file exists ${prefix}/etc/tor/torrc]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file rename ${prefix}/etc/tor/torrc \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    ${prefix}/etc/tor/torrc.previous
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # backup torrc files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[file exists ${prefix}/etc/${name}/torrc]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        move ${destroot}${prefix}/etc/${name}/torrc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${destroot}${prefix}/etc/${name}/torrc.new
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        copy ${prefix}/etc/${name}/torrc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${destroot}${prefix}/etc/${name}/torrc.mp_backup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file attributes ${prefix}/etc/${name}/torrc.mp_backup \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -owner ${torUser} -group ${torGroup} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -permissions 0660
</span>     }
 }
 
 post-activate {
     # DataDirectory and PID file Ddirectory permissions
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    system "chown ${torUser}:${torGroup} ${prefix}/var/lib/tor"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    system "chmod 0750 ${prefix}/var/lib/tor"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    system "chown ${torUser}:${torGroup} ${prefix}/var/run/tor"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    system "chmod 0750 ${prefix}/var/run/tor"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system "chown ${torUser}:${torGroup} ${prefix}/var/lib/${name}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system "chmod 0750 ${prefix}/var/lib/${name}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system "chown ${torUser}:${torGroup} ${prefix}/var/run/${name}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system "chmod 0750 ${prefix}/var/run/${name}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![file exists ${prefix}/etc/${name}/torrc]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # restore config files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[file exists ${prefix}/etc/${name}/torrc.mp_backup]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            copy ${prefix}/etc/${name}/torrc.mp_backup \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${prefix}/etc/${name}/torrc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            copy ${prefix}/etc/${name}/torrc.new \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${prefix}/etc/${name}/torrc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file attributes ${prefix}/etc/${name}/torrc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -owner ${torUser} -group ${torGroup} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -permissions 0660
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> }
 
 test.run            yes
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -78,22 +97,22 @@ test.target         check
</span> platform darwin {
     startupitem.create          yes
     startupitem.name            Tor
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    startupitem.start           "\[ -f \"${prefix}/etc/tor/torrc\" \] \\"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    startupitem.start-append    "\t&& ${prefix}/bin/tor \\"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    startupitem.start-append    "\t\t-f ${prefix}/etc/tor/torrc 2>/dev/null"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    startupitem.stop            "if \[ -f \"${prefix}/var/run/tor/tor.pid\" \]; then"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    startupitem.stop-append     "\tkill `cat ${prefix}/var/run/tor/tor.pid` \\"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    startupitem.stop-append     "\t\t&& rm -f ${prefix}/var/run/tor/tor.pid"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    startupitem.start           "\[ -f \"${prefix}/etc/${name}/torrc\" \] \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    startupitem.start-append    "\t&& ${prefix}/bin/${name} \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    startupitem.start-append    "\t\t-f ${prefix}/etc/${name}/torrc 2>/dev/null"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    startupitem.stop            "if \[ -f \"${prefix}/var/run/${name}/${name}.pid\" \]; then"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    startupitem.stop-append     "\tkill `cat ${prefix}/var/run/${name}/${name}.pid` \\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    startupitem.stop-append     "\t\t&& rm -f ${prefix}/var/run/${name}/${name}.pid"
</span>     startupitem.stop-append     "else"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    startupitem.stop-append     "\t/usr/bin/killall -SIGUSR1 tor 2>/dev/null"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    startupitem.stop-append     "\t/usr/bin/killall -SIGUSR1 ${name} 2>/dev/null"
</span>     startupitem.stop-append     "fi"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    startupitem.pidfile         none ${prefix}/var/run/tor/tor.pid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    startupitem.pidfile         none ${prefix}/var/run/${name}/${name}.pid
</span> }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot.keepdirs   ${destroot}${prefix}/var/lib/tor \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    ${destroot}${prefix}/var/run/tor \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    ${destroot}${prefix}/var/log/tor
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot.keepdirs   ${destroot}${prefix}/var/lib/${name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${destroot}${prefix}/var/run/${name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${destroot}${prefix}/var/log/${name}
</span> 
 livecheck.type      regex
 livecheck.url       ${master_sites}?C=M\;O=D
<span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.regex     tor-(\\d+\\.\\d+\\.\\d+\\.\\d+)${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.regex     ${name}-(\\d+\\.\\d+\\.\\d+\\.\\d+)${extract.suffix}
</span></pre><pre style='margin:0'>

</pre>