Bug 818401 - Review Request: 0ad - Cross-Platform RTS Game of Ancient Warfare
Review Request: 0ad - Cross-Platform RTS Game of Ancient Warfare
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
unspecified Severity medium
: ---
: ---
Assigned To: Miroslav Suchý
Fedora Extras Quality Assurance
:
Depends On:
Blocks: FE-Legal 823102
  Show dependency treegraph
 
Reported: 2012-05-02 21:22 EDT by Paulo Andrade
Modified: 2014-03-15 18:51 EDT (History)
9 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-10-23 15:31:24 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
msuchy: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Paulo Andrade 2012-05-02 21:22:01 EDT
Spec URL: http://kenobi.mandriva.com/~pcpa/0ad.spec
data files Spec URL: http://kenobi.mandriva.com/~pcpa/0ad-data.spec
SRPM URL: http://kenobi.mandriva.com/~pcpa/0ad-r11339-1.fc16.src.rpm
Description: 0 A.D. (pronounced "zero ey-dee") is a free, open-source, cross-platform
real-time strategy (RTS) game of ancient warfare. In short, it is a
historically-based war/economy game that allows players to relive or rewrite
the history of Western civilizations, focusing on the years between 500 B.C.
and 500 A.D. The project is highly ambitious, involving state-of-the-art 3D
graphics, detailed artwork, sound, and a flexible and powerful custom-built
game engine.

The game has been in development by Wildfire Games (WFG), a group of volunteer,
hobbyist game developers, since 2001.

---
I did not upload the data files srpm because it is too large, and build
is basically just uncompress of the tarball.

I made a koji --scratch build and it finished without errors.

I also confirmed the package works. I won as Romans against Iberians
in the default single user game setup :-)

As stated in the spec files, it is based on instructions at
http://trac.wildfiregames.com/wiki/BuildInstructions#Linux and the
specs are very close to
https://build.opensuse.org/package/files?package=0ad&project=games
and
https://build.opensuse.org/package/files?package=0ad-data&project=games
Comment 1 Miroslav Suchý 2012-05-17 08:20:08 EDT
You either build it from one spec, or you will need two independent package reviews.
I suggest you to make 0ad-data subpackage of 0ad.

I suppose we can live in this specific case without uploading src.rpm and spec is just ok.
Comment 2 Miroslav Suchý 2012-05-18 03:40:21 EDT
Oh sorry, I thought that those packages are build from one tar.gz. They are built from 2 different tar.gz.
In this case I reccomend you to leave this review only for 0ad. And create new review for 0ad-data. And 0ad-data should be review before 0ad.
Comment 3 Miroslav Suchý 2012-05-18 03:54:21 EDT
You stated:
 License:	GPLv2+
But LICENSE.txt list more licenses used:
 MIT and what I'm worried about is "Various (unspecified)"

You have to dive deep in and dig out all licenses used.
Comment 4 Paulo Andrade 2012-05-18 09:45:47 EDT
Thanks. I will work on a new package in the weekend, as there is a newer
alpha with Hellenic race split in 3, now there are Spartans! and do
a more complete review of the licenses, and should also ask in upstream
forums for more details.
I will also add a newer review request for 0ad-data.
Comment 5 Paulo Andrade 2012-05-18 11:29:31 EDT
I did a minor conversion from the OBS sample spec files, but they indeed should
be in error, e.g. models and textures should be most if not all CC-BY-SA.

Indeed, upacking "public.zip" from the 0ad-data package, I see only data files,
but two LICENSE.txt files, in art and audio subdirectories,

art/LICENSE.txt
-%<-
The files in this directory are Copyright (C) 2009 Wildfire Games.

These files are licensed under the Creative Commons Attribution-Share Alike 3.0
(CC-by-sa) license, available at http://creativecommons.org/licenses/by-sa/3.0/

Briefly, this means:

* You may use, modify and distribute these files, for commercial and
  non-commercial purposes.

* If you distribute one of these files, you must include attribution (e.g.
  in the credits screen of a game or a video, or in a text file accompanying
  the files). The attribution must include:
  * A link to http://creativecommons.org/licenses/by-sa/3.0/
  * The name "Wildfire Games" as the original author
  * A link to http://www.wildfiregames.com/

* If you distribute one of these files, you must release it (and any
  modifications you have made to it) under the CC-by-sa license.

