<pre style='margin:0'>
Dan Villiom Podlaski Christiansen (danchr) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/3ba9b35157c620daeb2d9db7d0151d5e128055ec">https://github.com/macports/macports-ports/commit/3ba9b35157c620daeb2d9db7d0151d5e128055ec</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 3ba9b35157c doas: add port
</span>3ba9b35157c is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 3ba9b35157c620daeb2d9db7d0151d5e128055ec
</span>Author: Dan Villiom Podlaski Christiansen <danchr@macports.org>
AuthorDate: Thu Jan 28 02:55:11 2021 +0100
<span style='display:block; white-space:pre;color:#404040;'> doas: add port
</span>---
sysutils/doas/Portfile | 78 +++++++++++++++++++++++++++++
sysutils/doas/files/doas.conf.dist | 6 +++
sysutils/doas/files/patch-use-sudo-pam.diff | 11 ++++
3 files changed, 95 insertions(+)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/doas/Portfile b/sysutils/doas/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..050d8b2e130
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/doas/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,78 @@
</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 slicer69 doas 6.3p4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories sysutils security
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license BSD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers {danchr @danchr}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description Run a command as another user
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ The doas utility is a program originally written for OpenBSD \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ which allows a user to run a command as though they were another \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ user. Typically doas is used to allow non-privileged users to \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ run commands as though they were the root user. The doas program \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ acts as an alternative to sudo, which is a popular method for \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ granting admin access to specific users.
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 005f6ec49387f21d050162c3bd5c0de3b8bddd8d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 56faaf38977c43eea4b254ce01447211e60fcce292b69e981dade939318b357b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 29884
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_configure no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# the "sudo" pam specification is available by default, so reuse it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles patch-use-sudo-pam.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PREFIX=${prefix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CC="${configure.cc} ${configure.universal_cflags}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ YACC=${prefix}/bin/byacc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build port:byacc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace s,/usr/local,${prefix},g \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${worksrcpath}/Makefile \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${worksrcpath}/vidoas \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${worksrcpath}/doas.h \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${worksrcpath}/doas.conf.5
</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;'>+pre-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if { [getuid] != 0 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "------------------------------------------------------------"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "Installing doas as non-root doesn't really do anything"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "useful, so be sure to install doas as root"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "------------------------------------------------------------"
</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><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -d -m 0755 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${destroot}${prefix}/share/doc/doas
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -m 0644 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${filespath}/doas.conf.dist \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${worksrcpath}/doas.conf.sample \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${destroot}${prefix}/share/doc/doas
</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;'>+post-activate {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![file exists ${prefix}/etc/doas.conf]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${prefix}/share/doc/doas/doas.conf.dist \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${prefix}/etc/doas.conf
</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><span style='display:block; white-space:pre;background:#e0ffe0;'>+notes "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+To complete the installation, run:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t${prefix}/bin/doas ${prefix}/sbin/vidoas
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Edit as necessary. (See the doas.conf manpage for additional information.)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+"
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/doas/files/doas.conf.dist b/sysutils/doas/files/doas.conf.dist
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..761fea63141
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/doas/files/doas.conf.dist
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Sample file for doas
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Please see doas.conf manual page for information on setting
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# up a doas.conf file.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Permit members of the admin group to perform actions as root.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+permit :admin
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/doas/files/patch-use-sudo-pam.diff b/sysutils/doas/files/patch-use-sudo-pam.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..7d0445e424d
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/doas/files/patch-use-sudo-pam.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- doas.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ doas.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -443,7 +443,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ err(1, "dup2");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* #endif */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- pam_err = pam_start("doas", myname, &pamc, &pamh);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pam_err = pam_start("sudo", myname, &pamc, &pamh);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (pam_err != PAM_SUCCESS) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (pamh != NULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PAM_END("pam_start");
</span></pre><pre style='margin:0'>
</pre>