2009/5/20 Stephen Shaw <sshaw@decriptor.com>
> Using the  uiautomation.spec as the example since that had the newest change
> time according to svn.
>
> For purely managed code currently, due entirely to stupidity on the part of
> the Mono packaging guidelines, currently you need to add:
>
> %define               debug_package %{nil}
>
> Or you will end up with an empty debug package, It is prefered to be at the
> very first line of the spec file.

ok, I added this to all of them except uiaatkbridge because it does
have a c library in it

Perfect
 
>
> Source: needs to be a full valid URL (for something like codeplex where
> direct downloading isn't possible because of clickthrough licenses add a
> comment). E.g.
>
> Source0:
> http://banshee-project.org/files/banshee/banshee-1-%{version}.tar.bz2

I added this to all of them except uiadbuscorebridge since that hasn't
officially been released

Then we can't ship it, unless you do a svn shapshot (I will find you are reference for doing that when we get that far). The tarball has to be reproducable either as a vetted download or a SVN snapshot that can be repeated.
 
I updated this in all of them.  With openSUSE they generate fresh
jails on top of xen on the fly for everybuild so thi build root really
doesn't matter.  That is why they were really simple

It's one of those things that annoy me about rpm, why do I need to define this.. make the default sane and let me overwrite it if I have a good reason. I think Fedora does this mostly for belt and suspender reasons but really that is a question for the buildsystem guys. It never hurts to do it right though. 

should I add another line in there for X11 or is MIT good enough?

MIT is all you need if that is the sole license covering your code. There is also no need to put the license tag on your subpackages, unless a different license applies to them.
 
I've added this, but had previously left it out since there really
isn't much to build in these packages.  They all tend to build within
a few  minutes

It's a standard thing in Fedora, it tends to catch bugs and we are apparently all about correctness. Neat code, neat packages and all. 
 
You still need to review all your summaries and descriptions, but this is a minor thing. One issue though, there are trademark issues with certain things and a policy to deal with them but if you could avoid mention things like Microsoft or MS we wouldn't have to venture into that set of guidelines (oh the jungle we have created).

Problems still:

just placing the descriptions under the package data isn't enough, it needs to be e.g.

%description devel

or rpm tends to get very upset. In the same vein adding -n to the subpackage name isn't needed.

%defattr(-, root, root)

Should be:

%defattr(-, root, root,-)

unless there is a good reason not to.

cases like:
Requires:	mono-uia == %{version}-%{release}

Should always be:

Requires: %{name} == %{version}-%{release}

Now the worst renaming issue, the spec file needs to be mono-uia not uiautomation.spec - package name and spec file must be the same unless there is good reason (e.g. the mirage plugin for banshee is banshee-mirage.spec)

We are so close to something that builds I can smell it. Thanks for doing this Stephen.

- David