chiark / gitweb /
Rotate the logfile
[userv-utils.git] / git-daemon / Makefile
index 2d24274af9ae26b2346b7fbffe1b18281938b1b8..ad8dd782ec8cef4863cc874a92dd09c52195b149 100644 (file)
@@ -7,16 +7,23 @@
 
 include ../settings.make
 
-TARGETS=       git-upload-pack inetd.conf git-daemon git-service
+gituser=       git
+varloggit=     $(varlog)/git
 
-SUBSTVARS=     libuserv etcuserv
+TARGETS=       git-upload-pack inetd.conf git-daemon git-service logrotate
+
+SUBSTVARS=     libuserv etcuserv varloggit gituser
+
+CONFIGS=       $(services)/git-upload-pack \
+               $(etcuserv)/git-urlmap \
+               $(etcdir)/logrotate.d/userv-git-daemon
 
 all:           $(TARGETS)
 
-sedscript:     Makefile
+sedscript:     Makefile read-urlmap
                echo >$@.new '$(foreach f, $(SUBSTVARS), s,@$f@,$($f),g; )'
                echo >>$@.new '/@@READ_URLMAP@@/c\'
-               perl >>$@.new -pe 's/$$/\\/' <read-urlmap
+               perl >>$@.new -pe 's/\\/\\\\/g; s/$$/\\/' <read-urlmap
                mv -f $@.new $@
 
 %:             %.in sedscript
@@ -26,10 +33,17 @@ sedscript:  Makefile
                mv -f $@.new $@
 
 install:       all
-               mkdir -p $(libuserv) $(etcuserv) $(services)
+               mkdir -p $(libuserv) $(etcuserv) $(services) \
+                       $(etcdir)/logrotate.d
+               install -d -o $(gituser) -g adm $(varloggit)
                cp git-daemon git-service $(libuserv)
-               cp git-upload-pack $(services)
-               cp git-urlmap $(etcuserv)
+               cp git-upload-pack $(services)/git-upload-pack:new
+               cp git-urlmap $(etcuserv)/git-urlmap:new
+               cp logrotate $(etcdir)/logrotate.d/userv-git-daemon:new
+               set -e; for f in $(CONFIGS); do \
+                       if test -f $$f; then continue; fi; \
+                       mv $$f:new $$f; \
+               done
 
 clean:
                rm -f $(TARGETS)