]> granicus.if.org Git - sudo/commitdiff
If there is an existing sudoers file, only install if it passes a
authorTodd C. Miller <Todd.Miller@courtesan.com>
Tue, 29 Mar 2011 19:20:32 +0000 (15:20 -0400)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Tue, 29 Mar 2011 19:20:32 +0000 (15:20 -0400)
syntax check.

Makefile.in
common/Makefile.in
compat/Makefile.in
doc/Makefile.in
include/Makefile.in
plugins/sample/Makefile.in
plugins/sample_group/Makefile.in
plugins/sudoers/Makefile.in
src/Makefile.in
zlib/Makefile.in

index b384425fce6c4cddbc6732bae18e32273faff9c0..132d56cfcefb8734db8929213474903ad2d5e149 100644 (file)
@@ -57,10 +57,13 @@ all: config.status
 check: config.status
        for d in $(SUBDIRS) $(SAMPLES); do (cd $$d && $(MAKE) $@) || break; done
 
-install-dirs install-binaries install-includes install-plugin uninstall: config.status
+pre-install:
        for d in $(SUBDIRS); do (cd $$d && $(MAKE) $@) || break; done
 
-install install-doc: config.status ChangeLog
+install-dirs install-binaries install-includes install-plugin uninstall: config.status pre-install
+       for d in $(SUBDIRS); do (cd $$d && $(MAKE) $@) || break; done
+
+install install-doc: config.status ChangeLog pre-install
        for d in $(SUBDIRS); do (cd $$d && $(MAKE) $@) || break; done
 
 autoconf:
index 2a83c4b1a5e05b477afb42d0eeddb894c3c74b69..a0fd01da4391e2aebbd698bd4065fd3b4a8aee6b 100644 (file)
@@ -78,6 +78,8 @@ term.lo: $(srcdir)/term.c $(incdir)/missing.h $(top_builddir)/config.h
 zero_bytes.lo: $(srcdir)/zero_bytes.c $(incdir)/missing.h $(top_builddir)/config.h
        $(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/zero_bytes.c
 
+pre-install:
+
 install:
 
 install-dirs:
index 36ecba5719ac58554531cf0d480237b983275a54..150e65982e9c272773c85af216814605ba39bfe9 100644 (file)
@@ -114,6 +114,8 @@ strsignal.lo: $(srcdir)/strsignal.c $(incdir)/missing.h $(top_builddir)/config.h
 utimes.lo: $(srcdir)/utimes.c $(incdir)/missing.h $(srcdir)/utime.h $(top_builddir)/config.h
        $(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/utimes.c
 
+pre-install:
+
 install:
 
 install-dirs:
index 4468a3f16f0bc9419853565d1d2ffa28df8f434a..414d8c070095967da61b2f3484848a6a5e8191a6 100644 (file)
@@ -142,6 +142,8 @@ HISTORY: $(srcdir)/history.pod
 LICENSE: $(srcdir)/license.pod
        pod2text -l -i0 $(srcdir)/license.pod | sed '1,2d' > $@
 
+pre-install:
+
 install: install-dirs install-doc
 
 install-dirs:
index d7be382a3b172973c3ab38ecdecb40711f79bfb9..150ca621d0c8e3ca2b38fddb41da2af820cbbc13 100644 (file)
@@ -47,6 +47,8 @@ Makefile: $(srcdir)/Makefile.in
 
 .SUFFIXES: .h
 
+pre-install:
+
 install: install-dirs install-includes
 
 install-dirs:
index a7da2c1c631fced5fe7d7290486389063df8263a..0cdc880dc1feb28e2579b80b9981301a76ef8aa3 100644 (file)
@@ -85,6 +85,8 @@ sample_plugin.lo: $(srcdir)/sample_plugin.c
 sample_plugin.la: $(OBJS)
        $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) -module -export-symbols $(srcdir)/sample_plugin.sym -avoid-version -rpath $(plugindir)
 
+pre-install:
+
 install: install-dirs install-plugin
 
 install-dirs:
index 3a22370569f65cdc3602bea17714db1d56ee827e..ac35a2fafec3a1471b754599ec623a0a507bd7f5 100644 (file)
@@ -88,6 +88,8 @@ sample_group.lo: $(srcdir)/sample_group.c
 sample_group.la: $(OBJS)
        $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) -module -export-symbols $(srcdir)/sample_group.sym -avoid-version -rpath $(plugindir)
 
+pre-install:
+
 install: install-dirs install-plugin
 
 install-dirs:
index e99288a6c5dd80d2aad75fbd00dfef9b8f3c31af..18d4648239efe2935e9f6b2baa6093cfb9983a80 100644 (file)
@@ -328,6 +328,12 @@ tsgetgrpw.o: $(srcdir)/tsgetgrpw.c $(SUDODEP)
 visudo.o: $(srcdir)/visudo.c $(SUDODEP) $(devdir)/gram.h
        $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/visudo.c
 
+pre-install:
+       @if test -r $(DESTDIR)$(sudoersdir)/sudoers; then \
+           echo "Checking existing sudoers file for syntax errors."; \
+           ./visudo -c -f $(DESTDIR)$(sudoersdir)/sudoers; \
+       fi
+
 install: install-dirs install-plugin install-binaries install-sudoers install-doc
 
 install-dirs:
@@ -351,7 +357,7 @@ install-plugin: sudoers.la install-dirs
 install-sudoers: install-dirs
        $(INSTALL) -d -O $(sudoers_uid) -G $(sudoers_gid) -M 0750 \
            $(DESTDIR)$(sudoersdir)/sudoers.d
-       test -f $(DESTDIR)$(sudoersdir)/sudoers || \
+       test -r $(DESTDIR)$(sudoersdir)/sudoers || \
            $(INSTALL) -O $(sudoers_uid) -G $(sudoers_gid) -M $(sudoers_mode) \
                sudoers $(DESTDIR)$(sudoersdir)/sudoers
 
index 9b4a3b49dc4372b185c13762238ccff648cd2e90..c1b15bc432349786761eea0074f57fb06da7ab8c 100644 (file)
@@ -141,6 +141,8 @@ ttysize.o: $(srcdir)/ttysize.c $(incdir)/missing.h $(top_builddir)/config.h
 utmp.o: $(srcdir)/utmp.c $(SUDODEP)
        $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/utmp.c
 
+pre-install:
+
 install: install-dirs install-binaries @INSTALL_NOEXEC@
 
 install-dirs:
index e74f518ec5e0b9b48a54ed4e80691cd7f99e8f70..469db66339c36fa3890b2ad5d4c09df3a2da84e4 100644 (file)
@@ -89,6 +89,8 @@ uncompr.lo: $(srcdir)/zlib.h ./zconf.h
 zutil.lo: $(srcdir)/zutil.h $(srcdir)/zlib.h ./zconf.h
        $(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(DEFS) $(srcdir)/zutil.c
 
+pre-install:
+
 install:
 
 install-dirs: