added file acces rights handling
authorhaftmann
Wed, 08 Jun 2005 14:54:39 +0200
changeset 16323 7115adb43f3f
parent 16322 7cd7d21975ad
child 16324 059caec54d91
added file acces rights handling
Admin/website/build/localconf.at.template.mak
Admin/website/build/localconf.sun.template.mak
Admin/website/build/main.mak
Admin/website/build/project.mak
Admin/website/build/pypager.py
--- a/Admin/website/build/localconf.at.template.mak	Wed Jun 08 02:28:28 2005 +0200
+++ b/Admin/website/build/localconf.at.template.mak	Wed Jun 08 14:54:39 2005 +0200
@@ -16,9 +16,6 @@
 # build target (attention: ~ will not work!)
 OUTPUTROOT=/usr/proj/isabelle-repository/www
 
-# current distribution name
-DISTNAME=Isabelle2004
-
 # location of isabelle distribution packages
 ISABELLE_DIST=/home/proj/isabelle/dist/Isabelle2004
 
@@ -28,6 +25,10 @@
 # location of doc content file
 ISABELLE_DOC_CONTENT_FILE=/home/proj/isabelle/Isabelle2004/doc/Contents
 
+# umask for target files
+TARGET_UMASK_FILE=664
+TARGET_UMASK_DIR=775
+
 # set to a true value to use the "pypager iso-8859-1" hack
 # (may be neccessary for older versions of HTML tidy)
 FORCE_ISO_8859_1=
--- a/Admin/website/build/localconf.sun.template.mak	Wed Jun 08 02:28:28 2005 +0200
+++ b/Admin/website/build/localconf.sun.template.mak	Wed Jun 08 14:54:39 2005 +0200
@@ -14,10 +14,7 @@
 STATICDIRS=img media dist/css dist/img dist/packages dist/misc
 
 # build target (attention: ~ will not work!)
-OUTPUTROOT=$(HOME)/isabelle_website
-
-# current distribution name
-DISTNAME=Isabelle2004
+OUTPUTROOT=/usr/proj/isabelle-repository/www
 
 # location of isabelle distribution packages
 ISABELLE_DIST=/home/proj/isabelle/dist/Isabelle2004
@@ -28,6 +25,10 @@
 # location of doc content file
 ISABELLE_DOC_CONTENT_FILE=/home/proj/isabelle/Isabelle2004/doc/Contents
 
+# umask for target files
+TARGET_UMASK_FILE=664
+TARGET_UMASK_DIR=775
+
 # set to a true value to use the "pypager iso-8859-1" hack
 # (may be neccessary for older versions of HTML tidy)
 FORCE_ISO_8859_1=
--- a/Admin/website/build/main.mak	Wed Jun 08 02:28:28 2005 +0200
+++ b/Admin/website/build/main.mak	Wed Jun 08 14:54:39 2005 +0200
@@ -87,7 +87,9 @@
 			outputdir=`dirname $$outputfile`; \
 			echo "$$outputfile: $$file" >> $(DEP_FILE); \
 			echo "	mkdir -p $$outputdir" >> $(DEP_FILE); \
+			echo "	-chmod $(TARGET_UMASK_DIR) $$outputdir" >> $(DEP_FILE); \
 			echo '	cp $$< $$@' >> $(DEP_FILE); \
+			echo '	chmod $(TARGET_UMASK_FILE) $$@' >> $(DEP_FILE); \
 			allstatic="$$allstatic$$outputfile "; \
 			echo >> $(DEP_FILE); \
 		done; \
@@ -103,8 +105,10 @@
 		outputdir=`dirname $$outputfile`; \
 		echo "$$outputfile: $$html"' $$(DEP_HTML)' >> $(DEP_FILE); \
 		echo "	mkdir -p $$outputdir" >> $(DEP_FILE); \
