blob: d567affb3834b3892e402226d3ee92dcc949e1f7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
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
}
|