diff -ur rubyscript2exe-0.2.1.tar.gz/rubyscript2exe/eee.pas rubyscript2exe-0.3.0.tar.gz/rubyscript2exe/eee.pas --- rubyscript2exe-0.2.1.tar.gz/rubyscript2exe/eee.pas 2004-12-18 18:02:07.000000000 +0100 +++ rubyscript2exe-0.3.0.tar.gz/rubyscript2exe/eee.pas 2004-12-27 13:17:55.000000000 +0100 @@ -6,14 +6,14 @@ uses - SysUtils, Dos; + SysUtils, Dos, GZio; const - {$IFDEF LINUX} - slash = ´/´; - {$ELSE} + {$IFDEF WIN32} slash = ´\´; + {$ELSE} + slash = ´/´; {$ENDIF} type @@ -21,23 +21,28 @@ header = record klasse : string[1]; tekst : string[255]; - length : longint; + datalength : longint; end; tail = record - length : longint; - number : longint; - who : string[255]; exename : string[255]; + gzlength : longint; + who : string[255]; + number : longint; end; var tempdir : string[255]; workdir : string[255]; + workdir1 : string[255]; + workdir2 : string[255]; + workfile : string[255]; + exename : string[255]; me : string[255]; infile : file of byte; outfile : file of byte; + zfile : gzFile; eeefile : Text; klasse : string[1]; tekst1 : string[255]; @@ -52,26 +57,27 @@ quotedparms : string; justextract : boolean; list : boolean; - currentdir : string[255]; + {$IFDEF WIN32} + {$ELSE} + currentdir : string[255]; + {$ENDIF} procedure getdir2(drivenr: byte; var dir: string[255]); begin - {$IFDEF LINUX} // Foutje indien bovenliggende dirs niet benaderbaar zijn. - if currentdir = ´´ then begin - if (paramcount > 3) then begin - currentdir := paramstr(4); - end - else begin - currentdir := getenv(´PWD´); // PWD wordt alleen gezet als het parent process een shell is. + {$IFDEF WIN32} + getdir(drivenr, dir); + {$ELSE} // Foutje indien bovenliggende dirs niet benaderbaar zijn. + if (currentdir = ´´) then begin + currentdir := getenv(´EEEDIR´); + if (currentdir = ´´) then begin + currentdir := getenv(´PWD´); end; end; dir := currentdir; - {$ELSE} - getdir(drivenr, dir); {$ENDIF} end; @@ -81,7 +87,9 @@ begin - {$IFDEF LINUX} // Foutje indien bovenliggende dirs niet benaderbaar zijn. + {$IFDEF WIN32} + chdir(dir); + {$ELSE} // Foutje indien bovenliggende dirs niet benaderbaar zijn. if copy(dir, 1, 1) <> ´/´ then begin dir := currentdir + ´/´ + dir; end; @@ -89,8 +97,6 @@ currentdir := dir; chdir(dir); - {$ELSE} - chdir(dir); {$ENDIF} end; @@ -147,21 +153,53 @@ end; -procedure bufferxor(var b: array of byte); +procedure blockeat(var infile: file; inlength: longint); + +var + b : array[0..99999] of byte; + l : longint; + c : longint; + +begin + + c := inlength div sizeof(b); + + while (c >= 0) do begin + if (c = 0) then l := inlength-(inlength div sizeof(b))*sizeof(b) + else l := sizeof(b); + + blockread(infile, b, l); + + dec(c); + end; + +end; + + +procedure blockeatfromgz(var zfile: gzFile; inlength: longint); var - i : longint; + b : array[0..99999] of byte; + l : longint; + c : longint; begin - for i := 0 to sizeof(b)-1 do begin - b[i] := 123 xor b[i]; + c := inlength div sizeof(b); + + while (c >= 0) do begin + if (c = 0) then l := inlength-(inlength div sizeof(b))*sizeof(b) + else l := sizeof(b); + + gzread(zfile, addr(b), l); + + dec(c); end; end; -procedure blockeat(var infile: file; inlength: longint); +procedure blockcopy(var infile: file; var outfile: file; inlength: longint); var b : array[0..99999] of byte; @@ -178,6 +216,7 @@ else l := sizeof(b); blockread(infile, b, l, n); + blockwrite(outfile, b, n); dec(c); end; @@ -185,7 +224,7 @@ end; -procedure blockcopy(var infile: file; var outfile: file; inlength: longint; encrypt: boolean); +procedure blockcopytogz(var infile: file; var zfile: gzFile; inlength: longint); var b : array[0..99999] of byte; @@ -202,9 +241,31 @@ else l := sizeof(b); blockread(infile, b, l, n); - if (encrypt) then begin - bufferxor(b); - end; + gzwrite(zfile, addr(b), n); + + dec(c); + end; + +end; + + +procedure blockcopyfromgz(var zfile: gzFile; var outfile: file; inlength: longint); + +var + b : array[0..99999] of byte; + l : longint; + c : longint; + n : longint; + +begin + + c := inlength div sizeof(b); + + while (c >= 0) do begin + if (c = 0) then l := inlength-(inlength div sizeof(b))*sizeof(b) + else l := sizeof(b); + + n := gzread(zfile, addr(b), l); blockwrite(outfile, b, n); dec(c); @@ -213,7 +274,7 @@ end; -procedure pakin_f(var outfile: file; klasse: string[1]; tekst: string[255]; entry: string[255]; var t: tail); +procedure pakin_f(var zfile: gzFile; klasse: string[1]; tekst: string[255]; entry: string[255]; var t: tail); var infile : file of byte; @@ -226,10 +287,9 @@ assign(infile, entry); reset(infile, 1); - h.length := filesize(infile); - t.length := t.length + h.length + sizeof(h); - blockwrite(outfile, h, sizeof(h)); - blockcopy(infile, outfile, h.length, true); + h.datalength := filesize(infile); + gzwrite(zfile, addr(h), sizeof(h)); + blockcopytogz(infile, zfile, h.datalength); close(infile); t.number := t.number + 1; @@ -237,7 +297,7 @@ end; -procedure pakin_d(var outfile: file; klasse: string[1]; tekst: string[255]; entry: string[255]; var t: tail); +procedure pakin_d(var zfile: gzFile; klasse: string[1]; tekst: string[255]; entry: string[255]; var t: tail); var h : header; @@ -248,17 +308,16 @@ h.klasse := klasse; h.tekst := tekst; - h.length := 0; - t.length := t.length + sizeof(h); + h.datalength := 0; - blockwrite(outfile, h, sizeof(h)); + gzwrite(zfile, addr(h), sizeof(h)); t.number := t.number + 1; end; -procedure pakin_r(var outfile: file; klasse: string[1]; tekst: string[255]; entry: string[255]; var t: tail); +procedure pakin_r(var zfile: gzFile; klasse: string[1]; tekst: string[255]; entry: string[255]; var t: tail); var f : file; @@ -270,7 +329,7 @@ klasse := klasse; - pakin_d(outfile, ´d´, tekst, entry, t); + pakin_d(zfile, ´d´, tekst, entry, t); getdir2(0, dir); chdir2(entry); @@ -282,11 +341,11 @@ if (attr and directory > 0) then begin if ((not (sr.name = ´.´)) and (not (sr.name = ´..´))) then begin - pakin_r(outfile, ´r´, tekst + slash + sr.name, sr.name, t); + pakin_r(zfile, ´r´, tekst + slash + sr.name, sr.name, t); end; end else begin - pakin_f(outfile, ´f´, tekst + slash + sr.name, sr.name, t); + pakin_f(zfile, ´f´, tekst + slash + sr.name, sr.name, t); end; findnext(sr); @@ -298,7 +357,7 @@ end; -procedure pakin_c(var outfile: file; klasse: string[1]; tekst: string[255]; entry: string[255]; var t: tail); +procedure pakin_c(var zfile: gzFile; klasse: string[1]; tekst: string[255]; entry: string[255]; var t: tail); var h : header; @@ -309,17 +368,16 @@ h.klasse := klasse; h.tekst := tekst; - h.length := 0; - t.length := t.length + sizeof(h); + h.datalength := 0; - blockwrite(outfile, h, sizeof(h)); + gzwrite(zfile, addr(h), sizeof(h)); t.number := t.number + 1; end; -procedure pakin_t(var outfile: file; klasse: string[1]; tekst: string[255]; entry: string[255]; var t: tail); +procedure pakin_t(var zfile: gzFile; klasse: string[1]; tekst: string[255]; entry: string[255]; var t: tail); var h : header; @@ -330,10 +388,9 @@ h.klasse := klasse; h.tekst := tekst; - h.length := 0; - t.length := t.length + sizeof(h); + h.datalength := 0; - blockwrite(outfile, h, sizeof(h)); + gzwrite(zfile, addr(h), sizeof(h)); t.number := t.number + 1; @@ -344,28 +401,17 @@ begin - assign(outfile, paramstr(2)); - rewrite(outfile, 1); - assign(eeefile, paramstr(1)); reset(eeefile); - if (paramcount > 2) then begin - assign(infile, paramstr(3)); - t.exename := paramstr(3); - end - else begin - assign(infile, paramstr(0)); - t.exename := paramstr(0); + exename := getenv(´EEEEXE´); + if (exename = ´´) then begin + exename := paramstr(0); end; - reset(infile, 1); - blockcopy(infile, outfile, filesize(infile), false); - close(infile); - - t.length := 0; + t.exename := exename; t.number := 0; - t.who := me; + t.who := me; s := slash; i := pos(s, t.exename); @@ -374,6 +420,8 @@ i := pos(s, t.exename); end; + zfile := gzopen(workfile, ´w´); + repeat readln(eeefile, s); @@ -382,45 +430,59 @@ tekst1 := copy(s, 3, length(s)-2); case klasse[1] of - ´f´: pakin_f(outfile, klasse, tekst1, tekst1, t); - ´d´: pakin_d(outfile, klasse, tekst1, tekst1, t); - ´r´: pakin_r(outfile, klasse, tekst1, tekst1, t); - ´c´: pakin_c(outfile, klasse, tekst1, tekst1, t); - ´t´: pakin_t(outfile, klasse, tekst1, tekst1, t); + ´f´: pakin_f(zfile, klasse, tekst1, tekst1, t); + ´d´: pakin_d(zfile, klasse, tekst1, tekst1, t); + ´r´: pakin_r(zfile, klasse, tekst1, tekst1, t); + ´c´: pakin_c(zfile, klasse, tekst1, tekst1, t); + ´t´: pakin_t(zfile, klasse, tekst1, tekst1, t); end; end; until eof(eeefile); - t.length := t.length + sizeof(t); - - blockwrite(outfile, t, sizeof(t)); + gzclose(zfile); close(eeefile); + assign(outfile, paramstr(2)); + rewrite(outfile, 1); + + assign(infile, exename); + reset(infile, 1); + blockcopy(infile, outfile, filesize(infile)); + close(infile); + + assign(infile, workfile); + reset(infile, 1); + blockcopy(infile, outfile, filesize(infile)); + t.gzlength := filesize(infile); + close(infile); + + blockwrite(outfile, t, sizeof(t)); + close(outfile); end; -procedure pakuit_f(var infile: file; var outfile: file; tekst: string; var h: header); +procedure pakuit_f(var zfile: gzFile; var outfile: file; tekst: string; var h: header); begin assign(outfile, workdir + slash + tekst); rewrite(outfile, 1); - blockcopy(infile, outfile, h.length, true); + blockcopyfromgz(zfile, outfile, h.datalength); close(outfile); end; -procedure pakuit_d(var infile: file; var outfile: file; tekst: string; var h: header); +procedure pakuit_d(var zfile: gzFile; var outfile: file; tekst: string; var h: header); begin - infile := infile; + zfile := zfile; outfile := outfile; h := h; @@ -429,21 +491,25 @@ end; -procedure pakuit_c(var infile: file; var outfile: file; tekst: string; var h: header); +procedure pakuit_c(var zfile: gzFile; var outfile: file; tekst: string; var h: header); var c : string; p : string; - i : longint; - sr : searchrec; + {$IFDEF WIN32} + i : longint; + {$ELSE} + sr : searchrec; + {$ENDIF} begin - infile := infile; + zfile := zfile; outfile := outfile; h := h; - {$IFDEF LINUX} + {$IFDEF WIN32} + {$ELSE} findfirst(workdir + ´/eee.sh´, archive, sr); if (doserror = 0) then begin c := ´/bin/sh´; @@ -452,11 +518,7 @@ end; {$ENDIF} - {$IFDEF LINUX} - i := 0; - c := getenv(´SHELL´); - p := ´-c "´ + tekst + ´"´; - {$ELSE} + {$IFDEF WIN32} i := pos(´ ´, tekst); if (i = 0) then begin c := tekst; @@ -466,6 +528,10 @@ c := copy(tekst, 1, i-1); p := copy(tekst, i+1, length(tekst)-i); end; + {$ELSE} + i := 0; + c := getenv(´SHELL´); + p := ´-c "´ + tekst + ´"´; {$ENDIF} executeprocess(c, p); @@ -473,22 +539,26 @@ end; -procedure pakuit_t(var infile: file; var outfile: file; tekst: string; var h: header); +procedure pakuit_t(var zfile: gzFile; var outfile: file; tekst: string; var h: header); var c : string; p : string; - i : longint; dir : string[255]; - sr : searchrec; + {$IFDEF WIN32} + i : longint; + {$ELSE} + sr : searchrec; + {$ENDIF} begin - infile := infile; + zfile := zfile; outfile := outfile; h := h; - {$IFDEF LINUX} + {$IFDEF WIN32} + {$ELSE} findfirst(workdir + ´/eee.sh´, archive, sr); if (doserror = 0) then begin c := ´/bin/sh´; @@ -497,11 +567,7 @@ end; {$ENDIF} - {$IFDEF LINUX} - i := 0; - c := getenv(´SHELL´); - p := ´-c "´ + tekst + ´"´; - {$ELSE} + {$IFDEF WIN32} i := pos(´ ´, tekst); if (i = 0) then begin c := tekst; @@ -511,6 +577,9 @@ c := copy(tekst, 1, i-1); p := copy(tekst, i+1, length(tekst)-i); end; + {$ELSE} + c := getenv(´SHELL´); + p := ´-c "´ + tekst + ´"´; {$ENDIF} getdir2(0, dir); @@ -525,70 +594,71 @@ begin - randomize; + assign(infile, paramstr(0)); + reset(infile, 1); - getdir2(0, dir); - chdir2(tempdir); - {$I-} - repeat - str(random(1000), s); - workdir := ´eee.´ + s; - mkdir(workdir); - until (ioresult = 0); - {$I+} + blockeat(infile, filesize(infile)-t.gzlength-sizeof(t)); - workdir := tempdir + slash + workdir; - chdir2(dir); + assign(outfile, workfile); + rewrite(outfile, 1); + blockcopy(infile, outfile, t.gzlength); + close(outfile); - assign(infile, paramstr(0)); - reset(infile, 1); - blockeat(infile, filesize(infile)-t.length); + close(infile); - try + zfile := gzopen(workfile, ´r´); - for teller := 1 to t.number do begin - blockread(infile, h, sizeof(h)); + for teller := 1 to t.number do begin + gzread(zfile, addr(h), sizeof(h)); - klasse := h.klasse; - tekst2 := h.tekst; + klasse := h.klasse; + tekst2 := h.tekst; - s := ´%tempdir%´; + s := ´%tempdir%´; + i := pos(s, tekst2); + while (i > 0) do begin + tekst2 := copy(tekst2, 1, i-1) + workdir + copy(tekst2, i+length(s), length(tekst2)-(i+length(s))+1); i := pos(s, tekst2); - while (i > 0) do begin - tekst2 := copy(tekst2, 1, i-1) + workdir + copy(tekst2, i+length(s), length(tekst2)-(i+length(s))+1); - i := pos(s, tekst2); - end; + end; - s := ´%parms%´; + s := ´%tempdir1%´; + i := pos(s, tekst2); + while (i > 0) do begin + tekst2 := copy(tekst2, 1, i-1) + workdir1 + copy(tekst2, i+length(s), length(tekst2)-(i+length(s))+1); i := pos(s, tekst2); - while (i > 0) do begin - tekst2 := copy(tekst2, 1, i-1) + parms + copy(tekst2, i+length(s), length(tekst2)-(i+length(s))+1); - i := pos(s, tekst2); - end; + end; - s := ´%quotedparms%´; + s := ´%tempdir2%´; + i := pos(s, tekst2); + while (i > 0) do begin + tekst2 := copy(tekst2, 1, i-1) + workdir2 + copy(tekst2, i+length(s), length(tekst2)-(i+length(s))+1); i := pos(s, tekst2); - while (i > 0) do begin - tekst2 := copy(tekst2, 1, i-1) + quotedparms + copy(tekst2, i+length(s), length(tekst2)-(i+length(s))+1); - i := pos(s, tekst2); - end; - - case klasse[1] of - ´f´: pakuit_f(infile, outfile, tekst2, h); - ´d´: pakuit_d(infile, outfile, tekst2, h); - ´c´: pakuit_c(infile, outfile, tekst2, h); - ´t´: pakuit_t(infile, outfile, tekst2, h); - end; end; - finally - - close(infile); + s := ´%parms%´; + i := pos(s, tekst2); + while (i > 0) do begin + tekst2 := copy(tekst2, 1, i-1) + parms + copy(tekst2, i+length(s), length(tekst2)-(i+length(s))+1); + i := pos(s, tekst2); + end; - recursivedelete(workdir); + s := ´%quotedparms%´; + i := pos(s, tekst2); + while (i > 0) do begin + tekst2 := copy(tekst2, 1, i-1) + quotedparms + copy(tekst2, i+length(s), length(tekst2)-(i+length(s))+1); + i := pos(s, tekst2); + end; + case klasse[1] of + ´f´: pakuit_f(zfile, outfile, tekst2, h); + ´d´: pakuit_d(zfile, outfile, tekst2, h); + ´c´: pakuit_c(zfile, outfile, tekst2, h); + ´t´: pakuit_t(zfile, outfile, tekst2, h); + end; end; + gzclose(zfile); + end; @@ -601,44 +671,48 @@ assign(outfile, t.exename); rewrite(outfile); - blockcopy(infile, outfile, filesize(infile)-t.length, false); + blockcopy(infile, outfile, filesize(infile)-t.gzlength-sizeof(t)); close(outfile); - assign(eeefile, ´app.eee´); - rewrite(eeefile); - - try - for teller := 1 to t.number do begin - blockread(infile, h, sizeof(h)); + assign(outfile, workfile); + rewrite(outfile, 1); + blockcopy(infile, outfile, t.gzlength); + close(outfile); - writeln(eeefile, h.klasse, ´ ´, h.tekst); + close(infile); - if (h.klasse = ´f´) then begin - assign(outfile, h.tekst); - rewrite(outfile, 1); + zfile := gzopen(workfile, ´r´); - blockcopy(infile, outfile, h.length, true); + assign(eeefile, ´app.eee´); + rewrite(eeefile); - close(outfile); - end; + for teller := 1 to t.number do begin + gzread(zfile, addr(h), sizeof(h)); - if (h.klasse = ´d´) then begin - {$I-} - mkdir(h.tekst); - if (ioresult = 0) then; - {$I+} - end; - end; + writeln(eeefile, h.klasse, ´ ´, h.tekst); - finally + if (h.klasse = ´f´) then begin + assign(outfile, h.tekst); + rewrite(outfile, 1); - close(eeefile); + blockcopyfromgz(zfile, outfile, h.datalength); - close(infile); + close(outfile); + end; + if (h.klasse = ´d´) then begin + {$I-} + mkdir(h.tekst); + if (ioresult = 0) then; + {$I+} + end; end; + close(eeefile); + + gzclose(zfile); + end; @@ -649,29 +723,32 @@ assign(infile, paramstr(0)); reset(infile, 1); - blockeat(infile, filesize(infile)-t.length); - - try + blockeat(infile, filesize(infile)-t.gzlength-sizeof(t)); - for teller := 1 to t.number do begin - blockread(infile, h, sizeof(h)); + assign(outfile, workfile); + rewrite(outfile, 1); + blockcopy(infile, outfile, t.gzlength); + close(outfile); - if (h.klasse = ´f´) then begin - writeln(h.klasse, ´ ´, h.tekst, ´ (´, h.length, ´)´); - blockeat(infile, h.length); - end - else begin - writeln(h.klasse, ´ ´, h.tekst); - end; + close(infile); - end; + zfile := gzopen(workfile, ´r´); - finally + for teller := 1 to t.number do begin + gzread(zfile, addr(h), sizeof(h)); - close(infile); + if (h.klasse = ´f´) then begin + writeln(h.klasse, ´ ´, h.tekst, ´ (´, h.datalength, ´)´); + blockeatfromgz(zfile, h.datalength); + end + else begin + writeln(h.klasse, ´ ´, h.tekst); + end; end; + gzclose(zfile); + end; @@ -708,6 +785,39 @@ end; end; + randomize; + + getdir2(0, dir); + chdir2(tempdir); + {$I-} + repeat + str(random(1000), s); + workdir := ´eee.´ + s; + mkdir(workdir); + until (ioresult = 0); + {$I+} + + workdir := tempdir + slash + workdir; + workfile := workdir + slash + ´eee.gz´; + + workdir1 := workdir; + workdir2 := workdir; + + s := ´\´; + i := pos(s, workdir1); + while (i > 0) do begin + workdir1 := copy(workdir1, 1, i-1) + ´/´ + copy(workdir1, i+length(s), length(workdir1)-(i+length(s))+1); + i := pos(s, workdir1); + end; + + s := ´/´; + i := pos(s, workdir2); + while (i > 0) do begin + workdir2 := copy(workdir2, 1, i-1) + ´\´ + copy(workdir2, i+length(s), length(workdir2)-(i+length(s))+1); + i := pos(s, workdir2); + end; + chdir2(dir); + filemode := 0; assign(infile, paramstr(0)); @@ -716,6 +826,10 @@ blockread(infile, t, sizeof(t)); close(infile); + if (pos(´eeew´, lowercase(t.exename)) > 0) then begin + list := false; + end; + if (t.who <> me) then begin pakin; end @@ -733,4 +847,6 @@ end; end; + recursivedelete(workdir); + end. diff -ur rubyscript2exe-0.2.1.tar.gz/rubyscript2exe/ev/ftools.rb rubyscript2exe-0.3.0.tar.gz/rubyscript2exe/ev/ftools.rb --- rubyscript2exe-0.2.1.tar.gz/rubyscript2exe/ev/ftools.rb 2004-12-18 18:02:07.000000000 +0100 +++ rubyscript2exe-0.3.0.tar.gz/rubyscript2exe/ev/ftools.rb 2004-12-27 13:17:55.000000000 +0100 @@ -139,7 +139,11 @@ end def self.touch(file) - File.open(file, "a"){|f|} + if File.exists?(file) + File.utime(Time.now, File.mtime(file), file) + else + File.open(file, "a"){|f|} + end end def self.which(file) diff -ur rubyscript2exe-0.2.1.tar.gz/rubyscript2exe/init.rb rubyscript2exe-0.3.0.tar.gz/rubyscript2exe/init.rb --- rubyscript2exe-0.2.1.tar.gz/rubyscript2exe/init.rb 2004-12-08 13:48:37.000000000 +0100 +++ rubyscript2exe-0.3.0.tar.gz/rubyscript2exe/init.rb 2004-12-26 22:50:56.000000000 +0100 @@ -14,10 +14,6 @@ not windows? and not cygwin? # Hack ??? end -def linux? - not windows? and not cygwin? # Hack ??? -end - def windows? not (target_os.downcase =~ /32/).nil? # Hack ??? end @@ -144,6 +140,13 @@ end end +File.open(tmplocation("eee.rb"), "w") do |f| + f.puts "lib = File.expand_path(File.dirname(__FILE__)) + ´/lib´" + f.puts "lib.sub!(/^.:/, ´/cygdrive/%s´ % $&[0..0].downcase) if lib =~ /^.:/" if cygwin? + f.puts "$:.clear" + f.puts "$: << lib" +end + File.open(tmplocation("app.eee"), "w") do |f| rubyexe = "ruby.exe" rubyexe = "rubyw.exe" if rubyw @@ -152,11 +155,14 @@ f.puts "r bin" f.puts "r lib" f.puts "f eee.sh" if linux? + f.puts "f eee.rb" f.puts "r app" if linux? - f.puts "c source %tempdir%/eee.sh %tempdir% %tempdir%/bin/#{rubyexe} -I %tempdir%/lib %tempdir%/app/app.rb %quotedparms%" + f.puts "c source %tempdir%/eee.sh %tempdir% %tempdir%/bin/#{rubyexe} -r %tempdir%/eee.rb %tempdir%/app/app.rb %quotedparms%" + elsif cygwin? + f.puts "c %tempdir%\\bin\\#{rubyexe} -r %tempdir1%/eee.rb %tempdir1%/app/app.rb %quotedparms%" else - f.puts "c %tempdir%/bin/#{rubyexe} -I %tempdir%/lib %tempdir%/app/app.rb %quotedparms%" + f.puts "c %tempdir%\\bin\\#{rubyexe} -r %tempdir%\\eee.rb %tempdir%\\app\\app.rb %quotedparms%" end end @@ -167,7 +173,10 @@ File.chmod(0755, to) if linux? tmplocation do - system(backslashes("#{(linux? or cygwin?) ? "./" : ""}#{eeeexe} app.eee #{appexe} #{eeeexe} #{Dir.pwd}")) + ENV["EEEEXE"] = eeeexe + ENV["EEEDIR"] = Dir.pwd + + system(backslashes("#{newlocation(linux? ? "eee.bin" : "eee")} app.eee #{appexe}")) end from = tmplocation(appexe) @@ -177,5 +186,5 @@ File.chmod(0755, to) if linux? oldlocation do - system(backslashes("reshacker -modify #{newlocation(appexe)}, #{appexe}, #{appico}, icon,appicon,")) if File.file?(appico) and (windows? or cygwin?) + system(backslashes("reshacker -modify #{tmplocation(appexe)}, #{appexe}, #{appico}, icon,appicon,")) if File.file?(appico) and (windows? or cygwin?) end diff -ur rubyscript2exe-0.2.1.tar.gz/rubyscript2exe/require2lib.rb rubyscript2exe-0.3.0.tar.gz/rubyscript2exe/require2lib.rb --- rubyscript2exe-0.2.1.tar.gz/rubyscript2exe/require2lib.rb 2004-12-18 18:02:07.000000000 +0100 +++ rubyscript2exe-0.3.0.tar.gz/rubyscript2exe/require2lib.rb 2004-12-27 13:17:55.000000000 +0100 @@ -39,6 +39,8 @@ File.makedirs(LIBDIR) + pureruby = true + ($" + $require2lib_loaded).each do |req| if not JUSTEV or req =~ /^ev\// unless req =~ /^rubygems[\.\/]/ @@ -56,6 +58,8 @@ File.makedirs(File.dirname(tofile)) File.copy(fromfile, tofile) + + pureruby = false unless req =~ /\.rb$/i else $stderr.puts "Skipped #{fromfile} ." if VERBOSE end @@ -71,6 +75,8 @@ end end + $stderr.puts "Not all copied files are pure Ruby." unless pureruby + if $".include?("rubygems.rb") or $".include?("rubygems.so") autorequire = {} Binary files rubyscript2exe-0.2.1.tar.gz/rubyscript2exe/eee.bin and rubyscript2exe-0.3.0.tar.gz/rubyscript2exe/eee.bin differ Binary files rubyscript2exe-0.2.1.tar.gz/rubyscript2exe/eee.exe and rubyscript2exe-0.3.0.tar.gz/rubyscript2exe/eee.exe differ Binary files rubyscript2exe-0.2.1.tar.gz/rubyscript2exe/eeew.exe and rubyscript2exe-0.3.0.tar.gz/rubyscript2exe/eeew.exe differ