From 2cb322091c69b485388770602d7c1ad9a7f28c1e Mon Sep 17 00:00:00 2001 From: poikilos <7557867+poikilos@users.noreply.github.com> Date: Fri, 13 May 2022 03:51:58 -0400 Subject: [PATCH] Look for and run the correct executable name. --- docker/finetestserver.rc | 1 + docker/lmk.devuan-chimaera.sh | 83 +++++++++++++------ .../build-and-check.sh | 2 +- 3 files changed, 59 insertions(+), 27 deletions(-) create mode 100644 docker/finetestserver.rc diff --git a/docker/finetestserver.rc b/docker/finetestserver.rc new file mode 100644 index 0000000..a8387e9 --- /dev/null +++ b/docker/finetestserver.rc @@ -0,0 +1 @@ +finetestserver_bin=/opt/linux-minetest-kit/minetest/bin/finetestserver diff --git a/docker/lmk.devuan-chimaera.sh b/docker/lmk.devuan-chimaera.sh index 9b17824..5bcad26 100755 --- a/docker/lmk.devuan-chimaera.sh +++ b/docker/lmk.devuan-chimaera.sh @@ -27,6 +27,8 @@ if [ ! -f "$this_rc" ]; then fi source $this_rc if [ $? -ne 0 ]; then exit 1; fi +source finetestserver.rc +if [ $? -ne 0 ]; then exit 1; fi if [ ! -d "$libraries_image_dir" ]; then echo "Error: $0 must run from the directory containing the container image directory: $libraries_image_dir" exit 1 @@ -139,37 +141,41 @@ END # ^ output is $container_name if [ "@$container_Id" != "@" ]; then - echo "* The container already appears to be set up." - exit 0 -fi -echo "There is no container_Id for container_name=$container_name, so checking for image:" -sudo docker image inspect $server_image --format "* docker is looking for the image..." -if [ $? -ne 0 ]; then - echo "NOT FOUND, so:" - echo "* building $server_image ($server_image_dir inherits $libraries_image, so using built libraries from that should work)..." - if [ ! -d "$server_image_dir" ]; then - echo "Error: \"$server_image_dir\" doesn't exist in `pwd`." - exit 1 - fi - sudo docker build -t $server_image $server_image_dir - # ^ ./mtcompile-program.pl --build --finetest --server returns 1 for some reason, so there is a custom build script used in the Dockerfile - # -t: Name and optionally a tag in the 'name:tag' format + echo "* The container already appears to be set up, so checking for the image will not be attempted." +else + echo "There is no container_Id for container_name=$container_name, so checking for image:" + sudo docker image inspect $server_image --format "* docker is looking for the image..." if [ $? -ne 0 ]; then - exit 1 + echo "NOT FOUND, so:" + echo "* building $server_image ($server_image_dir inherits $libraries_image, so using built libraries from that should work)..." + if [ ! -d "$server_image_dir" ]; then + echo "Error: \"$server_image_dir\" doesn't exist in `pwd`." + exit 1 + fi + sudo docker build -t $server_image $server_image_dir + # ^ ./mtcompile-program.pl --build --finetest --server returns 1 for some reason, so there is a custom build script used in the Dockerfile + # -t: Name and optionally a tag in the 'name:tag' format + if [ $? -ne 0 ]; then + exit 1 + fi + else + echo "* using existing $server_image" fi -else - echo "* using existing $server_image" fi if [ "@$container_Id" = "@" ]; then # sudo docker run --name $container_name $libraries_image $run_all_build_commands_script # ^ build was moved to the Dockerfile + if [ "@$finetestserver_bin" = "@" ]; then + echo "Error: The image is not fully described since finetestserver_bin is blank. No container will be created." + exit 1 + fi echo "* creating container $container_name from image $server_image" - sudo docker run --name $container_name $server_image /opt/linux-minetest-kit/minetest/minetestserver + sudo docker run --name $container_name $server_image $finetestserver_bin code=$? if [ $code -ne 0 ]; then cat <