Skip to content

Commit

Permalink
v9.10
Browse files Browse the repository at this point in the history
- RISC-V | Packages for the riscv64 architecture are now available in Debian Trixie. Do not build Sid images anymore, and enable additional software titles.
  • Loading branch information
MichaIng committed Jan 6, 2025
1 parent 301dd5b commit cd82013
Show file tree
Hide file tree
Showing 6 changed files with 29 additions and 41 deletions.
7 changes: 3 additions & 4 deletions .build/images/dietpi-build
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ case $HW_ARCH in
2) iarch='ARMv7' parch='armhf';;
3) iarch='ARMv8' parch='arm64';;
10) iarch='x86_64' parch='amd64';;
11) iarch='RISC-V' parch='riscv64' DISTRO=8;; # RISC-V architecture is available on Sid only, but internally DietPi handles it as Trixie
11) iarch='RISC-V' parch='riscv64' DISTRO=8;; # RISC-V architecture is available on Trixie only.
*) G_DIETPI-NOTIFY 1 "Invalid architecture \"$HW_ARCH\" passed, aborting..."; exit 1;;
esac

Expand All @@ -194,7 +194,6 @@ case $DISTRO in
8) distro='trixie';;
*) G_DIETPI-NOTIFY 1 "Invalid distro \"$DISTRO\" passed, aborting..."; exit 1;;
esac
[[ $HW_ARCH == 11 ]] && distro='sid' # RISC-V architecture is available on Sid only

case $PTTYPE in
'msdos') :;;
Expand Down Expand Up @@ -610,7 +609,7 @@ then

# Install Allo GUI via automated first run setup right here
G_CONFIG_INJECT 'AUTO_SETUP_AUTOMATED=' 'AUTO_SETUP_AUTOMATED=1' rootfs/boot/dietpi.txt
# - Workaround for skipped autologin in emulated Trixie/Sid containers: https://gitlab.com/qemu-project/qemu/-/issues/1962
# - Workaround for skipped autologin in emulated Trixie containers: https://gitlab.com/qemu-project/qemu/-/issues/1962
if (( $DISTRO == 8 && $G_HW_ARCH != $HW_ARCH && ( $G_HW_ARCH > 9 || $G_HW_ARCH < $HW_ARCH ) ))
then
cat << '_EOF_' > rootfs/etc/systemd/system/dietpi-automation.service
Expand Down Expand Up @@ -712,7 +711,7 @@ _EOF_
# Revert ARMv6 Workaround
(( $HW_ARCH == 1 )) && G_EXEC rm rootfs/usr/local/bin/uname

# Revert workaround for skipped autologin in emulated Trixie/Sid containers: https://gitlab.com/qemu-project/qemu/-/issues/1962
# Revert workaround for skipped autologin in emulated Trixie containers: https://gitlab.com/qemu-project/qemu/-/issues/1962
(( $DISTRO == 8 )) && G_EXEC rm rootfs/etc/systemd/system/{multi-user.target.wants/,}dietpi-automation.service

[[ -f 'rootfs/success' ]] || { G_DIETPI-NOTIFY 1 'The container setup did not finish successfully, aborting...'; exit 1; }
Expand Down
4 changes: 2 additions & 2 deletions .build/software/Amiberry/container_build.bash
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ case $PLATFORM in
'rpi'[345]'-64-'*|'AMLSM1'|'n2'|'a64'|'rk3588') image="ARMv8-${DISTRO^}" arch=3;;
'rpi'[2-5]*|'c1'|'xu4'|'RK3288'|'sun8i'|'s812') image="ARMv7-${DISTRO^}" arch=2;;
'x86-64') image="x86_64-${DISTRO^}" arch=10;;
'riscv64') image='RISC-V-Sid' arch=11;;
'riscv64') image="RISC-V-${DISTRO^}" arch=11;;
*) Error_Exit "Invalid platform \"$PLATFORM\" passed";;
esac
image="DietPi_Container-$image.img"
Expand Down Expand Up @@ -119,7 +119,7 @@ G_EXEC mount "${FP_LOOP}p1" rootfs

