From f1970ebce42ab8c9077cfad2a3a081e5620b86a0 Mon Sep 17 00:00:00 2001 From: MichaIng <28480705+MichaIng@users.noreply.github.com> Date: Wed, 3 Jul 2019 14:58:03 +0200 Subject: [PATCH 01/15] v6.25 + RC up --- dietpi/server_version-6 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dietpi/server_version-6 b/dietpi/server_version-6 index eef777beb9..4d816daa2d 100644 --- a/dietpi/server_version-6 +++ b/dietpi/server_version-6 @@ -1,3 +1,3 @@ 6 25 -2 +3 From 2aa9cf03cbf10dfc26d5d6bbde2a1fbaf23d0f28 Mon Sep 17 00:00:00 2001 From: MichaIng <28480705+MichaIng@users.noreply.github.com> Date: Wed, 3 Jul 2019 14:58:41 +0200 Subject: [PATCH 02/15] v6.25 + DietPi-Globals | Default RC up --- dietpi/func/dietpi-globals | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dietpi/func/dietpi-globals b/dietpi/func/dietpi-globals index e68908e863..f4b8d63d0d 100644 --- a/dietpi/func/dietpi-globals +++ b/dietpi/func/dietpi-globals @@ -44,7 +44,7 @@ # DietPi Versions/Branch G_DIETPI_VERSION_CORE=${G_DIETPI_VERSION_CORE:-6} G_DIETPI_VERSION_SUB=${G_DIETPI_VERSION_SUB:-25} - G_DIETPI_VERSION_RC=${G_DIETPI_VERSION_RC:-2} + G_DIETPI_VERSION_RC=${G_DIETPI_VERSION_RC:-3} G_GITBRANCH=${G_GITBRANCH:-master} G_GITOWNER=${G_GITOWNER:-MichaIng} [[ -f '/DietPi/dietpi/.version' && $( Date: Wed, 3 Jul 2019 15:01:15 +0200 Subject: [PATCH 03/15] v6.25 + CHANGELOG | Set release date, update release PR link and remove solved known RPi+VC4 sound card selection issue --- CHANGELOG.txt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 4f5a915174..bb442b7f47 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,5 +1,5 @@ v6.25 -(XX/06/19) +(03/07/19) Changes / Improvements / Optimisations: - System | By default the "haveged" entropy daemon is now installed on all DietPi systems and patched with v6.25. It assures the pool of random bits /dev/random stays filled by using additional sources of randomness. This solves a bunch of issues, including hanging or very long boot times, very long service (re)starts or timeout failures and on Buster hanging network access. Especially affected is PHP7.3-FPM but as well VPN servers and WiFi hotspots and potentially many other network or cryptography related tasks. More information on this topic: https://github.com/MichaIng/DietPi/issues/2806 @@ -46,11 +46,10 @@ Bug Fixes: - DietPi-Software | Transmission: Resolved an issue where settings applied via web UI did not survive a service restart or reboot. Many thanks to @chosen_too and @th0maz for reporting this issue: https://dietpi.com/phpbb/viewtopic.php?p=17927#p17927 - DietPi-Software | Docker: The official Docker installer now supports Debian Buster and a workaround for the still missing Raspbian Buster support has been implemented. Many thanks to @Qarasique for reporting this issue: https://github.com/MichaIng/DietPi/issues/2891 -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/XXXX +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/2950 Known/Outstanding Issues: - DietPi-Config | Enabling WiFi + Ethernet adapters, both on different subnets, breaks WiFi connection in some cases: https://github.com/MichaIng/DietPi/issues/2103 -- DietPi-Config | RPi: Enabling OpenGL/VC4 causes sound card selection to be invalid: https://github.com/MichaIng/DietPi/issues/2173 - RPi | LXAppearance (on LXDE desktop) hangs on dbus-launch: https://github.com/MichaIng/DietPi/issues/1791 - Odroid C2 | Some WiFi adapters do no work as hotspot: https://github.com/MichaIng/DietPi/issues/1955 - Odroid XU4 | Kodi freezes shortly on video playback: https://github.com/MichaIng/DietPi/issues/2584 From 2f64b16c295489ddb4ecc1f69aad6db1a7bc19fd Mon Sep 17 00:00:00 2001 From: MichaIng <28480705+MichaIng@users.noreply.github.com> Date: Wed, 3 Jul 2019 15:46:07 +0200 Subject: [PATCH 04/15] v6.25 + DietPi-RAMdisk | Before storing DietPi to disk, remove status files that are recreated on boot/demand --- dietpi/func/dietpi-ramdisk | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dietpi/func/dietpi-ramdisk b/dietpi/func/dietpi-ramdisk index a5214e9112..ac25f9abbd 100644 --- a/dietpi/func/dietpi-ramdisk +++ b/dietpi/func/dietpi-ramdisk @@ -107,6 +107,9 @@ # - Remove old DietPi form disk before storing new DietPi from RAM #rm -R $FP_DISK/dietpi # Skip this to prevent unrecoverable removal of DietPi in case of error while copying to RAM + # - Remove status files that are recreated on boot/demand + rm -f $FP_RAM/dietpi/.{update_available,timesync_exit_status} + # - Store DietPi to disk cp -Rf $FP_RAM/* $FP_DISK/ || EXIT_CODE=1 From 7cb3d00f8fe85d8ff1dbe824f392021ca4ff0740 Mon Sep 17 00:00:00 2001 From: MichaIng <28480705+MichaIng@users.noreply.github.com> Date: Wed, 3 Jul 2019 15:47:26 +0200 Subject: [PATCH 05/15] v6.25 + DietPi-Update | .update_available flag file is now removed within DietPi-RAMdisk before storing to disk --- dietpi/dietpi-update | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dietpi/dietpi-update b/dietpi/dietpi-update index 66e8775a45..19ed6d36e0 100644 --- a/dietpi/dietpi-update +++ b/dietpi/dietpi-update @@ -183,8 +183,8 @@ Please download the latest DietPi image from: https://dietpi.com/#download' # Mark 1st run update as completed Apply_1st_Run_Update_Success - # Remove .update_available flag file (from disk as well, to prevent obsolete update notification after reboot) - rm -f /{DietPi,boot}/dietpi/.update_available + # Remove .update_available flag file + rm -f /DietPi/dietpi/.update_available G_DIETPI-NOTIFY 0 'No update required, your DietPi installation is already up to date:' From e4322f273707f0e0028cd85c1eb91c5b266c203a Mon Sep 17 00:00:00 2001 From: MichaIng <28480705+MichaIng@users.noreply.github.com> Date: Wed, 3 Jul 2019 15:51:54 +0200 Subject: [PATCH 06/15] v6.25 + DietPi-Patch | Remove flag/status files from disk once, which will be done from now on before DietPi-RAMdisk stores to disk --- dietpi/patch_file | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dietpi/patch_file b/dietpi/patch_file index 03d89dbaf5..3904891ad8 100644 --- a/dietpi/patch_file +++ b/dietpi/patch_file @@ -2106,6 +2106,9 @@ _EOF_ fi #------------------------------------------------------------------------------- + # Remove flag/status files from disk once, which will be done from now on before DietPi-RAMdisk stores to disk + rm -f /boot/dietpi/.{update_available,timesync_exit_status} + #------------------------------------------------------------------------------- # Reinstalls: # O!MPD update to master: https://github.com/MichaIng/DietPi/pull/2884 # myMPD update to master: https://github.com/MichaIng/DietPi/pull/2883 From 7dbb4257e1c60387ca45db8f605bf508b91801d9 Mon Sep 17 00:00:00 2001 From: MichaIng <28480705+MichaIng@users.noreply.github.com> Date: Wed, 3 Jul 2019 16:09:53 +0200 Subject: [PATCH 07/15] v6.25 + DietPi-PREP | Until rework (install requirements first, do autoremoval afterwards), resolvconf needs be installed prior to autoremoval to prevent ifupdown removal on some pre-images, e.g. Buster mini.iso --- PREP_SYSTEM_FOR_DIETPI.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/PREP_SYSTEM_FOR_DIETPI.sh b/PREP_SYSTEM_FOR_DIETPI.sh index ea68af0ee4..c24ffbb5bd 100644 --- a/PREP_SYSTEM_FOR_DIETPI.sh +++ b/PREP_SYSTEM_FOR_DIETPI.sh @@ -925,6 +925,9 @@ _EOF_ l_message='Marking required packages as manually installed' G_RUN_CMD apt-mark manual ${aPACKAGES_REQUIRED_INSTALL[@]} + # Workaround: Installing required packages which would be autoremoved below due to missing dependants + # - resolvconf to prevent ifupdown removal on Buster mini.iso + G_AGI resolvconf # Purging additional packages, that (in some cases) do not get autoremoved: # - dbus: Not required for headless images, but sometimes marked as "important", thus not autoremoved. # - dhcpcd5: https://github.com/MichaIng/DietPi/issues/1560#issuecomment-370136642 From f592225394e69ede828cd7aad6ce0bcaccb16c8d Mon Sep 17 00:00:00 2001 From: MichaIng <28480705+MichaIng@users.noreply.github.com> Date: Wed, 3 Jul 2019 16:27:25 +0200 Subject: [PATCH 08/15] v6.25 CHANGELOG | DietPi-PREP: Resolved an issue where ifupdown (networking service) was autoremoved, which broke running network connections --- CHANGELOG.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index bb442b7f47..6e4e50bc55 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -32,6 +32,7 @@ Bug Fixes: - DietPi-Login | Resolved an issue where login leads to immediate logout if DietPi scripts were not loaded to DietPi-RAMdisk location. Many thanks to @LexiconCode for reporting this issue: https://github.com/MichaIng/DietPi/issues/2841#issuecomment-494567292 - DietPi-Update | Resolved an issue where after update and reboot DietPi-Banner still shows update available with identical current and server versions. - DietPi-Cleaner | Resolved an issue where the cleaner ran into an endless loop if "Files" cleaner was used. Many thanks to @maartenlangeveld for reporting this issue: https://github.com/MichaIng/DietPi/issues/2837 +- DietPi-PREP | Resolved an issue where ifupdown (networking service) was autoremoved, which broke running network connections. - DietPi-Drive_Manager | Resolved an issue where idle spin down selection would always default to 241, instead of currently active value: https://github.com/MichaIng/DietPi/issues/2852 - DietPi-Drive_Manager | Resolved an issue where eCryptfs fstab entries were not detected and preserved correctly. Many thanks to @johnvick for reporting this issue: https://dietpi.com/phpbb/viewtopic.php?p=18428#p18283 - DietPi-Drive_Manager | Resolved an issue where transferring the RootFS to a BTRFS formated drive fails. Since BTRFS support is not natively built into the RPi and Odroid kernel, a warning prompts and the transfer is aborted. Many thanks to @dieitpi for reporting this issue: https://dietpi.com/phpbb/viewtopic.php?p=18164#p18164 From 694495002c28a77a696d9ec1e39b444b941e9785 Mon Sep 17 00:00:00 2001 From: MichaIng <28480705+MichaIng@users.noreply.github.com> Date: Wed, 3 Jul 2019 17:15:31 +0200 Subject: [PATCH 09/15] v6.25 + DietPi-Software | Revert from mariadb command to mysql command, since on Jessie mariadb command is not available and on Stretch + Buster it is a symlink to mysql anyway --- dietpi/dietpi-software | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dietpi/dietpi-software b/dietpi/dietpi-software index b70c3b56d3..203e2cc381 100644 --- a/dietpi/dietpi-software +++ b/dietpi/dietpi-software @@ -9771,7 +9771,7 @@ _EOF_ /DietPi/dietpi/func/create_mysql_db ampache ampache "$GLOBAL_PW" Download_Install 'https://dietpi.com/downloads/mysql_databases/ampache_mysql_3.8.2-v6.0.zip' - mariadb ampache < ampache.sql + mysql ampache < ampache.sql rm ampache.sql # - Also update password here for rare but possible case that database was lost but config file still exists [[ -f '/var/www/ampache/config/ampache.cfg.php' ]] && G_CONFIG_INJECT 'database_password =' "database_password = \"$GLOBAL_PW\"" /var/www/ampache/config/ampache.cfg.php @@ -11400,7 +11400,7 @@ _EOF_ G_RUN_CMD systemctl start $MARIADB_SERVICE # - Create database user only, database will be created automatically - mariadb -e "grant all privileges on ompd.* to ompd@localhost identified by '$GLOBAL_PW';" + mysql -e "grant all privileges on ompd.* to ompd@localhost identified by '$GLOBAL_PW';" systemctl stop $MARIADB_SERVICE cat << _EOF_ > /var/www/ompd/include/config.local.inc.php From 882ddfb533fdc1fa597231824810909770a910c9 Mon Sep 17 00:00:00 2001 From: MichaIng <28480705+MichaIng@users.noreply.github.com> Date: Wed, 3 Jul 2019 17:57:46 +0200 Subject: [PATCH 10/15] v6.25 - DietPi-Software | MPD: Resolved a systemd warning about invalid RuntimeDirectory value: - Jessie: [/lib/systemd/system/mpd.service:11] Runtime directory is not valid, ignoring assignment: /run/mpd - Stretch: [/lib/systemd/system/mpd.service:11] Runtime directory is not valid, ignoring assignment: /run/mpd - Buster: /lib/systemd/system/mpd.service:9: RuntimeDirectory= path is absolute, ignoring: /run/mpd - Path must be related, as it is always created beneath /run/: https://www.freedesktop.org/software/systemd/man/systemd.exec.html#RuntimeDirectory= - Setting it to "mpd" works well on Stretch and Buster, but on Jessie: Failed at step RUNTIME_DIRECTORY spawning /usr/bin/mpd: File exists - Neither the APT package systemd unit nor the upsteam one have the RuntimeDirectory defined. It defaults to /run/ and is successfully created and used if not defined. Removing the line works well on all three distro versions. --- dietpi/dietpi-software | 1 - 1 file changed, 1 deletion(-) diff --git a/dietpi/dietpi-software b/dietpi/dietpi-software index 203e2cc381..eabc16b4d9 100644 --- a/dietpi/dietpi-software +++ b/dietpi/dietpi-software @@ -8444,7 +8444,6 @@ After=network.target sound.target User=mpd #Group=dietpi # Do not change, use system assigned groups, requires both dietpi and audio groups PermissionsStartOnly=true -RuntimeDirectory=/run/mpd ExecStartPre=$(command -v mkdir) -p /run/mpd ExecStartPre=$(command -v chown) -R mpd:dietpi /run/mpd ExecStart=$(command -v mpd) --no-daemon /etc/mpd.conf From f29d520bd72f5f13e40264b825bee56423bc144f Mon Sep 17 00:00:00 2001 From: MichaIng <28480705+MichaIng@users.noreply.github.com> Date: Wed, 3 Jul 2019 18:04:27 +0200 Subject: [PATCH 11/15] v6.25 + DietPi-Patch | Remove obsolete and wrong RuntimeDirectory definition: https://github.com/MichaIng/DietPi/commit/882ddfb533fdc1fa597231824810909770a910c9 --- dietpi/patch_file | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dietpi/patch_file b/dietpi/patch_file index 3904891ad8..c9b6cdc7d1 100644 --- a/dietpi/patch_file +++ b/dietpi/patch_file @@ -2113,8 +2113,10 @@ _EOF_ # O!MPD update to master: https://github.com/MichaIng/DietPi/pull/2884 # myMPD update to master: https://github.com/MichaIng/DietPi/pull/2883 # Gitea update to v1.8.X: https://github.com/MichaIng/DietPi/pull/2881 + # MPD: Remove obsolete and wrong RuntimeDirectory definition: https://github.com/MichaIng/DietPi/commit/882ddfb533fdc1fa597231824810909770a910c9 if (( $G_DIETPI_INSTALL_STAGE == 2 )); then + [[ -f '/lib/systemd/system/mpd.service' ]] && sed -i '/^[[:blank:]]*RuntimeDirectory=/d' /lib/systemd/system/mpd.service [[ -f '/var/www/ompd/include/config.inc.php' && ! -f '/var/www/ompd/include/config.local.inc.php' ]] && mv /var/www/ompd/include/config.inc.php /var/www/ompd/include/config.local.inc.php if grep -q '^aSOFTWARE_INSTALL_STATE\[148\]=2' /DietPi/dietpi/.installed; then From 17e444c764d2c24113d80cade7e0490a03498f56 Mon Sep 17 00:00:00 2001 From: MichaIng <28480705+MichaIng@users.noreply.github.com> Date: Wed, 3 Jul 2019 18:08:20 +0200 Subject: [PATCH 12/15] v6.25 + DietPi-Cleaner | Tiny: Declare local i only once per function, a value does not need to be assigned, it is created as empty string by default, regardless of upper/non-local values --- dietpi/dietpi-cleaner | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/dietpi/dietpi-cleaner b/dietpi/dietpi-cleaner index 6839578323..742dccb509 100644 --- a/dietpi/dietpi-cleaner +++ b/dietpi/dietpi-cleaner @@ -193,7 +193,7 @@ Would you like to continue and start the cleaning process?" && Run_Cleaners # Get on/off whilptail status G_WHIP_CHECKLIST_ARRAY=() local OnOff_Status='on' - local i=0 + local i for ((i=0; i<$MAX_CLEANERS; i++)) do @@ -231,7 +231,6 @@ Would you like to continue and start the cleaning process?" && Run_Cleaners if G_WHIP_CHECKLIST 'Please use the spacebar to toggle which cleaners are enabled.'; then - local i=0 for ((i=0; i<$MAX_CLEANERS; i++)) do @@ -334,7 +333,7 @@ Would you like to continue and start the cleaning process?" && Run_Cleaners ROOT_SPACE_USED_BEFORE=$ROOT_SPACE_USED_CURRENT # Run enabled cleaners - local i=0 + local i for ((i=0; i<$MAX_CLEANERS; i++)) do @@ -457,7 +456,7 @@ $G_PROGRAM_NAME simulation has finished: Press any key to continue..." # Generate the find string local find_string='' echo -e '\nSearching for filenames matching:' - local i='' + local i for i in ${!aCustomFiles[@]} do @@ -560,7 +559,7 @@ $G_PROGRAM_NAME simulation has finished: Press any key to continue..." local line_count=$(wc -l < $FILEPATH_SETTINGS) # Load settings - local i=0 + local i for ((i=0; i<$line_count; i++)) do @@ -603,7 +602,7 @@ _EOF_ # Enabled/Disabled Cleaner Settings [[ -f $FILEPATH_SETTINGS ]] && rm $FILEPATH_SETTINGS - local i=0 + local i for ((i=0; i<$MAX_CLEANERS; i++)) do From 5d7c4e87377def71e24d856bd72f0883ae0f6668 Mon Sep 17 00:00:00 2001 From: MichaIng <28480705+MichaIng@users.noreply.github.com> Date: Wed, 3 Jul 2019 18:31:02 +0200 Subject: [PATCH 13/15] v6.25 + DietPi-Patch | Failsafe: Use Jessie-compatible service stop+disable, just in case of Jessie ARMbian systems --- dietpi/patch_file | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/dietpi/patch_file b/dietpi/patch_file index c9b6cdc7d1..ce6a0dd5c0 100644 --- a/dietpi/patch_file +++ b/dietpi/patch_file @@ -2051,12 +2051,14 @@ Use "dietpi-config" to adjust these settings to your needs.' for i in /etc/init.d/armbian* /{etc,lib,usr/lib}/systemd/system/armbian*.service{,.d} do - if [[ -e $i ]]; then + [[ -e $i ]] || continue + if [[ -f $i ]]; then - [[ -f $i ]] && systemctl disable --now ${i##*/} - rm -R $i + systemctl stop ${i##*/} + systemctl disable ${i##*/} fi + rm -R $i done rm -f /etc/apt/apt.conf.d/*armbian* From ffc8dae542669215aeb41b81804ed3e020110292 Mon Sep 17 00:00:00 2001 From: MichaIng <28480705+MichaIng@users.noreply.github.com> Date: Wed, 3 Jul 2019 18:48:54 +0200 Subject: [PATCH 14/15] v6.25 + DietPi-Firstboot | Apply fixed locale support check: https://github.com/MichaIng/DietPi/commit/f8fc006ac5560da0684af54682e8a52637efd112 + DietPi-Firstboot | Revert to 'en_GB.UTF-8' if chosen locale is not supported --- rootfs/var/lib/dietpi/services/dietpi-firstboot.bash | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rootfs/var/lib/dietpi/services/dietpi-firstboot.bash b/rootfs/var/lib/dietpi/services/dietpi-firstboot.bash index f8d7c1870f..b465c71fac 100755 --- a/rootfs/var/lib/dietpi/services/dietpi-firstboot.bash +++ b/rootfs/var/lib/dietpi/services/dietpi-firstboot.bash @@ -138,8 +138,8 @@ # Apply Language (Locale) local autoinstall_language=$(grep -m1 '^[[:blank:]]*AUTO_SETUP_LOCALE=' /DietPi/dietpi.txt | sed 's/^[^=]*=//') - if [[ $autoinstall_language =~ 'UTF-8' ]] && ! locale | grep -qE "(LANG|LC_ALL)=[\'\"]?$autoinstall_language[\'\"]?" || - ! locale -a | grep -q 'en_GB.UTF-8'; then + grep -q "^$autoinstall_language UTF-8$" /usr/share/i18n/SUPPORTED || autoinstall_language='en_GB.UTF-8' + if ! locale | grep -qE "(LANG|LC_ALL)=[\'\"]?$autoinstall_language[\'\"]?" || ! locale -a | grep -q 'en_GB.UTF-8'; then G_DIETPI-NOTIFY 2 "Setting Locale $autoinstall_language. Please wait..." /DietPi/dietpi/func/dietpi-set_software locale "$autoinstall_language" From b43e9a1f784f94fdb03958adf4da4b6e27af0f0d Mon Sep 17 00:00:00 2001 From: MichaIng <28480705+MichaIng@users.noreply.github.com> Date: Wed, 3 Jul 2019 19:44:59 +0200 Subject: [PATCH 15/15] v6.25 + DietPi-FirstBoot | locale -a shows en_GB.UTF-8 as "en_GB.utf8" for some reason --- rootfs/var/lib/dietpi/services/dietpi-firstboot.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootfs/var/lib/dietpi/services/dietpi-firstboot.bash b/rootfs/var/lib/dietpi/services/dietpi-firstboot.bash index b465c71fac..4fea0d9f1e 100755 --- a/rootfs/var/lib/dietpi/services/dietpi-firstboot.bash +++ b/rootfs/var/lib/dietpi/services/dietpi-firstboot.bash @@ -139,7 +139,7 @@ # Apply Language (Locale) local autoinstall_language=$(grep -m1 '^[[:blank:]]*AUTO_SETUP_LOCALE=' /DietPi/dietpi.txt | sed 's/^[^=]*=//') grep -q "^$autoinstall_language UTF-8$" /usr/share/i18n/SUPPORTED || autoinstall_language='en_GB.UTF-8' - if ! locale | grep -qE "(LANG|LC_ALL)=[\'\"]?$autoinstall_language[\'\"]?" || ! locale -a | grep -q 'en_GB.UTF-8'; then + if ! locale | grep -qE "(LANG|LC_ALL)=[\'\"]?$autoinstall_language[\'\"]?" || ! locale -a | grep -qiE 'en_GB.UTF-?8'; then G_DIETPI-NOTIFY 2 "Setting Locale $autoinstall_language. Please wait..." /DietPi/dietpi/func/dietpi-set_software locale "$autoinstall_language"