<pre style='margin:0'>
neverpanic pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/cd11500851c4d009f4a1d74aa60bd3d1915e439d">https://github.com/macports/macports-ports/commit/cd11500851c4d009f4a1d74aa60bd3d1915e439d</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 cd11500  New port munge @0.5.12
</span>cd11500 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit cd11500851c4d009f4a1d74aa60bd3d1915e439d
</span>Author: A. Karl Kornel &lt;akkornel@stanford.edu&gt;
AuthorDate: Mon Oct 31 11:42:11 2016 -0700

<span style='display:block; white-space:pre;color:#404040;'>    New port munge @0.5.12
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    munge is a tool to generate authentication credentials that can be passed from
</span><span style='display:block; white-space:pre;color:#404040;'>    system to system. Credentials are generated using a shared key, and include
</span><span style='display:block; white-space:pre;color:#404040;'>    generation time, UID, and GID.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    munge is most noticeably used by the SLURM job-scheduler system.  Since SLURM
</span><span style='display:block; white-space:pre;color:#404040;'>    relies on munge, this needs to go in first.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    munge can use either OpenSSL or libgcrypt for the actual cryptographic work.
</span><span style='display:block; white-space:pre;color:#404040;'>    The current Portfile defaults to OpenSSL (with libgcrypt available as a
</span><span style='display:block; white-space:pre;color:#404040;'>    variant), but that can be changed.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    https://trac.macports.org/ticket/50421
</span>---
 net/munge/Portfile | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 71 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/munge/Portfile b/net/munge/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..562a9e9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/munge/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,71 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem          1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           github 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        dun munge 0.5.12 munge-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          net security
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             {GPL-3+ LGPL-3+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         kornel.us:karl openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         Creating and validating credentials in HPC clusters.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    MUNGE (MUNGE Uid 'N' Gid Emporium) is an authentication \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    service for creating and validating credentials.  It is \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    designed to be highly scalable for use in an HPC cluster \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    environment.  It allows a process to authenticate the UID \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    and GID of another local or remote process within a group \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    of hosts having common users and groups.  These hosts form \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    a security realm that is defined by a shared cryptographic \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    key.  Clients within this security realm can create and \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    validate credentials without the use of root privileges, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    reserved ports, or platform-specific methods.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            https://dun.github.io/munge/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms           darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160 0bc366a2d0a49875e7cf35ea2aebeef33490ed0c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256 23585c1da3f4ea7c2882511c0a08220a2be13d9c03e54486bb8546791fa6c89b
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# We can either use OpenSSL or libgcrypt.  Let's default to OpenSSL.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append  path:lib/libssl.dylib:openssl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args      --with-crypto-lib=openssl \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-openssl-prefix=${prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Allow using libgcrypt instead of OpenSSL.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant libgcrypt description {Use libgcrypt for cryptographic routines} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-replace     path:lib/libssl.dylib:openssl port:libgcrypt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append      port:libgcrypt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-delete   --with-crypto-lib=openssl \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            --with-openssl-prefix=${prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-crypto-lib=libgcrypt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            --with-libgcrypt-prefix=${prefix}
</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;'>+# Allow doing testing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.run            yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.target         check
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Create some directories, with MUNGE-required permissions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 700 -d ${destroot}${prefix}/etc/munge
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 711 -d ${destroot}${prefix}/var/lib/munge
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 755 -d ${destroot}${prefix}/var/run/munge
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot.keepdirs-append    ${destroot}${prefix}/etc/munge \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            ${destroot}${prefix}/var/lib/munge \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            ${destroot}${prefix}/var/run/munge
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# When activating, if a MUNGE key doesn't already exist, create a new one.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-activate {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![file exists ${prefix}/etc/munge/munge.key]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system "dd if=/dev/urandom of=${prefix}/etc/munge/munge.key bs=1 count=1024"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file attributes ${prefix}/etc/munge/munge.key -permissions 0600
</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;'>+notes "Once munge is activated, a random key will be generated and placed at ${prefix}/etc/munge/munge.key.  If you put in your own key, make sure only root can access it, and remember to restart munged!"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Create a startup item for munge
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+startupitem.create      yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+startupitem.name        munged
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+startupitem.executable  ${prefix}/sbin/munged --foreground
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+startupitem.logfile     ${prefix}/var/log/munged.log
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+startupitem.logevents   yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+startupitem.netchange   yes
</span></pre><pre style='margin:0'>

</pre>