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 v6.27.0 #3226

Merged
merged 159 commits into from
Dec 8, 2019
Merged

Beta v6.27.0 #3226

merged 159 commits into from
Dec 8, 2019

Conversation

MichaIng
Copy link
Owner

@MichaIng MichaIng commented Nov 13, 2019

Beta v6.27.0

(08/12/19)

Changes / Improvements / Optimisations

  • FriendlyARM ZeroPi | Initial hardware identifier (ID: 59) and support for this device has been added to DietPi. Many thanks to @stephan for creating the related DietPi image: NanoPi M3/Fire3 | NanoPC T3 | ZeroPi | Debian Buster images #3221
  • RPi4 | Since RPi4, bootloader and USB firmware is stored on an internal EEPROM, which is not updated/flashed by the firmware APT package installs automatically. The additional "rpi-eeprom" package comes with an EEPROM update script and boot service, which will now be installed on DietPi update and firstrun setup automatically, if RPi4 is detected. Those firmware updates include power consumption (hence heat emission) optimisations and enable additional boot methods, currently network boot and USB boot is planned as well. This was reason enough for us to implement it automatically for all RPi4 systems. Additionally you can actively install/update the EEPROM manually via dietpi-config > Advanced Options > Update RPi4 EEPROM firmware. For additional information, read the official docs: https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md Many thanks to @trueaspects for informing us about this important subject: RPi4 | Implement EEPROM firmware update #3217
  • Virtual Machines | Intel/AMD CPU microcode update packages are not installed/purged from virtual machines. The CPU is provided by the host, hypervisors do not allow to update microcode from within the guest, reasonably, and if they did, this would be serious security and stability issue.
  • DietPi-Software | The general network check against first sources.list entry has been replaced by a pure connectivity test and separate DNS resolver test via ping. This solves an issue where sources.list parsing failed when [arch=...] was specified and allows better debugging. The sources list entries themselves are checked and error-handled by G_AGUP already. Ping target IP for connection test and domain for DNS resolver test can be set via dietpi.txt, default is Cloudflare DNS IP and domain which should be very reliable and fast all over the world. Many thanks to @lwqcz for reporting the issue and providing a solution: Repair parsing of CHECK_URL in dietpi-software #3243
  • DietPi-Software | TasmoAdmin: The administrative website to manage ESP8266 devices flashed with Tasmota for smart home systems is now available for install. Many thanks to @svh1985 for implementing this software title: DietPi-Software | TasmoAdmin #3103
  • DietPi-Software | ownCloud: Enabled install on Buster, Bullseye and ARMv6 RPi models (RPi1+Zero). ownCloud 10.3 has been release with PHP7.3 support, hence it can be used with native distro PHP7.3 and does not require Ondrej's PHP repo which does not support armv6hf.
  • DietPi-Software | Syncthing: Enhanced service by security hardenings and to allow internal updates and auto updates without failing to restart. Moved binary from /etc/syncthing to /opt/syncthing to match FHS and disabled file logging, which is an unnecessary overhead, since logs can be easily viewed via "journalctl -u syncthing". Changes will be applied to all installs on v6.27 update, existing configs won't be touched by this.
  • DietPi-Software | NAA daemon: Latest version is now scraped from base URL and installed automatically. Many thanks to @Heroldgray for doing this suggestion: DietPi-Software | NAA daemon (networkaudiod) upgrade from 3.5.6 to 3.6.0 #3191
  • DietPi-Software | Home Assistant: Python3.8 will be installed for the pyenv from now on due to Python3.6 deprecation. Many thanks to @sdomotica for providing this information: DietPi-Software | Home Assistant: Install Python3.8 due to 3.6 deprecation #3219
  • DietPi-Software | Home Assistant: When selecting for install, one will be informed about possibly long install/build times. Many thanks to @Gill-Bates for doing this suggestion to avoid users assuming their install process being stuck: DietPi-Software | Home Assistant: Add info about long install/build process #2897
  • DietPi-Software | Home Assistant: Vastly reduced Home Assistant dependencies and install complexity. It does not run inside a virtualenv of pyenv anymore, since it has already its unique pyenv Python instance. pyenv is still required due to the large amount of specific module versions, required for HA and its integrations. The alternative would be a venv from a globally installed Python instance, but this requires further thoughts and discussion. The amount of development libraries and tools, installed via APT, has been updated and reduced to a minimum to build Python and Home Assistant inside the pyenv without errors and warnings. There is a slightly increased chance that certain HA components need additional development packages. To cover this, two new settings have been added to dietpi.txt: "SOFTWARE_HOMEASSISTANT_APT_DEPS" and "SOFTWARE_HOMEASSISTANT_PIP_DEPS". Add a space-separated list of APT packages and pip modules respectively, to have those installed automatically with Home Assistant. As well activating the pyenv environment from console is now easier possible via "source /home/homeassistant/pyenv-activate.sh" as user "homeassistant". Additionally "/home/homeassistant/homeassistant-update.sh" has been added, which can be called by any sudo-capable user to update Home Assistant easily.
  • DietPi-Software | Node-RED: Access permissions to I2C is now enabled by default on RPi and other SBCs which ship a configured "i2c" group by default. Many thanks to @NastySpill for reporting an underlying issue: https://dietpi.com/phpbb/viewtopic.php?f=11&t=6862
  • DietPi-Software | Gitea: The latest version will now be pulled from GitHub automatically.
  • DietPi-Software | Amiberry: Updated to v3.0.4, a large update from v2.25 with many improvements, see: https://github.com/midwan/amiberry/releases
  • DietPi-Software | Amiberry: Since we ship a tailored SDL2 version, this has now been merged right into the Amiberry download archive and install directory, to not interfere with other system-wide installed SDL2 instances.

