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

Release v7.6 #4747

Merged
merged 96 commits into from
Sep 18, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
ea874ca
v7.6 (#4674)
MichaIng Aug 22, 2021
8789e87
v7.6
MichaIng Aug 22, 2021
c7518f6
v7.6
MichaIng Aug 22, 2021
ee33a9d
v7.6
MichaIng Aug 22, 2021
c0199c4
v7.6
MichaIng Aug 22, 2021
0763e8e
Init v7.6 (#4675)
MichaIng Aug 22, 2021
61725a5
v7.5
MichaIng Aug 22, 2021
29533e8
v7.6
MichaIng Aug 22, 2021
da08ce1
v7.6
MichaIng Aug 23, 2021
cbd2337
v7.6
MichaIng Aug 23, 2021
1f15003
v7.6
MichaIng Aug 23, 2021
84f02a3
v7.6 (#4679)
MichaIng Aug 25, 2021
ccd551f
v7.6
MichaIng Aug 26, 2021
dfce08c
v7.6
MichaIng Aug 26, 2021
9017e40
v7.6
MichaIng Aug 26, 2021
057b5b4
v7.6
MichaIng Aug 26, 2021
d691f3e
v7.6
MichaIng Aug 26, 2021
d182866
v7.6
MichaIng Aug 26, 2021
83d748b
v7.6
MichaIng Aug 26, 2021
b2b3390
v7.6
MichaIng Aug 28, 2021
367e90f
v7.6
MichaIng Aug 28, 2021
1c2b1d7
v7.6 (#4698)
MichaIng Aug 29, 2021
fd2707c
v7.6
MichaIng Aug 30, 2021
b6d6684
v7.6
MichaIng Aug 31, 2021
169fd54
v7.6
MichaIng Sep 1, 2021
d638280
v7.6
MichaIng Sep 1, 2021
72c63e8
v7.6 (#4701)
MichaIng Sep 1, 2021
fd2e174
v7.6
MichaIng Sep 1, 2021
5d4f167
v7.6
MichaIng Sep 1, 2021
ae827de
v7.6
MichaIng Sep 2, 2021
1f7abb1
v7.6
MichaIng Sep 4, 2021
855c022
v7.6
MichaIng Sep 4, 2021
6c53d93
v7.6
MichaIng Sep 4, 2021
617b722
v7.6
MichaIng Sep 4, 2021
7f4732e
v7.6
MichaIng Sep 4, 2021
2373f24
v7.6
MichaIng Sep 6, 2021
fda9621
v7.6
MichaIng Sep 6, 2021
51fc262
v7.6
MichaIng Sep 6, 2021
335492d
v7.6
MichaIng Sep 6, 2021
d701771
v7.6
MichaIng Sep 6, 2021
24714be
v7.6
MichaIng Sep 6, 2021
ad19d27
v7.6
MichaIng Sep 6, 2021
04d29fc
v7.6
MichaIng Sep 7, 2021
1dd631c
v7.6
MichaIng Sep 8, 2021
e91edea
v7.6
MichaIng Sep 8, 2021
4d21bf4
v7.6
MichaIng Sep 9, 2021
b770bde
v7.6
MichaIng Sep 9, 2021
9909a4f
v7.6
MichaIng Sep 9, 2021
1fda33d
v7.6
MichaIng Sep 9, 2021
d514a05
v7.6 (#4723)
MichaIng Sep 10, 2021
c92a9cb
v7.6 (#4724)
MichaIng Sep 10, 2021
9415f73
v7.6
MichaIng Sep 10, 2021
a5dec0d
v7.6 (#4725)
MichaIng Sep 10, 2021
60e3f61
v7.6
MichaIng Sep 11, 2021
b09bb31
v7.6 (#4726)
MichaIng Sep 11, 2021
bfc7ebb
v7.6
MichaIng Sep 11, 2021
947c17c
v7.6
MichaIng Sep 11, 2021
2bd2252
v7.6
MichaIng Sep 11, 2021
fd63bc5
v7.6 (#4719)
MichaIng Sep 11, 2021
e0f586f
v7.6
MichaIng Sep 11, 2021
18e2739
Merge branch 'dev' of https://github.com/MichaIng/DietPi into dev
MichaIng Sep 11, 2021
3e195f8
v7.6
MichaIng Sep 11, 2021
5069712
v7.6
MichaIng Sep 11, 2021
2eddb20
v7.6
MichaIng Sep 11, 2021
1b52b48
Beta v7.6.0 (#4727)
MichaIng Sep 11, 2021
1a8feb2
v7.6
MichaIng Sep 12, 2021
961b649
v7.6 (#4730)
MichaIng Sep 12, 2021
899a42a
v7.6
MichaIng Sep 12, 2021
53651b0
v7.6
MichaIng Sep 12, 2021
ed19661
v7.6
MichaIng Sep 13, 2021
82fb47a
v7.6
MichaIng Sep 13, 2021
c2ebacc
v7.6
MichaIng Sep 14, 2021
dcc548b
v7.6
MichaIng Sep 14, 2021
c35b6fa
v7.6
MichaIng Sep 14, 2021
55be549
Merge branch 'dev' of https://github.com/MichaIng/DietPi into dev
MichaIng Sep 14, 2021
c690a06
v7.6 (#4625)
ravenclaw900 Sep 14, 2021
872b986
v7.6 (#4634)
Sep 15, 2021
89fcdf9
v7.6
MichaIng Sep 15, 2021
0bbcf86
v7.6
MichaIng Sep 15, 2021
f8ba845
v7.6 (#4686)
Joulinar Sep 15, 2021
f632dcb
v7.6
MichaIng Sep 15, 2021
229659c
v7.6
MichaIng Sep 15, 2021
44fe055
Beta v7.6.1 (#4735)
MichaIng Sep 15, 2021
82604c4
v7.6 (#4713)
MichaIng Sep 17, 2021
e575ea5
v7.6
MichaIng Sep 17, 2021
64838aa
v7.6 (#4744)
Joulinar Sep 17, 2021
1f0a06d
v7.6
MichaIng Sep 17, 2021
e32624a
v7.6
MichaIng Sep 17, 2021
ed4c311
v7.6
MichaIng Sep 17, 2021
71e5a16
v7.6
MichaIng Sep 17, 2021
a30b173
v7.6
MichaIng Sep 17, 2021
3e6763e
v7.6
MichaIng Sep 17, 2021
017c02a
v7.6
MichaIng Sep 18, 2021
3c9d57f
v7.6
MichaIng Sep 18, 2021
9a71dbc
v7.6
MichaIng Sep 18, 2021
42ff89b
Beta v7.6.2 (#4746)
MichaIng Sep 18, 2021
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
4 changes: 1 addition & 3 deletions .conf/dps_128/mpd.conf
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
music_directory "/mnt/dietpi_userdata/Music"
playlist_directory "/mnt/dietpi_userdata/Music"
db_file "/mnt/dietpi_userdata/.mpd_cache/db_file"
log_file "/var/log/mpd/mpd.log"
pid_file "/run/mpd/pid"
state_file "/mnt/dietpi_userdata/.mpd_cache/state"
sticker_file "/mnt/dietpi_userdata/.mpd_cache/sticker.sql"

Expand Down Expand Up @@ -57,7 +55,7 @@ audio_buffer_size "2048"
audio_output {

type "alsa"
name "DietPi Alsa"
name "DietPi ALSA"
#device "hw:0,0"
format "44100:16:2"
mixer_type "software"
Expand Down
90 changes: 90 additions & 0 deletions .conf/dps_199/spotifyd.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
[global]
# Your Spotify account name.
#username = "username"

# Your Spotify account password.
#password = "password"

# A command that gets executed and can be used to
# retrieve your password.
# The command should return the password on stdout.
#
# This is an alternative to the `password` field. Both
# can't be used simultaneously.
#password_cmd = "command_that_writes_password_to_stdout"

# If set to true, `spotifyd` tries to look up your
# password in the system's password storage.
#
# This is an alternative to the `password` field. Both
# can't be used simultaneously.
#use_keyring = true

#
# If set to true, `spotifyd` tries to bind to the session dbus
# and expose MPRIS controls. When running headless, without a dbus session,
# then set this to false to avoid binding errors
#
use_mpris = false

# The audio backend used to play the your music. To get
# a list of possible backends, run `/opt/spotifyd/spotifyd --help`.
backend = "alsa"

# The alsa audio device to stream audio to. To get a
# list of valid devices, run `aplay -L`,
#device = "alsa_audio_device"

# The alsa control device. By default this is the same
# name as the `device` field.
#control = "alsa_audio_device"

# The alsa mixer used by `spotifyd`.
#mixer = "PCM"

# The volume controller. Each one behaves different to
# volume increases. For possible values, run
# `/opt/spotifyd/spotifyd --help`.
volume_controller = "alsa"

# A command that gets executed in your shell after each song changes.
#on_song_change_hook = "command_to_run_on_playback_events"

# The name that gets displayed under the connect tab on
# official clients. Spaces are not allowed!
#device_name = "device_name_in_spotify_connect"

# The audio bitrate. 96, 160 or 320 kbit/s
#bitrate = 160

# The directory used to cache audio data. This setting can save
# a lot of bandwidth when activated, as it will avoid re-downloading
# audio files when replaying them.
#
# Note: The file path does not get expanded. Environment variables and
# shell placeholders like $HOME or ~ don't work!
cache_path = "/mnt/dietpi_userdata/spotifyd/cache"

# If set to true, audio data does NOT get cached.
#no_audio_cache = true

# Volume on startup between 0 and 100
# NOTE: This variable's type will change in v0.4, to a number (instead of string)
#initial_volume = "90"

# If set to true, enables volume normalisation between songs.
#volume_normalisation = true

# The normalisation pregain that is applied for each song.
#normalisation_pregain = -10

# The port `spotifyd` uses to announce its service over the network.
#zeroconf_port = 1234

# The proxy `spotifyd` will use to connect to spotify.
#proxy = "http://proxy.example.org:8080"

# The displayed device type in Spotify clients.
# Can be unknown, computer, tablet, smartphone, speaker, t_v,
# a_v_r (Audio/Video Receiver), s_t_b (Set-Top Box), and audio_dongle.
device_type = "speaker"
10 changes: 5 additions & 5 deletions .conf/dps_39/minidlna.conf
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# WARNING: After changing this option, you need to rebuild the database. Either
# run minidlna with the '-R' option, or delete the 'files.db' file
# from the db_dir directory (see below).
# On Debian, you can run, as root, 'service minidlna force-reload' instead.
# WARNING: After changing this option, you need to restart the service
# via: "systemctl restart minidlna"

# Media paths
media_dir=A,/mnt/dietpi_userdata/Music
media_dir=P,/mnt/dietpi_userdata/Pictures
media_dir=V,/mnt/dietpi_userdata/Video
Expand All @@ -11,7 +11,7 @@ db_dir=/mnt/dietpi_userdata/.MiniDLNA_Cache

# Must be one of "off", "fatal", "error", "warn", "info" or "debug".
# "off" turns of logging entirely, "fatal" is the highest level of importance.
# Access logs via: "journalctl -u minidlna"
# Access logs via: "journalctl -u minidlna", on Bullseye in /var/log/minidlna.
log_level=warn

# Use a different container as the root of the directory tree presented to
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ about: Create a report to help us improve

#### Required Information
- DietPi version | `cat /boot/dietpi/.version`
- Distro version | `echo $G_DISTRO_NAME` or `cat /etc/debian_version`
- Distro version | `echo $G_DISTRO_NAME $G_RASPBIAN`
- Kernel version | `uname -a`
- SBC model | `echo $G_HW_MODEL_NAME` or (EG: RPi3)
- Power supply used | (EG: 5V 1A RAVpower)
Expand Down
26 changes: 20 additions & 6 deletions .meta/dietpi-build
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ root_size=892
CLONING_TOOL='dd'
case $HW_MODEL in
0) iname='RPi';;
20) iname='VM' WIFI_REQUIRED=1 boot_size=0;;
20) iname='VM' WIFI_REQUIRED=0 boot_size=0;;
21) iname='NativePC-BIOS' HW_ARCH=10 root_size=1152;;
*) G_DIETPI-NOTIFY 1 "Invalid hardware model \"$HW_MODEL\" passed, aborting..."; exit 1;;
esac
Expand Down Expand Up @@ -109,6 +109,7 @@ G_EXEC partx -u /dev/loop0

# Create and mount filesystems and fstab
G_EXEC mkdir rootfs
# + EFI + boot partition
if [[ $PTTYPE == 'gpt' ]] && (( $boot_size ))
then
FP_ROOT_DEV=3
Expand All @@ -126,7 +127,7 @@ PARTUUID=$(lsblk -no PARTUUID /dev/loop0p3) / $FSTYPE noatime,lazytime 0 1
PARTUUID=$(lsblk -no PARTUUID /dev/loop0p2) /boot vfat noatime,lazytime 0 2
PARTUUID=$(lsblk -no PARTUUID /dev/loop0p1) /boot/efi vfat noatime,lazytime 0 3
_EOF_

# + EFI partition
elif [[ $PTTYPE == 'gpt' ]]
then
FP_ROOT_DEV=2
Expand All @@ -140,7 +141,7 @@ then
PARTUUID=$(lsblk -no PARTUUID /dev/loop0p2) / $FSTYPE noatime,lazytime 0 1
PARTUUID=$(lsblk -no PARTUUID /dev/loop0p1) /boot/efi vfat noatime,lazytime 0 2
_EOF_

# + boot partition
elif (( $boot_size ))
then
FP_ROOT_DEV=2
Expand All @@ -154,7 +155,7 @@ then
PARTUUID=$(lsblk -no PARTUUID /dev/loop0p2) / $FSTYPE noatime,lazytime 0 1
PARTUUID=$(lsblk -no PARTUUID /dev/loop0p1) /boot vfat noatime,lazytime 0 2
_EOF_

# - single partition
else
FP_ROOT_DEV=1
G_EXEC "mkfs.$FSTYPE" /dev/loop0p1
Expand All @@ -172,7 +173,7 @@ cat << '_EOF_' > rootfs/etc/rc.local
_EOF_
G_EXEC chmod +x rootfs/etc/rc.local

# - RPi only: https://github.com/RPi-Distro/repo/issues/253
# - RPi: https://github.com/RPi-Distro/repo/issues/253
[[ $HW_MODEL == 0 ]] && cat << '_EOF_' >> rootfs/etc/rc.local
curl -sSfLO 'https://archive.raspberrypi.org/debian/pool/main/r/raspberrypi-archive-keyring/raspberrypi-archive-keyring_2016.10.31_all.deb' || exit 1
dpkg -i raspberrypi-archive-keyring_2016.10.31_all.deb || exit 1
Expand All @@ -182,13 +183,24 @@ _EOF_
cat << _EOF_ >> rootfs/etc/rc.local
export GITBRANCH='master' HW_MODEL='$HW_MODEL' IMAGE_CREATOR=0 PREIMAGE_INFO='from scratch' WIFI_REQUIRED=$WIFI_REQUIRED DISTRO_TARGET=6
bash -c "\$(curl -sSfL 'https://raw.githubusercontent.com/$G_GITOWNER/DietPi/$G_GITBRANCH/PREP_SYSTEM_FOR_DIETPI.sh')"
_EOF_

# - VM: Generate tiny-initramfs with explicit kernel modules, as auto-detection doesn't work correctly within container and loop devices
[[ $HW_MODEL == 20 ]] && cat << _EOF_ >> rootfs/etc/rc.local
version=\$(dpkg --get-selections | mawk '/linux-image-*-amd64/{print \$1;exit}') || exit 1
version=\${version#linux-image-}
mktirfs -m no -M no --include-modules='ahci,sd_mod,vmw_pvscsi,hv_storvsc,$FSTYPE' -o "/boot/initrd.img-\$version" "\$version" || exit 1
_EOF_

cat << '_EOF_' >> rootfs/etc/rc.local
> /success
poweroff
exit 0
} > /dev/console 2>&1 < /dev/console
_EOF_

# Bootstrap
G_EXEC_OUTPUT=1 G_EXEC debootstrap --arch="$parch" --variant=minbase --exclude='gcc-7-base,gcc-8-base,gcc-9-base' --include='bash-completion,bzip2,ca-certificates,console-setup,cron,curl,dropbear,ethtool,fake-hwclock,fdisk,gnupg,htop,ifupdown,isc-dhcp-client,kmod,locales,nano,p7zip,parted,procps,psmisc,rfkill,sudo,systemd-sysv,systemd-timesyncd,tzdata,udev,unzip,usbutils,wget,whiptail' --no-check-gpg bullseye ./rootfs "$repo"
G_EXEC_OUTPUT=1 G_EXEC debootstrap --arch="$parch" --variant=minbase --exclude='gcc-7-base,gcc-8-base,gcc-9-base' --include='bash-completion,bzip2,ca-certificates,console-setup,cron,curl,dropbear,ethtool,fake-hwclock,fdisk,gnupg,htop,ifupdown,isc-dhcp-client,kmod,locales,nano,p7zip,parted,procps,psmisc,rfkill,sudo,systemd-sysv,systemd-timesyncd,tzdata,udev,unzip,usbutils,wget,whiptail' bullseye ./rootfs "$repo"

# Remove cached archives and list files created by debootstrap
G_EXEC rm -Rf rootfs/var/{cache/apt,lib/apt/lists}/*
Expand All @@ -208,6 +220,8 @@ abind=()
[[ -b '/dev/loop0p2' ]] && abind=('--bind=/dev/loop0p2')
[[ -b '/dev/loop0p3' ]] && abind+=('--bind=/dev/loop0p3')
systemd-nspawn -bD rootfs --bind=/dev/loop0 --bind=/dev/loop0p1 "${abind[@]}" --bind=/dev/disk --capability=CAP_IPC_LOCK || exit 1
[[ -f 'rootfs/success' ]] || { G_DIETPI-NOTIFY 1 'The container setup did not finish successfully, aborting...'; exit 1; }
G_EXEC rm rootfs/success
G_EXEC sync
G_EXEC sleep 1
G_EXEC umount -R rootfs
Expand Down
81 changes: 47 additions & 34 deletions .meta/dietpi-survey_report
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ shopt -s extglob
# Created by MichaIng / [email protected] / dietpi.com

# Prevent concurrent executions
(( $(pgrep -cf dietpi-survey_report) > 1 )) && { echo 'Concurrent execution detected. Exiting...'; exit 1; }
(( $(pgrep -cf 'dietpi-survey_report') > 1 )) && { echo 'Concurrent execution detected. Exiting...'; exit 1; }

#-----------------------------------------------------------
# Globals - benchmarks
Expand Down Expand Up @@ -546,9 +546,24 @@ shopt -s extglob
do
aSOFTWARE_NAME7_5[$i]=${aSOFTWARE_NAME7_4[$i]}
done
# shellcheck disable=SC2034
aSOFTWARE_NAME7_5[196]='Java JRE'

# v7.6
aSOFTWARE_NAME7_6=()
for i in "${!aSOFTWARE_NAME7_5[@]}"
do
aSOFTWARE_NAME7_6[$i]=${aSOFTWARE_NAME7_5[$i]}
done
aSOFTWARE_NAME7_6[197]='Box64'
aSOFTWARE_NAME7_6[198]='File Browser'
aSOFTWARE_NAME7_6[199]='Spotifyd'

# Pre-create software counter array so that we can see also software (available in newest version) with 0 installs
for i in "${aSOFTWARE_NAME7_6[@]}"
do
aSOFTWARE["$i"]=0
done

# $1 = File name
Process_File()
{
Expand Down Expand Up @@ -745,25 +760,25 @@ shopt -s extglob
# Merge old and new hardware model names
for i in "${!aDEVICE_NAME[@]}"
do
[[ $i == 'RPi B (ECN0001) (armv6l)' ]] && ((aDEVICE_NAME['RPi B (armv6l)']+=aDEVICE_NAME["$i"])) && unset "aDEVICE_NAME[$i]"
[[ $i == 'RPi (armv6l)' ]] && ((aDEVICE_NAME['RPi (Unknown) (armv6l)']+=aDEVICE_NAME["$i"])) && unset "aDEVICE_NAME[$i]"
[[ $i == 'RPi (armv7l)' ]] && ((aDEVICE_NAME['RPi (Unknown) (armv7l)']+=aDEVICE_NAME["$i"])) && unset "aDEVICE_NAME[$i]"
[[ $i == 'Odroid XU3/XU4/HC1/HC2 (armv7l)' ]] && ((aDEVICE_NAME['Odroid XU3/XU4/MC1/HC1/HC2 (armv7l)']+=aDEVICE_NAME["$i"])) && unset "aDEVICE_NAME[$i]"
[[ $i == 'Odroid C4 (aarch64)' ]] && ((aDEVICE_NAME['Odroid C4/HC4 (aarch64)']+=aDEVICE_NAME["$i"])) && unset "aDEVICE_NAME[$i]" # v6.35
[[ $i == 'Asus Tinker Board (armv7l)' ]] && ((aDEVICE_NAME['ASUS Tinker Board (armv7l)']+=aDEVICE_NAME["$i"])) && unset "aDEVICE_NAME[$i]"
[[ $i == 'Pine A64 (aarch64)' ]] && ((aDEVICE_NAME['PINE A64 (aarch64)']+=aDEVICE_NAME["$i"])) && unset "aDEVICE_NAME[$i]"
[[ $i == 'Pine H64 (aarch64)' ]] && ((aDEVICE_NAME['PINE H64 (aarch64)']+=aDEVICE_NAME["$i"])) && unset "aDEVICE_NAME[$i]"
[[ $i == 'Rock64 (aarch64)' ]] && ((aDEVICE_NAME['ROCK64 (aarch64)']+=aDEVICE_NAME["$i"])) && unset "aDEVICE_NAME[$i]"
[[ $i == 'RockPro64 (aarch64)' ]] && ((aDEVICE_NAME['ROCKPro64 (aarch64)']+=aDEVICE_NAME["$i"])) && unset "aDEVICE_NAME[$i]"
[[ $i == 'Pinebook A64 (aarch64)' ]] && ((aDEVICE_NAME['Pinebook (aarch64)']+=aDEVICE_NAME["$i"])) && unset "aDEVICE_NAME[$i]"
[[ $i == 'Pinebook 1080p (aarch64)' ]] && ((aDEVICE_NAME['Pinebook (aarch64)']+=aDEVICE_NAME["$i"])) && unset "aDEVICE_NAME[$i]"
[[ $i == 'NanoPi Neo (armv7l)' ]] && ((aDEVICE_NAME['NanoPi NEO (armv7l)']+=aDEVICE_NAME["$i"])) && unset "aDEVICE_NAME[$i]"
[[ $i == 'NanoPi NEO 2 (aarch64)' ]] && ((aDEVICE_NAME['NanoPi NEO2 (aarch64)']+=aDEVICE_NAME["$i"])) && unset "aDEVICE_NAME[$i]"
[[ $i == 'NanoPi M3/T3/F3 (aarch64)' ]] && ((aDEVICE_NAME['NanoPi M3/T3/Fire3 (aarch64)']+=aDEVICE_NAME["$i"])) && unset "aDEVICE_NAME[$i]"
[[ $i == 'NanoPi M3/T3/F3 (armv7l)' ]] && ((aDEVICE_NAME['NanoPi M3/T3/Fire3 (armv7l)']+=aDEVICE_NAME["$i"])) && unset "aDEVICE_NAME[$i]"
[[ $i == 'BBB (armv7l)' ]] && ((aDEVICE_NAME['BeagleBone Black (armv7l)']+=aDEVICE_NAME["$i"])) && unset "aDEVICE_NAME[$i]"
[[ $i == 'Unknown Device (armv7l)' ]] && ((aDEVICE_NAME['Generic Device (armv7l)']+=aDEVICE_NAME["$i"])) && unset "aDEVICE_NAME[$i]"
[[ $i == 'Unknown Device (aarch64)' ]] && ((aDEVICE_NAME['Generic Device (aarch64)']+=aDEVICE_NAME["$i"])) && unset "aDEVICE_NAME[$i]"
[[ $i == 'RPi B (ECN0001) (armv6l)' ]] && ((aDEVICE_NAME['RPi B (armv6l)']+=aDEVICE_NAME["$i"])) && unset -v "aDEVICE_NAME[$i]"
[[ $i == 'RPi (armv6l)' ]] && ((aDEVICE_NAME['RPi (Unknown) (armv6l)']+=aDEVICE_NAME["$i"])) && unset -v "aDEVICE_NAME[$i]"
[[ $i == 'RPi (armv7l)' ]] && ((aDEVICE_NAME['RPi (Unknown) (armv7l)']+=aDEVICE_NAME["$i"])) && unset -v "aDEVICE_NAME[$i]"
[[ $i == 'Odroid XU3/XU4/HC1/HC2 (armv7l)' ]] && ((aDEVICE_NAME['Odroid XU3/XU4/MC1/HC1/HC2 (armv7l)']+=aDEVICE_NAME["$i"])) && unset -v "aDEVICE_NAME[$i]"
[[ $i == 'Odroid C4 (aarch64)' ]] && ((aDEVICE_NAME['Odroid C4/HC4 (aarch64)']+=aDEVICE_NAME["$i"])) && unset -v "aDEVICE_NAME[$i]" # v6.35
[[ $i == 'Asus Tinker Board (armv7l)' ]] && ((aDEVICE_NAME['ASUS Tinker Board (armv7l)']+=aDEVICE_NAME["$i"])) && unset -v "aDEVICE_NAME[$i]"
[[ $i == 'Pine A64 (aarch64)' ]] && ((aDEVICE_NAME['PINE A64 (aarch64)']+=aDEVICE_NAME["$i"])) && unset -v "aDEVICE_NAME[$i]"
[[ $i == 'Pine H64 (aarch64)' ]] && ((aDEVICE_NAME['PINE H64 (aarch64)']+=aDEVICE_NAME["$i"])) && unset -v "aDEVICE_NAME[$i]"
[[ $i == 'Rock64 (aarch64)' ]] && ((aDEVICE_NAME['ROCK64 (aarch64)']+=aDEVICE_NAME["$i"])) && unset -v "aDEVICE_NAME[$i]"
[[ $i == 'RockPro64 (aarch64)' ]] && ((aDEVICE_NAME['ROCKPro64 (aarch64)']+=aDEVICE_NAME["$i"])) && unset -v "aDEVICE_NAME[$i]"
[[ $i == 'Pinebook A64 (aarch64)' ]] && ((aDEVICE_NAME['Pinebook (aarch64)']+=aDEVICE_NAME["$i"])) && unset -v "aDEVICE_NAME[$i]"
[[ $i == 'Pinebook 1080p (aarch64)' ]] && ((aDEVICE_NAME['Pinebook (aarch64)']+=aDEVICE_NAME["$i"])) && unset -v "aDEVICE_NAME[$i]"
[[ $i == 'NanoPi Neo (armv7l)' ]] && ((aDEVICE_NAME['NanoPi NEO (armv7l)']+=aDEVICE_NAME["$i"])) && unset -v "aDEVICE_NAME[$i]"
[[ $i == 'NanoPi NEO 2 (aarch64)' ]] && ((aDEVICE_NAME['NanoPi NEO2 (aarch64)']+=aDEVICE_NAME["$i"])) && unset -v "aDEVICE_NAME[$i]"
[[ $i == 'NanoPi M3/T3/F3 (aarch64)' ]] && ((aDEVICE_NAME['NanoPi M3/T3/Fire3 (aarch64)']+=aDEVICE_NAME["$i"])) && unset -v "aDEVICE_NAME[$i]"
[[ $i == 'NanoPi M3/T3/F3 (armv7l)' ]] && ((aDEVICE_NAME['NanoPi M3/T3/Fire3 (armv7l)']+=aDEVICE_NAME["$i"])) && unset -v "aDEVICE_NAME[$i]"
[[ $i == 'BBB (armv7l)' ]] && ((aDEVICE_NAME['BeagleBone Black (armv7l)']+=aDEVICE_NAME["$i"])) && unset -v "aDEVICE_NAME[$i]"
[[ $i == 'Unknown Device (armv7l)' ]] && ((aDEVICE_NAME['Generic Device (armv7l)']+=aDEVICE_NAME["$i"])) && unset -v "aDEVICE_NAME[$i]"
[[ $i == 'Unknown Device (aarch64)' ]] && ((aDEVICE_NAME['Generic Device (aarch64)']+=aDEVICE_NAME["$i"])) && unset -v "aDEVICE_NAME[$i]"
done

# Process all results, for later use in HTML printout
Expand Down Expand Up @@ -979,24 +994,24 @@ shopt -s extglob
position: fixed;
bottom: 15px;
right: 15px;
width: 38px;
height: 38px;
text-align: center;
font-size: 30px;
font-weight: 900;
line-height: 42px;
color: #181a1c;
width: 18px;
height: 18px;
padding: 10px;
background-color: #c5ff00;
border: 1px solid #181a1c;
border-radius: 4px;
transition: color 0.5s, background-color 0.5s, border-color 0.5s;
stroke: #181a1c;
stroke-width: 2;
stroke-linecap: round;
fill: none;
transition: background-color 0.5s, border-color 0.5s, stroke 0.5s;
}
a.scrollup:hover,
a.scrollup:focus,
a.scrollup:active {
color: #c5ff00;
background-color: #181a1c;
border-color: #c5ff00;
stroke: #c5ff00;
}
</style>
</head>
Expand All @@ -1010,9 +1025,7 @@ shopt -s extglob
</nav>

<h1>DietPi-Survey statistics</h1>
<p>Uploads since: $(date -u -d "@$(( $DATE_NOW - 15724800 ))" '+%Y-%m-%d %T %Z')</p>
<p>Last update: $(date -u -d "@$DATE_NOW" '+%Y-%m-%d %T %Z')</p>
<br>
<p>Below data is based on DietPi systems which have shown activity between $(date -u -d "@$(( $DATE_NOW - 15724800 ))" '+%Y-%m-%d') and $(date -u -d "@$DATE_NOW" '+%Y-%m-%d %T %Z'), i.e. either did a <code>dietpi-update</code> or a <code>dietpi-software</code> installation.</p>
<table>
<tr><td>Total system count</td><td align="right">$SURVEY_COUNT_TOTAL</td></tr>
<tr><td>Systems sending survey data</td><td align="right">$SURVEY_COUNT_OPTIN</td><td align="right">$(( $SURVEY_COUNT_OPTIN * 100 / $SURVEY_COUNT_TOTAL ))%</td></tr>
Expand Down Expand Up @@ -1174,7 +1187,7 @@ shopt -s extglob
$(for i in "${!aBENCH_LAN_INDEX[@]}"; do echo "<tr><td>${aHW_NAME[$i]}</td><td>${aBENCH_LAN_INDEX[$i]}</td><td bgcolor=\"#34005D\"> ${aBENCH_RESULT_NET_LAN_SPEED_AVG[$i]}</td><td bgcolor=\"#2B5D00\">${aBENCH_RESULT_NET_LAN_SPEED_MAX[$i]}</td><td bgcolor=\"#5D0000\">${aBENCH_RESULT_NET_LAN_SPEED_MIN[$i]}</td></tr>"; done | sort -nrk 2 -t ' ')
</table>

<a href="#" class="scrollup">^</a>
<a class="scrollup" href="#"><svg viewBox="0 0 12 12"><path d="M1 8l5-5l5 5"/></svg></a>
</body>
</html>
_EOF_
Expand Down
Loading