COPYING
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Jan 28 22:06:49 2011 +0100 (2011-01-28)
changeset 2284 7ede374110e5
parent 676 78c450c0b219
permissions -rw-r--r--
config: add an option not to remove the destination directory

In certain circumstances, removing the destination/installation directory
is a bad idea. For example, when the build environment is already taking
care of sanitising the build tree, and pre-installs stuff in there, it is
a very bad idea to remove the destination directory.

This happens now in buildroot, as the crostool-NG backend now installs the
toolchain in the common host-tools directory, and pre-install there a few
host-utilities (eg. host-automake and host-gawk).

Provide a config knob to turn on/off the removal of the destination
directory, defaulting to 'y' (previous behavior), and forced to 'n' when
used as a backend.

Reported-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 Unless otherwise stated in individual files, this work is licensed to you under
     2 the following terms.
     3 
     4 - Files in docs/ are available under the Creative Commons Attribution, Share
     5   Alike (by-sa), v2.5, to be found there:
     6     licenses.d/by-sa/deed.en     (human-readable summary)
     7     licenses.d/by-sa/legalcode   (legal code, the full license)
     8     
     9 - Files found in patches/*/ are available under the same license as the
    10   upstream software they apply to.
    11 
    12   That means that you can't use those patches if you were licensed the
    13   software under a specific license which is not the one the software is
    14   commonly available under.
    15 
    16   As an example, if you ever managed to get the Linux kernel under a license
    17   other than the GPLv2, you are not allowed to use the Linux kernel patches
    18   coming with crosstool-NG, as those are available under the GPLv2, which is
    19   the license the Linux kernel is most commonly available under.
    20 
    21   As a convenience, the GNU Lesser General Public License (LGPL) v2.1 (for the
    22   patches against glibc, uClibc, and some other libraries) is available there:
    23     licenses.d/lgpl.txt
    24 
    25 - Other files not covered by the above licenses, and not covered by an
    26   individual license specified in the file itself, or an accompanying file,
    27   are available under the GNU General Public License (GPL), v2, to be found
    28   here:
    29     licenses.d/gpl.txt
    30 
    31 - Also, I want to clarify one point. If you build a toolchain with crosstool-NG
    32   and you happen to sell, deliver, or otherwise publish this toolchain to a
    33   third party, I consider crosstool-NG as being part of the sources needed to
    34   rebuild the afore-mentioned toolchain, alongside with all other source code
    35   that third party is otherwise entitled to receive, due to other licenses of
    36   the different components. See licenses.d/gpl.txt, section 3, which reads:
    37    > For an executable work, complete source code means [...], plus the
    38    > scripts used to control compilation and installation of the executable.
    39 
    40   In short: crosstool-NG is the part refered to as "the scripts to control
    41   compilation and installation of the executable", it being the toolchain in
    42   our case; and as such you must make it available, in conformance to the
    43   GPLv2, see above.
    44 
    45   Also, if you have local patches that you apply to the different components
    46   (either manualy, or by instructing crosstool-NG to do so), you will have to
    47   make those patches available alongside with your toolchain, to comply with
    48   the licenses of the components impacted by your patches.