diff -ur allinoneruby-0.2.10.tar.gz/allinoneruby/CHANGELOG allinoneruby-0.2.11.tar.gz/allinoneruby/CHANGELOG
--- allinoneruby-0.2.10.tar.gz/allinoneruby/CHANGELOG 2006-07-29 20:29:06.000000000 +0200
+++ allinoneruby-0.2.11.tar.gz/allinoneruby/CHANGELOG 2007-04-15 21:40:15.000000000 +0200
@@ -1,5 +1,14 @@
----------------------------------------------------------------
+0.2.11 - 15.04.2007
+
+* Replaced %TEMP% by %HOME%/eee, or %USERPROFILE%/eee, or
+ %TEMP%/eee, or c:/eee (on Windows). Replaced /tmp by
+ $HOME/.eee, or /tmp/.eee (on Linux/Darwin). This is to avoid
+ "Insecure world writable dir".
+
+----------------------------------------------------------------
+
0.2.10 - 29.07.2006
* This change is just technical, to stay compatible with
diff -ur allinoneruby-0.2.10.tar.gz/allinoneruby/ev/dependencies.rb allinoneruby-0.2.11.tar.gz/allinoneruby/ev/dependencies.rb
--- allinoneruby-0.2.10.tar.gz/allinoneruby/ev/dependencies.rb 2006-07-29 20:29:29.000000000 +0200
+++ allinoneruby-0.2.11.tar.gz/allinoneruby/ev/dependencies.rb 2007-04-15 21:43:49.000000000 +0200
@@ -12,7 +12,7 @@
paden << File.dirname(file)
- windir1 = (ENV["WINDIR"] || "").gsub(/\\/, "/").downcase
+ windir1 = (ENV["SYSTEMROOT"] || ENV["WINDIR"] || "").gsub(/\\/, "/").downcase
drive = windir1.scan(/^(.):/).shift.shift
windir2 = windir1.sub(/^#{drive}:/, "/cygdrive/#{drive.downcase}")
@@ -72,6 +72,8 @@
libs = `ldd #{tempfile}`.split(/\r*\n/).collect{|line| line.split(/\s+/)[3]} if linux?
libs = `otool -L #{tempfile}`.split(/\r*\n/)[1..-1].collect{|line| line.split(/\s+/)[1]} if darwin?
+ libs ||= []
+
libs.compact.each do |lib|
if File.file?(lib) and not res.include?(lib)
todo << lib
diff -ur allinoneruby-0.2.10.tar.gz/allinoneruby/ev/ftools.rb allinoneruby-0.2.11.tar.gz/allinoneruby/ev/ftools.rb
--- allinoneruby-0.2.10.tar.gz/allinoneruby/ev/ftools.rb 2006-07-29 20:29:29.000000000 +0200
+++ allinoneruby-0.2.11.tar.gz/allinoneruby/ev/ftools.rb 2007-04-15 21:43:49.000000000 +0200
@@ -62,6 +62,7 @@
def self.find(entry=nil, mask=nil)
entry = "." if entry.nil?
+ entry = entry.to_s
entry = entry.gsub(/[\/\\]*$/, "") unless entry.nil?
@@ -95,58 +96,57 @@
res.sort
end
-end
-class File
- def self.rollbackup(file, mode=nil)
- backupfile = file + ".RB.BACKUP"
- controlfile = file + ".RB.CONTROL"
- res = nil
+ def self.home(*args, &block)
+ dir = nil
- File.touch(file) unless File.file?(file)
+ dir ||= ENV["HOME"]
+ dir ||= ENV["USERPROFILE"]
+ dir ||= "c:/"
- # Rollback
+ handle_home_and_temp(dir, *args, &block)
+ end
- if File.file?(backupfile) and File.file?(controlfile)
- $stderr.puts "Restoring #{file}..."
+ def self.temp(*args, &block)
+ dir = nil
- File.copy(backupfile, file) # Rollback from phase 3
- end
+ dir ||= ENV["TMPDIR"]
+ dir ||= ENV["TMP"]
+ dir ||= ENV["TEMP"]
+ dir ||= "/tmp"
- # Reset
+ handle_home_and_temp(dir, *args, &block)
+ end
- File.delete(backupfile) if File.file?(backupfile) # Reset from phase 2 or 3
- File.delete(controlfile) if File.file?(controlfile) # Reset from phase 3 or 4
+ private
- # Backup
+ def self.handle_home_and_temp(dir, *args, &block)
+ file = File.join(*args)
+ file = file.gsub(/\\/, "/")
+ file = file.gsub(/\/+/, "/")
+ file = file.gsub(/^\/+/, "")
+ file = file.gsub(/\/+$/, "")
+
+ dir = dir.gsub(/\\/, "/")
+ dir = dir.gsub(/\/+/, "/")
+ dir = dir.gsub(/\/+$/, "")
+ dir = File.expand_path(file, dir)
- File.copy(file, backupfile) # Enter phase 2
- File.touch(controlfile) # Enter phase 3
+ res = dir
- # The real thing
+ if block
+ pdir = Dir.pwd
- if block_given?
- if mode.nil?
- res = yield
- else
- File.open(file, mode) do |f|
- res = yield(f)
- end
- end
+ Dir.chdir(dir) # Ruby 1.6 doesn't handle Dir.chdir(&block).
+ res = block.call(res)
+ Dir.chdir(pdir)
end
- # Cleanup
-
- File.delete(backupfile) # Enter phase 4
- File.delete(controlfile) # Enter phase 5
-
- # Return, like File.open
-
- res = File.open(file, (mode or "r")) unless block_given?
-
res
end
+end
+class File
def self.touch(file)
if File.exists?(file)
File.utime(Time.now, File.mtime(file), file)
diff -ur allinoneruby-0.2.10.tar.gz/allinoneruby/ev/oldandnewlocation.rb allinoneruby-0.2.11.tar.gz/allinoneruby/ev/oldandnewlocation.rb
--- allinoneruby-0.2.10.tar.gz/allinoneruby/ev/oldandnewlocation.rb 2006-07-29 20:29:29.000000000 +0200
+++ allinoneruby-0.2.11.tar.gz/allinoneruby/ev/oldandnewlocation.rb 2007-04-15 21:43:49.000000000 +0200
@@ -1,3 +1,5 @@
+require "rubyscript2exe"
+
temp = File.expand_path((ENV["TMPDIR"] or ENV["TMP"] or ENV["TEMP"] or "/tmp").gsub(/\\/, "/"))
dir = "#{temp}/oldandnewlocation.#{Process.pid}"
@@ -40,7 +42,7 @@
oldlocation
rescue NameError
def oldlocation(file="")
- dir = ENV["OLDDIR"]
+ dir = (ENV["OLDDIR"] || RUBYSCRIPT2EXE.userdir) rescue "."
res = nil
if block_given?
@@ -61,7 +63,7 @@
newlocation
rescue NameError
def newlocation(file="")
- dir = ENV["NEWDIR"]
+ dir = (ENV["NEWDIR"] || RUBYSCRIPT2EXE.appdir) rescue "."
res = nil
if block_given?
@@ -82,7 +84,7 @@
applocation
rescue NameError
def applocation(file="")
- dir = ENV["APPDIR"]
+ dir = (ENV["APPDIR"] || RUBYSCRIPT2EXE.appdir) rescue "."
res = nil
if block_given?
diff -ur allinoneruby-0.2.10.tar.gz/allinoneruby/init.rb allinoneruby-0.2.11.tar.gz/allinoneruby/init.rb
--- allinoneruby-0.2.10.tar.gz/allinoneruby/init.rb 2006-07-29 13:58:44.000000000 +0200
+++ allinoneruby-0.2.11.tar.gz/allinoneruby/init.rb 2006-07-31 18:49:55.000000000 +0200
@@ -4,8 +4,9 @@
require "ev/dependencies"
require "ev/ftools"
require "rbconfig"
+require "rubyscript2exe"
-exit if defined?(REQUIRE2LIB)
+exit if RUBYSCRIPT2EXE.is_compiling?
def backslashes(s)
s = s.gsub(/^\.\//, "").gsub(/\//, "\\\\") if windows?
diff -ur allinoneruby-0.2.10.tar.gz/allinoneruby/rubyscript2exe.rb allinoneruby-0.2.11.tar.gz/allinoneruby/rubyscript2exe.rb
--- allinoneruby-0.2.10.tar.gz/allinoneruby/rubyscript2exe.rb 2007-04-15 21:44:21.000000000 +0200
+++ allinoneruby-0.2.11.tar.gz/allinoneruby/rubyscript2exe.rb 2007-04-15 21:43:49.000000000 +0200
@@ -0,0 +1,103 @@
+module RUBYSCRIPT2EXE
+ @@dlls = []
+ @@bin = []
+ @@lib = []
+ @@tempdir = nil
+ @@tk = false
+ @@rubyw = false
+ @@strip = true
+
+ USERDIR = (defined?(oldlocation) ? oldlocation : Dir.pwd) unless defined?(self.const_defined?(USERDIR))
+
+ def self.dlls ; @@dlls ; end
+ def self.dlls=(a) ; @@dlls = a ; end
+
+ def self.bin ; @@bin ; end
+ def self.bin=(a) ; @@bin = a ; end
+
+ def self.lib ; @@lib ; end
+ def self.lib=(a) ; @@lib = a ; end
+
+ def self.tempdir ; @@tempdir ; end
+ def self.tempdir=(s) ; @@tempdir = s ; end
+
+ def self.tk ; @@tk ; end
+ def self.tk=(b) ; @@tk = b ; end
+
+ def self.rubyw ; @@rubyw ; end
+ def self.rubyw=(b) ; @@rubyw = b ; end
+
+ def self.strip ; @@strip ; end
+ def self.strip=(b) ; @@strip = b ; end
+
+ def self.appdir(file=nil, &block)
+ if is_compiled? and defined?(TEMPDIR)
+ use_given_dir(File.expand_path(File.join(TEMPDIR, "app")), file, &block)
+ else
+ use_given_dir(File.dirname(File.expand_path($0, USERDIR)), file, &block)
+ end
+ end
+
+ def self.userdir(file=nil, &block)
+ use_given_dir(USERDIR, file, &block)
+ end
+
+ def self.exedir(file=nil, &block)
+ if is_compiled? and defined?(APPEXE)
+ use_given_dir(File.dirname(APPEXE), file, &block)
+ else
+ use_given_dir(File.dirname(File.expand_path($0)), file, &block)
+ end
+ end
+
+ def self.use_given_dir(dir, *file, &block)
+ if block
+ pdir = Dir.pwd
+
+ Dir.chdir(dir)
+ res = block[]
+ Dir.chdir(pdir)
+ else
+ file = file.compact
+ res = File.expand_path(File.join(*file), dir)
+ end
+
+ res
+ end
+
+ class << self
+ private :use_given_dir
+ end
+
+ def self.is_compiling?
+ defined?(REQUIRE2LIB)
+ end
+
+ def self.is_compiled?
+ defined?(COMPILED)
+ end
+
+ def self.executable
+ if is_compiled? and defined?(APPEXE)
+ APPEXE
+ else
+ File.expand_path($0)
+ end
+ end
+
+ verbose = $VERBOSE
+ $VERBOSE = nil
+ s = ENV["PATH"].dup
+ $VERBOSE = verbose
+ if Dir.pwd[1..2] == ":/"
+ s << (";"+appdir.gsub(/\//, "\\"))
+ s << (";"+appdir("bin").gsub(/\//, "\\"))
+ else
+ s << (":"+appdir)
+ s << (":"+appdir("bin"))
+ end
+ ENV["PATH"] = s
+
+ $: << appdir
+ $: << appdir("lib")
+end
diff -ur allinoneruby-0.2.10.tar.gz/allinoneruby/VERSION allinoneruby-0.2.11.tar.gz/allinoneruby/VERSION
--- allinoneruby-0.2.10.tar.gz/allinoneruby/VERSION 2006-07-29 20:29:28.000000000 +0200
+++ allinoneruby-0.2.11.tar.gz/allinoneruby/VERSION 2007-04-15 21:43:49.000000000 +0200
@@ -1 +1 @@
-0.2.10
+0.2.11
Binary files allinoneruby-0.2.10.tar.gz/allinoneruby/eee.exe and allinoneruby-0.2.11.tar.gz/allinoneruby/eee.exe differ
Binary files allinoneruby-0.2.10.tar.gz/allinoneruby/eee_linux and allinoneruby-0.2.11.tar.gz/allinoneruby/eee_linux differ
Binary files allinoneruby-0.2.10.tar.gz/allinoneruby/eeew.exe and allinoneruby-0.2.11.tar.gz/allinoneruby/eeew.exe differ