Bug 567678 - Review Request: Cameramonitor - Notification icon when webcam is active
Summary: Review Request: Cameramonitor - Notification icon when webcam is active
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Nobody's working on this, feel free to take it
QA Contact: Fedora Extras Quality Assurance
URL: http://people.redhat.com/adingman/
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-02-23 16:33 UTC by Andrew Dingman
Modified: 2010-11-17 08:29 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-11-17 08:29:40 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Andrew Dingman 2010-02-23 16:33:19 UTC
This is my first package for Fedora, so I will need a sponsor. I've tried to comply with the guidelines as published on the web, but I won't be shocked or offended when it needs fixed.

Spec URL: http://people.redhat.com/adingman/cameramonitor/cameramonitor.spec
SRPM URL: http://people.redhat.com/adingman/cameramonitor/cameramonitor-0.2-2.src.rpm
Description: 
Camera Monitor is a little tray system icon that notifies you when your web cam
is on.

It is designed for the GNOME desktop, but will work as well on KDE and XFCE.
Camera Monitor is released under the terms of the GNU General Public License

Comment 1 R P Herrold 2010-02-23 18:25:37 UTC
A build requirement for the package providing notify-python seems to be missing

I might add:

BuildRequires:     notify-python

Comment 2 Andrew Dingman 2010-02-23 23:10:05 UTC
https://koji.fedoraproject.org/koji/taskinfo?taskID=2010347

Thanks. It does build better with that dependency fixed :)

