From: Todd C. Miller Date: Thu, 18 Nov 1999 02:39:50 +0000 (+0000) Subject: o One RUNSon update X-Git-Tag: SUDO_1_6_1~30 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c7dc5c099a32e747dd563746f92ae362e6692e0a;p=sudo o One RUNSon update o Changes for automating real binary releases --- diff --git a/INSTALL.binary b/INSTALL.binary new file mode 100644 index 000000000..5a27d05c0 --- /dev/null +++ b/INSTALL.binary @@ -0,0 +1,27 @@ +Installation instructions for Sudo 1.6 (binary release) +======================================================= + + 0) If you are upgrading from a previous version of sudo + please read the info in the UPGRADE file before proceeding. + + 1) Edit the Makefile if you wish to change the directories + where sudo installs things. By default, sudo goes in + /usr/local/bin, visudo in /usr/local/sbin, and the man + pages go in subdirectories of /usr/local/man. + NOTE: You may *not* change the location of the sudoers file. + If you want to put sudoers in a directory other than /etc + you must get a source distribution and build sudo yourself. + + 2) Type `make install' (as root) to install sudo, visudo, the + man pages, and a skeleton sudoers file. Note that the install + will not overwrite an existing sudoers file. You can also + install various pieces the package via the install-binaries, + install-man, and install-sudoers make targets. + + 3) Edit the sudoers file with `visudo' as necessary for your + site. You will probably want to refer the sample.sudoers + file and sudoers man page included with the sudo package. + + 4) If you want to use syslogd(8) to do the logging, you'll need + to update your /etc/syslog.conf file. See the sample.syslog.conf + file included in the distribution for an example. diff --git a/Makefile.binary b/Makefile.binary new file mode 100644 index 000000000..4740321a2 --- /dev/null +++ b/Makefile.binary @@ -0,0 +1,122 @@ +# +# Copyright (c) 1996, 1998, 1999 Todd C. Miller +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission +# from the author. +# +# 4. Products derived from this software may not be called "Sudo" nor +# may "Sudo" appear in their names without specific prior written +# permission from the author. +# +# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +# THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# $Sudo$ +# + +srcdir = . + +# Which install program? +INSTALL = $(srcdir)/install-sh -c + +# Where to install things... +prefix = /usr/local +exec_prefix = $(prefix) +bindir = $(exec_prefix)/bin +sbindir = $(exec_prefix)/sbin +sysconfdir = /etc +mandir = $(prefix)/man + +# Directory in which to install sudo. +sudodir = $(bindir) + +# Directory in which to install visudo +visudodir = $(sbindir) + +# Directory in which to install the sudoers file +sudoersdir = $(sysconfdir) + +# Directory in which to install the man page +# set mansect5 to 4 on sysV machines. +mantype = man +mansect8 = 8 +mansect5 = 5 +mandir8 = $(mandir)/$(mantype)$(mansect8) +mandir5 = $(mandir)/$(mantype)$(mansect5) + +# User and group ids the installed files should be "owned" by +install_uid = 0 +install_gid = 0 + +# User, group, and mode the sudoers file should be "owned" by +sudoers_uid = 0 +sudoers_gid = 0 +sudoers_mode = 0440 + +SHELL = /bin/sh + +PROGS = sudo visudo + +VERSION = 1.6 + +all: $(PROGS) + @echo run 'make install' to install sudo + +install: install-dirs install-binaries install-sudoers install-man + +install-dirs: + $(srcdir)/mkinstalldirs $(sudodir) $(visudodir) $(sudoersdir) $(mandir8) $(mandir5) + +install-binaries: $(PROGS) + $(INSTALL) -o $(install_uid) -g $(install_gid) -m 4111 -s sudo $(sudodir)/sudo + $(INSTALL) -o $(install_uid) -g $(install_gid) -m 0111 -s visudo $(visudodir)/visudo + +install-sudoers: + @ if [ -f $(sudoersdir)/sudoers ]; then \ + echo "Setting user/group and mode on existing $(sudoersdir)/sudoers file."; \ + chown $(sudoers_uid) $(sudoersdir)/sudoers; \ + chgrp $(sudoers_gid) $(sudoersdir)/sudoers; \ + chmod $(sudoers_mode) $(sudoersdir)/sudoers; \ + else \ + $(INSTALL) -o $(sudoers_uid) -g $(sudoers_gid) -m $(sudoers_mode) \ + $(srcdir)/sudoers $(sudoersdir)/sudoers; \ + fi + +install-man: + $(INSTALL) -o $(install_uid) -g $(install_gid) -m 0444 $(srcdir)/sudo.$(mantype) $(mandir8)/sudo.$(mansect8) + $(INSTALL) -o $(install_uid) -g $(install_gid) -m 0444 $(srcdir)/visudo.$(mantype) $(mandir8)/visudo.$(mansect8) + $(INSTALL) -o $(install_uid) -g $(install_gid) -m 0444 $(srcdir)/sudoers.$(mantype) $(mandir5)/sudoers.$(mansect5) + +clean: + @echo nothing to clean + +mostlyclean: clean + +distclean: clean + +clobber: clean + +realclean: clean + +cleandir: clean diff --git a/README b/README index 45f286d5b..f8979a552 100644 --- a/README +++ b/README @@ -35,8 +35,9 @@ NOTE: Starting with sudo 1.5.7 the configuration method has changed System requirements =================== -Sudo requires a machine running UN*X (most flavors of BSD, SYSV, -or POSIX will do), a working C compiler, and the make utility. +To build sudo from the source distribution you need a machine running +UN*X (most flavors of BSD, SYSV, or POSIX will do), a working C +compiler, and the make utility. If you wish to modify the parser then you will need flex version 2.5.2 or later and either bison or byacc (sudo comes with a diff --git a/RUNSON b/RUNSON index b36b4e3d2..af2f3a6e1 100644 --- a/RUNSON +++ b/RUNSON @@ -119,7 +119,7 @@ Dynix/ptx 4.4.3 Sequent bundled cc 1.5.6p2 Sandra Birgerson none Dynix/ptx 4.4.4 Sequent bundled cc 1.5.9p2 Jason Merritt none DC-OSx 1.1-9x mips PyrC 4.0A20 1.5.6p2 Brian Jackson none HI-UX/MPP 02-03 sr2201 bundled cc 1.5.4 Ben Edgington none -SVR4 4.4 m88k bundled gcc 1.5.7p4 Gerry Belanger CFLAGS= +SVR4 4.4 m88k bundled gcc 1.6rc1 Gerry Belanger CFLAGS= NonStop-UX B32 CO-1475 cc 1.5.9p3 Andrei Panfilenko none Systems on which Sudo is expected to run on but hasn't been tested.