Bug 484644 - Review Request: screenlets - Fully themeable mini-apps
Review Request: screenlets - Fully themeable mini-apps
Status: CLOSED NOTABUG
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
low Severity medium
: ---
: ---
Assigned To: Sergio Pascual
Fedora Extras Quality Assurance
:
: 429486 572968 (view as bug list)
Depends On:
Blocks: FE-Legal FE-DEADREVIEW RussianFedoraRemix
  Show dependency treegraph
 
Reported: 2009-02-09 03:23 EST by Edouard Bourguignon
Modified: 2011-10-10 18:03 EDT (History)
10 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: purple-msn-pecan
Environment:
Last Closed: 2011-10-10 18:03:25 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Edouard Bourguignon 2009-02-09 03:23:53 EST
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 16:57:29 EST
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 16:58:41 EST
You will also need to add.

BuildRequires:    desktop-file-utils
Comment 3 leigh scott 2009-02-14 17:51:38 EST
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 08:30:22 EST
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 09:29:16 EST
(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 09:50:30 EST
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 09:54:58 EST
(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 09:59:52 EST
(and also note that rawhide uses python 2.6)
Comment 9 leigh scott 2009-02-15 10:01:35 EST
(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 10:06:56 EST
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 10:57:22 EST
(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 14:16:09 EST
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 14:04:48 EST
(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 14:13:33 EDT
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 14:18:32 EDT
There is an error in desktopfile : 
  screenlets-manager > /dev/null
and not :
  "screenlets-manager > /dev/null"
Comment 17 Edouard Bourguignon 2009-03-27 03:22:31 EDT
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 03:25:12 EDT
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 00:45:06 EDT
*** Bug 429486 has been marked as a duplicate of this bug. ***
Comment 20 Sergio Pascual 2009-05-27 07:57:59 EDT
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 13:30:31 EDT
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 10:01:49 EDT
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-11-30 20:05:01 EST
Is there any update here?
Comment 24 Edouard Bourguignon 2009-12-01 03:30:25 EST
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 16:41:58 EST
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-13 19:10:45 EST
(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 09:20:23 EST
*** Bug 572968 has been marked as a duplicate of this bug. ***
Comment 28 Sergio Pascual 2011-01-31 18:18:32 EST
Any progress with this?
Comment 29 Tareq Al Jurf 2011-02-01 07:11:25 EST
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 15:44:42 EST
You can check out the source code directly from the bazaar repository
Comment 31 Tareq Al Jurf 2011-02-03 05:00:42 EST
Actually there is work ongoing here: https://launchpad.net/~screenlets-dev
Comment 32 Sergio Pascual 2011-09-30 09:09:35 EDT
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.