mirror of
git://git.yoctoproject.org/meta-freescale.git
synced 2025-07-05 13:24:43 +02:00

I was wondering why a bot decided to force-push a commit to a PR of mine. It turns out the script responsible for generating the LICENSE file is not deterministic, so depending on random file system layout we can end up regenerating the LICENSE without any actual change. For example: $ diff -u <(git show baf20676~1:LICENSE | sort) <(git show baf20676:LICENSE | sort) shows thatbaf20676
didn't provide any change at all in the actual contents, yet $ git show --statbaf20676
commitbaf20676bc
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Date: Wed Jan 22 21:42:44 2025 +0000 Auto-update LICENSE file with current recipe licenses LICENSE | 256 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------- 1 file changed, 128 insertions(+), 128 deletions(-)
671 B
Executable File
671 B
Executable File
#!/bin/bash
export LC_ALL=C
Create or clear the LICENSE file
echo "# License Information" > LICENSE echo "" >> LICENSE echo "This file lists all licenses used by recipes in the meta-freescale layer." >> LICENSE echo "" >> LICENSE
Find all .bb and .inc files and extract license information
find . -type f -name "*.bb" -o -name "*.inc"
| sort | while read -r file; do
# Extract the license line from each recipe file, if it exists
license_line=$(grep -i "^LICENSE" "$file")
if [ -n "$license_line" ]; then
echo "$file: $license_line" >> LICENSE
fi
done
echo "LICENSE file has been generated and updated with current recipe licenses."