Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 190876 - Review Request: childsplay - Suite of educational games for young children
Summary: Review Request: childsplay - Suite of educational games for young children
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Wart
QA Contact: Fedora Package Reviews List
URL:
Whiteboard:
Depends On: 190878
Blocks: FE-ACCEPT
TreeView+ depends on / blocked
 
Reported: 2006-05-05 20:44 UTC by Hans de Goede
Modified: 2007-11-30 22:11 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-05-11 19:49:37 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Improved specfile (4.91 KB, text/plain)
2006-05-10 08:04 UTC, Hans de Goede
no flags Details

Description Hans de Goede 2006-05-05 20:44:21 UTC
Spec URL: http://home.zonnet.nl/jwrdegoede/childsplay.spec
SRPM URL: http://home.zonnet.nl/jwrdegoede/childsplay-0.81.8-1.src.rpm
Description:
Childsplay is a 'suite' of educational games for young children. It's written
in Python and uses the SDL-libraries. The aim is to be educational and at the
same time be fun to play.

Some activities make use of language dependent voice samples, these sounds are
shared with gcompris. For those you'll have to install the gcompris-sound
package for the languages you intend to use. For example gcompris-sound-en .

---

Notice that this package is pretty useless with any plugins installed, this I made it depend on the default plugins packages childsplay_plugings, I'll create a review request for that one next.

Comment 1 Hans de Goede 2006-05-05 20:50:39 UTC
For childsplay_plugins see: bug 190878

Comment 2 Wart 2006-05-10 03:57:30 UTC
I'm almost done with a full review; I'm just waiting on a buildable plugins
package.  The only MUSTFIX that I've found so far is a missing BR:
desktop-file-utils.

Comment 3 Wart 2006-05-10 06:19:03 UTC
MUST
====
* rpmlint output clean
* Package and spec file named appropriately
* Source matches upstream:
  2353509fda8cf7d32c8a10ebd8390370  childsplay-0.81.8.tgz
* GPL license ok, license file included
* Spec file legible and in Am. English
* Builds in mock on:
  devel-i386,
* Locales handled correctly with %find_lang
* No shared libs
* Not relocatable
* Owns directories that it creates
* No need for -docs subpackage
* RPM_BUILD_ROOT cleaned as needed
* No duplicate %files
* Permissions look ok
* No -devel package needed
* .desktop file installed correctly

SHOULDFIX
=========
* Remove the single-quotes from the word 'suite' in the %description.

* Package includes precompiled .pyo files.  These should probably be removed
  and %ghosted.  The python guidelines[1] don't forbid them, but the python
  package that I've seen always remove them.

[1] http://fedoraproject.org/wiki/Packaging/Python

MUSTFIX
=======
* Missing BR: desktop-file-utils

QUESTIONS
=========
* Why change /usr/bin/env python to /usr/bin/python?  The former will
  pick up the first python executable in the path, which should be ok.
  Even if you decide to change it, you should probably use %{_bindir}/python
  instead of hardcoding /usr/bin in the sed command.


Comment 4 Hans de Goede 2006-05-10 08:04:27 UTC
Created attachment 128836 [details]
Improved specfile

(In reply to comment #3)
> 
> SHOULDFIX
> =========
> * Remove the single-quotes from the word 'suite' in the %description.
> 
Done

> * Package includes precompiled .pyo files.  These should probably be removed
>   and %ghosted.  The python guidelines[1] don't forbid them, but the python
>   package that I've seen always remove them.
> 
Done

> MUSTFIX
> =======
> * Missing BR: desktop-file-utils
> 

Fixed

> QUESTIONS
> =========
> * Why change /usr/bin/env python to /usr/bin/python?	The former will
>   pick up the first python executable in the path, which should be ok.
Because leaving it in  will make the package "Requires: /usr/bin/env" (rpmbuild
does this automaticly).

>   Even if you decide to change it, you should probably use %{_bindir}/python
>   instead of hardcoding /usr/bin in the sed command.
> 
Done

Comment 5 Wart 2006-05-10 16:50:07 UTC
All MUSTFIX and SHOULDFIX items addressed.  Package runs ok.

APPROVED

Now let's check out the plugins...

Comment 6 Wart 2006-05-10 18:11:57 UTC
I just discovered that ownership of /usr/share/assetml is causing minor problems
during the uninstall process.  If you install a sound package, such as
gcompris-sound-en, then try to uninstall childsplay, the unisntall fails with:
$ sudo rpm -e childsplay childsplay_plugins error: Failed dependencies:
        /usr/share/assetml is needed by (installed) gcompris-sound-en-7.4-9.fc6.i386

This is because /usr/share/assetml is owned by childsplay, but not by
gcompris-sounds.  Either:
1) make the gcompris sound package own /usr/share/assetml
2) remove the ownership of /usr/share/assetml from childsplay
3) Remove all ownership of /usr/share/assetml from everything except libassetml
and make all assetml sound packages (including childsplay) require libassetml.
4) Ignore the errors since it affects rpm but not yum.

#3 could be modified so that there is a libassetml-fs package that provides
/usr/share/assetml, which is required by gcompris-sound-*, childsplay, etc.

Comment 7 Hans de Goede 2006-05-11 13:09:16 UTC
(In reply to comment #6)
> I just discovered that ownership of /usr/share/assetml is causing minor problems
> during the uninstall process.  If you install a sound package, such as
> gcompris-sound-en, then try to uninstall childsplay, the unisntall fails with:
> $ sudo rpm -e childsplay childsplay_plugins error: Failed dependencies:
>         /usr/share/assetml is needed by (installed)
gcompris-sound-en-7.4-9.fc6.i386
> 
> This is because /usr/share/assetml is owned by childsplay, but not by
> gcompris-sounds.  Either:
> 1) make the gcompris sound package own /usr/share/assetml
> 2) remove the ownership of /usr/share/assetml from childsplay
> 3) Remove all ownership of /usr/share/assetml from everything except libassetml
> and make all assetml sound packages (including childsplay) require libassetml.
> 4) Ignore the errors since it affects rpm but not yum.
> 
> #3 could be modified so that there is a libassetml-fs package that provides
> /usr/share/assetml, which is required by gcompris-sound-*, childsplay, etc.

This is intented behaviour, since you no longer have any need for
gcompris-sound-en you should uninstall it as well.

My idea behind this is as follows:
-one or more applications can use assetml format data, they
 Provide /usr/share/assetml
 (In the case of childsplay directyl, because it has a build in (python)
  assetml parser, in the case of gcompris through libassetml whihc gcompris 
  Requires).
-assetml data packages Require: /usr/share/assetml
-if all users of assetml data get uninstalled, then the assetml data packages
 must be uninstalled too, since they Require: /usr/share/assetml which then
 no longer is provided.
-This having to remove assetml data packages when tehre are no more assetml
 data users is imho a feature not a bug :)


Comment 8 Wart 2006-05-11 18:51:42 UTC
This explanation works for me.  This is still APPROVED.

Comment 9 Hans de Goede 2006-05-11 19:49:37 UTC
Imported & Build.



Note You need to log in before you can comment on or make changes to this bug.