<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 <akkornel@stanford.edu>
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>