Fedora-Fr - Communauté francophone Fedora - Linux

Communauté francophone des utilisateurs de la distribution Linux Fedora.

  

Dernière news : Fedora-Fr aux 15èmes Rencontres Mondiales du Logiciel Libre

#1 31/08/2010 19:37:35

ledemonboiteux
Membre
Inscription : 07/08/2008
Messages : 83

SFML-devel

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é)---

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.

Dernière modification par ledemonboiteux (01/09/2010 15:14:08)

Hors ligne

#2 01/09/2010 00:51:16

Pikachu_2014
Modérateur
Modérateur
Lieu : Boulogne-Billancourt
Inscription : 16/06/2005
Messages : 11 334
Site Web

Re : SFML-devel

Bonjour,

Je suppose que tu es un développeur de SFML, ce qui faciliterait les choses. Quelques remarques à la lecture de ton fichier .spec :

  1. On ne crééra jamais de paquet nommé bibliothèque-devel ; le paquet devel correspondant à une bibliothèque donnée est défini comme « sous-paquet » de ton paquet principal.
    Si ton paquet principal doit fournir évidemment les bibliothèques dynamiques (versionnées) SFML et utilisées par tout programme compilé avec celle-ci, les fichiers d'en-tête ne sont pas utiles à l'exécution de ces programmes. C'est la raison d'être des paquets devel : ne fournir que les fichiers nécessaires au développement dans un paquet dédié, non requis par le paquet principal (ici les fichiers d'en-têtes et des liens vers les bibliothèques versionnées pour l'édition de liens). Je te renvoie à ce lien :
       http://fedoraproject.org/wiki/Packaging … l_Packages
    Je te suggère également de regarder des exemples de paquets fournissant des bibliothèques (entre autres ceux préfixés par lib*).

  2. Tu as choisi de packager une version SVN ; y at-il une raison particulière à cela, sachant qu'une version stable a été publiée récemment (je vois la version 1.6 datant d'avril) ? Les versions SVN sont délicates à gérer, as-tu des garanties sur la stabilité de l'API par exemple dans la branche SVN ?
    Si tu souhaites néanmoins vraiment utiliser la version SVN :

    1. Tu dois construire manuellement (donc hors de la section %prep de ton .spec) une archive de sources à partir d'un numéro de révision SVN, et indiquer comment elle a été construite, comme décrit ici :
         http://fedoraproject.org/wiki/Packaging … on_Control

    2. Tu te reporteras aux guidelines suivantes pour adapter en conséquence tes champs Version et Release afin de faire apparaître qu'il s'agit d'une version provenant d'un VCS :
         http://fedoraproject.org/wiki/Packaging … otPackages

  3. Le champ BuildRoot n'est plus obligatoire :
       http://fedoraproject.org/wiki/Packaging … ldRoot_tag

  4. Les paquets spécifiés en tant que Requires me semblent tous superflus : en effet, rpmbuild est capable, à partir des bibliothèques dynamiques fournies par ton paquet (cf. ldd), de détecter les dépendances de celles-ci et de les ajouter en tant que Requires automatiquement.

  5. Le « make clean » dans ton %build est vraiment nécessaire ? S'il est nécessaire de lancer une telle commande, c'est que les sources délivrées par le projet sont crades, et c'est un bogue à corriger...

  6. Je note dans ta section %install que tu déplaces les fichiers installés dans %buildroot/lib (resp. %buildroot/include) visiblement vers %buildroot/%{_libdir} (resp. %buildroot/%{_includedir}/) ; en dehors du fait que ça ne soit guère canonique, tu devrais pouvoir spécifier les chemins d'installation via des variables passées au « make install » si celui-ci est bien fait. Dans le cas contraire, il te reste à le corriger...

  7. Attention aux commandes de pré/post-installation : on les place usuellement après la section %install.

Quant aux avertissement de rpmlint :

  • summary-ended-with-dot : le descriptif de ton paquet défini dans Summary se termine par un point... À supprimer.

  • incoherent-version-in-changelog : le changelog est à formater selon le schéma suivant :
       * Tue Apr 06 2010 Nom du packager <adresse mail> Version-Release

  • unstripped-binary-or-object : rpmbuild extrait les info. de débogage (le « strip ») de tes binaires et les rassemble dans un paquet sfml-debuginfo... Sauf si ces binaires ne contiennent pas d'informations de débogage... Il est important que les flags de compilation du projet Fedora soient utilisés pour compiler ton paquet. Ceux-ci sont définis dans la macro %{optflags} (et contient au moins -g). Je suppose que les Makefiles de SFML savent tirer profit de CXXFLAGS pour utiliser les flags Fedora.

  • shared-lib-calls-exit : le message est assez explicite. C'est bénin si tu estimes --- en tant que développeur SFML --- que les appels à exit() dans les fonctions des bibliothèques SFML sont vraiment nécessaires.

  • wrong-file-end-of-line-encoding : le fichier visé par l'avertissement a sans doute été créé sous Windows, avec des retours à la ligne en \n\r, au contraire du standard Unix en \n. Voir :
       http://fedoraproject.org/wiki/Common_Rp … e-encoding

Je suis peut-être passé à côté d'autres petits soucis, mais on y verra plus clair une fois les corrections suggérées plus haut effectuées. Pour la prochaine version de ton .spec, merci de fournir également un lien vers le RPM source et des logs de construction, ça facilitera les corrections futures wink.


« …elle excitait si puissamment le désir, que je devins alors très incrédule sur sa vertu. »
À propos de Fœdora, dans la Peau de Chagrin (Balzac) roll

Hors ligne

#3 01/09/2010 12:56:44

ledemonboiteux
Membre
Inscription : 07/08/2008
Messages : 83

Re : SFML-devel

