mirror of
https://github.com/pi-hole/docker-pi-hole.git
synced 2025-12-20 02:18:51 +00:00
Actually do something with the result of readelf in case of invalid FTL binary
Remove the `cat` of the pihole-FTL binary as it could lead to a very difficult to read logs Add some more helpful output to the build script Signed-off-by: Adam Warner <me@adamwarner.co.uk>
This commit is contained in:
21
build.sh
21
build.sh
@@ -18,7 +18,8 @@ usage() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Set default values
|
# Set default values
|
||||||
DOCKER_BUILD_CMD="docker buildx build src/. --tag pihole:local --load --no-cache"
|
TAG="pihole:local"
|
||||||
|
DOCKER_BUILD_CMD="docker buildx build src/. --tag ${TAG} --load --no-cache"
|
||||||
FTL_FLAG=false
|
FTL_FLAG=false
|
||||||
|
|
||||||
# Parse command line arguments
|
# Parse command line arguments
|
||||||
@@ -69,8 +70,9 @@ while [[ $# -gt 0 ]]; do
|
|||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
-t | --tag)
|
-t | --tag)
|
||||||
TAG="$2"
|
CUSTOM_TAG="$2"
|
||||||
DOCKER_BUILD_CMD=${DOCKER_BUILD_CMD/pihole:local/$TAG}
|
DOCKER_BUILD_CMD=${DOCKER_BUILD_CMD/$TAG/$CUSTOM_TAG}
|
||||||
|
TAG=$CUSTOM_TAG
|
||||||
shift
|
shift
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
@@ -88,3 +90,16 @@ done
|
|||||||
# Execute the docker build command
|
# Execute the docker build command
|
||||||
echo "Executing command: $DOCKER_BUILD_CMD"
|
echo "Executing command: $DOCKER_BUILD_CMD"
|
||||||
eval $DOCKER_BUILD_CMD
|
eval $DOCKER_BUILD_CMD
|
||||||
|
|
||||||
|
# Check exit code of previous command
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo ""
|
||||||
|
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
|
||||||
|
echo "!! ERROR: Docker build failed, please review logs above !!"
|
||||||
|
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
echo ""
|
||||||
|
echo "Successfully built Docker image with tag '$TAG'"
|
||||||
|
docker images $TAG
|
||||||
|
fi
|
||||||
|
|||||||
@@ -83,11 +83,12 @@ RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then FTLARCH=amd64; \
|
|||||||
&& echo "Arch: ${TARGETPLATFORM}, FTLARCH: ${FTLARCH}" \
|
&& echo "Arch: ${TARGETPLATFORM}, FTLARCH: ${FTLARCH}" \
|
||||||
&& curl -sSL "https://ftl.pi-hole.net/${FTL_BRANCH}/pihole-FTL-${FTLARCH}" -o /usr/bin/pihole-FTL \
|
&& curl -sSL "https://ftl.pi-hole.net/${FTL_BRANCH}/pihole-FTL-${FTLARCH}" -o /usr/bin/pihole-FTL \
|
||||||
&& chmod +x /usr/bin/pihole-FTL \
|
&& chmod +x /usr/bin/pihole-FTL \
|
||||||
&& readelf -h /usr/bin/pihole-FTL || cat /usr/bin/pihole-FTL
|
&& readelf -h /usr/bin/pihole-FTL || (echo "Error with downloaded FTL binary" && exit 1)
|
||||||
|
|
||||||
FROM base AS local-ftl-install
|
FROM base AS local-ftl-install
|
||||||
# pihole-FTL must be built from source and copied to the src directory first!
|
# pihole-FTL must be built from source and copied to the src directory first!
|
||||||
COPY --chmod=0755 pihole-FTL /usr/bin/pihole-FTL
|
COPY --chmod=0755 pihole-FTL /usr/bin/pihole-FTL
|
||||||
|
RUN readelf -h /usr/bin/pihole-FTL || (echo "Error with local FTL binary" && exit 1)
|
||||||
|
|
||||||
# Use the appropriate FTL Install stage based on the FTL_SOURCE build-arg
|
# Use the appropriate FTL Install stage based on the FTL_SOURCE build-arg
|
||||||
FROM ${FTL_SOURCE}-ftl-install AS final
|
FROM ${FTL_SOURCE}-ftl-install AS final
|
||||||
|
|||||||
Reference in New Issue
Block a user