httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Colm MacCarthaigh <c...@stdlib.net>
Subject Re: [PATCH] Use rsync to install manual
Date Fri, 30 Sep 2005 09:04:12 GMT
On Thu, Sep 29, 2005 at 10:03:32PM -0700, Justin Erenkrantz wrote:
> This greatly speeds up installation.  =)  So, any objections to
> committing?  -- justin

Yes :) 

Please don't use the -a option for rsync. use -rlptDv instead; we
shouldn't be trouncing the ownership of the destination files, cp
doesn't. I'd also add the --numeric-ids option, which will also prevent
rsync from doing the uid lookups and can greatly speed things up on
systems with no (or slow) nscd's (or slow uid lookups in general).

Do (DESTDIR)$(htdocsdir) and (DESTDIR)$(manualdir) have a trailing "/"
reliably? If not, we need to make the destinations be
"(DESTDIR)$(htdocsdir)/" and (DESTDIR)$(manualdir)/, otherwise on some
systems rsync will behave differently when those destinations are
symlinks otherwise. (it will unlink the symlink and replace it with the
directory heirarchy).

But apart from those nits, +1! It always annoys me how long that
takes too :-)

> 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)
> 

-- 
Colm MacCárthaigh                        Public Key: colm+pgp@stdlib.net

Mime
View raw message