V5.0 FTL Update available misleading message

here's my output of both commands

$ pihole -v
  Pi-hole version is v4.3.2-393-g37a44c07 (Latest: v4.3.2)
  AdminLTE version is v4.3.2-384-g2860ce3f (Latest: v4.3.2)
  FTL version is vDev-3639b33 (Latest: v4.3.1)
$ pihole -up
  [i] Checking for updates...
  [i] Pi-hole Core:     up to date
  [i] Web Interface:    up to date
  [i] FTL:              up to date
  [i] Warning: You are using FTL from a custom branch (release/v5.0) and might be missing future releases.

  [✓] Everything is up to date!

What is the output of cat /etc/pihole/ftlbranch

1 Like

cat /etc/pihole/ftlbranch
release/v5.0
pi@pi3zw:~ $

Run these and post output:

cd /etc/.pihole
sudo git status

pi@pi3zw:~ $ cd /etc/.pihole
pi@pi3zw:/etc/.pihole $ sudo git status
On branch release/v5.0
Your branch is up to date with 'origin/release/v5.0'.

nothing to commit, working tree clean

Here is the latest output of pihole -v and it now says both Web and FTL needs update.

pi@pi3zw:/etc/.pihole $ pihole -v
Pi-hole version is v4.3.2-393-g37a44c0 (Latest: v4.3.2)
AdminLTE version is v4.3.2-384-g2860ce3f (Latest: v4.3.2)
FTL version is vDev-3639b33 (Latest: v4.3.1)
pi@pi3zw:/etc/.pihole $ pihole -up
[i] Checking for updates...
[i] Pi-hole Core: up to date
[i] Web Interface: update available
[i] FTL: update available
[i] Warning: You are using FTL from a custom branch (release/v5.0) and might be missing future releases.

[i] Pi-hole Web Admin files out of date, updating local repo.
[✓] Check for existing repository in /var/www/html/admin
[✓] Update repo in /var/www/html/admin

[i] If you had made any changes in '/var/www/html/admin/', they have been stashed using 'git stash'

[i] FTL out of date, it will be updated by the installer.

[✓] Root user check

sudo bash -x /opt/pihole/update.sh

