Switch to pkgconf. Add make and dnsutils to deb-based distro install. Move the build process from (docker commands in) lmk.devuan-chimaera.sh to a script inside the container: build-lmk.rc. Include a local copy of the dependencies script (install-minetest-build-deps.sh) in the container instead of the web copy.
container_unzip="`sudo docker exec $container_name which unzip`"
if["@$container_unzip"="@"];then
echo"Error: Installing unzip in the container did not succeed. Install unzip inside the container manually then try again, or extract linux-minetest-kit such that $contained_good_repo_flag_path exists."
# -d: is destination, like -C or --directory for tar.
# -v: verbose (prevents extraction)
if[$? -ne 0];then
echo"Error: unzip failed within the container. Install unzip inside the container manually then try again, or extract linux-minetest-kit such that $contained_good_repo_flag_path exists."
exit1
fi
else
echo"FOUND (already extracted)"
fi
# sudo docker exec $container_name ls $contained_repo > /dev/null
sudo docker exec$container_name ls $contained_good_repo_flag_path > /dev/null
if[$? -ne 0];then
if[$? -ne 0];then
echo"Error: extracting linux-minetest-kit.zip in the container didn't work. Extract linux-minetest-kit.zip to $contained_repos such that $contained_good_repo_flag_path exists in the container and try again."
cat <<END
exit1
* building within the container FAILED
else
echo"* detected $contained_good_repo_flag_path (So the source directory is assumed to be ok)"
fi
- Update the image as follows:
sudo docker rm --force $container_name
sudo docker rmi $image_name
sudo docker image prune --force
# --force: Don't prompt for confirmation.
if["@$contained_user"="@"];then
- Then try again:
echo"Error: contained_user can't be blank, or checking for the user within the container will not work."
$0
exit1
fi
sudo docker exec$container_name id -u $contained_user
END
if[$? -ne 0];then
printf"* creating $contained_user in container $container_name..."
echo"Error: contained_repo can't be blank or checking for its files in the container won't work."
exit1
fi
# ls $contained_repo
echo"* checking for $contained_good_repo_flag_path on the destination..."
ls $contained_good_repo_flag_path > /dev/null
if[$? -ne 0];then
echo"NOT FOUND"
printf"Warning: the Docker image isn't up to date. Unzipping manually..."
printf"checking for unzip..."
container_unzip="`which unzip`"
if["@$container_unzip"="@"];then
echo"NOT FOUND. Installing..."
# This should never happen if the Dockerfile was used.
apt-get update
if[$? -ne 0];thenexit 1;fi
apt-get install -y unzip
if[$? -ne 0];thenexit 1;fi
container_unzip="`which unzip`"
if["@$container_unzip"="@"];then
echo"Error: Installing unzip in the container did not succeed. Install unzip inside the container manually then try again, or extract linux-minetest-kit such that $contained_good_repo_flag_path exists."
# -d: is destination, like -C or --directory for tar.
# -v: verbose (prevents extraction)
if[$? -ne 0];then
echo"Error: unzip failed within the container. Install unzip inside the container manually then try again, or extract linux-minetest-kit such that $contained_good_repo_flag_path exists."
exit1
fi
else
echo"FOUND (already extracted)"
fi
# ls $contained_repo > /dev/null
ls $contained_good_repo_flag_path > /dev/null
if[$? -ne 0];then
echo"Error: extracting linux-minetest-kit.zip in the container didn't work. Extract linux-minetest-kit.zip to $contained_repos such that $contained_good_repo_flag_path exists in the container and try again."
exit1
else
echo"* detected $contained_good_repo_flag_path (So the source directory is assumed to be ok)"
fi
if["@$contained_user"="@"];then
echo"Error: contained_user can't be blank, or checking for the user within the container will not work."
exit1
fi
id -u $contained_user
if[$? -ne 0];then
printf"* creating $contained_user in container $container_name..."
# "pkgconf is a newer, actively maintained implementation of pkg-config that supports more aspects of the pkg-config file specification and provides a library interface that applications can use to incorporate intelligent handling of pkg-config files into themselves (such as build file generators, IDEs, and compilers)."