Bug 914798
Summary: | Review Request: jvgs - Minimalistic platform game loosely based on xkcd webcomic | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Paulo Andrade <paulo.cesar.pereira.de.andrade> |
Component: | Package Review | Assignee: | Jerry James <loganjerry> |
Status: | CLOSED NOTABUG | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | loganjerry, notting, package-review |
Target Milestone: | --- | Flags: | loganjerry:
fedora-review?
|
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2013-08-20 19:43:16 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Paulo Andrade
2013-02-22 19:13:52 UTC
About the sound track: http://ghosts.nin.com/main/faq and the homepage tells one of the sound authors helped in making the game: "The game was written by Jasper Van der Jeugt (me). I received help from Nickoli Vega, who wrote some of the poems and assisted in game design." Sample gameplay: https://www.youtube.com/watch?v=UauZgrnKp0c I started making the rpm from scratch, but found that there is an archlinux package, so, I adapted it to make a rpm package: https://aur.archlinux.org/packages/jvgs Minor corrections to the package: - Correct wrapper script to not need to pass main.lua as first argument. - Install main binary in %%_bindir. - Add a simple manual page to the package. - Make the data package require the main package. It was installing a binary in %_datadir and was not much helpful by needing to pass main.lua as first argument. The simple manual page describes the (3) available options, basically one needs to pass "--witdth x --height y" to use windowed mode, and pass "--fullscreen yes" to revert to default fullscreen mode. The manual page also describes the license for the code and data files. Spec URL: http://pcpa.fedorapeople.org/jvgs.spec SRPM URL: http://pcpa.fedorapeople.org/jvgs-0.5-2.fc20.src.rpm Issues: 1. The proper build flags are not being used. The proper *linker* flags are, though. 2. Where did "WTFPL" for the main package license and "CC-BY-SA" for the data package license come from? The "AUTHORS" file claims that the code and data are GPL (no version specified), the graphics are CC0, the soundtrack is Creative Commons Attribution Non-Commercial Share Alike (which cannot be used in Fedora: see https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Bad_Licenses_3), and sound effects are the same license as Wesnoth (GPLv2+). I'm not totally sure what is in each package, other than that the code is in the main package. Can you explain the licensing situation, please? (Also, are the reused Wesnoth files packaged? If so, is there some way of reusing the existing Wesnoth packages?) 3. See https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Icon_Cache for scriptlets to use with a desktop file that installs an icon. 4. According to https://fedoraproject.org/wiki/Packaging:Guidelines#Avoid_bundling_of_fonts_in_other_packages you should not bundle the one font file into the -data subpackage. However, this is only a *should*, not a *must*, and I'm not at all convinced that you should change the package. 5. The man page is installed into man6, but it says (1) on the actual page. Package Review ============== Key: [x] = Pass [!] = Fail [-] = Not applicable [?] = Not evaluated [ ] = Manual review needed ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [x]: Package does not contain any libtool archives (.la) [x]: Rpath absent or only used for internal libs. Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [!]: %build honors applicable compiler flags or justifies otherwise. [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [x]: Development files must be in a -devel package [x]: Package requires other packages for directories it uses. [x]: Package uses nothing in %doc for runtime. [x]: Package is not known to require ExcludeArch. [x]: Fully versioned dependency in subpackages, if present. [x]: Package complies to the Packaging Guidelines [x]: 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. [!]: License field in the package spec file matches the actual license. [x]: License file installed when any subpackage combination is installed. [x]: Package consistently uses macro is (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [x]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Package must own all directories that it creates. [x]: Package does not own files or directories owned by other packages. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [x]: Package contains systemd file(s) if in need. [x]: update-desktop-database is invoked when required [x]: Useful -debuginfo package or justification otherwise. [x]: Large documentation must go in a -doc subpackage. Note: Documentation size is 10240 bytes in 2 files. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Each %files section contains %defattr if rpm < 4.4 [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Package contains desktop file if it is a GUI application. [x]: Package installs a %{name}.desktop using desktop-file-install if there is such a file. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Spec file lacks Packager, Vendor, PreReq tags. [x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package do not use a name that already exist [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: File names are valid UTF-8. [x]: Packages must not store files under /srv, /opt or /usr/local [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). ===== SHOULD items ===== Generic: [!]: Avoid bundling fonts in non-fonts packages. Note: Package contains font files [x]: 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]: Final provides and requires are sane (see attachments). [x]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: Patches link to upstream bugs/comments/lists or are otherwise justified. [x]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [x]: Package should compile and build into binary rpms on all supported architectures. [!]: %check is present and all tests pass. [x]: Packages should try to preserve timestamps of original installed files. [x]: Sources can be downloaded from URI in Source: tag [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: Dist tag is present. [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Uses parallel make. [x]: SourceX tarball generation or download is documented. [x]: SourceX is a working URL. [x]: Spec use %global instead of %define. ===== EXTRA items ===== Generic: [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: jvgs-0.5-2.fc20.x86_64.rpm jvgs-data-0.5-2.fc20.noarch.rpm jvgs.x86_64: W: spelling-error Summary(en_US) Minimalistic -> Minimalist, Minimalism, Animistic jvgs.x86_64: W: spelling-error Summary(en_US) xkcd jvgs.x86_64: W: spelling-error Summary(en_US) webcomic -> web comic, web-comic, economic jvgs.x86_64: W: no-manual-page-for-binary jvgs.exe jvgs-data.noarch: W: no-documentation jvgs-data.noarch: E: zero-length /usr/share/jvgs/resources/level-end/girl.lua 2 packages and 0 specfiles checked; 1 errors, 5 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint jvgs jvgs-data jvgs.x86_64: W: spelling-error Summary(en_US) Minimalistic -> Minimalist, Minimalism, Animistic jvgs.x86_64: W: spelling-error Summary(en_US) xkcd jvgs.x86_64: W: spelling-error Summary(en_US) webcomic -> web comic, web-comic, economic jvgs.x86_64: W: no-manual-page-for-binary jvgs.exe jvgs-data.noarch: W: no-documentation jvgs-data.noarch: E: zero-length /usr/share/jvgs/resources/level-end/girl.lua 2 packages and 0 specfiles checked; 1 errors, 5 warnings. # echo 'rpmlint-done:' Requires -------- jvgs (rpmlib, GLIBC filtered): /bin/sh jvgs-data libGL.so.1()(64bit) libGLU.so.1()(64bit) libSDL-1.2.so.0()(64bit) libSDL_mixer-1.2.so.0()(64bit) libX11.so.6()(64bit) libXext.so.6()(64bit) libc.so.6()(64bit) libfreetype.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) liblua-5.1.so()(64bit) libm.so.6()(64bit) libpthread.so.0()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libtinyxml.so.0()(64bit) libz.so.1()(64bit) rtld(GNU_HASH) jvgs-data (rpmlib, GLIBC filtered): jvgs Provides -------- jvgs: jvgs jvgs(x86-64) jvgs-data: jvgs-data MD5-sum check ------------- http://downloads.sourceforge.net/jvgs/jvgs-0.5-src.tar.gz : CHECKSUM(SHA256) this package : b906b96a532303df295312e7b352ab06d1c010ccf201527b2dade4634529efdb CHECKSUM(SHA256) upstream package : b906b96a532303df295312e7b352ab06d1c010ccf201527b2dade4634529efdb Generated by fedora-review 0.4.0 (660ce56) last change: 2013-01-29 Buildroot used: fedora-rawhide-x86_64 Command line :/usr/bin/fedora-review -b 914798 -m fedora-rawhide-x86_64 (In reply to comment #3) > Issues: > 1. The proper build flags are not being used. The proper *linker* flags are, > though. It was being hardcoded in src/CMakeLists.txt. Added a patch to revert it. > 2. Where did "WTFPL" for the main package license and "CC-BY-SA" for the data The WTFPL comes from the home page http://jvgs.sourceforge.net/ as well as the README in https://github.com/jaspervdj/jvgs But you are right, I did not full proof check it. It appears the license was changed after the last tarball upload to sourceforge. I changed to use the license in the tarball, and not the one in the main page neither in github sources. > package license come from? The "AUTHORS" file claims that the code and > data are GPL (no version specified), the graphics are CC0, the soundtrack > is Creative Commons Attribution Non-Commercial Share Alike (which cannot > be > used in Fedora: see > > https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Bad_Licenses_3), > and sound effects are the same license as Wesnoth (GPLv2+). I'm not > totally sure what is in each package, other than that the code is in the > main package. Can you explain the licensing situation, please? (Also, > are > the reused Wesnoth files packaged? If so, is there some way of reusing > the > existing Wesnoth packages?) I believe it may not be reasonable to use. Probaly would need to requires wesnoth and symlink .ogg files from wesnoth data dir, and still, the files are likely very small. Example: $ du -h BUILD/jvgs-0.5-src/resources/hedgehog/hedgehog.ogg 12K BUILD/jvgs-0.5-src/resources/hedgehog/hedgehog.ogg and there are like only 3 or 4 of those. > 3. See https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Icon_Cache > for scriptlets to use with a desktop file that installs an icon. It is not under %_datadir/icons but in %_datadir/pixmaps. I have at least one other package that installs an icon in %_datadir/pixmaps. Should I move the icon to %_datadir/icons and add the scriptlets? > 4. According to > > https://fedoraproject.org/wiki/Packaging: > Guidelines#Avoid_bundling_of_fonts_in_other_packages > you should not bundle the one font file into the -data subpackage. > However, > this is only a *should*, not a *must*, and I'm not at all convinced that > you > should change the package. I will try to confirm what I believe to be the case, but I think this is a specially edited/built font just for the game, to have the hand written effect. > 5. The man page is installed into man6, but it says (1) on the actual page. Ops. Fixed. I made a new package for the sake of correcting what I could, but I will email the author to try to clarify the license issues. Update: - Use license information from tarball not homepaga (#914798#3). - Do not hardcode CMAKE_CXX_FLAGS (#914798#3). - Correct manual page section (#914798#3). Spec URL: http://pcpa.fedorapeople.org/jvgs.spec SRPM URL: http://pcpa.fedorapeople.org/jvgs-0.5-3.fc20.src.rpm (In reply to comment #4) > The WTFPL comes from the home page http://jvgs.sourceforge.net/ as well as > the README in https://github.com/jaspervdj/jvgs > But you are right, I did not full proof check it. It appears the license > was changed after the last tarball upload to sourceforge. I changed to > use the license in the tarball, and not the one in the main page neither > in github sources. Oh, okay, I see it. That's confusing. Regarding Wesnoth packages: > I believe it may not be reasonable to use. Probaly would need to > requires wesnoth and symlink .ogg files from wesnoth data dir, and > still, the files are likely very small. Example: > $ du -h BUILD/jvgs-0.5-src/resources/hedgehog/hedgehog.ogg > 12K BUILD/jvgs-0.5-src/resources/hedgehog/hedgehog.ogg > and there are like only 3 or 4 of those. OK, that's fine. I just thought the question should be asked. > It is not under %_datadir/icons but in %_datadir/pixmaps. I have at > least one other package that installs an icon in %_datadir/pixmaps. > Should I move the icon to %_datadir/icons and add the scriptlets? Oh. Hmmm. I don't know the answer to that question. Just leave it alone for now, and I'll try to find out. > I will try to confirm what I believe to be the case, but I think > this is a specially edited/built font just for the game, to have > the hand written effect. That's my opinion, too. I don't think you need to do anything special for that one font file. > I made a new package for the sake of correcting what I could, but I will > email the author to try to clarify the license issues. Great! I'll wait for word on the license situation, then. I received a reply a few days ago, and asked to, if possible upload a new tarball too sourceforge, but that should not be required, as the confusion about WTFPL and GPL+ should have been solved. About the sound track, it may be required to lift FE-LEGAL? But I believe there are other CC-BY-SA 3.0 packages already in fedora, and it was my understanding that it is allowed: http://ghosts.nin.com/main/faq I did wait a bit as I told the author it would help if he did reply here, but that it was not required :-) (In reply to comment #6) > About the sound track, it may be required to > lift FE-LEGAL? But I believe there are other > CC-BY-SA 3.0 packages already in fedora, and > it was my understanding that it is allowed: > http://ghosts.nin.com/main/faq Yes, CC-BY-SA 3.0 is okay. My concern is that the AUTHORS file mentions the Creative Commons Attribution Non-Commercial Share Alike license, which is NOT the same thing as CC-BY-SA 3.0 (the problem is the "Non-Commercial" part). So which license is the sound track actually under? I think it is another case of the AUTHORS file outdated. The link in the faq points to http://creativecommons.org/licenses/by-nc-sa/3.0/us/ Upstream (Thanks Jasper!) did upload a new 0.5.1 release with updated license information. The license file lists the package as GPLv3+. The soundtrack as CC-BY-SA 3.0, and the Wesnoth sound effects as GPLv2. - Update to latest upstream release. - Update License tag to match latest release. Spec URL: http://pcpa.fedorapeople.org/jvgs.spec SRPM URL: http://pcpa.fedorapeople.org/jvgs-0.5.1-1.fc20.src.rpm Wow, this package has had some license churn. I see that the AUTHORS file still says: The soundtrack was made by Nine Inch Nails and released under a Creative Commons Attribution Non-Commercial Share Alike license. See http://creativecommons.org/licenses/by-nc-sa/3.0/us/ and http://ghosts.nin.com for details. The "Non-Commercial" clause is still there, and the URL now points to the non-commercial version of the license. That license is not acceptable for Fedora. See https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Bad_Licenses_3 Is this correct, or a mistake of some kind? jvgs-data.noarch: E: zero-length /usr/share/jvgs/resources/level-end/girl.lua (In reply to comment #10) > Wow, this package has had some license churn. I see that the AUTHORS file > still says: > > The soundtrack was made by Nine Inch Nails and released under a Creative > Commons > Attribution Non-Commercial Share Alike license. See > http://creativecommons.org/licenses/by-nc-sa/3.0/us/ and > http://ghosts.nin.com > for details. > > The "Non-Commercial" clause is still there, and the URL now points to the > non-commercial version of the license. That license is not acceptable for > Fedora. See > https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Bad_Licenses_3 I think I cannot help much here :-( Most likely the Non-Commercial, but allows fair use, etc, is to prevent big labels from taking possession of the work, as download of the musics is free and encouraged; there is no obligation to buy it. > Is this correct, or a mistake of some kind? > > jvgs-data.noarch: E: zero-length /usr/share/jvgs/resources/level-end/girl.lua I believe it is correct. The .lua level files are used to implement event handlers, like collision check, damage, etc, and if you play the last level you will understand why it is empty. What you can do is exclude the soundtrack from the Fedora package, and include a README that says, "If you want a soundtrack for this game, make sure you can comply with the CC-BY-NC-SA 3.0 license, then download the track from such and such a URL and install it in such and such a place in the filesystem." Will the game work if the soundtrack is missing? (In reply to comment #12) > What you can do is exclude the soundtrack from the Fedora package, and > include a README that says, "If you want a soundtrack for this game, make > sure you can comply with the CC-BY-NC-SA 3.0 license, then download the > track from such and such a URL and install it in such and such a place in > the filesystem." > > Will the game work if the soundtrack is missing? Moving /usr/share/jvgs/resources/music to some backup dir and starting the game works fine (without sound of course). I could write a README telling to download the sourceforge tarball and copy the music to the proper place. But I think it is better to forget about this review for now, as the proper place for it should be rpmfusion. I am going to close this bug. Sorry it didn't work out. If anything changes, please reopen the bug. |