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 v7.6.0 #4727

Merged
merged 65 commits into from
Sep 11, 2021
Merged

Beta v7.6.0 #4727

merged 65 commits into from
Sep 11, 2021

Conversation

MichaIng
Copy link
Owner

@MichaIng MichaIng commented Sep 11, 2021

Beta v7.6.0

(2021-09-11)

Changes

  • General | Initial detection and support for Debian 12 Bookworm (the new "testing" version) has been added to DietPi. Everyone is invited to upgrade to Bookworm to stay on bleeding edge. Just note that due to continued breaking changes coming with package upgrades, some features and software installs are broken or will break. We are happy to receive your bug report then, to have necessary changes implemented in DietPi as fast as breaking changes in Bookworm happen, until it becomes the new stable Debian release, expected in summer 2023.
  • DietPi-FS_partition_resize | On first boot, DietPi automatically expands the root partition and filesystem to cover the full disk size. In some circumstances, e.g. on older kernel versions, it may happen that the two used commands "partprobe" and "partx -u" fail to inform the kernel about the changed partition table and hence the filesystem is not expanded. In such case, the system is now rebooted automatically once to assure that the new partition table is loaded and the filesystem is then expanded. This change affects only new images with contain DietPi v7.6 already, since this expansion is done before DietPi updates itself. Many thanks to @Dtrieb for reporting a case where the filesystem expansion failed: DietPi-FS_partition_resize | Reboot once when partprobe failed #4582
  • DietPi-Drive_Manager | Native Linux exFAT support is now detected and respected by skipping the obsolete FUSE driver install in case. Additionally the new "exfatprogs" are installed on Bullseye, written and implemented with Debian Bullseye along with the native Linux exFAT implementation.
  • DietPi-Drive_Manager | exFAT mounts now have 775 mode and are owned by the "dietpi" group, if it was not manually removed. By default, when the FUSE driver is used, mounts have 777 mode so that all users have full access, which isn't optimal for security reasons. With native Linux exFAT support mounts have 755 mode by default, so that DietPi-Software's download and media software implementations don't have write access. "775 root:dietpi" is a good compromise if the "dietpi" group exists, matching the permissions for content directories in /mnt/dietpi_userdata. Many thanks to @K92Pi for reporting a related issue: DietPi-Drive_Manager | Add reasonable permissions and native Linux exFAT support #4680
  • DietPi-Software | TigerVNC: Instead of x11vnc, TigerVNC's own scraping server is now used for shared desktop mode, which is a bit lighter and shares a lot of libraries with the TigerVNC standaline server package.
  • DietPi-Software | RealVNC: Having desktop autologin enabled does not force the shared desktop VNC mode anymore. Furthermore our "vncserver.service" does not call RealVNC's "vncserver-x11-serviced.service" for the shared desktop mode, but instead the actual vncserver-x11 executable is called directly. This has some benefits, e.g. it allows to use our service for a virtual desktop while using RealVNC's service to allow connections to the shared local desktop independently. Many thanks to @K92Pi for bringing this idea to us: VNC won't show desktop when HDMI port is unplugged  #4672
  • DietPi-Software | RealVNC: The VNC server is now started with "VncAuth" authentication by default, which allows any VNC viewer to connect, not just RealVNC's ones. Use "vncpasswd" to change the password, which is now independent of the UNIX user passwords. It defaults to the global software password on a fresh install.
  • DietPi-Software | Amiberry: Due to changes in DietPi v7.5, enabling Amiberry fast boot won't change the TTY for boot/kernel on Raspberry Pi anymore, as they do not directly interfere with Amiberry screen output anymore. But due to this change, during screen mode changes, the raw console output is visible for a short time, which breaks the Amiga feeling. To address the issue, instead of changing the kernel command line (cmdline), Amiberry will now switch to a different expectedly empty TTY on startup and switch back to the main TTY when being stopped, including the case of failure. As this is achieved with the Amiberry service itself, the Amiberry standard boot option benefits from it as well, as well as manual "systemctl start amiberry" calls, all the same way, and it is not limited to the Raspberry Pi, as the previous TTY change was. Many thanks to @zompiexx for reporting this issue: Amiberry 4.1.4 exposes Linux CLI #4692
  • DietPi-Software | MPD: The service file and default mpd.conf are not overwritten anymore (from Buster on), but instead the required changes are added to the default, shipped with the Debian package. This resolves some error messages on MPD startup on Bullseye and leaves most custom changes untouched on a reinstall. Furthermore, by default MPD now logs to journal, accessible via "journalctl -u mpd". Many thanks to @maartenlangeveld for reporting the MPD startup errors: mpd : Failed to initialize io_uring: io_uring_queue_init() failed: Cannot allocate memory  #4690
  • DietPi-Software | Kodi: Our Raspberry Pi accelerated Kodi package is now installed on ARMv7 RPi systems as well.

