Bug 1572

Summary: Review request: wolf4sdl - SDL port of id Software's Wolfenstein 3D
Product: Package Reviews Reporter: Hans de Goede <hans>
Component: Review RequestAssignee: RPM Fusion Package Review <rpmfusion-package-review>
Status: RESOLVED FIXED    
Severity: normal CC: rpmfusion-package-review, tla
Priority: P5    
Version: Current   
Hardware: All   
OS: GNU/Linux   
namespace:
Bug Depends on:    
Bug Blocks: 4, 1573, 1574    

Description Hans de Goede 2010-12-28 15:56:21 CET
SPEC: http://jwrdegoede.danny.cz/wolf4sdl.spec
SRPM: http://jwrdegoede.danny.cz/wolf4sdl-1.6-1.fc14.src.rpm
description:
Maybe it was the fact that people got to blow away Nazis. Maybe it was the
sheer challenge of it all. For whatever reason, Wolfenstein 3D and Spear of
Destiny, pioneered the first-person shooter genre and brought its legendary
creators, id Software, worldwide notoriety and numerous awards. In fact, The
Computer Gaming World Hall of Fame recognized Wolfenstein 3D as helping to
shape the overall direction of the computer gaming industry.

Wolf4SDL is an open-source port of id Software's classic first-person shooter
Wolfenstein 3D to the cross-plattform multimedia library "Simple DirectMedia
Layer (SDL)" (http://www.libsdl.org). It is meant to keep the original feel
while taking advantage of some improvements.

Why not Fedora:
The license is non free (no commercial use clause, etc.)

rpmlint output (with remarks):
wolf4sdl.src: W: invalid-license Distributable
-Yep, that is why it needs to go to rpmfusion nonfree and not Fedora
wolf4sdl.src: W: patch-not-applied Patch0: 01-shareware-version.patch
wolf4sdl.src: W: patch-not-applied Patch6: Wolf4SDL-1.6-registered-apogee.patch
wolf4sdl.src: W: patch-not-applied Patch7: Wolf4SDL-1.6-spear.patch
wolf4sdl.src: W: patch-not-applied Patch8: Wolf4SDL-1.6-speardemo.patch
-These are applied one by one during %build to build different variants
wolf4sdl-debuginfo.x86_64: W: invalid-license Distributable
wolf4sdl-registered-apogee.x86_64: W: invalid-license Distributable
wolf4sdl-registered-id.x86_64: W: invalid-license Distributable
wolf4sdl-shareware.x86_64: W: invalid-license Distributable
wolf4sdl-spear.x86_64: W: invalid-license Distributable
wolf4sdl-spear-demo.x86_64: W: invalid-license Distributable
7 packages and 0 specfiles checked; 0 errors, 11 warnings.

Is this your first rpmfusion package? :
No
Comment 1 Tim Lauridsen 2011-01-06 11:15:38 CET
I will review this one
Comment 2 Tim Lauridsen 2011-01-06 11:25:08 CET
Look like the "Upstream" URL's has been changed to

http://chrisballinger.info/wolf4sdl/
http://chrisballinger.info/wolf4sdl/Wolf4SDL-1.6-src.zip

And there has been a 1.7 release.




Comment 3 Tim Lauridsen 2011-01-06 12:07:01 CET
Package Review
==============

Key:
- = N/A
x = Check
! = Problem
? = Not evaluated

=== REQUIRED ITEMS ===
[x]  Package is named according to the Package Naming Guidelines. [1]
[x]  Spec file name must match the base package %{name}, in the format %{name}.spec.
[x]  Spec file is legible and written in American English.
[x]  Spec file lacks Packager, Vendor, PreReq tags.
[x]  Spec uses macros instead of hard-coded directory names.
[x]  Package consistently uses macros.
[x]  Macros in Summary, %description expandable at SRPM build time.
[x]  PreReq is not used.
[x]  Requires correct, justified where necessary.
[x]  All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [2]
[x]  Buildroot is correct (%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)).
[x]  Package run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) and the beginning of %install.
[x]  Package use %makeinstall only when ``make install DESTDIR=...'' doesn't work.
[x]  Package has a %clean section, which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT).
[-]  The spec file handles locales properly.
[x]  Changelog in prescribed format.
[x]  Rpmlint output is silent.
[x]  License field in the package spec file matches the actual license.
[-]  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 file installed when any subpackage combination is installed.
[-]  Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [3,4]
    Ok for rpmfusion
[x]  Sources contain only permissible code or content.
[x]  Sources used to build the package matches the upstream source, as provided in the spec URL.
     MD5SUM this package     : 8195dbb793b55bbc6ff3db30bbb87689
     MD5SUM upstream package : 8195dbb793b55bbc6ff3db30bbb87689
[x]  Compiler flags are appropriate.
[x]  %build honors applicable compiler flags or justifies otherwise.
[-]  ldconfig called in %post and %postun if required.
[x]  Package must own all directories that it creates.
[!]  Package does not own files or directories owned by other packages.
[!]  Package requires other packages for directories it uses.
[!]  Package does not contain duplicates in %files.
     - There is some shared content/dir in the sub-packages,maybe a base package with the shared content/dirs ?
     - Can they be installed at the same time ?, if not the should maybe confict ?
     - it not a deal breaker for me, but let me know what you think
[x]  Permissions on files are set properly.
[x]  Each %files section contains %defattr.
[x]  No %config files under /usr.
[-]  %config files are marked noreplace or the reason is justified.
[x]  Package contains a properly installed %{name}.desktop using desktop-file-install file if it is a GUI application. [5]
[x]  Package contains a valid .desktop file.
[x]  Package contains code, or permissable content.
[-]  Package contains a SysV-style init script if in need of one.
[x]  File names are valid UTF-8.
[-]  Large documentation files are in a -doc subpackage, if required.
[x]  Package uses nothing in %doc for runtime.
[x]  Package contains no bundled libraries.
[-]  Header files in -devel subpackage, if present.
[-]  Static libraries in -static subpackage, if present.
[-]  Package contains no static executables.
[-]  Package requires pkgconfig, if .pc files are present.
[-]  Development .so files in -devel subpackage, if present.
[-]  Fully versioned dependency in subpackages, if present.
[-]  Package does not contain any libtool archives (.la).
[x]  Useful -debuginfo package or justification otherwise.
[x]  Rpath absent or only used for internal libs.
[x]  Package does not genrate any conflict.
[x]  Package does not contains kernel modules.
[x]  Package is not relocatable.
[x]  Package successfully compiles and builds into binary rpms on at least one supported architecture.
     - build in mock for i686
[x]  Package is not known to require ExcludeArch.
[x]  Package installs properly.
[x]  Package obeys FHS, except libexecdir and /usr/target.
[x]  Package meets the Packaging Guidelines. [6]

=== SUGGESTED ITEMS ===
[x]  Package functions as described.
[!]  Latest version is packaged.
[x]  Package does not include license text files separate from upstream.
[-]  If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it.
[-]  Description and summary sections in the package spec file contains translations for supported Non-English languages, if available.
[!]  SourceX is a working URL.
[!]  SourceX / PatchY prefixed with %{name}.      
[x]  Final provides and requires are sane (rpm -q --provides and rpm -q --requires).
[-]  %check is present and all tests pass.
[-]  Usually, subpackages other than devel should require the base package using a fully versioned dependency.
     No base package, only subpackages
[x]  Reviewer should test that the package builds in mock.
[?]  Package should compile and build into binary rpms on all supported architectures.
[x]  Dist tag is present.
[x]  Spec use %global instead of %define.
[-]  Scriptlets must be sane, if used.
[-]  The placement of pkgconfig(.pc) files are correct.
[-]  No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[?]  Packages should try to preserve timestamps of original installed files.
[-]  File based requires are sane.
[x]  Man pages included for all executables.
[?]  Uses parallel make.
[-]  Patches link to upstream bugs/comments/lists or are otherwise justified.

=== Issues ===
1. Same content i muliple subpackages (see above)
2. URL / Source0 URL need to be updated to new upstream location
3. Maybe update to latest upstream release. 
Comment 4 Hans de Goede 2011-01-06 13:49:21 CET
Hi,

Thanks for the review!

(In reply to comment #3)

> === Issues ===
> 1. Same content i muliple subpackages (see above)

This is intentional, these files are very small, and as long as they
are identical between versions (which they are) rpm will not raise file
conflict errors (this is also how things work with header files with
multilib -devel packages).

Given the small size of the shared files I don't think that doing a -common subpackage is worth it.

> 2. URL / Source0 URL need to be updated to new upstream location

Will do.

> 3. Maybe update to latest upstream release. 

Well the original upstream is dead and has gone 404 (dropped of the net) a few days before I finished packaging this. It looks like Chris Ballinger is continuing from where the original upstream left, taking the latest svn
snapshot from the original upstream and doing a 1.7 released based on that.

I've been working on packaging wolf4sdl together with Fabian Greffrath from Debian we we're planning on starting a new upstream at sourceforge.net to have a VCS to integrate our patches (and a bugtracker and a place to do new releases), but then discovered about Chris Ballinger's work 2 days ago. We've contacted Chris to work together with him to start a new upstream (including a VCS, bugtracker, etc.). We're awaiting an answer from Chris atm.

So I would like to stay with the proven (unchanged for ages) 1.6 version and then move to a newer upstream version once a new upstream has been established.

###

If you're ok with my answers to 1. and 3. I'll do a new version fixing 2.
Comment 5 Tim Lauridsen 2011-01-06 14:08:46 CET
OK, fine with me.

== APPROVED ==
Comment 6 Hans de Goede 2011-01-08 16:37:58 CET
Package CVS request
======================
Package Name: wolf4sdl
Short Description: SDL port of id Software's Wolfenstein 3D
Owners: jwrdegoede
Branches: F-13 F-14
InitialCC:
----------------------
License tag: nonfree


Comment 7 Hans de Goede 2011-01-09 19:59:28 CET
Imported and build, closing.

kwizard, thanks for taking care of the CVS admin request.