bring OpenBSD package handling up to date to what is in the #9301
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
ports tree and gets packaged.
versionable and upgradeable don't really make much sense on OpenBSD, and they way overcomplicate the provider. However, it could be readded if someone can come up with a compelling usecase ;)
OpenBSD supports package branches, i.e. for puppet, there's puppet 7 and puppet 8, both conflict, and cant be installed at the same time, but with Puppet current package provider, it was impossible to easily tell which of the branches to use. Only when using a fixed "version", or "latest", but that was still quite clumsy, and either had to update the version any time in Hiera when updating puppet, or when using latest, you couldn't choose to install Puppet 7.
There are other packages that have branches, i.e. gimp, which has a stable, and a snapshot branch. They don't conflict with each other, so can be installed in parallel. Puppet with the current package provider would be unable to handle that.
To add support for branches, a new property won't work for those packages with branches that can be installed in parallel, i.e. install both versions of Gimp via Puppet.
The way around it is to specify the branch suffxed to the package name with a leading %
so similarly I would run
I would now use puppet alike:
to manage both packages.