Allow uses to skip binary check and installing FTL in case the use a self-compiled binary

Signed-off-by: Christian König <github@yubiuser.dev>
This commit is contained in:
Christian König 2025-02-27 12:00:25 +01:00
parent 002536ae09
commit 56ef68eaa1
No known key found for this signature in database

View file

@ -145,6 +145,7 @@ EOM
# The runUnattended flag is one example of this # The runUnattended flag is one example of this
reconfigure=false reconfigure=false
runUnattended=false runUnattended=false
PIHOLE_SKIP_FTL_CHECK=false
# Check arguments for the undocumented flags # Check arguments for the undocumented flags
for var in "$@"; do for var in "$@"; do
case "$var" in case "$var" in
@ -2422,12 +2423,16 @@ main() {
# Check if there is a usable FTL binary available on this architecture - do # Check if there is a usable FTL binary available on this architecture - do
# this early on as FTL is a hard dependency for Pi-hole # this early on as FTL is a hard dependency for Pi-hole
local funcOutput # Allow the user to skip this check if they are using a self-compiled FTL binary from an unsupported architecture
funcOutput=$(get_binary_name) #Store output of get_binary_name here if [ ! "${PIHOLE_SKIP_FTL_CHECK}" = true ]; then
# Abort early if this processor is not supported (get_binary_name returns empty string) # Get the binary name for the current architecture
if [[ "${funcOutput}" == "" ]]; then local funcOutput
printf " %b Upgrade/install aborted\\n" "${CROSS}" "${DISTRO_NAME}" funcOutput=$(get_binary_name) #Store output of get_binary_name here
exit 1 # Abort early if this processor is not supported (get_binary_name returns empty string)
if [[ "${funcOutput}" == "" ]]; then
printf " %b Upgrade/install aborted\\n" "${CROSS}" "${DISTRO_NAME}"
exit 1
fi
fi fi
# in case of an update (can be a v5 -> v6 or v6 -> v6 update) # in case of an update (can be a v5 -> v6 or v6 -> v6 update)
@ -2476,13 +2481,16 @@ main() {
create_pihole_user create_pihole_user
# Download and install FTL # Download and install FTL
local binary # Allow the user to skip this check if they are using a self-compiled FTL binary from an unsupported architecture
binary="pihole-FTL${funcOutput##*pihole-FTL}" #binary name will be the last line of the output of get_binary_name (it always begins with pihole-FTL) if [ ! "${PIHOLE_SKIP_FTL_CHECK}" = true ]; then
local theRest local binary
theRest="${funcOutput%pihole-FTL*}" # Print the rest of get_binary_name's output to display (cut out from first instance of "pihole-FTL") binary="pihole-FTL${funcOutput##*pihole-FTL}" #binary name will be the last line of the output of get_binary_name (it always begins with pihole-FTL)
if ! FTLdetect "${binary}" "${theRest}"; then local theRest
printf " %b FTL Engine not installed\\n" "${CROSS}" theRest="${funcOutput%pihole-FTL*}" # Print the rest of get_binary_name's output to display (cut out from first instance of "pihole-FTL")
exit 1 if ! FTLdetect "${binary}" "${theRest}"; then
printf " %b FTL Engine not installed\\n" "${CROSS}"
exit 1
fi
fi fi
# Install and log everything to a file # Install and log everything to a file