bindle icon indicating copy to clipboard operation
bindle copied to clipboard

Semver is too restrictive

Open npmccallum opened this issue 4 years ago • 1 comments

I love semver. I wish everyone used it. I use it exclusively.

However, by forcing semver it means that builds of software from upstreams who don't use semver cannot be uploaded to Bindle without breaking the incredibly important correlation between the upstream version and the downstream binary version.

npmccallum avatar Dec 16 '21 12:12 npmccallum

The use of semver was a purposeful decision when we originally crafted Bindle. Semver goes along well with the idea of immutability and is a clear way of expressing intent with a new version. Bindle would be far from the first tool to require semver (e.g. Go, Rust, and other package managers for starters) though it would be the first object store to do so.

I would also point out that Bindle is the "silverware drawer" anyway. Sometimes it will be used for a single binary/project/system, but often times it is gluing together binaries and other artifacts from various sources. So in the end, it is an entirely new thing that isn't tied to a specific upstream binary outside of the specific binary assigned to that invoice (which cannot change)

However, this is the exact purpose for annotations on an invoice. If there is a desire to "point back to" an upstream location, this information can be included in an annotation

thomastaylor312 avatar Jan 19 '22 19:01 thomastaylor312