-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RFC: Meta Spec v2 #3
Open
theory
wants to merge
10
commits into
main
Choose a base branch
from
meta-spec-v2
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
+1,287
−0
Commits on Jul 12, 2024
-
Add a new RFC for Meta Spec v2. Based on the [PGXN Meta Sketch] and additional research. Notable differences from v1: * Introduce the term "package" separate from "distribution". The "package" is the bundle of objects being distributed as a…package. * Use only one version for the entire distribution, rather than separate versions for each extension included in the distribution. This allows the deletion of the notes on comparing versions. * Make "Source Distribution" the formal term, but mostly refer to it as "Distribution". Will be distinguished from binary distributions that ship with their own metadata (see #2). * Use JSON data types as the base types instead of generic "list" and "map" types. * Add "Path", "purl", and "Platform" types * Use SPDX License Expressions instead of Perl Software::License-based structures. * Use the term "property" to describe object key/value pairs, to align with JSON Schema. * Use an array of objects to describe maintainers. * Replace the `provides` property with `contents`, with support for multiple kinds of PostgreSQL extensions, including TLEs, loadable modules, and background workers. * Move the `tags` property to the new `classifications` object, and add support for curated categories borrowed from [Trunk]. * Replace `no_index` with `ignore` and use the gitignore format instead of separate lists of files and directories. * Rename `prereqs` to `packages` and move it into the new `dependencies` property, which also has `postgres`, `pipeline`, `platforms`, and `variations` properties. Use [purls]. to specify dependencies, so that any supported packaging dependency can be specified, as well as PGXN packages and Postgres core extensions and tools. * Remove `release_status`; we'll instead depend on [SemVer] to indicate pre-releases. * Simplify the `resources` object and add `badges` to it. * Add the `artifacts` property, so the extension author can include links to other packages or sources for a release. Also configure `#` to hide a line in `json` code blocks and use it to encode proper JSON objects without showing the surrounding braces. Readers can hit the eye button that appears on hover to make the hidden lines appear. [PGXN Meta Sketch]: https://justatheory.com/2024/03/rfc-pgxn-metadata-sketch/ [Trunk]: https://pgt.dev [purls]: https://github.com/package-url/purl-spec/blob/master/PURL-SPECIFICATION.rs [SemVer] https://semver.org
Configuration menu - View commit details
-
Copy full SHA for e5e3837 - Browse repository at this point
Copy the full SHA e5e3837View commit details -
New pass through RFC-3; various improvements:
* Add the "Package Name" type that disallows leading digits. [Discussion](#2 (comment)). * Document the Number type and allow `0` as a valid value for a Version Range. * Add the "Path Pattern" type and use it for the "ignore" property. * Merge "License" into "License Expression" * Rename "Version" to "SemVer", to distinguish it from any other versions used for dependencies. * Make "Version Range" not-specific to SemVers, since it's used for all sorts of dependency version requirements. Also, disallow version truncation in Version Ranges, since different version formats will have different rules. * Document that purl version expressions are valid but ignored. * Fix various spelling, grammatical, syntax, and narrative errors and clumsiness. * Update spec URLs to point to rfcs.pgxn.org. * Rename `generated_by` to `producer`. * Add question about preloading. * Note quality binary distribution as sign of success.
Configuration menu - View commit details
-
Copy full SHA for e3bc4c6 - Browse repository at this point
Copy the full SHA e3bc4c6View commit details -
Configuration menu - View commit details
-
Copy full SHA for f2e5360 - Browse repository at this point
Copy the full SHA f2e5360View commit details
Commits on Jul 17, 2024
-
Instead of having a separate "package name" type. A quick check of the PGXN database and [1000+ PostgreSQL EXTENSIONs] shows no existing extensions contain a dot. This will simplify parsing a package name from a semver in file names, since dots are required for semantic versions. [1000+ PostgreSQL EXTENSIONs]: https://gist.github.com/joelonsql/e5aa27f8cc9bd22b8999b7de8aee9d47
Configuration menu - View commit details
-
Copy full SHA for 80702c3 - Browse repository at this point
Copy the full SHA 80702c3View commit details
Commits on Jul 18, 2024
-
Configuration menu - View commit details
-
Copy full SHA for b6f1103 - Browse repository at this point
Copy the full SHA b6f1103View commit details
Commits on Jul 19, 2024
-
Simplify contents into three types
* extensions: `CREATE EXTENSION` extensions * modules: loadable modules for extensions, hooks, and workers * apps: Programs and scripts like pg_top, pgAdmin, or pg_partman scripts Add an example from pg_partman, which includes all three types.
Configuration menu - View commit details
-
Copy full SHA for 0d7e2b2 - Browse repository at this point
Copy the full SHA 0d7e2b2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8b65962 - Browse repository at this point
Copy the full SHA 8b65962View commit details
Commits on Jul 24, 2024
-
Various tweaks and improvements
* Add missing `contents` key to example * Rename "Path Pattern" to "Glob" * Fix ignore header * Fix missing package version * Use "cargo" instead of "rust" for pipeline value * Tweak wording on phases * Add url property to badge
Configuration menu - View commit details
-
Copy full SHA for bca822e - Browse repository at this point
Copy the full SHA bca822eView commit details
Commits on Jul 30, 2024
-
Clarify path symantics and name META.json
Also link to the Repology API.
Configuration menu - View commit details
-
Copy full SHA for 7e20662 - Browse repository at this point
Copy the full SHA 7e20662View commit details
Commits on Sep 13, 2024
-
And fix a couple of version references and links.
Configuration menu - View commit details
-
Copy full SHA for 64e6d63 - Browse repository at this point
Copy the full SHA 64e6d63View commit details
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.