open-component-model / ocm

Open Component Model (Software Bill of Delivery) Toolset
https://ocm.software/
Apache License 2.0
35 stars 23 forks source link

Publish OCM-CLI as distribution packages + include man-page-bundle + install shell-completion #818

Open ccwienk opened 5 months ago

ccwienk commented 5 months ago

To make consumption of OCM-CLI easier, publish it as distribution package for most-common software distribution registries. At least, offer packages as additional release-assets. Ideally also contribute to upstream repositories.

Repositories / Packages

Features

related

maximilianbraun commented 5 months ago

I had some luck with manpage generation (https://carlosbecker.com/posts/golang-completions-cobra/). Maybe we can extend goreleaser include more repos.

morri-son commented 5 months ago

@Skarlso, for mpas there's a hombrew tap already, maybe you can support for the same for the OCM CLI?

Skarlso commented 5 months ago

I can take a look, sure.

Skarlso commented 5 months ago

Errr... we already have homebrew for OCM.

brew install open-component-model/tap/ocm
==> Fetching open-component-model/tap/ocm
==> Downloading https://github.com/open-component-model/ocm/releases/download/v0.11.0/ocm-0.11.0-darwin-amd64.tar.gz
==> Downloading from https://objects.githubusercontent.com/github-production-release-asset-2e65be/504541252/33c8a62e-e3cd-4799-b08e-4c7d6a10d99f?X-Amz-Algo
#################################################################################################################################################### 100.0%
==> Installing ocm from open-component-model/tap
🍺  /usr/local/Cellar/ocm/0.11.0: 4 files, 81.6MB, built in 2 seconds
==> Running `brew cleanup ocm`...
...
➜  ocm git:(create_homebrew) which ocm
/usr/local/bin/ocm
➜  ocm git:(create_homebrew) ocm version
{"Major":"0", "Minor":"11", "Patch":"0", "PreRelease":"", "Meta":"", "GitVersion":"0.11.0", "GitCommit":"c02802f78f75cbda525a2d9d78aea592287de142", "GitTreeState":"", "BuildDate":"2024-06-10T10:32:05Z", "GoVersion":"go1.22.2", "Compiler":"gc", "Platform":"darwin/amd64"}
morri-son commented 5 months ago

@Skarlso, ok. If this is the cli, wouldn't it then be better to rename the tap to ocm-cli or if want to be a bit more progressive ocmctl? :-)

Skarlso commented 5 months ago

I don't have a strong opinion either way. It is called like that because the repo is called ocm. :)

morri-son commented 5 months ago

oki, then let's have some other comments. It should be found by using "ocm" in the search search of the package managers. ocm for me is to broad as it is a CLI. So, ocmcli, ocm-cli and ocmctl (due to its vast set of functionality :-)) are the proposals I throw in (in the order I would vote for)

@ccwienk @Skarlso @mandelsoft @fabianburth @dee0sap please comment

Skarlso commented 5 months ago

I mean, it's pretty clear right now too which is the open-component-model tap source:

brew search ocm
==> Formulae
mdocml                                           ocmtoc                                           procmail                                         osm                                              lcm                                              ccm
ocm ✔                                            open-component-model/tap/ocm ✔                   ocp                                              rcm                                              ecm

But yeah. It would be nice I guess. We can rename it.

morri-son commented 5 months ago

with the separation of the components inside the current ocm repository (starting with own packages, then maybe later own repos for com-core and ocm cli, https://github.com/open-component-model/ocm-cli) we would also see this in the referenced repo in homebrew. But since this issue is about various package managers that don't show the reference to a source repository at that high level (if even), I think it makes sense to discuss what a proper package name should be and for sure use the same across all managers.

Skarlso commented 5 months ago

Sure, after the repository is separated, I think it makes sense to rename the tap. 👍

ccwienk commented 4 months ago

I suggest to use ocm-cli as package name to be consistent w/ the name in AUR, where ocm is already taken.

hilmarf commented 2 months ago

https://github.com/open-component-model/ocm/pull/897 - let's see how the next release publishing will work...

hilmarf commented 2 months ago

https://github.com/open-component-model/ocm-project/issues/240

hilmarf commented 2 months ago

https://github.com/open-component-model/ocm/releases/tag/ocm-cli/latest

hilmarf commented 2 months ago

https://github.com/microsoft/winget-pkgs/pull/175451

morri-son commented 4 weeks ago

@hilmarf https://carlosbecker.com/posts/golang-completions-cobra/ does not only describe manage creation, but also covers shell-completion using the GoReleaser.