Bug 759059

Summary: Review Request: SFML - Simple and Fast Multimedia Library
Product: [Fedora] Fedora Reporter: Julian Sikorski <belegdol>
Component: Package ReviewAssignee: Mohamed El Morabity <pikachu.2014>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: alexjnewt, bioinfornatics, leif.walsh, notting, pikachu.2014
Target Milestone: ---Flags: pikachu.2014: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-01-13 01:46:50 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:
Bug Depends On: 759057    
Bug Blocks: 997679    

Description Julian Sikorski 2011-12-01 10:51:05 UTC
Spec URL: http://belegdol.fedorapeople.org/SFML.spec
SRPM URL: http://belegdol.fedorapeople.org/SFML-1.6-1.fc16.src.rpm
Description:
SFML is a portable and easy to use multimedia API written in C++. You can see
it as a modern, object-oriented alternative to SDL.
SFML is composed of several packages to perfectly suit your needs. You can use
SFML as a minimal windowing system to interface with OpenGL, or as a
fully-featured multimedia library for building games or interactive programs.

Package builds fine in mock/fedora-16-x86_64. rpmlint output:
$ rpmlint SFML.spec ../SRPMS/SFML-1.6-1.fc16.src.rpm ../RPMS/x86_64/SFML-*
4 packages and 1 specfiles checked; 0 errors, 0 warnings.

Comment 1 MERCIER Jonathan 2011-12-18 23:29:10 UTC
*** Bug 652085 has been marked as a duplicate of this bug. ***

Comment 2 Mohamed El Morabity 2011-12-18 23:33:20 UTC
I will review your package.

Comment 3 Julian Sikorski 2011-12-23 13:13:50 UTC
New release:
Spec URL: http://belegdol.fedorapeople.org/SFML.spec
SRPM URL: http://belegdol.fedorapeople.org/SFML-1.6-2.fc16.src.rpm

Changes:
- s/libSOIL/SOIL
- Fixed the shared libs usage

Comment 4 Leif Walsh 2012-01-03 18:08:27 UTC
I am trying to build dolphin, which requires sfml-devel.  I could only find the binary on your server, so I tried to build from spec, but I also could not find the two patches the spec references, so I commented them out, and got this failure:

g++ -o SocketUDP.o -c SocketUDP.cpp -I../../../include -I../../ -O2 -g -fPIC
Linux/WindowImplX11.cpp:30:38: fatal error: SFML/Window/glext/glxext.h: No such file or directory
compilation terminated.

Can you provide the patches if they fix this, or help me debug this failure?  I don't even see the SFML/Window/glext directory.

Also, your binary packages assume the existence of a user "julas".  This seems to be an error.

Comment 5 Leif Walsh 2012-01-03 18:12:54 UTC
It seems I just don't know what a "source RPM" is.  I'm new to RPM, sorry.  Investigating on my own, will come back if I don't get it right.

Comment 6 Julian Sikorski 2012-01-03 18:46:08 UTC
Just ignore the julas user/group - it is the leftover from the system I created the srpm on.
A simple
$ rpmbuild --rebuild SFML-1.6-2.fc16.src.rpm
should do the trick, provided you build and install SOIL (blocks this bug) first.

Comment 7 Leif Walsh 2012-01-03 19:16:34 UTC
Got it working, thanks!

Comment 8 Julian Sikorski 2012-01-12 14:36:55 UTC
New release:
Spec URL: http://belegdol.fedorapeople.org/SFML.spec
SRPM URL: http://belegdol.fedorapeople.org/SFML-1.6-2.fc16.src.rpm

Changes:
- Use one patch and variables in place of sed to fix the makefile
- Fixed building with libpng-1.5 using a patch from Gentoo
- Updated the gcc patch for gcc-4.7

Comment 9 Julian Sikorski 2012-01-12 14:37:24 UTC
Oops, one more time. New release:
Spec URL: http://belegdol.fedorapeople.org/SFML.spec
SRPM URL: http://belegdol.fedorapeople.org/SFML-1.6-3.fc16.src.rpm

