diff -ur allinoneruby-0.2.8.tar.gz/allinoneruby/CHANGELOG allinoneruby-0.2.9.tar.gz/allinoneruby/CHANGELOG
--- allinoneruby-0.2.8.tar.gz/allinoneruby/CHANGELOG 2005-12-03 15:17:13.000000000 +0100
+++ allinoneruby-0.2.9.tar.gz/allinoneruby/CHANGELOG 2006-03-08 17:56:09.000000000 +0100
@@ -1,5 +1,16 @@
----------------------------------------------------------------
+0.2.9 - 08.03.2006
+
+* Fixed a bug concerning parameters with quotes and other
+ escapable characters.
+
+* Fixed a bug concerning spaced parameters on Linux and Darwin.
+
+* AllInOneRuby and RubyScript2Exe now work together.
+
+----------------------------------------------------------------
+
0.2.8 - 03.12.2005
* Fixed a bug concerning multiline parameters.
diff -ur allinoneruby-0.2.8.tar.gz/allinoneruby/ev/dependencies.rb allinoneruby-0.2.9.tar.gz/allinoneruby/ev/dependencies.rb
--- allinoneruby-0.2.8.tar.gz/allinoneruby/ev/dependencies.rb 2005-12-03 15:17:55.000000000 +0100
+++ allinoneruby-0.2.9.tar.gz/allinoneruby/ev/dependencies.rb 2006-03-08 18:28:57.000000000 +0100
@@ -1,27 +1,47 @@
-def dlls(file, path=File.dirname(file))
+def dlls(file)
- # Only the dependencies in the same directory as the executable or the given directory.
+ # Only the dependencies in the same directory as the executable or any non-Windows directory in %PATH%.
todo = []
res = []
todo << File.expand_path(file)
+ paden = ENV["PATH"].split(/;/)
+ paden = ENV["PATH"].split(/:/) if paden.length == 1
+
+ paden << File.dirname(file)
+
+ windir1 = (ENV["WINDIR"] || "").gsub(/\\/, "/").downcase
+ drive = windir1.scan(/^(.):/).shift.shift
+ windir2 = windir1.sub(/^#{drive}:/, "/cygdrive/#{drive.downcase}")
+
+ paden = paden.collect{|pad| pad.gsub(/\\/, "/").downcase}
+ paden = paden.select{|pad| pad.downcase}
+ paden = paden.reject{|pad| pad =~ /^#{windir1}/}
+ paden = paden.reject{|pad| pad =~ /^#{windir2}/}
+
while todo.length > 0
todo2 = todo
todo = []
todo2.each do |file|
File.open(file, "rb") do |f|
- strings = f.read.scan(/[\w\-\.]+/) # Hack ???
- strings.delete_if{|s| s !~ /\.(so|o|dll)$/i}
-
- strings.each do |lib|
- lib = File.expand_path(lib, path)
-
- if not lib.nil? and File.file?(lib) and not res.include?(lib)
- todo << lib
- res << lib
+ while (line = f.gets)
+ strings = line.scan(/[\w\-\.]+/) # Hack ???
+ strings = strings.reject{|s| s !~ /\.(so|o|dll)$/i}
+
+ strings.each do |lib|
+ pad = paden.find{|pad| File.file?(File.expand_path(lib, pad))}
+
+ unless pad.nil?
+ lib = File.expand_path(lib, pad)
+
+ if File.file?(lib) and not res.include?(lib)
+ todo << lib
+ res << lib
+ end
+ end
end
end
end
@@ -70,7 +90,7 @@
lsb_ia32 = ["libm.so.6", "libdl.so.2", "libcrypt.so.1", "libc.so.6", "libpthread.so.0", "ld-lsb.so.1"]
lsb = lsb_common + lsb_ia32
- res.delete_if{|s| lsb.include?(File.basename(s))} if notthedefaults
+ res.reject!{|s| lsb.include?(File.basename(s))} if notthedefaults
res
end
diff -ur allinoneruby-0.2.8.tar.gz/allinoneruby/ev/ftools.rb allinoneruby-0.2.9.tar.gz/allinoneruby/ev/ftools.rb
--- allinoneruby-0.2.8.tar.gz/allinoneruby/ev/ftools.rb 2005-12-03 15:17:55.000000000 +0100
+++ allinoneruby-0.2.9.tar.gz/allinoneruby/ev/ftools.rb 2006-03-08 18:28:57.000000000 +0100
@@ -9,8 +9,10 @@
File.mkpath(todir)
Dir.chdir(from)
- Dir.new(".").each do |e|
- Dir.copy(e, todir+"/"+e) if not [".", ".."].include?(e)
+ Dir.open(".") do |dir|
+ dir.each do |e|
+ Dir.copy(e, todir+"/"+e) if not [".", ".."].include?(e)
+ end
end
Dir.chdir(pdir)
else
@@ -28,14 +30,19 @@
end
def self.rm_rf(entry)
- File.chmod(0755, entry)
+ begin
+ File.chmod(0755, entry)
+ rescue
+ end
if File.ftype(entry) == "directory"
pdir = Dir.pwd
Dir.chdir(entry)
- Dir.new(".").each do |e|
- Dir.rm_rf(e) if not [".", ".."].include?(e)
+ Dir.open(".") do |dir|
+ dir.each do |e|
+ Dir.rm_rf(e) if not [".", ".."].include?(e)
+ end
end
Dir.chdir(pdir)
@@ -71,8 +78,10 @@
Dir.chdir(entry)
begin
- Dir.new(".").each do |e|
- res += Dir.find(e, mask).collect{|e| entry+"/"+e} unless [".", ".."].include?(e)
+ Dir.open(".") do |dir|
+ dir.each do |e|
+ res += Dir.find(e, mask).collect{|e| entry+"/"+e} unless [".", ".."].include?(e)
+ end
end
ensure
Dir.chdir(pdir)
@@ -159,10 +168,12 @@
catch :stop do
ENV["PATH"].split(/#{sep}/).reverse.each do |d|
if File.directory?(d)
- Dir.new(d).each do |e|
- if (linux? and e == file) or (windows? and e.downcase == file.downcase)
- res = File.expand_path(e, d)
- throw :stop
+ Dir.open(d) do |dir|
+ dir.each do |e|
+ if (linux? and e == file) or (windows? and e.downcase == file.downcase)
+ res = File.expand_path(e, d)
+ throw :stop
+ end
end
end
end
@@ -171,4 +182,35 @@
res
end
+
+ def self.same_content?(file1, file2, blocksize=4096)
+ res = false
+
+ if File.file?(file1) and File.file?(file2)
+ res = true
+
+ data1 = nil
+ data2 = nil
+
+ File.open(file1, "rb") do |f1|
+ File.open(file2, "rb") do |f2|
+ catch :not_the_same do
+ while (data1 = f1.read(blocksize))
+ data2 = f2.read(blocksize)
+
+ unless data1 == data2
+ res = false
+
+ throw :not_the_same
+ end
+ end
+
+ res = false if f2.read(blocksize)
+ end
+ end
+ end
+ end
+
+ res
+ end
end
diff -ur allinoneruby-0.2.8.tar.gz/allinoneruby/ev/oldandnewlocation.rb allinoneruby-0.2.9.tar.gz/allinoneruby/ev/oldandnewlocation.rb
--- allinoneruby-0.2.8.tar.gz/allinoneruby/ev/oldandnewlocation.rb 2005-12-03 15:17:55.000000000 +0100
+++ allinoneruby-0.2.9.tar.gz/allinoneruby/ev/oldandnewlocation.rb 2006-03-08 18:28:57.000000000 +0100
@@ -14,8 +14,10 @@
pdir = Dir.pwd
Dir.chdir(entry)
- Dir.new(".").each do |e|
- Dir.rm_rf(e) if not [".", ".."].include?(e)
+ Dir.open(".") do |dir|
+ dir.each do |e|
+ Dir.rm_rf(e) if not [".", ".."].include?(e)
+ end
end
Dir.chdir(pdir)
diff -ur allinoneruby-0.2.8.tar.gz/allinoneruby/init.rb allinoneruby-0.2.9.tar.gz/allinoneruby/init.rb
--- allinoneruby-0.2.8.tar.gz/allinoneruby/init.rb 2005-12-03 15:15:22.000000000 +0100
+++ allinoneruby-0.2.9.tar.gz/allinoneruby/init.rb 2006-02-04 01:22:51.000000000 +0100
@@ -100,8 +100,8 @@
copyto(rubywexe, bindir2) if windows? or cygwin? if File.file?(rubyexe)
copyto(dlls(rubyexe), bindir2) if windows? or cygwin?
-copyto(Dir.find(libdir2, /\.(so|o|dll)$/i).collect{|file| ldds(file)}, bindir2) if linux? or darwin?
-copyto(Dir.find(libdir2, /\.(so|o|dll)$/i).collect{|file| dlls(file, bindir1)}, bindir2) if windows? or cygwin?
+copyto(Dir.find(libdir2, /\.(so|o|dll)$/i).collect{|file| ldds(file)}, bindir2) if linux? or darwin?
+copyto(Dir.find(libdir2, /\.(so|o|dll)$/i).collect{|file| dlls(file)}, bindir2) if windows? or cygwin?
if STRIP and (linux? or darwin?)
$stderr.puts "Stripping..." unless QUIET
@@ -152,8 +152,19 @@
f.puts " k.gsub!(/^EEE_/, 'ALLINONERUBY_')"
f.puts " eval('%s=%s' % [k, v.inspect])"
f.puts " end"
+ f.puts " ARGV.concat(ALLINONERUBY_PARMSLIST.split(/\000/))"
f.puts "end"
+ f.puts "# Fake Config"
+
+ #f.puts "module Config"
+ #f.puts " DESTDIR = ALLINONERUBY_TEMPDIR"
+ #f.puts "end"
+
+ f.puts "require 'rbconfig'"
+ f.puts "Config::CONFIG['bindir'] = File.join(ALLINONERUBY_TEMPDIR, 'bin')"
+ f.puts "Config::CONFIG['libdir'] = File.join(ALLINONERUBY_TEMPDIR, 'lib')"
+
f.puts "# Start the application"
f.puts "ALLINONERUBY = '#{rubyexe}'"
@@ -184,13 +195,13 @@
f.puts "i eee.info"
if linux?
- f.puts "c PATH=%tempdir%/bin:$PATH ; export LD_LIBRARY_PATH=%tempdir%/bin:$LD_LIBRARY_PATH ; chmod +x %tempdir%/bin/* ; %tempdir%/bin/#{rubyexe} -r %tempdir%/bootstrap.rb -T %tempdir%/empty.rb %quotedparms%"
+ f.puts "c PATH=%tempdir%/bin:$PATH ; export LD_LIBRARY_PATH=%tempdir%/bin:$LD_LIBRARY_PATH ; chmod +x %tempdir%/bin/* ; %tempdir%/bin/#{rubyexe} -r %tempdir%/bootstrap.rb -T1 %tempdir%/empty.rb"
elsif darwin?
- f.puts "c PATH=%tempdir%/bin:$PATH ; export DYLD_LIBRARY_PATH=%tempdir%/bin:$DYLD_LIBRARY_PATH ; chmod +x %tempdir%/bin/* ; %tempdir%/bin/#{rubyexe} -r %tempdir%/bootstrap.rb -T %tempdir%/empty.rb %quotedparms%"
+ f.puts "c PATH=%tempdir%/bin:$PATH ; export DYLD_LIBRARY_PATH=%tempdir%/bin:$DYLD_LIBRARY_PATH ; chmod +x %tempdir%/bin/* ; %tempdir%/bin/#{rubyexe} -r %tempdir%/bootstrap.rb -T1 %tempdir%/empty.rb"
elsif cygwin?
- f.puts "c %tempdir%\\bin\\#{rubyexe} -r %tempdir1%/bootstrap.rb -T1 %tempdir1%/empty.rb %quotedparms%"
+ f.puts "c %tempdir%\\bin\\#{rubyexe} -r %tempdir1%/bootstrap.rb -T1 %tempdir1%/empty.rb"
else
- f.puts "c %tempdir%\\bin\\#{rubyexe} -r %tempdir%\\bootstrap.rb -T1 %tempdir%\\empty.rb %quotedparms%"
+ f.puts "c %tempdir%\\bin\\#{rubyexe} -r %tempdir%\\bootstrap.rb -T1 %tempdir%\\empty.rb"
end
end
diff -ur allinoneruby-0.2.8.tar.gz/allinoneruby/VERSION allinoneruby-0.2.9.tar.gz/allinoneruby/VERSION
--- allinoneruby-0.2.8.tar.gz/allinoneruby/VERSION 2005-12-03 15:17:55.000000000 +0100
+++ allinoneruby-0.2.9.tar.gz/allinoneruby/VERSION 2006-03-08 18:28:57.000000000 +0100
@@ -1 +1 @@
-0.2.8
+0.2.9
Binary files allinoneruby-0.2.8.tar.gz/allinoneruby/eee.exe and allinoneruby-0.2.9.tar.gz/allinoneruby/eee.exe differ
Binary files allinoneruby-0.2.8.tar.gz/allinoneruby/eee_linux and allinoneruby-0.2.9.tar.gz/allinoneruby/eee_linux differ
Binary files allinoneruby-0.2.8.tar.gz/allinoneruby/eeew.exe and allinoneruby-0.2.9.tar.gz/allinoneruby/eeew.exe differ