Originally, when the Rust upstream `alloc` standard library crate was
vendored, the SPDX License Identifiers were added to every file so that
the license on those was clear. The same happened with the vendoring of
`proc_macro2`, `quote` and `syn`. Please see:
commit
057b8d257107 ("rust: adapt `alloc` crate to the kernel")
commit
69942c0a8965 ("rust: syn: add SPDX License Identifiers")
commit
ddfa1b279d08 ("rust: quote: add SPDX License Identifiers")
commit
a9acfceb9614 ("rust: proc-macro2: add SPDX License Identifiers")
Thus do the same for the `zerocopy-derive` crate.
This makes `scripts/spdxcheck.py` pass: use parentheses like commit
06e9bfc1e57d ("ionic: make spdxcheck.py happy") did since we have two
`OR` operators in the expression (three licenses).
Finally, as requested, I filed an issue [1] with upstream about it.
Cc: Joshua Liebow-Feeser <joshlf@google.com>
Cc: Jack Wrenn <jswrenn@google.com>
Link: https://github.com/google/zerocopy/issues/3428
Link: https://patch.msgid.link/20260608141439.182634-15-ojeda@kernel.org
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
+// SPDX-License-Identifier: (BSD-2-Clause OR Apache-2.0) OR MIT
+
use proc_macro2::{Span, TokenStream};
use syn::{
parse_quote, Data, DataEnum, DataStruct, DataUnion, Error, Expr, ExprLit, ExprUnary, Lit, UnOp,
+// SPDX-License-Identifier: (BSD-2-Clause OR Apache-2.0) OR MIT
+
use proc_macro2::{Span, TokenStream};
use quote::quote;
use syn::{Data, DataEnum, DataStruct, DataUnion, Error, Type};
+// SPDX-License-Identifier: (BSD-2-Clause OR Apache-2.0) OR MIT
+
use proc_macro2::TokenStream;
use quote::quote;
use syn::{parse_quote, Data, Error, Type};
+// SPDX-License-Identifier: (BSD-2-Clause OR Apache-2.0) OR MIT
+
pub mod from_bytes;
pub mod into_bytes;
pub mod known_layout;
+// SPDX-License-Identifier: (BSD-2-Clause OR Apache-2.0) OR MIT
+
use proc_macro2::TokenStream;
use quote::quote;
use syn::{
+// SPDX-License-Identifier: (BSD-2-Clause OR Apache-2.0) OR MIT
+
use proc_macro2::{Span, TokenStream};
use syn::{Data, DataEnum, DataStruct, DataUnion, Error};
+// SPDX-License-Identifier: (BSD-2-Clause OR Apache-2.0) OR MIT
+
// Copyright 2019 The Fuchsia Authors
//
// Licensed under a BSD-style license <LICENSE-BSD>, Apache License, Version 2.0
+// SPDX-License-Identifier: (BSD-2-Clause OR Apache-2.0) OR MIT
+
// Copyright 2019 The Fuchsia Authors
//
// Licensed under a BSD-style license <LICENSE-BSD>, Apache License, Version 2.0
+// SPDX-License-Identifier: (BSD-2-Clause OR Apache-2.0) OR MIT
+
// Copyright 2019 The Fuchsia Authors
//
// Licensed under a BSD-style license <LICENSE-BSD>, Apache License, Version 2.0