[Buildroot] [PATCH 0/21 RFC] core/legal-info: fixes, completness and enhancements (branch yem/legal-patch)
Yann E. MORIN
yann.morin.1998 at free.fr
Mon Nov 16 22:47:12 UTC 2015
Hello All!
This series introduces core changs in how we handle the legal-info for
various packages.
The underlying reason for this series is that our legal-info content is
far from being complete. Most notably, the patches applied to packages
are not part of the legal-info output.
We do highly suggest users do redistribute Buildroot as part of their
compliance delivery, so the patches we bundle would be part of that
compliance deilvery.
However, patches that are downloaded or (most importantly) patches that
come from a global patch directory would be missing from that compliance
delivery.
The series starts with minor fixes to libecore and the legal-info infra,
and with adding licensing information to the Linux headers.
Then we add a new keyword to the _REDISTRIBUTE variable, so a package
can be completely ignored from the legal-info ouput (no source saved,
not license file saved, not listed in the manifest). Virtual packages
are forcibly set to be ignored that way.
Along the process of adding patches to the legal-info output, there was
an opportunity to cleanup and enhance the gcc package wrt. legal-info.
It was discovered that our legal-info for gcc was (besides the patches)
incomplete, as the Xtensa overlay was not saved. So, we took the burden
of cleaning, fixing and enhancing the gcc package:
- have the same source tree for initial and final steps,
- only extract sources once,
- make the gcc package pure host packages,
- add licensing information,
- save the Xtensa overlay to the legal-info output.
Still side-tracked with all those changes, we fix the perl package to
also save the perl-cross sources in the legal-info putput.
Then, back to the legal-info infra, further changes allow saving the
patches alongside the source archives:
- archives are saved in a subdirectory named package-version rarther
than all in the same directory,
- the directory where the kicense files are stores are also named
similarly, for consistency, rather than with ust the name of the
package,
- patches ar eeventually saved alongside the corrsponding archive,
- eventually, legal-info is made to work in full-offline mode.
Notes:
- we considered saving the full content of _ALL_DOWNLOADS or just the
content of _EXTRA_DOWNLOADS, but that does not play well with
pre-configued toolchains, which use _EXTRA_DOWNLOAD to doenload
additional tarballs with more binary stuff in there (sysroots), so
it does not make sense to include those in the legal-info output.
Since_ALL_DOWNLOADS also contains _EXTRA_DOWNLOADS, we can't use it
either. Those are to be handled manually in post-legal-info hooks;
- there might be other packages for which we are not saving 'extra'
stuff, but they can be fixed (with post-legal-info hooks) in
followup patches.
Regards,
Yann E. MORIN.
The following changes since commit 5f2cd8f5ecd7d035f00664c604fd8bfd5f1afcb8:
lua-periphery: fix build on Sparc/Sparc64 (2015-11-16 23:19:27 +0100)
are available in the git repository at:
git://git.busybox.net/~ymorin/git/buildroot yem/legal-patch
for you to fetch changes up to 0aa743543356cbe19450b672b435f016260ee7d6:
core/pkg-infra: ensure legal-info works in off-line mode (2015-11-16 23:39:03 +0100)
----------------------------------------------------------------
Yann E. MORIN (21):
package/libecore: do not build anything at patch time
core/legal-info: fix missing double-$
package/linux-headers: add licensing information
core/legal-info: allow ignoring packages from the legal-info
core/pkg-virtual: ignore from legal-info output
package/gcc: add licensing information
package/gcc: handle licensing information
package/gcc: add a patch for arc rather than using sed
package/gcc: properly extract and patch sources
package/gcc: make host-gcc a pure host package
package/gcc: make -initial and -final use sources from host-gcc
package/gcc: include the extensa overlay in the legal-info output
package/perl: include perl-cross in the legal-info output
core: add a global variable with already-unquoted global patch dir
core/pkg-generic: add macro to hardlink-or-copy
core/legal-info: use the macro to install source archives
core/legal-info: install source archives in their own sub-dir
core/legal-info: add package version to license directory
core/apply-patches: store full path of applied patches
core/legal-info: also save patches
core/pkg-infra: ensure legal-info works in off-line mode
Makefile | 2 +
docs/manual/adding-packages-generic.txt | 7 +-
package/efl/libecore/libecore.mk | 2 +-
.../900-no-libgmon.a-when-inhibit_libc.patch | 43 +++++++
package/gcc/gcc-final/gcc-final.mk | 40 +++---
package/gcc/gcc-initial/gcc-initial.mk | 43 ++-----
package/gcc/gcc.mk | 137 +++++++++++----------
package/linux-headers/linux-headers.mk | 2 +
package/perl/perl.mk | 7 ++
package/pkg-generic.mk | 74 ++++++++---
package/pkg-virtual.mk | 2 +
support/scripts/apply-patches.sh | 7 +-
12 files changed, 228 insertions(+), 138 deletions(-)
create mode 100644 package/gcc/arc-2015.06/900-no-libgmon.a-when-inhibit_libc.patch
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
More information about the buildroot
mailing list