Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Beta v8.18.2 #6411

Merged
merged 27 commits into from
Jun 3, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 20 additions & 14 deletions .github/workflows/dietpi-software.bash
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ Process_Software()
local i
for i in "$@"
do
# shellcheck disable=SC2016
case $i in
'webserver') [[ $SOFTWARE =~ (^| )8[345]( |$) ]] || aSERVICES[84]='lighttpd' aTCP[84]='80';; # Lighttpd as default due to above bug in 32-bit ARM Bookworm containers
0) aCOMMANDS[i]='ssh -V';;
Expand Down Expand Up @@ -115,7 +116,7 @@ Process_Software()
71) aSERVICES[i]='webiopi' aTCP[i]='8002';;
73) aSERVICES[i]='fail2ban';;
74) aSERVICES[i]='influxdb' aTCP[i]='8086 8088';;
77) aSERVICES[i]='grafana-server' aTCP[i]='3001'; (( $arch < 10 )) && aDELAY[i]=30;;
77) aSERVICES[i]='grafana-server' aTCP[i]='3001'; (( $arch < 10 )) && aDELAY[i]=60;;
80) aSERVICES[i]='ubooquity' aTCP[i]='2038 2039'; (( $arch == 10 )) || aDELAY[i]=30;;
83) aSERVICES[i]='apache2' aTCP[i]='80';;
84) aSERVICES[i]='lighttpd' aTCP[i]='80';;
Expand All @@ -128,18 +129,20 @@ Process_Software()
94) aSERVICES[i]='proftpd' aTCP[i]='21';;
95) aSERVICES[i]='vsftpd' aTCP[i]='21';;
96) aSERVICES[i]='smbd' aTCP[i]='139 445';;
97) aSERVICES[i]='openvpn' aUDP[i]='1194';;
97) aCOMMANDS[i]='openvpn --version';; # aSERVICES[i]='openvpn' aUDP[i]='1194' GitHub Action runners to not support the TUN module
98) aSERVICES[i]='haproxy' aTCP[i]='80';;
99) aSERVICES[i]='node_exporter' aTCP[i]='9100';;
100) aSERVICES[i]='pijuice';; # aTCP[i]='????';;
#100) (( $arch < 3 )) && aCOMMANDS[i]='/usr/bin/pijuice_cli32 -V' || aCOMMANDS[i]='/usr/bin/pijuice_cli64 -V' aSERVICES[i]='pijuice' aTCP[i]='????' Service does not start without I2C device, not present in container and CLI command always puts you in interactive console
104) aSERVICES[i]='dropbear' aTCP[i]='22';;
105) aSERVICES[i]='ssh' aTCP[i]='22';;
106) aSERVICES[i]='lidarr' aTCP[i]='8686';;
106) aSERVICES[i]='lidarr' aTCP[i]='8686'; (( $arch < 10 )) && aDELAY[i]=60;;
107) aSERVICES[i]='rtorrent' aTCP[i]='49164' aUDP[i]='6881';;
108) aCOMMANDS[i]='LD_LIBRARY_PATH=/mnt/dietpi_userdata/amiberry/lib /mnt/dietpi_userdata/amiberry/amiberry -h | grep '\''^$VER: Amiberry '\';;
109) aSERVICES[i]='nfs-kernel-server' aTCP[i]='2049';;
110) aCOMMANDS[i]='mount.nfs -V';;
111) aSERVICES[i]='urbackupsrv' aTCP[i]='55414';;
115) aSERVICES[i]='webmin' aTCP[i]='10000';;
116) aSERVICES[i]='medusa' aTCP[i]='8081';;
116) aSERVICES[i]='medusa' aTCP[i]='8081'; (( $arch == 10 )) || aDELAY[i]=30;;
#117) :;; # ToDo: Implement automated install via /boot/unattended_pivpn.conf
118) aSERVICES[i]='mopidy' aTCP[i]='6680';;
121) aSERVICES[i]='roonbridge' aUDP[i]='9003';;
Expand All @@ -151,7 +154,8 @@ Process_Software()
128) aSERVICES[i]='mpd' aTCP[i]='6600';;
131) aSERVICES[i]='blynkserver' aTCP[i]='9443';;
132) aSERVICES[i]='aria2' aTCP[i]='6800';; # aTCP[i]+=' 6881-6999';; # Listens on random port
133) aSERVICES[i]='yacy' aTCP[i]='8090';;
133) aSERVICES[i]='yacy' aTCP[i]='8090' aDELAY[i]=30;;
134) aSERVICES[i]='docker compose version';;
135) aSERVICES[i]='icecast2 darkice' aTCP[i]='8000';;
136) aSERVICES[i]='motioneye' aTCP[i]='8765';;
137) aSERVICES[i]='mjpg-streamer' aTCP[i]='8082';;
Expand Down Expand Up @@ -221,13 +225,13 @@ do
27|56|63|64|107|132) Process_Software 89 webserver;; # 93 (Pi-hole) cannot be installed non-interactively
38|40|48|54|55|57|59|90|160) Process_Software 88 89 webserver;;
47|114|168) Process_Software 88 89 91 webserver;;
8|33) Process_Software 196;;
8|33|131) Process_Software 196;;
32|148|119) Process_Software 128;;
129) Process_Software 88 89 128 webserver;;
49|165) Process_Software 88;;
#61) Process_Software 60;; # Cannot be installed in CI
125) Process_Software 194;;
#86|185) Process_Software 162;; # Docker does not start in systemd containers (without dedicated network)
#86|134|185) Process_Software 162;; # Docker does not start in systemd containers (without dedicated network)
*) :;;
esac
Process_Software "$i"
Expand Down Expand Up @@ -275,7 +279,9 @@ then
3) model=4;;
*) G_DIETPI-NOTIFY 1 "Invalid architecture $ARCH beginning with \"a\" but not being one of the known/accepted ARM architectures. This should never happen!"; exit 1;;
esac
G_EXEC sed -i "/# Start DietPi-Software/iG_EXEC sed -i -e '/^G_HW_MODEL=/cG_HW_MODEL=$model' -e '/^G_HW_MODEL_NAME=/cG_HW_MODEL_NAME=\"RPi $model ($ARCH)\"' /boot/dietpi/.hw_model; > /boot/config.txt; > /boot/cmdline.txt" rootfs/boot/dietpi/dietpi-login
G_EXEC rm rootfs/etc/.dietpi_hw_model_identifier
G_EXEC touch rootfs/boot/{bcm-rpi-dummy.dtb,config.txt,cmdline.txt}
G_EXEC sed -i "/# Start DietPi-Software/iG_EXEC sed -i -e '/^G_HW_MODEL=/cG_HW_MODEL=$model' -e '/^G_HW_MODEL_NAME=/cG_HW_MODEL_NAME=\"RPi $model ($ARCH)\"' /boot/dietpi/.hw_model" rootfs/boot/dietpi/dietpi-login
G_EXEC curl -sSf 'https://archive.raspberrypi.org/debian/pool/main/r/raspberrypi-archive-keyring/raspberrypi-archive-keyring_2021.1.1+rpt1_all.deb' -o keyring.deb
G_EXEC dpkg --root=rootfs -i keyring.deb
G_EXEC rm keyring.deb
Expand Down Expand Up @@ -348,19 +354,19 @@ _EOF_
# Check TCP ports
[[ ${aTCP[i]} ]] && for j in ${aTCP[i]}; do cat << _EOF_ >> rootfs/boot/Automation_Custom_Script.sh
echo '\e[33m[ INFO ] Checking TCP port $j status:\e[0m'
ss -tlpn | grep ':${j}[[:blank:]]' || exit_code=1
ss -tlpn | grep ':${j}[[:blank:]]' 2> /dev/null || { echo '[FAILED] Port not active'; exit_code=1; }
_EOF_
done
# Check UDP ports
[[ ${aUDP[i]} ]] && for j in ${aUDP[i]}; do cat << _EOF_ >> rootfs/boot/Automation_Custom_Script.sh
echo '\e[33m[ INFO ] Checking UDP port $j status:\e[0m'
ss -ulpn | grep ':${j}[[:blank:]]' || exit_code=1
ss -ulpn | grep ':${j}[[:blank:]]' 2> /dev/null || { echo '[FAILED] Port not active'; exit_code=1; }
_EOF_
done
# Check commands
[[ ${aCOMMANDS[i]} ]] && cat << _EOF_ >> rootfs/boot/Automation_Custom_Script.sh
echo '\e[33m[ INFO ] Testing command ${aCOMMANDS[i]}:\e[0m'
${aCOMMANDS[i]} || exit_code=1
${aCOMMANDS[i]} || { echo '[FAILED] Command returned error code'; exit_code=1; }
_EOF_
G_EXEC eval 'echo fi >> rootfs/boot/Automation_Custom_Script.sh'
done
Expand All @@ -370,11 +376,11 @@ done
G_EXEC eval 'echo '\''[ $exit_code = 0 ] && > /success || { journalctl -n 25; ss -tlpn; df -h; free -h; poweroff; }; poweroff'\'' >> rootfs/boot/Automation_Custom_Script.sh'

# Shutdown as well on failure
G_EXEC sed -i 's|Prompt_on_Failure$|{ journalctl -n 25; ss -tlpn; df -h; free -h; poweroff; }|' rootfs/boot/dietpi/dietpi-login
G_EXEC sed -i 's|Prompt_on_Failure$|{ journalctl -n 50; ss -tulpn; df -h; free -h; poweroff; }|' rootfs/boot/dietpi/dietpi-login

##########################################
# Boot container
##########################################
systemd-nspawn -bD rootfs
[[ -f 'rootfs/success' ]] || { journalctl -n 25; df -h; free -h; exit 1; }
[[ -f 'rootfs/success' ]] || { journalctl -n 25; ss -tulpn; df -h; free -h; exit 1; }
}
2 changes: 1 addition & 1 deletion .github/workflows/dietpi-software.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,5 +76,5 @@ jobs:
[ $owner ] || owner=$GITHUB_REPOSITORY_OWNER
branch='${{ github.event.inputs.branch }}'
[ $branch ] || branch=$GITHUB_REF_NAME
sudo systemctl stop ssh mono-xsp4
sudo systemctl stop ssh mono-xsp4 systemd-resolved
sudo bash -c "G_GITOWNER=$owner G_GITBRANCH=$branch; $(curl -sSf "https://raw.githubusercontent.com/$owner/DietPi/$branch/.github/workflows/dietpi-software.bash")" -- -a '${{ matrix.arch }}' -d '${{ matrix.dist }}' -s '${{ github.event.inputs.soft }}' -rpi '${{ github.event.inputs.rpi }}'
4 changes: 2 additions & 2 deletions .github/workflows/quartz64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ jobs:
{ curl -fO "https://gitlab.com/MichaIng/u-boot/-/archive/$uboot_branch/u-boot-$uboot_branch.tar.bz2"; tar xf "u-boot-$uboot_branch.tar.bz2"; rm "u-boot-$uboot_branch.tar.bz2"; } &
{ curl -fO 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/snapshot/linux-rolling-stable.tar.gz'; tar xf linux-rolling-stable.tar.gz; rm linux-rolling-stable.tar.gz; } &
wait
curl -sSfo "u-boot-$uboot_branch/u-boot-spl-ddr.bin" 'https://raw.githubusercontent.com/JeffyCN/rockchip_mirrors/rkbin/bin/rk35/rk3568_ddr_1560MHz_v1.13.bin' &
curl -sSfo "u-boot-$uboot_branch/bl31.elf" 'https://raw.githubusercontent.com/JeffyCN/rockchip_mirrors/6186deb/bin/rk35/rk3568_bl31_v1.28.elf' &
curl -sSfo "u-boot-$uboot_branch/u-boot-spl-ddr.bin" 'https://raw.githubusercontent.com/JeffyCN/mirrors/ddf03c1/bin/rk35/rk3568_ddr_1560MHz_v1.13.bin' &
curl -sSfo "u-boot-$uboot_branch/bl31.elf" 'https://raw.githubusercontent.com/JeffyCN/mirrors/6186deb/bin/rk35/rk3568_bl31_v1.28.elf' &
curl -sSfo linux-rolling-stable/arch/arm64/configs/quartz64_defconfig "https://raw.githubusercontent.com/$GITHUB_REPOSITORY_OWNER/DietPi/$GITHUB_REF_NAME/.build/images/Quartz64/quartz64_defconfig" &
rm -Rf firmware-quartz64a/DEBIAN firmware-quartz64a/boot/extlinux firmware-quartz64a/lib/firmware/brcm
mkdir -p firmware-quartz64a/DEBIAN firmware-quartz64a/boot/extlinux firmware-quartz64a/lib/firmware/brcm
Expand Down
82 changes: 44 additions & 38 deletions .update/patches
Original file line number Diff line number Diff line change
Expand Up @@ -776,11 +776,6 @@ Patch_8_10()
# Inform about available software updates
if [[ -f '/boot/dietpi/.installed' ]]
then
# Squeezelite
grep -q '^[[:blank:]]*aSOFTWARE_INSTALL_STATE\[36\]=2' /boot/dietpi/.installed && G_WHIP_MSG '[ INFO ] Squeezelite update available
\nAn update to Squeezelite v1.9.9-1411 is available. Apply it via reinstall:
# dietpi-software reinstall 36
\nChange log: https://github.com/ralph-irving/squeezelite/commits/bc72c0d'
# Home Assistant
grep -q '^[[:blank:]]*aSOFTWARE_INSTALL_STATE\[157\]=2' /boot/dietpi/.installed && G_WHIP_MSG '[ INFO ] HACS integration for Home Assistant available
\nThe Home Assistant Community Store (HACS) is now installed by default with Home Assistant. Add it via reinstall:
Expand Down Expand Up @@ -1227,31 +1222,6 @@ Patch_8_17()
G_EXEC sed -i '/^[[:blank:]]*dtoverlay=rpivid-v4l2$/d' /boot/config.txt
fi

# Quartz64
elif (( $G_HW_MODEL == 49 ))
then
if dpkg --compare-versions "$(dpkg-query -Wf '${Version}' firmware-quartz64a 2> /dev/null)" lt-nl 6.2.14-dietpi1
then
G_DIETPI-NOTIFY 2 'Updating Quartz64 Model A kernel and bootloader ...'
G_EXEC_OUTPUT=1 G_EXEC curl -fO 'https://dietpi.com/downloads/binaries/firmware-quartz64a.deb'
G_EXEC_OUTPUT=1 G_EXEC dpkg -i --force-confdef,confold firmware-quartz64a.deb
G_EXEC rm firmware-quartz64a.deb

elif dpkg --compare-versions "$(dpkg-query -Wf '${Version}' firmware-quartz64b 2> /dev/null)" lt-nl 6.2.14-dietpi1
then
G_DIETPI-NOTIFY 2 'Updating Quartz64 Model B kernel and bootloader ...'
G_EXEC_OUTPUT=1 G_EXEC curl -fO 'https://dietpi.com/downloads/binaries/firmware-quartz64b.deb'
G_EXEC_OUTPUT=1 G_EXEC dpkg -i --force-confdef,confold firmware-quartz64b.deb
G_EXEC rm firmware-quartz64b.deb

elif dpkg --compare-versions "$(dpkg-query -Wf '${Version}' firmware-soquartz 2> /dev/null)" lt-nl 6.2.14-dietpi1
then
G_DIETPI-NOTIFY 2 'Updating SOQuartz kernel and bootloader ...'
G_EXEC_OUTPUT=1 G_EXEC curl -fO 'https://dietpi.com/downloads/binaries/firmware-soquartz.deb'
G_EXEC_OUTPUT=1 G_EXEC dpkg -i --force-confdef,confold firmware-soquartz.deb
G_EXEC rm firmware-soquartz.deb
fi

# Sparky SBC: Fix Roonbridge: https://dietpi.com/forum/t/allogui-not-working-apache-service-doesnt-start/15708/13
elif (( $G_HW_MODEL == 70 ))
then
Expand Down Expand Up @@ -1318,14 +1288,6 @@ SUBSYSTEM=="leds", KERNEL=="wan_led", ACTION=="add", ATTR{trigger}="netdev", ATT
SUBSYSTEM=="leds", KERNEL=="lan1_led", ACTION=="add", ATTR{trigger}="netdev", ATTR{device_name}="eth1", ATTR{link}="1", ATTR{rx}="1", ATTR{tx}="1", RUN+="/bin/ip l s up dev eth1", RUN+="/bin/ip l s down dev eth1"
_EOF_
fi

# VisionFive 2
elif (( $G_HW_MODEL == 81 )) && dpkg --compare-versions "$(dpkg-query -Wf '${Version}' linux-image-visionfive2 2> /dev/null)" lt-nl 5.15.110-dietpi1
then
G_DIETPI-NOTIFY 2 'Updating RISC-V StarFive VisionFive 2 kernel ...'
G_EXEC_OUTPUT=1 G_EXEC curl -fO 'https://dietpi.com/downloads/binaries/linux-image-visionfive2.deb'
G_EXEC_OUTPUT=1 G_EXEC dpkg -i --force-confdef,confold linux-image-visionfive2.deb
G_EXEC rm linux-image-visionfive2.deb
fi
}

Expand Down Expand Up @@ -1359,6 +1321,50 @@ Patch_8_18()
[[ -f /lib/systemd/system/$i.service.disable ]] && G_EXEC mv "/lib/systemd/system/$i.service"{.disable,} && G_EXEC systemctl disable "$i"
done
fi

# Quartz64
if (( $G_HW_MODEL == 49 ))
then
if dpkg --compare-versions "$(dpkg-query -Wf '${Version}' firmware-quartz64a 2> /dev/null)" lt-nl 6.3.5-dietpi1
then
G_DIETPI-NOTIFY 2 'Updating Quartz64 Model A kernel and bootloader ...'
G_EXEC_OUTPUT=1 G_EXEC curl -fO 'https://dietpi.com/downloads/binaries/firmware-quartz64a.deb'
G_EXEC_OUTPUT=1 G_EXEC dpkg -i --force-confdef,confold firmware-quartz64a.deb
G_EXEC rm firmware-quartz64a.deb

elif dpkg --compare-versions "$(dpkg-query -Wf '${Version}' firmware-quartz64b 2> /dev/null)" lt-nl 6.3.5-dietpi1
then
G_DIETPI-NOTIFY 2 'Updating Quartz64 Model B kernel and bootloader ...'
G_EXEC_OUTPUT=1 G_EXEC curl -fO 'https://dietpi.com/downloads/binaries/firmware-quartz64b.deb'
G_EXEC_OUTPUT=1 G_EXEC dpkg -i --force-confdef,confold firmware-quartz64b.deb
G_EXEC rm firmware-quartz64b.deb

