aboutsummaryrefslogtreecommitdiff
path: root/base/sudo/sudo.build
diff options
context:
space:
mode:
Diffstat (limited to 'base/sudo/sudo.build')
-rwxr-xr-xbase/sudo/sudo.build109
1 files changed, 109 insertions, 0 deletions
diff --git a/base/sudo/sudo.build b/base/sudo/sudo.build
new file mode 100755
index 0000000..d567aff
--- /dev/null
+++ b/base/sudo/sudo.build
@@ -0,0 +1,109 @@
+#!/bin/bash
+#
+# Maintainer: Deposite Pirate <ofni.sknuplatem@etaripd>
+
+source /usr/src/ports/Build/build.sh
+
+NAME=sudo
+VERSION=1.8.6p8
+BUILD=1
+
+# Description
+
+cat > ${PKG}/install/slack-desc <<EOF
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+$(padd)|-----handy-ruler------------------------------------------------------|
+${NAME}: sudo (give limited root privileges to certain users)
+${NAME}:
+${NAME}: 'sudo' is a command that allows users to execute some commands as
+${NAME}: root. The /etc/sudoers file (edited with 'visudo') specifies which
+${NAME}: users have access to sudo and which commands they can run. 'sudo'
+${NAME}: logs all its activities to /var/log/ so the system administrator
+${NAME}: can keep an eye on things.
+${NAME}:
+${NAME}: Homepage: http://www.sudo.ws
+${NAME}:
+${NAME}:
+EOF
+
+cat >> ${PKG}/install/doinst.sh <<EOF
+#!/bin/sh
+
+config() {
+ NEW="\$1"
+ OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r \$OLD ]; then
+ mv \$NEW \$OLD
+ elif [ "\$(cat \$OLD | md5sum)" = "\$(cat \$NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm \$NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+config etc/pam.d/sudo.new
+config etc/pam.d/sudo-i.new
+config etc/sudoers.new
+rm -f etc/sudoers.new
+EOF
+
+# Sources
+
+SRCNAME[0]=${NAME}
+SRCVERS[0]=${VERSION}
+SRCPACK[0]=http://www.sudo.ws/sudo/dist/${SRCNAME[0]}-${SRCVERS[0]}.tar.gz
+SRCCOPY[0]="ISC"
+
+build0()
+{
+CFLAGS="${FLAGS}" CXXFLAGS="${FLAGS}" \
+./configure \
+ --build="${ARCH}-slackware-linux" \
+ --enable-static=no \
+ --enable-shared=yes \
+ --prefix="${SYS_DIR[usr]}" \
+ --mandir="${SYS_DIR[man]}" \
+ --sysconfdir="${SYS_DIR[etc]}" \
+ --libdir="${SYS_DIR[lib]}" \
+ --libexecdir="${SYS_DIR[lib]}/plugins/sudo" \
+ --localstatedir="${SYS_DIR[var]}" \
+ --sbindir="${SYS_DIR[sbin]}" \
+ --with-timedir="${SYS_DIR[run]}/sudo" \
+ --with-passprompt="[sudo] password for %p: " \
+ --with-logging="syslog" \
+ --with-logfac="authpriv" \
+ --with-editor="${SYS_DIR[bin]}/vi" \
+ --with-ignore-dot \
+ --with-tty-tickets \
+ --with-env-editor \
+ --with-pam \
+ --with-pam-login
+#NOTE: --with-linux-audit ?
+make ${JOBS}
+make install DESTDIR="${PKG}"
+doc doc/CONTRIBUTORS doc/UPGRADE doc/sample.{sudo.conf,sudoers}
+changelog NEWS
+install.dir ${PKG}${SYS_DIR[etc]}/{tmpfiles,pam}.d
+install.dat sudo.pam ${PKG}${SYS_DIR[etc]}/pam.d/sudo.new
+install.dat sudo.pam ${PKG}${SYS_DIR[etc]}/pam.d/sudo-i.new
+install.dat sudo.conf.tmpfiles ${PKG}${SYS_DIR[etc]}/tmpfiles.d/sudo.conf
+(
+ cd ${PKG}${SYS_DIR[bin]}
+ chmod 4711 sudo
+ ln -sf sudo sudoedit
+)
+rm -f ${PKG}${SYS_DIR[man]}/man8/sudoedit.8
+echo ".so man8/sudo.8" > ${PKG}${SYS_DIR[man]}/man8/sudoedit.8
+chmod 0755 ${PKG}${SYS_DIR[lib]}/plugins/sudo/*.so
+config ${PKG}${SYS_DIR[etc]}/sudoers
+rm -rf \
+ ${PKG}${SYS_DIR[run]} \
+ ${PKG}${SYS_DIR[doc]}/sudo
+}