Spec URL: http://gilboadavara.thecodergeek.com/idesk.spec SRPM URL: http://gilboadavara.thecodergeek.com/idesk-0.7.5-1.src.rpm Description: iDesk gives users of minimal WM's icons on their desktop. The icon graphics are either from a PNG or SVG (vector) file and support some eye-candy effects like transparency. Each icon can be configured to run one or more shell commands and the actions which run those commands are completely configurable. In a nutshell if you want icons on your desktop and you don't have or don't want KDE or gnome doing it, you can use iDesk. - Gilboa
... The description is taken from the upstream owner. I'll re-phrase it in -2. - Gilboa
$ rpmlint -i -v idesk-0.7.5-1.src.rpm I: idesk checking
idesk would only work if the user puts an .idesktoprc in his home. But I don't know how to put this in the spec. Strange group for this package. :)
Ohm... I'm not I understand what you mean. Group? You are aware that this "thread" (If I understand what you mean) is actually the iDesk package review, right? - Gilboa
s/I'm not understand/I'm not sure I understand/g
(In reply to comment #3) > idesk would only work if the user puts an .idesktoprc in his home. But I don't > know how to put this in the spec. This is something we can not do with rpm. Look at your devilspie package: Without a custom config the program is pretty much useless, too. All we can do is include as much information in %doc as possible. Sample files, possibly a README.Fedora, but I don't think it's really necessary in this case, the message "Error: you have to create the .idesktop dir on your HOME!!" is clear enough. (In reply to comment #1) > ... The description is taken from the upstream owner. > I'll re-phrase it in -2. Yeah. I suggest removing the note regarding svg support, since it was removed in 0.6. Review for e958b9f882c088c15ad7ce5390f54664 idesk-0.7.5-1.src.rpm OK - rpmlint silent OK - package and spec named according to the package naming guidelines FIX - package meets packaging guidelines, but specfile needs some tweaking: - Group: tag "Development/Debuggers" is definitely wrong (this is what Sebastian meant in with "strange group" in comment #3). I suggest "User Interface/Desktops" or "User Interface/X". BTW: For comps.xml I suggest "X Window System" or "Window Managers". - Change URL: to http://idesk.sourceforge.net, this is more save if upstream will change their website. - Change Source0 to http://dl.sourceforge.net/sourceforge/%{name}/%{name}-%{version}.tar.bz2 instead of heanet mirror. - insert line wraps after max 79 characters when you rewrite %description OK - license is open-source compatible (BSD) FIX - license field in spec file doesn't match actual license: the included COPYING is a BSD license, but spec file says it's GPL. OK - COPYING included in source and correctly installed in %doc OK - spec is in American English OK - spec is legible OK - source in srpm matches upstream by md5 beb48c97815c7b085e3b3d601297fbb8 OK - package compiles and build into binaries on Core 6 i386 OK - no known ExcludeArchs FIX - BuildRequires: should have libSM-devel (./configure checks libICE and libSM) OK - no locales to worry about OK - no shared libs to worry about OK - package is not relocatable OK - package owns all directories it creates OK - no duplicates in %files OK - file permissions and %defattr correct OK - valid clean section OK - macro usage consistent OK - code, not content OK - no large docs OK - docs don't affect runtime OK - no header files, static libs or *.pc files OK - no libtool archives OK - no desktop file needed OK - package doesn't own directories already owned by other files OK - builds in mock (devel) OK - works as described NEEDSWORK
- Group: My bad. I used an old spec file and forgot to clean it up. - License: Weird! Owner [1] claims that iDesk is GPL. He must have switched license and forgot to update the COPYING file. Any ideas what to do? [1] http://idesk.sourceforge.net/wiki/index.php/Idesk-License Either way: * Sat Jan 20 2007 <gilboad AT gmail DOT com> - 0.7.5-2 - Fix description. - Fix group. - Missing BR: libSM-devel. Spec URL: http://gilboadavara.thecodergeek.com/idesk.spec SRPM URL: http://gilboadavara.thecodergeek.com/idesk-0.7.5-2.src.rpm - Gilboa
Oh, Sebastian (#3) Sorry for the mis-understanding. - Gilboa
(In reply to comment #7) > - License: > Weird! Owner [1] claims that iDesk is GPL. > He must have switched license and forgot to update the COPYING file. > Any ideas what to do? > > [1] http://idesk.sourceforge.net/wiki/index.php/Idesk-License COPYING is definitely BSD, so are the headers. Take a look at Main.cpp for example. If this is really GPL, you should include a copy of it as Source1 and install it instead of COPYING. Please ask upstream first. > Either way: > > * Sat Jan 20 2007 <gilboad AT gmail DOT com> - 0.7.5-2 > - Fix description. > - Fix group. > - Missing BR: libSM-devel. Looks good so far, if the license issue is clear, I will approve the package.
OK. Thanks. I'll contact the author and report back. Other then that, iDesk/x86_64 dies a horrible death during startup - making it i386 only for now. - Gilboa
Forgot to add: Source0: At least in my case http://dl.sourceforge.net/sourceforge/%{name}/%{name}-%{version}.tar.bz2 doesn't work but the heatnet mirror (or any other mirror for that mater) does work. I can change it back to dl.sourceforge, but IMHO, it is less useful. - Gilboa
(In reply to comment #10) > Other then that, iDesk/x86_64 dies a horrible death during startup - making it > i386 only for now. You should not make it ExclusiveArch i386 but ExcludeArch x86_64. Once this review is finished, open a bug with a some more info about the crash and a blocker on bug #179259 as described in http://fedoraproject.org/wiki/Packaging/ReviewGuidelines -> Must Items -> ExcludeArch
(In reply to comment #8) > Oh, Sebastian (#3) > > Sorry for the mis-understanding. > > - Gilboa No Problem. I should have explained this a little bit better. :) (In reply to comment #6) > (In reply to comment #3) > > idesk would only work if the user puts an .idesktoprc in his home. But I don't > > know how to put this in the spec. > > This is something we can not do with rpm. Look at your devilspie package: > Without a custom config the program is pretty much useless, too. Ok, good point. :)
Update. Review not dead. Waiting for an answer from the idesk upstream. (Took me a while to locate their support address... - my bad) - Gilboa
Anything new from upstream?
Nothing. Tried emailing upstream twice. I'm out of office - I'll try again when I get back... - Gilboa
Anything happening here? It's been over three months since the last comment. (You have my congratulations if you get to take vacations that long.)
... Sadly enough, I cannot seem to get in touch with the up-stream maintainer. I'll give it another run before closing this bug :( - Gilboa
Still no luck getting in touch with upstream?
Nope. I'm going AFK for a ~month. When I return, I'll either maintain the code myself or drop the request. - Gilboa
Gilboa, are you back again?
Hello, I'm still waiting for upsteam's clarification regarding the GPL vs. BSD problem. After doing some debugging/googling/etc I managed to locate the source of the AMD64 crash - a broken (?) amd64 optimization in imlib2 [1]. I'll notify the Fedora maintainer. Assuming that disabling this optimization doesn't break anything, we can proceed. - Gilboa [1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=397012
OK. According to upstream, license is indeed BSD. The x86_64 problem is being handled by the imlib2 maintainer. (Self reminder: Report a second bug against imlib2/EL5. Hope I didn't forget anything... Spec URL: http://gilboadavara.thecodergeek.com/idesk.spec SRPM URL: http://gilboadavara.thecodergeek.com/idesk-0.7.5-4.fc8.src.rpm
I think that the source url would better be http://downloads.sourceforge.net/sourceforge/%{name}/%{name}-%{version}.tar.bz2 The default examples/default.lnk would certainly benefit with something like sed -e -i 's:/usr/local/share/idesk/:%{_datadir}/idesk/:' examples/default.lnk Also the default use Xdialog which is not packaged in fedora. I plan to submit it, but it is not obvious that it is a good example. Maybe using xmessage would be better?
OK. Fixed the source URL and added a less intrusive example. * Sat Apr 07 2008 <gilboad AT gmail DOT com> - 0.7.5-5 - Modified example. (+Required files) - Missing REQ: xterm. - Fix source URL. Spec URL: http://gilboadavara.thecodergeek.com/idesk.spec SRPM URL: http://gilboadavara.thecodergeek.com/idesk-0.7.5-5.fc8.src.rpm
Doing a complete re-review since it has been a while... OK - MUST: rpmlint is silent on all packages OK - MUST: Package is named according to the Package Naming Guidelines. OK - MUST: Spec file name matches base package %{name} OK - MUST: Package meets the Packaging Guidelines OK - MUST: The package is licensed BSD and meets the Licensing Guidelines. OK - MUST: License field in the package spec file matches the actual license OK - MUST: License from source is included in %doc. OK - MUST: Spec is written in American English. OK - MUST: Spec file is legible. OK - MUST: Sources matches upstream by md5 beb48c97815c7b085e3b3d601297fbb8 OK - MUST: Package successfully compiles and builds into binary rpms on x86_64 OK - MUST: no known exclude archs OK - MUST: All build dependencies are listed in BuildRequires OK - MUST: Package is not relocatable OK - MUST: Package owns all directories that it creates OK - MUST: No duplicates in %files listing OK - MUST: Permissions on files are set properly, valid %defattr OK - MUST: Valid %clean section present OK - MUST: Use of macros is consistent OK - MUST: Package contains code, no content. OK - MUST: No large documentation OK - MUST: docs don't affect the runtime of the app OK - MUST: No static libraries OK - MUST: Package does not own files or directories already owned by other packages OK - MUST: rm -rf $RPM_BUILD_ROOT called at beginning of %install. OK - MUST: All filenames in rpm package are valid UTF-8. OK - SHOULD: builds in mock OK - SHOULD: package functions as described (even on x86_64 ;)) Suggestion: Renaming default_lnk.patch to %{name}-%{version-when-patch-was-introduced}-default_lnk.patch will make your life easier. ;) Final question: Why do you remove folder_home.xpm? Anyway, this package finally is APPROVED.
(In reply to comment #26) > Suggestion: Renaming default_lnk.patch to > %{name}-%{version-when-patch-was-introduced}-default_lnk.patch will make your > life easier. ;) Semi-fixed. (I rather not put the version number in the patch - as it doesn't effect the actual code. Spec URL: http://gilboadavara.thecodergeek.com/idesk.spec SRPM URL: http://gilboadavara.thecodergeek.com/idesk-0.7.5-6.fc8.src.rpm > Final question: Why do you remove folder_home.xpm? It was required by the old (xdialog) example. As the example no longer needs it - there's no need to carry it around. > Anyway, this package finally is APPROVED. Thanks again for taking the time to the review. - Gilboa
New Package CVS Request ======================= Package Name: idesk Short Description: Light desktop manager for minimal WMs Owners: gilboa Branches: F-7 F-8 EL-4 EL-5 InitialCC: Cvsextras Commits: yes
The current example is indeed better than the default one, but I would nevertheless suggest shipping folder_home.xpm be it as %doc. I would also suggest shipping the upstream examples/default.lnk in %doc. I also suggest substituting %{_datadir} to have things right even if %{_datadir} is different from /usr/share/, right after patching: sed -e -i 's:/usr/share/idesk/:%{_datadir}/idesk/:' examples/default.lnk And last, I think that it would be nice to have a comment stating where the xterm.png icon comes from. (None of these are blockers).
Don't know... Shipping an xpm that isn't being used as DOC is, umm... seem wasteful. (Especially given the fact that idesk -really- dislikes xpm's) Not sure I understood the sed comment - can you elaborate? I'll add a short comment about xterm.xpm. (I had to copy the file itself - pulling gnome-desktop just for sake of a sample more-or-less goes against the purpose of idesk...) Thanks again, Gilboa
(In reply to comment #30) > Don't know... Shipping an xpm that isn't being used as DOC is, umm... seem > wasteful. (Especially given the fact that idesk -really- dislikes xpm's) No problem. I thought it made a good icon for users to use for their home. Especially if the original example is shipped in %doc. > Not sure I understood the sed comment - can you elaborate? If %_datadir is set to something else than /usr/share, examples/default.lnk will still have /usr/share in the path, even if the file is in %_datadir. > I'll add a short comment about xterm.xpm. (I had to copy the file itself - > pulling gnome-desktop just for sake of a sample more-or-less goes against the > purpose of idesk...) Of course, copying it is the best, but we should know where it comes from, be it only to know which license covers it.
Managed to reproduce it. both ls and konq hang while trying to access -different- mounts. GDB is active - but Ctrl-C inactive, and sending SIGTERM/SIGSEGV from a remote terminal doesn't seem help. :( I can only assume that automount is sleeping somewhere in the kernel. Should I enable magic SysReq and get a kernel callstack dump over serial? $ gdb /usr/sbin/automount GNU gdb Red Hat Linux (6.6-45.fc8rh) Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "x86_64-redhat-linux-gnu"... Using host libthread_db library "/lib64/libthread_db.so.1". (gdb) r -d -f Starting program: /usr/sbin/automount -d -f [Thread debugging using libthread_db enabled] Starting automounter version 5.0.2-27, master map auto.master using kernel protocol version 5.00 [New Thread 46912510630656 (LWP 11390)] [New Thread 1073809744 (LWP 11393)] [New Thread 1073879376 (LWP 11394)] lookup_nss_read_master: reading master files auto.master parse_init: parse(sun): init gathered global options: (null) [Detaching after fork from child process 11395. (Try `set detach-on-fork off'.)] [Detaching after fork from child process 11396.] lookup_read_master: lookup(file): read entry /misc lookup_read_master: lookup(file): read entry /net lookup_read_master: lookup(file): read entry /autofs lookup_read_master: lookup(file): read entry +auto.master lookup_nss_read_master: reading master files auto.master parse_init: parse(sun): init gathered global options: (null) lookup_nss_read_master: reading master nisplus auto.master parse_init: parse(sun): init gathered global options: (null) lookup_read_master: lookup(nisplus): couldn't locate nis+ table auto.master lookup(file): failed to read included master map auto.master master_do_mount: mounting /misc [New Thread 1074932048 (LWP 11397)] automount_path_to_fifo: fifo name /var/run/autofs.fifo-misc lookup_nss_read_map: reading map file /etc/auto.misc parse_init: parse(sun): init gathered global options: (null) [Detaching after fork from child process 11398.] [Detaching after fork from child process 11399.] mounted indirect mount on /misc with timeout 300, freq 75 seconds master_do_mount: mounting /net [New Thread 1075984720 (LWP 11400)] automount_path_to_fifo: fifo name /var/run/autofs.fifo-net lookup_nss_read_map: reading map hosts (null) parse_init: parse(sun): init gathered global options: (null) mounted indirect mount on /net with timeout 300, freq 75 seconds master_do_mount: mounting /autofs [New Thread 1077037392 (LWP 11401)] automount_path_to_fifo: fifo name /var/run/autofs.fifo-autofs lookup_nss_read_map: reading map file /etc/auto.autofs parse_init: parse(sun): init gathered global options: (null) [Detaching after fork from child process 11402.] >> umount: /autofs/Multimedia: not mounted [Detaching after fork from child process 11405.] >> umount: /autofs/Install: not mounted [Detaching after fork from child process 11408.] >> umount: /autofs/Backup: not mounted mounted indirect mount on /autofs with timeout 60, freq 15 seconds handle_packet: type = 3 handle_packet_missing_indirect: token 5, name Multimedia, request pid 11458 [New Thread 1078090064 (LWP 11459)] attempting to mount entry /autofs/Multimedia lookup_mount: lookup(file): looking up Multimedia lookup_mount: lookup(file): Multimedia -> -fstype=nfs gilboa-home-srv:/mnt/Multimedia parse_mount: parse(sun): expanded entry: -fstype=nfs gilboa-home-srv:/mnt/Multimedia parse_mount: parse(sun): gathered options: fstype=nfs parse_mount: parse(sun): dequote("gilboa-home-srv:/mnt/Multimedia") -> gilboa-home-srv:/mnt/Multimedia parse_mount: parse(sun): core of entry: options=fstype=nfs, loc=gilboa-home-srv:/mnt/Multimedia sun_mount: parse(sun): mounting root /autofs, mountpoint Multimedia, what gilboa-home-srv:/mnt/Multimedia, fstype nfs, options mount_mount: mount(nfs): root=/autofs name=Multimedia what=gilboa-home-srv:/mnt/Multimedia, fstype=nfs, options= mount_mount: mount(nfs): nfs options="", nosymlink=0, ro=0 mount_mount: mount(nfs): calling mkdir_path /autofs/Multimedia mount_mount: mount(nfs): calling mount -t nfs gilboa-home-srv:/mnt/Multimedia /autofs/Multimedia [Detaching after fork from child process 11460.] mount(nfs): mounted gilboa-home-srv:/mnt/Multimedia on /autofs/Multimedia send_ready: token = 5 mounted /autofs/Multimedia handle_packet: type = 3 handle_packet_missing_indirect: token 6, name Install, request pid 11458 [Thread 1078090064 (LWP 11459) exited] [New Thread 1079142736 (LWP 11462)] attempting to mount entry /autofs/Install lookup_mount: lookup(file): looking up Install lookup_mount: lookup(file): Install -> -fstype=nfs gilboa-home-srv:/mnt/Install parse_mount: parse(sun): expanded entry: -fstype=nfs gilboa-home-srv:/mnt/Install parse_mount: parse(sun): gathered options: fstype=nfs parse_mount: parse(sun): dequote("gilboa-home-srv:/mnt/Install") -> gilboa-home-srv:/mnt/Install parse_mount: parse(sun): core of entry: options=fstype=nfs, loc=gilboa-home-srv:/mnt/Install sun_mount: parse(sun): mounting root /autofs, mountpoint Install, what gilboa-home-srv:/mnt/Install, fstype nfs, options mount_mount: mount(nfs): root=/autofs name=Install what=gilboa-home-srv:/mnt/Install, fstype=nfs, options= mount_mount: mount(nfs): nfs options="", nosymlink=0, ro=0 mount_mount: mount(nfs): calling mkdir_path /autofs/Install mount_mount: mount(nfs): calling mount -t nfs gilboa-home-srv:/mnt/Install /autofs/Install [Detaching after fork from child process 11463.] mount(nfs): mounted gilboa-home-srv:/mnt/Install on /autofs/Install send_ready: token = 6 mounted /autofs/Install [Thread 1079142736 (LWP 11462) exited] handle_packet: type = 3 handle_packet_missing_indirect: token 7, name Backup, request pid 11468 [New Thread 1079142736 (LWP 11469)] attempting to mount entry /autofs/Backup lookup_mount: lookup(file): looking up Backup lookup_mount: lookup(file): Backup -> -fstype=nfs gilboa-home-srv:/mnt/Backup parse_mount: parse(sun): expanded entry: -fstype=nfs gilboa-home-srv:/mnt/Backup parse_mount: parse(sun): gathered options: fstype=nfs parse_mount: parse(sun): dequote("gilboa-home-srv:/mnt/Backup") -> gilboa-home-srv:/mnt/Backup parse_mount: parse(sun): core of entry: options=fstype=nfs, loc=gilboa-home-srv:/mnt/Backup sun_mount: parse(sun): mounting root /autofs, mountpoint Backup, what gilboa-home-srv:/mnt/Backup, fstype nfs, options mount_mount: mount(nfs): root=/autofs name=Backup what=gilboa-home-srv:/mnt/Backup, fstype=nfs, options= mount_mount: mount(nfs): nfs options="", nosymlink=0, ro=0 mount_mount: mount(nfs): calling mkdir_path /autofs/Backup mount_mount: mount(nfs): calling mount -t nfs gilboa-home-srv:/mnt/Backup /autofs/Backup [Detaching after fork from child process 11470.] mount(nfs): mounted gilboa-home-srv:/mnt/Backup on /autofs/Backup send_ready: token = 7 mounted /autofs/Backup [Thread 1079142736 (LWP 11469) exited] handle_packet: type = 3 handle_packet_missing_indirect: token 8, name .directory, request pid 11477 [New Thread 1079142736 (LWP 11480)] attempting to mount entry /net/.directory lookup_mount: lookup(hosts): fetchng export list for .directory create_udp_client:99: hostname lookup failed: No such process create_tcp_client:308: hostname lookup failed: No such process lookup_mount: exports lookup failed for .directory send_fail: token = 8 failed to mount /net/.directory [Thread 1079142736 (LWP 11480) exited] handle_packet: type = 3 handle_packet_missing_indirect: token 9, name .directory, request pid 11477 [New Thread 1078090064 (LWP 11481)] attempting to mount entry /autofs/.directory lookup_mount: lookup(file): looking up .directory lookup_mount: lookup(file): key ".directory" not found in map send_fail: token = 9 failed to mount /autofs/.directory [Thread 1078090064 (LWP 11481) exited] handle_packet: type = 3 handle_packet_missing_indirect: token 10, name .directory, request pid 11477 [New Thread 1078090064 (LWP 11482)] attempting to mount entry /misc/.directory lookup_mount: lookup(file): looking up .directory lookup_mount: lookup(file): key ".directory" not found in map send_fail: token = 10 failed to mount /misc/.directory [Thread 1078090064 (LWP 11482) exited] st_expire: state 1 path /autofs [New Thread 1078090064 (LWP 11494)] expire_proc: exp_proc = 1078090064 path /autofs expire_proc_indirect: expire /autofs/Multimedia expire_proc_indirect: expire /autofs/Install expire_proc_indirect: expire /autofs/Backup 3 remaining in /autofs expire_cleanup: got thid 1078090064 path /autofs stat 4 expire_cleanup: sigchld: exp 1078090064 finished, switching from 2 to 1 st_ready: st_ready(): state = 2 path /autofs [Thread 1078090064 (LWP 11494) exited] st_expire: state 1 path /autofs [New Thread 1078090064 (LWP 11502)] expire_proc: exp_proc = 1078090064 path /autofs expire_proc_indirect: expire /autofs/Multimedia expire_proc_indirect: expire /autofs/Install expire_proc_indirect: expire /autofs/Backup 3 remaining in /autofs expire_cleanup: got thid 1078090064 path /autofs stat 4 expire_cleanup: sigchld: exp 1078090064 finished, switching from 2 to 1 st_ready: st_ready(): state = 2 path /autofs [Thread 1078090064 (LWP 11502) exited] st_expire: state 1 path /autofs [New Thread 1078090064 (LWP 11527)] expire_proc: exp_proc = 1078090064 path /autofs expire_proc_indirect: expire /autofs/Multimedia expire_proc_indirect: expire /autofs/Install expire_proc_indirect: expire /autofs/Backup 3 remaining in /autofs expire_cleanup: got thid 1078090064 path /autofs stat 4 expire_cleanup: sigchld: exp 1078090064 finished, switching from 2 to 1 st_ready: st_ready(): state = 2 path /autofs [Thread 1078090064 (LWP 11527) exited] st_expire: state 1 path /autofs [New Thread 1078090064 (LWP 11580)] expire_proc: exp_proc = 1078090064 path /autofs expire_proc_indirect: expire /autofs/Multimedia handle_packet: type = 4 handle_packet_expire_indirect: token 11, name Backup
Sigh. Please ignore previous comment. Working on too many bugs at once :(
Setting cvs flag, my comments aren't blockers at all.
cvs done. Note that I also did a F-9 branch, as that is now available.
Sorry for the late reply. (Too much work :() Add a short comment about the gnome-xterm.png icon. Followed Patrice Dumas advise and fixed the /usr/share problem. Spec URL: http://gilboadavara.thecodergeek.com/idesk.spec SRPM URL: http://gilboadavara.thecodergeek.com/idesk-0.7.5-7.fc8.src.rpm - Gilboa
Thanks again for the review. I'll add the package ASAP. - Gilboa