1 Like
pi@pi3zw:~ $ sudo bash -x /opt/pihole/update.sh
+ readonly ADMIN_INTERFACE_GIT_URL=https://github.com/pi-hole/AdminLTE.git
+ ADMIN_INTERFACE_GIT_URL=https://github.com/pi-hole/AdminLTE.git
+ readonly ADMIN_INTERFACE_DIR=/var/www/html/admin
+ ADMIN_INTERFACE_DIR=/var/www/html/admin
+ readonly PI_HOLE_GIT_URL=https://github.com/pi-hole/pi-hole.git
+ PI_HOLE_GIT_URL=https://github.com/pi-hole/pi-hole.git
+ readonly PI_HOLE_FILES_DIR=/etc/.pihole
+ PI_HOLE_FILES_DIR=/etc/.pihole
+ PH_TEST=true
+ CHECK_ONLY=false
+ source '/etc/.pihole/automated install/basic-install.sh'
++ set -e
+++ cat
++ DNS_SERVERS='Google (ECS);8.8.8.8;8.8.4.4;2001:4860:4860:0:0:0:0:8888;2001:4860:4860:0:0:0:0:8844
OpenDNS (ECS);208.67.222.222;208.67.220.220;2620:119:35::35;2620:119:53::53
Level3;4.2.2.1;4.2.2.2;;
Comodo;8.26.56.26;8.20.247.20;;
DNS.WATCH;84.200.69.80;84.200.70.40;2001:1608:10:25:0:0:1c04:b12f;2001:1608:10:25:0:0:9249:d69b
Quad9 (filtered, DNSSEC);9.9.9.9;149.112.112.112;2620:fe::fe;2620:fe::9
Quad9 (unfiltered, no DNSSEC);9.9.9.10;149.112.112.10;2620:fe::10;2620:fe::fe:10
Quad9 (filtered + ECS);9.9.9.11;149.112.112.11;2620:fe::11;
Cloudflare;1.1.1.1;1.0.0.1;2606:4700:4700::1111;2606:4700:4700::1001'
++ installLogLoc=/etc/pihole/install.log
++ setupVars=/etc/pihole/setupVars.conf
++ lighttpdConfig=/etc/lighttpd/lighttpd.conf
++ coltable=/opt/pihole/COL_TABLE
++ webroot=/var/www/html
++ webInterfaceGitUrl=https://github.com/pi-hole/AdminLTE.git
++ webInterfaceDir=/var/www/html/admin
++ piholeGitUrl=https://github.com/pi-hole/pi-hole.git
++ PI_HOLE_LOCAL_REPO=/etc/.pihole
++ PI_HOLE_FILES=(chronometer list piholeDebug piholeLogFlush setupLCD update version gravity uninstall webpage)
++ PI_HOLE_INSTALL_DIR=/opt/pihole
++ PI_HOLE_CONFIG_DIR=/etc/pihole
++ PI_HOLE_BIN_DIR=/usr/local/bin
++ PI_HOLE_BLOCKPAGE_DIR=/var/www/html/pihole
++ useUpdateVars=false
++ adlistFile=/etc/pihole/adlists.list
++ IPV4_ADDRESS=
++ IPV6_ADDRESS=
++ QUERY_LOGGING=true
++ INSTALL_WEB_INTERFACE=true
++ PRIVACY_LEVEL=0
++ '[' -z root ']'
++ '[' -t 0 ']'
+++ stty size
++ screen_size='33 62'
++ printf -v rows %d 33
++ printf -v columns %d 62
++ r=16
++ c=31
++ r=20
++ c=70
++ skipSpaceCheck=false
++ reconfigure=false
++ runUnattended=false
++ INSTALL_WEB_SERVER=true
++ [[ -f /opt/pihole/COL_TABLE ]]
++ source /opt/pihole/COL_TABLE
+++ [[ -t 1 ]]
++++ tput colors
+++ [[ 8 -ge 8 ]]
+++ COL_BOLD=''
+++ COL_ULINE=''
+++ COL_NC=''
+++ COL_GRAY=''
+++ COL_RED=''
+++ COL_GREEN=''
+++ COL_YELLOW=''
+++ COL_BLUE=''
+++ COL_PURPLE=''
+++ COL_CYAN=''
+++ COL_WHITE=''
+++ COL_BLACK=''
+++ COL_LIGHT_BLUE=''
+++ COL_LIGHT_GREEN=''
+++ COL_LIGHT_CYAN=''
+++ COL_LIGHT_RED=''
+++ COL_URG_RED=''
+++ COL_LIGHT_PURPLE=''
+++ COL_BROWN=''
+++ COL_LIGHT_GRAY=''
+++ COL_DARK_GRAY=''
+++ TICK='[✓]'
+++ CROSS='[✗]'
+++ INFO='[i]'
+++ QST='[?]'
+++ DONE=' done!'
+++ OVER='\r'
++ counter=0
++ [[ true != true ]]
+ source /opt/pihole/COL_TABLE
++ [[ -t 1 ]]
+++ tput colors
++ [[ 8 -ge 8 ]]
++ COL_BOLD=''
++ COL_ULINE=''
++ COL_NC=''
++ COL_GRAY=''
++ COL_RED=''
++ COL_GREEN=''
++ COL_YELLOW=''
++ COL_BLUE=''
++ COL_PURPLE=''
++ COL_CYAN=''
++ COL_WHITE=''
++ COL_BLACK=''
++ COL_LIGHT_BLUE=''
++ COL_LIGHT_GREEN=''
++ COL_LIGHT_CYAN=''
++ COL_LIGHT_RED=''
++ COL_URG_RED=''
++ COL_LIGHT_PURPLE=''
++ COL_BROWN=''
++ COL_LIGHT_GRAY=''
++ COL_DARK_GRAY=''
++ TICK='[✓]'
++ CROSS='[✗]'
++ INFO='[i]'
++ QST='[?]'
++ DONE=' done!'
++ OVER='\r'
+ [[ '' == \-\-\c\h\e\c\k\-\o\n\l\y ]]
+ main
+ local 'basicError=\n  Unable to complete update, please contact Pi-hole Support'
+ local core_update
+ local web_update
+ local FTL_update
+ core_update=false
+ web_update=false
+ FTL_update=false
+ source /etc/pihole/setupVars.conf
++ WEBPASSWORD=578084e53e1f1f5f0830c9e6228bccca5e61467d193f2a000d047f7ef1689511
++ TEMPERATUREUNIT=C
++ ADMIN_EMAIL=demo@demo.con
++ WEBUIBOXEDLAYOUT=boxed
++ API_EXCLUDE_DOMAINS=
++ API_EXCLUDE_CLIENTS=
++ API_QUERY_LOG_SHOW=all
++ API_PRIVACY_MODE=false
++ DNSMASQ_LISTENING=local
++ DNS_FQDN_REQUIRED=true
++ DNS_BOGUS_PRIV=true
++ DNSSEC=false
++ CONDITIONAL_FORWARDING=false
++ BLOCKING_ENABLED=true
++ PIHOLE_INTERFACE=wlan0
++ IPV4_ADDRESS=10.125.156.12/24
++ IPV6_ADDRESS=
++ PIHOLE_DNS_1=127.0.0.1#5353
++ PIHOLE_DNS_2=
++ QUERY_LOGGING=true
++ INSTALL_WEB_SERVER=true
++ INSTALL_WEB_INTERFACE=true
++ LIGHTTPD_ENABLED=true
+ is_repo /etc/.pihole
+ local directory=/etc/.pihole
+ local rc
+ [[ -d /etc/.pihole ]]
+ pushd /etc/.pihole
+ git status --short
+ popd
+ return 0
+ echo -e '  [i] Checking for updates...'
  [i] Checking for updates...
+ GitCheckUpdateAvail /etc/.pihole
+ local directory
+ directory=/etc/.pihole
+ curdir=/home/pi
+ cd /etc/.pihole
+ git fetch --quiet origin
++ git rev-parse '@{0}'
+ LOCAL=37a44c0773d58777363f3bfb992a1049cacabead
++ git rev-parse '@{upstream}'
+ REMOTE=8e10c22356ab61179c6967185ce975ea88e854fa
+ [[ 40 == 0 ]]
+ [[ 40 == 0 ]]
+ cd /home/pi
+ [[ 37a44c0773d58777363f3bfb992a1049cacabead != \8\e\1\0\c\2\2\3\5\6\a\b\6\1\1\7\9\c\6\9\6\7\1\8\5\c\e\9\7\5\e\a\8\8\e\8\5\4\f\a ]]
+ return 0
+ core_update=true
+ echo -e '  [i] Pi-hole Core:\tupdate available'
  [i] Pi-hole Core:     update available
+ [[ true == true ]]
+ is_repo /var/www/html/admin
+ local directory=/var/www/html/admin
+ local rc
+ [[ -d /var/www/html/admin ]]
+ pushd /var/www/html/admin
+ git status --short
+ popd
+ return 0
+ GitCheckUpdateAvail /var/www/html/admin
+ local directory
+ directory=/var/www/html/admin
+ curdir=/home/pi
+ cd /var/www/html/admin
+ git fetch --quiet origin
++ git rev-parse '@{0}'
+ LOCAL=4333931888baa14785dcd25275c6ce17f39b9296
++ git rev-parse '@{upstream}'
+ REMOTE=4333931888baa14785dcd25275c6ce17f39b9296
+ [[ 40 == 0 ]]
+ [[ 40 == 0 ]]
+ cd /home/pi
+ [[ 4333931888baa14785dcd25275c6ce17f39b9296 != \4\3\3\3\9\3\1\8\8\8\b\a\a\1\4\7\8\5\d\c\d\2\5\2\7\5\c\6\c\e\1\7\f\3\9\b\9\2\9\6 ]]
+ return 1
+ web_update=false
+ echo -e '  [i] Web Interface:\tup to date'
  [i] Web Interface:    up to date
