Hi Nathanael,
Could you reply to both parts of this message? Thanks.
PART I ======
Nathanael Nerode wrote: > There is really nothing wrong with sharing install-sh & friends. Lots > of packages do it.
This is not true. The GNU GPL version 2, section 2 says: --- BEGIN--- 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: ... (conditions)... These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this License, whose permissions for other licensees extend to the ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ entire whole, and thus to each and every part regardless of who wrote it. ^^^^^^^^^^^^ ... In addition, mere aggregation of another work not based on the Program ^^^^^^^^^^^^^^^^ with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. --- END ---
The inclusion of libffi & gcc in a single .tar.gz that shares scripts, configure, and Makefiles, does *not* constitutes a "mere aggregation". Thus, the whole package *must* be distributed under the terms of the GPL.
Yes.
No. :-) You really can extract it back out (in this case). I guess this is a common point of confusion; if a GPLed program uses some BSD-licensed files, the BSD-licensed files don't get "contaminated".Once this is done, you cannot exctract libffi back from the GPLed package and say "look, these files are not GPLed".
Libffi and install-sh & friends are "identifiable sections", "not derived from the Program" ('the Program' meaning any work available only under the GPL), "can be reasonably considered independent and separate works in themselves", and so they can be distributed as separate works.
If you prefer, take libffi (a separate work) and combine it with a different copy of install-sh & friends (they are available in many other places).
Of course, putting a gcc.tar.gz and libffi.tar.gz on a single CD would be a mere
aggregation, but the current situation is quite different.
PART II =======
I am sure that there are no deep dependencies between gcc and libffi. My major problem, right now, is that I seems unable to acually *build* libffi using "cd gcc-3.3.2/libffi; ./configure; make" as you suggested.
Could you tell me what I am doing wrong, below? Thanks in advance.
$ apt-get source libffi2 $ cd gcc-3.3-3.3.2ds4/ $ tar -xjvf gcc-3.3.2.tar.bz2 $ cd gcc-3.3.2/libffi/ $ ./configure creating cache ./config.cache checking for Cygwin environment... no checking for mingw32 environment... no configure: error: can not find install-sh or install.sh in ../.. ./../..
Oh, I know what's going on here.
Most of the stuff in the gcc and src repositories prefers to be built with a separate builddir != srcdir, and libffi is no exception.
Try this. mkdir build cd build ../gcc-3.3.2/libffi/configure make
If that fails, I'll look a little further.