summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Olbrich <m.olbrich@pengutronix.de>2019-02-18 16:41:14 +0100
committerMichael Olbrich <m.olbrich@pengutronix.de>2019-02-20 13:58:14 +0100
commit1bad43ee6c55f42bc3f81378bf5d6bae65fa3d06 (patch)
tree86bb71befb6bacd62af45bda45e055248086916c
parent845df3c7d8daf29ee86e27114a4bc7532937c25c (diff)
downloadptxdist-1bad43ee6c55f42bc3f81378bf5d6bae65fa3d06.tar.gz
ptxdist-1bad43ee6c55f42bc3f81378bf5d6bae65fa3d06.tar.xz
ptxd_make_world_license: add more data and and handle image packages
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-rw-r--r--rules/other/Toplevel.make1
-rw-r--r--rules/post/ptxd_make_license_report.make4
-rw-r--r--rules/post/ptxd_make_world_common.make1
-rw-r--r--rules/post/ptxd_make_world_license.make12
-rw-r--r--scripts/lib/ptxd_make_world_license.sh65
5 files changed, 66 insertions, 17 deletions
diff --git a/rules/other/Toplevel.make b/rules/other/Toplevel.make
index 8f311c90c..e7ace8386 100644
--- a/rules/other/Toplevel.make
+++ b/rules/other/Toplevel.make
@@ -90,6 +90,7 @@ CROSS_PACKAGES := $(CROSS_PACKAGES-y)
HOST_PACKAGES := $(HOST_PACKAGES-y)
EXTRA_PACKAGES := $(EXTRA_PACKAGES-y)
LAZY_PACKAGES := $(LAZY_PACKAGES-y)
+IMAGE_PACKAGES := $(IMAGE_PACKAGES-y)
#
# build everything if no collection is active
diff --git a/rules/post/ptxd_make_license_report.make b/rules/post/ptxd_make_license_report.make
index 71bf1373e..1c24245f4 100644
--- a/rules/post/ptxd_make_license_report.make
+++ b/rules/post/ptxd_make_license_report.make
@@ -68,12 +68,12 @@ PHONY += license-compliance-data
license-compliance-data: \
$(RELEASEDIR)/license-compliance.yaml
-$(RELEASEDIR)/license-compliance.yaml: $(addprefix $(STATEDIR)/,$(addsuffix .report,$(PTX_PACKAGES_TARGET)))
+$(RELEASEDIR)/license-compliance.yaml: $(addprefix $(STATEDIR)/,$(addsuffix .report,$(PTX_PACKAGES_SELECTED) $(IMAGE_PACKAGES)))
@$(call targetinfo)
@mkdir -p $(RELEASEDIR)
@$(image/env) \
ptx_license_target="$@" \
- ptxd_make_license_compliance_yaml $(sort $(PTX_PACKAGES_TARGET))
+ ptxd_make_license_compliance_yaml $(sort $(PTX_PACKAGES_SELECTED) $(IMAGE_PACKAGES))
@$(call finish)
# vim: syntax=make
diff --git a/rules/post/ptxd_make_world_common.make b/rules/post/ptxd_make_world_common.make
index d5a9f6ebb..17fd4a387 100644
--- a/rules/post/ptxd_make_world_common.make
+++ b/rules/post/ptxd_make_world_common.make
@@ -81,6 +81,7 @@ world/env/impl = \
pkg_path="$(call ptx/escape,$($(1)_PATH))" \
pkg_src="$(call ptx/escape,$($(1)_SOURCE))" \
pkg_srcs="$(call ptx/escape,$($(1)_SOURCES))" \
+ pkg_md5s="$(call ptx/escape,$(foreach s,$($(1)_SOURCES),$($($(s))_MD5):))"\
pkg_md5="$(call ptx/escape,$($(1)_MD5))" \
pkg_url="$(call ptx/escape,$($(1)_URL))" \
pkg_cfghash="$(call ptx/escape,$($(1)_CFGHASH))" \
diff --git a/rules/post/ptxd_make_world_license.make b/rules/post/ptxd_make_world_license.make
index 11d9fcc2d..3ba717657 100644
--- a/rules/post/ptxd_make_world_license.make
+++ b/rules/post/ptxd_make_world_license.make
@@ -15,6 +15,18 @@ world/license = \
$(call world/env, $(1)) \
ptxd_make_world_license
+#
+# image/license
+#
+image/license = \
+ $(call world/image/env, $(1)) \
+ ptxd_make_world_license
+
+$(STATEDIR)/image-%.report:
+ @$(call targetinfo)
+ @$(call image/license, $(PTX_MAP_TO_PACKAGE_image-$(*)))
+ @$(call touch)
+
$(STATEDIR)/%.report:
@$(call targetinfo)
@$(call world/license, $(PTX_MAP_TO_PACKAGE_$(*)))
diff --git a/scripts/lib/ptxd_make_world_license.sh b/scripts/lib/ptxd_make_world_license.sh
index ae9367fde..c66bf5bc9 100644
--- a/scripts/lib/ptxd_make_world_license.sh
+++ b/scripts/lib/ptxd_make_world_license.sh
@@ -210,29 +210,64 @@ ptxd_make_world_license_write() {
export -f ptxd_make_world_license_write
ptxd_make_world_license_yaml() {
- cat << EOF
-flags: ${!pkg_license_flags[@]}
-licenses: ${pkg_license}
-md5: ${pkg_md5}
-name: ${pkg_label}
-section: ${pkg_section}
-url: ${pkg_url}
-version: ${pkg_version}
-license-files:
-EOF
- local guess="no"
+ do_echo() {
+ if [ -n "${2}" ]; then
+ echo "${1} '${2}'"
+ fi
+ }
+ do_list() {
+ if [ -n "${2}" ]; then
+ echo "${1}"
+ awk "BEGIN { RS=\" \" } { if (\$1) print \"- '\" \$1 \"'\" }" <<<"${2}"
+ fi
+ }
+ do_echo "name:" "${pkg_label}"
+ do_echo "rulefile:" "${pkg_makefile}"
+ do_echo "menufile:" "${pkg_infile}"
+ do_list "builddeps:" "${pkg_build_deps}"
+ do_list "rundeps:" "${pkg_run_deps}"
+ do_echo "config:" "${pkg_config}"
+ do_echo "version:" "${pkg_version}"
+ do_list "url:" "${pkg_url}"
+ do_echo "md5:" "${pkg_md5}"
+ do_echo "source:" "${pkg_src}"
+ if [ -n "${pkg_md5s}" ]; then
+ echo "md5s:"
+ awk "BEGIN { RS=\" *:\\\\s*\"; FS=\":\" } { if (\$1) print \"- '\" \$1 \"'\" }" <<<"${pkg_md5s}"
+ fi
+ do_list "sources:" "${pkg_srcs}"
+ do_echo "patches:" "${pkg_patch_dir}"
+ do_echo "srcdir:" "${pkg_dir}"
+ do_echo "builddir:" "${pkg_build_dir}"
+ do_echo "pkgdir:" "${pkg_pkg_dir}"
+ do_echo "section:" "${pkg_section}"
+ do_echo "licenses:" "${pkg_license}"
+ do_list "license-flags:" "${!pkg_license_flags[*]}"
+ if [ ${#pkg_license_texts[@]} -gt 0 -o ${#pkg_license_texts_guessed[@]} -gt 0 ]; then
+ echo "license-files:"
+ fi
+ local guess="false"
for license in "${pkg_license_texts[@]}" - "${pkg_license_texts_guessed[@]}"; do
if [ "${license}" = "-" ]; then
- guess="yes"
+ guess="true"
continue
fi
- cat << EOF
+ cat << EOF
$(basename "${license}"):
guessed: ${guess}
- file: ${license}
- md5: $(sed -n "s/\(.*\) $(basename "${license}")\$/\1/p" "${pkg_license_dir}/license/MD5SUM")
+ file: '${license}'
+ md5: '$(sed -n "s/\(.*\) $(basename "${license}")\$/\1/p" "${pkg_license_dir}/license/MD5SUM")'
EOF
done
+ if [ -e "${pkg_xpkg_map}" ]; then
+ echo "ipkgs:"
+ for xpkg in $(< "${pkg_xpkg_map}"); do
+ echo "- '${ptx_pkg_dir}/${xpkg}_${pkg_version}_${PTXDIST_IPKG_ARCH_STRING}.ipk'"
+ done
+ fi
+ do_echo "image:" "${image_image}"
+ do_list "pkgs:" "${image_pkgs}"
+ do_list "files:" "${image_files}"
}
export -f ptxd_make_world_license_yaml