elif dpkg --compare-versions "$(dpkg-query -Wf '${Version}' firmware-soquartz 2> /dev/null)" lt-nl 6.3.5-dietpi1
then
G_DIETPI-NOTIFY 2 'Updating SOQuartz kernel and bootloader ...'
G_EXEC_OUTPUT=1 G_EXEC curl -fO 'https://dietpi.com/downloads/binaries/firmware-soquartz.deb'
G_EXEC_OUTPUT=1 G_EXEC dpkg -i --force-confdef,confold firmware-soquartz.deb
G_EXEC rm firmware-soquartz.deb
fi

# VisionFive 2
elif (( $G_HW_MODEL == 81 )) && dpkg --compare-versions "$(dpkg-query -Wf '${Version}' linux-image-visionfive2 2> /dev/null)" lt-nl 5.15.114-dietpi1
then
G_DIETPI-NOTIFY 2 'Updating RISC-V StarFive VisionFive 2 kernel ...'
G_EXEC_OUTPUT=1 G_EXEC curl -fO 'https://dietpi.com/downloads/binaries/linux-image-visionfive2.deb'
G_EXEC_OUTPUT=1 G_EXEC dpkg -i --force-confdef,confold linux-image-visionfive2.deb
G_EXEC rm linux-image-visionfive2.deb
fi

