Bug 817315 - Review Request: megaglest - Open Source 3d real time strategy game
Review Request: megaglest - Open Source 3d real time strategy game
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
unspecified Severity medium
: ---
: ---
Assigned To: Nobody's working on this, feel free to take it
Fedora Extras Quality Assurance
:
Depends On: 817306 817311 828544
Blocks:
  Show dependency treegraph
 
Reported: 2012-04-28 18:40 EDT by Paulo Andrade
Modified: 2012-12-03 23:54 EST (History)
7 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-08-18 20:26:43 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
negativo17: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)
SPEC file patch (1.80 KB, patch)
2012-07-13 12:20 EDT, Simone Caronni
no flags Details | Diff

  None (edit)
Description Paulo Andrade 2012-04-28 18:40:22 EDT
Spec URL: http://kenobi.mandriva.com/~pcpa/megaglest.spec
Datafiles Spec URL: http://kenobi.mandriva.com/~pcpa/megaglest-data.spec
SRPM URL: http://kenobi.mandriva.com/~pcpa/megaglest-3.6.0.3-1.fc16.src.rpm
Description: This is a package I have been updating in Mandriva for some
time, but was not the orignal maintainer to import it.

megaglest.spec has a comment about missing packages in review
request that are build requires:
https://bugzilla.redhat.com/show_bug.cgi?id=817306
https://bugzilla.redhat.com/show_bug.cgi?id=817311

I did not upload the (noarch) megaglest-data srpm, only the
spec as it is not small:
$ ll SRPMS/megaglest-data-3.6.0.3-1.fc16.src.rpm 
-rw-rw-r--. 1 pcpa pcpa 192833324 Apr 28 19:22 SRPMS/megaglest-data-3.6.0.3-1.fc16.src.rpm

and the build consists only in unpacking the data files
anyway.

  Note that in Mandriva there are %_gamesbindir and %_gamesdatadir,
but since there is already glest in fedora, I tried to follow the
pattern from that package.

  Besides building it, I installed and tested it, and it works
correctly in my computer.

  Did not do a koji scratch build due to missing dependencies
in other package review requests.

  Major issue with this package should be the large size of
the datafiles.
$ du -sh /usr/share/megaglest/
545M    /usr/share/megaglest/

  But not a big deal for gamer users :-)
Comment 1 Thomas Spura 2012-04-29 10:50:27 EDT
You are not yet a packager and want become one, is that right?

To become one you "should block FE-NEEDSPONSOR", so sponsors will find you.
More information on how to get sponsored:
http://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group#Submitting_quality_new_packages

It would be great, when you'd do some informal reviews of other packages (if you haven'd done yet) and link them in your three reviews. More information here:
http://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group#Reviewing_packages

As this package needs the other two packages, I'll block FE-NEEDSPONSOR only in the other two ones.
Comment 2 Paulo Andrade 2012-04-30 13:45:20 EDT
  I already made a block in FE-NEEDSPONSOR for another package
https://bugzilla.redhat.com/show_bug.cgi?id=815624
and preferred not to spam it, but thanks for adding the block
in the other packages :-)

  I did package megaglest very quickly in Fedora 16, just to
have a feeling of packaging something larger, but still
somewhat simple to package.

  What I am really interested is in contributing to "The
Science and Technology Special Interest Group". I made some
informal package review requests, suggested some patches,
contacted upstream, etc for a quite larger task, that is
to package sagemath in Fedora (I did package and maintain
sagemath in Mandriva for several years). I made quite a lot
of comments recently in
http://lists.fedoraproject.org/pipermail/scitech/2012-April/thread.html
Comment 3 Thomas Spura 2012-04-30 15:56:58 EDT
(In reply to comment #2)
>   I already made a block in FE-NEEDSPONSOR for another package
> https://bugzilla.redhat.com/show_bug.cgi?id=815624

Didn't saw that one (The list of review requests is quite large at the moment...).

> and preferred not to spam it, but thanks for adding the block
> in the other packages :-)

There is no other way than that to get wider attention and inform reviewers of not being a sponsor ;)

>   I did package megaglest very quickly in Fedora 16, just to
> have a feeling of packaging something larger, but still
> somewhat simple to package.

Your packages look fine so far.

>   What I am really interested is in contributing to "The
> Science and Technology Special Interest Group". I made some
> informal package review requests, suggested some patches,
> contacted upstream, etc for a quite larger task, that is
> to package sagemath in Fedora (I did package and maintain
> sagemath in Mandriva for several years). I made quite a lot
> of comments recently in
> http://lists.fedoraproject.org/pipermail/scitech/2012-April/thread.html

That is not a "informal review", others should review your packages, but you didn't review other requests so far ;)
That's described here:
http://fedoraproject.org/wiki/Package_Review_Process#Reviewer

I'd highly suggest you to do some reviews to get further familiar with the process, but I'll sponsor you now for "libircclient" (as soon that's ready) as your spec files look fine.

Don't hesitate to ask, if you have further questions.
(Here or via mail)
Comment 4 Paulo Andrade 2012-05-01 14:30:59 EDT
I uploaded a newer megaglest spec and srpm on
top of the previous ones, as now, with a shared
libircclient, it is no longer required to apply
the openssl patch.

I will work on making some reviews as Jerry James
suggested some packages for me to review, as he
is also interested in a working sagemath package
in Fedora.
Comment 5 Thomas Spura 2012-05-01 15:16:06 EDT
(In reply to comment #4)
> I uploaded a newer megaglest spec and srpm on
> top of the previous ones, as now, with a shared
> libircclient, it is no longer required to apply
> the openssl patch.

As written in the other bug. Always bump the release, add a changelog entry etc...

> I will work on making some reviews as Jerry James
> suggested some packages for me to review, as he
> is also interested in a working sagemath package
> in Fedora.

Great! I was too, but as it was VERY complicated with linbox/givario I gave up partly and am "only" using ipython and own scripts to do the work...
But maybe that'll change again, who knows ;)
Comment 6 Paulo Andrade 2012-05-02 20:32:07 EDT
I updated the package, changelog, as well as bump release :-) to match the
changes after reviews for libircclient and miniupnpc.

The only question I have about bumping release, is that would not it be
better to have a pattern of starting with 0.1 ... 0.9x and then bump to
1 when package is considered ok?

megaglest-data.spec not modified.

New spec and srpm:
Spec URL: http://kenobi.mandriva.com/~pcpa/megaglest.spec
SRPM URL: http://kenobi.mandriva.com/~pcpa/megaglest-3.6.0.3-2.fc16.src.rpm
Comment 7 Thomas Spura 2012-05-03 03:50:36 EDT
(In reply to comment #6)
> I updated the package, changelog, as well as bump release :-) to match the
> changes after reviews for libircclient and miniupnpc.

Great :)

> The only question I have about bumping release, is that would not it be
> better to have a pattern of starting with 0.1 ... 0.9x and then bump to
> 1 when package is considered ok?

No. 0.1 ... and up is for prereleases, e.g. when you package megaglest-3.6.1 (which might be available in the upstream repository, but is not released yet).
More here:
http://fedoraproject.org/wiki/Packaging:NamingGuidelines#Package_Versioning

> megaglest-data.spec not modified.

I guess, you need another review request for megaglest-data, as that's a differenc spec/package. But better revisit that, when the current dependencies are in. (As upstream releases both in separate packages, it might be best to do it that way too...)
Comment 8 Simone Caronni 2012-06-01 10:14:06 EDT
Hello,

have you filed the review for megaglest-data? I would like to review them.

Regards,
--Simone
Comment 9 Paulo Andrade 2012-06-01 10:21:12 EDT
(In reply to comment #8)
> Hello,

  Hi,

> have you filed the review for megaglest-data? I would like to review them.

  I will update the request tonight and make a proper megaglest-data
review request, as now the remaining build requires (miniupnpc) was
added to scm. I plan to submit it to fedora 16, 17 and rawhide.

> Regards,
> --Simone
Comment 10 Paulo Andrade 2012-06-01 21:59:50 EDT
Package was updated now that build requires are available.
Some issues were corrected after experience with previous reviews :-)
Added a new patch to build with gcc 4.7.

Spec URL: http://fedorapeople.org/~pcpa/megaglest.spec
SRPM URL: http://fedorapeople.org/~pcpa/megaglest-3.6.0.3-3.fc18.src.rpm
Comment 11 Simone Caronni 2012-07-12 10:36:31 EDT
I will review this package
Comment 12 Simone Caronni 2012-07-12 11:00:01 EDT
This doesn't build for now in rawhide:

DEBUG: -- Found Lua library: /usr/lib64/liblua.so
DEBUG: -- Found Lua headers: /usr/include
DEBUG: CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:97 (MESSAGE):
DEBUG:   Could NOT find JPEG (missing: JPEG_LIBRARY JPEG_INCLUDE_DIR)
DEBUG: Call Stack (most recent call first):
DEBUG:   /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:288 (_FPHSA_FAILURE_MESSAGE)
DEBUG:   /usr/share/cmake/Modules/FindJPEG.cmake:31 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
DEBUG:   source/shared_lib/CMakeLists.txt:124 (FIND_PACKAGE)
DEBUG: -- Configuring incomplete, errors occurred!
DEBUG: RPM build errors:
DEBUG: error: Bad exit status from /var/tmp/rpm-tmp.Sc90ca (%build)
DEBUG:     Bad exit status from /var/tmp/rpm-tmp.Sc90ca (%build)
DEBUG: Child return code was: 1

I will proceed with the review of all the other items in the meanwhile.
Comment 13 Simone Caronni 2012-07-12 11:02:25 EDT
Package Review
==============

Key:
- = N/A
x = Pass
! = Fail
? = Not evaluated

==== Generic ====
[x]: MUST Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[!]: MUST Package successfully compiles and builds into binary rpms on at
     least one supported primary architecture.
[x]: MUST %build honors applicable compiler flags or justifies otherwise.
[!]: MUST All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
     Note: The package did not built BR could therefore not be checked or the
     package failed to build because of missing BR
[x]: MUST Buildroot is not present
     Note: Unless packager wants to package for EPEL5 this is fine
[x]: MUST Package contains no bundled libraries.
[x]: MUST Changelog in prescribed format.
[x]: MUST Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
     Note: Clean would be needed if support for EPEL is required
[x]: MUST Sources contain only permissible code or content.
[x]: MUST Each %files section contains %defattr if rpm < 4.4
     Note: Note: defattr macros not found. They would be needed for EPEL5
[x]: MUST Macros in Summary, %description expandable at SRPM build time.
[x]: MUST Package requires other packages for directories it uses.
[x]: MUST Package uses nothing in %doc for runtime.
[x]: MUST Package is not known to require ExcludeArch.
[x]: MUST Permissions on files are set properly.
[x]: MUST Package does not contain duplicates in %files.
[x]: MUST Spec file lacks Packager, Vendor, PreReq tags.
[x]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf would be needed if support for EPEL5 is required
[x]: MUST Large documentation files are in a -doc subpackage, if required.
[!]: MUST If (and only if) the source package includes the text of the
     license(s) in its own file, then that file, containing the text of the
     license(s) for the package is included in %doc.
[!]: MUST License field in the package spec file matches the actual license.
[x]: MUST Package consistently uses macros (instead of hard-coded directory
     names).
[x]: MUST Package is named according to the Package Naming Guidelines.
[x]: MUST Package does not generate any conflict.
[x]: MUST Package obeys FHS, except libexecdir and /usr/target.
[!]: MUST Package must own all directories that it creates.
[!]: MUST Package does not own files or directories owned by other packages.
[x]: MUST Package installs properly.
[x]: MUST Requires correct, justified where necessary.
[x]: MUST Rpmlint output is silent.
[!]: MUST Sources used to build the package match the upstream source, as
     provided in the spec URL.
/home/slaanesh/Documents/fedora/817315/megaglest-source-3.6.0.3.tar.xz :
  MD5SUM this package     : 5a4a2429435031d9f9cc5d9535a9de9d
  MD5SUM upstream package : 36427c1fce8e23911d9a5ca563770af8

[x]: MUST Spec file is legible and written in American English.
[x]: MUST Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[-]: MUST Package contains a SysV-style init script if in need of one.
[x]: MUST File names are valid UTF-8.
[x]: MUST Useful -debuginfo package or justification otherwise.
[!]: SHOULD Reviewer should test that the package builds in mock.
[-]: SHOULD If the source package does not include license text(s) as a
     separate file from upstream, the packager SHOULD query upstream to
     include it.
[x]: SHOULD Dist tag is present.
[x]: SHOULD No file requires outside of /etc, /bin, /sbin, /usr/bin,
     /usr/sbin.
[x]: SHOULD Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[x]: SHOULD Package functions as described.
[x]: SHOULD Latest version is packaged.
[x]: SHOULD Package does not include license text files separate from
     upstream.
[x]: SHOULD Patches link to upstream bugs/comments/lists or are otherwise
     justified.
[x]: SHOULD SourceX / PatchY prefixed with %{name}.
[x]: SHOULD SourceX is a working URL.
[-]: SHOULD Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: SHOULD Package should compile and build into binary rpms on all supported
     architectures.
[-]: SHOULD %check is present and all tests pass.
[x]: SHOULD Packages should try to preserve timestamps of original installed
     files.
[x]: SHOULD Spec use %global instead of %define.
Comment 14 Simone Caronni 2012-07-12 11:10:20 EDT
Issues:

[!]: MUST Package successfully compiles and builds into binary rpms on at
     least one supported primary architecture.
[!]: MUST All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
     Note: The package did not built BR could therefore not be checked or the
     package failed to build because of missing BR
[!]: SHOULD Reviewer should test that the package builds in mock.

Currently it doesn't build. Dependencies are ok, but the build does not succeed, see comment #12.


[!]: MUST If (and only if) the source package includes the text of the
     license(s) in its own file, then that file, containing the text of the
     license(s) for the package is included in %doc.
[!]: MUST License field in the package spec file matches the actual license.

There's no license file packaged in the %doc directive, but is correctly shipped inside the archive. Please add the following to the %files section:

%files
%doc AUTHORS.source_code.txt
%doc CHANGELOG.txt
%doc COPYRIGHT.source_code.txt
%doc gnu_gpl_3.0.txt
%doc README.txt

Release management and compiling docs are not useful inside the pre-compiled binary rpm we'll be installing.


[!]: MUST Package must own all directories that it creates.
[!]: MUST Package does not own files or directories owned by other packages.

The files section relies on files in the megaglest folder, by adding the megagles folder itself you ensure the directory is owned by the base megaglest package and the megaglest-data package can rely on it for installing. See the other review for the details.

%files
%{_datadir}/megaglest


[!]: MUST Sources used to build the package match the upstream source, as
     provided in the spec URL.
     http://fedoraproject.org/wiki/Packaging/SourceURL#Sourceforge.net

As per the megaglest-data review, the sourceforge url downloads an html file, according to the packaging guidelines sourceforge urls' should be explicitly declared as in the packaging guidelines.
Comment 15 Paulo Andrade 2012-07-13 09:38:10 EDT
(In reply to comment #12)
> This doesn't build for now in rawhide:
> 
> DEBUG: -- Found Lua library: /usr/lib64/liblua.so
> DEBUG: -- Found Lua headers: /usr/include
> DEBUG: CMake Error at
> /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:97 (MESSAGE):
> DEBUG:   Could NOT find JPEG (missing: JPEG_LIBRARY JPEG_INCLUDE_DIR)
> DEBUG: Call Stack (most recent call first):
> DEBUG:   /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:288
> (_FPHSA_FAILURE_MESSAGE)
> DEBUG:   /usr/share/cmake/Modules/FindJPEG.cmake:31
> (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
> DEBUG:   source/shared_lib/CMakeLists.txt:124 (FIND_PACKAGE)
> DEBUG: -- Configuring incomplete, errors occurred!
> DEBUG: RPM build errors:
> DEBUG: error: Bad exit status from /var/tmp/rpm-tmp.Sc90ca (%build)
> DEBUG:     Bad exit status from /var/tmp/rpm-tmp.Sc90ca (%build)
> DEBUG: Child return code was: 1
> 
> I will proceed with the review of all the other items in the meanwhile.

It should be missing some magic to find openjpeg headers or openjpeg cmake files.
It builds in my computer, so, I will just also add turbojpeg-devel as build requires.
Comment 16 Paulo Andrade 2012-07-13 09:43:22 EDT
Updated spec and srpm:

Spec URL: http://kenobi.mandriva.com/~pcpa/megaglest.spec
SRPM URL: http://kenobi.mandriva.com/~pcpa/megaglest-3.6.0.3-4.fc16.src.rpm
Comment 17 Paulo Andrade 2012-07-13 09:45:20 EDT
cut&paste fail...

Spec URL: http://fedorapeople.org/~pcpa/megaglest.spec
SRPM URL: http://fedorapeople.org/~pcpa/megaglest-3.6.0.3-4.fc16.src.rpm
Comment 18 Paulo Andrade 2012-07-13 09:50:36 EDT
sorry again, I blame today being Friday 13th (use fc18)

Spec URL: http://fedorapeople.org/~pcpa/megaglest.spec
SRPM URL: http://fedorapeople.org/~pcpa/megaglest-3.6.0.3-4.fc18.src.rpm
Comment 19 Simone Caronni 2012-07-13 12:20:32 EDT
Created attachment 598112 [details]
SPEC file patch
Comment 20 Simone Caronni 2012-07-13 12:22:10 EDT
Hello,

a couple of other issues regarding BuildRequires, I have attached a patch that corrects the following:


1) The jpeg dependency is wrong, it is not "turbojpeg-devel" but "libjpeg-turbo-devel", only this way the turbojpeg headers are installed.


2) The command "desktop-file-validate" is part of "desktop-file-utils, so that needs to be a requirement as well.


3) The %{_iconsdir} macro is not evaluated unless you install the "jpackage-utils", here is the failure of the build in koji, look at the bottom:

http://kojipkgs.fedoraproject.org//work/tasks/8581/4238581/build.log

So if you want to use macros such as %{_iconsdir}, "BuildRequires: jpackage-utils" is needed to make it sure that /etc/rpm/macros.jpackage surely exists.

However
- This package does not seem to be related to Java
- So adding "BR: jpackage-utils" just to define %{_iconsdir} is not desired
- Also almost all packages on Fedora install files under %{_datadir}/icons/

So replacing %{_iconsdir} with %{_datadir}/icons is much preferable.

A simple 's|%{_iconsdir}|%{_datadir}/icons|g' in the spec file fixes the issue.
Comment 21 Simone Caronni 2012-07-13 12:25:20 EDT
Koji scratch build with the patch applied:

http://koji.fedoraproject.org/koji/taskinfo?taskID=4238596

I have a request, I see miniupnpc and libircclient are both already built for f16 and f17, can you please push those two and megaglest, megaglest-data at least to f17 when the package is approved?

If you need help with updates/bodhi please let me know.

Thanks,
--Simone
Comment 22 Thomas Spura 2012-07-13 19:19:56 EDT
(In reply to comment #13)
> [x]: MUST Package is licensed with an open-source compatible license and
> meets
>      other legal requirements as defined in the legal section of Packaging
>      Guidelines.

I kind of doubt that...
Are you sure, that GPLv3+ as only license is enought?

Just as examble:
"MD5 Model License permission" -> "Doom 3's MD5 Viewer" from [1] is bundled into megaglest and some other files look fishy.

https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries

$ licensecheck -r . | grep -v UNKNOWN | grep -v "GPL (v3 or later)" | wc
     65     355    5635
Directly 65 files to check explicitely...

[1] http://tfc.duke.free.fr/
Comment 23 Paulo Andrade 2012-07-14 11:38:41 EDT
Thanks. Just opened all files in licensecheck output. (found it funny that numbers appear rounded, 350, 50, 10, but that is what I did count, maybe messed counting a bit a some point, but looked at every file)

Before all mess below, I do not think it is a duplicate of the MD5 viewer, but an implementation in C++, while the other you posted is in C.

After you check below :-) Is it ok to list license as "GPLv3+ and GPLv2+ and LGPLv2+ and BSD and MIT" ?


350 using this pattern:

//	You can redistribute this code and/or modify it under
//	the terms of the GNU General Public License as published
//	by the Free Software Foundation; either version 2 of the
//	License, or (at your option) any later version

50 using this pattern (in source/shared_lib/sources/streflop/libm subdir):
/*
 * ====================================================
 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
 *
 * Developed at SunPro, a Sun Microsystems, Inc. business.
 * Permission to use, copy, modify, and distribute this
 * software is freely granted, provided that this notice
 * is preserved.
 * ====================================================
 */

10 using this pattern:
    Code released according to the GNU Lesser General Public License

    Heavily relies on GNU Libm, itself depending on netlib fplibm, GNU MP, and IBM MP lib.
    Uses SoftFloat too.



part of source/shared_lib/sources/platform/macosx/NSFont_OpenGL.h
that licensecheck says UNKNOWN
[...]
 * This program is Copyright © 2002 Bryan L Blackburn.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * 1. Redistributions of source code must retain the above copyright notice,
 *    this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright notice,
 *    this list of conditions and the following disclaimer in the documentation
 *    and/or other materials provided with the distribution.
 * 3. Neither the names Bryan L Blackburn, Withay.com, nor the names of any
 *    contributors may be used to endorse or promote products derived from this
 *    software without specific prior written permission.
[...]


source/tools/merge_new_language_vars/merge_new_language_vars.pl:
# utility for megaglest, probably works for glest and GAE too
# merge new language variables from the main language (english) to all other language files
# by olaus, 20101222
# license: GPL v3

source/tools/convert_faction_xml2html/convert_faction_xml2html.pl:
# script to create HTML-pages and diagrams from the glest-factions techtree
# 20110120, bugs & feedback to olaus@rupp.de
# license: GPLv3 or newer


/**
 * File:    g2xml.c
 * Written: Jonathan Merritt <jmerritt@warpax.com>
 * 
 * Description:
 *   Converts G3D format files into an XML representation.
 *
 * Copyright (C) Jonathan Merritt 2005.
 * This file may be distributed under the terms of the GNU General Public
 * License.
 */

source/tools/glexemel/g3d.dtd:
<!--
	A DTD for describing an XML representation of G3D version 4 files.

	Created by Jonathan Merritt <jmerritt@warpax.com>
	Copyright (C) Jonathan Merritt 2005.

	This DTD may be distributed under the terms of the GNU General Public
	License.
-->

source/tools/glexemel/g3d_xml_exporter.py:
###########################################################################
# Glest Model / Texture / Animation Exporter
# for the game Glest that you can find at http://www.glest.org
# copyright 2005-2006 By Vincent Gadoury
# Started Date: December 18 2005  Put Public Decembre 20 2005
# Ver: 1.0        (Jan 30 2009)
# Distributed under the GNU PUBLIC LICENSE
# Based on g3d_support.py by Andreas Becker
#     and on glexemel by Jonathan Merritt
###########################################################################

source/tools/glexemel/g3dv4.h:
/**
 * File:   g3dv4.h
 *
 * Description:
 *   Data types used by the G3D format.
 *
 * This file is copied from portions of the Glest project:
 *   http://www.glest.org
 *
 * This file may be distributed under the terms of the GNU General Public
 * License.
 */

source/tools/glexemel/g3d_support_b260.py:
###########################################################################
# Glest Model / Texture / UV / Animation Importer and Exporter
# for the Game Glest that u can find http://www.glest.org
# copyright 2005 By Andreas Becker (seltsamuel@yahoo.de)
#
# 2011/05/25: v0.1 alpha1
# modified by William Zheng for Blender 2.57(loveheaven_zhengwei@hotmail.com)
#
# Started Date: 07 June 2005  Put Public 20 June 2005   
#  Distributed under the GNU PUBLIC LICENSE

source/tools/glexemel/g3d_support_b257.py:
source/tools/glexemel/g3d_support.py:
###########################################################################
# Glest Model / Texture / UV / Animation Importer and Exporter
# for the Game Glest that u can find http://www.glest.org
# copyright 2005 By Andreas Becker (seltsamuel@yahoo.de)
#
# Updated Jan 2011 by Mark Vejvoda (SoftCoder) to properly import animations
# from G3D into Blender
#
# Started Date: 07 June 2005  Put Public 20 June 2005   
# Ver: 0.01 Beta  Exporter ripped off because work in Progress
#  Distributed under the GNU PUBLIC LICENSE for www.megaglest.org and glest.org

source/tools/glexemel/xml2g.c:
/**
 * File:    xml2g.c
 * Written: Jonathan Merritt <jmerritt@warpax.com>
 *
 * Description:
 *   Converts G3Dv4 XML files into the binary representation used in the game.
 * Requirements:
 *   libxml2
 *
 * Copyright (C) Jonathan Merritt 2005.
 * This file may be distributed under the terms of the GNU General Public
 * License.
 */

[...]
Checked:

source/shared_lib/sources/platform/win32/glob.cpp: BSD (2 clause) 
source/shared_lib/sources/feathery_ftp/ftpCmds.c: GPL (v3 or later) 
source/shared_lib/sources/feathery_ftp/ftpRuntime.c: GPL (v3 or later) 
source/shared_lib/sources/feathery_ftp/ftpAccount.c: GPL (v3 or later) 
source/shared_lib/sources/feathery_ftp/ftpSession.c: GPL (v3 or later) 
source/shared_lib/sources/feathery_ftp/ftpLib.c: GPL (v3 or later) 
source/shared_lib/sources/feathery_ftp/ftpMessages.c: GPL (v3 or later) 
source/shared_lib/sources/feathery_ftp/ftpTargetPosix.c: GPL (v3 or later) 
source/shared_lib/sources/feathery_ftp/ftpTargetWin32.c: GPL (v3 or later) 
source/shared_lib/sources/feathery_ftp/ftpServer.c: GPL (v3 or later) 
source/shared_lib/sources/streflop/libm/flt-32/e_gammaf_r.cpp: LGPL (v2.1f or later) (with incorrect FSF address) 
source/shared_lib/sources/streflop/libm/flt-32/s_lrintf.cpp: LGPL (v2.1f or later) (with incorrect FSF address) 
source/shared_lib/sources/streflop/libm/flt-32/s_fpclassifyf.cpp: LGPL (v2.1f or later) (with incorrect FSF address)
source/shared_lib/sources/streflop/libm/flt-32/s_signbitf.cpp: LGPL (v2.1f or later) (with incorrect FSF address) 
source/shared_lib/sources/streflop/libm/flt-32/s_cbrtf.cpp: LGPL (v2.1f or later) (with incorrect FSF address) 
source/shared_lib/sources/streflop/libm/flt-32/s_sincosf.cpp: LGPL (v2.1f or later) (with incorrect FSF address) 
source/shared_lib/sources/streflop/libm/flt-32/s_llroundf.cpp: LGPL (v2.1f or later) (with incorrect FSF address) 
source/shared_lib/sources/streflop/libm/flt-32/e_exp2f.cpp: LGPL (v2.1f or later) (with incorrect FSF address) 
source/shared_lib/sources/streflop/libm/flt-32/s_llrintf.cpp: LGPL (v2.1f or later) (with incorrect FSF address) 
source/shared_lib/sources/streflop/libm/flt-32/s_truncf.cpp: LGPL (v2.1f or later) (with incorrect FSF address) 
source/shared_lib/sources/streflop/libm/flt-32/s_remquof.cpp: LGPL (v2.1f or later) (with incorrect FSF address) 
source/shared_lib/sources/streflop/libm/flt-32/s_roundf.cpp: LGPL (v2.1f or later) (with incorrect FSF address) 
source/shared_lib/sources/streflop/libm/flt-32/s_lroundf.cpp: LGPL (v2.1f or later) (with incorrect FSF address) 
source/shared_lib/sources/graphics/freetype-gl/texture-font.c: BSD (2 clause)
source/shared_lib/sources/graphics/freetype-gl/texture-atlas.c: BSD (2 clause)
source/shared_lib/sources/graphics/freetype-gl/vertex-buffer.c: BSD (2 clause)
source/shared_lib/sources/graphics/freetype-gl/edtaa3func.c: BSD (2 clause)
source/shared_lib/sources/graphics/freetype-gl/makefont.c: BSD (2 clause)
source/shared_lib/sources/graphics/freetype-gl/texture-glyph.c: BSD (2 clause)
source/shared_lib/sources/graphics/freetype-gl/vector.c: BSD (2 clause) 
source/shared_lib/sources/graphics/freetype-gl/font-manager.c: BSD (2 clause) 
source/shared_lib/sources/graphics/freetype-gl/markup.c: BSD (2 clause) 
source/shared_lib/sources/graphics/md5/Image.cpp: MIT/X11 (BSD like) 
source/shared_lib/sources/graphics/md5/GlErrors.cpp: MIT/X11 (BSD like) 
source/shared_lib/sources/graphics/md5/md5util.cpp: MIT/X11 (BSD like) 
source/shared_lib/sources/graphics/md5/ArbProgram.cpp: MIT/X11 (BSD like) 
source/shared_lib/sources/graphics/md5/Md5Model.cpp: MIT/X11 (BSD like) 
source/shared_lib/sources/graphics/md5/md5Texture.cpp: MIT/X11 (BSD like) 
source/shared_lib/sources/graphics/md5/ShaderManager.cpp: MIT/X11 (BSD like) 
source/shared_lib/sources/util/string_utils.cpp: GPL (v2 or later) 
source/shared_lib/include/platform/win32/types.h: BSD (2 clause) 
source/shared_lib/include/feathery_ftp/ftpMessages.h: GPL (v3 or later) 
source/shared_lib/include/feathery_ftp/ftpIfc.h: GPL (v3 or later) 
source/shared_lib/include/feathery_ftp/ftpTypes.h: GPL (v3 or later) 
source/shared_lib/include/feathery_ftp/ftp.h: GPL (v3 or later) 
source/shared_lib/include/feathery_ftp/ftpConfig.h: GPL (v3 or later) 
source/shared_lib/include/streflop/libm/flt-32/t_exp2f.h: LGPL (v2.1f or later) (with incorrect FSF address) 
source/shared_lib/include/streflop/libm/headers/features.h: LGPL (v2.1 or later) (with incorrect FSF address) 
source/shared_lib/include/streflop/libm/headers/ieee754.h: LGPL (v2.1 or later) (with incorrect FSF address) 
source/shared_lib/include/streflop/libm/headers/endian.h: LGPL (v2.1 or later) (with incorrect FSF address) 
source/shared_lib/include/streflop/libm/headers/math.h: *No copyright* GENERATED FILE
source/shared_lib/include/streflop/libm/headers/SMath.h: *No copyright* GENERATED FILE
source/shared_lib/include/streflop/libm/headers/wchar.h: LGPL (v2.1 or later) (with incorrect FSF address) 
source/shared_lib/include/graphics/freetype-gl/edtaa3func.h: BSD (2 clause) 
source/shared_lib/include/graphics/freetype-gl/texture-glyph.h: BSD (2 clause) 
source/shared_lib/include/graphics/freetype-gl/vector.h: BSD (2 clause) 
source/shared_lib/include/graphics/freetype-gl/texture-font.h: BSD (2 clause) 
source/shared_lib/include/graphics/freetype-gl/vertex-buffer.h: BSD (2 clause) 
source/shared_lib/include/graphics/freetype-gl/texture-atlas.h: BSD (2 clause) 
source/shared_lib/include/graphics/freetype-gl/font-manager.h: BSD (2 clause) 
source/shared_lib/include/graphics/freetype-gl/markup.h: BSD (2 clause) 
source/shared_lib/include/graphics/md5/ShaderManager.h: MIT/X11 (BSD like) 
source/shared_lib/include/graphics/md5/DataManager.h: MIT/X11 (BSD like) 
source/shared_lib/include/graphics/md5/GlErrors.h: MIT/X11 (BSD like) 
source/shared_lib/include/graphics/md5/Image.h: MIT/X11 (BSD like) 
source/shared_lib/include/graphics/md5/TextureManager.h: MIT/X11 (BSD like) 
source/shared_lib/include/graphics/md5/md5Texture.h: MIT/X11 (BSD like) 
source/shared_lib/include/graphics/md5/Mathlib.h: MIT/X11 (BSD like) 
source/shared_lib/include/graphics/md5/md5util.h: MIT/X11 (BSD like) 
source/shared_lib/include/graphics/md5/ArbProgram.h: MIT/X11 (BSD like) 
source/shared_lib/include/graphics/md5/Md5Model.h: MIT/X11 (BSD like) 
source/shared_lib/include/util/string_utils.h: GPL (v2 or later)

[...]
Special cases?:
source/shared_lib/sources/streflop/Random.cpp: BSD (2 clause) 
but license specified twice, and this comment in one section:
...
//////////////////////////////////////////////////////////////////////
// Code stolen and adapted from mt19937ar.c
//////////////////////////////////////////////////////////////////////

/*
   A C-program for MT19937, with initialization improved 2002/1/26.
   Coded by Takuji Nishimura and Makoto Matsumoto.

   Before using, initialize the state by using init_genrand(seed)  
   or init_by_array(init_key, key_length).

   Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
   All rights reserved.                          
   Copyright (C) 2005, Mutsuo Saito,
   All rights reserved.                          
...
#else

//////////////////////////////////////////////////////////////////////
// End of code adapted from mt19937ar.c
// Now adapt code from the 64-bit version in mt19937-64.c
//////////////////////////////////////////////////////////////////////

/* 
   A C-program for MT19937-64 (2004/9/29 version).
   Coded by Takuji Nishimura and Makoto Matsumoto.

   This is a 64-bit version of Mersenne Twister pseudorandom number
   generator.

   Before using, initialize the state by using init_genrand64(seed)  
   or init_by_array64(init_key, key_length).

   Copyright (C) 2004, Makoto Matsumoto and Takuji Nishimura,
   All rights reserved.                          


...
source/shared_lib/sources/streflop/libm/flt-32/e_asinf.cpp: LGPL (v2.1f or later) (with incorrect FSF address) 
actually, two licenses in the file, also include the Sun one:
/* See the import.pl script for potential modifications */
/* e_asinf.c -- Simple version of e_asin.c.
 * Conversion to Simple by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
 */

/*
 * ====================================================
 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
 *
 * Developed at SunPro, a Sun Microsystems, Inc. business.
 * Permission to use, copy, modify, and distribute this
 * software is freely granted, provided that this notice
 * is preserved.
 * ====================================================
 */

/*
  Modifications for single precision expansion are 
  Copyright (C) 2001 Stephen L. Moshier <moshier@na-net.ornl.gov>
  and are incorporated herein by permission of the author.  The author 
  reserves the right to distribute this material elsewhere under different
  copying permissions.  These modifications are distributed here under 
  the following terms:

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1f of the License, or (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA */


...
source/shared_lib/include/streflop/streflop_cond.h:
/* Copyright (C) 2008 Tobi Vollebregt */

/* Conditionally include streflop depending on STREFLOP_* #defines:
   If one of those is present, #include "streflop.h", otherwise #include <math.h>

   When faced with ambiguous call errors with e.g. fabs, use math::function.
   Add it to math namespace if it doesn't exist there yet. */

...
source/shared_lib/include/streflop/streflopC.h:
/* Copyright (C) 2009 Tobi Vollebregt */

/*
	Serves as a C compatible interface to the most basic streflop functions.
*/


...
source/shared_lib/include/util/utf8.h: GENERATED FILE
source/shared_lib/include/util/utf8/unchecked.h: GENERATED FILE
source/shared_lib/include/util/utf8/core.h: GENERATED FILE
source/shared_lib/include/util/utf8/checked.h: GENERATED FILE
not generated files, should be BSDish or MIT

// Copyright 2006 Nemanja Trifunovic

/*
Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:

The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
*/



[...]
No license:
source/shared_lib/sources/streflop/SMath.cpp:
source/shared_lib/sources/streflop/streflopC.cpp:
Small file, related to the ones derived from glibc libm, most with BSDish license. It includes streflop.h, that states:
/*
    streflop: STandalone REproducible FLOating-Point
    Nicolas Brodu, 2006
    Code released according to the GNU Lesser General Public License

    Heavily relies on GNU Libm, itself depending on netlib fplibm, GNU MP, and IBM MP lib.
    Uses SoftFloat too.

    Please read the history and copyright information in the documentation provided with the source code
*/
In the sources there is a LGPL.txt (version 2.1)

source/shared_lib/sources/streflop/libm/w_expf.c:
/* The original libm wrapper may call the double implementation
   and declares double constants.
   This wrapper purely wraps the float version
*/

source/shared_lib/sources/streflop/libm/flt-32/w_expf.cpp:
/* See the import.pl script for potential modifications */
/* The original libm wrapper may call the Double implementation
   and declares Double constants.
   This wrapper purely wraps the Simple version
*/

source/shared_lib/sources/streflop/libm/flt-32/s_isinff.cpp:
/* See the import.pl script for potential modifications */
/*
 * Written by J.T. Conklin <jtc@netbsd.org>.
 * Public domain.
 */


these are windows port specific, and no license in source:
source/shared_lib/sources/graphics/d3d9/text_renderer_d3d9.cpp: *No copyright* UNKNOWN
source/shared_lib/sources/graphics/d3d9/context_d3d9.cpp: *No copyright* UNKNOWN
source/shared_lib/sources/graphics/d3d9/shader_d3d9.cpp: *No copyright* UNKNOWN
source/shared_lib/sources/graphics/d3d9/d3d9_util.cpp: *No copyright* UNKNOWN
source/shared_lib/sources/graphics/d3d9/model_renderer_d3d9.cpp: *No copyright* UNKNOWN
source/shared_lib/sources/graphics/d3d9/texture_d3d9.cpp: *No copyright* UNKNOWN
source/shared_lib/sources/graphics/d3d9/font_d3d9.cpp: *No copyright* UNKNOWN
source/shared_lib/include/graphics/d3d9/shader_d3d9.h: *No copyright* UNKNOWN
source/shared_lib/include/graphics/d3d9/d3d9_util.h: *No copyright* UNKNOWN
source/shared_lib/include/graphics/d3d9/model_renderer_d3d9.h: *No copyright* UNKNOWN
source/shared_lib/include/graphics/d3d9/font_d3d9.h: *No copyright* UNKNOWN
source/shared_lib/include/graphics/d3d9/text_renderer_d3d9.h: *No copyright* UNKNOWN
source/shared_lib/include/graphics/d3d9/texture_d3d9.h: *No copyright* UNKNOWN
source/shared_lib/include/graphics/d3d9/context_d3d9.h: *No copyright* UNKNOWN
source/shared_lib/include/graphics/d3d9/graphics_factory_d3d9.h: *No copyright* UNKNOWN


source/shared_lib/sources/graphics/buffer.cpp:
source/shared_lib/include/graphics/buffer.h:
following 2 includes, leak_dumper.h has the generic GPLv2+ license.

source/shared_lib/sources/graphics/FileReader.cpp:
---%<---
#include "FileReader.h"

namespace Shared {


}
---%<---
FileReader.h, where all the stuff is actually implemented, has the generic GPLv2+ license.


source/shared_lib/sources/util/randomgen.cpp:
source/shared_lib/include/platform/sdl/noimpl.h:
includes system headers and leak_dumper.h with generic GPLv2+ license.

source/shared_lib/include/graphics/gl2/graphics_factory_gl2.h:
source/shared_lib/include/graphics/gl/graphics_factory_gl2.h:
headers included are under the generic GPLv2+ license.


source/glest_game/main/macosx_main.h: (not built, macos specific)
// SDLMain.m - main entry point for our Cocoa-ized SDL app
//   Initial Version: Copyright (C) Darrell Walisser <dwaliss1@purdue.edu>
//   Non-NIB-Code & other changes: Copyright (C) Max Horn <max@quendi.de>
//
//   Feel free to customize this file to suit your needs
//

source/tools/convert_faction_xml2html/xpath.pl:
source/tools/convert_faction_xml2html/setupDeps.sh:
source/tools/support/sysinfo.sh:
source/masterserver/showServersForGlest.php:
source/masterserver/config.php:
source/masterserver/showTechsForGlest.php:
source/masterserver/showMapsForGlest.php:
source/masterserver/index.php:
source/masterserver/showTilesetsForGlest.php:
source/masterserver/cleanUpServerList.php:
source/masterserver/addServerInfo.php:
source/masterserver/functions.php:
source/masterserver/showServersJson.php:
source/masterserver/showRecentServers.php:
source/masterserver/showScenariosForGlest.php:
source/masterserver/showServers.php:
very small, no license, asume patch other script files with gplv2+ license.
Comment 24 Paulo Andrade 2012-07-19 12:22:34 EDT
New package addressing Simone review and updating license tag:
Spec URL: http://fedorapeople.org/~pcpa/megaglest.spec
SRPM URL: http://fedorapeople.org/~pcpa/megaglest-3.6.0.3-5.fc18.src.rpm
Comment 25 Simone Caronni 2012-07-23 08:22:51 EDT
Package looks good for me.
Has someone anything else to say regarding licensing?
Comment 26 Gwyn Ciesla 2012-07-23 12:49:43 EDT
I have some concerns.

First, there's a mix of various versions of LPGL and GPL, among others.  These are not all necessarily compatible.  See:

http://fedoraproject.org/wiki/Licensing#SoftwareLicenses

and

http://fedoraproject.org/wiki/Licensing#GPLCompatibilityMatrix

There's the Doom3 md5 issue.

By my reading, you can't include mt19937ar.c.

Additionally, there are lots of files with no license information.  In the presence of so many licenses, what applies to what?

I'm flagging FE-LEGAL for additional review.

Any of these is enough to block the package if now resolved completely.

Technical guidelines are very important, but legal ones are even more so, and it's important to be as thourough as possible.  Flagging FE-LEGAL will get someone with more expertise with licensing to have a look, and is always educational.
Comment 27 Simone Caronni 2012-07-24 02:28:52 EDT
Ok! Thanks.
Comment 28 Paulo Andrade 2012-07-24 07:40:20 EDT
(In reply to comment #26)
> I have some concerns.
> 
> First, there's a mix of various versions of LPGL and GPL, among others. 
> These are not all necessarily compatible.  See:
> 
> http://fedoraproject.org/wiki/Licensing#SoftwareLicenses
> 
> and
> 
> http://fedoraproject.org/wiki/Licensing#GPLCompatibilityMatrix
> 
> There's the Doom3 md5 issue.
> 
> By my reading, you can't include mt19937ar.c.

  I think you mean Random.cpp, there is some license analysis at
https://launchpad.net/ubuntu/precise/+source/megaglest/+copyright

> Additionally, there are lots of files with no license information.  In the
> presence of so many licenses, what applies to what?
> 
> I'm flagging FE-LEGAL for additional review.
> 
> Any of these is enough to block the package if now resolved completely.
> 
> Technical guidelines are very important, but legal ones are even more so,
> and it's important to be as thourough as possible.  Flagging FE-LEGAL will
> get someone with more expertise with licensing to have a look, and is always
> educational.
Comment 29 Tom "spot" Callaway 2012-07-31 11:29:33 EDT
Summary:

All the licenses found inside MegaGlest are compatible, because they all are either permissive (BSD, MIT, zlib), contain an "or any later version clause" (GPLv2+, GPLv3+), or are unversioned and get the "or any later version clause" by default (LGPLv2+).

License tag on this could either be the simplified result of the combined licenses:

# glexemel standalone tool is GPL+
# Other standalone tools are GPLv3+
# Game code is a combination of GPLv2+, GPLv3+, BSD, MIT, LGPLv2+, and
# Copyright only
License: GPLv3+ and GPL+

OR, if you want to be pedantic, the full tag would be:

# glexemel standalone tool is GPL+
# Other standalone tools are GPLv3+
# Game code is a combination of GPLv2+, GPLv3+, BSD, MIT, LGPLv2+, and 
# Copyright only
License: (GPLv2+ and GPLv3+ and LGPLv2+ and BSD and MIT and Copyright only) and GPLv3+ and GPL+

Either is correct, either is acceptable in Fedora. (I prefer the first one)

You should ask upstream to consider marking the copyright and license inside the unmarked files that I found, they do an otherwise excellent job of this.

Lifting FE-Legal.

== Detailed License Audit ==

Package: MegaGlest 3.6.0.3

Main license assertion is GPLv3+ (COPYRIGHT.source_code.txt)

zlib files (unmarked, but clearly from libSDL)
NOTE: These files are only used on OSX, so they do not affect the Fedora license tag.
=======
./source/glest_game/main/macosx_main.h
./source/glest_game/main/macosx_main.m

Unmarked PHP and SQL files from glest/megaglest, safe to assume GPLv3+
=======
./source/masterserver/*

Files marked as BSD (linked into game code)
=======
./source/shared_lib/sources/graphics/freetype-gl/*.c
./source/shared_lib/sources/platform/macosx/NSFont_OpenGL.h (OSX ONLY)
./source/shared_lib/sources/platform/macosx/NSFont_OpenGL.m (OSX ONLY)
./source/shared_lib/sources/platform/win32/glob.cpp (WINDOWS ONLY)

Files marked as Copyright Only (extremely permissive licensing, linked into game code)
=======
./source/shared_lib/sources/streflop/libm/*

Files marked as LGPLv2+ and BSD (linked into game code)
=======
./source/shared_lib/sources/streflop/Random.cpp

Unmarked files, safe to treat as LGPLv2+ (linked into game code, see streflop/README.txt)
=======
./source/shared_lib/sources/streflop/SMath.cpp
./source/shared_lib/sources/streflop/streflopC.cpp


Files marked as MIT (linked into game code)
=======
./source/shared_lib/sources/graphics/md5/*.cpp

Files marked as GPL+ (but only in glexemel tool, not compiled into base game):
=======
./source/tools/glexemel/g2xml.c
./source/tools/glexemel/g3d_support.py
./source/tools/glexemel/g3d_support_b257.py
./source/tools/glexemel/g3d_support_b260.py
./source/tools/glexemel/g3dv4.h
./source/tools/glexemel/g3d_xml_exporter.py
./source/tools/glexemel/xml2g.c

Files marked as GPLv2+
=======
./source/configurator/configuration.cpp
./source/configurator/configuration.h
./source/configurator/main.cpp
./source/configurator/main.h
./source/g3d_viewer/main.cpp
./source/g3d_viewer/main.h
./source/g3d_viewer/renderer.cpp
./source/g3d_viewer/renderer.h
./source/glest_game/ai/ai.cpp
./source/glest_game/ai/ai.h
./source/glest_game/ai/ai_interface.cpp
./source/glest_game/ai/ai_interface.h
./source/glest_game/ai/ai_rule.cpp
./source/glest_game/ai/ai_rule.h
./source/glest_game/ai/annotated_map.cpp
./source/glest_game/ai/annotated_map.h
./source/glest_game/ai/cartographer.cpp
./source/glest_game/ai/cartographer.h
./source/glest_game/ai/cluster_map.cpp
./source/glest_game/ai/cluster_map.h
./source/glest_game/ai/influence_map.h
./source/glest_game/ai/node_pool.cpp
./source/glest_game/ai/node_pool.h
./source/glest_game/ai/path_finder.cpp
./source/glest_game/ai/path_finder.h
./source/glest_game/ai/route_planner.cpp
./source/glest_game/ai/route_planner.h
./source/glest_game/ai/search_engine.h
./source/glest_game/facilities/auto_test.cpp
./source/glest_game/facilities/auto_test.h
./source/glest_game/facilities/components.cpp
./source/glest_game/facilities/components.h
./source/glest_game/facilities/game_util.cpp
./source/glest_game/facilities/game_util.h
./source/glest_game/facilities/logger.cpp
./source/glest_game/facilities/logger.h
./source/glest_game/facilities/pos_iterator.cpp
./source/glest_game/facilities/pos_iterator.h
./source/glest_game/game/chat_manager.cpp
./source/glest_game/game/chat_manager.h
./source/glest_game/game/commander.cpp
./source/glest_game/game/commander.h
./source/glest_game/game/console.cpp
./source/glest_game/game/console.h
./source/glest_game/game/game_camera.cpp
./source/glest_game/game/game_camera.h
./source/glest_game/game/game_constants.h
./source/glest_game/game/game.cpp
./source/glest_game/game/game.h
./source/glest_game/game/game_settings.h
./source/glest_game/game/script_manager.cpp
./source/glest_game/game/script_manager.h
./source/glest_game/game/stats.cpp
./source/glest_game/game/stats.h
./source/glest_game/global/config.cpp
./source/glest_game/global/config.h
./source/glest_game/global/core_data.cpp
./source/glest_game/global/core_data.h
./source/glest_game/global/lang.cpp
./source/glest_game/global/lang.h
./source/glest_game/global/metrics.cpp
./source/glest_game/global/metrics.h
./source/glest_game/graphics/debug_renderer.cpp
./source/glest_game/graphics/debug_renderer.h
./source/glest_game/graphics/particle_type.cpp
./source/glest_game/graphics/particle_type.h
./source/glest_game/graphics/renderer.cpp
./source/glest_game/graphics/renderer.h
./source/glest_game/graphics/unit_particle_type.cpp
./source/glest_game/graphics/unit_particle_type.h
./source/glest_game/gui/display.cpp
./source/glest_game/gui/display.h
./source/glest_game/gui/gui.cpp
./source/glest_game/gui/gui.h
./source/glest_game/gui/selection.cpp
./source/glest_game/gui/selection.h
./source/glest_game/main/battle_end.cpp
./source/glest_game/main/battle_end.h
./source/glest_game/main/intro.cpp
./source/glest_game/main/intro.h
./source/glest_game/main/main.cpp
./source/glest_game/main/main.h
./source/glest_game/main/program.cpp
./source/glest_game/main/program.h
./source/glest_game/menu/main_menu.cpp
./source/glest_game/menu/main_menu.h
./source/glest_game/menu/menu_background.cpp
./source/glest_game/menu/menu_background.h
./source/glest_game/menu/menu_state_about.cpp
./source/glest_game/menu/menu_state_about.h
./source/glest_game/menu/menu_state_connected_game.cpp
./source/glest_game/menu/menu_state_connected_game.h
./source/glest_game/menu/menu_state_custom_game.cpp
./source/glest_game/menu/menu_state_custom_game.h
./source/glest_game/menu/menu_state_graphic_info.cpp
./source/glest_game/menu/menu_state_graphic_info.h
./source/glest_game/menu/menu_state_join_game.cpp
./source/glest_game/menu/menu_state_join_game.h
./source/glest_game/menu/menu_state_keysetup.cpp
./source/glest_game/menu/menu_state_keysetup.h
./source/glest_game/menu/menu_state_masterserver.cpp
./source/glest_game/menu/menu_state_masterserver.h
./source/glest_game/menu/menu_state_mods.cpp
./source/glest_game/menu/menu_state_mods.h
./source/glest_game/menu/menu_state_new_game.cpp
./source/glest_game/menu/menu_state_new_game.h
./source/glest_game/menu/menu_state_options.cpp
./source/glest_game/menu/menu_state_options.h
./source/glest_game/menu/menu_state_root.cpp
./source/glest_game/menu/menu_state_root.h
./source/glest_game/menu/menu_state_scenario.cpp
./source/glest_game/menu/menu_state_scenario.h
./source/glest_game/menu/server_line.cpp
./source/glest_game/menu/server_line.h
./source/glest_game/network/client_interface.cpp
./source/glest_game/network/client_interface.h
./source/glest_game/network/connection_slot.cpp
./source/glest_game/network/connection_slot.h
./source/glest_game/network/masterserver_info.h
./source/glest_game/network/network_interface.cpp
./source/glest_game/network/network_interface.h
./source/glest_game/network/network_manager.cpp
./source/glest_game/network/network_manager.h
./source/glest_game/network/network_message.cpp
./source/glest_game/network/network_message.h
./source/glest_game/network/network_types.cpp
./source/glest_game/network/network_types.h
./source/glest_game/network/server_interface.cpp
./source/glest_game/network/server_interface.h
./source/glest_game/sound/sound_container.cpp
./source/glest_game/sound/sound_container.h
./source/glest_game/sound/sound_renderer.cpp
./source/glest_game/sound/sound_renderer.h
./source/glest_game/type_instances/command.cpp
./source/glest_game/type_instances/command.h
./source/glest_game/type_instances/faction.cpp
./source/glest_game/type_instances/faction.h
./source/glest_game/type_instances/object.cpp
./source/glest_game/type_instances/object.h
./source/glest_game/type_instances/resource.cpp
./source/glest_game/type_instances/resource.h
./source/glest_game/type_instances/unit.cpp
./source/glest_game/type_instances/unit.h
./source/glest_game/type_instances/upgrade.cpp
./source/glest_game/type_instances/upgrade.h
./source/glest_game/types/command_type.cpp
./source/glest_game/types/command_type.h
./source/glest_game/types/damage_multiplier.cpp
./source/glest_game/types/damage_multiplier.h
./source/glest_game/types/element_type.cpp
./source/glest_game/types/element_type.h
./source/glest_game/types/faction_type.cpp
./source/glest_game/types/faction_type.h
./source/glest_game/types/object_type.cpp
./source/glest_game/types/object_type.h
./source/glest_game/types/resource_type.cpp
./source/glest_game/types/resource_type.h
./source/glest_game/types/skill_type.cpp
./source/glest_game/types/skill_type.h
./source/glest_game/types/tech_tree.cpp
./source/glest_game/types/tech_tree.h
./source/glest_game/types/tileset_model_type.cpp
./source/glest_game/types/tileset_model_type.h
./source/glest_game/types/unit_type.cpp
./source/glest_game/types/unit_type.h
./source/glest_game/types/upgrade_type.cpp
./source/glest_game/types/upgrade_type.h
./source/glest_game/world/map.cpp
./source/glest_game/world/map.h
./source/glest_game/world/minimap.cpp
./source/glest_game/world/minimap.h
./source/glest_game/world/scenario.cpp
./source/glest_game/world/scenario.h
./source/glest_game/world/surface_atlas.cpp
./source/glest_game/world/surface_atlas.h
./source/glest_game/world/tileset.cpp
./source/glest_game/world/tileset.h
./source/glest_game/world/time_flow.cpp
./source/glest_game/world/time_flow.h
./source/glest_game/world/unit_updater.cpp
./source/glest_game/world/unit_updater.h
./source/glest_game/world/water_effects.cpp
./source/glest_game/world/water_effects.h
./source/glest_game/world/world.cpp
./source/glest_game/world/world.h
./source/glest_map_editor/main.cpp
./source/glest_map_editor/main.h
./source/glest_map_editor/program.cpp
./source/glest_map_editor/program.h
./source/glest_map_editor/renderer.cpp
./source/glest_map_editor/renderer.h
./source/shared_lib/sources/graphics/BMPReader.cpp
./source/shared_lib/sources/graphics/camera.cpp
./source/shared_lib/sources/graphics/context.cpp
./source/shared_lib/sources/graphics/font.cpp
./source/shared_lib/sources/graphics/font_manager.cpp
./source/shared_lib/sources/graphics/font_text.cpp
./source/shared_lib/sources/graphics/gl2/shader_gl.cpp
./source/shared_lib/sources/graphics/gl/base_renderer.cpp
./source/shared_lib/sources/graphics/gl/context_gl.cpp
./source/shared_lib/sources/graphics/gl/font_gl.cpp
./source/shared_lib/sources/graphics/gl/font_text_freetypegl.cpp
./source/shared_lib/sources/graphics/gl/font_textFTGL.cpp
./source/shared_lib/sources/graphics/gl/model_renderer_gl.cpp
./source/shared_lib/sources/graphics/gl/opengl.cpp
./source/shared_lib/sources/graphics/gl/particle_renderer_gl.cpp
./source/shared_lib/sources/graphics/gl/shader_gl.cpp
./source/shared_lib/sources/graphics/gl/text_renderer_gl.cpp
./source/shared_lib/sources/graphics/gl/texture_gl.cpp
./source/shared_lib/sources/graphics/graphics_interface.cpp
./source/shared_lib/sources/graphics/ImageReaders.cpp
./source/shared_lib/sources/graphics/interpolation.cpp
./source/shared_lib/sources/graphics/JPGReader.cpp
./source/shared_lib/sources/graphics/model.cpp
./source/shared_lib/sources/graphics/model_manager.cpp
./source/shared_lib/sources/graphics/particle.cpp
./source/shared_lib/sources/graphics/pixmap.cpp
./source/shared_lib/sources/graphics/PNGReader.cpp
./source/shared_lib/sources/graphics/quaternion.cpp
./source/shared_lib/sources/graphics/shader.cpp
./source/shared_lib/sources/graphics/shader_manager.cpp
./source/shared_lib/sources/graphics/texture.cpp
./source/shared_lib/sources/graphics/texture_manager.cpp
./source/shared_lib/sources/graphics/TGAReader.cpp
./source/shared_lib/sources/lua/lua_script.cpp
./source/shared_lib/sources/map/map_preview.cpp
./source/shared_lib/sources/platform/common/base_thread.cpp
./source/shared_lib/sources/platform/common/cache_manager.cpp
./source/shared_lib/sources/platform/common/platform_common.cpp
./source/shared_lib/sources/platform/common/simple_threads.cpp
./source/shared_lib/sources/platform/macosx/gl_wrap.mm (OSX ONLY)
./source/shared_lib/sources/platform/posix/ircclient.cpp
./source/shared_lib/sources/platform/posix/miniftpclient.cpp
./source/shared_lib/sources/platform/posix/miniftpserver.cpp
./source/shared_lib/sources/platform/posix/socket.cpp
./source/shared_lib/sources/platform/sdl/factory_repository.cpp
./source/shared_lib/sources/platform/sdl/gl_wrap.cpp
./source/shared_lib/sources/platform/sdl/platform_util.cpp
./source/shared_lib/sources/platform/sdl/thread.cpp
./source/shared_lib/sources/platform/sdl/window.cpp
./source/shared_lib/sources/platform/sdl/window_gl.cpp
./source/shared_lib/sources/platform/unix/gl_wrap.cpp
./source/shared_lib/sources/platform/win32/factory_repository.cpp
./source/shared_lib/sources/platform/win32/gl_wrap_billy.cpp
./source/shared_lib/sources/platform/win32/platform_util.cpp
./source/shared_lib/sources/sound/ds8/sound_player_ds8.cpp
./source/shared_lib/sources/sound/openal/sound_player_openal.cpp
./source/shared_lib/sources/sound/sound.cpp
./source/shared_lib/sources/sound/sound_file_loader.cpp
./source/shared_lib/sources/sound/sound_interface.cpp
./source/shared_lib/sources/sound/sound_player.cpp
./source/shared_lib/sources/util/checksum.cpp
./source/shared_lib/sources/util/conversion.cpp
./source/shared_lib/sources/util/leak_dumper.cpp
./source/shared_lib/sources/util/profiler.cpp
./source/shared_lib/sources/util/properties.cpp
./source/shared_lib/sources/util/string_utils.cpp
./source/shared_lib/sources/util/util.cpp
./source/shared_lib/sources/xml/xml_parser.cpp

Files marked as GPLv3+ (not linked to game code but included)
==========
./source/tools/convert_faction_xml2html/*.pl

Files marked as GPLv3+ (linked to game code)
==========
./source/shared_lib/sources/feathery_ftp/*.c

Unmarked files (linked to game code), but safe to assume they are under base megaglest license (GPLv3+)
==========
./source/shared_lib/sources/graphics/buffer.cpp
./source/shared_lib/sources/graphics/d3d9/context_d3d9.cpp (WINDOWS ONLY)
./source/shared_lib/sources/graphics/d3d9/d3d9_util.cpp (WINDOWS ONLY)
./source/shared_lib/sources/graphics/d3d9/font_d3d9.cpp (WINDOWS ONLY)
./source/shared_lib/sources/graphics/d3d9/model_renderer_d3d9.cpp (WINDOWS ONLY)
./source/shared_lib/sources/graphics/d3d9/shader_d3d9.cpp (WINDOWS ONLY)
./source/shared_lib/sources/graphics/d3d9/text_renderer_d3d9.cpp (WINDOWS ONLY)
./source/shared_lib/sources/graphics/d3d9/texture_d3d9.cpp (WINDOWS ONLY)
./source/shared_lib/sources/graphics/FileReader.cpp
./source/shared_lib/sources/util/randomgen.cpp
./source/tools/support/sysinfo.sh
Comment 30 Gwyn Ciesla 2012-07-31 11:34:23 EDT
Thanks spot!
Comment 31 Paulo Andrade 2012-07-31 11:45:23 EDT
Many thanks for the audit. I will contact upstream about the
suggestion; I did exchange several emails with a main developer
some months ago when I made the initial review request and they
are very friendly and want to help in getting it packaged.
Comment 32 Paulo Andrade 2012-07-31 11:48:07 EDT
New Package SCM Request
=======================
Package Name: megaglest
Short Description: Open Source 3d real time strategy game
Owners: pcpa
Branches: f16 f17
InitialCC: pcpa
Comment 33 Gwyn Ciesla 2012-07-31 11:52:51 EDT
Simone, can you confirm your approval post-legal review?
Comment 34 Simone Caronni 2012-08-02 06:20:09 EDT
Woah.

I haven't seen an updated spec file with one of the 2 suggested license clarifications but I'm sure you will add them in git.

(In reply to comment #26)
> Technical guidelines are very important, but legal ones are even more so,
> and it's important to be as thourough as possible.  Flagging FE-LEGAL will
> get someone with more expertise with licensing to have a look, and is always
> educational.

Definitely.

Package approved.

Thanks,
--Simone
Comment 35 Paulo Andrade 2012-08-02 10:00:12 EDT
(In reply to comment #34)
> Woah.
> 
> I haven't seen an updated spec file with one of the 2 suggested license
> clarifications but I'm sure you will add them in git.

  Yes, my plan was to update it in git. Since you already expect it,
I believe no need to upload a newer package :-)
Comment 36 Paulo Andrade 2012-08-02 10:01:12 EDT
New Package SCM Request
=======================
Package Name: megaglest
Short Description: Open Source 3d real time strategy game
Owners: pcpa
Branches: f16 f17
InitialCC: pcpa
Comment 37 Gwyn Ciesla 2012-08-02 10:04:00 EDT
Git done (by process-git-requests).
Comment 38 Fedora Update System 2012-08-06 19:46:06 EDT
megaglest-3.6.0.3-5.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/megaglest-3.6.0.3-5.fc17
Comment 39 Fedora Update System 2012-08-06 19:47:12 EDT
megaglest-3.6.0.3-5.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/megaglest-3.6.0.3-5.fc16
Comment 40 Fedora Update System 2012-08-09 19:28:40 EDT
megaglest-3.6.0.3-5.fc16 has been pushed to the Fedora 16 testing repository.
Comment 41 Fedora Update System 2012-08-18 20:26:43 EDT
megaglest-3.6.0.3-5.fc16 has been pushed to the Fedora 16 stable repository.
Comment 42 Fedora Update System 2012-08-18 20:27:52 EDT
megaglest-3.6.0.3-5.fc17 has been pushed to the Fedora 17 stable repository.
Comment 43 Fedora Update System 2012-11-23 17:31:12 EST
megaglest-3.7.1-1.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/megaglest-3.7.1-1.fc16
Comment 44 Fedora Update System 2012-11-23 17:52:53 EST
megaglest-3.7.1-1.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/megaglest-3.7.1-1.fc17
Comment 45 Fedora Update System 2012-11-23 18:19:19 EST
megaglest-3.7.1-1.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/megaglest-3.7.1-1.fc18
Comment 46 Fedora Update System 2012-11-29 01:36:24 EST
megaglest-3.7.1-1.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 47 Fedora Update System 2012-12-03 23:52:40 EST
megaglest-3.7.1-1.fc16 has been pushed to the Fedora 16 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 48 Fedora Update System 2012-12-03 23:54:31 EST
megaglest-3.7.1-1.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.