2012-11-11 04:14:58 +01:00
|
|
|
// -*- mode:doc; -*-
|
2013-02-13 13:59:02 +01:00
|
|
|
// vim: set syntax=asciidoc:
|
2012-11-11 04:14:58 +01:00
|
|
|
|
|
|
|
[[legal-info]]
|
|
|
|
|
manual: use one-line titles instead of two-line titles (trivial)
Asciidoc supports two syntaxes for section titles: two-line titles (title
plus underline consisting of a particular symbol), and one-line titles
(title prefixed with a specific number of = signs).
The two-line title underlines are:
Level 0 (top level): ======================
Level 1: ----------------------
Level 2: ~~~~~~~~~~~~~~~~~~~~~~
Level 3: ^^^^^^^^^^^^^^^^^^^^^^
Level 4 (bottom level): ++++++++++++++++++++++
and the one-line title prefixes:
= Document Title (level 0) =
== Section title (level 1) ==
=== Section title (level 2) ===
==== Section title (level 3) ====
===== Section title (level 4) =====
The buildroot manual is currenly using the two-line titles, but this has
multiple disadvantages:
- asciidoc also uses some of the underline symbols for other purposes (like
preformatted code, example blocks, ...), which makes it difficult to do
mass replacements, such as a planned follow-up patch that needs to move
all sections one level down.
- it is difficult to remember which level a given underline symbol (=-~^+)
corresponds to, while counting = signs is easy.
This patch changes all two-level titles to one-level titles in the manual.
The bulk of the change was done with the following Python script, except for
the level 1 titles (-----) as these underlines are also used for literal
code blocks.
This patch only changes the titles, no other changes. In
adding-packages-directory.txt, I did add missing newlines between some
titles and their content.
----------------------------------------------------------------------------
#!/usr/bin/env python
import sys
import mmap
import re
for input in sys.argv[1:]:
f = open(input, 'r+')
f.flush()
s = mmap.mmap(f.fileno(), 0)
# Level 0 (top level): ====================== =
# Level 1: ---------------------- ==
# Level 2: ~~~~~~~~~~~~~~~~~~~~~~ ===
# Level 3: ^^^^^^^^^^^^^^^^^^^^^^ ====
# Level 4 (bottom level): ++++++++++++++++++++++ =====
def replace_title(s, symbol, replacement):
pattern = re.compile(r'(.+\n)\%s{2,}\n' % symbol, re.MULTILINE)
return pattern.sub(r'%s \1' % replacement, s)
new = s
new = replace_title(new, '=', '=')
new = replace_title(new, '+', '=====')
new = replace_title(new, '^', '====')
new = replace_title(new, '~', '===')
#new = replace_title(new, '-', '==')
s.seek(0)
s.write(new)
s.resize(s.tell())
s.close()
f.close()
----------------------------------------------------------------------------
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-05-02 07:47:30 +02:00
|
|
|
= Legal notice and licensing
|
2012-11-11 04:14:58 +01:00
|
|
|
|
manual: use one-line titles instead of two-line titles (trivial)
Asciidoc supports two syntaxes for section titles: two-line titles (title
plus underline consisting of a particular symbol), and one-line titles
(title prefixed with a specific number of = signs).
The two-line title underlines are:
Level 0 (top level): ======================
Level 1: ----------------------
Level 2: ~~~~~~~~~~~~~~~~~~~~~~
Level 3: ^^^^^^^^^^^^^^^^^^^^^^
Level 4 (bottom level): ++++++++++++++++++++++
and the one-line title prefixes:
= Document Title (level 0) =
== Section title (level 1) ==
=== Section title (level 2) ===
==== Section title (level 3) ====
===== Section title (level 4) =====
The buildroot manual is currenly using the two-line titles, but this has
multiple disadvantages:
- asciidoc also uses some of the underline symbols for other purposes (like
preformatted code, example blocks, ...), which makes it difficult to do
mass replacements, such as a planned follow-up patch that needs to move
all sections one level down.
- it is difficult to remember which level a given underline symbol (=-~^+)
corresponds to, while counting = signs is easy.
This patch changes all two-level titles to one-level titles in the manual.
The bulk of the change was done with the following Python script, except for
the level 1 titles (-----) as these underlines are also used for literal
code blocks.
This patch only changes the titles, no other changes. In
adding-packages-directory.txt, I did add missing newlines between some
titles and their content.
----------------------------------------------------------------------------
#!/usr/bin/env python
import sys
import mmap
import re
for input in sys.argv[1:]:
f = open(input, 'r+')
f.flush()
s = mmap.mmap(f.fileno(), 0)
# Level 0 (top level): ====================== =
# Level 1: ---------------------- ==
# Level 2: ~~~~~~~~~~~~~~~~~~~~~~ ===
# Level 3: ^^^^^^^^^^^^^^^^^^^^^^ ====
# Level 4 (bottom level): ++++++++++++++++++++++ =====
def replace_title(s, symbol, replacement):
pattern = re.compile(r'(.+\n)\%s{2,}\n' % symbol, re.MULTILINE)
return pattern.sub(r'%s \1' % replacement, s)
new = s
new = replace_title(new, '=', '=')
new = replace_title(new, '+', '=====')
new = replace_title(new, '^', '====')
new = replace_title(new, '~', '===')
#new = replace_title(new, '-', '==')
s.seek(0)
s.write(new)
s.resize(s.tell())
s.close()
f.close()
----------------------------------------------------------------------------
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-05-02 07:47:30 +02:00
|
|
|
== Complying with open source licenses
|
2012-11-11 04:14:58 +01:00
|
|
|
|
|
|
|
All of the end products of Buildroot (toolchain, root filesystem, kernel,
|
2012-11-27 12:59:16 +01:00
|
|
|
bootloaders) contain open source software, released under various licenses.
|
2012-11-11 04:14:58 +01:00
|
|
|
|
2012-11-27 12:59:16 +01:00
|
|
|
Using open source software gives you the freedom to build rich embedded
|
2012-11-16 05:54:19 +01:00
|
|
|
systems, choosing from a wide range of packages, but also imposes some
|
2012-11-11 04:14:58 +01:00
|
|
|
obligations that you must know and honour.
|
|
|
|
Some licenses require you to publish the license text in the documentation of
|
2012-11-16 05:54:19 +01:00
|
|
|
your product. Others require you to redistribute the source code of the
|
2012-11-11 04:14:58 +01:00
|
|
|
software to those that receive your product.
|
|
|
|
|
2012-11-16 05:54:19 +01:00
|
|
|
The exact requirements of each license are documented in each package, and
|
|
|
|
it is your responsibility (or that of your legal office) to comply with those
|
|
|
|
requirements.
|
2012-11-11 04:14:58 +01:00
|
|
|
To make this easier for you, Buildroot can collect for you some material you
|
2012-11-16 05:54:19 +01:00
|
|
|
will probably need. To produce this material, after you have configured
|
|
|
|
Buildroot with +make menuconfig+, +make xconfig+ or +make gconfig+, run:
|
2012-11-11 04:14:58 +01:00
|
|
|
|
|
|
|
--------------------
|
|
|
|
make legal-info
|
|
|
|
--------------------
|
|
|
|
|
|
|
|
Buildroot will collect legally-relevant material in your output directory,
|
|
|
|
under the +legal-info/+ subdirectory.
|
|
|
|
There you will find:
|
|
|
|
|
|
|
|
* A +README+ file, that summarizes the produced material and contains warnings
|
|
|
|
about material that Buildroot could not produce.
|
|
|
|
* +buildroot.config+: this is the Buildroot configuration file that is usually
|
|
|
|
produced with +make menuconfig+, and which is necessary to reproduce the
|
|
|
|
build.
|
2013-11-12 09:48:01 +01:00
|
|
|
* The source code for all packages; this is saved in the +sources/+ and
|
|
|
|
+host-sources/+ subdirectories for target and host packages respectively.
|
|
|
|
The source code for packages that set +<PKG>_REDISTRIBUTE = NO+ will not be
|
|
|
|
saved.
|
|
|
|
Patches applied to some packages by Buildroot are distributed with the
|
|
|
|
Buildroot sources and are not duplicated in the +sources/+ and +host-sources/+
|
|
|
|
subdirectories.
|
|
|
|
* A manifest file (one for host and one for target packages) listing the
|
|
|
|
configured packages, their version, license and related information.
|
2012-11-16 05:54:19 +01:00
|
|
|
Some of this information might not be defined in Buildroot; such items are
|
2012-11-27 12:59:16 +01:00
|
|
|
marked as "unknown".
|
2013-11-12 09:48:01 +01:00
|
|
|
* The license texts of all packages, in the +licenses/+ and +host-licenses/+
|
|
|
|
subdirectories for target and host packages respectively.
|
2012-11-11 04:14:58 +01:00
|
|
|
If the license file(s) are not defined in Buildroot, the file is not produced
|
|
|
|
and a warning in the +README+ indicates this.
|
|
|
|
|
|
|
|
Please note that the aim of the +legal-info+ feature of Buildroot is to
|
|
|
|
produce all the material that is somehow relevant for legal compliance with the
|
|
|
|
package licenses. Buildroot does not try to produce the exact material that
|
2012-11-16 05:54:19 +01:00
|
|
|
you must somehow make public. Certainly, more material is produced than is
|
2012-11-11 04:14:58 +01:00
|
|
|
needed for a strict legal compliance. For example, it produces the source code
|
2012-11-27 12:59:16 +01:00
|
|
|
for packages released under BSD-like licenses, that you are not required to
|
2012-11-11 04:14:58 +01:00
|
|
|
redistribute in source form.
|
|
|
|
|
|
|
|
Moreover, due to technical limitations, Buildroot does not produce some
|
|
|
|
material that you will or may need, such as the toolchain source code and the
|
2012-11-27 12:59:16 +01:00
|
|
|
Buildroot source code itself (including patches to packages for which source
|
|
|
|
distribution is required).
|
2012-11-11 04:14:58 +01:00
|
|
|
When you run +make legal-info+, Buildroot produces warnings in the +README+
|
|
|
|
file to inform you of relevant material that could not be saved.
|
|
|
|
|
|
|
|
[[legal-info-list-licenses]]
|
manual: use one-line titles instead of two-line titles (trivial)
Asciidoc supports two syntaxes for section titles: two-line titles (title
plus underline consisting of a particular symbol), and one-line titles
(title prefixed with a specific number of = signs).
The two-line title underlines are:
Level 0 (top level): ======================
Level 1: ----------------------
Level 2: ~~~~~~~~~~~~~~~~~~~~~~
Level 3: ^^^^^^^^^^^^^^^^^^^^^^
Level 4 (bottom level): ++++++++++++++++++++++
and the one-line title prefixes:
= Document Title (level 0) =
== Section title (level 1) ==
=== Section title (level 2) ===
==== Section title (level 3) ====
===== Section title (level 4) =====
The buildroot manual is currenly using the two-line titles, but this has
multiple disadvantages:
- asciidoc also uses some of the underline symbols for other purposes (like
preformatted code, example blocks, ...), which makes it difficult to do
mass replacements, such as a planned follow-up patch that needs to move
all sections one level down.
- it is difficult to remember which level a given underline symbol (=-~^+)
corresponds to, while counting = signs is easy.
This patch changes all two-level titles to one-level titles in the manual.
The bulk of the change was done with the following Python script, except for
the level 1 titles (-----) as these underlines are also used for literal
code blocks.
This patch only changes the titles, no other changes. In
adding-packages-directory.txt, I did add missing newlines between some
titles and their content.
----------------------------------------------------------------------------
#!/usr/bin/env python
import sys
import mmap
import re
for input in sys.argv[1:]:
f = open(input, 'r+')
f.flush()
s = mmap.mmap(f.fileno(), 0)
# Level 0 (top level): ====================== =
# Level 1: ---------------------- ==
# Level 2: ~~~~~~~~~~~~~~~~~~~~~~ ===
# Level 3: ^^^^^^^^^^^^^^^^^^^^^^ ====
# Level 4 (bottom level): ++++++++++++++++++++++ =====
def replace_title(s, symbol, replacement):
pattern = re.compile(r'(.+\n)\%s{2,}\n' % symbol, re.MULTILINE)
return pattern.sub(r'%s \1' % replacement, s)
new = s
new = replace_title(new, '=', '=')
new = replace_title(new, '+', '=====')
new = replace_title(new, '^', '====')
new = replace_title(new, '~', '===')
#new = replace_title(new, '-', '==')
s.seek(0)
s.write(new)
s.resize(s.tell())
s.close()
f.close()
----------------------------------------------------------------------------
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-05-02 07:47:30 +02:00
|
|
|
== License abbreviations
|
2012-11-27 12:59:16 +01:00
|
|
|
|
2012-11-11 04:14:58 +01:00
|
|
|
Here is a list of the licenses that are most widely used by packages in
|
2013-11-12 09:48:01 +01:00
|
|
|
Buildroot, with the name used in the manifest files:
|
2012-11-11 04:14:58 +01:00
|
|
|
|
2012-11-27 12:59:17 +01:00
|
|
|
* `GPLv2`:
|
2012-11-11 04:14:58 +01:00
|
|
|
http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[
|
|
|
|
GNU General Public License, version 2];
|
2012-11-27 12:59:17 +01:00
|
|
|
* `GPLv2+`:
|
2012-11-11 04:14:58 +01:00
|
|
|
http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[
|
|
|
|
GNU General Public License, version 2]
|
|
|
|
or (at your option) any later version;
|
2012-11-27 12:59:17 +01:00
|
|
|
* `GPLv3`:
|
2012-11-11 04:14:58 +01:00
|
|
|
http://www.gnu.org/licenses/gpl.html[
|
|
|
|
GNU General Public License, version 3];
|
2012-11-27 12:59:17 +01:00
|
|
|
* `GPLv3+`:
|
2012-11-11 04:14:58 +01:00
|
|
|
http://www.gnu.org/licenses/gpl.html[
|
|
|
|
GNU General Public License, version 3]
|
|
|
|
or (at your option) any later version;
|
2012-11-27 12:59:17 +01:00
|
|
|
* `GPL`:
|
2012-11-11 04:14:58 +01:00
|
|
|
http://www.gnu.org/licenses/gpl.html[
|
|
|
|
GNU General Public License] (any version);
|
2012-11-27 12:59:17 +01:00
|
|
|
* `LGPLv2`:
|
2012-11-27 12:59:16 +01:00
|
|
|
http://www.gnu.org/licenses/old-licenses/lgpl-2.0.html[
|
|
|
|
GNU Library General Public License, version 2];
|
2012-11-27 12:59:17 +01:00
|
|
|
* `LGPLv2+`:
|
2012-11-27 12:59:16 +01:00
|
|
|
http://www.gnu.org/licenses/old-licenses/lgpl-2.0.html[
|
2014-03-28 22:24:47 +01:00
|
|
|
GNU Library General Public License, version 2]
|
2012-11-27 12:59:16 +01:00
|
|
|
or (at your option) any later version;
|
2012-11-27 12:59:17 +01:00
|
|
|
* `LGPLv2.1`:
|
2012-11-11 04:14:58 +01:00
|
|
|
http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html[
|
|
|
|
GNU Lesser General Public License, version 2.1];
|
2012-11-27 12:59:17 +01:00
|
|
|
* `LGPLv2.1+`:
|
2012-11-11 04:14:58 +01:00
|
|
|
http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html[
|
|
|
|
GNU Lesser General Public License, version 2.1]
|
|
|
|
or (at your option) any later version;
|
2012-11-27 12:59:17 +01:00
|
|
|
* `LGPLv3`:
|
2012-11-11 04:14:58 +01:00
|
|
|
http://www.gnu.org/licenses/lgpl.html[
|
|
|
|
GNU Lesser General Public License, version 3];
|
2012-11-27 12:59:17 +01:00
|
|
|
* `LGPLv3+`:
|
2012-11-11 04:14:58 +01:00
|
|
|
http://www.gnu.org/licenses/lgpl.html[
|
|
|
|
GNU Lesser General Public License, version 3]
|
|
|
|
or (at your option) any later version;
|
2012-11-27 12:59:17 +01:00
|
|
|
* `LGPL`:
|
2012-11-11 04:14:58 +01:00
|
|
|
http://www.gnu.org/licenses/lgpl.html[
|
|
|
|
GNU Lesser General Public License] (any version);
|
2012-11-27 12:59:17 +01:00
|
|
|
* `BSD-4c`: Original BSD 4-clause license;
|
|
|
|
* `BSD-3c`: BSD 3-clause license;
|
|
|
|
* `BSD-2c`: BSD 2-clause license;
|
|
|
|
* `MIT`: MIT-style license.
|
2014-01-02 14:01:48 +01:00
|
|
|
* `Apache-2.0`:
|
|
|
|
http://apache.org/licenses/LICENSE-2.0.html[
|
|
|
|
Apache License, version 2.0];
|
2012-11-11 04:14:58 +01:00
|
|
|
|
manual: use one-line titles instead of two-line titles (trivial)
Asciidoc supports two syntaxes for section titles: two-line titles (title
plus underline consisting of a particular symbol), and one-line titles
(title prefixed with a specific number of = signs).
The two-line title underlines are:
Level 0 (top level): ======================
Level 1: ----------------------
Level 2: ~~~~~~~~~~~~~~~~~~~~~~
Level 3: ^^^^^^^^^^^^^^^^^^^^^^
Level 4 (bottom level): ++++++++++++++++++++++
and the one-line title prefixes:
= Document Title (level 0) =
== Section title (level 1) ==
=== Section title (level 2) ===
==== Section title (level 3) ====
===== Section title (level 4) =====
The buildroot manual is currenly using the two-line titles, but this has
multiple disadvantages:
- asciidoc also uses some of the underline symbols for other purposes (like
preformatted code, example blocks, ...), which makes it difficult to do
mass replacements, such as a planned follow-up patch that needs to move
all sections one level down.
- it is difficult to remember which level a given underline symbol (=-~^+)
corresponds to, while counting = signs is easy.
This patch changes all two-level titles to one-level titles in the manual.
The bulk of the change was done with the following Python script, except for
the level 1 titles (-----) as these underlines are also used for literal
code blocks.
This patch only changes the titles, no other changes. In
adding-packages-directory.txt, I did add missing newlines between some
titles and their content.
----------------------------------------------------------------------------
#!/usr/bin/env python
import sys
import mmap
import re
for input in sys.argv[1:]:
f = open(input, 'r+')
f.flush()
s = mmap.mmap(f.fileno(), 0)
# Level 0 (top level): ====================== =
# Level 1: ---------------------- ==
# Level 2: ~~~~~~~~~~~~~~~~~~~~~~ ===
# Level 3: ^^^^^^^^^^^^^^^^^^^^^^ ====
# Level 4 (bottom level): ++++++++++++++++++++++ =====
def replace_title(s, symbol, replacement):
pattern = re.compile(r'(.+\n)\%s{2,}\n' % symbol, re.MULTILINE)
return pattern.sub(r'%s \1' % replacement, s)
new = s
new = replace_title(new, '=', '=')
new = replace_title(new, '+', '=====')
new = replace_title(new, '^', '====')
new = replace_title(new, '~', '===')
#new = replace_title(new, '-', '==')
s.seek(0)
s.write(new)
s.resize(s.tell())
s.close()
f.close()
----------------------------------------------------------------------------
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-05-02 07:47:30 +02:00
|
|
|
== Complying with the Buildroot license
|
2012-11-11 04:14:58 +01:00
|
|
|
|
2012-11-27 12:59:16 +01:00
|
|
|
Buildroot itself is an open source software, released under the
|
2012-11-11 04:14:58 +01:00
|
|
|
http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[GNU General Public
|
|
|
|
License, version 2] or (at your option) any later version.
|
|
|
|
However, being a build system, it is not normally part of the end product:
|
|
|
|
if you develop the root filesystem, kernel, bootloader or toolchain for a
|
|
|
|
device, the code of Buildroot is only present on the development machine, not
|
|
|
|
in the device storage.
|
|
|
|
|
|
|
|
Nevertheless, the general view of the Buildroot developers is that you should
|
|
|
|
release the Buildroot source code along with the source code of other packages
|
|
|
|
when releasing a product that contains GPL-licensed software.
|
|
|
|
This is because the
|
|
|
|
http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[GNU GPL]
|
|
|
|
defines the "'complete source code'" for an executable work as "'all the
|
|
|
|
source code for all modules it contains, plus any associated interface
|
|
|
|
definition files, plus the scripts used to control compilation and installation
|
|
|
|
of the executable'".
|
|
|
|
Buildroot is part of the 'scripts used to control compilation and
|
|
|
|
installation of the executable', and as such it is considered part of the
|
|
|
|
material that must be redistributed.
|
|
|
|
|
2012-11-16 05:54:19 +01:00
|
|
|
Keep in mind that this is only the Buildroot developers' opinion, and you
|
|
|
|
should consult your legal department or lawyer in case of any doubt.
|