# -*- coding: utf-8; mode: tcl; tab-width: 4; truncate-lines: t; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:et:sw=4:ts=4:sts=4
# $Id: Portfile 53768 2009-07-13 13:47:22Z snc@macports.org $

PortSystem          1.0

name                sudo
version             1.7.2
categories          sysutils security
maintainers         snc openmaintainer
description         Allow users to run programs as other users, eg, root
long_description \
    Sudo is a program designed to allow a sysadmin to give limited root \
    privileges to users and log root activity.  The basic philosophy is to \
    give as few privileges as possible but still allow people to get their \
    work done.

platforms           darwin sunos freebsd

homepage            http://www.sudo.ws/sudo/
master_sites        ${homepage}dist/ \
                    ${homepage}dist/OLD/
patch_sites         ${master_sites}

checksums           md5     9caba8719c3e0f163880a05f02a48249 \
                    sha1    566952fc9fb18b6c1e861e03ad5a63d27e54a501 \
                    rmd160  3d88ef2918470a6125efdf47edd68cfa947da62e

patch.dir       ${workpath}
configure.args  --infodir=${prefix}/share/info \
                --mandir=${prefix}/share/man \
                --sysconfdir=${prefix}/etc \
                --with-env-editor \
                --with-tty-tickets \
                --with-ignore-dot \
                --with-timedir=${prefix}/var/run/sudo \
                --disable-log-wrap

pre-destroot {
    if { $env(USER) != "root" } {
        ui_msg "------------------------------------------------------------"
        ui_msg "Installing sudo as non-root doesn't really do anything"
        ui_msg "useful, so be sure to install sudo as root"
        ui_msg "------------------------------------------------------------"
    }
}

post-destroot {
    file rename ${destroot}${prefix}/etc/sudoers ${destroot}${prefix}/etc/sudoers.dist
}

post-install {
    ui_msg "------------------------------------------------------------"
    ui_msg "To complete installation, copy, as root, "
    ui_msg "${prefix}/etc/sudoers.dist to ${prefix}/etc/sudoers (keeping "
    ui_msg "the same permissions), and edit it as necessary (see the"
    ui_msg "sudoers manpage for information)."
    ui_msg "------------------------------------------------------------"
}

platform darwin {
    configure.args-append   --with-password-timeout=0 \
                            --with-pam
}

platform sunos {
    configure.args-append   --with-pam
}

platform freebsd {
    configure.args-append   --with-pam \
                            --with-logincap \
                            --with-long-otp-prompt
}

variant insults description { It can only be attributed to human error. } {
    configure.args-append   --with-insults --with-all-insults
}

