Return to Level1Techs.com

About that winget video

would disagree with the classification of winget as being a package manager.

It does not have packages, therefore, it cannot be a package manager.

Behind the scenes, winget pulls available packages from a github repository; winget-pkgs.
The individual “packages” are actually .yaml manifests that contain metadata about the software.
This is things like the version, description, author, download url(s), checksums, installer type, etc.
Then when winget install is run, it will pull the download url from the manifest, download from the software author’s website, and then install based on the installer type in the manifest.

So there is no one individual thing you can download and install like apt/dpkg with .deb or choco with .nupkg.
Granted, with Chocolatey, many packages on the community repository do not include the software inside the .nupkg but instead download it separately due to licensing or size reasons.
But with winget, there is simply not the option to have one file that contains all you need to install something.

This may seem like a fairly arbitrary distinction, but it does matter to anyone doing the self hosting thing.
This is because it is fairly easy to set up a Chocolatey repository that will work completely offline; giving you complete control over the packages, while still being able to re-use a lot of the community packages.
And if the community repository does not have a package, or it does not work the way you like, it is possible to set up automation to update the package version in the repository with AU, which even runs on Linux now.
While with winget, the tool that is primarily used to update the manifests is not available publicly last I checked.

3 Likes

Then what’s portage?

Portage is the official package manager and distribution system for Gentoo

But portage is just a set of ebuild files that describe the metadata of an application to be able to build the application, and points to the source repository for that software. It doesn’t bundle the source inside a ‘package’ but is no a package manager.

Unfortunately while your probably technically right I think you’re maybe 20 years to late to the party :grinning_face_with_smiling_eyes:

Package manager

A package manager or package-management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer’s operating system in a consistent manner.

2 Likes

Thanks. I thought they did have all the stuff, like a useful windows store.

It is still a real cool central place though, even if the packages are being grabbed from wherever, it brings more uniformity, perhaps with a larger list than chocolates?

And I guess this way, the packages are as fresh as the publisher makes them, no delay for a winger maintainer to pull, check and recompile.

I guess less good also, as winget might not fully check each package it offers as it might if it had the whole package?

1 Like

Right, but I thought Gentoo also offered at least some binary packages.
The source is how you described, but that gets built into a single package which is then installed. Perhaps I was misunderstanding, and there is no single package built?

Winget repo is ~2000 at the moment, while Chocolatey is at ~8000, but then winget is a lot newer, so the repository growing rapidly, while Chocolatey is not.

Both have automation where many packages are updated automatically when there is a new release of the software. Winget’s one is a private Microsoft service, which makes pull requests, while Chocolatey with AU has that public and open source.

1 Like

With binary packages and source packages neither actually contain the source or binary in a package as you described earlier. They work more like winget, both point to a repository or binary URL to download the data separately from the package data (ebuild in gentoos case)

Portage only provides ebuild files that just describe the options what to do and where to pull the package or source from

1 Like