# Enable automated setup
G_CONFIG_INJECT 'AUTO_SETUP_AUTOMATED=' 'AUTO_SETUP_AUTOMATED=1' rootfs/boot/dietpi.txt
# - Workaround for skipped autologin in emulated Trixie/Sid containers: https://gitlab.com/qemu-project/qemu/-/issues/1962
# - Workaround for skipped autologin in emulated Trixie containers: https://gitlab.com/qemu-project/qemu/-/issues/1962
if [[ $DISTRO == 'trixie' ]] && (( $G_HW_ARCH != $arch && ( $G_HW_ARCH > 9 || $G_HW_ARCH < $arch ) ))
then
cat << '_EOF_' > rootfs/etc/systemd/system/dietpi-automation.service
Expand Down
4 changes: 2 additions & 2 deletions .build/software/dietpi-software-build.bash
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ case $ARCH in
'armv7l') image="ARMv7-${DISTRO^}" arch=2;;
'aarch64') image="ARMv8-${DISTRO^}" arch=3;;
'x86_64') image="x86_64-${DISTRO^}" arch=10;;
'riscv64') image='RISC-V-Sid' arch=11; [[ $DISTRO == 'trixie' ]] || Error_Exit "Invalid distro \"$DISTRO\" for arch \"$ARCH\" passed, only \"trixie\" is supported";;
'riscv64') image="RISC-V-${DISTRO^}" arch=11; [[ $DISTRO == 'trixie' ]] || Error_Exit "Invalid distro \"$DISTRO\" for arch \"$ARCH\" passed, only \"trixie\" is supported";;
*) Error_Exit "Invalid architecture \"$ARCH\" passed";;
esac
image="DietPi_Container-$image.img"
Expand Down Expand Up @@ -123,7 +123,7 @@ G_EXEC mount "${FP_LOOP}p1" rootfs

