-
Notifications
You must be signed in to change notification settings - Fork 241
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
Support Winget #1625
Comments
I'm a Windows user working part-time on flyctl. This is about to become particularly interesting for me since I'm getting a new laptop and plan to use winget instead of Scoop/Chocolatey. Happy to take a crack at this from Fly's end. I'm not familiar with how winget works internally. Does your PR need to be merged first, or do we need to install the releaser before that can happen? Either way, I'm willing to do the work on our end so I can just |
The package has to be merged first before setting up Winget Releaser here. However, there is currently an issue with the package. It seems like flyctl is bundled with |
Got it. I'm subscribed to that issue and will revisit this once it gets resolved. Definitely want to see this happen. I'm not nearly as competent with Windows as I am with Linux. The DLL requirement seems to come from wireguard-go, which in turn depends on wintun-go, which in turn does:
I'm not sure at what point that would make wintun.dll show up as a dependency. On launch? Whenever a WireGuard-based command is run? I'm not sure I feel comfortable removing it, particularly as I think I might be either the only Windows user on the team, or no one else wants to admit to it. :) Thanks again. |
Lazy-loaded DLL, yeah that's definitely an issue. Another issue I forgot to mention is that Winget does not validate manifests with multiple aliases for a single executable (microsoft/winget-cli#2884, though I have found a workaround that is supposed to be a "bug"). Seems like that's a "niche" use case 😅 ( |
Ah yes, no symlink support. I'll follow that one too. As a temporary
workaround we can probably just copy the executable. It'll annoy some
folks, but for them there's the old installer. :)
Thanks for helping get this sorted.
|
Aliasing does work via symlinking (the same mechanism which causes the first issue), the problem is that Winget does not successfully validate manifests with multiple symlinks/aliases for one exe, although it installs just fine. |
@ndarilek The package is now merged to Winget, but I expect it to have some issues due to the missing |
Sure, is there something I can watch to know when the package is live?
Or do I just keep running `winget search fly` until something promising
appears? :)
|
|
Good news, I was able to install this build, deploy an app, and SSH into a console. I'm new enough to flyctl that I'm not immediately sure how to test the WireGuard codepath, but I put out the call so hopefully someone can confirm conclusively that it actually works. |
Hmm, though a few versions back, a missing I have also tested it to be working so far as well, so I'll have to assume this is fine for now until someone reports an error in Winget. I'll now work on adding the Winget Releaser workflow in this repo (#1714). Please have a look at my PR, thanks! |
@ndarilek Additionally, can you remove the |
Done. |
Follow-up to #139 (comment):
Winget 1.4 has already been released (https://github.com/microsoft/winget-cli/releases/tag/v1.4.10173), supporting zip installation. Flyctl can now be added to the winget-pkgs repository and I have created an initial PR for it: microsoft/winget-pkgs#94699. Once this is merged, Winget Releaser has to be set up in this repository to push manifest updates automatically.
Current blockers(?):
wintun.dll
is lazy loaded, so validation passes on winget-pkgs)The text was updated successfully, but these errors were encountered: