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

Release v7.6 #4747

merged 96 commits into from
Sep 18, 2021

Conversation

MichaIng
Copy link
Owner

@MichaIng MichaIng commented Sep 17, 2021

v7.6.2

(2021-09-18)

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-Drive_Manager | Added support for moving the root filesystem to a different drive on Odroid N2.
  • DietPi-AutoStart | A new autostart option "Custom script (foreground, with autologin)" has been added, which executes the custom script "/var/lib/dietpi/dietpi-autostart/custom.sh" after being logged in with the chosen user automatically, in foreground on the main screen. To have it more reasonably separated, the previous custom script option has been changed to "Custom script (background, no autologin)", which is executed via systemd service, independantly of any login state like before, but does not print to foreground console anymore. Instead output goes to journal (journalctl -u dietpi-autostart_custom) like most other systemd services do. The foreground mode now behaves like most other foreground/GUI autostart options, launches after autologin at the main screen (TTY1) and, if it's a long running process, it can be cancelled via CTRL+C, just like CAVA or DietPi-CloudShell. If one wants to run a custom script in foreground on the main screen before/independant of a login, placing it into /var/lib/dietpi/postboot.d/ is another option. All contained scripts are executed at the end of the boot sequence as root user on the main screen, without any manual login required. Many thanks to @scorgn for implementing this feature: DietPi-Login/Autostart | Add autostart option for a custom script to be ran after automatic login. #4634
  • 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.

New Software

  • Box64 | This x86_64 userspace emulator allows you to run x86_64 binaries on an ARMv8/arm64 system. It works very similar to Box86, hence is able to use arm64 shared libraries with the x86_64 binaries, so that often no additional libraries need to be installed. Thanks to binfmt, it is invoked automatically if an x86_64 binary is tried to be executed. Many thanks to @ravenclaw900 for implementing this software title: DietPi-Software | Box64 #4625
  • File Browser | Access and manage your data from anywhere via browser with this lightweight remote file manager. Other than ownCloud and Nextcloud, it accesses the raw data on your filesystem, based on a chosen root directory, which makes it similar to Syncthing. You can setup multiple users with their own root directory and also sharing files and directories via password-protected link is possible.
  • Spotifyd | Spotifyd streams music just like the official client, but is more lightweight. It also supports the Spotify Connect protocol, which makes it show up as a device that can be controlled from the official clients. Many thanks to @ressu for implementing this software title: DietPi-Software | Add spotifyd #4713

Fixes

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-Survey_report | Align scrollup button with main website
+ DietPi-Survey_report | Make text about included systems and time range a bit clearer
ravenclaw900 and others added 15 commits September 14, 2021 20:53
+ DietPi-Software | Box64: Add x86_64 userspace emulator for ARMv8 systems
+ DietPi-Login/Autostart | Add autostart option for a custom script to be ran after automatic login in foreground
+ DietPi-Login/Autostart | Change the old custom script option to not print to console so that it is a pure background process
+ DietPi-Autostart | Shorten the custom script template. Depending on the mode, these don't make much sense anyway.
+ DietPi-Autostart | Always open the custom script in nano when any custom mode is selected. Add some info to the previous prompt about how to save and exit the editor.
+ DietPi-Login | Replace login script with autostart commands consequently to keep the number of unnecessarily nested processes at a minimum
+ CHANGELOG | DietPi-AutoStart: A new autostart option "Custom script (foreground, with autologin)" has been added, which executes the custom script "/var/lib/dietpi/dietpi-autostart/custom.sh" after being logged in with the chosen user automatically, in foreground on the main screen. To have it more reasonably separated, the previous custom script option has been changed to "Custom script (background, no autologin)", which is executed via systemd service, independantly of any login state like before, but does not print to foreground console anymore. Instead output goes to journal (journalctl -u dietpi-autostart_custom) like most other systemd services do. The foreground mode now behaves like most other foreground/GUI autostart options, launches after autologin at the main screen (TTY1) and, if it's a long running process, it can be cancelled via CTRL+C, just like CAVA or DietPi-CloudShell. If one wants to run a custom script in foreground on the main screen before/independant of a login, placing it into /var/lib/dietpi/postboot.d/ is another option. All contained scripts are executed at the end of the boot sequence as root user on the main screen, without any manual login required. Many thanks to @scorgn for implementing this feature: #4634
+ DietPi-Patches | Remove obsolete workaround
+ DietPi-Software | filebrowser: Added with software ID 198
+ CHANGELOG | File Browser: Access and manage your data von anywhere via browser with this lightweight remote file manager. Other than ownCloud and Nextcloud, it accesses the raw data on your filesystem, based on a chosen root directory, which makes it similar to Syncthing. You can setup multiple users with their own root directory as well as files and directories can be shared via password-protected links.
+ DietPi-Globals | Default RC up
+ RC up
+ DietPi-Software | Spotifyd: Add new software with ID 199
+ DietPi-Software | Spotifyd: Pre-create a config template, if not yet present
+ DietPi-Software | Spotify Connect Web: Merge install and config code blocks
+ DietPi-Software | Raspotify: Remove APT key as well on uninstall

Authored-by: Sami Haahtinen <[email protected]>
+ DietPi-Survey_report | Change zero software installs initialisation method
+ DietPi-Software | File Browser: Add admin privileges to dietpi user
+ DietPi-Software | Pi-hole: Remove obsolete dhcpcd workaround since newest Pi-hole release does not install it anymore
+ DietPi-Software | Fix type in Box64 uninstall and move it together Box86 behind Steam uninstall block
+ DietPi-Software | Align and complement output banners a bit to have individual software installs and uninstalls well separated from finalising steps and when those are finished, too. Show banner outputs when doing installs and uninstalls as "Step"s instead of "Mode".
+ DietPi-Software | ReadyMedia: Remove hint about "-R" option as this is set by default in our systemd service
+ DietPi-Software | ReadyMedia: Add hint that on Debian Bullseye, file logging is done again: #4745
+ DietPi-Software | ReadyMedia: Do not create PID file, as it is not required with systemd
+ DietPi-Software | ReadyMedia: Let the systemd unit create a log directory on Bullseye, since Debian patched an override to force file logging despite "-S"
+ DietPi-Software | ReadyMedia: Do not grant the "dietpi" group write permissions to the cache directory
+ CHANGELOG | ReadyMedia: Resolved an issue on Bullseye where the service does not start unless the log directory is manually created. Due to a Debian package patch, on Bullseye logs are forced to file logging again, so that /var/log/minidlna again needs to exist. Many thanks to @AnzoP for reporting this issue: #4745
@MichaIng MichaIng added this to the v7.6 milestone Sep 17, 2021
+ CHANGELOG | Add release PR URL
+ DietPi-Software | Lighttpd: When on reinstall on Bullseye the DietPi-LetsEncrypt config file is present, install and enable the Lighttpd OpenSSL module, which is not integrated into the core package anymore
@MichaIng MichaIng marked this pull request as ready for review September 18, 2021 12:28
+ DietPi-Globals | Minor and default RC up
+ RC up
+ DietPi-Software | ReadyMedia: Tiny fix in config comment: Since we do not implement "Reload=", "force-reload" equals "restart" and we want to be explicit here.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
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
3 participants