# Enable automated setup
G_CONFIG_INJECT 'AUTO_SETUP_AUTOMATED=' 'AUTO_SETUP_AUTOMATED=1' rootfs/boot/dietpi.txt
# - Workaround for skipped autologin in emulated Trixie/Sid containers: https://gitlab.com/qemu-project/qemu/-/issues/1962
# - Workaround for skipped autologin in emulated Trixie containers: https://gitlab.com/qemu-project/qemu/-/issues/1962
if [[ $DISTRO == 'trixie' ]] && (( $G_HW_ARCH != $arch && ( $G_HW_ARCH > 9 || $G_HW_ARCH < $arch ) ))
then
cat << '_EOF_' > rootfs/etc/systemd/system/dietpi-automation.service
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/dietpi-software.bash
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ case $ARCH in
'armv7l') image="ARMv7-${DISTRO^}" arch=2;;
'aarch64') image="ARMv8-${DISTRO^}" arch=3;;
'x86_64') image="x86_64-${DISTRO^}" arch=10;;
'riscv64') image='RISC-V-Sid' arch=11;;
'riscv64') image="RISC-V-${DISTRO^}" arch=11;;
*) G_DIETPI-NOTIFY 1 "Invalid architecture \"$ARCH\" passed, aborting..."; exit 1;;
esac
image="DietPi_Container-$image.img"
Expand Down Expand Up @@ -355,7 +355,7 @@ G_EXEC eval 'echo '\''infocmp "$TERM" > /dev/null 2>&1 || { echo "[ INFO ] Unsup

# Enable automated setup
G_CONFIG_INJECT 'AUTO_SETUP_AUTOMATED=' 'AUTO_SETUP_AUTOMATED=1' rootfs/boot/dietpi.txt
# - Workaround for skipped autologin in emulated Trixie/Sid containers: https://gitlab.com/qemu-project/qemu/-/issues/1962
# - Workaround for skipped autologin in emulated Trixie containers: https://gitlab.com/qemu-project/qemu/-/issues/1962
# - Set HOME path, required e.g. go builds, which is otherwise missing when started from a systemd unit.
if [[ $DISTRO == 'trixie' ]] && (( $G_HW_ARCH != $arch && ( $G_HW_ARCH > 9 || $G_HW_ARCH < $arch ) ))
then
Expand Down
44 changes: 19 additions & 25 deletions dietpi/dietpi-software
Original file line number Diff line number Diff line change
Expand Up @@ -537,7 +537,7 @@ Available commands:
aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/media/#komga'
aSOFTWARE_DEPS[$software_id]='196'
# - RISC-V: An embedded Java library has no RISC-V support yet: "Caused by: java.lang.Exception: No native library found for os.name=Linux, os.arch=riscv64"
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0
#aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0
#------------------
software_id=86
aSOFTWARE_NAME[$software_id]='Roon Extension Manager'
Expand All @@ -555,7 +555,7 @@ Available commands:
aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/media/#jellyfin'
# - ARMv6: https://github.com/jellyfin/jellyfin/issues/5011
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,1]=0
# - RISC-V: No package: https://repo.jellyfin.org/releases/server/debian/unstable/
# - RISC-V: No package: https://repo.jellyfin.org/?path=/server/debian/latest-unstable
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0
#------------------
software_id=190
Expand Down Expand Up @@ -665,7 +665,7 @@ Available commands:
aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/bittorrent/#sonarr'
aSOFTWARE_DEPS[$software_id]='87'
(( $G_HW_ARCH == 1 )) && aSOFTWARE_DEPS[$software_id]+=' 150'
# - RISC-V: Missing package
# - RISC-V: Missing archive: https://github.com/Sonarr/Sonarr/releases
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0
#------------------
software_id=145
Expand All @@ -675,7 +675,7 @@ Available commands:
aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/bittorrent/#radarr'
aSOFTWARE_DEPS[$software_id]='87'
(( $G_HW_ARCH == 1 )) && aSOFTWARE_DEPS[$software_id]+=' 150'
# - RISC-V: Missing package
# - RISC-V: Missing archive: https://github.com/Radarr/Radarr/releases
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0
#------------------
software_id=106
Expand All @@ -685,7 +685,7 @@ Available commands:
aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/bittorrent/#lidarr'
aSOFTWARE_DEPS[$software_id]='87'
(( $G_HW_ARCH == 1 )) && aSOFTWARE_DEPS[$software_id]+=' 150'
# - RISC-V: Missing package
# - RISC-V: Missing archive: https://github.com/Lidarr/Lidarr/releases
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0
#------------------
software_id=180
Expand All @@ -699,24 +699,22 @@ Available commands:
# UnRAR x86_64 and ARMv8 binaries are shipped with Bazarr, ARMv6 needs to use "unar": https://github.com/morpheus65535/bazarr-binaries/tree/master/bin/Linux, https://github.com/morpheus65535/bazarr/issues/2172
(( $G_HW_ARCH == 2 )) && aSOFTWARE_DEPS[$software_id]+=' 170'
# - RISC-V: webrtcvad-wheels build fails with: "cbits/webrtc/typedefs.h:61:2: error: #error Please add support for your architecture in typedefs.h"
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0
#aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0
#------------------
software_id=147
aSOFTWARE_NAME[$software_id]='Jackett'
aSOFTWARE_DESC[$software_id]='API support for your torrent trackers'
aSOFTWARE_CATX[$software_id]=3
aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/bittorrent/#jackett'
(( $G_HW_ARCH == 1 )) && aSOFTWARE_DEPS[$software_id]='150'
# - RISC-V: Missing package
# - RISC-V: Missing archive: https://github.com/Jackett/Jackett/releases
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0
#------------------
software_id=149
aSOFTWARE_NAME[$software_id]='NZBGet'
aSOFTWARE_DESC[$software_id]='NZB download manager'
aSOFTWARE_CATX[$software_id]=3
aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/bittorrent/#nzbget'
# - RISC-V: Installer does not support it yet: https://nzbget.net/download/nzbget-latest-bin-linux.run
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0
#------------------
software_id=151
aSOFTWARE_NAME[$software_id]='Prowlarr'
Expand All @@ -726,7 +724,7 @@ Available commands:
aSOFTWARE_DEPS[$software_id]='87'
# - ARMv6
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,1]=0
# - RISC-V: Missing package
# - RISC-V: Missing archive: https://github.com/Prowlarr/Prowlarr/releases
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0
#------------------
software_id=203
Expand All @@ -737,7 +735,7 @@ Available commands:
aSOFTWARE_DEPS[$software_id]='87'
# - ARMv6
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,1]=0
# - RISC-V: Missing package
# - RISC-V: Missing archive: https://github.com/Readarr/Readarr/releases
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0
#------------------
software_id=155
Expand Down Expand Up @@ -830,7 +828,7 @@ Available commands:
aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/cloud/#fuguhub'
# - ARMv8
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,3]=0
# - RISC-V: Missing package
# - RISC-V: Missing archive: https://fuguhub.com/download.lsp
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0
#------------------
software_id=165
Expand Down Expand Up @@ -912,7 +910,7 @@ Available commands:
aSOFTWARE_DESC[$software_id]='Minecraft server with web interface (C++)'
aSOFTWARE_CATX[$software_id]=5
aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/gaming/#cuberite'
# - RISC-V: Missing binary
# - RISC-V: Missing archive: https://cuberite.org/
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0
#------------------
software_id=53
Expand Down Expand Up @@ -1149,16 +1147,14 @@ Available commands:
aSOFTWARE_DESC[$software_id]='The certified Kubernetes distribution built for IoT & Edge computing'
aSOFTWARE_CATX[$software_id]=8
aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/cloud/#k3s'
# - RISC-V: Not yet supported: https://github.com/k3s-io/k3s/issues/7151
# - RISC-V: Not yet supported: https://get.k3s.io/
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0
#------------------
software_id=142
aSOFTWARE_NAME[$software_id]='MicroK8s'
aSOFTWARE_DESC[$software_id]='The simplest production-grade upstream K8s, light and focused'
aSOFTWARE_CATX[$software_id]=8
aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/cloud/#microk8s'
# - RISC-V: Missing package: https://packages.debian.org/sid/snapd
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0
#------------------
software_id=200
aSOFTWARE_NAME[$software_id]='DietPi-Dashboard'
Expand Down Expand Up @@ -1186,7 +1182,7 @@ Available commands:
aSOFTWARE_DESC[$software_id]='Provides secure connections to your networked devices'
aSOFTWARE_CATX[$software_id]=9
aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/remote_desktop/#remot3it'
# - RISC-V: Missing package
# - RISC-V: Missing package: https://www.remote.it/download-list
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0
#------------------
software_id=138
Expand All @@ -1195,7 +1191,7 @@ Available commands:
aSOFTWARE_CATX[$software_id]=9
aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/remote_desktop/#virtualhere'
aSOFTWARE_DEPS[$software_id]='152'
# - RISC-V: Missing package
# - RISC-V: Missing binary: https://github.com/virtualhere/script/blob/main/install_server
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0

