D. Hugh Redelmeier wrote:
Apparently the "Copyright" tag has been removed from the rpm spec language. It has been replaced with "License". One result is: $ rpmbuild -ta jove4.16.0.65.tgz error: Legacy syntax is unsupported: copyright error: line 35: Unknown tag: Copyright: Copyright (C) 1986-2002 by Jonathan Payne, freely redistributable This is the first I've heard that this tag was deprecated. Surely it would be better to issue a warning for a release cycle before completely rejecting it. This is unlikely to take more code since "Copyright" is still being recognized enough to note that it is "Legacy syntax".
The "Copyright" tag has been deprecated for about 5 years. It was poorly named initially and should have been named "License" from the very start. rpm added "License" as a tag to fix this problem, and made "Copyright" an alias for compatibility. 5 or so years of compatibility is quite a long time. Think about it... Does this sound correct: Copyright: Mike A Harris License: GPL Or does this sound correct: Copyright: GPL The latter is claiming that the GPL (whatever that is in this context) is the copyright owner. That doesn't make any sense. If we assume "GPL" means "GNU General Public License" for this example, what the above line is saying is that the actual GPL license text is the copyright owner. The GPL document is a license contract. The owner of the code is the copyright owner, not the license, so the ancient rpm usage of "Copyright: <some license name>" is semantically incorrect, and may have legal consequences as well. Nonetheless, rpm kept this compatibility around for a very very long time. Thankfully it has finally removed it, and any remaining broken rpms out there can and will be fixed finally. ;o)
Apparently this is not a new complaint. But FC4 is the first place I've bumped into the problem. http://www.redhat.com/archives/rpm-list/2005-February/msg00049.html What makes this more annoying for me is that Jove is my normal text editor so it is what I would normally use to fix this kind of problem. I don't have it on my new machine to fix itself. The Jove distribution attempts to support old systems, including those before "License" was introduced. That support will have to be dropped, at least as far as RPM is concerned. (Jove supports UNIX distributions as far back as 7th Edition -- that's how much we care about support for old systems.)
"License:" has been around at least since Red Hat Linux 6.2, if not way way earlier than that. There is no reason to not use the proper tag nowadays. If someone wants to keep compatibility for rpm versions that are that old to not have the "License" tag (which I think is pretty rediculous), they can simply do: %define ancient_OS 1 %if %{ancient_OS} Copyright: foo %else License: foo %endif Another mechanism that can be used, is to make the specfile a template instead, and preprocess it with autotools, m4, cpp, perl, or something else, to plop in the right tag depending on which version of rpm is being used. The number of rpms out there that this affects in this nature is likely to be incredibly low.