Changes:
- Use one patch and variables in place of sed to fix the makefile
- Fixed building with libpng-1.5 using a patch from Gentoo
- Updated the gcc patch for gcc-4.7

Comment 10 Mohamed El Morabity 2012-01-13 00:26:24 UTC
You've done a real good job on this package: all the embeded dependences are correctly dropped, and all the patches are OK for me. Here is the review, at last:

 +:ok, =:needs attention, -:needs fixing

MUST Items:

[+] MUST: rpmlint must be run on every package.
4 packages and 0 specfiles checked; 0 errors, 0 warnings.

[+] MUST: The package must be named according to the Package Naming Guidelines.

[+] MUST: The spec file name must match the base package %{name}

[+] MUST: The package must meet the Packaging Guidelines.

[+] MUST: The package must be licensed with a Fedora approved license and meet
the Licensing Guidelines.

[=] MUST: The License field in the package spec file must match the actual
license.
>>src/SFML/Audio/stb_vorbis/* files are public domain

[+] 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 must be included in %doc.

[+] MUST: The spec file must be written in American English.

[+] MUST: The spec file for the package MUST be legible.

[+] MUST: The sources used to build the package must match the upstream source,
as provided in the spec URL.
>>MD5 sum=7a9b3a1ef6d14cd25090e440ccdbb3a8 OK

[+] MUST: The package must successfully compile and build into binary rpms on
at least one supported architecture.

[+] MUST: If the package does not successfully compile, build or work on an
architecture, then those architectures should be listed in the spec in
ExcludeArch.

[+] MUST: All build dependencies must be listed in BuildRequires

[+] MUST: The spec file MUST handle locales properly. This is done by using the
%find_lang macro.

[+] MUST: Every binary RPM package which stores shared library files (not just
symlinks) in any of the dynamic linker's default paths, must call ldconfig in
%post and %postun.

[+] MUST: If the package is designed to be relocatable, the packager must state
this fact in the request for review

[+] MUST: A package must own all directories that it creates. If it does not
create a directory that it uses, then it should require a package which does
create that directory.

[+] MUST: A package must not contain any duplicate files in the %files listing.

[+] MUST: Permissions on files must be set properly. Executables should be set
with executable permissions, for example.

[+] MUST: Each package must consistently use macros, as described in the macros
section of Packaging Guidelines.

[+] MUST: The package must contain code, or permissible content. This is
described in detail in the code vs. content section of Packaging Guidelines.

[+] MUST: Large documentation files should go in a doc subpackage.

[+] MUST: If a package includes something as %doc, it must not affect the
runtime of the application.

[+] MUST: Header files must be in a -devel package.

[+] MUST: Static libraries must be in a -static package.

[+] MUST: If a package contains library files with a suffix (e.g.
libfoo.so.1.1), then library files that end in .so (without suffix) must go in
a -devel package.

[+] MUST: In the vast majority of cases, devel packages must require the base
package using a fully versioned dependency: Requires: %{name} =
%{version}-%{release} 

[+] MUST: Packages must NOT contain any .la libtool archives, these should be
removed in the spec.

[+] MUST: Packages containing GUI applications must include a %{name}.desktop
file, and that file must be properly installed with desktop-file-install in the
%install section.

[+] MUST: Packages must not own files or directories already owned by other
packages.

[+] MUST: All filenames in rpm packages must be valid UTF-8.

Once the licensing issue fixed, I will approve your package.

Comment 11 Julian Sikorski 2012-01-13 01:02:44 UTC
New release:
Spec URL: http://belegdol.fedorapeople.org/SFML.spec
SRPM URL: http://belegdol.fedorapeople.org/SFML-1.6-4.fc16.src.rpm

Changes:
- Fixed the License tag

Comment 12 Mohamed El Morabity 2012-01-13 01:07:03 UTC
APPROVED!

Comment 13 Julian Sikorski 2012-01-13 01:12:30 UTC
New Package SCM Request
=======================
Package Name: SFML
Short Description: Simple and Fast Multimedia Library
Owners: belegdol
Branches: F-16 F-15
InitialCC:

Comment 14 Gwyn Ciesla 2012-01-13 01:28:41 UTC
Git done (by process-git-requests).