diff mbox series

[3/6] scripts/update-linux-headers: Handle kernel license no longer being one file

Message ID 20180525132755.21839-4-peter.maydell@linaro.org
State New
Headers show
Series Update Linux headers to 4.17-rc6 | expand

Commit Message

Peter Maydell May 25, 2018, 1:27 p.m. UTC
The kernel has changed its license documentation, so instead of COPYING
being a stand-alone file that defines the license, it refers to various
other files under LICENSES/. This means we need to copy not just COPYING
but also these other files to our copy of the kernel headers.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
We could copy the whole of LICENSES/ but that seems like overkill.
---
 scripts/update-linux-headers.sh | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

Comments

Richard Henderson May 25, 2018, 2:58 p.m. UTC | #1
On 05/25/2018 06:27 AM, Peter Maydell wrote:
> The kernel has changed its license documentation, so instead of COPYING
> being a stand-alone file that defines the license, it refers to various
> other files under LICENSES/. This means we need to copy not just COPYING
> but also these other files to our copy of the kernel headers.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> We could copy the whole of LICENSES/ but that seems like overkill.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


r~
diff mbox series

Patch

diff --git a/scripts/update-linux-headers.sh b/scripts/update-linux-headers.sh
index 1fe54f8ab1..feb75390aa 100755
--- a/scripts/update-linux-headers.sh
+++ b/scripts/update-linux-headers.sh
@@ -142,6 +142,20 @@  else
     cp "$linux/COPYING" "$output/linux-headers"
 fi
 
+# Recent kernel sources split the copyright/license info into multiple
+# files, which we need to copy. This set of licenses is the set that
+# are referred to by SPDX lines in the headers we currently copy.
+# We don't copy the Documentation/process/license-rules.rst which
+# is also referred to by COPYING, since it's explanatory rather than license.
+if [ -d "$linux/LICENSES" ]; then
+    mkdir -p "$output/linux-headers/LICENSES/preferred" \
+             "$output/linux-headers/LICENSES/exceptions"
+    for l in preferred/GPL-2.0 preferred/BSD-2-Clause preferred/BSD-3-Clause \
+             exceptions/Linux-syscall-note; do
+        cp "$linux/LICENSES/$l" "$output/linux-headers/LICENSES/$l"
+    done
+fi
+
 cat <<EOF >$output/linux-headers/linux/virtio_config.h
 #include "standard-headers/linux/virtio_config.h"
 EOF