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
will upload new rpms later.
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...
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
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.
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 ?
(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.
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
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
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
moch build and Scratch build are successfully: http://koji.fedoraproject.org/koji/taskinfo?taskID=9018065
Created attachment 994199 [details] rpmlint output
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?
(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 ?
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.
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
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
(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
> 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?
*** This bug has been marked as a duplicate of bug 1334059 ***