Date: Thu, 23 Jan 2014 14:17:11 -0700
From: [email protected]
To: [email protected]
Subject: Re: [OM Cooker] ask for revieuw
I'm kinda anal about spec tidiness. That's one of things.
First in the header I like to order things like so:
Summary:
Name:
Epoch:
Version:
Release:
License:
Group:
Url:
Source0:
.
Patch0:
.
BuildRequires: always alphabetically ordered and I start with non devel pkgs
first, then foo-devel, pkgconfig(foo). Also, I always try to find out if there
is a pkgconfig provides for a foo-devel because this will save us from a ton of
headaches in the future. I saw that you have BuildRequires:
typelib(CDesktopEnums), this seems wrong, but I'm not entirely sure. whatever
srpm produces that typelib, in the devel pkg it should have a requirement for
its own gir pkg. So correcting the problem there and not as a BuildRequires.
.
Requires:
Suggests:
Obsoletes: By the way, AFB needs versioned obsoletes otherwise it could
possible remove the currently produced rpms.
If all the patches are at patch level 1, use %apply_patches instead of listing
all the patches to be applied individually.
Use %configure2_5x instead of %configure. I'm not entirely sure at the moment,
but I think --disable-static is already included in %configure2_5x, you could
check by running rpm --showrc and grepping for configure2_5x. I know
--disable-rpath is already included.
Use %make instead of make %{?_smp_mflags}, the V=1 is just for extra verbosity.
I wonder if %makeinstall_std would work instead but you shouldn't use { } on
predefined macros in rpm.
$RPM_BUILD_ROOT should be replaced by %{buildroot}
this is unnecessary too, rpm automatically removes these for us.
# Remove .la file
rm -rf $RPM_BUILD_ROOT/%{_libdir}/cinnamon/libcinnamon.la
As far as I remember these are handled by filetriggers in rpm as well.
%postun
if [ $1 -eq 0 ] ; then
/usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
fi
%posttrans
/usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
and lastly,
this is fugly:
/usr/lib/ should be %{_prefix}/lib
You might wanna look at our originally spec too.
If this is a lot of info to digest, I can try to be more specific and clear.
Regards,
Matt
Thanks, I had to use typelib because the .gir file is provided by
lib64cinnamon-desktop-gir file.Andre Bondrov told me to split the package in a
devel, libname, libcjs and a gir package. If you think it best to only use the
libname, devname package I will make all the packages again. If I look at
Fedora they only use devname and the normal package. Roelof