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