Fixes

  • DietPi-Drive_Manager | Corrected false information when doing an exFAT filesystem check & repair: Until Stretch, only checking for exFAT errors is supported but not repairing them. From Buster on, both is fully supported.
  • DietPi-LetsEncrypt | When enabling HTTPS redirect or HSTS and ownCloud or Nextcloud are installed, the "overwrite.cli.url" setting in the config.php is updated accordingly to contain the primary HTTPS domain. This is required for cron jobs and the occ/ncc commands to access ownCloud/Nextcloud through the webserver, as the Let's Encrypt certificate is only valid for the external domain name and not "localhost". Many thanks to @droogi for reporting a possibly related issue: DietPi-LetsEncrypt | Adjust ownCloud/Nextcloud CLI URL when HTTPS redirect is enabled #4353
  • DietPi-Software | TigerVNC: Resolved an issue where remote connections didn't work by default on Bullseye systems, as a different configuration file is used.
  • DietPi-Software | LXDE: Resolved an issue on Raspberry Pi, where calling lxappearance (Customize Look and Feel) failed due to incompatible RPi desktop packages. Many thanks to @pinipon for reporting this issue: Unable to open [Customize Look and Feel] (lxappearance) in Bullseye #4687
  • DietPi-Software | Blynk: Resolved an issue where the log directory may be missing, which breaks the service start, when the userdata were migrated from one system to a new one. Many thanks to @Phil1988 for reporting this issue: Bullseye VMware issues (Nextcloud, Blynk, etc.): No log directory created and wrong PHP <-> Nextcloud combination #4721
  • DietPi-Software | qBittorrent: Resolved an issue on Bullseye systems where login to the web interface was not possible with the global software password since the required hash algorithm has changed. Many thanks to @aftensleuk for reporting this issue: https://dietpi.com/phpbb/viewtopic.php?p=22564#p22564

