Bug 1186503 (openclonk) - Review Request: openclonk - Fast-paced 2d genre mix
Summary: Review Request: openclonk - Fast-paced 2d genre mix
Keywords:
Status: CLOSED DUPLICATE of bug 1334059
Alias: openclonk
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Mario Blättermann
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-01-27 19:46 UTC by MartinKG
Modified: 2016-05-07 20:02 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-02-24 08:56:48 UTC
Type: ---
Embargoed:
mario.blaettermann: fedora-review?


Attachments (Terms of Use)
rpmlint output (120.70 KB, text/plain)
2015-02-21 20:26 UTC, Mario Blättermann
no flags Details

Description MartinKG 2015-01-27 19:46:51 UTC
Spec URL: https://martinkg.fedorapeople.org/Review/SPECS/openclonk.spec
SRPM URL: https://martinkg.fedorapeople.org/Review/SRPMS/openclonk-5.5.1-1.fc21.src.rpm

Description: Clonks are witty and nimble human-like creatures.
They build, run, dig and fight: everything in
real-time and in direct control, alone, with or
versus other players.

Fedora Account System Username: martinkg

rpmlint openclonk-5.5.1-1.fc21.x86_64.rpm
openclonk.x86_64: W: no-manual-page-for-binary openclonk
openclonk.x86_64: W: no-manual-page-for-binary c4group
1 packages and 0 specfiles checked; 0 errors, 2 warnings.

%changelog
* Tue Jan 27 2015 Martin Gansser <martinkg> - 5.5.1-1
- initial build for Fedora 21

Comment 1 MartinKG 2015-02-18 10:47:11 UTC
will upload new rpms later.

Comment 2 Mario Blättermann 2015-02-18 21:10:04 UTC
Some initial comments:

-DCMAKE_INSTALL_PREFIX="%{_prefix}" becomes superfluous when you use %cmake instead of the pure "cmake" command.

Replace "BuildRequires:  hicolor-icon-theme" with "Requires:  hicolor-icon-theme".

%package data
...
Requires:      %{name} = %{version}-%{release}

Is the data package optional or rather mandatory to run the game? If the latter applies, then the base package has to depend on the main package. In that case you have to add the license file also to the -data package, and licenses/*.txt goes to %licenses anyway.

And last but not least, an appdata file would be nice...

Comment 3 MartinKG 2015-02-19 09:42:36 UTC
if I use the macro cmake% the compilation fails with the following errors:

[ 12%] Building CXX object CMakeFiles/c4group.dir/src/c4group/C4GroupMain.cpp.o
/usr/bin/c++   -DHAVE_CONFIG_H -DOC_SYSTEM_DATA_DIR=\"/usr/share/openclonk\" -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -std=gnu++0x -Wall -Wextra -Wredundant-decls -Wendif-labels -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Winit-self -Wsign-promo -Wno-reorder -Wno-unused-parameter -Wnon-virtual-dtor -Woverloaded-virtual -I/home/martin/rpmbuild/BUILD/openclonk-release-5.5.1-src -I/home/martin/rpmbuild/BUILD/openclonk-release-5.5.1-src/src -I/home/martin/rpmbuild/BUILD/openclonk-release-5.5.1-src/src/c4group -I/home/martin/rpmbuild/BUILD/openclonk-release-5.5.1-src/src/config -I/home/martin/rpmbuild/BUILD/openclonk-release-5.5.1-src/src/control -I/home/martin/rpmbuild/BUILD/openclonk-release-5.5.1-src/src/editor -I/home/martin/rpmbuild/BUILD/openclonk-release-5.5.1-src/src/game -I/home/martin/rpmbuild/BUILD/openclonk-release-5.5.1-src/src/gamescript -I/home/martin/rpmbuild/BUILD/openclonk-release-5.5.1-src/src/graphics -I/home/martin/rpmbuild/BUILD/openclonk-release-5.5.1-src/src/gui -I/home/martin/rpmbuild/BUILD/openclonk-release-5.5.1-src/src/landscape -I/home/martin/rpmbuild/BUILD/openclonk-release-5.5.1-src/src/lib -I/home/martin/rpmbuild/BUILD/openclonk-release-5.5.1-src/src/network -I/home/martin/rpmbuild/BUILD/openclonk-release-5.5.1-src/src/object -I/home/martin/rpmbuild/BUILD/openclonk-release-5.5.1-src/src/platform -I/home/martin/rpmbuild/BUILD/openclonk-release-5.5.1-src/src/player -I/home/martin/rpmbuild/BUILD/openclonk-release-5.5.1-src/src/res -I/home/martin/rpmbuild/BUILD/openclonk-release-5.5.1-src/src/script -I/home/martin/rpmbuild/BUILD/openclonk-release-5.5.1-src/thirdparty -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libdrm -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/gtksourceview-2.0 -I/usr/include/libxml2 -I/usr/include/AL -I/usr/include/upnp    -o CMakeFiles/c4group.dir/src/c4group/C4GroupMain.cpp.o -c /home/martin/rpmbuild/BUILD/openclonk-release-5.5.1-src/src/c4group/C4GroupMain.cpp
Linking CXX executable c4group
/usr/bin/cmake -E cmake_link_script CMakeFiles/c4group.dir/link.txt --verbose=1
/usr/bin/c++    -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -std=gnu++0x -Wall -Wextra -Wredundant-decls -Wendif-labels -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Winit-self -Wsign-promo -Wno-reorder -Wno-unused-parameter -Wnon-virtual-dtor -Woverloaded-virtual   -Wl,-z,relro CMakeFiles/c4group.dir/src/c4group/C4GroupMain.cpp.o  -o c4group -rdynamic liblibmisc.so -lrt -lz -Wl,-rpath,/home/martin/rpmbuild/BUILD/openclonk-release-5.5.1-src: 
liblibmisc.so: undefined reference to `C4LangStringTable::system_string_table'
liblibmisc.so: undefined reference to `C4LangStringTable::Translate(std::string const&) const'
collect2: error: ld returned 1 exit status
CMakeFiles/c4group.dir/build.make:90: recipe for target 'c4group' failed
make[2]: *** [c4group] Error 1
make[2]: Leaving directory '/home/martin/rpmbuild/BUILD/openclonk-release-5.5.1-src'
CMakeFiles/Makefile2:63: recipe for target 'CMakeFiles/c4group.dir/all' failed
make[1]: *** [CMakeFiles/c4group.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
/usr/bin/cmake -E cmake_progress_report /home/martin/rpmbuild/BUILD/openclonk-release-5.5.1-src/CMakeFiles 9

Comment 4 Mario Blättermann 2015-02-19 10:30:41 UTC
Have a look at the spec file of the Mageia package:
https://svnweb.mageia.org/packages/cauldron/openclonk/current/SPECS/openclonk.spec?view=markup
They use the %cmake macro, but with some different options. Don't know what Mageia's %cmake expands to, but maybe it works...? Generally, such macros provide extra functionality and make sure we launch the compiler with correct options. We should always prefer them.

Comment 5 MartinKG 2015-02-19 20:53:12 UTC
new rpm package:

Spec URL: https://martinkg.fedorapeople.org/Review/SPECS/openclonk.spec
SRPM URL: https://martinkg.fedorapeople.org/Review/SRPMS/openclonk-5.5.1-2.fc21.src.rpm

%changelog
* Thu Feb 19 2015 Martin Gansser <martinkg> - 5.5.1-2
- deleted group tag
- added doc tag
- added license tag
- added appdata.xml file
- changed file permission
- used macro %%cmake
- corrected RR dependencies
- added %%licenses to main package
- added %%licenses to sub package
- added BR tinyxml-devel
- added BR xml2po-devel
- added BR libxslt
- added BR libxml2-devel
- installed html docs


how get i the language file openclonk-release-5.5.1-src/docs/de.po
in the rpm package ?

Comment 6 Mario Blättermann 2015-02-19 22:32:57 UTC
(In reply to MartinKG from comment #5)
> - added BR xml2po-devel

This is confusing, xml2po-devel doesn't exist in Fedora. When filling the %changelog, use the same as in BR (pkgconfig style).
> 
> how get i the language file openclonk-release-5.5.1-src/docs/de.po
> in the rpm package ?
Have a look in the tutorial:
https://wiki.gnome.org/de/Uebersetzung/Handb%C3%BCcher%C3%9Cbersetzen
Maybe you should use itstool instead of the legacy gnome-doc-utils. The statements in paragraph B are actually outdated, old docbook style is fully supported by current versions of itstool/yelp-tools.

%package data
...
Requires:      %{name} = %{version}-%{release}

The -data package doesn't need the main package, but vice versa.

Comment 7 MartinKG 2015-02-20 21:18:21 UTC
new rpm package:

Spec URL: https://martinkg.fedorapeople.org/Review/SPECS/openclonk.spec
SRPM URL: https://martinkg.fedorapeople.org/Review/SRPMS/openclonk-5.5.1-3.fc21.src.rpm

%changelog
* Fri Feb 20 2015 Martin Gansser <martinkg> - 5.5.1-3
- corrected requirements to pkgconfig(xml2po)
- deleted Requieres from sub package
- added Requires to main package
- added html desktop files
- replaced tabs by space
- added RR xdg-utils to docs package
- added %%{?_smp_mflags} flag to html make
- added png file to devel-docs package

Comment 8 Mario Blättermann 2015-02-21 17:41:19 UTC
Scratch build fails:
http://koji.fedoraproject.org/koji/taskinfo?taskID=9017448

From build.log:

/var/tmp/rpm-tmp.X954tf: line 49: desktop-file-install: command not found

Add desktop-file-utils to BuildRequires.

The spec file contains still tabs and spaces mixed. The tabs are in these lines:

%package devel-docs
Summary:	Documentation for developing programs that will use %{name}
Group:		Documentation
BuildArch:	noarch

Comment 9 MartinKG 2015-02-21 18:38:32 UTC
new rpm package:

Spec URL: https://martinkg.fedorapeople.org/Review/SPECS/openclonk.spec
SRPM URL: https://martinkg.fedorapeople.org/Review/SRPMS/openclonk-5.5.1-4.fc21.src.rpm

%changelog
* Sat Feb 21 2015 Martin Gansser <martinkg> - 5.5.1-4
- added BR desktop-file-utils
- replaced tabs by space

Comment 10 MartinKG 2015-02-21 19:58:49 UTC
moch build and Scratch build are successfully:
http://koji.fedoraproject.org/koji/taskinfo?taskID=9018065

Comment 11 Mario Blättermann 2015-02-21 20:26:59 UTC
Created attachment 994199 [details]
rpmlint output

Comment 12 Mario Blättermann 2015-02-21 21:02:33 UTC
Scratch build (I started my own because I wasn't aware of yours):
http://koji.fedoraproject.org/koji/taskinfo?taskID=9018116

The rpmlint output is attached.

Some ignorable things:

* False positive spelling errors

* desktopfile-without-binary: we use xdg-open as a wrapper only
* no-manual-page-for-binary: not up to you to fix

But also important issues:

Invalid appdata file:
$ appstream-util validate *.xml
openclonk.appdata.xml: FAILED:
• tag-invalid           : <project_license> is not valid: SPDX ID 'GPLv2+' unknown

The license tag in this file is not conform to those licenses we use in spec files. Have a look at the license shortcuts applicable here:
http://spdx.org/licenses/
As far as I ca see, the license tag here has to be "GPL-2.0+ and BSD-2-Clause and ISC and CC-BY-SA-3.0". But the correct version of the BSD and CreativeCommon licenses still needs to be investigated.
 
A lot of spurious-executable-perm warnings. Remove the executable bit from all source files, except the scripts which are used to build the package. In fact all files which land in the debug package doesn't need to be executable.

...

By the way, the license checks:

$ licensecheck -r * | grep GPL
docs/xml2po.py: GPL (v2 or later) (with incorrect FSF address)

GPL-licensed is only xml2po.py. This is a helper script here, there's no GPL software which land in the resulting packages. Drop this license declaration generally.

$ licensecheck -r * | grep ISC
tests/DirectExecTest.cpp: ISC
tests/UnicodeHandlingTest.cpp: ISC
tests/C4ValueTest.cpp: ISC
tests/C4StringTableTest.cpp: ISC

As long as nothing of the test code goes into the resulting binaries, you can also drop the ISC license.

Regarding the CreativeCommons license, I can't find any license declaration within a file (or even a separate file). Are you sure CreativeCommons is applicable here?

Comment 13 MartinKG 2015-02-21 22:24:10 UTC
 (In reply to Mario Blättermann from comment #12)
> 
> Some ignorable things:
> 
> * False positive spelling errors
> 
> * desktopfile-without-binary: we use xdg-open as a wrapper only
> * no-manual-page-for-binary: not up to you to fix
>
accepted

> But also important issues:
> 
> Invalid appdata file:
> $ appstream-util validate *.xml
> openclonk.appdata.xml: FAILED:
> • tag-invalid           : <project_license> is not valid: SPDX ID 'GPLv2+'
> unknown
> 
> The license tag in this file is not conform to those licenses we use in spec
> files. Have a look at the license shortcuts applicable here:
> http://spdx.org/licenses/
> As far as I ca see, the license tag here has to be "GPL-2.0+ and
> BSD-2-Clause and ISC and CC-BY-SA-3.0". But the correct version of the BSD
> and CreativeCommon licenses still needs to be investigated.
>  
yes indeed

> A lot of spurious-executable-perm warnings. Remove the executable bit from
> all source files, except the scripts which are used to build the package. In
> fact all files which land in the debug package doesn't need to be executable.
> 
done

> 
> By the way, the license checks:
> 
> $ licensecheck -r * | grep GPL
> docs/xml2po.py: GPL (v2 or later) (with incorrect FSF address)
> 
> GPL-licensed is only xml2po.py. This is a helper script here, there's no GPL
> software which land in the resulting packages. Drop this license declaration
> generally.

done
> 
> $ licensecheck -r * | grep ISC
> tests/DirectExecTest.cpp: ISC
> tests/UnicodeHandlingTest.cpp: ISC
> tests/C4ValueTest.cpp: ISC
> tests/C4StringTableTest.cpp: ISC
> 
> As long as nothing of the test code goes into the resulting binaries, you
> can also drop the ISC license.

done
> 
> Regarding the CreativeCommons license, I can't find any license declaration
> within a file (or even a separate file). Are you sure CreativeCommons is
> applicable here?

i found this on wiki:
http://en.wikipedia.org/wiki/File:OpenClonk_Icon.png
that means CC-BY-NC-3.0 correct ?

and Clonk Source Code License (ISC)
http://www.clonk.de/source.php

and Clonk Game Content License
http://www.clonk.de/developer.php?lng=en
Creative Commons Attribution-NonCommercial (CC BY-NC)
http://creativecommons.org/licenses/by-nc/4.0/

which License tag should i use now ?

Comment 14 Mario Blättermann 2015-02-21 23:27:29 UTC
I had a deeper look at the licensing scenario, and hopefully I figured out what it really is.

GPL is not applicable, it refers to xml2po.py, which is a helper script only.

$ licensecheck -r * | grep BSD
thirdparty/getopt/getopt_long.c: BSD (3 clause)
thirdparty/getopt/getopt.c: BSD (3 clause)

This refers to bundled stuff. We don't use this, we need to pull the getopt development files from the build system. This also means you still have to remove thirdparty/getopt, better the whole thirdparty directory to be on safer side. Maybe a patch is needed to use the local getopt instead of the bundled one.

$ licensecheck -r * | grep ISC
tests/DirectExecTest.cpp: ISC
tests/UnicodeHandlingTest.cpp: ISC
tests/C4ValueTest.cpp: ISC
tests/C4StringTableTest.cpp: ISC

The licensecheck script fails here to correctly detect the license of the source files. The file headers map the ISC license, so this would be OK.

(In reply to MartinKG from comment #13)
> i found this on wiki:
> http://en.wikipedia.org/wiki/File:OpenClonk_Icon.png
> that means CC-BY-NC-3.0 correct ?
> 
See below (a "bad license"!).

> and Clonk Source Code License (ISC)
> http://www.clonk.de/source.php
> 
See above.

> and Clonk Game Content License
> http://www.clonk.de/developer.php?lng=en
> Creative Commons Attribution-NonCommercial (CC BY-NC)
> http://creativecommons.org/licenses/by-nc/4.0/
> 
> which License tag should i use now ?

As far as I can evaluate, the license tag has to be "ISC and CC-BY-NC". but have a look at the tables in the licensing guidelines:
https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Bad_Licenses_3
The Creative Commons Attribution-NonCommercial License is mentioned there as a "bad license" (maybe due to inacceptable restrictions). So I'm afraid this package is only releasable in RPMfusion.

Comment 15 MartinKG 2015-02-22 17:14:07 UTC
last file upload before switching to rpmfusion, due license issue.

Spec URL: https://martinkg.fedorapeople.org/Review/SPECS/openclonk.spec
SRPM URL: https://martinkg.fedorapeople.org/Review/SRPMS/openclonk-5.5.1-5.fc21.src.rpm

%changelog
* Sun Feb 22 2015 Martin Gansser <martinkg> - 5.5.1-5
- changed permission of files in src folder
- dropped GPLv2+ and ISC license
- correct spelling errors
- removed bundled getopt
- removed BSD license
- added ISC license
- replaced license CC-BY-SA by CC-BY-NC
- dropped GenericName entry from desktop file due display issue

Comment 16 Tobias Zwick 2015-03-15 20:21:07 UTC
Hi, I am Newton from the OpenClonk project.

Let me clarify the license question:

1. The source code is licensed under the ISC license
2. the game content is licensed under mixed CC 3.0 licenses of which none is more restrictive than CC-BY-SA (CC-BY, CC 0 and CC-BY-SA).

I realize it is not very clear from the website, so I added this in the FAQ as well
http://wiki.openclonk.org/w/FAQ#What_is_the_license_for_OpenClonk.3F

Greetings
  Newton

Comment 17 Mario Blättermann 2015-03-16 18:24:44 UTC
(In reply to Tobias Zwick from comment #16)
> Let me clarify the license question:
> 
> 1. The source code is licensed under the ISC license
> 2. the game content is licensed under mixed CC 3.0 licenses of which none is
> more restrictive than CC-BY-SA (CC-BY, CC 0 and CC-BY-SA).
> 
> I realize it is not very clear from the website, so I added this in the FAQ
> as well
> http://wiki.openclonk.org/w/FAQ#What_is_the_license_for_OpenClonk.3F
> 
Indeed, it was a bit confusing... Due to the CC-BY-NC I found we were mislead to categorize Openclonk into the no-go software, and the package has been introduced in RPM Fusion and built there:

http://cvs.rpmfusion.org/viewvc/rpms/openclonk/devel/?root=nonfree

Comment 18 Tobias Zwick 2015-03-17 22:26:56 UTC
> and the package has
> been introduced in RPM Fusion and built there:
> 
> http://cvs.rpmfusion.org/viewvc/rpms/openclonk/devel/?root=nonfree

Is it possible to correct this by pulling the package over to the "free" repository?

Comment 19 Antonio T. (sagitter) 2016-05-07 20:02:59 UTC

*** This bug has been marked as a duplicate of bug 1334059 ***


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