diff --git a/automated install/basic-install.sh b/automated install/basic-install.sh index 0b3dd680..b9ed04a4 100755 --- a/automated install/basic-install.sh +++ b/automated install/basic-install.sh @@ -1887,9 +1887,9 @@ get_binary_name() { printf "%b %b Detected AArch64 (64 Bit ARM) architecture\\n" "${OVER}" "${TICK}" # set the binary to be used l_binary="pihole-FTL-arm64" - elif [[ "${cpu_arch}" == "armv6KZ" ]]; then - printf "%b %b Detected ARMv6KZ architecture\\n" "${OVER}" "${TICK}" - # set the binary to be used + elif [[ "${cpu_arch}" == "armv6"* ]]; then + printf "%b %b Detected ARMv6 architecture\\n" "${OVER}" "${TICK}" + # set the binary to be used (e.g., BCM2835 as found in Raspberry Pi Zero and Model 1) l_binary="pihole-FTL-armv6" else # If ARMv8 or higher is found (e.g., BCM2837 as found in Raspberry Pi Model 3B) @@ -1902,24 +1902,10 @@ get_binary_name() { printf "%b %b Detected ARMv7 architecture (%s)\\n" "${OVER}" "${TICK}" "${cpu_arch}" # set the binary to be used l_binary="pihole-FTL-armv6" - elif [[ "${cpu_arch}" == "v5TE" || "${rev}" -gt 5 ]]; then - # Check if the system is using GLIBC 2.29 or higher - if [[ -n "${l_glibc_version}" && "$(printf '%s\n' "2.29" "${l_glibc_version}" | sort -V | head -n1)" == "2.29" ]]; then - # If so, use the ARMv6 binary (e.g., BCM2835 as found in Raspberry Pi Zero and Model 1) - printf "%b %b Detected ARMv6 architecture (running GLIBC 2.29 or higher, %s)\\n" "${OVER}" "${TICK}" "${cpu_arch}" - # set the binary to be used - l_binary="pihole-FTL-armv5" - else - # Otherwise, use the ARMv5 binary (e.g., BCM2835 as found in Raspberry Pi Zero and Model 1) - printf "%b %b Detected ARMv6 architecture (running GLIBC older than 2.29, %s)\\n" "${OVER}" "${TICK}" "${cpu_arch}" - # set the binary to be used - l_binary="pihole-FTL-armv4" - fi else - # Otherwise, use the ARMv4 binary (e.g., BCM2835 as found in Raspberry Pi Zero and Model 1) - printf "%b %b Detected ARMv4 or ARMv5 architecture (%s)\\n" "${OVER}" "${TICK}" "${cpu_arch}" - # set the binary to be used - l_binary="pihole-FTL-armv4" + # Otherwise, Pi-hole does not support this architecture + printf "%b %b This processor architecture is not supported by Pi-hole (%s)\\n" "${OVER}" "${CROSS}" "${cpu_arch}" + l_binary="" fi fi elif [[ "${machine}" == "x86_64" ]]; then diff --git a/test/test_any_automated_install.py b/test/test_any_automated_install.py index a8e0e082..1980f0b6 100644 --- a/test/test_any_automated_install.py +++ b/test/test_any_automated_install.py @@ -259,158 +259,12 @@ def test_FTL_detect_aarch64_no_errors(host): assert expected_stdout in detectPlatform.stdout -def test_FTL_detect_armv4_no_errors(host): - """ - confirms only armv4 package is downloaded for FTL engine - """ - # mock uname to return armv4 platform - mock_command("uname", {"-m": ("armv4t", "0")}, host) - # mock readelf to respond with armv4 CPU architecture - mock_command_2( - "readelf", - { - "-A /bin/sh": ("Tag_CPU_arch: armv4t", "0"), - "-A /usr/bin/sh": ("Tag_CPU_arch: armv4t", "0"), - }, - host, - ) - detectPlatform = host.run( - """ - source /opt/pihole/basic-install.sh - create_pihole_user - funcOutput=$(get_binary_name) - binary="pihole-FTL${funcOutput##*pihole-FTL}" - theRest="${funcOutput%pihole-FTL*}" - FTLdetect "${binary}" "${theRest}" - """ - ) - expected_stdout = info_box + " FTL Checks..." - assert expected_stdout in detectPlatform.stdout - expected_stdout = tick_box + " Detected ARMv4 or ARMv5 architecture (armv4t)" - assert expected_stdout in detectPlatform.stdout - expected_stdout = tick_box + " Downloading and Installing FTL" - assert expected_stdout in detectPlatform.stdout - - -def test_FTL_detect_armv5_no_errors(host): - """ - confirms only armv5 package is downloaded for FTL engine - """ - # mock uname to return armv5te platform - mock_command("uname", {"-m": ("armv5te", "0")}, host) - # mock readelf to respond with armv5 CPU architecture - mock_command_2( - "readelf", - { - "-A /bin/sh": ("Tag_CPU_arch: armv5te", "0"), - "-A /usr/bin/sh": ("Tag_CPU_arch: armv5te", "0"), - }, - host, - ) - detectPlatform = host.run( - """ - source /opt/pihole/basic-install.sh - create_pihole_user - funcOutput=$(get_binary_name) - binary="pihole-FTL${funcOutput##*pihole-FTL}" - theRest="${funcOutput%pihole-FTL*}" - FTLdetect "${binary}" "${theRest}" - """ - ) - expected_stdout = info_box + " FTL Checks..." - assert expected_stdout in detectPlatform.stdout - expected_stdout = tick_box + " Detected ARMv4 or ARMv5 architecture (armv5te)" - assert expected_stdout in detectPlatform.stdout - expected_stdout = tick_box + " Downloading and Installing FTL" - assert expected_stdout in detectPlatform.stdout - - -def test_FTL_detect_armv6_old_no_errors(host): +def test_FTL_detect_armv6_no_errors(host): """ confirms only armv6 package is downloaded for FTL engine """ - # mock uname to return armv6l platform - mock_command("uname", {"-m": ("armv6l", "0")}, host) - # mock readelf to respond with armv6l CPU architecture - mock_command_2( - "readelf", - { - "-A /bin/sh": ("Tag_CPU_arch: armv6l", "0"), - "-A /usr/bin/sh": ("Tag_CPU_arch: armv6l", "0"), - }, - host, - ) - # Mock old ldd GLIBC version - mock_command( - "ldd", {"--version": ("ldd (Debian GLIBC 2.13-38+deb7u8) 2.13", "0")}, host - ) - - detectPlatform = host.run( - """ - source /opt/pihole/basic-install.sh - create_pihole_user - funcOutput=$(get_binary_name) - binary="pihole-FTL${funcOutput##*pihole-FTL}" - theRest="${funcOutput%pihole-FTL*}" - FTLdetect "${binary}" "${theRest}" - """ - ) - expected_stdout = info_box + " FTL Checks..." - assert expected_stdout in detectPlatform.stdout - expected_stdout = tick_box + ( - " Detected ARMv6 architecture (running GLIBC older than 2.29, armv6l)" - ) - assert expected_stdout in detectPlatform.stdout - expected_stdout = tick_box + " Downloading and Installing FTL" - assert expected_stdout in detectPlatform.stdout - - -def test_FTL_detect_armv6_recent_no_errors(host): - """ - confirms only armv6 package is downloaded for FTL engine - """ - # mock uname to return armv6l platform - mock_command("uname", {"-m": ("armv6l", "0")}, host) - # mock readelf to respond with armv6l CPU architecture - mock_command_2( - "readelf", - { - "-A /bin/sh": ("Tag_CPU_arch: armv6l", "0"), - "-A /usr/bin/sh": ("Tag_CPU_arch: armv6l", "0"), - }, - host, - ) - # Mock old ldd GLIBC version - mock_command( - "ldd", {"--version": ("'ldd (Debian GLIBC 2.35-38+deb7u8) 2.35'", "0")}, host - ) - - detectPlatform = host.run( - """ - source /opt/pihole/basic-install.sh - create_pihole_user - funcOutput=$(get_binary_name) - binary="pihole-FTL${funcOutput##*pihole-FTL}" - theRest="${funcOutput%pihole-FTL*}" - FTLdetect "${binary}" "${theRest}" - """ - ) - expected_stdout = info_box + " FTL Checks..." - assert expected_stdout in detectPlatform.stdout - expected_stdout = tick_box + ( - " Detected ARMv6 architecture (running GLIBC 2.29 or higher, armv6l)" - ) - assert expected_stdout in detectPlatform.stdout - expected_stdout = tick_box + " Downloading and Installing FTL" - assert expected_stdout in detectPlatform.stdout - - -def test_FTL_detect_armv6KZ_no_errors(host): - """ - confirms only armv6KZ package is downloaded for FTL engine - """ - # mock uname to return armv6KZ platform - mock_command("uname", {"-m": ("armv6KZ", "0")}, host) + # mock uname to return armv6 platform + mock_command("uname", {"-m": ("armv6", "0")}, host) # mock readelf to respond with armv6l CPU architecture mock_command_2( "readelf", @@ -432,7 +286,7 @@ def test_FTL_detect_armv6KZ_no_errors(host): ) expected_stdout = info_box + " FTL Checks..." assert expected_stdout in detectPlatform.stdout - expected_stdout = tick_box + " Detected ARMv6KZ architecture" + expected_stdout = tick_box + " Detected ARMv6 architecture" assert expected_stdout in detectPlatform.stdout expected_stdout = tick_box + " Downloading and Installing FTL" assert expected_stdout in detectPlatform.stdout