Bug 463211

Summary: Review Request: notify-sharp - A C# implementation for Desktop Notifications
Product: [Fedora] Fedora Reporter: Sindre Pedersen Bjørdal <sindrepb>
Component: Package ReviewAssignee: Michel Lind <michel>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: dev, fedora-package-review, michel, notting, paul, the.masch
Target Milestone: ---Flags: michel: fedora-review+
kevin: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-12-10 19:31:06 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 465641    

Description Sindre Pedersen Bjørdal 2008-09-22 16:01:46 UTC
Spec URL: http://sindrepb.fedorapeople.org/packages/notify-sharp.spec
SRPM URL: http://sindrepb.fedorapeople.org/packages/notify-sharp-0.4.0-0.1.20080912svn.fc9.src.rpm

Description: 
notify-sharp is a C# client implementation for Desktop Notifications,
i.e. notification-daemon. It is inspired by the libnotify API.

Desktop Notifications provide a standard way of doing passive pop-up
notifications on the Linux desktop. These are designed to notify the
user of something without interrupting their work with a dialog box
that they must close. Passiv

Comment 1 Sindre Pedersen Bjørdal 2008-09-22 16:02:28 UTC
*** Bug 449207 has been marked as a duplicate of this bug. ***

Comment 2 Michel Lind 2008-09-22 17:32:32 UTC
rpmlint (src):
notify-sharp.src: W: mixed-use-of-spaces-and-tabs (spaces: line 4, tab: line 2)

rpmlint (bin):
notify-sharp.x86_64: W: incoherent-version-in-changelog 0.4.0-0.1.20080531svn 0.4.0-0.1.20080912svn.fc10
notify-sharp.x86_64: E: no-binary
notify-sharp.x86_64: E: only-non-binary-in-usr-lib

Changelog probably needs updating; the others are just normal with Mono packages.

There's a problem with notify-sharp.pc:

libdir=${exec_prefix}/lib

which causes compiling gnome-do to fail as it looks for notify-sharp in the wrong directory on 64-bit systems. Fixing that lets gnome-do compile

(incidentally, on Rawhide gnome-do 0.6 is still as broken as the last 0.5.0.1 build -- not sure what's wrong with the Mono stack, as gnome-do used to work just fine around F10 alpha 1)

Comment 3 Sindre Pedersen Bjørdal 2008-09-22 17:43:18 UTC
Shouldn't the gnome-do compile issue be fixed in gnome-do? AFAIK lib64 is the right place for .pc files on 64bit arches.

Comment 4 Sindre Pedersen Bjørdal 2008-09-24 15:18:34 UTC
Here's the updated package, all rpmlint issues resolved. Haven't done anything against the gnome-do build issue, I'm waiting on clarification on policy for this one. 

Updated packages:

Spec URL: http://sindrepb.fedorapeople.org/packages/notify-sharp.spec
SRPM URL:
http://sindrepb.fedorapeople.org/packages/notify-sharp-0.4.0-0.2.20080912svn.fc9.src.rpm

Comment 5 Michel Lind 2008-09-24 15:47:29 UTC
Well, just mentioning gnome-do because it's one way to test that notify-sharp works. Actually, my build of gnome-do works, but applications are not displayed. Anyway, not for here.

You still need to patch notify-sharp.pc.in -- right now it's expanding libdir to %{prefix}/lib rather than %{libdir}, so applications compiling against notify-sharp that uses pkgconfig to find the installed libraries would fail to compile on lib64 systems.

Comment 6 Sindre Pedersen Bjørdal 2008-09-24 16:20:35 UTC
Added patch:

Updated packages:

Spec URL: http://sindrepb.fedorapeople.org/packages/notify-sharp.spec
SRPM URL:
http://sindrepb.fedorapeople.org/packages/notify-sharp-0.4.0-0.3.20080912svn.fc9.src.rpm

Comment 7 Sindre Pedersen Bjørdal 2008-09-30 17:26:11 UTC
ping?

Comment 8 Sindre Pedersen Bjørdal 2008-10-08 12:53:36 UTC
ping again. I really want to get this in F10.

Comment 9 Paul F. Johnson 2008-10-08 14:08:27 UTC
I'll have a look-see at it tonight. I have some spare time ;-)

I not checked, but as a quicky, are all occurences of $(prefix)/lib removed from the configure and makefiles as well as the .pc one? It won't pass if there are any of them in there. This is NOT optional, they have to be removed.

Make sure that if it's installing files into the gac that the command line for this also has it being installed into %{_libdir} and not $prefix/lib. Again, this will fail it under 64 bit systems.

Also check that you're using the exclusivearch which is used in the likes of the mono, monodevelop and other such packages.

Comment 10 Paul F. Johnson 2008-10-08 14:09:14 UTC
Michel : If you're snowed under, I don't mind taking this one over for review.

Comment 11 Paul F. Johnson 2008-10-08 19:23:27 UTC
spec file

autoreconf is not required. You've only altered the .pc file. Means that you can remove the BR for automake and autoconf.
Please add in BR monodoc-devel. You should always build documentation if it's available.

rpmlint comes out with it's usual errors about there being no binary in the main package, so I'd not worry there.

Rebuild with monodoc enabled (remember, you also need this as a R as well) and I'm happy. I think it's Michel that has to approve it though.

Comment 12 Michel Lind 2008-10-08 21:07:10 UTC
So the configure script can be simplified; the --disable-docs can be removed.

The question then is: where do the documentations go? Since they are mostly developer-oriented, probably the -devel subpackage, and make it Provides: notify-sharp-doc. Or turn it entirely into its own subpackage (but this would leave the -devel subpackage containing only one file, as it does now -- a bit wasteful).

Comment 13 Sindre Pedersen Bjørdal 2008-10-08 22:29:45 UTC
The autoconf is needed because the source tarball is constructed from a svn checkout. Without it there won't be any configure.

As for the monodoc compilation fails with the following errors:

"Making all in docs
make[1]: Entering directory `/home/foolish/rpmbuild/BUILD/notify-sharp-20080912/docs'
/usr/bin/mdassembler --out notify-sharp-docs --ecma ./en
/usr/bin/mdassembler --out notify-sharp-docs --ecma ./en

Unhandled Exception: System.IO.IOException: Sharing violation on path /home/foolish/rpmbuild/BUILD/notify-sharp-20080912/docs/notify-sharp-docs.zip
  at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x00000] 
  at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize) [0x00000] 
  at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int)
  at System.IO.File.Create (System.String path, Int32 bufferSize, FileOptions options, System.Object fileSecurity) [0x00000] 
  at System.IO.File.Create (System.String path) [0x00000] 
  at Monodoc.HelpSource.SetupForOutput () [0x00000] 
  at Monodoc.HelpSource..ctor (System.String base_filename, Boolean create) [0x00000] 
  at Mono.Documentation.Assembler.Main (System.String[] args) [0x00000] 
make[1]: *** [notify-sharp-docs.tree] Error 1
make[1]: *** Waiting for unfinished jobs....
Processing namespace Notifications
    Processing input file ActionArgs.xml
    Processing input file ActionHandler.xml
    Processing input file CloseArgs.xml
    Processing input file CloseHandler.xml
    Processing input file CloseReason.xml
    Processing input file Global.xml
    Processing input file Notification.xml
    Processing input file ServerInformation.xml
    Processing input file Urgency.xml
Have 9 elements in the Notifications
make[1]: Leaving directory `/home/foolish/rpmbuild/BUILD/notify-sharp-20080912/docs'
make: *** [all-recursive] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.eQSVfb (%build)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.eQSVfb (%build)"

Any tips on this?

Comment 14 Paul F. Johnson 2008-10-09 21:59:00 UTC
#12 -

The docs should be in their own subpackage. It doesn't matter if there is only one file in the -devel subpackage, the guidelines say that the .pc file should be in the -devel subpackage, so there it goes. Quite a few mono -devel subpackages only contain the .pc file (mono-basic generates it's own from the spec file)

