diff -ur rubyscript2exe-0.3.6.tar.gz/rubyscript2exe/CHANGELOG rubyscript2exe-0.4.0.tar.gz/rubyscript2exe/CHANGELOG --- rubyscript2exe-0.3.6.tar.gz/rubyscript2exe/CHANGELOG 2005-06-14 21:42:20.000000000 +0200 +++ rubyscript2exe-0.4.0.tar.gz/rubyscript2exe/CHANGELOG 2005-08-06 12:59:17.000000000 +0200 @@ -1,5 +1,23 @@ ---------------------------------------------------------------- +0.3.7 - 06.08.2005 + +* Added better error detection and error reporting in EEE. + +* Added --eee-info. + +* Added RUBYSCRIPT2EXE_TEMPDIR. + +* Fixed a bug concerning the variable command which wasn't + "declared" in one specific situation. + +* Went back to FPC 1.9.8 (from 2.0.0) on Linux, because of some + access violations. + +* Updated to FPC 1.9.8 (from 1.9.5) on Darwin. + +---------------------------------------------------------------- + 0.3.6 - 14.06.2005 * Fixed a bug concerning spaces in %TEMP%. diff -ur rubyscript2exe-0.3.6.tar.gz/rubyscript2exe/eee.pas rubyscript2exe-0.4.0.tar.gz/rubyscript2exe/eee.pas --- rubyscript2exe-0.3.6.tar.gz/rubyscript2exe/eee.pas 2005-06-14 21:44:16.000000000 +0200 +++ rubyscript2exe-0.4.0.tar.gz/rubyscript2exe/eee.pas 2005-08-06 12:59:36.000000000 +0200 @@ -27,15 +27,18 @@ end; tail = record - exename : string[255]; + eeeexe : string[255]; + appname : string[255]; + tempdir : string[255]; gzlength : longint; who : string[255]; number : longint; end; var + temp : string[255]; + orgdir : string[255]; tempdir : string[255]; - workdir : string[255]; workdir1 : string[255]; workdir2 : string[255]; workfile : string[255]; @@ -46,7 +49,6 @@ tekst1 : string[255]; tekst2 : string; workdirnumber : string[255]; - dir : string[255]; h : header; t : tail; teller : longint; @@ -54,6 +56,8 @@ quotedparms : string; justextract : boolean; list : boolean; + info : boolean; + appname : string; returncode : integer; {$IFDEF WIN32} @@ -65,27 +69,76 @@ {$IFDEF WIN32} function GetShortPathNameA(LongName, ShortName: Pchar; ccbuffer: Dword): Dword; stdcall external 'kernel32.dll' name 'GetShortPathNameA'; + function MessageBox(p1: longint; p2, p3: pChar; p4: longint): longint; stdcall; external 'user32.dll' name 'MessageBoxA'; +{$ENDIF} + +{**********************************************************************} + +procedure message(msg: string); + +{$IFDEF WIN32} +var + appname2 : string; {$ENDIF} +begin + + {$IFDEF WIN32} + if IsConsole then begin + writeln(appname + ': ' + msg); + end + else begin + msg := msg + #0; + appname2 := appname + #0; + + MessageBox(0, @msg[1], @appname2[1], 0); + end; + {$ELSE} + writeln(appname + ': ' + msg); + {$ENDIF} + +end; + +{**********************************************************************} + +procedure error(msg: string); + +begin + + message(msg); + + // ??? Possible loop ??? recursivedelete(tempdir); + + halt(8); + +end; + +{**********************************************************************} + function getshortpathname(dir: String): String; {$IFDEF WIN32} var - longname : pchar; - shortname : pchar; - buffer : dword; + longname : string; + shortname : string; + l : longint; {$ENDIF} begin {$IFDEF WIN32} - longname := pchar(dir+''); - shortname := pchar(dir+''); - buffer := 255; + longname := dir + #0; + shortname := ''; + + for teller := 1 to 255 do begin + shortname := shortname + ' '; // This is stupid... + end; - GetShortPathNameA(longname, shortname, buffer); + l := GetShortPathNameA(@longname[1], @shortname[1], length(shortname)); - dir := shortname; + if (l > 0) then begin + dir := AnsiMidStr(shortname, 1, l); + end; {$ENDIF} getshortpathname := dir; @@ -115,10 +168,12 @@ {**********************************************************************} -procedure chdir2(dir: string[255]); +procedure chdir2(dir: string[255]; continueonfailure: boolean); begin + {$I-} + {$IFDEF WIN32} chdir(dir); {$ELSE} // Foutje indien bovenliggende dirs niet benaderbaar zijn. @@ -131,6 +186,16 @@ chdir(dir); {$ENDIF} + if (ioresult <> 0) then begin + message('Couldn''t change directory: "' + dir + '"'); + + if (not continueonfailure) then begin + halt(8); + end; + end; + + {$I+} + end; {**********************************************************************} @@ -146,46 +211,45 @@ begin getdir2(0, dir); - chdir2(path); - - {$IFDEF WIN32} - findfirst('*.*', anyfile or directory, sr); - {$ELSE} - findfirst('*', anyfile or directory, sr); - {$ENDIF} - while(doserror = 0) do begin - assign(f, sr.name); // Foutje in 1.9.2 ??? - getfattr(f, attr); // Foutje in 1.9.2 ??? - if (attr and directory > 0) then begin - if ((not (sr.name = '.')) and (not (sr.name = '..'))) then begin - recursivedelete(sr.name); - end; - end - else begin + {$I-} + chdir2(path, true); + {$I+} - {$I-} - assign(f, sr.name); - erase(f); - if (ioresult <> 0) then begin - // Somehow, ioresult has to be touched. + if (ioresult = 0) then begin + {$IFDEF WIN32} + findfirst('*.*', anyfile or directory, sr); + {$ELSE} + findfirst('*', anyfile or directory, sr); + {$ENDIF} + while (doserror = 0) do begin + assign(f, sr.name); // Foutje in 1.9.2 ??? + getfattr(f, attr); // Foutje in 1.9.2 ??? + + if (attr and directory > 0) then begin + if ((not (sr.name = '.')) and (not (sr.name = '..'))) then begin + recursivedelete(sr.name); end; - {$I+} - - end; + end + else begin - findnext(sr); - end; - findclose(sr); + {$I-} + assign(f, sr.name); + erase(f); if (ioresult <> 0) then; + {$I+} - chdir2(dir); + end; - {$I-} - rmdir(path + slash); - if (ioresult <> 0) then begin - // Somehow, ioresult has to be touched. + findnext(sr); end; - {$I+} + findclose(sr); + + chdir2(dir, false); + + {$I-} + rmdir(path + slash); if (ioresult <> 0) then; + {$I+} + end; end; @@ -206,7 +270,9 @@ if (c = 0) then l := inlength-(inlength div sizeof(b))*sizeof(b) else l := sizeof(b); - blockread(infile, b, l); + {$I-} + blockread(infile, b, l); if (ioresult <> 0) then error('Couldn''t read file (BLOCKEAT).'); + {$I+} dec(c); end; @@ -230,7 +296,9 @@ if (c = 0) then l := inlength-(inlength div sizeof(b))*sizeof(b) else l := sizeof(b); - gzread(zfile, addr(b), l); + {$I-} + gzread(zfile, addr(b), l); if (ioresult <> 0) then error('Couldn''t read file (BLOCKEATFROMGZ).'); + {$I+} dec(c); end; @@ -255,8 +323,10 @@ if (c = 0) then l := inlength-(inlength div sizeof(b))*sizeof(b) else l := sizeof(b); - blockread(infile, b, l, n); - blockwrite(outfile, b, n); + {$I-} + blockread(infile, b, l, n); if (ioresult <> 0) then error('Couldn''t read file (BLOCKCOPY).'); + blockwrite(outfile, b, n); if (ioresult <> 0) then error('Couldn''t write file (BLOCKCOPY).'); + {$I+} dec(c); end; @@ -281,8 +351,10 @@ if (c = 0) then l := inlength-(inlength div sizeof(b))*sizeof(b) else l := sizeof(b); - blockread(infile, b, l, n); - gzwrite(zfile, addr(b), n); + {$I-} + blockread(infile, b, l, n); if (ioresult <> 0) then error('Couldn''t read file (BLOCKCOPYTOGZ).'); + gzwrite(zfile, addr(b), n); if (ioresult <> 0) then error('Couldn''t write file (BLOCKCOPYTOGZ).'); + {$I+} dec(c); end; @@ -307,8 +379,10 @@ 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); + {$I-} + n := gzread(zfile, addr(b), l); if (ioresult <> 0) then error('Couldn''t read file (BLOCKCOPYFROMGZ).'); + blockwrite(outfile, b, n); if (ioresult <> 0) then error('Couldn''t write file (BLOCKCOPYFROMGZ).'); + {$I+} dec(c); end; @@ -328,10 +402,12 @@ h.klasse := klasse; h.tekst := tekst; - assign(infile, entry); - reset(infile, 1); - h.datalength := filesize(infile); - gzwrite(zfile, addr(h), sizeof(h)); + {$I-} + assign(infile, entry); + reset(infile, 1); if (ioresult <> 0) then error('Couldn''t open: "' + entry + '"'); + h.datalength := filesize(infile); + gzwrite(zfile, addr(h), sizeof(h)); if (ioresult <> 0) then error('Couldn''t write file (GZFILE).'); + {$I+} blockcopytogz(infile, zfile, h.datalength); close(infile); @@ -354,7 +430,9 @@ h.tekst := tekst; h.datalength := 0; - gzwrite(zfile, addr(h), sizeof(h)); + {$I-} + gzwrite(zfile, addr(h), sizeof(h)); if (ioresult <> 0) then error('Couldn''t write file (GZFILE).'); + {$I+} t.number := t.number + 1; @@ -377,14 +455,14 @@ pakin_d(zfile, 'd', tekst, entry, t); getdir2(0, dir); - chdir2(entry); + chdir2(entry, false); {$IFDEF WIN32} findfirst('*.*', anyfile or directory, sr); {$ELSE} findfirst('*', anyfile or directory, sr); {$ENDIF} - while(doserror = 0) do begin + while (doserror = 0) do begin assign(f, sr.name); // Foutje in 1.9.2 ??? getfattr(f, attr); // Foutje in 1.9.2 ??? @@ -401,7 +479,7 @@ end; findclose(sr); - chdir2(dir); + chdir2(dir, false); end; @@ -420,7 +498,9 @@ h.tekst := tekst; h.datalength := 0; - gzwrite(zfile, addr(h), sizeof(h)); + {$I-} + gzwrite(zfile, addr(h), sizeof(h)); if (ioresult <> 0) then error('Couldn''t write file (GZFILE).'); + {$I+} t.number := t.number + 1; @@ -441,7 +521,9 @@ h.tekst := tekst; h.datalength := 0; - gzwrite(zfile, addr(h), sizeof(h)); + {$I-} + gzwrite(zfile, addr(h), sizeof(h)); if (ioresult <> 0) then error('Couldn''t write file (GZFILE).'); + {$I+} t.number := t.number + 1; @@ -462,7 +544,9 @@ h.tekst := tekst; h.datalength := 0; - gzwrite(zfile, addr(h), sizeof(h)); + {$I-} + gzwrite(zfile, addr(h), sizeof(h)); if (ioresult <> 0) then error('Couldn''t write file (GZFILE).'); + {$I+} t.number := t.number + 1; @@ -478,7 +562,7 @@ outfile : file of byte; s : string; i : longint; - exename : string[255]; + eeeexe : string[255]; {$IFDEF WIN32} {$ELSE} @@ -488,26 +572,43 @@ begin - assign(eeefile, paramstr(1)); - reset(eeefile); + {$I-} + assign(eeefile, paramstr(1)); + reset(eeefile); if (ioresult <> 0) then error('Couldn''t open: "' + paramstr(1) + '"'); + {$I+} - exename := getshortpathname(getenv('EEE_EXE')); - if (exename = '') then begin - exename := paramstr(0); + if (getenv('EEE_EXE') <> '') then begin + eeeexe := getshortpathname(getenv('EEE_EXE')); + end + else begin + eeeexe := paramstr(0); end; - t.exename := exename; + appname := paramstr(2); + + s := slash; + i := posex(s, appname); + while (i > 0) do begin + appname := AnsiMidStr(appname, i+length(s), length(appname)-(i+length(s))+1); + i := posex(s, appname); + end; + + t.eeeexe := eeeexe; + t.appname := appname; + t.tempdir := getenv('EEE_TEMPDIR'); t.number := 0; t.who := me; s := slash; - i := posex(s, t.exename); + i := posex(s, t.eeeexe); while (i > 0) do begin - t.exename := AnsiMidStr(t.exename, i+length(s), length(t.exename)-(i+length(s))+1); - i := posex(s, t.exename); + t.eeeexe := AnsiMidStr(t.eeeexe, i+length(s), length(t.eeeexe)-(i+length(s))+1); + i := posex(s, t.eeeexe); end; - zfile := gzopen(workfile, 'w'); + {$I-} + zfile := gzopen(workfile, 'w'); if (ioresult <> 0) then error('Couldn''t open: "' + workfile + '"'); + {$I+} repeat readln(eeefile, s); @@ -531,21 +632,29 @@ close(eeefile); - assign(outfile, paramstr(2)); - rewrite(outfile, 1); + {$I-} + assign(outfile, paramstr(2)); + rewrite(outfile, 1); if (ioresult <> 0) then error('Couldn''t open: "' + paramstr(2) + '"'); + {$I+} - assign(infile, exename); - reset(infile, 1); + {$I-} + assign(infile, eeeexe); + reset(infile, 1); if (ioresult <> 0) then error('Couldn''t open: "' + eeeexe + '"'); + {$I+} blockcopy(infile, outfile, filesize(infile)); close(infile); - assign(infile, workfile); - reset(infile, 1); + {$I-} + assign(infile, workfile); + reset(infile, 1); if (ioresult <> 0) then error('Couldn''t open: "' + workfile + '"'); + {$I+} blockcopy(infile, outfile, filesize(infile)); t.gzlength := filesize(infile); close(infile); - blockwrite(outfile, t, sizeof(t)); + {$I-} + blockwrite(outfile, t, sizeof(t)); if (ioresult <> 0) then error('Couldn''t write: "' + paramstr(2) + '"'); + {$I+} close(outfile); @@ -564,8 +673,10 @@ begin - assign(outfile, workdir + slash + tekst); - rewrite(outfile, 1); + {$I-} + assign(outfile, tempdir + slash + tekst); + rewrite(outfile, 1); if (ioresult <> 0) then error('Couldn''t open: "' + tempdir + slash + tekst + '"'); + {$I+} blockcopyfromgz(zfile, outfile, h.datalength); @@ -583,7 +694,7 @@ outfile := outfile; h := h; - mkdir(workdir + slash + tekst); + mkdir(tempdir + slash + tekst); end; @@ -660,9 +771,9 @@ {$ENDIF} getdir2(0, dir); - chdir2(workdir); + chdir2(tempdir, false); returncode := executeprocess(c, p); - chdir2(dir); + chdir2(dir, false); end; @@ -675,12 +786,14 @@ begin - assign(infofile, workdir + slash + tekst); - rewrite(infofile); + {$I-} + assign(infofile, tempdir + slash + tekst); + rewrite(infofile); if (ioresult <> 0) then error('Couldn''t open: "' + tempdir + slash + tekst + '"'); + {$I+} writeln(infofile, 'EEE_APPEXE=' + paramstr(0)); - writeln(infofile, 'EEE_EEEEXE=' + t.exename); - writeln(infofile, 'EEE_TEMPDIR=' + workdir); + writeln(infofile, 'EEE_EEEEXE=' + t.eeeexe); + writeln(infofile, 'EEE_TEMPDIR=' + tempdir); writeln(infofile, 'EEE_PARMS=' + parms); writeln(infofile, 'EEE_QUOTEDPARMS=' + quotedparms); @@ -700,29 +813,38 @@ begin - assign(infile, paramstr(0)); - reset(infile, 1); + {$I-} + assign(infile, paramstr(0)); + reset(infile, 1); if (ioresult <> 0) then error('Couldn''t open: "' + paramstr(0) + '"'); + {$I+} blockeat(infile, filesize(infile)-t.gzlength-sizeof(t)); - assign(outfile, workfile); - rewrite(outfile, 1); + {$I-} + assign(outfile, workfile); + rewrite(outfile, 1); if (ioresult <> 0) then error('Couldn''t open: "' + workfile + '"'); + {$I+} blockcopy(infile, outfile, t.gzlength); close(outfile); close(infile); - zfile := gzopen(workfile, 'r'); + {$I-} + zfile := gzopen(workfile, 'r'); if (ioresult <> 0) then error('Couldn''t open: "' + workfile + '"'); + {$I+} for i := 1 to t.number do begin - gzread(zfile, addr(h), sizeof(h)); + {$I-} + gzread(zfile, addr(h), sizeof(h)); if (ioresult <> 0) then error('Couldn''t read: "' + workfile + '"'); + {$I+} klasse := h.klasse; tekst2 := h.tekst; tekst2 := AnsiReplaceStr(tekst2, '%parms%', parms); tekst2 := AnsiReplaceStr(tekst2, '%quotedparms%', quotedparms); - tekst2 := AnsiReplaceStr(tekst2, '%tempdir%', workdir); + tekst2 := AnsiReplaceStr(tekst2, '%orgdir%', orgdir); + tekst2 := AnsiReplaceStr(tekst2, '%tempdir%', tempdir); tekst2 := AnsiReplaceStr(tekst2, '%tempdir1%', workdir1); tekst2 := AnsiReplaceStr(tekst2, '%tempdir2%', workdir2); @@ -757,41 +879,55 @@ begin - assign(infile, paramstr(0)); - reset(infile, 1); + {$I-} + assign(infile, paramstr(0)); + reset(infile, 1); if (ioresult <> 0) then error('Couldn''t open: "' + paramstr(0) + '"'); + {$I+} - assign(outfile, t.exename); - rewrite(outfile); + {$I-} + assign(outfile, t.eeeexe); + rewrite(outfile); if (ioresult <> 0) then error('Couldn''t open: "' + t.eeeexe + '"'); + {$I+} blockcopy(infile, outfile, filesize(infile)-t.gzlength-sizeof(t)); close(outfile); {$IFDEF WIN32} {$ELSE} c := '/bin/sh'; - p := '-c "chmod +x ' + t.exename; + p := '-c "chmod +x ' + t.eeeexe; executeprocess(c, p); {$ENDIF} - assign(outfile, workfile); - rewrite(outfile, 1); + {$I-} + assign(outfile, workfile); + rewrite(outfile, 1); if (ioresult <> 0) then error('Couldn''t open: "' + workfile + '"'); + {$I+} blockcopy(infile, outfile, t.gzlength); close(outfile); close(infile); - zfile := gzopen(workfile, 'r'); + {$I-} + zfile := gzopen(workfile, 'r'); if (ioresult <> 0) then error('Couldn''t open: "' + workfile + '"'); + {$I+} - assign(eeefile, 'app.eee'); - rewrite(eeefile); + {$I-} + assign(eeefile, 'app.eee'); + rewrite(eeefile); if (ioresult <> 0) then error('Couldn''t open file (app.eee).'); + {$I+} for i := 1 to t.number do begin - gzread(zfile, addr(h), sizeof(h)); + {$I-} + gzread(zfile, addr(h), sizeof(h)); if (ioresult <> 0) then error('Couldn''t read: "' + workfile + '"'); + {$I+} writeln(eeefile, h.klasse, ' ', h.tekst); if (h.klasse = 'f') then begin - assign(outfile, h.tekst); - rewrite(outfile, 1); + {$I-} + assign(outfile, h.tekst); + rewrite(outfile, 1); if (ioresult <> 0) then error('Couldn''t open: "' + h.tekst + '"'); + {$I+} blockcopyfromgz(zfile, outfile, h.datalength); @@ -800,8 +936,7 @@ if (h.klasse = 'd') then begin {$I-} - mkdir(h.tekst); - if (ioresult = 0) then; + mkdir(h.tekst); if (ioresult = 0) then; {$I+} end; end; @@ -824,22 +959,30 @@ begin - assign(infile, paramstr(0)); - reset(infile, 1); + {$I-} + assign(infile, paramstr(0)); + reset(infile, 1); if (ioresult <> 0) then error('Couldn''t open: "' + paramstr(0) + '"'); + {$I+} blockeat(infile, filesize(infile)-t.gzlength-sizeof(t)); - assign(outfile, workfile); - rewrite(outfile, 1); + {$I-} + assign(outfile, workfile); + rewrite(outfile, 1); if (ioresult <> 0) then error('Couldn''t open: "' + workfile + '"'); + {$I+} blockcopy(infile, outfile, t.gzlength); close(outfile); close(infile); - zfile := gzopen(workfile, 'r'); + {$I-} + zfile := gzopen(workfile, 'r'); if (ioresult <> 0) then error('Couldn''t open: "' + workfile + '"'); + {$I+} for i := 1 to t.number do begin - gzread(zfile, addr(h), sizeof(h)); + {$I-} + gzread(zfile, addr(h), sizeof(h)); if (ioresult <> 0) then error('Couldn''t read: "' + workfile + '"'); + {$I+} if (h.klasse = 'f') then begin writeln(h.klasse, ' ', h.tekst, ' (', h.datalength, ')'); @@ -857,23 +1000,37 @@ {**********************************************************************} +procedure tooninfo; + begin + writeln('APPNAME : ', t.appname); + writeln('NUMBER OF ITEMS : ', t.number); + writeln('LENGTH OF GZ-FILE : ', t.gzlength); + writeln('EEEEXE : ', t.eeeexe); + writeln('TEMPDIR : ', t.tempdir); + +end; + +{**********************************************************************} + +begin + + randomize; + filemode := 0; + {$IFDEF WIN32} {$ELSE} currentdir := ''; {$ENDIF} - tempdir := getshortpathname(getenv('TEMP')); - if (tempdir = '') then begin - tempdir := '/tmp' - end; - me := 'EEE: Dit is mijn herkennigsstring voor het herkennen van pakin of pakuit mode.'; justextract := false; list := false; + info := false; + appname := 'EEE'; returncode := 0; parms := ''; @@ -887,6 +1044,10 @@ list := true; end; + if (paramstr(teller) = '--eee-info') then begin + info := true; + end; + if ((parms = '') and (quotedparms = '')) then begin parms := paramstr(teller); quotedparms := '''' + paramstr(teller) + ''''; @@ -897,35 +1058,51 @@ end; end; - randomize; + {$I-} + assign(ownfile, paramstr(0)); + reset(ownfile, 1); if (ioresult <> 0) then error('Couldn''t open: "' + paramstr(0) + '"'); + blockeat(ownfile, filesize(ownfile)-sizeof(t)); + blockread(ownfile, t, sizeof(t)); if (ioresult <> 0) then error('Couldn''t read: "' + paramstr(0) + '"'); + {$I+} + close(ownfile); - getdir2(0, dir); - chdir2(tempdir); - {$I-} - workdirnumber := ''; - repeat - str(random(1000), workdirnumber); - workdir := 'eee.' + workdirnumber; - mkdir(workdir); - until (ioresult = 0); - {$I+} - chdir2(dir); + if (t.who = me) then begin + appname := t.appname; + end; - workdir := tempdir + slash + workdir; - workfile := workdir + slash + 'eee.gz'; - workdir1 := AnsiReplaceStr(workdir, '\', '/'); - workdir2 := AnsiReplaceStr(workdir, '/', '\'); + temp := getshortpathname(getenv('TEMP')); + if (temp = '') then begin + temp := '/tmp' + end; - filemode := 0; + getdir2(0, orgdir); + chdir2(temp, false); + {$I-} + if ((t.tempdir <> '') and (t.who = me)) then begin + tempdir := t.tempdir; + mkdir(tempdir); if (ioresult <> 0) then error('Couldn''t create directory: "' + temp + slash + tempdir + '"'); + end + else begin + workdirnumber := ''; + teller := 1; + repeat + inc(teller); + str(teller, workdirnumber); + tempdir := 'eee.' + appname + '.' + workdirnumber; + mkdir(tempdir); + until (ioresult = 0); + end; + {$I+} + chdir2(orgdir, false); - assign(ownfile, paramstr(0)); - reset(ownfile, 1); - blockeat(ownfile, filesize(ownfile)-sizeof(t)); - blockread(ownfile, t, sizeof(t)); - close(ownfile); + tempdir := temp + slash + tempdir; + workfile := tempdir + slash + 'eee.gz'; + workdir1 := AnsiReplaceStr(tempdir, '\', '/'); + workdir2 := AnsiReplaceStr(tempdir, '/', '\'); - if (posex('eeew', lowercase(t.exename)) > 0) then begin + if (posex('eeew', lowercase(t.eeeexe)) > 0) then begin list := false; + info := false; end; if (t.who <> me) then begin @@ -940,12 +1117,17 @@ tooninhoud; end else begin - pakuit; + if (info) then begin + tooninfo; + end + else begin + pakuit; + end; end; end; end; - recursivedelete(workdir); + recursivedelete(tempdir); halt(returncode); diff -ur rubyscript2exe-0.3.6.tar.gz/rubyscript2exe/ev/ftools.rb rubyscript2exe-0.4.0.tar.gz/rubyscript2exe/ev/ftools.rb --- rubyscript2exe-0.3.6.tar.gz/rubyscript2exe/ev/ftools.rb 2005-06-14 21:44:16.000000000 +0200 +++ rubyscript2exe-0.4.0.tar.gz/rubyscript2exe/ev/ftools.rb 2005-08-06 12:59:37.000000000 +0200 @@ -84,7 +84,7 @@ res += [entry] if mask.nil? or entry =~ mask end - res + res.sort end end diff -ur rubyscript2exe-0.3.6.tar.gz/rubyscript2exe/ev/oldandnewlocation.rb rubyscript2exe-0.4.0.tar.gz/rubyscript2exe/ev/oldandnewlocation.rb --- rubyscript2exe-0.3.6.tar.gz/rubyscript2exe/ev/oldandnewlocation.rb 2005-06-14 21:44:16.000000000 +0200 +++ rubyscript2exe-0.4.0.tar.gz/rubyscript2exe/ev/oldandnewlocation.rb 2005-08-06 12:59:36.000000000 +0200 @@ -3,7 +3,7 @@ ENV["OLDDIR"] = Dir.pwd unless ENV.include?("OLDDIR") ENV["NEWDIR"] = File.expand_path(File.dirname($0)) unless ENV.include?("NEWDIR") -ENV["OWNDIR"] = File.expand_path(File.dirname((caller[-1] or $0).gsub(/:\d+$/, ""))) unless ENV.include?("OWNDIR") +ENV["APPDIR"] = File.expand_path(File.dirname((caller[-1] or $0).gsub(/:\d+$/, ""))) unless ENV.include?("APPDIR") ENV["TEMPDIR"] = dir unless ENV.include?("TEMPDIR") class Dir @@ -77,10 +77,10 @@ end begin - ownlocation + applocation rescue NameError - def ownlocation(file="") - dir = ENV["OWNDIR"] + def applocation(file="") + dir = ENV["APPDIR"] res = nil if block_given? diff -ur rubyscript2exe-0.3.6.tar.gz/rubyscript2exe/init.rb rubyscript2exe-0.4.0.tar.gz/rubyscript2exe/init.rb --- rubyscript2exe-0.3.6.tar.gz/rubyscript2exe/init.rb 2005-06-03 13:16:39.000000000 +0200 +++ rubyscript2exe-0.4.0.tar.gz/rubyscript2exe/init.rb 2005-08-04 22:01:28.000000000 +0200 @@ -99,11 +99,11 @@ command = backslashes("#{bindir1}/ruby") + " #{required.join(" ")} #{libs.join(" ")} -r '#{newlocation("require2lib.rb")}' '#{script}' #{verbose} #{quiet} #{argv.join(" ")}" system(command) -end -unless File.file?(loadscript) - $stderr.puts "Couldn't execute this command (rc=#{$?}):\n#{command}" - exit 16 + unless File.file?(loadscript) + $stderr.puts "Couldn't execute this command (rc=#{$?}):\n#{command}" + exit 16 + end end load(loadscript) @@ -166,6 +166,7 @@ eeeexe = "eeew.exe" if rubyw eeeexe = "eee_linux" if linux? eeeexe = "eee_darwin" if darwin? +appeee = "#{app}.eee" appexe = "#{app}.exe" appexe = "#{app}_linux" if linux? appexe = "#{app}_darwin" if darwin? @@ -220,7 +221,7 @@ File.open(tmplocation("empty.rb"), "w") do |f| end -File.open(tmplocation("app.eee"), "w") do |f| +File.open(tmplocation(appeee), "w") do |f| f.puts "r bin" f.puts "r lib" f.puts "f bootstrap.rb" @@ -242,7 +243,7 @@ end from = newlocation(eeeexe) -from = ownlocation(eeeexe) unless File.file?(from) +from = applocation(eeeexe) unless File.file?(from) from = oldlocation(eeeexe) unless File.file?(from) to = tmplocation(eeeexe) @@ -252,15 +253,16 @@ tmplocation do ENV["EEE_EXE"] = eeeexe ENV["EEE_DIR"] = Dir.pwd + ENV["EEE_TEMPDIR"] = RUBYSCRIPT2EXE_TEMPDIR if defined?(RUBYSCRIPT2EXE_TEMPDIR) eeebin1 = newlocation("eee.exe") eeebin1 = newlocation("eee_linux") if linux? eeebin1 = newlocation("eee_darwin") if darwin? unless File.file?(eeebin1) - eeebin1 = ownlocation("eee.exe") - eeebin1 = ownlocation("eee_linux") if linux? - eeebin1 = ownlocation("eee_darwin") if darwin? + eeebin1 = applocation("eee.exe") + eeebin1 = applocation("eee_linux") if linux? + eeebin1 = applocation("eee_darwin") if darwin? end unless File.file?(eeebin1) @@ -279,7 +281,7 @@ File.copy(from, to) unless from == to File.chmod(0755, to) if linux? or darwin? - system(backslashes("#{eeebin2} app.eee #{appexe}")) + system(backslashes("#{eeebin2} #{appeee} #{appexe}")) end from = tmplocation(appexe) diff -ur rubyscript2exe-0.3.6.tar.gz/rubyscript2exe/README rubyscript2exe-0.4.0.tar.gz/rubyscript2exe/README --- rubyscript2exe-0.3.6.tar.gz/rubyscript2exe/README 2005-05-22 18:09:36.000000000 +0200 +++ rubyscript2exe-0.4.0.tar.gz/rubyscript2exe/README 2005-08-06 09:07:00.000000000 +0200 @@ -1,15 +1,22 @@ -The best way to use RubyScript2Exe is the RB, not this TAR.GZ. -The latter is just for playing with the internals. Both are -available on the site. +---------------------------------------------------------------- - Usage: ruby init.rb application[.rb[w]] - [--rubyscript2exe-ruby|--rubyscript2exe-rubyw] - [--rubyscript2exe-verbose|--rubyscript2exe-quiet] - [--rubyscript2exe-nostrip] - [--rubyscript2exe-tk] - -On Linux and Darwin, there's no difference between ruby and -rubyw. +RubyScript2Exe transforms your Ruby script into a standalone, +compressed Windows, Linux or Mac OS X (Darwin) executable. You +can look at it as a "compiler". Not in the sense of a +source-code-to-byte-code compiler, but as a "collector", for it +collects all necessary files to run your script on an other +machine: the Ruby script, the Ruby interpreter and the Ruby +runtime library (stripped down for this script). Anyway, the +result is the same: a standalone executable (application.exe). +And that's what we want! For more information, see http://www.erikveen.dds.nl/rubyscript2exe/index.html . + +---------------------------------------------------------------- + +The best way to use Tar2RubyScript is the RB, not this TAR.GZ. +The latter is just for playing with the internals. Both are +available on the site. + +---------------------------------------------------------------- diff -ur rubyscript2exe-0.3.6.tar.gz/rubyscript2exe/require2lib.rb rubyscript2exe-0.4.0.tar.gz/rubyscript2exe/require2lib.rb --- rubyscript2exe-0.3.6.tar.gz/rubyscript2exe/require2lib.rb 2005-06-14 21:44:16.000000000 +0200 +++ rubyscript2exe-0.4.0.tar.gz/rubyscript2exe/require2lib.rb 2005-08-06 12:59:36.000000000 +0200 @@ -176,6 +176,7 @@ f.puts "RUBYSCRIPT2EXE_DLLS = #{RUBYSCRIPT2EXE_DLLS.inspect}" if defined?(RUBYSCRIPT2EXE_DLLS) f.puts "RUBYSCRIPT2EXE_BIN = #{RUBYSCRIPT2EXE_BIN.inspect}" if defined?(RUBYSCRIPT2EXE_BIN) f.puts "RUBYSCRIPT2EXE_LIB = #{RUBYSCRIPT2EXE_LIB.inspect}" if defined?(RUBYSCRIPT2EXE_LIB) + f.puts "RUBYSCRIPT2EXE_TEMPDIR = #{RUBYSCRIPT2EXE_TEMPDIR.inspect}" if defined?(RUBYSCRIPT2EXE_TEMPDIR) f.puts "RUBYSCRIPT2EXE_RUBYGEMS = #{rubygems.inspect}" end end diff -ur rubyscript2exe-0.3.6.tar.gz/rubyscript2exe/VERSION rubyscript2exe-0.4.0.tar.gz/rubyscript2exe/VERSION --- rubyscript2exe-0.3.6.tar.gz/rubyscript2exe/VERSION 2005-06-14 21:44:16.000000000 +0200 +++ rubyscript2exe-0.4.0.tar.gz/rubyscript2exe/VERSION 2005-08-06 12:59:36.000000000 +0200 @@ -1 +1 @@ -0.3.6 +0.4.0 Binary files rubyscript2exe-0.3.6.tar.gz/rubyscript2exe/eee.exe and rubyscript2exe-0.4.0.tar.gz/rubyscript2exe/eee.exe differ Binary files rubyscript2exe-0.3.6.tar.gz/rubyscript2exe/eee_linux and rubyscript2exe-0.4.0.tar.gz/rubyscript2exe/eee_linux differ Binary files rubyscript2exe-0.3.6.tar.gz/rubyscript2exe/eeew.exe and rubyscript2exe-0.4.0.tar.gz/rubyscript2exe/eeew.exe differ