Bug Fixes

Known/Outstanding Issues

Fourdee and others added 30 commits August 4, 2019 12:17
+ DietPi-PREP | Add missing free space to GRUB EFI package list
+ Replace fdisk and gdisk commands by their command-line counterparts sfdisk and sgdisk, which are more suitable for a script
+ Backport of: 776c642
+ CHANGELOG | Typo and v6.27 init
+ Subversion up
+ DietPi-Globals | Default subversion up + minor coding: {print} is mawk default action if none given with $0 as default argument
+ DietPi-Autostart | Correction of small typo in Game title: "Rebith" => "Rebirth"
+ DietPi-PREP | Since Buster, "apt-transport-https" is not required anymore. It is a transitional dummy package for "apt" only, which includes HTTPS support now.
+ DietPi-Set_CPU | Exit script immediately (before loading DietPi-Globals) based on "scaling_available_governors" file existence, which, besides VMs, includes chroot and container environments as well
+ DietPi-Set_CPU | Consequently print which settings are about to be applied and which are not supported, in case
+ DietPi-Set_CPU | Since when we handle "GPU" governors? :)
+ DietPi-Set_CPU | Further coding and output/wording consistency
+ DietPi-Logclear | Loop through log file array more elegant and by this avoid invalid log file processing if /var/log is empty.
+ DietPi-PREP | Remove SSH switch service (used to enable OpenSSH server if /boot/ssh exists on boot) and "pi" user sudo rules on RPi systems
+ DietPi-Software | Xserver: libegl1-mesa is pulled on Stretch as dependency anyway and installing libegl1 like this does not automatically pull required dependencies from backports: #3177
+ DietPi-Patch | Backport fix for Xserver on Stretch: #3177
+ Do not add version string to image file to easier scripting and since this still confuses users. The image file version should be generally irrelevant since it updates to current DietPi on first boot automatically. If for some reason this information is wanted, it can be derived from the creation date and contained .version file.
+ Do not offer backup or try to rename image file, if source image matches output image already, which is high likely in case of scripting.
+ Minor coding: Use a single variable for .img and .7z file.
+ DietPi-Globals | G_WHIP: Never increase whiptail y size to max, since this looks always strange, e.g. in case of short log files, filling only the upper part of the whiptail text box. Always use auto y size estimation instead.
+ DietPi-Globals | G_WHIP: Make input mode "0" the default for G_WHIP_INIT, which is required in most cases.
+ DietPi-Software | WireGuard: Kernel postinst script needs to be executable of course
+ DietPi-Pre-patch | WireGuard postinst script needs to be executable of course...
+ DietPi-Pre-patch | Backport for: d6f84fa
+ DietPi-Patch | Backport fix for WireGuard kernel postinst script: 14d4913
+ DietPi-Pre-patch | Align WireGuard package priorities with DietPi-Software
+ DietPi-Pre-patch | Backport of: 057a49d
+ DietPi-Software | WireGuard: Prevent multiple WireGuard module rebuilds on RPi kernel upgrade, since postinst script is called for every kernel arch (v6/v7/v71/v8). As well only attempt to reconfigure the DKMS module, if the package is actually installed.
+ DietPi-Pre-patch | Remove WireGuard auto-rebuild skript, since DKMS is now triggered correctly
+ DietPi-Pre-patch | Backports for: 1f8767c
+ DietPi-Software | WireGuard: Remove kernel module rebuild script, since DKMS is now triggered correctly on RPi
+ DietPi-Patch | Remove auto WireGuard kernel module rebuild, since DKMS is now triggered correctly on RPi. postinst script itself is removed via pre-patches already.
MichaIng and others added 29 commits November 26, 2019 13:00
+ DietPi-Login | Minor coding
+ DietPi-Globals | G_ERROR_HANDLER: Minor output changes and only offer + print Git report if it's one of our programs, checked via "dietpi-" prefix.
+ DietPi-Software | rTorrent: Fix ruTorrent access permissions: #3244
+ CHANGELOG | ruTorrent: Resolved an issue where rTorrent and the webserver didn't have sufficient permissions to read and write ruTorrent web UI settings and data
+ DietPi-PREP | When we remove non-required systemd units, remove them only if they do not belong to any kept APT package, else mask. This prevents future service reinstall and especially reactivation on package upgrades, in case of ARMbian services harmful in combination with DietPi-RAMlog and tmpfs + ARMbian zRam double mount:
```
Setting up linux-buster-root-next-tinkerboard (5.95) ...
Created symlink /etc/systemd/system/sysinit.target.wants/armbian-ramlog.service → /lib/systemd/system/armbian-ramlog.service.
```
+ DietPi-Patch | Reapply ARMbian conflicting file removal/block more sustainably
+ DietPi-Autostart | Save chosen auto login user to dietpi.txt to not have choice reverted via "dietpi-autostart int" calls
+ DietPi-Autostart | Minor coding
+ CHANGELOG | DietPi-Autostart: Resolved an issue where non-interactive script calls, e.g. done by dietpi-software installs, reset prior made auto login user choices
+ DietPi-PREP | When removing deb-multimedia.org repo from Meverics Odroid images, remove the obsoleted APT preference as well
+ CHANGELOG | Gitea: The latest version will now be pulled from GitHub automatically
+ DietPi-Patch | Typo
+ DietPi-Software | Gitea: Grab latest version from GitHub automatically
+ DietPi-Patch | Hide dpkg-query error message if no package match was found
+ DietPi-Software | Amiberry: WIP
+ DietPi-Software | Amiberry: Update to current upstream v3.0.4, including Stretch binaries and merge SDL2 libraries right into the Amiberry install dir
+ DietPi-Software | Amiberry: Download archives are not split per platform to provide smaller downloads and less file moving hassle
+ DietPi-Software | Amiberry: autostart.uae has been removed, as it contained obviously auto-created defaults from an RPi1 instance and non-existent file paths. Re-evaluation if a default file makes sense should be done, then it should be named default.uae, which is used by Amiberry automatically, if present, since some versions ago
+ DietPi-Patch | Reinstall/update Amiberry and be more verbose on what we're patching (a tiny start)
+ DietPi-Patch | When patch_file exits regularly, assure that exit code is 0 instead of last check result within incremental patches. This is required due to "sleep 0.25" removal with v6.27, which assured positive last exit code up to v6.26.
+ DietPi-Update | Prefix G_DIETPI-NOTIFY 3 header text with "Phase" instead of "Mode" when not checking for available updates only
+ DietPi-Globals | G_DIETPI-NOTIFY -2: Switch to reliable stty screen size estimation, since we removed the G_WHIP_SIZE_X_OVERRIDE workaround for tput, when redirecting SDTOUT + SDTERR
+ DietPi-Software | Mosquitto: Since Buster, the APT package ships a systemd unit. On Stretch, use the upstream systemd unit, which includes some enhanced feature, e.g. systemd PID file handling/notify, start on network-online.target instead of network.target, reload feature, documentation etc: https://github.com/eclipse/mosquitto/tree/master/service/systemd
+ DietPi-Software | Apply safe and clean systemd unit removal to more software uninstalls (WIP)
+ dietpi.txt | Add general connection and DNS test settings, currently used by dietpi-software only, but planned to implement as DietPi-Global functions in future versions
+ DietPi-Patch | DietPi-Update will save version info to /DietPi/dietpi/.version via G_VERSIONDB_SAVE (at update start and) after every subversion patch from v6.27 on. This allows DietPi-Patch to rely on DietPi-Globals loading the correct info without requiring any input argument to override the subversion. As well it assures that subscripts, which load .version/globals anyway, have the correct info based on last applied subversion patch. In case of DietPi-Patch error, an update rerun can continue with the failed subversion patch instead of repeating all incremental patches from initial subversion on.
+ DietPi-Patch | Minor coding and wording
+ DietPi-Update | Store version info after every incremental patch to allow multi-version updates continuing at current step, in case of failure of abortion. Transparently inform user when reducing subversion string and always print correct new version to avoid confusion.
+ DietPi-Patch | patch_file can now read correct version info from file, hence does not require an input argument anymore. However for debugging and backwards compatibility it will still handle inputs to override the saved version string, read from file.
+ DietPi-Software | Home Assistant: Add simple HA update script which can be called by any sudo capable user to update the HA module within pyenv
+ DietPi-Software | Home Assistant: Use network-online.target instead of network.target, since HA requires active network to launch and be available. network-online.target is available since Debian Stretch, which is the reason we did not use it while still supporting Jessie.
+ DietPi-Software | Replace G_CHECK_URL against first sources.list entry with purge connectivity test and separate DNS resolver test via ping. This solves an issue where sources.list parsing failed when [arch=...] was specified and allows better debugging. The sources list entries themselves are checked and error handled by G_AGUP already. Ping target IP for connection test and domain for DNS resolver test can be set via dietpi.txt, default is Cloudflare DNS IP+domain which should be most reliable and very fast all over the world.
+ CHANGELOG | Add missing entries and minor fix + wording
+ DietPi-Software | When running "dietpi-software reinstall <ID>", check first if title is currently installed, before checking arch/device/distro support. Without this, when calling reinstalls from DietPi-Update (patch_file), users see "[FAILED] Software not supported", which is confusing at this point.
@MichaIng MichaIng merged commit 25775c1 into beta Dec 8, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Beta 🧪 Issues specific to the Beta branch testing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants