Mats Lidell <matsl(a)xemacs.org> writes:
>>>>> David Kastrup <dak(a)gnu.org> writes:
>> Mats Lidell writes:
>>
>> > >>>>> Stephen writes:
>> >
>> > Stephen> I'm sure it can be done, ...
>> >
>> > Is it possible to describe, in a few lines, what the technical problem
>> > is in making the package build within the XEmacs Package Tree?
>>
>> With accuracy, no. At one time, the AUCTeX build process required
>> running configure on the installation host. That would obviously
>> result in undistributable binary packages.
David> [...]
David> Which you do by calling
David> ./configure
David> make FTPDIR=/tmp/auctex TAG=11.84 tarball
David> make FTPDIR=/tmp/auctex TAG=11.84 xemacs-package
David> Then you have a completely built XEmacs package in /tmp/auctex,
David> and an unpacked clean tarball in ./auctex-11.84.
Are you suggesting that this would be a good starting point for
inclusion in the XEmacs Package Tree?
Well, having the endproduct available as a reference should certainly
not do much harm.
David> And actually, it does not really require even that. It
David> suffices to take the finished XEmacs package distributed by
David> AUCTeX, since that contains everything that is to end up in
David> the XEmacs package from Sumo, in the right places.
The build procedure designed by the AUCTeX team is quite likely
perfect for its job,
Its job is much more general than that of building an XEmacs package.
It is used for installing into existing distribution-, site- or
user-wide trees of either Emacs or XEmacs and has to cater for typical
distributions as well.
and built against the right version of the SUMO package (there is an
integration issue here right!?)
More likely you mean the XEmacs build structure.
it will be fine, but that doesn't make me understand a bit what
is
the problem in making it build within the XEmacs Package Tree.
You have to arrange the files and write some template files.
David> It is an illusion to imagine that taking the identical
files
David> from the source tarball instead of AUCTeX's binary XEmacs
David> package is somehow going to make a legal difference: the
David> copyrightable content is the same. In either case, XEmacs
David> central decides that it needs not distribute the build
David> infrastructure (whether from AUCTeX or from XEmacs) along
David> with the binary package in order to comply with the GPL.
I wasn't aware that there are legal issues here. Please explain?
The GPL states
The source code for a work means the preferred form of the work
for making modifications to it. For an executable work, complete
source code means 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.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
However, as a special exception, the source code distributed need
not include anything that is normally distributed (in either
source or binary form) with the major components (compiler,
kernel, and so on) of the operating system on which the executable
runs, unless that component itself accompanies the executable.
It is the stance of the XEmacs team (or at least of Stephen Turnbull)
that the package-specific template files controlling the compilation
and installation in the XEmacs package build structure somehow are not
covered by the above condition. Thus they purportedly do not need to
get distributed with "binary packages".
That means that a binary package can't be rebuilt by unpacking it into
the XEmacs package build structure, yet the XEmacs team claims that it
delivers "full source code".
Of course, this deficiency is glaringly obvious with AUCTeX: the
binary package generated by the AUCTeX team has _exactly_ the same
structure as a binary package from the XEmacs team would have, yet the
XEmacs team claims at the same time that
a) it is not possible to reasonably use this without a large effort as
a source for the XEmacs build structure,
b) packages that have _exactly_ this form are to be considered to
contain the complete source code and need not be accompanied by
anything else on the XEmacs package servers.
The actual package-specific build template files are actually not
large: putting them into binary packages would hardly be a burden
(after all, the whole point of the XEmacs package build structure is
to be able to implement such policy changes just in one place), and
adding the information about how to arrange back the files into source
order is probably also not too complicated when the final arrangement
has been generated automatically, but it would require a change to
existing practices and policies, and some work, and admitting that
something was not quite perfect.
This is not a problem specific to AUCTeX, and I don't feel like I am
the one who'd want to beat the XEmacs team into changing their package
distribution policies into something which could be considered
GPL-compliant by actually providing something that can count as source
code with good conscience.
The AUCTeX case just illustrates that the binary packages, in spite of
consistent claims to the contrary, don't contain the complete source
and control files needed for compiling.
If they did, it would not take years to make a finished binary package
fit into the XEmacs build tree.
--
David Kastrup
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta