httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Justin Erenkrantz <jus...@erenkrantz.com>
Subject [PATCH] Use rsync to install manual
Date Fri, 30 Sep 2005 05:03:32 GMT
Sitting around waiting for another install to complete due to the large
size of our manual, I wrote this patch to switch install-man and
install-htdocs to use rsync if available.  If it isn't available, it'll
fall back on the current cp and rm -rf .svn strategy.  (Tested with and
without rsync and it appears okay in my testing.)

This greatly speeds up installation.  =)  So, any objections to
committing?  -- justin

Index: Makefile.in
===================================================================
--- Makefile.in	(revision 292616)
+++ Makefile.in	(working copy)
@@ -122,8 +122,12 @@
         else \
 	    echo Installing HTML documents ; \
 	    $(MKINSTALLDIRS) $(DESTDIR)$(htdocsdir) ; \
-	    test -d $(htdocs-srcdir) && (cd $(htdocs-srcdir) && cp -rp * $(DESTDIR)$(htdocsdir))
; \
-	    cd $(DESTDIR)$(htdocsdir) && find . -name ".svn" -type d -print | xargs rm -rf
2>/dev/null || true; \
+	    if test -d $(htdocs-srcdir) && test "x$(RSYNC)" != "x" && test -x $(RSYNC)
; then \
+		$(RSYNC) --exclude .svn -a $(htdocs-srcdir)/ $(DESTDIR)$(htdocsdir); \
+	    else \
+		test -d $(htdocs-srcdir) && (cd $(htdocs-srcdir) && cp -rp * $(DESTDIR)$(htdocsdir))
; \
+		cd $(DESTDIR)$(htdocsdir) && find . -name ".svn" -type d -print | xargs rm -rf
2>/dev/null || true; \
+	    fi; \
 	fi
 
 install-error:
@@ -201,8 +205,12 @@
 	@test -d $(DESTDIR)$(manualdir)   || $(MKINSTALLDIRS) $(DESTDIR)$(manualdir)
 	@cp -p $(top_srcdir)/docs/man/*.1 $(DESTDIR)$(mandir)/man1
 	@cp -p $(top_srcdir)/docs/man/*.8 $(DESTDIR)$(mandir)/man8
-	@(cd $(top_srcdir)/docs/manual && cp -rp * $(DESTDIR)$(manualdir))
-	@(cd $(DESTDIR)$(manualdir) && find . -name ".svn" -type d -print | xargs rm -rf
2>/dev/null ) || true
+	@if test "x$(RSYNC)" != "x" && test -x $(RSYNC) ; then \
+	  $(RSYNC) --exclude .svn -a $(top_srcdir)/docs/manual/ $(DESTDIR)$(manualdir); \
+	else \
+	  cd $(top_srcdir)/docs/manual && cp -rp * $(DESTDIR)$(manualdir); \
+	  cd $(DESTDIR)$(manualdir) && find . -name ".svn" -type d -print | xargs rm -rf
2>/dev/null; \
+	fi
 
 install-suexec:
 	@if test -f $(builddir)/support/suexec; then \
Index: configure.in
===================================================================
--- configure.in	(revision 292616)
+++ configure.in	(working copy)
@@ -297,6 +297,7 @@
 
 AC_PATH_PROG(RM, rm)
 AC_PATH_PROG(PKGCONFIG, pkg-config)
+AC_PATH_PROG(RSYNC, rsync)
 AC_PROG_AWK
 AC_PROG_LN_S
 AC_CHECK_TOOL(RANLIB, ranlib, true)
Index: acinclude.m4
===================================================================
--- acinclude.m4	(revision 292616)
+++ acinclude.m4	(working copy)
@@ -75,6 +75,7 @@
   APACHE_SUBST(EXTRA_INCLUDES)
   APACHE_SUBST(LIBTOOL)
   APACHE_SUBST(SHELL)
+  APACHE_SUBST(RSYNC)
   APACHE_SUBST(MODULE_DIRS)
   APACHE_SUBST(MODULE_CLEANDIRS)
   APACHE_SUBST(PORT)

Mime
View raw message