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.1.1 #4299

Merged
merged 27 commits into from
Apr 25, 2021
Merged

Beta v7.1.1 #4299

merged 27 commits into from
Apr 25, 2021

Conversation

MichaIng
Copy link
Owner

@MichaIng MichaIng commented Apr 24, 2021

Beta v7.1.1

(2021-04-25)

Changes (since v7.1.0)

  • DietPi-Software | Kodi: Worked around an issue on 64-bit RPi systems, where the wrong Kodi package is tried to be installed, causing an APT failure. Many thanks to @mmnpkf for reporting this issue: DietPi-Software | Kodi: Apply workaround for missing RPi 64-bit package #4194
  • DietPi-Software | Chromium: Worked around an issue on 64-bit RPi systems, where the install failed, as The Raspberry Pi repository does not ship a 64-bit build yet. The Chromium package from the Debian repository is now installed instead.

MichaIng and others added 13 commits April 22, 2021 14:31
+ DietPi-PREP | Remove combined /etc/apt/trusted.gpg keyring where we know that all required keys are provided the modern way via dedicated files in /etc/apt/trusted.gpg.d/ or where we can do that manually (Raspbian).
+ DietPi-PREP | 64-bit RPi systems do not require to 32-bit architecture anymore, as the firmware packages are now provided via raspberrypi-userland sources, which are automatically installed already: https://archive.raspberrypi.org/debian/pool/main/r/raspberrypi-userland/
+ DietPi-Software | Kodi: On 64-bit RPi images, assure that the correct Kodi package from Debian repo is installed, as the RPi repo supports 32-bit only, causing an APT error.
+ CHANGELOG | Kodi: Worked around an issue on 64-bit RPi systems, where the wrong Kodi package is tried to be installed, causing an APT failure
+ DietPi-Software | Chromium: Assure that on 64-bit RPi systems APT does not try to pull the "chromium-browser" package, which is currently available for 32-bit armhf only.
+ DietPi-Patches | On 64-bit RPi systems, remove the obsolete foreign architecture armhf
- Python 3
- Go
- Java
- Node.js

Open question: Also Mono?
+ DietPi-Software | Replace "Shared Libraries" category with "Databases & Data Stores", rename "VPN" to "VPN Servers" (as all clients are now integrated into the new DietPi-VPN tool), rename "Networking" to "Network Tools", which fits better.
+ DietPi-Software | Minor
DietPi-Software | Rework part 3: Category restructure
+ DietPi-Banner | Disable CPU temperature by default in VMs. It is never available anyway (would be an information leak from host => guest) and sometimes there seems to be a /sys file for readout which contains garbage: https://discourse.pi-hole.net/t/cpu-temperature/46502 Instead enable free root file system space, which may be especially interesting on VMs which a relatively small default disk space of only 8 GiB.
+ DietPi-Explorer | In select mode, return error exit code when "Exit" is selected to indicate parent scripts that no selection has been made
+ DietPi-Explorer | Allow to run script as non-root user. Of course the executing user requires sufficient permissions to do selected actions, else the action triggers our error handler to show the related permissions error to the user.
+ DietPi-Explorer | Minor coding
+ DietPi-VPN | On provider selection, only apply the selected provider when all preparation steps have succeeded. This especially addresses the case where "Custom" is selected but the OVPN selection is exited. It's better to show the previous provider then, where server and credentials may still be valid for.
@MichaIng MichaIng added the Beta 🧪 Issues specific to the Beta branch testing label Apr 24, 2021
@MichaIng MichaIng added this to the v7.1 milestone Apr 24, 2021
+ CHANGELOG | DietPi-VPN: This new tool has been added, which allows you to establish VPN connections to known public VPN providers or connect via custom OpenVPN configuration file. It incorporates all features from the previous DietPi-NordVPN script and more.
+ CHANGELOG | Chromium: Worked around an issue on 64-bit RPi systems, where the install failed, as The Raspberry Pi repository does not ship a 64-bit build yet. The Chromium package from the Debian repository is now installed instead.
+ CHANGELOG | Typo
+ DietPi-Patches | Extend Sonarr v3 update info about DietPi-Arr_to_RAM
+ RC up
+ DietPi-Globals | Default RC up
@MichaIng
Copy link
Owner Author

MichaIng commented Apr 24, 2021

One more thing I want to do is migrating OpenBazaar from global GOPATH install to module-style install, since future Go versions might not support to install 3rd party Go software via go get on a global GOPATH level anymore. I.e. GO111MODULE, which already defaults to no since Go v1.16 might not be used anymore with Go v1.17.

I'll see if I can do that tomorrow, otherwise it is not a blocker task, since next DietPi release is scheduled for May 29 already, which should be early enough to migrate to the future-prove module-style install method.

@Joulinar
Copy link
Collaborator

Do we have a release schedule now 👀

@MichaIng
Copy link
Owner Author

Yes, I think regular releases are more important than trying to finish a certain list of planned changes. Usually things take longer than expected and when dealing with 190 software options, regularly an implementation requires an update to keep up with upstream, which should not take unnecessary long, especially when installs are broken completely or APT keys expired and such.

This also means that I'll remove most issues from milestones and only add those where I'm sure that I will implement them or if someone else did start to work on them.

@Joulinar
Copy link
Collaborator

Ok so we are becoming agile and going into smaller sprints. 🤣

+ CHANGELOG | Typo
+ CHANGELOG | Typo
+ CHANGELOG | Remove obsolete known issue entry, solved with migration to Sonarr v3 (and Radarr v3)
@Joulinar
Copy link
Collaborator

@MichaIng
not sure if dietpi-vpn is working correctly now. I tested on v7.1.1 and if I select Custom on the initial screen, I get straight to the VPN status overview. (including a NordVPN Subscription information)

image

Before I was getting the explorer to be able to select the configuration file. For this I need to select Provider : [Custom] > Custom again now.

One more strange thing. If I leave dietpi-vpn, I will get following CLI root@DietPi3:~# directory....

@MichaIng
Copy link
Owner Author

Yeah, the NordVPN subscription URL is an affiliate link to their permanent 2-3 years 68%-70% off offer. I have to check back with Dan about the status of this.
Mid-term we should create (new) affiliate subscription URLs for all selectable providers and make it transparent as well that this is a way to support DietPi.

Testing DietPi-VPN:

  • First access: OpenVPN is installed, provider selection appears
  • 🈴 Selecting "Custom" applies choice directly. Hmm...

@Joulinar
Copy link
Collaborator

at least I would not expect to see a NordVPN subscription information if I select custom. Maybe my expectations is different than it was intended 🤣

@MichaIng
Copy link
Owner Author

It was simply forgotten to be changed/shown conditionally. I'll change it so that it's only shown when NordVPN provider has been selected.

+ DietPi-VPN | Fix provider menu when no provider has been selected yet
+ DietPi-VPN | Create static up/down scripts when applying settings instead of when selecting the provider, so that the previous selection stays unchanged/intact until "Apply" is selected.
+ DietPi-VPN | Show NordVPN affiliation link only when NordVPN provider has been selected
@MichaIng
Copy link
Owner Author

Done: 4904995

+ DietPi-VPN | Remove dietpi-explorer selection file after it has been used
+ CHANGELOG | Sonarr/Radarr: Having both now installed as v3 or later, resolves a long outstanding issue, where importing downloads to filesystems without native UNIX permissions support, including Samba/CIFS mounts, failed.
@Joulinar
Copy link
Collaborator

one more thing. I created a PiVPN server and copied the created conf file over to the testing system. On dietpi-vpn I selected the conf file. So far so good. However it seems I'm forced to enter user + pw even if not required. Furthermore PiVPN created the conf file password protected. But there is no possibility to enter this pw. Therefore connection is failing

[  OK  ] DietPi-VPN | systemctl restart dietpi-vpn
[.     ] DietPi-VPN | Waiting for connection (1/20)
Broadcast message from root@DietPi3 (Sun 2021-04-25 14:43:25 CEST):

Password entry required for 'Enter Private Key Password:' (PID 2488).
Please enter password with the systemd-tty-ask-password-agent tool:

[FAILED] DietPi-VPN | Connection failed/timeout: dietpi4.lan
[   .. ]Enter Private Key Password:  dietpi-vpn
[  OK  ] DietPi-VPN | systemctl stop dietpi-vpn

@MichaIng
Copy link
Owner Author

MichaIng commented Apr 25, 2021

That is a limitation we need to have a look into for next release I think. Interactive input breaks automated connection at boot and requires some more changes. For now it works with all public VPN providers I know, which use user/password authentication applied via OVPN config or dedicated credentials file for unattended connection.

The cases with key authentication are:

  • Key authentication in general, which can be unattended as well with an unprotected key. That key is part of the OVPN config, isn't it?
  • Key authentication with password-protected key. In theory it should be possible to enter the password once and have the key decrypted and unprotected from then on, but better in a dedicated file. Not sure whether it's possible to have the key protected and it's password in a dedicated file? Otherwise we'd need to disable the autostart feature when the key stays password-protected without password file.

@Joulinar
Copy link
Collaborator

Ok at least something to keep in mind if we have users reporting on it. Maybe it's a rarely used case and not a real issue. We will see 😃

+ DietPi-Imager | Little simplification as "dietpi-explorer 1" now returns an error code when no selection has been made
+ DietPi-Imager | Further minor simplification
+ DietPi-Software | Go: Do not change GO111MODULE, as this might not be used anymore in later Go versions. Since v1.16 it defaults to "on" so that packages are always installed in ~new module mode. Let's do not promote or force the legacy mode anymore.
+ DietPi-Software | OpenBazaar: Since it cannot be installed in module mode yet, go a different approach and install it in legacy mode but into tmpfs. Store the binary only and remove the legacy built cache and sources. For x86_64 there are actually pre-compiled binaries available, so use the and skip build dependencies completely.
+ DietPi-Software | Build-Essential: Skip the "dpkg-dev" package which is only required for build actual DEB packages with high-level build tools. To compile binaries, make and the C/C++ compiler collection is sufficient, which pulls development libraries and headers as dependencies as well.
+ DietPi-Software | OpenBazaar/Go: Move Git dependency from OpenBazaar to Go. "go get"/"go install" invoke Git, while OpenBazaar itself does not.
+ DietPi-Software | apt-mark expands globs and regex, hence, if any of dot . or plus + is part of the the package name, pass it through "dpkg --get-selections" which only expands the asterisk *. Also mute errors messages if either "dpkg --get-selections" or apt-get do not find a match or get an empty argument
@Joulinar
Copy link
Collaborator

Joulinar commented Apr 25, 2021

did a test on dietpi-ddns with DuckDNS.

First I get ask for the Token
image

and afterwards to enter the new password again
image

I would expect to get ask to enter the Token again 😉


EDIT
did a test with custom DDNS provider ddnss.de. So far it is working. But the DDNS update test feedback seems to be interesting

┌───────────────────────────────────────────────────┤ DietPi-DDNS ├─────
│ DDNS update test succeeded:                                           
│ <head>                                                                
│ <meta name="robots" content="noindex">                                
│ <title>DDNSS - Kostenloser DynDNS Service : Re-ProutDNS v5.01v</title>
│ </head>                                                               
│ <body>                                                                
│ <p><font face="Verdana" size="2"></font></p>                          
│ <p><font face="Verdana" size="2">Updated 1 hostname.</font></p>       
│ </body>                                                               

+ DietPi-Software | Ampache: Switch to pre-compiled archive install method and assure that on Debian versions below Bullseye, the latest Ampache v4 is installed, as v5 requires PHP7.4: https://github.com/ampache/ampache/wiki/Ampache-Next-Changes
+ DietPi-Software | Ampache: Install and enable required PHP modules. Especially PHP intl is required at least for Ampache v5.
+ DietPi-Software | Ampache: Apply MariaDB socket connection the way it is intended now via database_hostname = socket path, even that the prior method still works.
+ DietPi-Software | Ampache: Remove obsolete Git from install dependencies
@MichaIng
Copy link
Owner Author

MichaIng commented Apr 25, 2021

I would expect to get ask to enter the Token again 😉

Ah dammit, that's the way G_WHIP_PASSWORD works, that second text cannot be changed currently. There was never the case the some sort of hidden key was not named "password". I'll think about it, probably adding a way to replace the word, as it is done in DietPi-DDNS itself, is required. Or changing it to something more generic, like "Please confirm the last input"?

feedback seems to be interesting

My custom provider also has a <br> tag in it's output 😄. We should talk to those providers and convince them them nobody is opening the update URL in a browser that interprets HTML, aside of for testing reasons, and that they hence should switch to a short plain text output 😄. But even that it looks strange, I think we need to keep it. Sometimes providers return a valid 200 response with a message that the update failed. Especially for custom providers this is important information to debug the case that the test succeeds (no error code) while the domain was not updated.

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.1 | Please help testing and hardening the upcoming release
3 participants