+ local funcOutput
++ get_binary_name
++ local machine
+++ uname -m
++ machine=armv6l
++ local l_binary
++ local 'str=Detecting architecture'
++ printf '  %b %s...' '[i]' 'Detecting architecture'
++ [[ armv6l == \a\r\m* ]]
++ local rev
+++ uname -m
+++ sed 's/[^0-9]//g;'
++ rev=6
++ local lib
+++ awk '{ print $1 }'
+++ grep -E '^\s*/lib'
+++ ldd /bin/ls
++ lib=/lib/ld-linux-armhf.so.3
++ [[ /lib/ld-linux-armhf.so.3 == \/\l\i\b\/\l\d\-\l\i\n\u\x\-\a\a\r\c\h\6\4\.\s\o\.\1 ]]
++ [[ /lib/ld-linux-armhf.so.3 == \/\l\i\b\/\l\d\-\l\i\n\u\x\-\a\r\m\h\f\.\s\o\.\3 ]]
++ [[ 6 -gt 6 ]]
++ printf '%b  %b Detected ARM-hf architecture (armv6 or lower) Using ARM binary\n' '\r' '[✓]'
++ l_binary=pihole-FTL-arm-linux-gnueabi
++ echo pihole-FTL-arm-linux-gnueabi
  [✓] Detected ARM-hf architecture (armv6 or lower) Using ARM binary
pihole-FTL-arm-linux-gnueabi'
+ local binary
+ binary=pihole-FTL-arm-linux-gnueabi
+ FTLcheckUpdate pihole-FTL-arm-linux-gnueabi
+ printf '  %b Checking for existing FTL binary...\n' '[i]'
+ local ftlLoc
++ which pihole-FTL
+ ftlLoc=/usr/bin/pihole-FTL
+ local ftlBranch
+ [[ -f /etc/pihole/ftlbranch ]]
+ ftlBranch=release/v5.0
+ local binary
+ binary=pihole-FTL-arm-linux-gnueabi
+ local remoteSha1
+ local localSha1
+ which dnsmasq
+ check_service_active dnsmasq
+ is_command systemctl
+ local check_command=systemctl
+ command -v systemctl
+ systemctl is-enabled dnsmasq
+ return 0
+ FTL_update=true
+ echo -e '  [i] FTL:\t\tupdate available'
  [i] FTL:              update available
+ local ftlBranch
+ [[ -f /etc/pihole/ftlbranch ]]
+ ftlBranch=release/v5.0
+ [[ ! release/v5.0 == \m\a\s\t\e\r ]]
+ [[ ! release/v5.0 == \d\e\v\e\l\o\p\m\e\n\t ]]
+ printf '  %b %bWarning:%b You are using FTL from a custom branch (%s) and might be missing future releases.\n' '[i]' '' '' release/v5.0
  [i] Warning: You are using FTL from a custom branch (release/v5.0) and might be missing future releases.
+ [[ true == false ]]
+ [[ false == true ]]
+ [[ true == true ]]
+ echo ''

+ echo -e '  [i] Pi-hole core files out of date, updating local repo.'
  [i] Pi-hole core files out of date, updating local repo.
+ getGitFiles /etc/.pihole https://github.com/pi-hole/pi-hole.git
+ local directory=/etc/.pihole
+ local remoteRepo=https://github.com/pi-hole/pi-hole.git
+ local 'str=Check for existing repository in /etc/.pihole'
+ printf '  %b %s...' '[i]' 'Check for existing repository in /etc/.pihole'
  [i] Check for existing repository in /etc/.pihole...+ is_repo /etc/.pihole
