buildpacks / pack

CLI for building apps using Cloud Native Buildpacks
https://buildpacks.io
Apache License 2.0
2.58k stars 288 forks source link

Publish to WPM (Windows Package Manager) #707

Open dfreilich opened 4 years ago

dfreilich commented 4 years ago

Description

As a windows user, I'd like to use winget to install pack.

Proposed solution

Add pack to Windows Package Manager (https://github.com/microsoft/winget-pkgs)

Additional context

micahyoung commented 4 years ago

There seems to be a couple rough edges on with winget right now: package update and dependency support is TBD. Neither of those feel like blockers.

dfreilich commented 4 years ago

Waiting on internal VMware CLA approval for the winget repo

dfreilich commented 4 years ago

I just checked into this, and it should be fine. The only issue is, we release our Windows release as a zip with the binary inside, and winget currently doesn't support that (see https://github.com/microsoft/winget-cli/issues/140, https://github.com/microsoft/winget-cli/issues/182, https://github.com/microsoft/winget-pkgs/issues/580, and https://github.com/microsoft/winget-pkgs/issues/174, which are all virtually the same issue, that Winget doesn't support zips at the moment).

Is it worth it for us to release pack in a different format, like an .msi, or another format (discussion on SO over the merits of various formats)? Or do we not want to pollute our releases with too many artifacts?

dfreilich commented 4 years ago

For future work, a manifest that I validated works (outside of the installation, because zip...), is:

Id: Buildpacks.Pack # publisher.package format
Publisher: Cloud Native Buildpacks # the name of the publisher
Name: Pack # the name of the application
AppMoniker: pack
Version: 0.13.1 # version numbering format
License: Apache License 2.0 # the open source license or copyright
LicenseUrl: https://raw.githubusercontent.com/buildpacks/pack/main/LICENSE
Homepage: https://buildpacks.io/
Description: Pack is a CLI for consuming Cloud Native Buildpacks.
InstallerType: zip # enumeration of supported installer types (exe, msi, msix, inno, wix, nullsoft, appx)
Installers:
  - Arch: x64 # enumeration of supported architectures
    Url: https://github.com/buildpacks/pack/releases/download/v0.13.1/pack-v0.13.1-windows.zip # path to download installation file of the specified version
    Sha256: 3db9ca2a64ab26761a0e746c15d0f2585467ab197866ddc90bfdb237a0797174 # SHA256 calculated from installer
# ManifestVersion: 0.1.0