Some of the files in the "textures/" directory are derived from materials provided by CGTextures (http://www.cgtextures.com/). The original materials are the property of CGTextures or its contributors. Special permission has been granted by CGTextures to distribute these derived textures as CC-BY-SA. (This has no effect on the standard licensing of CGTextures materials, or on any other work derived from them.)

All CGTextures materials have been altered from their original form. To access original super-high resolution CGTextures materials, please visit http://www.cgtextures.com/ .
-%<-

audio/LICENSE.txt
-%<-
The files in this directory are Copyright (C) 2009 Wildfire Games.

These files are licensed under the Creative Commons Attribution-Share Alike 3.0
(CC-by-sa) license, available at http://creativecommons.org/licenses/by-sa/3.0/

Briefly, this means:

* You may use, modify and distribute these files, for commercial and
  non-commercial purposes.

* If you distribute one of these files, you must include attribution (e.g.
  in the credits screen of a game or a video, or in a text file accompanying
  the files). The attribution must include:
  * A link to http://creativecommons.org/licenses/by-sa/3.0/
  * The name "Wildfire Games" as the original author
  * A link to http://www.wildfiregames.com/

* If you distribute one of these files, you must release it (and any
  modifications you have made to it) under the CC-by-sa license.
-%<-

Licenses I found in sources:

------------------------------------------------------------------
  /source
    GPL version 2 (or later) - see license_gpl-2.0.txt

------------------------------------------------------------------
  /source/lib
    MIT

------------------------------------------------------------------
  /source/tools
    Various (unspecified)

* source/tools/fontbuilder2/
#   Copyright (C) 2002-2009 Nuclex Development Labs
#
#   This library is free software; you can redistribute it and/or
#   modify it under the terms of the IBM Common Public License as
#   published by the IBM Corporation; either version 1.0 of the
#   License, or (at your option) any later version.

* source/tools/springimport
MIT

...
* source/tools/atlas/
GPLv2+

* source/tools/replayprofile
MIT or dual MIT and GPL

------------------------------------------------------------------
* Not an issue as there are no binaries in the source tarball
  /binaries/system
    Various (unspecified)

* Not an issue, binaries are not in the source tarball, and this is
windows only
  /binaries/system/dbghelp.dll
    Proprietary - see license_dbghelp.txt for restrictions you must agree to
    before distributing this particular file

------------------------------------------------------------------
  /libraries
    Various - see individual directories and files for details

* libraries/cxxtest/COPYING
LGPLv2.1+

* libraries/valgrind (not built)
BSD-style (no clauses) and GPLv2+

* libraries/nvtt
MIT and public domain (a few files explicitly state public domain)

* libraries/enet
BSD-style (no clauses)

* libraries/fcollada
MIT

------------------------------------------------------------------
  /build
    Various (unspecified)

* build/bin
LGPLv2.1+  (actually only a license file, nothing else in source tarball)

* build/premake
MIT

------------------------------------------------------------------
  /docs
    Various (unspecified)

directory not in source tarball



Extra comments:
  I thought I had commented in the bug report, but did not, so, there is
an issue with fedora using a too old enet, so the package is not built
with --with-system-enet. This could only be remedied by detecting what
packages, if any require the older api enet in fedora, and add the newer
one. Upstream maintains two incompatible trees:
http://enet.bespin.org/SourceDistro.html

  nvtt could be packaged as a system package, but would require the patches
from the tarball to actually build (outdated from 2007 upstream), in README.txt
README.txt 
This is NVTT 2.0.8-1 from http://code.google.com/p/nvidia-texture-tools/
plus some patches:
  r1156.patch (from NVTT SVN r1156 - fixes build with libtiff 4.0)
  r1157.patch (from NVTT SVN r1157 - fixes build with CUDA 3.0)
  r1172.patch (from NVTT SVN r1172 - fixes memory allocator interaction with Valgrind)
  r907.patch and r1025.patch (from NVTT SVN - fixes build on FreeBSD)
  rpath.patch (fixes .so file search paths for bundled copy)
  issue139.patch (fixes http://code.google.com/p/nvidia-texture-tools/issues/detail?id=139)
  png-api.patch (partially from NVTT SVN r1248 - fixes build with libpng 1.5)
  cmake-freebsd.patch (fixes build on FreeBSD)
Comment 6 Paulo Andrade 2012-05-18 22:40:26 EDT
I just checked that rawhide ships enet-1.3.3, so, for rawhide
it can use system enet.

I am also working on a nvidia-texture-tools package, so, I guess
I will give up on packaging 0ad (and megaglest) for f16 and f17
and stick to rawhide.
Comment 7 Paulo Andrade 2012-05-19 00:56:54 EDT
New upstream alpha, and now there is also a separate 0ad-data
review request.

Spec URL: http://fedorapeople.org/~pcpa/0ad.spec
SRPM URL: http://fedorapeople.org/~pcpa/0ad-r11863-1.fc18.src.rpm

Please confirm that it is correct to tag as IBM license the code
from source/tools/fontbuilder2/Packer.py:

# Adapted from:
#   http://enichan.darksiren.net/wordpress/?p=49
# which was adapted from some version of
#   https://devel.nuclex.org/framework/browser/game/Nuclex.Game/trunk/Source/Packing/CygonRectanglePacker.cs
# which has the following license:
#
#   Copyright (C) 2002-2009 Nuclex Development Labs
#
#   This library is free software; you can redistribute it and/or
#   modify it under the terms of the IBM Common Public License as
#   published by the IBM Corporation; either version 1.0 of the
#   License, or (at your option) any later version.
Comment 8 Paulo Andrade 2012-05-19 01:00:36 EDT
Forgot to specify, the two patches were reported upstream at:
http://trac.wildfiregames.com/ticket/1420
http://trac.wildfiregames.com/ticket/1421

Also, just in case, I tested the package and it works :-)
Comment 9 Paulo Andrade 2012-05-21 21:37:22 EDT
Updated package

Spec URL: http://fedorapeople.org/~pcpa/0ad.spec
SRPM URL: http://fedorapeople.org/~pcpa/0ad-r11863-2.fc18.src.rpm

- Disable dependency on nvidia-texture-tools (#823096).
- Disable %%check as it requires nvtt.
- Add manual page.

The package appears functional with nvtt disabled. And I also requested
some information at http://trac.wildfiregames.com/ticket/1427
Comment 10 Miroslav Suchý 2012-05-22 09:32:00 EDT
I just run fedora-review and this is issues sans those I waived out.

Issues:
[!]: MUST Each %files section contains %defattr if rpm < 4.4
     Note: defattr(....) present in %files section. This is OK if packaging
     for EPEL5. Otherwise not needed
See: http://fedoraproject.org/wiki/Packaging/Guidelines#FilePermissions
[!]: MUST Package contains a properly installed %{name}.desktop using desktop-
     file-install file if it is a GUI application.
See: http://fedoraproject.org/wiki/Packaging/Guidelines#desktop
[!]: MUST Rpmlint output is silent.

rpmlint 0ad-debuginfo-r11863-2.fc18.i686.rpm

0ad-debuginfo.i686: W: only-non-binary-in-usr-lib
1 packages and 0 specfiles checked; 0 errors, 1 warnings.

See: http://fedoraproject.org/wiki/Packaging/Guidelines#rpmlint
[!]: MUST Sources used to build the package match the upstream source, as
     provided in the spec URL.
/tmp/818401/0ad-r11863-alpha-unix-build.tar.xz :
  MD5SUM this package     : f42a2e18515cbcd48b99f0ea3796b3a4
  MD5SUM upstream package : f577f8d3a69146cfdc988a56f3caecd8

See: http://fedoraproject.org/wiki/Packaging/SourceURL
[!]: MUST Development (unversioned) .so files in -devel subpackage, if
     present.
     Note: 0ad-r11863-2.fc18.i686.rpm : /usr/lib/0ad/libAtlasUI.so
     0ad-r11863-2.fc18.i686.rpm : /usr/lib/0ad/libCollada.so
See: http://fedoraproject.org/wiki/Packaging/Guidelines#DevelPackages
Comment 11 Paulo Andrade 2012-05-22 11:32:42 EDT
(In reply to comment #10)
> I just run fedora-review and this is issues sans those I waived out.

  Thanks for the review!

> Issues:
> [!]: MUST Each %files section contains %defattr if rpm < 4.4
>      Note: defattr(....) present in %files section. This is OK if packaging
>      for EPEL5. Otherwise not needed
> See: http://fedoraproject.org/wiki/Packaging/Guidelines#FilePermissions

  I will remove it for the next package.

> [!]: MUST Package contains a properly installed %{name}.desktop using
> desktop-
>      file-install file if it is a GUI application.
> See: http://fedoraproject.org/wiki/Packaging/Guidelines#desktop

   I will add a call to desktop-file-validate and correct any problems
that arise.

> [!]: MUST Rpmlint output is silent.
> 
> rpmlint 0ad-debuginfo-r11863-2.fc18.i686.rpm
> 
> 0ad-debuginfo.i686: W: only-non-binary-in-usr-lib
> 1 packages and 0 specfiles checked; 0 errors, 1 warnings.
> 
> See: http://fedoraproject.org/wiki/Packaging/Guidelines#rpmlint
> [!]: MUST Sources used to build the package match the upstream source, as
>      provided in the spec URL.
> /tmp/818401/0ad-r11863-alpha-unix-build.tar.xz :
>   MD5SUM this package     : f42a2e18515cbcd48b99f0ea3796b3a4
>   MD5SUM upstream package : f577f8d3a69146cfdc988a56f3caecd8
> 
> See: http://fedoraproject.org/wiki/Packaging/SourceURL

  I just did download it again to ensure it was not replaced by
upstream. I think your test may have donwloaded the tar.gz file,
did uncompress it, or did download some .html file...

$ LC_ALL=C wget http://releases.wildfiregames.com/0ad-r11863-alpha-unix-build.tar.xz
--2012-05-22 11:50:53--  http://releases.wildfiregames.com/0ad-r11863-alpha-unix-build.tar.xz
Resolving releases.wildfiregames.com (releases.wildfiregames.com)... 92.243.18.55
Connecting to releases.wildfiregames.com (releases.wildfiregames.com)|92.243.18.55|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://sourceforge.net/projects/zero-ad/files/releases/0ad-r11863-alpha-unix-build.tar.xz/download [following]
--2012-05-22 11:50:54--  http://sourceforge.net/projects/zero-ad/files/releases/0ad-r11863-alpha-unix-build.tar.xz/download
Resolving sourceforge.net (sourceforge.net)... 216.34.181.60
Connecting to sourceforge.net (sourceforge.net)|216.34.181.60|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://downloads.sourceforge.net/project/zero-ad/releases/0ad-r11863-alpha-unix-build.tar.xz?r=&ts=1337699972&use_mirror=tenet [following]
--2012-05-22 11:50:55--  http://downloads.sourceforge.net/project/zero-ad/releases/0ad-r11863-alpha-unix-build.tar.xz?r=&ts=1337699972&use_mirror=tenet
Resolving downloads.sourceforge.net (downloads.sourceforge.net)... 216.34.181.59
Connecting to downloads.sourceforge.net (downloads.sourceforge.net)|216.34.181.59|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://tenet.dl.sourceforge.net/project/zero-ad/releases/0ad-r11863-alpha-unix-build.tar.xz [following]
--2012-05-22 11:50:55--  http://tenet.dl.sourceforge.net/project/zero-ad/releases/0ad-r11863-alpha-unix-build.tar.xz
Resolving tenet.dl.sourceforge.net (tenet.dl.sourceforge.net)... 155.232.191.245, 2001:4200:fffc::245
Connecting to tenet.dl.sourceforge.net (tenet.dl.sourceforge.net)|155.232.191.245|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 8657204 (8.3M) [application/octet-stream]
Saving to: `0ad-r11863-alpha-unix-build.tar.xz'

100%[======================================>] 8,657,204   1.13M/s   in 12s     

2012-05-22 11:51:09 (720 KB/s) - `0ad-r11863-alpha-unix-build.tar.xz' saved [8657204/8657204]

$ md5sum 0ad-r11863-alpha-unix-build.tar.xz 
f42a2e18515cbcd48b99f0ea3796b3a4  0ad-r11863-alpha-unix-build.tar.xz

> [!]: MUST Development (unversioned) .so files in -devel subpackage, if
>      present.
>      Note: 0ad-r11863-2.fc18.i686.rpm : /usr/lib/0ad/libAtlasUI.so
>      0ad-r11863-2.fc18.i686.rpm : /usr/lib/0ad/libCollada.so
> See: http://fedoraproject.org/wiki/Packaging/Guidelines#DevelPackages

  I can check if reasonable to add a soversion to those libraries. But
they are not really meant to be in -devel packages, as no headers are
installed, and they are not in %_libdir on purpose.
Comment 12 Paulo Andrade 2012-05-22 20:51:02 EDT
I addressed the fedora-review issues, but the unversioned .so
in %{_libdir}/0ad. If this really needs to be rpmlint silent,
I can work on making a fake -devel package and patch the
package to generate a versioned .so and link to it.

Note that this would not the only package that has "modules" or
libraries in %{_libdir}/*/lib*.so

Actually, I already reported a related issue about rpath to
upstream, to avoid needing special cases :-) at
http://trac.wildfiregames.com/ticket/1421

Updated package:

Spec URL: http://fedorapeople.org/~pcpa/0ad.spec
SRPM URL: http://fedorapeople.org/~pcpa/0ad-r11863-3.fc18.src.rpm
Comment 13 MERCIER Jonathan 2012-05-23 04:00:06 EDT
They are since many time a spec for 0ad at http://repos.fedorapeople.org/repos/bioinfornatics/0ad/
(not yet updated to latest release alpha X)

but i do not think 0ad can go to official repo as he is many bundle library and this it is a no go.
Comment 14 Kalev Lember 2012-05-23 07:24:53 EDT
(In reply to comment #12)
> I addressed the fedora-review issues, but the unversioned .so
> in %{_libdir}/0ad. If this really needs to be rpmlint silent,
> I can work on making a fake -devel package and patch the
> package to generate a versioned .so and link to it.
> 
> Note that this would not the only package that has "modules" or
> libraries in %{_libdir}/*/lib*.so

Private unversioned libraries in %{_libdir}/0ad/ are perfectly fine, no need to do downstream patches to change this. It's also common to have an RPATH set that points to %{_libdir}/0ad/ :
http://fedoraproject.org/wiki/Packaging/Guidelines#Rpath_for_Internal_Libraries

rpmlint is just a tool to warn about possible problems in the spec file. Sometimes its heuristics are right, sometimes not. There are often good reasons to ignore rpmlint warnings/errors, it doesn't have to be silent always.
Comment 15 Paulo Andrade 2012-05-23 10:47:27 EDT
(In reply to comment #13)
> They are since many time a spec for 0ad at
> http://repos.fedorapeople.org/repos/bioinfornatics/0ad/
> (not yet updated to latest release alpha X)

  Thanks for the information. I was only aware of OpenSUSE obs builds for
Fedora, and got somewhat involved with it after waiting several months
checking from time to time if the Mandriva package was functional...

  In case the package is approved, I would be glad to have it assigned
to a maintainer group :-)

> but i do not think 0ad can go to official repo as he is many bundle library
> and this it is a no go.

  The only issue with bundled packages now is fcollada, that either
following links in the embedded sources, or the "Download" link from
http://collada.org/mediawiki/index.php/FCollada are not working
(lead to a link, to information about "formerly Feeling Software",
the original authors...). But searching a bit more, I see
http://www.wildfiregames.com/forum/index.php?showtopic=14539

  But for now I prefer not to add extra review requests, and would
be better if there was some legal information about nvidia-texture-tools
issue with possibly encumbered s3tc decompression (and compression, but
AFAIK compression can be done in non infringing, and faster ways, the
problem is decompression that cannot be fully done without infringing
the patent).
Comment 16 MERCIER Jonathan 2012-05-23 10:52:58 EDT
s3tc lib are in rpm-fusion if it is legal in your state
Comment 17 Paulo Andrade 2012-05-23 11:29:40 EDT
You mean squish? Then would need to check if can use that instead of the bundled version in nvidia-texture-tools.

Maybe the proper approach would be to just package 0ad in rpm-fusion :-)

I do not see 0ad at http://download1.rpmfusion.org/free/fedora/development/rawhide/source/SRPMS/repoview/amusements.games.group.html so, it should be better to move to there... I will try to create an account and submit a review request in the weekend, but I already got plenty in my plate, and 0ad was a side review request, hoping to not consume too much time on it...

About being legal, afaik this patent is a non issue in all the world but US, Japan, Germany and possibly a few other countries (but US is pushing hard to have the rest of the world to use US laws). Apple was sued recently due to s3tc; unlikely they would sue "minor" distros, but Red Hat could be a target...
Comment 18 MERCIER Jonathan 2012-05-28 03:40:10 EDT
if can to add the french desciption given in my spec file and create a subpackage data as i do (take example) that is ok for me
Comment 19 Paulo Andrade 2012-05-28 10:31:51 EDT
Ok. I have another review request, and actually updated it to
build in fedora 16 and 17, and rawhide, making it optional to
build with system nvtt or internal nvtt, and also have the
option to disable nvtt (default), so that it should not build
any s3tc handling code. The rpmfusion review request is at:
https://bugzilla.rpmfusion.org/show_bug.cgi?id=2342

I made 0ad-data another package. This is useful if needs to
rebuild only the binary, as there is no need to generate
another (very large) 0ad-data with the same contents.
Comment 20 Kalev Lember 2012-05-28 10:44:42 EDT
Why rpmfusion? As I understand it, the issue that was blocking 0ad from Fedora inclusion was s3tc patents; if the package works without nvidia-texture-tools, can't this go to Fedora proper?
Comment 21 Paulo Andrade 2012-05-29 10:22:16 EDT
The option to build with nvtt disabled is not documented,
and need a patch to "forward" it to the premake lua script,
and also to not fail before.

I would also prefer to have it in Fedora, but I am afraid
it may at some point no longer build without nvtt, and AFAIK
the code the patent cover is somewhat simple and I am not sure
there is no "inline" implementation of it somewhere else in the
sources. This is partly why I asked for some information at
http://trac.wildfiregames.com/ticket/1427

I think for this game this would qualify as "fair use", but
IANAL, and if doing this, would it also be "fair use" to have
s3tc enabled in Mesa? Maybe could also have a s3tc enabled
Mesa in rpmfusion; AFAIK Ubuntu has it as a PPA,
https://launchpad.net/~oibaf/+archive/graphics-drivers/
Comment 22 Bruno Wolff III 2012-05-30 23:37:28 EDT
Fair use is for copyright, not patents. And not all places have fair use as a defense.
Comment 23 MERCIER Jonathan 2012-06-06 19:26:26 EDT
just to add every patch should be reported to the upstream
Comment 24 Paulo Andrade 2012-06-09 10:14:49 EDT
Patches were reported upstream as specified in #c8. The patch to disable nvtt was not clearly stated as reported upstream in #c9, but was attached to the related trac.
But now I have the package review request still here, and opened another one in rpmfusion :-) Because I think it should use nvtt, actually the issue with s3tc, that is the, behind a patent, "standard" for texture compression.
Comment 25 Bruno Wolff III 2012-06-09 11:40:19 EDT
st3c isn't enabled in the Fedora version of mesa. Is having this enabled for 0 AD in rpmfusion going to help?
Comment 26 Paulo Andrade 2012-06-09 13:11:55 EDT
I asked for some upstream comment at http://trac.wildfiregames.com/ticket/1427 when providing a patch to disable nvtt. The patch appears to work and I did not notice problems in a simple game.
I just noticed in 0ad logs it says my computer supports s3tc (the output does not match glxinfo), so, I changed /usr/share/0ad/config/default.cfg, that should also include a patch for no s3tc, to:

;nos3tc = false
nos3tc = true

and

;force_s3tc_enable = true
force_s3tc_enable = false

but still did not see any problems.

I know for sure it is required for "make check" and game modding, and should be of use at least for people using the nvidia and amd drivers, otherwise, mesa with s3tc enabled could be provided in the rpmfusion repository.
Maybe with recent "rumours" about valve steam ported to linux this would be more of an issue.
Comment 27 Paulo Andrade 2012-07-13 10:14:19 EDT
I am happy enough with the comment at http://trac.wildfiregames.com/ticket/1427
so, with nvtt disabled, it should be ok to have 0ad in fedora, not rpmfusion.

I will close the nvtt review requests and rpmfusion review requests and only wait/hope :-) for a review here.
Comment 28 Paulo Andrade 2012-09-05 10:53:06 EDT
Reverse dependency. It should be 0ad-data that depends on 0ad for review.
Comment 29 Paulo Andrade 2012-09-05 11:09:03 EDT
0ad is available in debian, see http://packages.debian.org/unstable/main/0ad and a license review can be viewed at http://anonscm.debian.org/viewvc/pkg-games/packages/trunk/0ad/debian/copyright?view=markup

The package I am proposing also removes the nvtt files before starting build and patches the build to not compile code that uses S3TC.

I messed things a bit by making a review request at rpmfusion, then later closing it and choosing to only make a review request with S3TC disabled, sorry...

I really would like to have a Legal response about it, as, besides in alpha, it is a "state of the art" game, very high quality and quite playable, and would be very valuable in fedora game spin.

Blame me if I forgot some step :-) but I believe I followed all recommendations in this report, and the latest package is at

Spec URL: http://fedorapeople.org/~pcpa/0ad.spec
SRPM URL: http://fedorapeople.org/~pcpa/0ad-r11863-5.fc18.src.rpm

and should build cleanly for f16 or newer.
Comment 30 Bruno Wolff III 2012-09-05 12:22:53 EDT
Alpha 11 should be due out any day now, and it looks like there are some significant improvements. (I think gates are supposed to work now, which will make walls more useful.)
Comment 31 Tom "spot" Callaway 2012-09-05 20:26:53 EDT
Just to be clear here, what question(s) are you asking of Fedora Legal?
Comment 32 Paulo Andrade 2012-09-05 22:57:35 EDT
(In reply to comment #31)
> Just to be clear here, what question(s) are you asking of Fedora Legal?

Some comment about s3tc, and if just not building it is enough (and removing sources at %build time is ok), otherwise there is a bundled nvtt, that bundles an old squish library, that implements code covered by the S3TC patent.

Other than that, I just tried to get some attention to this review request :-)

