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