update.
[chise/ruby.git] / tools / make-chisedb-tarball.rb
index 1fc57cc..bb63575 100755 (executable)
@@ -3,39 +3,52 @@
 
 $LOAD_PATH.unshift("..")
 require "find"
-require "chise/util"
+require "pathname"
+require "fileutils"
+require "chise/path"
+require "chise/qp"
 
 def usage()
-  print "Usage: make-chisedb-tarball.rb <directory of XEmacs CHISE> <tmp dir>\n"
-  print "% ./make-chisedb-tarball.rb  /usr/local/lib/xemacs-21.4.14/i686-pc-linux /var/tmp\n"
+  puts "Usage: make-chisedb-tarball.rb <CHISE-DB dir> <tmp dir>"
+  puts "% ./make-chisedb-tarball.rb /usr/local/lib/xemacs-21.4.14/i686-pc-linux/chise-db /var/tmp"
   exit
 end
 
 def main(argv)
   usage if argv.length < 1
   dir = argv.shift
-  unless FileTest.directory?(dir+"/chise-db")
+  unless dir.path.directory?
     print "no chise-db here. #{dir}\n"
     usage
   end
-  tmpdir = argv.shift
-  tmpdir = "/var/tmp" if tmpdir.nil?
-
+  tmpdir = argv.shift || "/var/tmp"
   orgdir = Dir.pwd
-  Dir.chdir(tmpdir) # \93K\93\96\82Èdir\82É\88Ú\93®\82µ\82Ä\82©\82ç
-  system "cp -a #{dir}/chise-db ." # \82Ü\82¸\82»\82Ìdirectory\82É\96â\93\9a\96³\97p\82Å\91S\95\94\83R\83s\81[\82·\82é\81B
 
-  Find.find("."){|f|
-    if f =~ /([*?<>])/ # Windows\82É\82¨\82¯\82é\8bÖ\8e~\95\8e\9a\82ª\8aÜ\82Ü\82ê\82Ä\82¢\82½\82ç\81A\92u\8a·\82·\82é
-      nf = CHISE.unix_to_win(f)
-      cmd = "mv '#{f}' '#{nf}'"
-      #print cmd, "\n"
-      system cmd
-    end
+  print "copy all chise-db to tmpdir"
+  system "cp -a #{dir} #{tmpdir}" # 
+  puts "."
+
+  print "escape special characters"
+  Find.find(tmpdir+"/chise-db") {|f|
+    next if f.path.directory?
+    nf = f.path.escape.unix_to_win.to_s
+    next if f == nf
+    cmd = "mv '#{f}' '#{nf}'"
+    #puts cmd
+    system cmd
   }
+  puts "."
 
-  system "tar czf chise-db.tar.gz chise-db"
-  system "mv chise-db.tar.gz #{orgdir}"
-  system "rm -rf #{tmpdir}/chise-db"
+  Dir.chdir(tmpdir){
+    print "make tarball"
+    system "tar czf chise-db.tar.gz chise-db"
+    puts "."
+    print "mv it"
+    system "mv chise-db.tar.gz #{orgdir}"
+    puts "."
+    print "remove tmpdir/chise-db"
+    system "rm -rf #{tmpdir}/chise-db"
+    puts "."
+  }
 end
 main(ARGV)