PS: debian appears to also package nvidia-texture-tools, see http://packages.debian.org/source/sid/nvidia-texture-tools
Comment 33 Tom "spot" Callaway 2012-09-06 09:17:56 EDT
You may not ship any code in Fedora that implements S3TC. You will need to make a clean source tarball that has any such code removed, it is not sufficient to remove these sources at %build.

Sorry. :/
Comment 34 Miroslav Suchý 2012-09-06 11:03:42 EDT
But that should not be problem. Simly manualy remove it from that tar.gz and put in spec in comment before Source0 document what and how it was removed.
We will not be able to verify md5 of tar.gz, but that is not blocker.
Comment 35 Paulo Andrade 2012-09-06 21:19:35 EDT
Thanks for the comments. I remade the package for review request, and just confirmed it works with fc17 and up to date rawhide. For rawhide, it required to adapt a patch already in upstream trac to build with boost 1.50, and I made a patch to build with libxml2 2.9 and submitted it for upstream review at http://trac.wildfiregames.com/ticket/1656

I made a few standard cleanups to the spec (it was one of the first packages I submitted for review), confirmed it builds in a mock chroot, and changed it to add a comment of how the tarball was regenerated, and removed the s3tc implementation from it, but left it easy to use a single %global to support user builds with s3tc enabled (but now needs to redownload upstream source or regenerate it from a svn checkout).

Spec URL: http://fedorapeople.org/~pcpa/0ad.spec
SRPM URL: http://fedorapeople.org/~pcpa/0ad-r11863-6.fc19.src.rpm
Comment 36 Paulo Andrade 2012-09-08 09:57:22 EDT
Updated to latest upstream alpha release:

Spec URL: http://fedorapeople.org/~pcpa/0ad.spec
SRPM URL: http://fedorapeople.org/~pcpa/0ad-0.0.11-1.fc19.src.rpm
Comment 37 Bruno Wolff III 2012-09-08 10:57:02 EDT
Thanks for updating to alpha 11. It looks like it has lots of improvements over alpha 10. Hopefully alpha 12 will have the AI performance fixed.
Comment 38 Miroslav Suchý 2012-09-08 15:25:59 EDT
rpmlint warning:
0ad.x86_64: W: no-manual-page-for-binary pyrogenesis

Although, this is not blocker, but Debian has man page (written under GPLv2) so you can use that.
Comment 39 Miroslav Suchý 2012-09-08 15:29:58 EDT
Oh, it should by just symlink to:
/usr/share/man/man1/pyrogenesis.1.gz -> 0ad.1.gz

And more precise it should not be in group:
  1 - Executable programs or shell commands
but in group
  6 - Games
Comment 40 Paulo Andrade 2012-09-08 17:51:53 EDT
Thanks for the review!

Updated package:

- Corrected the manual page group
- Made a symlink from 0ad to pyrogenesis manual page
- Followed my own advice in comments and reviewed/updated the manual page :-)
- Corrected some typos in the (manually written) manual page

Spec URL: http://fedorapeople.org/~pcpa/0ad.spec
SRPM URL: http://fedorapeople.org/~pcpa/0ad-0.0.11-2.fc19.src.rpm
Comment 41 Miroslav Suchý 2012-09-11 04:10:58 EDT
Package Review
==============

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



==== C/C++ ====
[x]: MUST Header files in -devel subpackage, if present.
[x]: MUST Package does not contain any libtool archives (.la)
[x]: MUST Package does not contain kernel modules.
[x]: MUST Package contains no static executables.
[x]: MUST Rpath absent or only used for internal libs.
[!]: MUST Development (unversioned) .so files in -devel subpackage, if
     present.
     Note: Unversioned so-files in non-devel package (fix or
     explain):0ad-0.0.11-2.fc17.x86_64.rpm : /usr/lib64/0ad/libAtlasUI.so
     0ad-0.0.11-2.fc17.x86_64.rpm : /usr/lib64/0ad/libCollada.so
But this can be waived as no one but only this package will use this .so files.


==== Generic ====
[x]: EXTRA Rpmlint is run on all installed packages.
     Note: No rpmlint messages.
[x]: EXTRA Spec file according to URL is the same as in SRPM.
[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.
[x]: 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.
[x]: MUST All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
[!]: MUST Package contains no bundled libraries.
[x]: MUST Changelog in prescribed format.
[x]: MUST Sources contain only permissible code or content.
     Yes, and documented in comments before Source0
[x]: MUST Package contains desktop file if it is a GUI application.
[x]: MUST Package installs a %{name}.desktop using desktop-file-install if
     there is such a file.
     desktop-file-validate is used, which is allowed.
[-]: MUST Development files must be in a -devel package
[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 Package complies to the Packaging Guidelines
[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
[-]: MUST Large documentation files are in a -doc subpackage, if required.
[x]: 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.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "zlib/libpng", "BSD (2 clause) GPL (v2 or later)", "BSD (3 clause)", "GPL
     (v2 or later)", "MIT/X11 (BSD like)" For detailed output of licensecheck
     see file: /home/msuchy/818401-0ad/licensecheck.txt
[x]: MUST Package consistently uses macro is (instead of hard-coded directory
     names).
[!]: MUST If the package is under multiple licenses, the licensing breakdown
     must be documented in the spec.
[x]: MUST Package is named using only allowed ascii characters.
[x]: MUST Package is named according to the Package Naming Guidelines.
[x]: MUST Package does not generate any conflict.
     Note: Package contains no Conflicts: tag(s)
[x]: MUST Package obeys FHS, except libexecdir and /usr/target.
[-]: MUST If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: MUST Package must own all directories that it creates.
[!]: MUST Package does not own files or directories owned by other packages.
     /usr/share/0ad is owned by both 0ad and 0ad-data. But I do not see problem here.
[x]: MUST Package installs properly.
[x]: MUST Package is not relocatable.
[x]: MUST Requires correct, justified where necessary.
[x]: MUST Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: MUST Sources used to build the package match the upstream source, as
     provided in the spec URL.
     I compared tar.xz in src.rpm and downloaded tar.xz striped from directories according comments in spec and diff is empty
[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 systemd file(s) if in need.
[x]: MUST File names are valid UTF-8.
[x]: MUST Useful -debuginfo package or justification otherwise.
[x]: SHOULD Reviewer should test that the package builds in mock.
[x]: SHOULD Buildroot is not present
     Note: Unless packager wants to package for EPEL5 this is fine
[x]: SHOULD Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
     Note: Clean would be needed if support for EPEL5 is required
[!]: 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.
     Yes, it works. And pretty fine. I lost 30 minutes of review just on this point :)
[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 tarball generation or download is documented.
     Note: Package contains tarball without URL, check comments
[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.
[-]: SHOULD Package should compile and build into binary rpms on all supported
     architectures.
[-]: SHOULD %check is present and all tests pass.
[!]: SHOULD Packages should try to preserve timestamps of original installed
     files.
[x]: SHOULD Spec use %global instead of %define.

Issues:
[!]: MUST Package contains no bundled libraries.
     Can you please ellaborate on AtlasUI and libCollada? At least in collada case:
     http://collada.org/mediawiki/index.php/FCollada
     it seems to me that is should be packed separately. But I maybe wrong.
[!]: MUST If the package is under multiple licenses, the licensing breakdown
     must be documented in the spec.
     Please document which part is license under what license. You may very probably copy it from Debian license file. Or maybe just point to LICENSE.txt, but there are those annonying "Various"
[!]: 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.
     Please ask upstream to include BSD, MIT and IBM license.
[!]: SHOULD Packages should try to preserve timestamps of original installed
     files.
     You may use install -p to achive this.
Comment 42 Paulo Andrade 2012-09-11 09:39:12 EDT
(In reply to comment #41)

Thanks for the review. I will upload a newer srpm tonight, but may
need some extra feedback also :-)

[...]
> Issues:
> [!]: MUST Package contains no bundled libraries.
>      Can you please ellaborate on AtlasUI and libCollada? At least in
> collada case:
>      http://collada.org/mediawiki/index.php/FCollada
>      it seems to me that is should be packed separately. But I maybe wrong.

  libAtlasUI.so is 0ad specific for the map editor, e.g. "0ad -editor".

  libCollada.so is from the 0ad "fork" of fcollada. From what I understand,
the last opensource version is from 2008, and all links at
http://collada.org/mediawiki/index.php/FCollada lead to
http://www.fortem.com/

  The closest to a common open source collada I know of is
https://github.com/fcolladaCE/fcolladaCE, following the information at
http://trac.wildfiregames.com/ticket/562, but the debian 0ad package
also uses the bundled one in 0ad sources.

> [!]: MUST If the package is under multiple licenses, the licensing breakdown
>      must be documented in the spec.
>      Please document which part is license under what license. You may very
> probably copy it from Debian license file. Or maybe just point to
> LICENSE.txt, but there are those annonying "Various"

  I made a breakdown in #c5, but I am not an specialist :-), it may be
desirable a third opinion, maybe ask FE-LEGAL again. The spec states:

License:	GPLv2+ and BSD and MIT and IBM

> [!]: 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.
>      Please ask upstream to include BSD, MIT and IBM license.

  I can open a trac asking for clarification on this. Possibly asking
to use the debian copyright file? The debian copyright file already
have a very detailed description for every file and special cases.
LICENSE.txt states:

"""
Some files don't yet have licensing details specified - if you care about any
in particular, let us know and we can try to clarify it.
"""

that should refer to the "various".

> [!]: SHOULD Packages should try to preserve timestamps of original installed
>      files.
>      You may use install -p to achive this.

I will correct it, in a quick view it is not preserving 2 time
stamps, of a png file and from the manual page I wrote. The
others should not matter as they are generated during package
build.
Comment 43 Miroslav Suchý 2012-09-11 10:58:05 EDT
ad bundled libraries: ok then.
 So libAtlasUI.so is 0ad specific
 and libCollada.so is fork with some differencies from old library and until fcolladaCE is mature and upstream of 0ad will migrate I'm fine with having it packaged together.

ad licenses:
  it should be easyily distinguishable in .spec which part is under which license
put in .spec something like:

# MIT license:
#   source/lib
#   librariries/fcollada
# BSD license
#   ....
# GPLv2+:
#    everything else
License:    GPLv2+ and BSD and MIT and IBM
Comment 44 Paulo Andrade 2012-09-11 21:09:50 EDT
I could not log in <http://trac.wildfiregames.com/login> right now,
tried resetting password too, so did not make a suggestion of using
debian/copyright information in LICENSE.txt.

I did not add LGPLv2+ neither MPL-1.1 to the License tag, but now
added it in the comments because the source is in the tarball,
besides not used/built. Should the license tag be extended?

New package:

- Clarify source tree licenses information in spec (#818401)
- Preserve time stamp of installed files (#818401)

Spec URL: http://fedorapeople.org/~pcpa/0ad.spec
SRPM URL: http://fedorapeople.org/~pcpa/0ad-0.0.11-3.fc19.src.rpm
Comment 45 Tom "spot" Callaway 2012-09-12 08:50:56 EDT
The License tag should reflect the binary package, not the SRPM, so this is correct.
Comment 46 Miroslav Suchý 2012-09-24 17:24:20 EDT
All my comments have been addressed. Approved.
But please during every rebase do licence check.

APPROVED
Comment 47 Paulo Andrade 2012-09-24 20:07:32 EDT
(In reply to comment #46)
> All my comments have been addressed. Approved.
> But please during every rebase do licence check.
> 
> APPROVED

Thanks. Ok, I will also make a comment in the spec
file about the recomendation to license check on
updates.
Comment 48 Paulo Andrade 2012-09-24 20:08:40 EDT
New Package SCM Request
=======================
Package Name: 0ad
Short Description: Cross-Platform RTS Game of Ancient Warfare
Owners: pcpa
Branches: f16 f17 f18
InitialCC:
Comment 49 Jon Ciesla 2012-09-24 21:24:55 EDT
Git done (by process-git-requests).
Comment 50 Paulo Andrade 2012-09-25 19:38:38 EDT
(In reply to comment #46)
> All my comments have been addressed. Approved.
> But please during every rebase do licence check.

While making final adjustments I remembered I commented I
would open a trac ticket about LICENSE issues, but trac was
not working at that time... Now done :-)
http://trac.wildfiregames.com/ticket/1682
Comment 51 Fedora Update System 2012-09-25 20:42:03 EDT
0ad-0.0.11-3.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/0ad-0.0.11-3.fc16
Comment 52 Fedora Update System 2012-09-25 21:33:12 EDT
0ad-0.0.11-3.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/0ad-0.0.11-3.fc17
Comment 53 Fedora Update System 2012-09-25 22:06:00 EDT
0ad-0.0.11-3.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/0ad-0.0.11-3.fc18
Comment 54 Bruno Wolff III 2012-09-26 09:09:27 EDT
Don't forget to add it as a member to the games group in comps. You can already do it for rawhide. It should be also done for other releases as it makes it to stable / updates.
Thanks for packaging it.
Comment 55 Fedora Update System 2012-09-26 17:21:03 EDT
0ad-0.0.11-3.fc18 has been pushed to the Fedora 18 testing repository.
Comment 56 Paulo Andrade 2012-09-26 19:56:27 EDT
(In reply to comment #54)
> Don't forget to add it as a member to the games group in comps. You can
> already do it for rawhide. It should be also done for other releases as it
> makes it to stable / updates.
> Thanks for packaging it.

Added to, and pushed comps-f19.xml.in
Once it reaches stable/updates of f16, f17 and f18 I will update those.
Comment 57 Fedora Update System 2013-04-03 12:48:16 EDT
0ad-data-0.0.13-1.fc18,0ad-0.0.13-1.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/0ad-data-0.0.13-1.fc18,0ad-0.0.13-1.fc18
Comment 58 Fedora Update System 2013-04-03 12:52:55 EDT
0ad-0.0.13-1.fc17,0ad-data-0.0.13-1.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/0ad-0.0.13-1.fc17,0ad-data-0.0.13-1.fc17
Comment 59 Fedora Update System 2013-04-03 12:54:52 EDT
0ad-0.0.13-1.fc19,0ad-data-0.0.13-1.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/0ad-0.0.13-1.fc19,0ad-data-0.0.13-1.fc19
Comment 60 Fedora Update System 2013-04-13 20:27:29 EDT
0ad-0.0.13-1.fc17, 0ad-data-0.0.13-1.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 61 Fedora Update System 2013-04-13 20:31:17 EDT
0ad-data-0.0.13-1.fc18, 0ad-0.0.13-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 62 Fedora Update System 2013-04-20 15:07:43 EDT
0ad-0.0.13-1.fc19, 0ad-data-0.0.13-1.fc19 has been pushed to the Fedora 19 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.