Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 0/21 RFC] core/legal-info: fixes, completness and enhancements (branch yem/legal-patch)
Date: Mon, 16 Nov 2015 23:47:12 +0100	[thread overview]
Message-ID: <cover.1447713615.git.yann.morin.1998@free.fr> (raw)

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.  |
'------------------------------^-------^------------------^--------------------'

             reply	other threads:[~2015-11-16 22:47 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-16 22:47 Yann E. MORIN [this message]
2015-11-16 22:46 ` [Buildroot] [PATCH 01/21 RFC] package/libecore: do not build anything at patch time Yann E. MORIN
2015-11-17 11:16   ` Thomas Petazzoni
2015-11-17 12:20     ` Romain Naour
2015-11-17 20:16       ` Romain Naour
2015-11-17 16:03   ` Peter Korsgaard
2015-11-16 22:46 ` [Buildroot] [PATCH 02/21 RFC] core/legal-info: fix missing double-$ Yann E. MORIN
2015-11-17 11:19   ` Thomas Petazzoni
2015-11-17 16:03   ` Peter Korsgaard
2015-11-16 22:46 ` [Buildroot] [PATCH 03/21 RFC] package/linux-headers: add licensing information Yann E. MORIN
2015-11-17 11:19   ` Thomas Petazzoni
2015-11-17 16:04   ` Peter Korsgaard
2015-11-16 22:46 ` [Buildroot] [PATCH 04/21 RFC] core/legal-info: allow ignoring packages from the legal-info Yann E. MORIN
2015-11-17 11:22   ` Thomas Petazzoni
2015-11-17 17:35     ` Luca Ceresoli
2015-11-17 19:28       ` Yann E. MORIN
2015-11-17 20:14         ` Thomas Petazzoni
2015-11-17 21:26           ` Yann E. MORIN
2015-11-17 21:43     ` Arnout Vandecappelle
2015-11-17 21:48   ` Arnout Vandecappelle
2015-11-16 22:47 ` [Buildroot] [PATCH 05/21 RFC] core/pkg-virtual: ignore from legal-info output Yann E. MORIN
2015-11-17 11:25   ` Thomas Petazzoni
2015-11-17 19:35     ` Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 06/21 RFC] package/gcc: add licensing information Yann E. MORIN
2015-11-17 11:28   ` Thomas Petazzoni
2015-11-17 21:15     ` Yann E. MORIN
2015-11-17 21:25       ` Thomas Petazzoni
2015-11-17 21:40         ` Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 07/21 RFC] package/gcc: handle " Yann E. MORIN
2015-11-17 11:31   ` Thomas Petazzoni
2015-11-17 21:20     ` Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 08/21 RFC] package/gcc: add a patch for arc rather than using sed Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 09/21 RFC] package/gcc: properly extract and patch sources Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 10/21 RFC] package/gcc: make host-gcc a pure host package Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 11/21 RFC] package/gcc: make -initial and -final use sources from host-gcc Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 12/21 RFC] package/gcc: include the extensa overlay in the legal-info output Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 13/21 RFC] package/perl: include perl-cross " Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 14/21 RFC] core: add a global variable with already-unquoted global patch dir Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 15/21 RFC] core/pkg-generic: add macro to hardlink-or-copy Yann E. MORIN
2015-11-18 15:40   ` Luca Ceresoli
2015-11-16 22:47 ` [Buildroot] [PATCH 16/21 RFC] core/legal-info: use the macro to install source archives Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 17/21 RFC] core/legal-info: install source archives in their own sub-dir Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 18/21 RFC] core/legal-info: add package version to license directory Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 19/21 RFC] core/apply-patches: store full path of applied patches Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 20/21 RFC] core/legal-info: also save patches Yann E. MORIN
2015-11-16 22:47 ` [Buildroot] [PATCH 21/21 RFC] core/pkg-infra: ensure legal-info works in off-line mode Yann E. MORIN

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1447713615.git.yann.morin.1998@free.fr \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox