Skip to content

make dist should verify version consistency, META.json freshness, and resource URL reachability #47

Description

@jnasbyupgrade

While writing a release-process doc for extension_tools/extension_drop
(https://github.com/Postgres-Extensions/extension_tools), found several
things `make dist` doesn't check today that it probably should, since it's
the point where a distribution actually goes out the door:

  1. Version consistency: nothing checks that `META.in.json`'s top-level
    `version`, each extension's `provides..version`, and each matching
    `.control`'s `default_version` all agree. It's easy to bump one and
    forget the others.

  2. META.json freshness: `make dist` should ensure `META.json` is fully
    regenerated from `META.in.json` before packaging (fail, or force a
    rebuild, if it's stale) rather than trusting whatever's on disk.

  3. Resource URL reachability: `META.in.json`'s `resources` block
    (homepage/bugtracker/repository URLs) can drift silently (e.g. after a
    repo transfer/rename) since nothing ever re-checks it. `make dist` could
    do a basic reachability check (HTTP HEAD or similar) on these URLs and
    warn if any don't resolve.

Filing all three together since they're all "is this distribution actually
ready to ship" checks that belong at the same point in the process.

Metadata

Metadata

Assignees

No one assigned

    Labels

    make distRelated to make dist / release packaging

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions