Mohammed Sameer ([EMAIL PROTECTED]) wrote:
 
> thanks for offering
> attached the spec file
> i'm sure that it'll work fine on 9.0 but i don't have any ideas about
> future versions

Decent work.

You forgot the BuildRequires:

[~]% rpm -q libgtk+-x11-2.0_0
libgtk+-x11-2.0_0-2.0.6-8mdk
[~]% rpm -q --provides libgtk+-x11-2.0_0-2.0.6-8mdk
libgtk+-x11-2.0 = 2.0.6-8mdk
gtk+2.0-backend = 2.0.6-8mdk
libgdk-x11-2.0.so.0  
libgtk-x11-2.0.so.0  
libgtk+-x11-2.0_0 = 2.0.6-8mdk
[~]% rpm -qa|grep libgtk+-x11
libgtk+-x11-2.0_0-2.0.6-8mdk
libgtk+-x11-2.0_0-devel-2.0.6-8mdk
[~]% rpm -q --provides libgtk+-x11-2.0_0-devel-2.0.6-8mdk
gtk+2-devel = 2.0.6-8mdk
libgtk+2-devel = 2.0.6-8mdk
libgtk+2.0-devel = 2.0.6-8mdk
libgtk+-x11-2.0-devel = 2.0.6-8mdk
libgtk+-x11-2.0_0-devel = 2.0.6-8mdk

So the BuildRequires for gtk+2-devel would be:

  BuildRequires: gtk+2-devel >= 2.0.6

I think. But I always have to fiddle a bit with them before rpm accepts
them. :)

You don't have to add recursive dependencies. So gtk+2-devel requires
The X-libraries and therefore you don't have to specify them.

You can also apply the same trick to the specification of the Requires:
So that would make the spec more flexible to future versions. If you
know your app would also build fine with older version you can choose
something less specific. So the srpm can be build on older releases.


The %make macro is great on mandrake but doesn't work on redhat for
example. No further comment. 

You could replace this section:

%defattr(-, root, root)
%doc README ChangeLog AUTHORS COPYING TODO THANKS NEWS
%attr( 0755, root, root ) %{_prefix}/bin/*
%attr( 0644, root, root ) %{_prefix}/share/locale/*/LC_MESSAGES/*
%attr( 0644, root, root ) %{_prefix}/share/pixmaps/*
%attr( 0644, root, root ) %{_prefix}/share/applications/*
%attr( 0644, root, root ) %{_prefix}/share/katoob/*

With:

%defattr(-, root, root, 755)
%doc README ChangeLog AUTHORS COPYING TODO THANKS NEWS
%{_bindir}/bin/*
%{_datadir}/locale/*/LC_MESSAGES/*
%{_datadir}/pixmaps/*
%{_datadir}/applications/*
%{_datadir}/katoob/*

Assuming that the installer would set the permisions right or:

%defattr( 0644, root, root, 755)
%doc README ChangeLog AUTHORS COPYING TODO THANKS NEWS
%{_datadir}/locale/*/LC_MESSAGES/*
%{_datadir}/pixmaps/*
%{_datadir}/applications/*
%{_datadir}/katoob/*
%defattr( 0755, root, root, 755)
%{_bindir}/*

You can look at /usr/lib/rpm/macros for further more specific macros.

Last but not least: Use rpmlint -i to double tripple check for any
errors.



Groetjes, Han.
-- 
http://www.xs4all.nl/~hanb/software

Attachment: msg78212/pgp00000.pgp
Description: PGP signature

Reply via email to