+ local directory=/etc/.pihole
+ local rc
+ [[ -d /etc/.pihole ]]
+ pushd /etc/.pihole
+ git status --short
+ popd
+ return 0
+ printf '%b  %b %s\n' '\r' '[✓]' 'Check for existing repository in /etc/.pihole'
  [✓] Check for existing repository in /etc/.pihole
+ update_repo /etc/.pihole
+ local directory=/etc/.pihole
+ local curBranch
+ local 'str=Update repo in /etc/.pihole'
+ pushd /etc/.pihole
+ printf '  %b %s...' '[i]' 'Update repo in /etc/.pihole'
  [i] Update repo in /etc/.pihole...+ git stash --all --quiet
+ git clean --quiet --force -d
+ git pull --quiet
++ git rev-parse --abbrev-ref HEAD
+ curBranch=release/v5.0
+ [[ release/v5.0 == \m\a\s\t\e\r ]]
+ printf '%b  %b %s\n' '\r' '[✓]' 'Update repo in /etc/.pihole'
  [✓] Update repo in /etc/.pihole
+ chmod -R a+rX /etc/.pihole
+ popd
+ return 0
+ echo ''

+ return 0
+ echo -e '  [i] If you had made any changes in '\''/etc/.pihole/'\'', they have been stashed using '\''git stash'\'''
  [i] If you had made any changes in '/etc/.pihole/', they have been stashed using 'git stash'
+ [[ false == true ]]
+ [[ true == true ]]
+ echo ''

+ echo -e '  [i] FTL out of date, it will be updated by the installer.'
  [i] FTL out of date, it will be updated by the installer.
+ [[ true == true ]]
+ '/etc/.pihole/automated install/basic-install.sh' --reconfigure --unattended

  [✓] Root user check

        .;;,.
        .ccccc:,.
         :cccclll:.      ..,,
          :ccccclll.   ;ooodc
           'ccll:;ll .oooodc
             .;cll.;;looo:.
                 .. ','.
                .',,,,,,'.
              .',,,,,,,,,,.
            .',,,,,,,,,,,,....
          ....''',,,,,,,'.......
        .........  ....  .........
        ..........      ..........
        ..........      ..........
        .........  ....  .........
          ........,,,,,,,'......
            ....',,,,,,,,,,,,.
               .',,,,,,,,,'.
                .',,,,,,'.
                  ..'''.

^C
pi@pi3zw:~ $

please format this Preformatted text using ``` at the beginning and end of the terminal output also did you break the script by pressing CTRL + C?

1 Like

Yes, had to ctl+c in the end as I didn't want to go thru the update.

Do you have dnsmasq installed and enabled? If you do then FTL will always install the binary.

Edit: Code is at pi-hole/basic-install.sh at release/v5.0 · pi-hole/pi-hole · GitHub

Shouldn’t pihole-r have done that?

Done what?

Installed and enabled the required dependency’s

It's not a dependency. FTL includes dnsmasq so the actual dnsmasq package and binary are not needed. Having it installed will cause issues.

Ok so the pihole-r script will not check if it’s there and throw an error or ask to remove it

No, it won't. But lets see if the OP has any response first before things get off on a tangent.

1 Like

Yes, should I purge dnsmasq?

"
pi@pi3zw:~ $ dnsmasq -v
Dnsmasq version 2.80 Copyright (c) 2000-2018 Simon Kelley
Compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC loop-detect inotify dumpfile

This software comes with ABSOLUTELY NO WARRANTY.
Dnsmasq is free software, and you are welcome to redistribute it
under the terms of the GNU General Public License, version 2 or 3.
pi@pi3zw:~ $
"

You could try stopping and disabling it first:

systemctl stop dnsmasq
systemctl disable dnsmasq
2 Likes

Disabled and purged dnsmasq and dnsmasq-base packages, and now pihole is showing no updates for FTL.

Thank you everyone all for helping.

2 Likes