Closed xela1 closed 7 months ago
HEy @xela1
Thanks for the PR!
When I have time I'll review the changes (might take some time).
Regarding your changes to the path:
Don't write the installer to /tmp
in the container
It should be in /config/wine
on disk (cd
right after the mkdir
)
The permissions issue won't be fixed and has nothing to do with our implementation. It's the baseimage we're using, which is a very recent one since v1.6 and the permission scheme was tightened (which is good). Some people just need to add USER_ID and GROP_ID to adjust the permissions, for other users it works out-of-the-box.
Don't write the installer to
/tmp
in the container It should be in/config/wine
on disk (cd
right after themkdir
)
This is missing in the section where it installs the client if it doesn't already exist, so I just added cd /tmp, but I can alter that
Whereas it exists in the update code
Thinking about it more, is there a reason why it doesn't just call the fetch_and_install if there is no current installed client?
I have a few 'enhancements' I've being playing with that I'm happy to run past you before I raise a PR for them
Hey! Thanks. It's currently a code-mix, I just added the autoupdater function and left the existing code as-is since it's working. You can overhaul the function to directly call fetch_and_install also on first launch.
1) What would be the benefit of adding wineboot for new installs?
2) that's a good idea, however I'm one of the users who alter drives a lot, so if a symlink already exists or and the mount is not there, nothing should happen. So symlinks should be created and not removed imo. Backblaze is really picky there and just throws a "drive missing" warning if it does not find the correct volume ID. So I'm more cautious with automating things because we don't want to harm peoples's backups.
3) How would you handle the silent install/update? Only the MSI package supports silent deployment but only with business deployments (group ID and group token are mandatory for new and existing installs).
"install_backblaze.exe" -nogui -signinaccount $BB_USER $BB_PASS
Hey, let's try adding wineboot and symlinks first (and the fetch_and_install optimization to reduce redundant code) I am not sure about the silent install. Officially, I have the info from support that this is only available with the MSI package (plus the organization-specific parameters). I would rather not use undocumented and not officially supported parameters, as it can break anytime. Would be interesting to hear @JonathanTreffler's opinion on this.
Hey, let's try adding wineboot and symlinks first (and the fetch_and_install optimization to reduce redundant code) I am not sure about the silent install. Officially, I have the info from support that this is only available with the MSI package (plus the organization-specific parameters). I would rather not use undocumented and not officially supported parameters, as it can break anytime. Would be interesting to hear @JonathanTreffler's opinion on this.
The exe help shows the parameters, but I'll leave this for now. I'll submit a PR tomorrow for the other bits for you to review
I would rather not use undocumented and not officially supported parameters, as it can break anytime.
I agree and I am also concerned about 2FA support on the silent install. If accounts with OTP don't work, that would not be acceptable.
2. Backblaze is really picky there and just throws a "drive missing" warning if it does not find the correct volume ID.
I think Backblaze recognizes drives by a file it writes on the filesystem on the disk. So I think re-adding symlinks would not hurt, but testing of that would be needed.
I would rather not use undocumented and not officially supported parameters, as it can break anytime.
I agree and I am also concerned about 2FA support on the silent install. If accounts with OTP don't work, that would not be acceptable.
Good point, hadn't thought of this, I'll see how it behaves
I think Backblaze recognizes drives by a file it writes on the filesystem on the disk. So I think re-adding symlinks would not hurt, but testing of that would be needed.
It doesn't seem to like the drive letter being changed, the original drive shows as unplugged and doesn't show as the new letter, but when reverted to the original letter it recovers fine.
Adding new disks (following the /drive_x pattern) are in the backblaze client to be selected on the first container startup after adding, no need to restart the container after symlink
I would rather not use undocumented and not officially supported parameters, as it can break anytime.
I agree and I am also concerned about 2FA support on the silent install. If accounts with OTP don't work, that would not be acceptable.
Good point, hadn't thought of this, I'll see how it behaves
I asked Backblaze support a 2nd time about this, and they mentioned that this silent install is - even with the exe installer - only available with groupID and group token and will misbehave when those parameters are missing. 2FA would also be a problem. So a hard no for me.
I think Backblaze recognizes drives by a file it writes on the filesystem on the disk. So I think re-adding symlinks would not hurt, but testing of that would be needed.
It doesn't seem to like the drive letter being changed, the original drive shows as unplugged and doesn't show as the new letter, but when reverted to the original letter it recovers fine.
Adding new disks (following the /drive_x pattern) are in the backblaze client to be selected on the first container startup after adding, no need to restart the container after symlink
Volume ID and drive letter are "married" for Backblaze. If it sees the drive "X" with a different volume ID it's unplugged for Backblaze.
Adding new symlinks for new mounts is good 👍
I asked Backblaze support a 2nd time about this, and they mentioned that this silent install is - even with the exe installer - only available with groupID and group token and will misbehave when those parameters are missing.
I mean they're incorrect, as it works and has options to do it without the groupID etc, but I'm really not bothered enough to push for this, it was just a nice to have on my list where we can remove as much user interaction as possible
I pushed my latest commits into the PR last night which contains the refactoring of the update code, the initialization of wine and the auto-symlinking of mounted volumes.
I've tested this in every way I can think possible, but would appreciate someone else performing some testing
Wine Initialization
Symlinking
Install/Updating
Thanks @xela1 for your work. To me this seems to meet the quality requirements for a merge, but I will leave the final decision of that to @traktuner because he originally wrote the update code.
Also the new symlinking functionality requires the README to be changed: The unnecessary step(s) in the install process, that are now automated should be removed and new advisories on how to handle the drive letters, like you have already outlined above are needed. It would be nice of you to add these readme changes to the PR :)
Also the new symlinking functionality requires the README to be changed: The unnecessary step(s) in the install process, that are now automated should be removed and new advisories on how to handle the drive letters, like you have already outlined above are needed. It would be nice of you to add these readme changes to the PR :)
Yes, I was thinking that earlier, I'll work on that when I finish work
Found a few issues with this if someone wants to confirm