stratum-mining / stratum

stratum
https://stratumprotocol.org
Other
224 stars 130 forks source link

bad license formatting on `Cargo.toml` files #1217

Closed plebhash closed 1 month ago

plebhash commented 1 month ago

after I pushed the v1.1.0 release tag, release-libs.yaml was triggered

we got the following errors for multiple crates:

Uploading codec_sv2 v1.2.1 (/home/runner/work/stratum/stratum/protocols/v2/codec-sv2)
error: failed to publish to registry at https://crates.io/

Caused by:
  the remote server responded with an error (status 400 Bad Request): unknown or invalid license expression; see http://opensource.org/licenses for options, and http://spdx.org/licenses/ for their identifiers
  Note: If you have a non-standard license that is not listed by SPDX, use the license-file field to specify the path to a file containing the text of the license.
  See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information.
  MIT + Apache-2.0
     ^ `+` must not follow whitespace
Error: Process completed with exit code 101.

prior to #1193, all protocols crate manifests only had MIT (which I believe was wrong, btw)

and the workspace manifestss had MIT + Apache-2.0

on #1193 we moved the license field away from the workspace manifests, and the protocols crate manifests ended up with MIT + Apache-2.0

while this is the correct license, according to this, we should be using the following syntax:

[package]
# ...
license = "MIT OR Apache-2.0"

there was even a discussion about it https://github.com/stratum-mining/stratum/pull/1193#discussion_r1793038893 and we ended up making the wrong decision

so we need to fix this before finishing the v1.1.0 release