Comment 3 Christoph Wickert 2010-02-24 01:33:13 UTC
(In reply to comment #0)
> Camera Monitor is released under the terms of the GNU General Public License    

Remove this sentence from the description, it's already in the License tag.


The license of the package is GPLv2+. The + means GPLv2 "or any later version" (in contrast to "version 2 only" = GPLv2). You need look at the headers of the python files in order to distinguish this because COPYING wont tell.


BuildRequires: python should be python-devel, see
http://fedoraproject.org/wiki/Packaging:Python#BuildRequires


There are a lot of missing Requires: Usually rpmbuild will generate them automatically, but not for python. You should look at the "import" statements of the python files, I guess you will need at least pygtk2 and notify-python.


Remove the macro for %{!?python_sitearch, it's not needed for a noarch package

Move the python_sitelib to the top of the spec.

GConf schemas are no config files, remove %config(noreplace) and ignore the warning that rpmlint will return.

GConf schemas must be (un)installed properly, see 
https://fedoraproject.org/wiki/Packaging/ScriptletSnippets#GConf

%configure --prefix=%{_prefix} --libdir=%{_libdir}

can be substituted with a simple

%configure

the rest is added automatically, use 'rpm --eval %configure' to check what the macro does.


Use the %doc macro to install the doc. Simply use 

%doc AUTHORS ChangeLog COPYING NEWS README

in the %files section, rpmbuild will install the docs and include them in the package.


Your package owns all the files in %{python_sitelib}/cameramonitor/, but not the dir itself, thus it will be left behind after uninstall. Instead of listing all the files, you could simply use 

%{python_sitelib}/cameramonitor/

If you want to make sure to only include python files, you could use

%dir %{python_sitelib}/cameramonitor/
%{python_sitelib}/cameramonitor/*.py*

Same goes for %{_datadir}/cameramonitor/, it's unowned too.


The *.desktop files need to be installed or validated, see
https://fedoraproject.org/wiki/Packaging/Guidelines#desktop-file-install_usage


Typo in the spec: coppies  -> copies

Comment 4 Christoph Wickert 2010-02-24 01:34:37 UTC
(In reply to comment #3)

> I guess you will need at least pygtk2 and notify-python.

Not to forget gnome-python2-gconf

Comment 5 Christoph Wickert 2010-02-24 01:59:10 UTC
The icon of the application is HAL from the movie '2001'. I guess having these icons in the tarball is a showstopper for us because they are definitely not FOSS. 

Spot, can you please look at this?

Comment 6 Andrew Dingman 2010-02-24 10:44:00 UTC
(In reply to comment #5)
> The icon of the application is HAL from the movie '2001'. I guess having these
> icons in the tarball is a showstopper for us because they are definitely not
> FOSS. 
> 
> Spot, can you please look at this?    

FWIW, this software is packaged in Debian, which I assume means it passed muster with debian-legal. Are we sure the images aren't FOSS? The upstream author hasn't indicated any other license that I see, and it seems unlikely that they were stolen from the movie rather than drawn with the movie as inspiration. HAL's cameras from 2001 are enough of a cultural icon that I'd expect the reference to pass as fair use, though I admit I have no legal training to base that on.

Comment 7 Andrew Dingman 2010-02-24 10:53:35 UTC
(In reply to comment #3)
> The license of the package is GPLv2+. The + means GPLv2 "or any later version"
> (in contrast to "version 2 only" = GPLv2). You need look at the headers of the
> python files in order to distinguish this because COPYING wont tell.

I missed GPLv2+ in the list of available tags. Thanks.

> There are a lot of missing Requires: Usually rpmbuild will generate them
> automatically, but not for python. You should look at the "import" statements
> of the python files, I guess you will need at least pygtk2 and notify-python.

I thought I read something saying explicitly not to do that for python, and went back and deleted them. I'll get on that.

> GConf schemas are no config files, remove %config(noreplace) and ignore the
> warning that rpmlint will return.

I wondered.

> the rest is added automatically, use 'rpm --eval %configure' to check what the
> macro does.

Is there any rule for understanding which macros 'rpm --eval' *doesn't* work for? There are plenty of them I run across that display nothing. (%doc is one) I'd trust that I knew what the macros were doing a lot better if that worked consistently or I knew why and when it wouldn't.

> If you want to make sure to only include python files, you could use
> 
> %dir %{python_sitelib}/cameramonitor/
> %{python_sitelib}/cameramonitor/*.py*
> 
> Same goes for %{_datadir}/cameramonitor/, it's unowned too.

That's what I wanted to do. Thanks.

> The *.desktop files need to be installed or validated, see
> https://fedoraproject.org/wiki/Packaging/Guidelines#desktop-file-install_usage

> Typo in the spec: coppies  -> copies    
Yeah, I can't spell. I should make better use of the "Spell-Check Comments" feature in RPM SPEC mode.

I'll post a fixed package shortly. Thank you for the feedback and pointers.

Comment 8 Andrew Dingman 2010-02-24 13:48:40 UTC
I think I have addressed all issues brought up so far with the possible exception of the status of the program icon. Updated versions of the spec file, source and binary packages, and rpmlint output are uploaded to http://people.redhat.com/adingman/. Scratch Koji build is at https://koji.fedoraproject.org/koji/taskinfo?taskID=2011320.

Thanks again for the feedback.

Comment 9 Andrew Dingman 2010-02-24 14:08:01 UTC
Once more, this time with the desktop files installed right. Same stuff at http://people.redhat.com/adingman/, but version 0.2-3.2.1 now. Koji build is at https://koji.fedoraproject.org/koji/taskinfo?taskID=2011380.

Comment 10 Tom "spot" Callaway 2010-02-25 21:42:51 UTC
This should be fine, lifting FE-Legal.

Comment 11 Mamoru TASAKA 2010-05-03 17:55:25 UTC
srpm does not seem to exist. Would you upload it again?
(please fix some strange release number at that time)

Just looking from the spec file:
- Now specifying "python2-devel" or "python3-devel" for (Build)Requires
  is recommended.
- BuildRoot no longer needed for Fedora (even if rpmlint may complain
  if you remove it)
- Support parallel make unless impossible
- Replace /usr with %{_prefix}
- gconf scriptlets (guideline) updated. Please modify.

Comment 12 Mamoru TASAKA 2010-05-12 15:25:03 UTC
ping?

Comment 13 Andrew Dingman 2010-05-12 15:56:01 UTC
Thank you. This is a non-work project for me, and my personal time has been really busy lately. I'll try to apply your suggestions and re-upload this weekend.

Comment 14 Mamoru TASAKA 2010-05-21 16:44:29 UTC
ping again?

Comment 15 Andrew Dingman 2010-05-25 03:25:02 UTC
My daughter is 3 days old. I truly do appreciate your feedback and attention, but try again in a month?

Comment 16 Hans de Goede 2010-07-12 10:05:52 UTC
(In reply to comment #15)
> My daughter is 3 days old. I truly do appreciate your feedback and attention,
> but try again in a month?    

Congratulations with your daughter! I know how children can completely tie up all your time. Any chance you can find some time to move forward with this ?

Comment 17 Hans de Goede 2010-11-03 12:35:04 UTC
Hi again,

So do you have any plans on picking up this review request again, or shall we close it for now ?

Regards,

Hans

Comment 18 Ankur Sinha (FranciscoD) 2010-11-04 11:12:11 UTC
Hello Andrew, 

If you're low on time, I could try packaging this. You'll have to close this ticket so that I can submit a new review request. 

Thanks,
regards,
Ankur

Comment 19 Hans de Goede 2010-11-17 08:29:40 UTC
Hi,

Closing this review request due to lack of response from the submitter.

Anker,

If you pick this up and submit a new review request let me know, I'm interested in getting this into Fedora, so I'll review it then.

Regards,

Hans


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