diff options
author | Erich Eckner <git@eckner.net> | 2015-12-09 12:59:37 +0100 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2015-12-09 12:59:37 +0100 |
commit | de3564b370141744197501fc6aa645eddf84fc23 (patch) | |
tree | 29e55001b71e30b54f8e20e4eb8ce4a0ca31755b /gitupdateunit.pas | |
parent | 92dd95e43f55bed097ff1f57c41b4462640b083a (diff) | |
download | units-de3564b370141744197501fc6aa645eddf84fc23.tar.xz |
refreshexecutableunit.pas neu und in gitupdateunit.pas verwendet
Diffstat (limited to 'gitupdateunit.pas')
-rw-r--r-- | gitupdateunit.pas | 48 |
1 files changed, 3 insertions, 45 deletions
diff --git a/gitupdateunit.pas b/gitupdateunit.pas index ec6c188..1542940 100644 --- a/gitupdateunit.pas +++ b/gitupdateunit.pas @@ -10,7 +10,7 @@ uses implementation uses - baseunix, process, systemunit, lowlevelunit; + process, systemunit, lowlevelunit, refreshExecutableUnit; var updated: boolean; @@ -34,50 +34,8 @@ initialization updated:=updated or (output<>'Already up-to-date.'#10); if runCommandInDir(baseDir+'units','git',args,output) then begin updated:=updated or (output<>'Already up-to-date.'#10); - if updated then begin - tmpDir:=mkTemp('-d /tmp/fpc.XXXXXX'); - mkdir(tmpDir+'/lib'); - setlength(args,15); - args[0]:='-MObjFPC'; - args[1]:='-Scghi'; - args[2]:='-Cg'; - args[3]:='-CirotR'; - args[4]:='-O1'; - args[5]:='-g'; - args[6]:='-gl'; - args[7]:='-l'; - args[8]:='-vewnhibq'; - args[9]:='-Fi'+tmpDir+'/lib'; - args[10]:='-Fu../units'; - args[11]:='-Fu.'; - args[12]:='-FU'+tmpDir+'/lib'; - args[13]:=myDir+extractFileName(paramstr(0)); - if fileexists(args[13]+'.lpr') then - args[13]:=args[13]+'.lpr' - else - args[13]:=args[13]+'.pas'; - args[14]:='-o'+tmpDir+'/output'; - if runCommandInDir(myDir,'fpc',args,output) then begin - setlength(args,2); - args[0]:=tmpDir+'/output'; - args[1]:=paramstr(0); - if runCommand('sha512sum',args,output) then begin - baseDir:=erstesArgument(output,#10); - if erstesArgument(baseDir)<>erstesArgument(output) then begin - deletefile(paramstr(0)); - if runCommand('mv',args,output) then begin - setlength(args,2); - args[0]:='-rf'; - args[1]:=tmpDir; - if runCommand('rm',args,output) then begin - fpExecVe(paramstr(0),argv,envp); - raise exception.create('Fehler beim Ersetzen der Executable!'); - end; - end; - end; - end; - end; - end; + if updated then + refreshExecutable(myDir); end; end; if (tmpDir<>'') and directoryexists(tmpDir) then begin |