Bug 515164 - Review Request: gnomenu - A consolidated menu for gnome that brings eye candy to the world of the Gnome menu's
Summary: Review Request: gnomenu - A consolidated menu for gnome that brings eye candy...
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:
Whiteboard: NotReady
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-08-03 00:43 UTC by Henrique C. S. Junior
Modified: 2011-12-16 10:12 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-12-16 10:12:41 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Henrique C. S. Junior 2009-08-03 00:43:00 UTC
Spec URL: http://lonelyspooky.com/uploads/rpm/gnomenu/1.9.9/gnomenu.spec
SRPM URL: http://lonelyspooky.com/uploads/rpm/gnomenu/1.9.9/gnomenu-1.9.9-1.fc11.src.rpm
Description: GnoMenu - A consolidated menu for gnome that brings eye candy to the world of the Gnome menu's. Fully functional menu , supports themes , for a composited or non composited desktop. It can emulate the look and feel of the most beautiful menus of most modern desktops, and it can also use custom menus, due to its powerful theme XML engine.

This package use translations, but this translations are in xml files. What is the correct approach in this case?

There are some rpmlint's complains... I'll need some hints about them. =(
rpmlint gnomenu-1.9.9-1.fc11.src.rpm 
gnomenu.src: W: non-standard-group Graphical desktop/GNOME
gnomenu.src:49: E: hardcoded-library-path in /usr/lib/gnomenu/GnoMenu.py
gnomenu.src:62: W: libdir-macro-in-noarch-package (main package) %{_libdir}/bonobo/servers/*.server
gnomenu.src:63: W: libdir-macro-in-noarch-package (main package) %{_libdir}/%{name}/*

rpmlint gnomenu-1.9.9-1.fc11.noarch.rpm 
gnomenu.noarch: E: explicit-lib-dependency python-xlib
gnomenu.noarch: W: non-standard-group Graphical desktop/GNOME
gnomenu.noarch: E: script-without-shebang /usr/lib/gnomenu/locale/Settings_LangPack_en.xml
gnomenu.noarch: E: script-without-shebang /usr/share/gnomenu/Themes/Button/Gnome/themedata.xml
gnomenu.noarch: E: script-without-shebang /usr/lib/gnomenu/backup/settings-window.gladep
gnomenu.noarch: E: script-without-shebang /usr/share/gnomenu/Themes/Menu/Slab/themedata.xml
gnomenu.noarch: E: non-executable-script /usr/lib/gnomenu/Panel_Top.py 0644 /usr/bin/env
gnomenu.noarch: E: script-without-shebang /usr/share/gnomenu/Themes/Button/Arch/themedata.xml
gnomenu.noarch: E: script-without-shebang /usr/share/gnomenu/Themes/Button/Glow/themedata.xml
gnomenu.noarch: E: script-without-shebang /usr/lib/gnomenu/locale/Settings_LangPack_es.xml
gnomenu.noarch: E: script-without-shebang /usr/lib/gnomenu/locale/Settings_LangPack_en_US.xml
gnomenu.noarch: E: script-without-shebang /usr/lib/gnomenu/globalkeybinding.py
gnomenu.noarch: W: non-conffile-in-etc /etc/gnomenu/prefix
gnomenu.noarch: E: script-without-shebang /usr/lib/gnomenu/locale/Settings_LangPack_pt.xml
gnomenu.noarch: E: script-without-shebang /usr/share/gnomenu/Themes/Menu/Kore/themedata.xml
gnomenu.noarch: E: script-without-shebang /usr/share/gnomenu/Themes/Icon/BW/themedata.xml
gnomenu.noarch: E: script-without-shebang /usr/share/gnomenu/Themes/Button/UbuntuLogo/themedata.xml
gnomenu.noarch: E: script-without-shebang /usr/lib/gnomenu/backup/Settings_default.xml
gnomenu.noarch: E: script-without-shebang /usr/lib/gnomenu/menuiconcachetemplate.xml
gnomenu.noarch: E: script-without-shebang /usr/share/gnomenu/Themes/Menu/Blue/themedata.xml
gnomenu.noarch: E: script-without-shebang /usr/share/gnomenu/Themes/Menu/BlackXP/themedata.xml
gnomenu.noarch: E: non-executable-script /usr/lib/gnomenu/Menu_Items.py 0644 /usr/bin/env
gnomenu.noarch: E: script-without-shebang /usr/lib/gnomenu/locale/Settings_LangPack_pt_BR.xml
gnomenu.noarch: E: script-without-shebang /usr/share/gnomenu/Themes/Icon/Vista/themedata.xml
gnomenu.noarch: E: script-without-shebang /usr/share/gnomenu/Themes/Menu/Kde/themedata.xml
gnomenu.noarch: E: script-without-shebang /usr/share/gnomenu/Themes/Menu/Vista/themedata.xml
gnomenu.noarch: E: script-without-shebang /usr/share/gnomenu/Themes/Menu/Glass/themedata.xml
gnomenu.noarch: E: script-without-shebang /usr/share/gnomenu/Themes/Menu/Glow/themedata.xml
gnomenu.noarch: E: script-without-shebang /usr/share/gnomenu/Themes/Icon/Newstyles/themedata.xml
gnomenu.noarch: E: script-without-shebang /usr/share/gnomenu/Themes/Button/Iniciar/themedata.xml
gnomenu.noarch: E: non-executable-script /usr/lib/gnomenu/Panel_Object.py 0644 /usr/bin/env
gnomenu.noarch: E: script-without-shebang /usr/lib/gnomenu/backup/error-message.glade
gnomenu.noarch: E: script-without-shebang /usr/share/gnomenu/Themes/Button/Ubuntu/themedata.xml
gnomenu.noarch: E: script-without-shebang /usr/share/gnomenu/Themes/Button/GnomeButton/themedata.xml
gnomenu.noarch: E: script-without-shebang /usr/share/gnomenu/Themes/Button/XP/themedata.xml
gnomenu.noarch: E: script-without-shebang /usr/lib/gnomenu/locale/Settings_LangPack_pt_PT.xml
gnomenu.noarch: E: non-executable-script /usr/lib/gnomenu/Menu_Main.py 0644 /usr/bin/env
gnomenu.noarch: W: hidden-file-or-dir /usr/share/gnomenu/Themes/Menu/Short/.png
gnomenu.noarch: E: script-without-shebang /usr/lib/gnomenu/backup/GNOME_VistaMenu.server
gnomenu.noarch: E: script-without-shebang /usr/share/gnomenu/Themes/Menu/SilverXP/themedata.xml
gnomenu.noarch: E: script-without-shebang /usr/lib/gnomenu/locale/Settings_LangPack_fr.xml
gnomenu.noarch: E: script-without-shebang /usr/lib/gnomenu/backup/settings-window.glade
gnomenu.noarch: E: script-without-shebang /usr/lib/gnomenu/locale/Settings_LangPack_cs.xml
gnomenu.noarch: E: script-without-shebang /usr/share/gnomenu/Themes/Button/UbuntuOrb/themedata.xml
gnomenu.noarch: E: script-without-shebang /usr/share/gnomenu/Themes/Button/GnoBlue/themedata.xml
gnomenu.noarch: E: non-executable-script /usr/lib/gnomenu/geany_run_script.sh 0644 /bin/sh
gnomenu.noarch: W: hidden-file-or-dir /usr/share/gnomenu/Themes/Icon/BW/.png
gnomenu.noarch: E: script-without-shebang /usr/share/gnomenu/Themes/Menu/BlackVista/themedata.xml
gnomenu.noarch: E: script-without-shebang /usr/share/gnomenu/Themes/Menu/XP/themedata.xml
gnomenu.noarch: E: script-without-shebang /usr/lib/gnomenu/translators.txt
1 packages and 0 specfiles checked; 46 errors, 4 warnings.

Comment 1 Chess Griffin 2009-08-04 19:05:40 UTC
I think before anyone can give you a more detailed review, there are some things you should address and fix.

As an initial point, you should run rpmlint with -vi switch to give you more information.  Since this is a Python application, you may want to read the Python packaging wikipage (http://fedoraproject.org/wiki/Packaging:Python).

It also appears you do not use the Makefile that is included with the source and it looks like the Makefile supports DESTDIR, PREFIX etc.  Why do you not use it?

Specifc comments are below:

> gnomenu.src: W: non-standard-group Graphical desktop/GNOME

As the message says, you have a non-standard group.  Run "less /usr/share/doc/rpm-*/GROUPS" to get a list.  I would also check similar packages in Fedora and see what groups they use.

> gnomenu.noarch: E: explicit-lib-dependency python-xlib

Add python-xlib as a BuildRequires.

> gnomenu.src:49: E: hardcoded-library-path in /usr/lib/gnomenu/GnoMenu.py

You have a hardcoded path in your spec file (line 49).  You should use macros instead (http://fedoraproject.org/wiki/Packaging/RPMMacros).

If hardcoded paths are in the source, (and I think they are in the Makefile, for example) you may need to figure out a way to fix that if you can, either by overriding it if possible or using an inline sed or patch.  Patches should be sent upstream.

> gnomenu.src:62: W: libdir-macro-in-noarch-package (main package)
> %{_libdir}/bonobo/servers/*.server
> gnomenu.src:63: W: libdir-macro-in-noarch-package (main package)
> %{_libdir}/%{name}/*

Following on with the previous comment, double-check whether this really is a noarch package.  I believe the Python packaging page linked to above has information on multilib installations.

> gnomenu.noarch: E: script-without-shebang
> /usr/lib/gnomenu/locale/Settings_LangPack_en.xml

...

All of these "script without shebang" messages are explained here:
http://fedoraproject.org/wiki/Common_Rpmlint_issues#script-without-shebang

Perhaps these xml files have an executible bit set when it is not needed.  If so, you may need to remove that.

> gnomenu.noarch: W: non-conffile-in-etc /etc/gnomenu/prefix

Configuration files often need to be handled with %config(noreplace) as mentioned here:
http://fedoraproject.org/wiki/Packaging/Guidelines#Configuration_files

> gnomenu.noarch: W: hidden-file-or-dir /usr/share/gnomenu/Themes/Menu/Short/.png
...
> gnomenu.noarch: W: hidden-file-or-dir /usr/share/gnomenu/Themes/Icon/BW/.png

Are these two files just cruft left over in the source?  If so, should they be deleted before cleaning RPM_BUILD_ROOT?

HTH

Comment 2 Susi Lehtola 2009-08-04 19:47:50 UTC
(In reply to comment #1)
> > gnomenu.noarch: E: explicit-lib-dependency python-xlib
> 
> Add python-xlib as a BuildRequires.

No, this is correct. RPM does not pick up requires of Python packages, they have to be listed explicitly. rpmlint is misguided by the 'lib' in the dependency.

**

Instead of BR: python you should BR: python-devel as per the Python packaging guidelines.

**

You are using 'cp' in the spec file, so use -p to preserve timestamps.
http://fedoraproject.org/wiki/Packaging/Guidelines#Timestamps

**

The script-without-shebang warnings are probably caused by wrong permissions. Remove the executable flags from the files with e.g.
 find %{buildroot} -type f -exec chmod 644 {} \;

**

You must own
 %{_datadir}/gnomenu/
as no other package provides it.

Comment 3 Chess Griffin 2009-08-04 20:08:06 UTC
(In reply to comment #2)
> (In reply to comment #1)
> > > gnomenu.noarch: E: explicit-lib-dependency python-xlib
> > 
> > Add python-xlib as a BuildRequires.
> 
> No, this is correct. RPM does not pick up requires of Python packages, they
> have to be listed explicitly. rpmlint is misguided by the 'lib' in the
> dependency.
> 
> **
> 
> Instead of BR: python you should BR: python-devel as per the Python packaging
> guidelines.
> 
> **

Ah, thanks for clarifying both of the above points.

Comment 4 Henrique C. S. Junior 2009-08-17 04:04:56 UTC
Hello, guys, sorry to keep you waiting. I'm back to work now. Very soon I'll post another update here.

Comment 5 Henrique C. S. Junior 2009-09-06 14:47:28 UTC
Hi, I'm sorry for the delay.

SPEC: http://lonelyspooky.com/uploads/rpm/gnomenu/1.9.9-2/gnomenu.spec
SRPM: http://lonelyspooky.com/uploads/rpm/gnomenu/1.9.9-2/gnomenu-1.9.9-2.fc11.src.rpm

[lonely@localhost noarch]$ rpmlint gnomenu-1.9.9-2.fc11.noarch.rpm 
gnomenu.noarch: E: explicit-lib-dependency python-xlib
gnomenu.noarch: W: non-conffile-in-etc /etc/gnomenu/prefix
1 packages and 0 specfiles checked; 1 errors, 1 warnings.

Can I ignore this? >> gnomenu.noarch: E: explicit-lib-dependency python-xlib

rpmlint is still complaining about /etc/gnomenu/prefix do not look like an .conf file, but this file only contains this parameter: /usr

Comment 6 Susi Lehtola 2009-09-06 17:01:05 UTC
(In reply to comment #5)
> Can I ignore this? >> gnomenu.noarch: E: explicit-lib-dependency python-xlib

Yes, that's really not an error.

> rpmlint is still complaining about /etc/gnomenu/prefix do not look like an
> .conf file, but this file only contains this parameter: /usr  

I'd mark it as a config file. Of course, if you do then you'll get the warning about the file not being noreplace...

Comment 7 Henrique C. S. Junior 2009-09-06 17:17:55 UTC
Surry, but, how can I do that? "I'd mark it as a config file."

Comment 8 Susi Lehtola 2009-09-06 18:21:04 UTC
Replace
 %{_sysconfdir}/%{name}/prefix
with
 %config %{_sysconfdir}/%{name}/prefix

Comment 9 Susi Lehtola 2009-09-06 18:23:25 UTC
Oh, you can safely drop
 %{_builddir}/%{name}
from the commands in %prep.

And I'd replace
 find %{_builddir}/%{name} -name "*.xml" -type f -exec chmod 644 {} \;
 find %{_builddir}/%{name} -name "*.py" -type f -exec chmod a+x {} \;
 find %{_builddir}/%{name} -name "*.sh" -type f -exec chmod a+x {} \;
with
 find -name "*.xml" -type f -exec chmod 644 {} \;
 find \( -name "*.py" -o -name "*.sh" \) -type f -exec chmod 755 {} \;
for consistency.

Comment 10 Susi Lehtola 2009-09-06 18:24:03 UTC
And instead of
 sh %{_sourcedir}/%{name}-shebang.sh
just run
 sh %{SOURCE1}

Comment 11 Henrique C. S. Junior 2009-09-06 23:40:52 UTC
Hi, Jussi.
Thanks for your patience. =) I'm really learning a lot here.
Here we go:
SPEC: http://lonelyspooky.com/uploads/rpm/gnomenu/1.9.9-3/gnomenu.spec
SRPM: http://lonelyspooky.com/uploads/rpm/gnomenu/1.9.9-3/gnomenu-1.9.9-3.fc11.src.rpm

Following your advice we have only this error:
gnomenu.noarch: E: explicit-lib-dependency python-xlib
1 packages and 0 specfiles checked; 1 errors, 0 warnings
But, as we already know, it can be ignored.

Again, thank you very much!

Comment 12 Henrique C. S. Junior 2009-09-21 19:15:10 UTC
Ping?
Any reviewer available?

Comment 13 Michael Schwendt 2009-10-01 20:10:38 UTC
* repeat "rpmlint -i gnomenu-1.9.9-3.fc11.src.rpm" as some of the older issues are still there

* you should really not mix usage of %buildroot and $RPM_BUILD_ROOT
https://fedoraproject.org/wiki/Packaging/Guidelines#macros

* multiple directories are not included:

  %{_sysconfdir}/%{name}
  /usr/lib/%{name}
  %{_datadir}/gnomenu
  %{_datadir}/gnomenu/Themes

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

Comment 14 Dave Malcolm 2009-12-10 20:14:27 UTC
See also bug 546202, which appears to be an assertion failure running a pre-release version of GnoMenu

Comment 15 Henrique C. S. Junior 2009-12-19 18:00:42 UTC
Well, with GNOME reaching 3.0, gnomenu will be useless.
Maybe packaging it should be a waste of time. 
Dont you think, guys?

Comment 16 Gareth John 2010-02-26 17:24:42 UTC
(In reply to comment #15)
> Well, with GNOME reaching 3.0, gnomenu will be useless.
> Maybe packaging it should be a waste of time. 
> Dont you think, guys?    

Don't think so! I won't be using gnome 3.0, buti don't use gnome 2.0.
I will reveiw for you if you still want to go ahead!

Comment 17 Henrique C. S. Junior 2010-02-28 21:16:59 UTC
Ok. As soon as possible I'll try to finish it.

Comment 18 whise 2010-03-01 13:47:57 UTC
hello, im the lead dev of GnoMenu.

The version you are trying to package is a very old version of GnoMenu.

The current one is 2.5 available here https://launchpad.net/gnomenu

Also GnoMenu will not die with Gnome 3.0

GnoMenu currently supports Gnome-Panel, Avant-Window-Navigator, Cairo-Dock, XfApplet and in the system tray.

Comment 19 Henrique C. S. Junior 2010-03-01 13:59:26 UTC
Hi. I'm aware of that, but, thank you.
Soon I'll be back to this package.

Comment 20 John Friar 2010-04-24 06:32:18 UTC
Hi,

I've created a new spec file for version 2.5 of GnoMenu:

http://wiki.thoughtbit.com/_media/linux:fedora:gnomenu.spec

The patches for that spec file, as well as a link to the openSUSE src rpm I based my spec file and patches on, are here:

http://wiki.thoughtbit.com/linux:fedora:gnomenu

Comment 21 Henrique C. S. Junior 2010-05-01 17:44:11 UTC
(In reply to comment #20)
> Hi,
> 
> I've created a new spec file for version 2.5 of GnoMenu:
> 
> http://wiki.thoughtbit.com/_media/linux:fedora:gnomenu.spec
> 
> The patches for that spec file, as well as a link to the openSUSE src rpm I
> based my spec file and patches on, are here:
> 
> http://wiki.thoughtbit.com/linux:fedora:gnomenu    

Thanks, John, I'm working on it right now. If you want to help (or take) this work, be my guest.

Comment 22 John Friar 2010-05-01 19:19:30 UTC
(In reply to comment #21)
> > http://wiki.thoughtbit.com/linux:fedora:gnomenu    
> 
> Thanks, John, I'm working on it right now. If you want to help (or take) this
> work, be my guest.    

There is also a src rpm on my gnomenu wiki page above.  The package builds/installs/works fine on Fedora 12 x86-64.

I think we just need someone to approve the new spec file, unless you (or someone else) see any problems with it?

Comment 23 Henrique C. S. Junior 2010-05-01 20:00:42 UTC
(In reply to comment #22)
> (In reply to comment #21)
> > > http://wiki.thoughtbit.com/linux:fedora:gnomenu    
> > 
> > Thanks, John, I'm working on it right now. If you want to help (or take) this
> > work, be my guest.    
> 
> There is also a src rpm on my gnomenu wiki page above.  The package
> builds/installs/works fine on Fedora 12 x86-64.
> 
> I think we just need someone to approve the new spec file, unless you (or
> someone else) see any problems with it?    

No, there is no need to approve the spec first, but some opensuse macros doesn't work to fedora.

Comment 24 John Friar 2010-05-01 20:06:50 UTC
(In reply to comment #23)

> No, there is no need to approve the spec first, but some opensuse macros
> doesn't work to fedora.    


I think I stripped out all the openSUSE macros - are you having problems with the spec file?

Comment 25 Henrique C. S. Junior 2010-05-01 20:18:22 UTC
The package is building ok, but, to have it approved we need to solve all the rpmlint issues, since Fedora have some rigid guidelines to follow.

Comment 26 Ruediger Landmann 2010-11-19 05:40:46 UTC
(In reply to comment #25)
> The package is building ok, but, to have it approved we need to solve all the
> rpmlint issues, since Fedora have some rigid guidelines to follow.

Hi Henrique -- are you still working on this? If so, I'm happy to review it for you. Otherwise, we should probably close this request.

Cheers
Rudi

Comment 27 Henrique C. S. Junior 2010-11-22 02:13:17 UTC
Hi, I'll be happy to restart the work here.
Thank you Ruediger. I'll be posting updates here ASAP.

Comment 28 John Friar 2010-11-24 01:11:11 UTC
Hi Henrique - I've updated my source rpm to fix the desktop file issue, but I don't see a clean/easy way to resolve the Makefile problem (the Makefile isn't 64bit aware) without the %ifarch x86_64 statement.

I also noticed that there is a new version of gnomenu (2.9), and while this new version's Makefile is easier to work with, the setup.py script that is called by the Makefile no longer seems to adjust the bonobo server file correctly for 64bit builds.


https://wiki.thoughtbit.com/_media/linux:fedora:gnomenu-2.5-2.fc12.src.rpm

Comment 29 Henrique C. S. Junior 2010-11-24 02:06:25 UTC
Hi, John, I've downloaded the new 2.9 version to see what have changed since my last package (1.9!) and, despite some great improvements in this new version I'm still finding some pretty annoying bugs (like this 64 bits issue).
To be honest, maybe this software is going to require a lot of basic work to be done by upstream.

Comment 30 John Friar 2010-11-24 02:36:44 UTC
Agreed - it seems to be a bit more work than it's worth...  The src rpm is still available on my wiki for anyone who wants it.

Comment 31 Susi Lehtola 2011-12-16 10:12:41 UTC
Looks like WONTFIX. Closing.


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