[Buildroot] [PATCH] core/legal-info: allow ignoring packages from the legal-info
Samuel Martin
s.martin49 at gmail.com
Sat Oct 15 14:58:23 UTC 2016
Yann,
On Sat, Oct 15, 2016 at 3:28 PM, Yann E. MORIN <yann.morin.1998 at free.fr> wrote:
> It might be necessary to not even mention a package in the output of
> legal-info:
>
> - virtual packages have virtually nothing to save in the legal-info
> output;
>
> - for proprietary packages, it might not even be legal to even
> mention them, being under NDA or some other such restrictive
> conditions.
>
> Introduce the new FOO_GEN_LEGAL_INFO variable that a package can set
> to 'NO' (default to 'YES') to indicate that the package should be
> completely ignored from the legal-info output, in which case the
> package is not mentioned in the maniufest, its source archive,
s/maniufest/manifest/
> patches and license files are not saved into legal-info/ .
>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> Cc: Luca Ceresoli <luca at lucaceresoli.net>
> Cc: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
> Cc: Peter Korsgaard <jacmet at uclibc.org>
>
> ---
> Note: the name of the variable if up for discussion. However, this will
s/if up/is up/
> most probably never be used in Buildroot itself, but only in local
> proprietary forks or br2-external trees. So we will probably never ever
> see it publicly. So, we do not care much about that variable name...
>
Yann, you mention setting FOO_GEN_LEGAL_INFO=NO could benefit to
virtual packages, but I see no change/patch on the virtual-package
infrastructure. Did I miss something?
> ---
> Changes v6 -> v7:
> - rename the variable (Thomas, Luca, Peter)
> - remove Luca's reviewed/tested-by tags (too much churn since given)
> ---
> docs/manual/adding-packages-generic.txt | 13 +++++++++++++
> package/pkg-generic.mk | 16 +++++++++++++++-
> 2 files changed, 28 insertions(+), 1 deletion(-)
>
> diff --git a/docs/manual/adding-packages-generic.txt b/docs/manual/adding-packages-generic.txt
> index 51408e8..0dccfb4 100644
> --- a/docs/manual/adding-packages-generic.txt
> +++ b/docs/manual/adding-packages-generic.txt
> @@ -443,6 +443,19 @@ information is (assuming the package name is +libfoo+) :
> non-opensource packages: Buildroot will not save the source code for this
> package when collecting the +legal-info+.
>
> +* +LIBFOO_GEN_LEGAL_INFO+ can be set to +YES+ (default) or +NO+ to indicate
> + that this package should be included or not in the output of the
> + +legal-info+. If set to +NO+, that package will be completely excluded
> + from the output of +legal-info+: it will not be listed in the manifest,
> + the license files and the sources are not saved (the legal-info related
> + variables are all ignored: +LIBFOO_LICENSE+, +LIBFOO_LICENSE_FILES+,
> + +LIBFOO_ACTUAL_SOURCE_TARBALL+, +LIBFOO_ACTUAL_SOURCE_SITE+,
> + +LIBFOO_REDISTRIBUTE+).
> ++
> +.Note
> +You probably do not want to set it to +NO+ for a package bundled in Buildroot.
> + It is meant for non-public, confidential, company-proprietary packages.
> +
> * +LIBFOO_FLAT_STACKSIZE+ defines the stack size of an application built into
> the FLAT binary format. The application stack size on the NOMMU architecture
> processors can't be enlarged at run time. The default stack size for the
> diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
> index 12ae86f..165000c 100644
> --- a/package/pkg-generic.mk
> +++ b/package/pkg-generic.mk
> @@ -502,6 +502,14 @@ endif
>
> $(2)_REDISTRIBUTE ?= YES
>
> +ifndef $(2)_GEN_LEGAL_INFO
> + ifdef $(3)_GEN_LEGAL_INFO
> + $(2)_GEN_LEGAL_INFO = $$($(3)_GEN_LEGAL_INFO)
> + endif
> +endif
> +
> +$(2)_GEN_LEGAL_INFO ?= YES
> +
> $(2)_REDIST_SOURCES_DIR = $$(REDIST_SOURCES_DIR_$$(call UPPERCASE,$(4)))/$$($(2)_RAW_BASE_NAME)
>
> # When a target package is a toolchain dependency set this variable to
> @@ -782,8 +790,10 @@ endif
>
> # We need to extract and patch a package to be able to retrieve its
> # license files (if any) and the list of patches applied to it (if
> -# any).
> +# any). But not if we want to ignore that package completely.
> +ifeq ($$($(2)_GEN_LEGAL_INFO),YES)
> $(1)-legal-info: $(1)-patch
> +endif
>
> # We only save the sources of packages we want to redistribute, that are
> # non-overriden (local or true override).
> @@ -796,6 +806,8 @@ endif
>
> # legal-info: produce legally relevant info.
> $(1)-legal-info:
> +ifeq ($$($(2)_GEN_LEGAL_INFO),YES)
> +
> # Packages without a source are assumed to be part of Buildroot, skip them.
> $$(foreach hook,$$($(2)_PRE_LEGAL_INFO_HOOKS),$$(call $$(hook))$$(sep))
> ifneq ($$(call qstrip,$$($(2)_SOURCE)),)
> @@ -843,6 +855,8 @@ endif # other packages
> endif # ifneq ($$(call qstrip,$$($(2)_SOURCE)),)
> $$(foreach hook,$$($(2)_POST_LEGAL_INFO_HOOKS),$$(call $$(hook))$$(sep))
>
> +endif # $(2)_GEN_LEGAL_INFO == YES
> +
> # add package to the general list of targets if requested by the buildroot
> # configuration
> ifeq ($$($$($(2)_KCONFIG_VAR)),y)
> --
> 2.7.4
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Regards,
--
Samuel
More information about the buildroot
mailing list