# Inform about available software updates
if [[ -f '/boot/dietpi/.installed' ]]
then
# Squeezelite
grep -q '^[[:blank:]]*aSOFTWARE_INSTALL_STATE\[36\]=2' /boot/dietpi/.installed && G_WHIP_MSG '[ INFO ] Squeezelite update available
\nAn update to Squeezelite v1.9.9-1432 is available. Apply it via reinstall:
# dietpi-software reinstall 36
\nChange log: https://github.com/ralph-irving/squeezelite/commits/575b593'
fi
}

# v6.35 => v7 migration
Expand Down
2 changes: 1 addition & 1 deletion .update/version
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# Available DietPi version
G_REMOTE_VERSION_CORE=8
G_REMOTE_VERSION_SUB=18
G_REMOTE_VERSION_RC=1
G_REMOTE_VERSION_RC=2
# Minimum DietPi version to allow update
G_MIN_VERSION_CORE=6
G_MIN_VERSION_SUB=14
Expand Down
5 changes: 2 additions & 3 deletions CHANGELOG.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
v8.18
(2023-06-03)

New software:
-

Enhancements:
- Quartz64 | Enabled (software) RAID and LVM support. Many thanks to @dano6 for implementing this: https://github.com/MichaIng/DietPi/pull/6370
- DietPi-Software | youtube-dl: Since the development of the original youtube-dl project stalled for some years, we migrated to the well known actively developed fork "yt-dlp": https://github.com/yt-dlp/yt-dlp. If you installed youtube-dl before, you can migrate via reinstall: "dietpi-software reinstall 195". For backwards compatibility, the "youtube-dl" command will stay valid as a symlink to "yt-dlp", but there are some differences you should be aware about when doing the migration on your system: https://github.com/yt-dlp/yt-dlp#differences-in-default-behavior. Many thanks to @rgabbo for suggestion and @pulpe for implementing this change: https://github.com/MichaIng/DietPi/discussions/5670, https://github.com/MichaIng/DietPi/pull/6380
- DietPi-Software | Pi-hole: With recent release, Pi-hole supporst RISC-V and has been hence enabled for this architecture as well in DietPi. Many thanks to the Pi-hole team for making this possible to quickly!

Bug fixes:
- DietPi-DDNS | Resolved an issue where the IP sync failed because the API URL changed recently. Many thanks to @ma651851384 for implementing the update: https://github.com/MichaIng/DietPi/pull/6375
Expand All @@ -17,6 +15,7 @@ Bug fixes:
- DietPi-Software | LXQt: Resolved an issue on Bookworm systems where the install failed since configs were missing.
- DietPi-Software | TigerVNC: Resolved an issue on Bookworm systems where the VNC password was not set as expected since the tigervncpasswd command became a dedicated DEB package "tigervnc-tools".
- DietPi-Software | Deluge: Resolved an issue on Bookworm systems where the install failed when trying to alter the service user.
- DietPi-Software | Mosquitto: Resolved an issue on Bookworm systems where the install failed. The official APT repository does not provide a Bookworm suite yet, and the Bullseye packages have Bullseye-only dependencies. On Bookworm the Debian repo packages will be installed instead now.

As always, many smaller code performance and stability improvements, visual and spelling fixes have been done, too much to list all of them here. Check out all code changes of this release on GitHub: https://github.com/MichaIng/DietPi/pull/6406

Expand Down
Loading