44
46
pp_rpm_license="BSD"
45
47
pp_rpm_url="http://www.sudo.ws/"
46
48
pp_rpm_group="Applications/System"
47
pp_rpm_packager="Todd.Miller@courtesan.com"
49
pp_rpm_packager="Todd C. Miller <Todd.Miller@courtesan.com>"
48
50
if test -n "$linux_audit"; then
49
51
pp_rpm_requires="audit-libs >= $linux_audit"
54
# For all but RPM and Debian we need to install sudoers with a different
55
# name and make a copy of it if there is no existing file.
56
mv ${pp_destdir}$sudoersdir/sudoers ${pp_destdir}$sudoersdir/sudoers.dist
52
60
pp_deb_maintainer="$pp_rpm_packager"
53
61
pp_deb_release="$pp_rpm_release"
54
62
pp_deb_version="$pp_rpm_version"
56
# For all but RPM and Debian we need to install sudoers with a different
57
# name and make a copy of it if there is no existing file.
58
mv ${pp_destdir}$sudoersdir/sudoers ${pp_destdir}$sudoersdir/sudoers.dist
64
install -D -m 644 ${pp_destdir}$docdir/LICENSE ${pp_wrkdir}/${name}/usr/share/doc/${name}/copyright
65
install -D -m 644 ${pp_destdir}$docdir/ChangeLog ${pp_wrkdir}/${name}/usr/share/doc/${name}/changelog
66
gzip -9f ${pp_wrkdir}/${name}/usr/share/doc/${name}/changelog
67
printf "$name ($pp_deb_version-$pp_deb_release) admin; urgency=low\n\n * see upstream changelog\n\n -- $pp_deb_maintainer `date '+%a, %d %b %Y %T %z'`\n" > ${pp_wrkdir}/${name}/usr/share/doc/${name}/changelog.Debian
68
chmod 644 ${pp_wrkdir}/${name}/usr/share/doc/${name}/changelog.Debian
69
gzip -9f ${pp_wrkdir}/${name}/usr/share/doc/${name}/changelog.Debian
70
# Create lintian override file
71
mkdir -p ${pp_wrkdir}/${name}/usr/share/lintian/overrides
72
cat >${pp_wrkdir}/${name}/usr/share/lintian/overrides/${name} <<-EOF
73
# The sudo binary must be setuid root
74
$name: setuid-binary usr/bin/sudo 4755 root/root
75
# Sudo configuration and data dirs must not be world-readable
76
$name: non-standard-file-perm etc/sudoers 0440 != 0644
77
$name: non-standard-dir-perm etc/sudoers.d/ 0750 != 0755
78
$name: non-standard-dir-perm var/lib/sudo/ 0700 != 0755
79
# Sudo ships with debugging symbols
80
$name: unstripped-binary-or-object
82
chmod 644 ${pp_wrkdir}/${name}/usr/share/lintian/overrides/${name}
190
214
perl -pe 'last if (/^What/i && $seen++)' NEWS > ${pp_wrkdir}/ReadMe.txt
217
%if X"$aix_freeware" = X"true"
218
# Create links from /opt/freeware/{bin,sbin} -> /usr/{bin.sbin}
219
mkdir -p ${pp_destdir}/usr/bin ${pp_destdir}/usr/sbin
220
ln -s -f ${bindir}/sudo ${pp_destdir}/usr/bin
221
ln -s -f ${bindir}/sudoedit ${pp_destdir}/usr/bin
222
ln -s -f ${bindir}/sudoreplay ${pp_destdir}/usr/bin
223
ln -s -f ${sbindir}/visudo ${pp_destdir}/usr/sbin
193
226
# OS-level directories that should generally exist but might not.
194
227
extradirs=`echo ${pp_destdir}/${mandir}/[mc]* | sed "s#${pp_destdir}/##g"`
195
228
extradirs="$extradirs `dirname $docdir` `dirname $timedir`"
229
test -d ${pp_destdir}${localedir} && extradirs="$extradirs $localedir"
196
230
test -d ${pp_destdir}/etc/pam.d && extradirs="${extradirs} /etc/pam.d"
197
231
for dir in $bindir $sbindir $libexecdir $includedir $extradirs; do
198
232
while test "$dir" != "/"; do
203
237
osdirs=`echo $osdirs | tr " " "\n" | sort -u`
240
libc6, libpam0g, libpam-modules, zlib1g, libselinux1
243
# Add Conflicts, Replaces headers and add libldap depedency as needed.
244
if test -z "%{flavor}"; then
245
echo "Conflicts: sudo-ldap" >> %{pp_wrkdir}/%{name}/DEBIAN/control
246
echo "Replaces: sudo-ldap" >> %{pp_wrkdir}/%{name}/DEBIAN/control
247
elif test "%{flavor}" = "ldap"; then
248
echo "Conflicts: sudo" >> %{pp_wrkdir}/%{name}/DEBIAN/control
249
echo "Replaces: sudo" >> %{pp_wrkdir}/%{name}/DEBIAN/control
250
echo "Provides: sudo" >> %{pp_wrkdir}/%{name}/DEBIAN/control
251
cp -p %{pp_wrkdir}/%{name}/DEBIAN/control %{pp_wrkdir}/%{name}/DEBIAN/control.$$
252
sed 's/^\(Depends:.*\) *$/\1, libldap-2.4-2/' %{pp_wrkdir}/%{name}/DEBIAN/control.$$ > %{pp_wrkdir}/%{name}/DEBIAN/control
253
rm -f %{pp_wrkdir}/%{name}/DEBIAN/control.$$
255
echo "Homepage: http://www.sudo.ws/sudo/" >> %{pp_wrkdir}/%{name}/DEBIAN/control
256
echo "Bugs: http://www.sudo.ws/bugs/" >> %{pp_wrkdir}/%{name}/DEBIAN/control
207
$bindir/sudo 4111 root:
208
$bindir/sudoedit 4111 root:
210
$bindir/sudoreplay 0111
211
$includedir/sudo_plugin.h 0444
212
$libexecdir/* 0755 optional
260
$bindir/sudo 4755 root:
261
$bindir/sudoedit 0755 root: symlink sudo
263
$bindir/sudoreplay 0755
264
$includedir/sudo_plugin.h 0644
265
$libexecdir/* $shlib_mode optional
213
266
$sudoersdir/sudoers.d/ 0750 $sudoers_uid:$sudoers_gid
214
267
$timedir/ 0700 root:
216
$docdir/sudoers2ldif 0555 optional,ignore-others
218
$localedir/ - optional
219
$localedir/** 0444 optional
220
/etc/pam.d/* 0444 volatile,optional
269
$docdir/sudoers2ldif 0755 optional,ignore-others
271
$docdir/LICENSE ignore,ignore-others
272
$docdir/ChangeLog ignore,ignore-others
275
$localedir/*/ - optional
276
$localedir/*/LC_MESSAGES/ - optional
277
$localedir/*/LC_MESSAGES/* 0644 optional
278
/etc/pam.d/* 0644 volatile,optional
222
280
$sudoersdir/sudoers $sudoers_mode $sudoers_uid:$sudoers_gid volatile
224
282
$sudoersdir/sudoers.dist $sudoers_mode $sudoers_uid:$sudoers_gid volatile
284
%if X"$aix_freeware" = X"true"
285
# Links for binaries from /opt/freeware to /usr
286
/usr/bin/sudo 0755 root: symlink $bindir/sudo
287
/usr/bin/sudoedit 0755 root: symlink $bindir/sudoedit
288
/usr/bin/sudoreplay 0755 root: symlink $bindir/sudoreplay
289
/usr/sbin/visudo 0755 root: symlink $sbindir/visudo
293
$sudoedit_man 0644 symlink,ignore-others $sudoedit_man_target
231
297
# Some versions use catpages, some use manpages.
232
$mandir/cat*/* optional
233
$mandir/man*/* optional
298
$sudoedit_man 0644 symlink,ignore-others $sudoedit_man_target
299
$mandir/cat*/* 0644 optional
300
$mandir/man*/* 0644 optional
303
if rpm -q %{name} >/dev/null 2>&1; then
304
echo "Another version of sudo is currently installed via rpm." 2>&1
305
echo "Please either uninstall the rpm version of sudo by running \"rpm -e sudo\"" 2>&1
306
echo "or upgrade the existing version of sudo using the .rpm packagae instead" 2>&1
307
echo "instead of the .bff package." 2>&1
309
echo "Note that you may need to pass rpm the --oldpackage flag when upgrading" 2>&1
310
echo "the AIX Toolbox version of sudo to the latest sudo rpm from sudo.ws." 2>&1
236
316
# Don't overwrite an existing sudoers file