]> matita.cs.unibo.it Git - helm.git/commitdiff
fixed some file permissions (anybody can rebuild a published devel)
authorFerruccio Guidi <ferruccio.guidi@unibo.it>
Sun, 23 Sep 2007 12:27:52 +0000 (12:27 +0000)
committerFerruccio Guidi <ferruccio.guidi@unibo.it>
Sun, 23 Sep 2007 12:27:52 +0000 (12:27 +0000)
helm/software/components/extlib/hExtlib.ml
helm/software/components/extlib/hExtlib.mli
helm/software/components/extlib/hMarshal.ml
helm/software/components/xml/xml.ml

index d9b24c2eb38d92bd4377bbafcf08d4ab6322700c..bf3bb2574b7608327129d235974d74f7c4d0f48f 100644 (file)
@@ -244,18 +244,21 @@ let mkdir path =
         let path =
           if where = "" then piece else where ^ "/" ^ piece in
         (try
-          Unix.mkdir path 0o755
+          Unix.mkdir path 0o775
         with 
         | Unix.Unix_error (Unix.EEXIST,_,_) -> ()
         | Unix.Unix_error (e,_,_) -> 
             raise 
               (Failure 
-                ("Unix.mkdir " ^ path ^ " 0o755 :" ^ (Unix.error_message e))));
+                ("Unix.mkdir " ^ path ^ " 0o775 :" ^ (Unix.error_message e))));
         aux path tl
   in
   let where = if path.[0] = '/' then "/" else "" in
   aux where components
 
+let chmod mode filename =
+   Unix.chmod filename mode
+
 (** {2 Filesystem} *)
 
 let input_file fname =
@@ -282,7 +285,8 @@ let input_all ic =
 let output_file ~filename ~text = 
   let oc = open_out filename in
   output_string oc text;
-  close_out oc
+  close_out oc;
+  chmod 0o664 filename
 
 let blank_split s =
   let len = String.length s in
index 815c2052665c6d6a4587612e6ceee38c6da88f0a..5f6626b145799af416475cbc407776bab99c62c0 100644 (file)
@@ -41,6 +41,7 @@ val safe_remove: string -> unit (** removes a file if it exists *)
 val safe_rmdir: string -> unit (** removes a dir if it exists and is empty *)
 val is_dir_empty: string -> bool (** checks if the dir is empty *)
 val rmdir_descend: string -> unit (** rmdir -p *)
+val chmod: int -> string -> unit (** chmod *)
 
   (** find all _files_ whose name matches test under a filesystem root.
    * Test is passed the filename path relative to the given filesystem root *)
index c57886819ca786a800b7c925915e061d93717b4a..cb4976e7d42cebf853748145e98ff0c3b17669b5 100644 (file)
@@ -42,7 +42,8 @@ let save ~fmt ~version ~fname data =
   output_string oc (string_of_int version);       (* field 4 *)
   output_binary_int oc (Hashtbl.hash marshalled); (* field 5 *)
   output_string oc marshalled;                    (* field 6 *)
-  close_out oc
+  close_out oc;
+  HExtlib.chmod 0o664 fname
 
 let expect ic fname s =
   let len = String.length s in
index f8cc41cbeacb7d3404c9548b9932d9565b8c4262..0e3a4bcc24a91fbb447869ce8bdbebe64593e076 100644 (file)
@@ -123,23 +123,27 @@ let pp ?(gzip=false) strm fn =
     match fn with
     | Some filename ->
         let outchan = Gzip.open_out filename in
-        (try
+        begin try
           pp_to_gzipchan strm outchan;
         with e ->
           Gzip.close_out outchan;
-          raise e);
-        Gzip.close_out outchan
+          raise e
+       end;
+        Gzip.close_out outchan;
+       HExtlib.chmod 0o664 filename;
     | None -> failwith "Can't sent gzipped output to stdout"
   else
     match fn with
     | Some filename ->
         let outchan = open_out filename in
-        (try
+        begin try
           pp_to_outchan strm outchan;
         with e ->
           close_out outchan;
-          raise e);
-        close_out outchan
+          raise e
+       end;
+        close_out outchan;
+       HExtlib.chmod 0o664 filename
     | None -> pp_to_outchan strm stdout
 ;;