diff --git a/bip-0002.mediawiki b/bip-0002.mediawiki index 5996df1f..b95ace15 100644 --- a/bip-0002.mediawiki +++ b/bip-0002.mediawiki @@ -5,8 +5,7 @@ Status: Closed Type: Process Assigned: 2016-02-03 - License: BSD-2-Clause - OPL + License: BSD-2-Clause OR OPL Replaces: 1 Proposed-Replacement: 3 diff --git a/bip-0008.mediawiki b/bip-0008.mediawiki index 68e13708..7cbb5fbc 100644 --- a/bip-0008.mediawiki +++ b/bip-0008.mediawiki @@ -6,8 +6,7 @@ Status: Draft Type: Informational Assigned: 2017-02-01 - License: BSD-3-Clause - CC0-1.0 + License: BSD-3-Clause OR CC0-1.0 ==Abstract== diff --git a/bip-0052.mediawiki b/bip-0052.mediawiki index 9941812a..e61f55a0 100644 --- a/bip-0052.mediawiki +++ b/bip-0052.mediawiki @@ -7,8 +7,7 @@ Status: Draft Type: Specification Assigned: 2021-05-13 - License: BSD-2-Clause - OPL + License: BSD-2-Clause OR OPL diff --git a/bip-0085.mediawiki b/bip-0085.mediawiki index ccdc6fcc..518b9ed0 100644 --- a/bip-0085.mediawiki +++ b/bip-0085.mediawiki @@ -7,8 +7,7 @@ Status: Deployed Type: Informational Assigned: 2020-03-20 - License: BSD-2-Clause - OPL + License: BSD-2-Clause OR OPL ==Abstract== diff --git a/bip-0091.mediawiki b/bip-0091.mediawiki index bd3be1df..ebdc0cdf 100644 --- a/bip-0091.mediawiki +++ b/bip-0091.mediawiki @@ -6,8 +6,7 @@ Status: Deployed Type: Specification Assigned: 2017-05-22 - License: BSD-3-Clause - CC0-1.0 + License: BSD-3-Clause OR CC0-1.0 ==Abstract== diff --git a/bip-0104.mediawiki b/bip-0104.mediawiki index b80181ac..cd00a914 100644 --- a/bip-0104.mediawiki +++ b/bip-0104.mediawiki @@ -6,8 +6,7 @@ Status: Closed Type: Specification Assigned: 2017-01-13 - License: BSD-2-Clause - GNU-All-Permissive + License: BSD-2-Clause OR GNU-All-Permissive ==Abstract== diff --git a/bip-0123.mediawiki b/bip-0123.mediawiki index 275b886e..1d328b9d 100644 --- a/bip-0123.mediawiki +++ b/bip-0123.mediawiki @@ -5,8 +5,7 @@ Status: Deployed Type: Process Assigned: 2015-08-26 - License: CC0-1.0 - GNU-All-Permissive + License: CC0-1.0 OR GNU-All-Permissive ==Abstract== diff --git a/bip-0134.mediawiki b/bip-0134.mediawiki index 198df72e..dde2e7ef 100644 --- a/bip-0134.mediawiki +++ b/bip-0134.mediawiki @@ -6,8 +6,7 @@ Status: Closed Type: Specification Assigned: 2016-07-27 - License: CC-BY-SA-4.0 - OPL + License: CC-BY-SA-4.0 OR OPL ==Abstract== diff --git a/bip-0135.mediawiki b/bip-0135.mediawiki index 5f6b72b9..7c09bbaf 100644 --- a/bip-0135.mediawiki +++ b/bip-0135.mediawiki @@ -5,8 +5,7 @@ Status: Closed Type: Informational Assigned: 2017-03-29 - License: CC0-1.0 - GNU-All-Permissive + License: CC0-1.0 OR GNU-All-Permissive Discussion: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-April/013969.html https://bitco.in/forum/threads/bip9-generalized-version-bits-voting-bip-genvbvoting.1968/ Replaces: 9 diff --git a/bip-0145.mediawiki b/bip-0145.mediawiki index 4807a5ca..b9a5ebe5 100644 --- a/bip-0145.mediawiki +++ b/bip-0145.mediawiki @@ -6,8 +6,7 @@ Status: Deployed Type: Specification Assigned: 2016-01-30 - License: BSD-2-Clause - OPL + License: BSD-2-Clause OR OPL ==Abstract== diff --git a/bip-0148.mediawiki b/bip-0148.mediawiki index bd28769c..11aac27d 100644 --- a/bip-0148.mediawiki +++ b/bip-0148.mediawiki @@ -6,8 +6,7 @@ Status: Deployed Type: Specification Assigned: 2017-03-12 - License: BSD-3-Clause - CC0-1.0 + License: BSD-3-Clause OR CC0-1.0 ==Abstract== diff --git a/bip-0149.mediawiki b/bip-0149.mediawiki index 9111fafa..3663dd9c 100644 --- a/bip-0149.mediawiki +++ b/bip-0149.mediawiki @@ -6,8 +6,7 @@ Status: Closed Type: Specification Assigned: 2017-04-14 - License: BSD-3-Clause - CC0-1.0 + License: BSD-3-Clause OR CC0-1.0 ==Abstract== diff --git a/bip-0197.mediawiki b/bip-0197.mediawiki index 67aa24f6..b7252f60 100644 --- a/bip-0197.mediawiki +++ b/bip-0197.mediawiki @@ -7,8 +7,7 @@ Status: Draft Type: Specification Assigned: 2019-03-19 - License: BSD-3-Clause - CC0-1.0 + License: BSD-3-Clause OR CC0-1.0 ==Abstract== diff --git a/bip-0199.mediawiki b/bip-0199.mediawiki index ed178b3c..74bf6d6b 100644 --- a/bip-0199.mediawiki +++ b/bip-0199.mediawiki @@ -9,8 +9,7 @@ Status: Closed Type: Specification Assigned: 2017-03-27 - License: BSD-3-Clause - CC0-1.0 + License: BSD-3-Clause OR CC0-1.0 ==Abstract== diff --git a/bip-0310.mediawiki b/bip-0310.mediawiki index 65f9abda..1c9ce0aa 100644 --- a/bip-0310.mediawiki +++ b/bip-0310.mediawiki @@ -7,8 +7,7 @@ Status: Draft Type: Informational Assigned: 2018-03-10 - License: BSD-3-Clause - CC0-1.0 + License: BSD-3-Clause OR CC0-1.0 ==Abstract== diff --git a/bip-0320.mediawiki b/bip-0320.mediawiki index a6ac6fdc..49d592ad 100644 --- a/bip-0320.mediawiki +++ b/bip-0320.mediawiki @@ -5,8 +5,7 @@ Status: Draft Type: Specification Assigned: 2018-03-01 - License: BSD-3-Clause - CC0-1.0 + License: BSD-3-Clause OR CC0-1.0 ==Abstract== diff --git a/bip-0340.mediawiki b/bip-0340.mediawiki index 6491f8b5..f241effd 100644 --- a/bip-0340.mediawiki +++ b/bip-0340.mediawiki @@ -10,9 +10,7 @@ Type: Specification Assigned: 2020-01-19 License: BSD-2-Clause - License-Code: BSD-2-Clause - MIT - CC0-1.0 + License-Code: BSD-2-Clause OR MIT OR CC0-1.0 Discussion: 2018-07-06: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-July/016203.html [bitcoin-dev] Schnorr signatures BIP diff --git a/bip-0343.mediawiki b/bip-0343.mediawiki index 6a07e3a2..6fe64b0e 100644 --- a/bip-0343.mediawiki +++ b/bip-0343.mediawiki @@ -7,8 +7,7 @@ Status: Deployed Type: Specification Assigned: 2021-04-25 - License: BSD-3-Clause - CC0-1.0 + License: BSD-3-Clause OR CC0-1.0 ==Abstract== diff --git a/scripts/buildtable.pl b/scripts/buildtable.pl index 410b98fa..aed86bea 100755 --- a/scripts/buildtable.pl +++ b/scripts/buildtable.pl @@ -136,13 +136,14 @@ while (++$bipnum <= $topbip) { } my %found; my ($title, $authors, $status, $type, $layer); - my ($field, $val, @field_order); + my ($field, $val, @field_order, $continuation); while (<$F>) { last if ($is_markdown && m[^```$]); last if (!$is_markdown && m[^$]); if (m[^ ([\w-]+)\: (.*\S)$]) { $field = $1; $val = $2; + $continuation = 0; die "Duplicate $field field in $fn" if exists $found{$field}; die "Too many spaces in $fn" if $val =~ /^\s/; } elsif (m[^ ( +)(.*\S)$]) { @@ -150,6 +151,7 @@ while (++$bipnum <= $topbip) { die "Too many spaces in $fn" if length $1 != 2 + length $field; die "Not allowed for multi-value in $fn" unless exists $MayHaveMulti{$field}; $val = $2; + $continuation = 1; } else { die "Bad line in $fn preamble"; } @@ -187,6 +189,8 @@ while (++$bipnum <= $topbip) { die "Invalid layer $val in $fn" unless exists $ValidLayer{$val}; $layer = $val; } elsif ($field =~ /^License(?:\-Code)?$/) { + die "License continued across lines in $fn, use SPDX expression (... OR $val) instead" if $continuation; + $val =~ s/ OR .*//; die "Undefined license $val in $fn" unless exists $DefinedLicenses{$val}; if (not $found{$field}) { die "Unacceptable license $val in $fn" unless exists $AcceptableLicenses{$val} or ($val eq 'PD' and exists $GrandfatheredPD{$bipnum}) or ($val eq 'CC-BY-SA-4.0' and exists $GrandfatheredCCBySA{$bipnum});