From 471fea9760dbb7ee17a224effb005b956d4e8184 Mon Sep 17 00:00:00 2001 From: Carlo Landmeter Date: Tue, 2 Jan 2018 10:26:51 +0000 Subject: [PATCH] abuild: check license for valid SPDX license identifiers licenses will be checked against the license.lst file provided by the spdx-licenses-list package when installed except when explicitly disabled by the !spdx options flag. --- abuild.in | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/abuild.in b/abuild.in index 48456a5..3da5b64 100644 --- a/abuild.in +++ b/abuild.in @@ -227,6 +227,7 @@ default_sanitycheck() { [ -n "$checkdepend" ] && spell_error checkdepend checkdepends check_maintainer || die "Provide a valid RFC822 maintainer address" + check_license || warning "Please use valid SPDX license identifiers found at: https://spdx.org/licenses" check_depends_dev || warning "depends_dev found but no development subpackage found" check_secfixes_comment || return 1 @@ -826,6 +827,22 @@ check_maintainer() { fi } +check_license() { + local ret=0 + local license_list=/usr/share/spdx/license.lst + if options_has "!spdx" || ! [ -f "$license_list" ]; then + return 0 + fi + local spdx=$(cat "$license_list") + local i; for i in $license; do + if ! list_has "$i" $spdx; then + ret=1 + warning "\"$i\" is not a known license" + fi + done + return $ret +} + check_secfixes_comment() { local c=$(sed -E -n -e '/^# secfixes:/,/(^[^#]|^$)/p' $APKBUILD | grep '^#') local invalid=$(echo "$c" \ -- 2.15.0