Bug 484644 - Review Request: screenlets - Fully themeable mini-apps
Summary: Review Request: screenlets - Fully themeable mini-apps
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Sergio Pascual
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 429486 572968 (view as bug list)
Depends On:
Blocks: FE-Legal FE-DEADREVIEW RussianFedoraRemix
TreeView+ depends on / blocked
 
Reported: 2009-02-09 08:23 UTC by Edouard Bourguignon
Modified: 2011-10-10 22:03 UTC (History)
10 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of: purple-msn-pecan
Environment:
Last Closed: 2011-10-10 22:03:25 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Edouard Bourguignon 2009-02-09 08:23:53 UTC
Spec URL: http://www.linuxed.net/~madko/fedora/screenlets.spec
SRPM URL: http://www.linuxed.net/~madko/fedora/screenlets-0.1.2-1.fc10.src.rpm

Description: Screenlets are small owner-drawn applications (written in Python) that can be described as "the virtual representation of things lying/standing around on your desk". Sticknotes, clocks, rulers, ... the possibilities are endless.

The goal of the Screenlets base-classes is to simplify the creation of fully themeable mini-apps that each solve basic desktop-work-related needs and generally improve the usability and eye-candy of the modern composited Linux-desktop. 

More info on: http://www.screenlets.org/

Comment 1 leigh scott 2009-02-14 21:57:29 UTC
1. You need to validate the desktop file.

i.e

desktop-file-install --vendor "" --delete-original \
  --dir $RPM_BUILD_ROOT%{_datadir}/applications \
  --add-category X-Fedora \
  $RPM_BUILD_ROOT%{_datadir}/applications/%{name}-manager.desktop


http://fedoraproject.org/wiki/Packaging/Guidelines#desktop

2. The summary is very vague and doesn't describe the package.

Comment 2 leigh scott 2009-02-14 21:58:41 UTC
You will also need to add.

BuildRequires:    desktop-file-utils

Comment 3 leigh scott 2009-02-14 22:51:38 UTC
Doesn't screenlets need to own the directories .

/usr/lib/python2.5/site-packages/screenlets

/usr/share/screenlets

and

/usr/share/screenlets-manager


http://fedoraproject.org/wiki/Packaging/Guidelines#FileAndDirectoryOwnership

Comment 4 Edouard Bourguignon 2009-02-15 13:30:22 UTC
Do you mean screenlets package doesn't need to own the following directories:
/usr/lib/python2.5/site-packages/screenlets
/usr/share/screenlets
/usr/share/screenlets-manager
? Is it ok to have unowned directories?