Bonjour,
Merci beaucoup pour votre aide, c'est mon premier RPM alors je galère pas mal. Je ne suis pas du tout développeur de SFML, par conséquent je n'ai pas la main sur le makefile ni sur les caractères de fin de ligne (peut être qu'un sed pourait résoudre le problème des \n?)


1. J'ai essayé de séparer doc header et libs mais j'ignore si je l'ai fait correctement
2. Non je n'ai pas de raisons particulières, j'ai suivi votre conseil et j'ai construit mon package a partir du SDK 1.6
3. OK, je l'ai supprimé
4. OK je les ai supprimés
5. Le make clean est necessaire à partir de la seconde fois ou on souhaite construire le rpm
6. Je n'ai pas la main sur le makefile, le problème est qu'il met les libs dans {un_truc}/usr/lib quelque soit l'architecture et non dans {un_truc}/usr/lib64 pour la version 64 bits. C'est crado mais je n'ai pas trouvé mieux (ou plutot plus simple)
7. Je les ai déplacés

L'ensemble complet du build est ici : http://tentacule.is-a-geek.com/share/rpmbuild/
Si vous préferez télécharger tout en zip : http://tentacule.is-a-geek.com/share/rpmbuild.zip
J'arrive pas a produire un log build -ba sfml-devel.spec 2>&1 /tmp/a.log écrit quand même sur la console.


Je n'ai pas réussi à trouver comment faire pour mettre les symboles de debugging, j'ai tenté :  make %{?_smp_mflags} CFLAGS="%{optflags}" mais ca plante.
(c.f. la fin du log de la console à la fin de ce message)


Merci pour les explications sur les avertissements




--- SPEC ---

Name:           sfml
Version:        1.6
Release:        1%{?dist}
Summary:        SFML is a simple and fast multimedia library

Group:          Development/Libraries 
License:        zlib
URL:            [url]http://www.sfml-dev.org[/url]
#Source0:       h ttps://sfml.svn.sourceforge.net/svnroot/sfml/trunk/
#BuildRoot:      %%{_tmppath}/%%{name}-%%{version}-%%{release}-root-%%(%%{__id_u} -n)

Source0:    [url]http://downloads.sourceforge.net/sfml/SFML-%version-sdk-linux-64.tar.gz[/url]


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

Provides:    sfml

%description
SFML is a free multimedia C++ API
#that provides you low and high level access to graphics, input, audio, etc.



%package devel
Requires:       sfml
Summary:        SFML headers

%description devel
SFML development files, SFML is a free multimedia C++ API




%package doc
Requires:       sfml
Summary:        SFML documentation

%description doc
SFML documentation files, SFML is a free multimedia C++ API









%prep
#SDK VERSION
rm -f SFML-%version-sdk-linux-64.tar.gz
wget [url]http://downloads.sourceforge.net/sfml/SFML-%version-sdk-linux-64.tar.gz[/url]
tar -xvf SFML-%version-sdk-linux-64.tar.gz
cp -rpf SFML-%version/* ./
cp  SFML-%version-sdk-linux-64.tar.gz %SOURCE0

#SVN VERSION
#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



%install
rm -rf %{buildroot}
make install DESTDIR=%{buildroot}

#lib
install -dp %{buildroot}/lib    %buildroot/%{_libdir}
cp      -pr %{buildroot}/lib/*  %buildroot/%{_libdir}/
rm      -rf %{buildroot}/lib

#include
install -dp %{buildroot}/include    %buildroot/%{_includedir}
cp      -pr %{buildroot}/include/*  %buildroot/%{_includedir}/
rm      -rf %{buildroot}/include



%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig



%clean
make clean
rm -rf %{buildroot}


%files
%defattr(-,root,root,-)
%{_libdir}/*

%files devel
%defattr(644,root,root,0755)
%{_includedir}/*

%files doc
%defattr(644,root,root,0755)
%doc doc/


%changelog
* Tue Apr 06 2010 Upstream release <laurent at, sfml-dev.org> 1.6
- see : [url]http://mac.softpedia.com/progChangelog/SFML-Changelog-49686.html[/url]





--- LOG (extrait) ERREUR LORS DU BUILD AVEC : make %{?_smp_mflags} CFLAGS="%{optflags}" ----

Exécution_de(%build): /bin/sh -e /var/tmp/rpm-tmp.Lkm3hB
+ umask 022
+ cd /home/makerpm/rpmbuild/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ make clean
make[1]: Entering directory `/home/makerpm/rpmbuild/BUILD/src/SFML'
make[2]: Entering directory `/home/makerpm/rpmbuild/BUILD/src/SFML/System'
make[2]: Leaving directory `/home/makerpm/rpmbuild/BUILD/src/SFML/System'
make[2]: Entering directory `/home/makerpm/rpmbuild/BUILD/src/SFML/Window'
make[2]: Leaving directory `/home/makerpm/rpmbuild/BUILD/src/SFML/Window'
make[2]: Entering directory `/home/makerpm/rpmbuild/BUILD/src/SFML/Network'
make[2]: Leaving directory `/home/makerpm/rpmbuild/BUILD/src/SFML/Network'
make[2]: Entering directory `/home/makerpm/rpmbuild/BUILD/src/SFML/Graphics'
make[2]: Leaving directory `/home/makerpm/rpmbuild/BUILD/src/SFML/Graphics'
make[2]: Entering directory `/home/makerpm/rpmbuild/BUILD/src/SFML/Audio'
make[2]: Leaving directory `/home/makerpm/rpmbuild/BUILD/src/SFML/Audio'
make[1]: Leaving directory `/home/makerpm/rpmbuild/BUILD/src/SFML'
make[1]: Entering directory `/home/makerpm/rpmbuild/BUILD/samples'
make[2]: Entering directory `/home/makerpm/rpmbuild/BUILD/samples/ftp'
make[2]: Leaving directory `/home/makerpm/rpmbuild/BUILD/samples/ftp'
make[2]: Entering directory `/home/makerpm/rpmbuild/BUILD/samples/opengl'
make[2]: Leaving directory `/home/makerpm/rpmbuild/BUILD/samples/opengl'
make[2]: Entering directory `/home/makerpm/rpmbuild/BUILD/samples/pong'
make[2]: Leaving directory `/home/makerpm/rpmbuild/BUILD/samples/pong'
make[2]: Entering directory `/home/makerpm/rpmbuild/BUILD/samples/post-fx'
make[2]: Leaving directory `/home/makerpm/rpmbuild/BUILD/samples/post-fx'
make[2]: Entering directory `/home/makerpm/rpmbuild/BUILD/samples/qt'
make[2]: Leaving directory `/home/makerpm/rpmbuild/BUILD/samples/qt'
make[2]: Entering directory `/home/makerpm/rpmbuild/BUILD/samples/sockets'
make[2]: Leaving directory `/home/makerpm/rpmbuild/BUILD/samples/sockets'
make[2]: Entering directory `/home/makerpm/rpmbuild/BUILD/samples/sound'
make[2]: Leaving directory `/home/makerpm/rpmbuild/BUILD/samples/sound'
make[2]: Entering directory `/home/makerpm/rpmbuild/BUILD/samples/sound_capture'
make[2]: Leaving directory `/home/makerpm/rpmbuild/BUILD/samples/sound_capture'
make[2]: Entering directory `/home/makerpm/rpmbuild/BUILD/samples/voip'
make[2]: Leaving directory `/home/makerpm/rpmbuild/BUILD/samples/voip'
make[2]: Entering directory `/home/makerpm/rpmbuild/BUILD/samples/window'
make[2]: Leaving directory `/home/makerpm/rpmbuild/BUILD/samples/window'
make[2]: Entering directory `/home/makerpm/rpmbuild/BUILD/samples/wxwidgets'
make[2]: Leaving directory `/home/makerpm/rpmbuild/BUILD/samples/wxwidgets'
make[2]: Entering directory `/home/makerpm/rpmbuild/BUILD/samples/X11'
make[2]: Leaving directory `/home/makerpm/rpmbuild/BUILD/samples/X11'
make[1]: Leaving directory `/home/makerpm/rpmbuild/BUILD/samples'
+ make -j3 'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic'
make[1]: Entering directory `/home/makerpm/rpmbuild/BUILD/src/SFML'
make[2]: Entering directory `/home/makerpm/rpmbuild/BUILD/src/SFML/System'
g++ -o Clock.o -c Clock.cpp -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
make[2]: Entering directory `/home/makerpm/rpmbuild/BUILD/src/SFML/Network'
g++ -o [url=http://Ftp.o]Ftp.o[/url] -c [url=http://Ftp.cpp]Ftp.cpp[/url] -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
make[2]: Entering directory `/home/makerpm/rpmbuild/BUILD/src/SFML/Window'
g++ -o Context.o -c Context.cpp -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
Clock.cpp:29:36: error: SFML/System/Platform.hpp: No such file or directory
Clock.cpp: In member function 'float sf::Clock::GetElapsedTime() const':
Clock.cpp:48: error: 'sf::priv' has not been declared
Clock.cpp: In member function 'void sf::Clock::Reset()':
Clock.cpp:57: error: 'sf::priv' has not been declared
make[2]: *** [Clock.o] Error 1
make[2]: Leaving directory `/home/makerpm/rpmbuild/BUILD/src/SFML/System'
make[1]: *** [sfml-system] Error 2
make[1]: *** Waiting for unfinished jobs....
g++ -o Input.o -c Input.cpp -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
Context.cpp:29:38: error: SFML/Window/WindowImpl.hpp: No such file or directory
Context.cpp: In constructor 'sf::Context::Context()':
Context.cpp:46: error: incomplete type 'sf::priv::WindowImpl' used in nested name specifier
Context.cpp: In destructor 'sf::Context::~Context()':
Context.cpp:55: warning: possible problem detected in invocation of delete operator:
Context.cpp:55: warning: invalid use of incomplete type 'struct sf::priv::WindowImpl'
/usr/local/include/SFML/Window/Context.hpp:39: warning: forward declaration of 'struct sf::priv::WindowImpl'
Context.cpp:55: note: neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined.
Context.cpp: In member function 'void sf::Context::SetActive(bool)':
Context.cpp:64: error: invalid use of incomplete type 'struct sf::priv::WindowImpl'
/usr/local/include/SFML/Window/Context.hpp:39: error: forward declaration of 'struct sf::priv::WindowImpl'
Context.cpp: In static member function 'static bool sf::Context::IsContextActive()':
Context.cpp:73: error: incomplete type 'sf::priv::WindowImpl' used in nested name specifier
Context.cpp: At global scope:
Context.cpp:35: warning: '<unnamed>::Dummy' defined but not used
make[2]: *** [Context.o] Error 1
make[2]: *** Waiting for unfinished jobs....
g++ -o Http.o -c Http.cpp -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
make[2]: Leaving directory `/home/makerpm/rpmbuild/BUILD/src/SFML/Window'
make[1]: *** [sfml-window] Error 2
g++ -o IPAddress.o -c IPAddress.cpp -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
g++ -o Packet.o -c Packet.cpp -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
g++ -o SelectorBase.o -c SelectorBase.cpp -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
g++ -o SocketTCP.o -c SocketTCP.cpp -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
g++ -o SocketUDP.o -c SocketUDP.cpp -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
g++ -o Unix/SocketHelper.o -c Unix/SocketHelper.cpp -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
g++ -shared -Wl,-soname,libsfml-network.so.1.6 -o ../../../lib/libsfml-network.so.1.6 [url=http://Ftp.o]Ftp.o[/url] Http.o IPAddress.o Packet.o SelectorBase.o SocketTCP.o SocketUDP.o ./Unix/SocketHelper.o
/usr/bin/ld: [url=http://Ftp.o]Ftp.o[/url]: relocation R_X86_64_32S against `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage' can not be used when making a shared object; recompile with -fPIC
[url=http://Ftp.o]Ftp.o[/url]: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[2]: *** [libsfml-network.so] Error 1
make[2]: Leaving directory `/home/makerpm/rpmbuild/BUILD/src/SFML/Network'
make[1]: *** [sfml-network] Error 2
make[1]: Leaving directory `/home/makerpm/rpmbuild/BUILD/src/SFML'
make: *** [sfml] Error 2
erreur: Mauvais status de sortie pour /var/tmp/rpm-tmp.Lkm3hB (%build)


Erreur de construction de RPM:
    Mauvais status de sortie pour /var/tmp/rpm-tmp.Lkm3hB (%build)

Dernière modification par ledemonboiteux (01/09/2010 15:12:53)

Hors ligne

#4 01/09/2010 14:18:16

MarbolanGos
Membre
Lieu : Fontenay-aux-Roses
Inscription : 11/02/2007
Messages : 4 879
Site Web

Re : SFML-devel

Les balises codes stp.


Fedora 19 : 1 Dell XPS M1330, 1 fixe custom et 1 Dell Latitude 6430u

Hors ligne

#5 28/09/2010 18:56:23

bioinfornatics
Membre
Lieu : Paris
Inscription : 08/03/2007
Messages : 3 721
Site Web

Re : SFML-devel

salut je voudrais savoir si le packaging a avancer :)

Hors ligne

#6 03/10/2010 20:19:12

bioinfornatics
Membre
Lieu : Paris
Inscription : 08/03/2007
Messages : 3 721
Site Web

Re : SFML-devel

Bon voilou le spec file

%global     alphatag        20100917
%global     svn_revision    svn1570
# The source for this package was pulled from upstream's subversion (svn).
# Use the following commands to generate the tarball:
# svn export -r 1570 https://sfml.svn.sourceforge.net/svnroot/sfml/trunk sfml-20100917svn1570
# tar -cJvf sfml-20100917svn1570.tar.xz sfml-20100917svn1570
Name:           sfml
Version:        1.6
Release:        1.%{alphatag}%{svn_revision}%{?dist}
Summary:        SFML is a simple and fast multimedia library
License:        zlib/libpng License
Group:          System/Libraries
URL:            http://sourceforge.net/projects/sfml
Source:         %{name}-%{alphatag}%{svn_revision}.tar.xz
BuildRequires:  mesa-libGL-devel
BuildRequires:  mesa-libGLU-devel
BuildRequires:  freetype-devel
BuildRequires:  libX11-devel
BuildRequires:  libXrandr-devel
BuildRequires:  openal-devel
BuildRequires:  libsndfile-devel
BuildRequires:  recode
#for samples
BuildRequires:  qt4-devel
BuildRequires:  wxGTK-devel

BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

%description
SFML is a portable and easy to use multimedia API written in C++.

Its features are :
 - portability,
 - object-oriented design,
 - flexibility (a lot of small packages),
 - easy to use,
 - easy to integrate with GUI toolkits.

The library is divided in 5 small packages :
 - audio
 - graphics
 - network
 - system
 - window

This package contains documentation and samples.

%package audio
Summary:        Dynamic SFML libraries for audio
Group:          Development/Libraries

%description audio
Includes dynamic SFML libraries for audio.

%package audio-devel
Summary:        Header files from %{name}-audio
Group:          Development/Libraries
Requires:       %{name}-system-devel = %{version}-%{release}

%description audio-devel
Includes files for developing programs based on %{name}-audio.

%package graphics
Summary:        Dynamic SFML libraries for graphics
Group:          Development/Libraries

%description graphics
Includes dynamic SFML libraries for graphics.

%package graphics-devel
Summary:        Header files from %{name}-graphics
Group:          Development/Libraries

%description graphics-devel
Includes files for developing programs based on %{name}-graphics.

%package network
Summary:        Dynamic SFML libraries for graphicsnetwork
Group:          Development/Libraries

%description network
Includes dynamic SFML libraries for graphics network.

%package network-devel
Summary:        Header files from %{name}-network
Group:          Development/Libraries

%description network-devel
Includes files for developing programs based on %{name}-network.

%package system
Summary:        Dynamic SFML libraries for system
Group:          Development/Libraries

%description system
Includes dynamic SFML libraries for system.

%package system-devel
Summary:        Header files from %{name}-system
Group:          Development/Libraries

%description system-devel
Includes files for developing programs based on %{name}-system.

%package window
Summary:        Dynamic SFML libraries for window
Group:          Development/Libraries

%description window
Includes dynamic SFML libraries for window.

%package window-devel
Summary:        Header files from %{name}-window
Group:          Development/Libraries
Requires:       sfml-system-devel = %{version}

%description window-devel
Includes files for developing programs based on %{name}-window.

%prep
%setup -q -n %{name}-%{alphatag}%{svn_revision}
find . -name "*.txt" -exec sed -i 's/\r//' {} \;
recode l1..u8 *.txt

%build
make  %{?_smp_mflags}

%install
make install DESTDIR=%{buildroot} DESTLIBDIR=%{buildroot}/%{_libdir} DESTINCDIR=%{buildroot}/%{_includedir}

%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig

%clean
make clean
rm -rf %{buildroot}

%files
%defattr(0644,root,root,0755)
%doc *.txt doc/*

%files audio
%defattr(0644,root,root,0755)
%{_libdir}/libsfml-audio.so*

%files audio-devel
%defattr(0644,root,root,0755)
%{_includedir}/SFML/Audio.hpp
%{_includedir}/SFML/Audio

%files graphics
%defattr(0644,root,root,0755)
%{_libdir}/libsfml-graphics.so*

%files graphics-devel
%defattr(0644,root,root,0755)
%{_includedir}/SFML/Graphics.hpp
%{_includedir}/SFML/Graphics

%files network
%defattr(0644,root,root,0755)
%{_libdir}/libsfml-network.so*

%files network-devel
%defattr(0644,root,root,0755)
%{_includedir}/SFML/Network.hpp
%{_includedir}/SFML/Network

%files system
%defattr(0644,root,root,0755)
%{_libdir}/libsfml-system.so*

%files system-devel
%defattr(0644,root,root,0755)
%dir %{_includedir}/SFML
%{_includedir}/SFML/Config.hpp
%{_includedir}/SFML/System.hpp
%{_includedir}/SFML/System
%{_libdir}/libsfml-system.so

%files window
%defattr(0644,root,root,0755)
%{_libdir}/libsfml-window.so*

%files window-devel
%defattr(0644,root,root,0755)
%{_includedir}/SFML/Window.hpp
%{_includedir}/SFML/Window

%changelog
* Sun Oct 03 2010 Jonathan MERCIER <bioinfornatics at gmail.com> 1.6-1.20100917svn1570
- Initial release

Hors ligne

#7 03/10/2010 21:33:39

pingou
Fedora Addict
Modérateur
Lieu : Toulouse
Inscription : 30/03/2006
Messages : 3 697
Site Web

Re : SFML-devel

Il serait bon que tu gardes le changelog précédant wink


On a pas inventé l'électricité en cherchant à améliorer la bougie...
-- Si c'est pas sur le bugzilla, c'est pas un bug ! --

Hors ligne

#8 04/10/2010 03:02:34

bioinfornatics
Membre
Lieu : Paris
Inscription : 08/03/2007
Messages : 3 721
Site Web

Re : SFML-devel

s'il veut prendre le paquet et le soumettre feel free
pour le changelog je sais pas il a donner l'idée pas le spec enfin il fait comme il veut si je peux éviter de maintenir ce paquet

Dernière modification par bioinfornatics (04/10/2010 03:03:38)

Hors ligne

#9 04/10/2010 08:26:05

pingou
Fedora Addict
Modérateur
Lieu : Toulouse
Inscription : 30/03/2006
Messages : 3 697
Site Web

Re : SFML-devel

Pourquoi diable fais-tu des paquets pour lesquels tu n'es pas intéressé ?

Pour le changelog, je te signale que le spec (au moins son début) est présent ici même.


On a pas inventé l'électricité en cherchant à améliorer la bougie...
-- Si c'est pas sur le bugzilla, c'est pas un bug ! --

Hors ligne

#10 23/01/2012 14:04:11

ledemonboiteux
Membre
Inscription : 07/08/2008
Messages : 83

Re : SFML-devel

Bioinformatics : merci pour le script, je l'ai recopié sur la discussion RPM du forum français de SFML ici :
http://www.sfml-dev.org/forum-fr/viewto … 8420#38420

Hors ligne

#11 23/01/2012 16:46:05

Pikachu_2014
Modérateur
Modérateur
Lieu : Boulogne-Billancourt
Inscription : 16/06/2005
Messages : 11 334
Site Web

Re : SFML-devel

SFML est dans les dépôts désormais :
   https://bugzilla.redhat.com/show_bug.cgi?id=759059
Il est actuellement dans le dépôt updates-testing.


« …elle excitait si puissamment le désir, que je devins alors très incrédule sur sa vertu. »
À propos de Fœdora, dans la Peau de Chagrin (Balzac) roll

Hors ligne

#12 23/01/2012 16:58:37

ben51
Attention derrière toi ! un canard !
Lieu : Bordeaux
Inscription : 24/03/2008
Messages : 868

Re : SFML-devel

C'est bath pint

Hors ligne

Pied de page des forums