The patch is also not really required

sed -i -e 's!${exec_prefix}/lib!%{_libdir}!' notify-sharp.pc.in

should fix the problem with minimal fuss

#13 -

You need to remove the smp_mflags from the build script (it should fix the problem). Again, mono apps don't always like smp_mflags being set (monodevelop really gets upset at parallel builds going on).

Comment 15 Sindre Pedersen Bjørdal 2008-10-09 22:20:51 UTC
Updated package:

- Replace with simple sed line in spec
- Build documentation, add monodoc dependencies.

Spec URL: http://sindrepb.fedorapeople.org/packages/notify-sharp.spec
SRPM URL:
http://sindrepb.fedorapeople.org/packages/notify-sharp-0.4.0-0.4.20080912svn.fc9.src.rpm

Comment 16 Paul F. Johnson 2008-10-09 22:31:11 UTC
Spec file fault.

doc subpackage, the requires is wrong. It doesn't need pkgconfig, but does need monodoc!

Comment 18 Michel Lind 2008-10-10 14:59:27 UTC
ReviewTemplate

MUST

• rpmlint: OK -- errors are irrelevant
• package name: OK
• spec file name: OK
• package guideline-compliant: OK
• license complies with guidelines: OK
• license field accurate: OK
• license file not deleted: OK
• spec in US English: OK
• spec legible: OK
• source matches upstream: OK
• builds under >= 1 archs, others excluded:
OK. Koji build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=873117

*** NOTE ***
Might want to add a comment on top of the %ExclusiveArch line. Since the mono
stack is incomplete on many platforms, no need to create a bug report for this

• build dependencies complete: OK
• own all directories: OK
• no dupes in %files: OK
• permission: OK
• %clean RPM_BUILD_ROOT: OK
• macros used consistently: OK
• Package contains code: OK
• large docs => -doc: OK
• doc not runtime dependent: OK
• headers in -devel: OK
• if contains *.pc, req pkgconfig: OK
• devel requires versioned base package: OK
• clean buildroot before install: OK
• filenames UTF-8: OK

SHOULD
• package build in mock on all architectures: OK (as far as Mono stack allows)
• package functioned as described: OK
• scriplets are sane: OK
• other subpackages should require versioned base: OK
• require package not files: OK

APPROVED

Comment 19 Sindre Pedersen Bjørdal 2008-10-10 15:16:22 UTC
New Package CVS Request
=======================
Package Name: notify-sharp
Short Description: A C# implementeation for Desktop Notifications
Owners: sindrepb
Branches: F-9 F-10
InitialCC:

Comment 20 Kevin Fenzi 2008-10-10 23:27:14 UTC
cvs done.