Comment 5 leigh scott 2009-02-15 14:29:16 UTC
(In reply to comment #4)
> Do you mean screenlets package doesn't need to own the following directories:
> /usr/lib/python2.5/site-packages/screenlets
> /usr/share/screenlets
> /usr/share/screenlets-manager
> ? Is it ok to have unowned directories?

A package should own any directory it creates.

i.e

%files -f %{name}.lang
%defattr(-,root,root,-)
%doc AUTHORS CHANGELOG COPYING DEVELOPERS LICENCE README TODO
%{_bindir}/screenlets
%{_bindir}/screenlets-daemon
%{_bindir}/screenlets-manager
%{_bindir}/screenlets-packager
%{_bindir}/screenletsd
%dir %{python_sitelib}/screenlets
%{python_sitelib}/screenlets/*
%{python_sitelib}/screenlets-%{version}-py2.5.egg-info
%{_datadir}/applications/screenlets-manager.desktop
%{_datadir}/icons/screenlets.svg
%dir %{_datadir}/screenlets-manager
%{_datadir}/screenlets-manager/*
%dir %{_datadir}/screenlets
%{_datadir}/screenlets/*


Also I made a mistake on the desktop-file-install, it should be

desktop-file-install --vendor "" --delete-original \
  --dir $RPM_BUILD_ROOT%{_datadir}/applications \
  $RPM_BUILD_ROOT%{_datadir}/applications/%{name}-manager.desktop


I also believe the path in Icon= should be removed along with the .svg

Icon=/usr/share/icons/screenlets.svg

should be 


Icon=screenlets

Comment 6 Edouard Bourguignon 2009-02-15 14:50:30 UTC
Ok, I'm on the way to fix the desktop file.

Sorry to ask again, it's not clear for me, the documentation here http://fedoraproject.org/wiki/Packaging/UnownedDirectories says:

 %{_datadir}/foo/*

This includes everything _in_ "foo", but not "foo" itself. "rpm -qlv pkgname" will show a missing drwxr-xr-x entry for "foo". Correct would be:

 %{_datadir}/foo/

to include the directory _and_ the entire tree below it. 

And rpm -qplv screenlets-0.1.2-1.fc10.noarch.rpm already lists this directories
...
drwxr-xr-x    2 root    root                        0 févr. 15 15:38 /usr/lib/python2.5/site-packages/screenlets
...
drwxr-xr-x    2 root    root                        0 févr. 15 15:38 /usr/share/screenlets
drwxr-xr-x    2 root    root                        0 févr. 15 15:38 /usr/share/screenlets-manager
...

What am I missing? Can a directory be in the listing but still be unowned?

Comment 7 Mamoru TASAKA 2009-02-15 14:54:58 UTC
(In reply to comment #5)
> %files -f %{name}.lang
> %defattr(-,root,root,-)
> %doc AUTHORS CHANGELOG COPYING DEVELOPERS LICENCE README TODO
> %{_bindir}/screenlets
> %{_bindir}/screenlets-daemon
> %{_bindir}/screenlets-manager
> %{_bindir}/screenlets-packager
> %{_bindir}/screenletsd
> %dir %{python_sitelib}/screenlets
> %{python_sitelib}/screenlets/*
> %{python_sitelib}/screenlets-%{version}-py2.5.egg-info
> %{_datadir}/applications/screenlets-manager.desktop
> %{_datadir}/icons/screenlets.svg
> %dir %{_datadir}/screenlets-manager
> %{_datadir}/screenlets-manager/*
> %dir %{_datadir}/screenlets
> %{_datadir}/screenlets/*

----------------------------------------------------
%files
%dir %{_datadir}/screenlets
%{_datadir}/screenlets/*
----------------------------------------------------
equals
----------------------------------------------------
%{_datadir}/screenlets/
----------------------------------------------------

The latter format contains the directory %{_datadir}/screenlets
and all files/directories/etc under %{_datadir}/screenlets.

Also for this package
----------------------------------------------------
%files
%dir %{python_sitelib}/screenlets
%{python_sitelib}/screenlets/*
%{python_sitelib}/screenlets-%{version}-py2.5.egg-info
----------------------------------------------------
can be unified to
----------------------------------------------------
%{python_sitelib}/*
----------------------------------------------------

Comment 8 Mamoru TASAKA 2009-02-15 14:59:52 UTC
(and also note that rawhide uses python 2.6)

Comment 9 leigh scott 2009-02-15 15:01:35 UTC
(In reply to comment #7)
> (In reply to comment #5)
> > %files -f %{name}.lang
> > %defattr(-,root,root,-)
> > %doc AUTHORS CHANGELOG COPYING DEVELOPERS LICENCE README TODO
> > %{_bindir}/screenlets
> > %{_bindir}/screenlets-daemon
> > %{_bindir}/screenlets-manager
> > %{_bindir}/screenlets-packager
> > %{_bindir}/screenletsd
> > %dir %{python_sitelib}/screenlets
> > %{python_sitelib}/screenlets/*
> > %{python_sitelib}/screenlets-%{version}-py2.5.egg-info
> > %{_datadir}/applications/screenlets-manager.desktop
> > %{_datadir}/icons/screenlets.svg
> > %dir %{_datadir}/screenlets-manager
> > %{_datadir}/screenlets-manager/*
> > %dir %{_datadir}/screenlets
> > %{_datadir}/screenlets/*
> 
> ----------------------------------------------------
> %files
> %dir %{_datadir}/screenlets
> %{_datadir}/screenlets/*
> ----------------------------------------------------
> equals
> ----------------------------------------------------
> %{_datadir}/screenlets/
> ----------------------------------------------------
> 
> The latter format contains the directory %{_datadir}/screenlets
> and all files/directories/etc under %{_datadir}/screenlets.
> 
> Also for this package
> ----------------------------------------------------
> %files
> %dir %{python_sitelib}/screenlets
> %{python_sitelib}/screenlets/*
> %{python_sitelib}/screenlets-%{version}-py2.5.egg-info
> ----------------------------------------------------
> can be unified to
> ----------------------------------------------------
> %{python_sitelib}/*
> ----------------------------------------------------

Thanks for the info.

Comment 10 Edouard Bourguignon 2009-02-15 15:06:56 UTC
So here are the new files.
SPEC: http://www.linuxed.net/~madko/fedora/screenlets.spec
SRPM: http://www.linuxed.net/~madko/fedora/screenlets-0.1.2-2.fc10.src.rpm
RPM:  http://www.linuxed.net/~madko/fedora/screenlets-0.1.2-2.fc10.noarch.rpm

btw, I use desktop-file-validate instead of desktop-file-install because the desktop file is already installed in the good place. Is it ok?

I also add some french translation in the desktop file, do I have the right to do that?

Comment 11 leigh scott 2009-02-15 15:57:22 UTC
(In reply to comment #10)
> So here are the new files.
> SPEC: http://www.linuxed.net/~madko/fedora/screenlets.spec
> SRPM: http://www.linuxed.net/~madko/fedora/screenlets-0.1.2-2.fc10.src.rpm
> RPM:  http://www.linuxed.net/~madko/fedora/screenlets-0.1.2-2.fc10.noarch.rpm
> 
> btw, I use desktop-file-validate instead of desktop-file-install because the
> desktop file is already installed in the good place. Is it ok?

I believe it is acceptable to use desktop-file-validate.


> 
> I also add some french translation in the desktop file, do I have the right to
> do that?

I not sure.


The summary is better, but still needs to be shorter.

[leigh@localhost Download]$ rpmlint -vi '/home/leigh/Download/screenlets-0.1.2-2.fc10.noarch.rpm' 
screenlets.noarch: I: checking
screenlets.noarch: E: summary-too-long Screenlets are fully themeable mini-apps that improve the usability and eye-candy of the modern composited Linux-desktop
The "Summary:" must not exceed 79 characters.

1 packages and 0 specfiles checked; 1 errors, 0 warnings.
[leigh@localhost Download]$ rpmlint -vi '/home/leigh/Download/screenlets-0.1.2-2.fc10.src.rpm' 
screenlets.src: I: checking
screenlets.src: E: summary-too-long Screenlets are fully themeable mini-apps that improve the usability and eye-candy of the modern composited Linux-desktop
The "Summary:" must not exceed 79 characters.

1 packages and 0 specfiles checked; 1 errors, 0 warnings.
[leigh@localhost Download]$ 



This bit is wrong


Source0:        %{name}-%{version}.tar.bz2


You must use a full URL to the package in the SourceX: line.

i.e

Source0: http://code.launchpad.net/screenlets/trunk/0.1.2/+download/%{name}-%{version}.tar.bz2

Comment 13 Edouard Bourguignon 2009-02-15 19:16:09 UTC
Ok, summary has been shorten (again) and source url fixed in this -3 release. Here are the new files.
SPEC: http://www.linuxed.net/~madko/fedora/screenlets.spec
SRPM: http://www.linuxed.net/~madko/fedora/screenlets-0.1.2-3.fc10.src.rpm
RPM:  http://www.linuxed.net/~madko/fedora/screenlets-0.1.2-3.fc10.noarch.rpm

Comment 14 manuel wolfshant 2009-02-16 19:04:48 UTC
(In reply to comment #10)

> I also add some french translation in the desktop file, do I have the right to
> do that?

Yes, adding translations are always welcome (assuming they are correct, of course :) )

Comment 15 Guillaume Kulakowski 2009-03-26 18:13:33 UTC
builder@enterprise ~> rpmlint -vi rpmbuild/**/screenlets*{rpm,spec}
screenlets.noarch: I: checking
screenlets.src: I: checking
2 packages and 1 specfiles checked; 0 errors, 0 warnings.

Comment 16 Guillaume Kulakowski 2009-03-26 18:18:32 UTC
There is an error in desktopfile : 
  screenlets-manager > /dev/null
and not :
  "screenlets-manager > /dev/null"

Comment 17 Edouard Bourguignon 2009-03-27 07:22:31 UTC
If I remove the quote is not validated by desktop-file-validate anymore... For me it's look better with the quotes. Are you sure it is not valid to use quote when there is a redirection?

Comment 18 Edouard Bourguignon 2009-03-27 07:25:12 UTC
http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s06.html

"Arguments may be quoted in whole. If an argument contains a reserved character the argument must be quoted. [...] Reserved characters are space (" "), tab, newline, double quote, single quote ("'"), backslash character ("\"), greater-than sign (">"), less-than sign ("<"), tilde ("~"), vertical bar ("|"), ampersand ("&"), semicolon (";"), dollar sign ("$"), asterisk ("*"), question mark ("?"), hash mark ("#"), parenthesis ("(") and (")") and backtick character ("`"). "

Comment 19 Peter Lemenkov 2009-05-02 04:45:06 UTC
*** Bug 429486 has been marked as a duplicate of this bug. ***

Comment 20 Sergio Pascual 2009-05-27 11:57:59 UTC
A few quick comments:

* Please use command names consistently, you have both %{__python} and rm for example. I recommend using python and rm (in the other hand, you can use %{__python} and %{__rm}).

* "screenlets-manager > /dev/null" doesn't work. You don't have to redirect stdout, it goes automatically to .xsession-errors on a graphic sessions. 
A simple

Exec=screenlets-manager 

in screenlets-manager.desktop does the job.

* You can join all the %{_bindir}/screenlets-whatever in %{_bindir}/*

* The directory %{_datadir}/icons/ for screenlets.svg seems wrong to me. In my system is the only icon present there. I suggest /usr/share/icons/hicolor/scalable/apps and add Requires: hicolor-icon-theme

* You must update the icon cache after installing screenlets.svg. See the details here:
http://fedoraproject.org/wiki/Packaging/ScriptletSnippets#Icon_Cache

Comment 21 Mamoru TASAKA 2009-05-29 17:30:31 UTC
Umm.. I think the license text
src/share/screenlets/ClearWeather/themes/default/weather_icons_readme.txt
is very questionable.

-------------------------------------------------------------------
These weather images are (c) 2003 by Stardock Corporation.  All rights reserved.

Permission:
Stardock gives you permission to distribute these images and or icons freely as long as this permission document is included. 

Allowed Uses:
You may use these images with any Stardock related product (such as creating DesktopX objects or ObjectDock or plugins).

In addition, Stardock licenses this for use with content that is provided free of charge and is not connected to a commercial software product. You may use these images for skins, themes, and other content for freeware software even if it is competitive in nature with Stardock's offerings as long as the copyright notices are included. You may not, however, bundle these images in any way with any software product without Stardock's express permission.

You may use these images in your website or product as long as this permission.txt is linked somewhere along with Stardock's copyright notice with a link to Stardock's homepage: http://www.stardock.com.

Designed Use:
These weather images are designed to provide the various weather conditions reported by weather services. It was created for use with Stardock DesktopX (http://www.desktopx.net) and Stardock ObjectDock (http://www.objectdock.com) both of which allow users to monitor the weather conditions from their desktop.
---------------------------------------------------------------------

Once setting FE-Legal.

Comment 22 Tom "spot" Callaway 2009-07-06 14:01:49 UTC
That license is not acceptable for content, even though it claims to give permission to freely distribute the icons, it later restricts bundling of those images with "any software product without Stardock's express permission". In addition, the use restrictions here are extremely restrictive.

I would strongly suggest that you open a trac ticket with the Fedora Design team, so that they can generate replacement icons for this application that are available under a free license: https://fedorahosted.org/design-team/

Leaving FE-Legal in place until this issue is resolved.

Comment 23 Tom "spot" Callaway 2009-12-01 01:05:01 UTC
Is there any update here?

Comment 24 Edouard Bourguignon 2009-12-01 08:30:25 UTC
Only the weather icons are concerned by the restrictive license?

I've just opened a ticket as you suggested https://fedorahosted.org/design-team/ticket/105

Comment 25 Dave Malcolm 2010-01-11 21:41:58 UTC
FWIW Note that I'm receiving ABRT bugs about screenlets already (assertion failures inside cairo/xcb taking out the /usr/bin/python process); see bug 554011

Comment 26 Dave Malcolm 2010-01-14 00:10:45 UTC
(In reply to comment #25)
> FWIW Note that I'm receiving ABRT bugs about screenlets already (assertion
> failures inside cairo/xcb taking out the /usr/bin/python process); see bug
> 554011    
See also bug 554959, which is similar, but a slightly different backtrace.

Comment 27 Mamoru TASAKA 2010-03-12 14:20:23 UTC
*** Bug 572968 has been marked as a duplicate of this bug. ***

Comment 28 Sergio Pascual 2011-01-31 23:18:32 UTC
Any progress with this?

Comment 29 Tareq Al Jurf 2011-02-01 12:11:25 UTC
The screenlets project is dead, but I think this might be an alternative https://launchpad.net/~gilir/+archive/screenlets-daily , although i felt the tarball contents were missing

Comment 30 Sergio Pascual 2011-02-01 20:44:42 UTC
You can check out the source code directly from the bazaar repository

Comment 31 Tareq Al Jurf 2011-02-03 10:00:42 UTC
Actually there is work ongoing here: https://launchpad.net/~screenlets-dev

Comment 32 Sergio Pascual 2011-09-30 13:09:35 UTC
If there is no progress with this review, I shall close it in one week (as per http://fedoraproject.org/wiki/Policy_for_stalled_package_reviews)


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