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
*** Bug 449207 has been marked as a duplicate of this bug. ***
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)
Shouldn't the gnome-do compile issue be fixed in gnome-do? AFAIK lib64 is the right place for .pc files on 64bit arches.
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
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.
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
ping?
ping again. I really want to get this in F10.
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.
Michel : If you're snowed under, I don't mind taking this one over for review.
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.
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).
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?
#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).
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
Spec file fault. doc subpackage, the requires is wrong. It doesn't need pkgconfig, but does need monodoc!
Updated: Spec URL: http://sindrepb.fedorapeople.org/packages/notify-sharp.spec SRPM URL: http://sindrepb.fedorapeople.org/packages/notify-sharp-0.4.0-0.5.20080912svn.fc10.src.rpm
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
New Package CVS Request ======================= Package Name: notify-sharp Short Description: A C# implementeation for Desktop Notifications Owners: sindrepb Branches: F-9 F-10 InitialCC:
cvs done.