# Hardware Projects
Expand Down Expand Up @@ -1293,7 +1289,7 @@ Available commands:
aSOFTWARE_DESC[$software_id]='platform for analytics and monitoring'
aSOFTWARE_CATX[$software_id]=10
aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/hardware_projects/#grafana'
# - RISC-V: Missing package
# - RISC-V: Missing package: https://apt.grafana.com/dists/stable/main/binary-riscv64/Packages
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0

# System Security
Expand Down Expand Up @@ -1407,8 +1403,6 @@ Available commands:
aSOFTWARE_CATX[$software_id]=13
aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/dns_servers/#adguard-home'
aSOFTWARE_CONFLICTS[$software_id]='93'
# - RISC-V: Missing binary: https://github.com/AdguardTeam/AdGuardHome/releases
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0
#------------------
software_id=182
aSOFTWARE_NAME[$software_id]='Unbound'
Expand Down Expand Up @@ -1611,7 +1605,7 @@ Available commands:
aSOFTWARE_DESC[$software_id]='contribute to a decentralized internet'
aSOFTWARE_CATX[$software_id]=19
aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/distributed_projects/#ipfs-node'
# - RISC-V: Missing package: https://dist.ipfs.io/go-ipfs/
# - RISC-V: Missing archive: https://dist.ipfs.io/go-ipfs/
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0

# SSH Clients
Expand Down Expand Up @@ -1764,7 +1758,7 @@ Available commands:
aSOFTWARE_CATX[$software_id]=26
aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/programming/#vscodium'
aSOFTWARE_DEPS[$software_id]='5 6 17'
# - RISC-V: Missing package
# - RISC-V: Missing package: https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/debs/dists/vscodium/Release
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0
#------------------
software_id=188
Expand Down Expand Up @@ -1798,7 +1792,7 @@ Available commands:
aSOFTWARE_DESC[$software_id]='Runtime libraries and repository'
aSOFTWARE_CATX[$software_id]=26
aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/programming/#mono'
# - RISC-V: No package: https://download.mono-project.com/repo/debian/dists/buster/main/, https://packages.debian.org/sid/mono-runtime
# - RISC-V: No package: https://download.mono-project.com/repo/debian/dists/buster/main/, https://packages.debian.org/trixie/mono-runtime
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0
#------------------
software_id=34
Expand Down Expand Up @@ -1852,7 +1846,7 @@ Available commands:
aSOFTWARE_DEPS[$software_id]='5 6'
# - ARMv6: https://github.com/RPi-Distro/chromium-browser/issues/21
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,1]=0
# - RISC-V: Missing package: https://packages.debian.org/sid/chromium
# - RISC-V: Missing package: https://packages.debian.org/trixie/chromium
aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,11]=0
#------------------
software_id=67
Expand Down
7 changes: 1 addition & 6 deletions dietpi/func/dietpi-set_software
Original file line number Diff line number Diff line change
Expand Up @@ -308,13 +308,8 @@ $FP_SCRIPT rpi_kernel_choice <empty> Supported on Debian Bookworm or newer on R
# RPi Trixie: Suite does not exist yet: https://archive.raspberrypi.com/debian/dists/
(( $G_HW_MODEL < 10 || ( $G_HW_MODEL == 75 && ${G_RASPBIAN:-0} == 1 ) )) && G_EXEC eval "echo 'deb https://archive.raspberrypi.com/debian ${G_DISTRO_NAME/trixie/bookworm} main' > /etc/apt/sources.list.d/raspi.list"

# RISC-V: Provided via Sid only
if (( $G_HW_ARCH == 11 ))
then
G_EXEC eval 'echo '\''deb https://deb.debian.org/debian sid main contrib non-free non-free-firmware'\'' > /etc/apt/sources.list'

# Raspbian
elif (( $G_RASPBIAN ))
if (( $G_RASPBIAN ))
then
[[ $INPUT_MODE_VALUE == 'default' ]] && INPUT_MODE_VALUE='http://raspbian.raspberrypi.com/raspbian'

Expand Down

0 comments on commit cd82013

Please sign in to comment.