Backwards merge master > dev
+ Subversion up
+ DietPi-Globals | Default subversion up
+ CHANGELOG | Init v7.6
+ DietPi-Survey_report | Add v7.6 support
+ DietPi-Survey | Actively disable key authentication, as this is done by default, if an ~/.ssh/id_rsa is present, since one of the very latest package upgrades on Bullseye, despite a password given via URL or even "-u" option, failing as the server allows a single authentication attempt only.
+ DietPi-BugReport | Explicitly set no curl key authentication. Since one of the latest package upgrades on Bullseye, it uses ~/.ssh/id_rsa automatically, if present, despite a user:password given via URL and/or "-u" command, which fails as the server allows a single authentication attempt only.
+ DietPi-BugReport | Be stricter on input commands but not overriding any non-integer with "0", and minor coding
+ DietPi-Set_software | RPi: Do not add the "ui" component to the raspi.list anymore, as it only ships the conflicting RPi desktop packages
+ DietPi-Set_software | Use more error-handling and minor coding enhancements
+ README | Add link to blog
+ DietPi-PREP | Mute shellcheck on our intended single case-insensitive glob
+ DietPi-Software | RealVNC: Do not force shared desktop mode when dietpi-autostart desktop autologin is enabled, to remain consistency with TigerVNC and allow concurrent and independent local desktop and virtual VNC sessions.
+ DietPi-Software | TigerVNC: Switch to "tigervnc-scraping-server" for shared desktop, so that our "TigerVNC" install option really is a TigerVNC install option and no mixture with the dedicated and in the meantime hardly maintained x11vnc.
+ DietPi-Software | TigerVNC/RealVNC: Make our wrapper script a fast executing and lighter dash script, which more explicitly calls the actual binaries than some other services and more explicitly kills the running instances it is supposed to kill.
+ DietPi-Software | TigerVNC: Do not overwrite existing VNC passwords
+ DietPi-Software | RealVNC: Use VncAuth to allow 3rd party VNC viewer connections, and apply global software password, when none was set yet
+ DietPi-Software | TigerVNC/RealVNC: Error-handle most uninstall steps and assure that the (old?) SysV service is cleanly removed
+ DietPi-Software | Pre-create /usr/local/bin once on every install, so we don't need to pre-create it within so many individual install code blocks. Also add some error-handling here and there.
+ DietPi-Software | VNC Servers: Add some info prints to our wrapper script and simplify kill command for RealVNC to what works reliable now
+ DietPi-Software | VNC Servers: Skip the xstartup creation: Both VNC servers ship a default script which mostly equals ours and launches the installed default desktop/client automatically. In case of RealVNC, it is /etc/vnc/xstartup, so that our script was only an unnecessary wrapper.
+ DietPi-Software | VNC Servers: Use an own loop to wait for an X server, connect, and in case wait for a next X session, when using shared desktop mode. From Bullseye on, the new X0tigervnc binary needs to be used, which is a replacement for what x0tigervncserver, while the latter became a wrapper to pass some defaults. On RealVNC the actual vncserver-x11 needs to be called instead of the wrapper, which also allows us to use generic VncAuth authentication.
+ DietPi-Software | TigerVNC: Apply remote connection config for Bullseye
+ DietPi-Software | TigerVNC: Assure that /root/.vnc exists before attempting to write to it
+ DietPi-Software | VNC Servers: Set bash as default shell for virtual desktop and assure that service status doesn't report a failure after stopping it
+ DietPi-Software | VNC Servers: Allow other X servers instead of only Xorg for shared desktop, e.g. another running virtual desktop for testing reasons: Yes VNC servers can connect to VNC servers' virtual desktops!
+ DietPi-Software | RealVNC: Since vncserver-x11(-core) stays active when the X server terminates and connects to any new X server automatically, we don't need to loop for it, but can have it as main process. Leave the initial wait for X in place, as our wrapper consumes much less memory than vncserver-x11-core.
+ DietPi-Software | RealVNC: Disable its native systemd services after ours got enabled. By default they are disabled anyway, so this covers a scenario where users installed RealVNC manually before, used their services and then do a DietPi install on top of it. Both can run aside of each other (to have virtual + shared desktop VNC concurrently), when screens do not overlap, but our installation should restore the default single VNC server setup. To prevent a potentially used VNC connection for the install (unlikely but possible), the RealVNC services are however not stopped but only disabled for ours to take over from next reboot on.
+ DietPi-Software | LXDE: Block further Raspberry Pi desktop packages which conflict with LXDE on Bullseye. Block a larger range via wildcards to potentially prevent other issues and conflicts, due to customised incompatible packages shipped by the Raspberry Pi repository "main" component, required for kernel and firmware.
+ CHANGELOG | LXDE: Resolved an issue on Raspberry Pi, where calling lxappearance (Customize Look and Feel) failed due to incompatible RPi desktop packages. Many thanks to @pinipon for reporting this issue: #4687
+ DietPi-Patches | RPi: Remove obsolete cmdline entry on v5.4+ kernel systems (not Stretch)
+ Bug report template | Add Raspbian vs Debian identifier for Raspberry Pi 32-bit systems
+ DietPi-Software | Amiberry: Switch to a clean TTY before running Amiberry, so that on mode switches the raw console output is not visible. Switch back to the main TTY when Amiberry is exited or fails.
+ CHANGELOG | Amiberry: Due to changes in DietPi v7.5, enabling Amiberry fast boot won't change the TTY for boot/kernel on Raspberry Pi anymore, as they do not directly interfere with Amiberry screen output anymore. But due to this change, during screen mode changes, the raw console output is visible for a short time, which breaks the Amiga feeling. To address the issue, instead of changing the kernel command line (cmdline), Amiberry will now switch to a different expectedly empty TTY on startup and switch back to the main TTY when being stopped, including the case of failure. As this is achieved with the Amiberry service itself, the Amiberry standard boot option benefits from it as well, as well as manual "systemctl start amiberry" calls, all the same way, and it is not limited to the Raspberry Pi, as the previous TTY change was.
+ DietPi-Software | LXDE: Fix obconf on RPi, when manually installed, as the RPi desktop one is conflicting as well
+ DietPi-Software | LXDE: On RPi, block further RPi desktop packages and assure that as well all debug symbols and development header packages are covered
+ DietPi-Pre_patches | Updating the Raspberry Pi desktop package blocks
+ General | Add initial support for Debian 12 Bookworm (current testing)
+ DietPi-Obtain_HW_model | Reduce overhead when detecting the Debian version
+ DietPi-Software | Bookworm support: Disable software titles for Bookworm when disabled on Bullseye
+ DietPi-Set_software | apt-mirror: Use Bullseye RPi repo suite on Bookworm
+ DietPi-PREP | Add initial Debian 12 Bookworm support
+ DietPi-PREP | Update Debian version info, Buster being now oldstable, Bullseye stable and Bookworm the new testing
+ DietPi-PREP | Drop obsolete patches
+ DietPi-Software | InfluxDB: The repository does support Bullseye now natively. Enable install on Bookworm as well via Bullseye suite.
+ DietPi-Software | Docker: Fix install on Bookworm by using Bullseye suite
+ DietPi-Automation | When the automated first run setup fails, assure that as well autologin is disabled. Else, on a reboot or power cycle, the setup is started again automatically, but interactively so that it hangs on first whiptail. If this is a headless device or no screen attached, this makes it impossible to take over the setup via SSH or serial console: #4555 (comment)
+ DietPi-Pre-patches | Skip suite change patch on Buster+, since it throws a notice only (both "apt update" and "apt-get update") and does not require any interactive confirmation. Due to lack of test options, we leave it in place for Stretch systems.
+ DietPi-Globals | G_AGUP: Remove obsolete "--allow-releaseinfo-change-suite" flag, as a suite change since Buster throws a warning only (on "apt update" and on "apt-get update" and does not require any interactive confirmation.
+ DietPi-Software | Do not use global INSTALL_URL_ADDRESS and UNINSTALL_URL_ADDRESS variables anymore, but replace them with local ones. There is not point in having these globally and this is a preparation for placing each install block into its own function, having all related variables local ones to rule out interference.
+ DietPi-Software | Update all fallback URLs/versions when auto-detection of latest version via GitHub API is done
+ DietPi-Software | Skip G_CHECK_URL when the download is done without any larger prior steps
+ DietPi-Software | Install all 3rd party APT keys as dedicated files and don't use the deprecated apt-key anymore at all
+ DietPi-Software | Apply G_EXEC error-handling in some more cases
+ DietPi-Software | Minor coding, reodering and wording
+ DietPi-Software | Grafana: Bump version for ARMv6
+ DietPi-Software | Jellyfin: Remove obsolete symlink removal on uninstall: This is now done by the package itself.
+ DietPi-Software | RealVNC: Workaround for one of two virtual desktop password files being empty, when not repeating vcgencmd two times, in some cases: #4679 (comment)
+ DietPi-Software | Typo, two more G_EXEC and some empty line removal
+ DietPi-PREP | Debian Bookworm migrated to gcc-11
+ DietPi-Backup | Fix syntax when checking for how to update the UUIDs
+ DietPi-Backup | Add support for initramfs update via dracut
+ DietPi-LetsEncrypt | If webserver access via plain HTTP is not possible anymore (redirect or HSTS enabled), replace ownCloud/Nextcloud CLI URL with the primary domain HTTPS URL, so that cron jobs and occ/ncc commands can correctly access the ownCloud/Nextcloud instance via webserver. This may be required on other cases, but those are the first known ones: #4353
+ DietPi-LetsEncrypt | When enabling HTTPS redirect or HSTS and ownCloud or Nextcloud are installed, the "overwrite.cli.url" setting in the config.php is updated accordingly to contain the primary HTTPS domain
+ DietPi-Software | Blynk: Assure that the default log directory exists, when it is set in the config file: #4721
+ CHANGELOG | Blynk: Resolved an issue where the log directory may be missing, which breaks the service start, when the userdata were migrated from one system to a new one
+ DietPi-FS_partition_resize | Reboot to load new partition table if partprobe or partx fail
+ DietPi-FS_partition_resize | Append output to log file instead of overwriting it, since it may run twice now, when partprobe or partx failed on first boot
+ CHANGELOG | DietPi-FS_partition_resize: On first boot, DietPi automatically expands the root partition and filesystem to cover the full disk size. In some circumstances, e.g. on older kernel versions, it may happen that the two used commands "partprobe" and "partx -u" fail to inform the kernel about the changed partition table and hence the filesystem is not expanded. In such case, the system is now rebooted automatically once to assure that the new partition table is loaded and the filesystem is then expanded. This change affects only new images with contain DietPi v7.6 already, since this expansion is done before DietPi updates itself. Many thanks to @Dtrieb for reporting a case where the filesystem expansion failed: #4582
+ DietPi-Software | MariaDB: Merge install and config code blocks
+ DietPi-Software | MariaDB: Assure that the content of the database directory has correct owner in case the database dir got migrated from a different system. The package postinst script tries to do that, but does not loop through the files behind the symlink, hence only chown's the parent directory: #4721 (comment)
+ DietPi-Drive_Manager | If the kernel supports exFAT natively, skip FUSE driver installation, and on Bullseye, use the new exfatprogs tools package, written for Linux's exFAT implementation
+ DietPi-Drive_Manager | Fix fsck handling on exFAT: Since Buster, both tools packages support dry run as well as repairing exFAT filesystems. Only on Stretch, repairing is not supported. Do a dry run on Stretch accordingly and inform users that repairing is not supported yet, pointing to our upgrade HowTo.
+ DietPi-Drive_Manager | Remove debug code as we better use "bash -x" when debugging is required
+ DietPi-Drive_Manager | If the "dietpi" group exist, grant (only) members of this group R/W access to exFAT mounts. By default, when the FUSE driver is used, mounts have 777 mode so that all users have full access, which isn't optional. With native Linux exFAT  (starting with v5.4) mounts have 755 mode so that DietPi-Software's default software setups don't have write access: #4680
+ DietPi-Drive_Manager | Apply intended mount options already when initially mounting the drive, either after format or when using the "Mount" menu option
+ DietPi-Drive_Manager | Purge exFAT FUSE driver package when native kernel support is present, else it may still be loaded unnecessarily
+ DietPi-Drive_Manager | Fix automount unit detection when the path contains a dash. Since the dash codes for the slash, "\x2d" codes for the dash.
+ DietPi-Software | Typo
+ DietPi-Software | MPD: Instead of overwriting the packages systemd unit and config, create a drop-in override and specifically set the settings we need. On Stretch, where we install our own package which does neither ship service nor config, it needs to remain as it was.
+ DietPi-Software | MPD: Change logging from file to journal
+ DietPi-Software | MPD: Skip PID file creation, which is not required for the systemd service
+ DietPi-Software | MPD: Do not force the output format anymore. While this may have been reasonable on RPi where the onboard sound is known and without ALSA conversion pluging enabled, since we now support a large range of devices, this breaks things in many cases and we better pass the input format and leave auto-conversion to ALSA, when required.
+ DietPi-Software | MPD: Do not change device/zeroconf name anymore. The default includes the system hostname, which is pretty fine.
+ DietPi-Software | MPD: Merge install and config blocks
+ DietPi-Software | qBittorrent: Resolved an issue on Bullseye systems where login to the web interface was not possible with the global software password since the required hash algorithm has changed
+ DietPi-Software | qBittorrent: Fix password hashing
+ DietPi-Software | qBittorrent: Typo
@MichaIng MichaIng added the Beta 🧪 Issues specific to the Beta branch testing label Sep 11, 2021
@MichaIng MichaIng added this to the v7.6 milestone Sep 11, 2021
@MichaIng
Copy link
Owner Author

I'll add the new software titles tomorrow in a second beta iteration 🙂. Time for final testing is out for today.

+ DietPi-Software | Install our RPi 32-bit Kodi package on all 32-bit RPi images, not only on Raspbian.
+ DietPi-Software | qBittorrent: Use fixed default password on Buster for now, until we found a way to generate the hash correctly
+ RC up
+ DietPi-Globals | Default RC up
+ CHANGELOG | Kodi: Our Raspberry Pi accelerated Kodi package is now installed on ARMv7 RPi systems as well.
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.

Open Beta v7.6 | Please help testing and hardening the upcoming release
1 participant