Open RokeJulianLockhart opened 1 year ago
Note: Before winget
, we can use scoop
as mentioned in the documentation.
@YDX-2147483647, indeed! Apologies. I suppose that I should refile this as separate issues requesting submission to winget and MSIX support.
Is either proposition something that the development team is willing to tackle? I solely ask so that I don't waste time submitting a proposition that is of no interest.
Thanks!
I like both suggestions. Maybe we could have some publish CI that pushes a release to the winget repo. However, this requires some thought about how much we want to take on. Most uutils packages for the package managers in the documentation are managed by third-parties, so we don't really have to maintain them ourselves.
MSIX sounds good as long as we can automate it.
mere .exe formats
Note that the .zip
is just .exe
+ README.md
+ LICENSE
. So providing the exe separately does not provide much benefit.
Edit: I'm also not on Windows so I can't do most of this, but I'd be happy to accept PRs.
This is also related to https://github.com/uutils/coreutils/issues/2758
@tertsdiepraam, it's definitely relevant, since uploading a package to the Microsoft Store would also allow users to use winget
to install this via the commandline, via the msstore
repository that it exposes.
I research it today. More work is needed, but let's do it step by step.
ZIP is fine
Installer File Manifest Schema v1.5.0 accepts arbitrary archive format, and YamlCreate.ps1
can generate manifests by asking a few questions.
It's not necessary to submit MSIX.
Publish CI is needed
It looks like that winget can't automatically update manifests like scoop. It's our reponsibility to push/submit new versions. (More research needed)
Name of this project?
coreutils (as the repo name), uutils coreutils (as in the website and the scoop app), or rust coreutils (as in releases)?
Both an ID (e.g. WindowsTerminal
, case sensitive) and a full name (e.g. Windows Terminal) is needed.
Publisher name?
Is the following OK?
uutils
LICENSE
)Locale?
Microsoft specifies many locales IDs, should we choose en-US
, en-GB
, or Australia, Canada, etc.?
The following files should be put under https://github.com/microsoft/winget-pkgs/tree/master/manifests/u/ uutils/coreutils/0.0.23/
.
uutils.coreutils.yaml
uutils.coreutils.installer.yaml
uutils.coreutils.locale.en-US.yaml
Next step: Submitting a Package / Author a manifest / Validation.
> gh repo clone microsoft/winget-pkgs && gh fork
> .\Tools\YamlCreate.ps1 -PackageIdentifier uutils.coreutils -PackageVersion 0.0.23 -Mode 3 # 3 = Edit metadata
# Just press Enter and Enter and Enter…
# The script will validate manifests at the end.
Now that https://github.com/microsoft/winget-cli/issues/140#event-7470611247 has been completed, perhaps we can submit
please call the project uutils-coreutils or rust-coreutils like the other projects: https://github.com/uutils/coreutils/blob/main/docs/src/installation.md
locale is currently en-us
Copyright: should be
Copyright (c) uutils developers
Yes we can submit once the maintainer agrees on the manifests.
And we should set up a CI if we don't want to calculate SHA256 and submit manually in the future…
To confirm, https://github.com/microsoft/winget-pkgs/issues/118259#issue-1870446535 is entirely separate, right? It won't conflict in any way we can predict? (It's blocked currently anyway.) If it's irrelevant, I'll file a request. What should the reverse DNS package ID be though? UUtilsDevelopers.Coreutils
?
https://github.com/uutils/coreutils/issues/4291#issuecomment-1812878695
I've filed https://github.com/microsoft/winget-pkgs/issues/126833#issue-1995149254. Please provide feedback over there.
please call the project uutils-coreutils or rust-coreutils like the other projects:
By the way, I prefer uutils-coreutils
since I think that's a bit more specific, but yeah, both are fine.
This package is submitted to microsoft/winget-pkgs
and available in winget.exe
, users can easily install this package with winget install uutils.coreutils
.
I've just put up a PR to document that: https://github.com/uutils/coreutils/pull/5648
I still think there's something we could do for this issue: use cargo-dist
. That should be able to make an msi
for us. And in the future it might even do more, taking away some of the maintenance work people are doing for us in all the various repositories.
Providing an installer (ideally with a basic updater) would significantly lessen the burden of evaluating new releases. Currently,
.deb
releases are provided, so these tools are certainly ready for installation.The
.msix
,.appx
,.msi
, and mere.exe
formats (.msix
being the most desirable) are viable alternatives to the current.zip
packaging. However, if maintenance of such an installer is undesirable, perhaps submitting the zip files (since this https://github.com/microsoft/winget-cli/issues/140 is complete) to the official Windows Package Manager, (winget's
) repository (per https://github.com/microsoft/winget-pkgs/blob/4c9bd7f275225fa97db5300e86c2b22d2be9c720/README.md#submitting-a-package) is superior?