[darcs-devel] darcs patch: darcs.cgi cleanup

David Roundy droundy at darcs.net
Mon Jan 14 21:23:33 UTC 2008


On Fri, Jan 11, 2008 at 07:49:06PM -0500, forge at dr.ea.ms wrote:
> Fri Jan 11 19:44:12 EST 2008  forge at dr.ea.ms
>   * darcs.cgi cleanup
>   This is in general a cleanup of the cgi tool for darcs.
>   
>   1: The cgi tool directory now makes sense and has an actual structure
>       to it.
>   
>   2: Everything gets stored in the system's datadir
>       (normally this is {$prefix}/share) so that it can be reproduced as
>       many times as needed for seperate virtual  hosts without causing
>       interference or collisions if desired.
>   
>   3: The CGI is intellegent enough that if your setup isn't scattered all
>       over your file systems, that it requires no modifications to work.
>       This is because all references to the files are now relitive to the
>       cgi-bin directory. There are no more ".in" files required.
>   
>   4: The page created has been slightly altered so that the patch button
>       is now seperated from the rss feed link, and the rss link is also
>       described to actually be what it is. The darcs plug has been also
>       moved to a place by it's self, and seperated by a horozontal rule so
>       that the link contained in it does not confuse the user into thinking
>       it is actually part of the project shown, since that may not be the
>       case.
>   
>   5: The cgi's version number bumpped to 1.1 for these minor changes.

Thanks for persevering! (and I'm going to ask for a bit more
perseverance...)

This patch is much more readable, but you still remove and add the
darcs.cgi and README file, making the patch both extra-large and hard to
review.  If you could just darcs mv the darcs.cgi.in file to darcs.cgi and
similarly for README.in, this would be much nicer.

> hunk ./GNUmakefile 200
> -	test -d $(DESTDIR)$(datadir)/darcs/xslt || \
> -		$(INSTALL) -d $(DESTDIR)$(datadir)/darcs/xslt
> -	$(INSTALL_DATA) tools/cgi/xslt/*.xslt $(DESTDIR)$(datadir)/darcs/xslt/
> -	$(INSTALL_DATA) tools/cgi/xslt/styles.css $(DESTDIR)$(datadir)/darcs/xslt/styles.css
> -
> -# Debian policy doesn't allow symlinks as configuration files.
> -#	test -e $(DESTDIR)$(sysconfdir)/darcs/styles.css || \
> -#	    ln -s $(datadir)/darcs/xslt/styles.css \
> -#		$(DESTDIR)$(sysconfdir)/darcs/styles.css
> -	$(INSTALL) -m 644 tools/cgi/xslt/styles.css $(DESTDIR)$(sysconfdir)/darcs/styles.css
> +	test -d $(DESTDIR)$(datadir)/darcs/cgi-bin || \
> +		$(INSTALL) -d $(DESTDIR)$(datadir)/darcs/cgi-bin
> +	test -d $(DESTDIR)$(datadir)/darcs/darcs || \
> +		$(INSTALL) -d $(DESTDIR)$(datadir)/darcs/darcs
> +	test -d $(DESTDIR)$(datadir)/darcs/darcs/cache || \
> +		$(INSTALL) -d $(DESTDIR)$(datadir)/darcs/darcs/cache
> +	test -d $(DESTDIR)$(datadir)/darcs/darcs/config || \
> +		$(INSTALL) -d $(DESTDIR)$(datadir)/darcs/darcs/config
> +	test -d $(DESTDIR)$(datadir)/darcs/darcs/repos || \
> +		$(INSTALL) -d $(DESTDIR)$(datadir)/darcs/darcs/repos
> +	test -d $(DESTDIR)$(datadir)/darcs/darcs/xslt || \
> +		$(INSTALL) -d $(DESTDIR)$(datadir)/darcs/darcs/xslt
> +	$(INSTALL_DATA) tools/cgi/cgi-bin/darcs.cgi $(DESTDIR)$(datadir)/darcs/cgi-bin
> +	$(INSTALL_DATA) tools/cgi/darcs/config/cgi.conf $(DESTDIR)$(datadir)/darcs/darcs/config
> +	$(INSTALL_DATA) tools/cgi/darcs/config/styles.css $(DESTDIR)$(datadir)/darcs/darcs/config
> +	$(INSTALL_DATA) tools/cgi/darcs/xslt/*.xslt $(DESTDIR)$(datadir)/darcs/darcs/xslt
> +	$(INSTALL_DATA) tools/cgi/darcs/xslt/*.xml $(DESTDIR)$(datadir)/darcs/darcs/xslt

This seems a bit troubling.  Does this mean that our config file is no
longer in /etc? That seems very bad to me, as that's where users expect to
look for configuration files.  :(  (which is why $configdir exists)

This is all that I've reviewed so far.
-- 
David Roundy
Department of Physics
Oregon State University


More information about the darcs-devel mailing list