From 23e6150a43a8d7d4ee9001422a0bccf2b0416926 Mon Sep 17 00:00:00 2001 From: "Hahn Axel (hahn)" <axel.hahn@unibe.ch> Date: Wed, 5 Mar 2025 15:03:47 +0100 Subject: [PATCH] fix spc build detection with done file --- installer.php | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/installer.php b/installer.php index 00c4e6b..1f592b2 100755 --- a/installer.php +++ b/installer.php @@ -12,7 +12,7 @@ require("inc_functions.php"); $gitAppmonitor="https://github.com/iml-it/appmonitor.git"; $spcUrl="https://dl.static-php.dev/static-php-cli/spc-bin/nightly/spc-$myos-$myarchitecture"; -$doneBuild="__done_build-micro__".md5($php_version.$php_libs).".txt"; +$doneBuild="__done_build-micro__.txt"; /* Filename Last Modified Size Download Count @@ -39,7 +39,7 @@ echo " - gets appmonitor sources - gets spc binary - spc downloads PHP and libs - - spc builds micro (1..2 min) + - spc builds micro (~2 min) "; @@ -132,16 +132,25 @@ if (PHP_OS == "Linux") { _h1("Spc - prepare environment"); _chdir("$selfdir/$dirBuild"); -if(!file_exists("$doneBuild")){ +$bDoBild=true; +$sDoneData="PHP version $php_version\nExtensions: $php_libs"; +if(file_exists($doneBuild)){ + + $sDone=file_get_contents($doneBuild); + if (strstr($sDone, $sDoneData)>=0){ + $bDoBild=false; + } +} + +if ($bDoBild){ _exec("$SPC --no-interaction doctor"); _exec("$SPC download --no-interaction --with-php=$php_version --for-extensions '$php_libs'"); echo "💡 Hint: this can take 2 minutes ...\n"; _exec("$SPC build --no-interaction --build-micro '$php_libs'"); - touch("$doneBuild"); + file_put_contents("$doneBuild", date("Y-m-d H:i:s") . "\n$sDoneData\n"); } else { _skip("Micro already built - php $php_version - extensions '$php_libs'"); } - _h1("Done."); -- GitLab