+		echo "	-chmod $(TARGET_UMASK_DIR) $$outputdir" >> $(DEP_FILE); \
 		echo '	$(PYTHON) build/pypager.py --dtd="dtd/" $(FORCE_ENC_CMD) --srcroot="." --dstroot="$(OUTPUTROOT)" distname="$(DISTNAME)" $$< $$@' >> $(DEP_FILE); \
 		echo '	-$(TIDYCMD) $$@' >> $(DEP_FILE); \
+		echo '	chmod $(TARGET_UMASK_FILE) $$@' >> $(DEP_FILE); \
 		allhtml="$$allhtml$$outputfile "; \
 		echo >> $(DEP_FILE); \
 	done; \
--- a/Admin/website/build/project.mak	Wed Jun 08 02:28:28 2005 +0200
+++ b/Admin/website/build/project.mak	Wed Jun 08 14:54:39 2005 +0200
@@ -17,6 +17,7 @@
 
 $(OUTPUTROOT)/library: $(ISABELLE_LIBR)
 	ln -s $< $@
+	chmod $(TARGET_UMASK_DIR) $@
 
 include/documentationdist.include.html: $(ISABELLE_DOC_CONTENT_FILE)
 	perl build/mkcontents.pl -p '//dist/packages/Isabelle/doc/' $< $@
--- a/Admin/website/build/pypager.py	Wed Jun 08 02:28:28 2005 +0200
+++ b/Admin/website/build/pypager.py	Wed Jun 08 14:54:39 2005 +0200
@@ -1,6 +1,10 @@
 #!/usr/bin/env python
 # -*- coding: Latin-1 -*-
 
+"""
+    (on available processing instructions, see the Functions class)
+"""
+
 __author__ = 'Florian Haftmann, florian.haftmann@informatik.tu-muenchen.de'
 __revision__ = '$Id$'
 
@@ -39,21 +43,23 @@
         self._modtime = modtime
         self._encodingMeta = encodingMeta
 
-    def getPc(self):
+    def value(self, handler, **args):
 
-        return self._pc
-
-    def value(self, handler, **args):
+        """<?value key="..."?> - inserts a property value given on the command line"""
 
         value = self._valdict[args[u"key"]]
         handler.characters(value)
 
     def title(self, handler, **args):
 
+        """<?title?> - inserts the document's title as glimpsed from the <title> tag"""
+
         handler.characters(handler._title)
 
     def contentType(self, handler, **args):
 
+        """<?contentType?> - inserts the document's content type/encoding"""
+
         encoding = self._encodingMeta or handler._encoding
         attr = {
             u"http-equiv": u"Content-Type",
@@ -64,20 +70,28 @@
 
     def currentDate(self, handler, **args):
 
+        """<?currentDate?> - inserts the current date"""
+
         handler.characters(unicode(time.strftime('%Y-%m-%d %H:%M:%S')))
 
     def modificationDate(self, handler, **args):
 
+        """<?modificationDate?> - inserts the modification date of this file"""
+
         handler.characters(unicode(time.strftime('%Y-%m-%d %H:%M:%S',
             time.localtime(self._modtime))))
 
     def relativeRoot(self, handler, **args):
 
+        """<?relativeRoot href="..."?> - inserts the relative path specified by href"""
+
         href = args[u"href"].encode("latin-1")
         handler.characters(self._pc.relDstPathOf('//'+href))
 
     def include(self, handler, **args):
 
+        """<?include file="..."?> - includes an XML file"""
+
         filename = args[u"file"].encode("latin-1")
         filename = self._pc.absSrcPathOf(filename)
         self._modtime = max(self._modtime, os.stat(filename).st_mtime)
@@ -87,6 +101,9 @@
 
     def navitem(self, handler, **args):
 
+        """<?navitem target="..." title="..."?> - inserts an item in a navigation list,
+            targeting to target and entitled title"""
+
         target = args[u"target"].encode("latin-1")
         target = self._pc.relDstPathOf(target)
         if self._pc.isSrc(target):
@@ -134,6 +151,10 @@
         handler.characters(u"%i%sKB" % (size / 1024, unichr(160)))
         handler.endElement(u"td")
 
+    def getPc(self):
+
+        return self._pc
+
 # a notion of paths
 class PathCalculator: