Bug 472356

Summary: Sloppy packaging
Product: [Fedora] Fedora Reporter: Michael Schwendt <bugs.michael>
Component: playerAssignee: Tim Niemueller <tim>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: 10CC: makghosh, tim
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-05-26 15:51:57 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 Michael Schwendt 2008-11-20 12:34:19 UTC
Inconsistent usage of RPM macros leads to packaging bugs:

* Package "player" includes directories included in package "player-examples".

* Sometimes you write %{name}, sometimes you spell it out: player
Use %{name} consistently.

* The following two are redundant:

%dir %{_libdir}/player
%{_libdir}/%{name}

The former one includes *only* the directory entry without its contents.
The latter includes the directory and its contents recursively.
(%name expands to "player").
In this case, drop the %dir line.

* In main package add:

%exclude %{_libdir}/%{name}/examples/

because this tree is included in the sub-package player-examples.

* In package player-examples (and whenever including directories,
make it more readable with a slash at the end. Instead of:

| %files examples
| %defattr(-,root,root,-)
| %{_libdir}/player/examples

Prefer:

| %files examples
| %defattr(-,root,root,-)
| %{_libdir}/player/examples/

* Clean up the installed trees. Delete unused static libs, Makefiles, and C/C++ source files.

* You do

| Requires: python >= 2.5

while the Python ABI requirement is automatic: python(abi) = 2.5

* Who approved the -static sub-package? What is the rationale?
It ought to be explained in a comment in the spec file.

Comment 1 Tim Niemueller 2008-11-20 12:47:05 UTC
Thanks for the comments. Will consider them for the next update.

The static libs are used because especially in robotics and university applications you want to be able to build a static version to deploy it on a robot (possibly running a very specific Linux version where it could be a pain to install player) or sending a static build to a fellow researcher possibly using a different version. It just saves you hassle in certain situations so it is good to have the static lib around and have the possibility. That was discussed during the review.

If you mean the example source files: they are included on purpose because that's the whole point of the examples, get an easy start on developing with Player, not on actually just using it. Basically Player is a development platform, not a "get it and drive your robot with it" kind of software.

Comment 2 Michael Schwendt 2008-11-20 13:26:04 UTC
Well, static archives won't work as plugins (as they cannot be
dlopened), so including them in the examples is useless. And to
include example Makefile.libtool files which do -rpath /tmp is
bad taste.

Comment 3 Bug Zapper 2008-11-26 05:39:17 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 10 development cycle.
Changing version to '10'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 4 Michael Schwendt 2009-05-26 15:51:57 UTC
It seems you're not interested in fixing packaging issues. Closing WONTFIX.