- Modifié
Bonjour, j'utilise fréquement SFML qui hélas n'est pas empaqueté dans FEDORA. J'ai donc suivi le tuto http://cpc.cx/1kc afin de créer mon propre RPM. Comme je suis novice dans la matière, je ne suis pas sur d'avoir procédé correctement.
J'aimerais avoir votre avis sur la validité du .spec que j'ai écrit ainsi que sur un moyen de l'intégrer au dépots officiels.
J'ai aussi un problème : mon .spec construit la SFML à partir de SVN et ne met pas à jour le n° de version correctement. Existe-t-il un moyen de numéroter automatiquement les builds a partir de SVN?
Et pour terminer, dans le fichier spec, certains noms de macro commencent par un _ et d'autres non, quelle est la différence?
EDIT : je ne comprends pas ce que les warnings que j'obtiens veulent dire.
Merci
--- Fichier SPEC (édité)---
--- rpmlint -i ---
J'aimerais avoir votre avis sur la validité du .spec que j'ai écrit ainsi que sur un moyen de l'intégrer au dépots officiels.
J'ai aussi un problème : mon .spec construit la SFML à partir de SVN et ne met pas à jour le n° de version correctement. Existe-t-il un moyen de numéroter automatiquement les builds a partir de SVN?
Et pour terminer, dans le fichier spec, certains noms de macro commencent par un _ et d'autres non, quelle est la différence?
EDIT : je ne comprends pas ce que les warnings que j'obtiens veulent dire.
Merci
--- Fichier SPEC (édité)---
Name: sfml-devel
Version: 1.6
Release: 1%{?dist}
Summary: SFML is simple and fast multimedia library.
Group: Development/Libraries
License: zlib
URL: [url]http://www.sfml-dev.org[/url]
Source0: [url]https://sfml.svn.sourceforge.net/svnroot/sfml/trunk/[/url]
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: freeglut-devel
BuildRequires: libX11-devel
BuildRequires: libXrandr-devel
BuildRequires: freetype-devel
BuildRequires: openal-soft-devel
BuildRequires: libsndfile-devel
Requires: freeglut
Requires: libX11
Requires: libXrandr
Requires: freetype
Requires: openal-soft
Requires: libsndfile
%description
SFML is a free multimedia C++ API
#that provides you low and high level access to graphics, input, audio, etc.
%prep
svn co [url]https://sfml.svn.sourceforge.net/svnroot/sfml/trunk[/url] %SOURCE0
cp -rpf %SOURCE0/* .
rm -rf `find ./ | grep .svn`
%build
make clean
make %{?_smp_mflags}
%install
rm -rf %{buildroot}
make install DESTDIR=%{buildroot}
#rm -rf `find %%{buildroot}/ | grep .svn`
install -dp %{buildroot}/lib %buildroot/%{_libdir}
install -dp %{buildroot}/include %buildroot/%{_includedir}
cp -pr %{buildroot}/lib/* %buildroot/%{_libdir}/
cp -pr %{buildroot}/include/* %buildroot/%{_includedir}/
rm -rf %{buildroot}/lib
rm -rf %{buildroot}/include
%clean
make clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
%doc doc/
%{_includedir}/*
%{_libdir}/*
%changelog
* Tue Apr 06 2010 Upstream release <laurent at, sfml-dev.org> 1.6
- see : [url]http://mac.softpedia.com/progChangelog/[/url] … 49686.html
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
--- rpmlint -i ---
sfml-devel.x86_64: W: no-dependency-on sfml/sfml-libs/libsfml
sfml-devel.x86_64: W: summary-ended-with-dot C SFML is simple and fast multimedia library.
Summary ends with a dot.
sfml-devel.x86_64: W: incoherent-version-in-changelog 1.6 ['1.6-1.fc13', '1.6-1']
The last entry in %changelog contains a version identifier that is not
coherent with the epoch:version-release tuple of the package.
sfml-devel.x86_64: W: unstripped-binary-or-object /usr/lib64/libsfml-system.so.1.7
sfml-devel.x86_64: W: unstripped-binary-or-object /usr/lib64/libsfml-graphics.so.1.7
sfml-devel.x86_64: W: shared-lib-calls-exit /usr/lib64/libsfml-graphics.so.1.7 exit@GLIBC_2.2.5
This library package calls exit() or _exit(), probably in a non-fork()
context. Doing so from a library is strongly discouraged - when a library
function calls exit(), it prevents the calling program from handling the
error, reporting it to the user, closing files properly, and cleaning up any
state that the program has. It is preferred for the library to return an
actual error code and let the calling program decide how to handle the
situation.
sfml-devel.x86_64: W: shared-lib-calls-exit /usr/lib64/libsfml-graphics.so.1.7 exit@@GLIBC_2.2.5
This library package calls exit() or _exit(), probably in a non-fork()
context. Doing so from a library is strongly discouraged - when a library
function calls exit(), it prevents the calling program from handling the
error, reporting it to the user, closing files properly, and cleaning up any
state that the program has. It is preferred for the library to return an
actual error code and let the calling program decide how to handle the
situation.
sfml-devel.x86_64: W: unstripped-binary-or-object /usr/lib64/libsfml-audio.so.1.7
sfml-devel.x86_64: W: unstripped-binary-or-object /usr/lib64/libsfml-network.so.1.7
sfml-devel.x86_64: W: unstripped-binary-or-object /usr/lib64/libsfml-window.so.1.7
sfml-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/sfml-devel-1.6/doc/build/doxygen.css
This file has wrong end-of-line encoding, usually caused by creation or
modification on a non-Unix system. It could prevent it from being displayed
correctly in some circumstances.
sfml-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/sfml-devel-1.6/doc/build/Doxygen.hpp
This file has wrong end-of-line encoding, usually caused by creation or
modification on a non-Unix system. It could prevent it from being displayed
correctly in some circumstances.