Bonjour,
tu n'as pas à t'inquiéter pour ton « problème » de SPEC ; le fichier .spec, que tu places dans le répertoire SPECS et utilises pour construire les RPM, est complètement indépendant de celui qui est présent/construit dans les sources (délicate attention des développeurs pour un portage RPM de leur programme). Je suppose que c'est le .spec généré à l'issue de la compilation qui t'as servi de modèle pour TON .spec. Fais donc comme si de rien n'était.
Je me permets au passage quelques remarques sur ton .spec (dans le désordre) :
1-
CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" \
./configure \
--prefix=%{_prefix} \
--infodir=%{_infodir} \
--mandir=%{_mandir}
Utilise plutôt la macro %configure ; elle redéfinit e.a. les flags CFLAGS et CXXFLAGS, ainsi que les chemins du préfixe et pages de doc. pour les scripts de configuration standards (générés avec autoconf et consorts) ; remplace donc les lignes précédente par :
%configure
tout simplement.
2-
%install
%makeinstall
Là par contre, c'est le contraire ; il est
déconseilléinterdit d'utiliser dans cette section la macro %makeinstall :
http://fedoraproject.org/wiki/Packaging/Guidelines?highlight=%28guidelines%29#head-fcaf3e6fcbd51194a5d0dbcfbdd2fcb7791dd002
Remplace-là par :
make install DESTDIR=$RPM_BUILD_ROOT
3-
make
À moins qu'il soit ici avéré que la compilation échoue sur machines multi-proc., remplace cette ligne par :
make %{?_smp_mflags}
%{?_smp_mflags} est une macro définissant des options de compilation pour accélérer cette étape sur les machines susmentionnées.
4- Il manque le
changelog,
i.e. le journal des modifications de ton .spec. Tu dois ajouter à la fin de ton fichier la section %changelog, de la forme :
%changelog
* Thu May 17 2007 mon_nom <adresse@mail> 1.0.5-1
- Initial RPM release.
5-
%define name xqf
%define version 1.0.5
%define dist .fc6
Les deux premières macros sont superflues. Tu peux les supprimer, et remplacer leurs occurences dans ton .spec par leur expression « en dur ».
La troisième est à supprimer (elle est déjà définie dans le fichier ~/.rpmmacros) si tu as mis en place un environnement de construction « dans les règles de l'art » (voir le tutoriel dédié).
Tu peux, si tu ne l'as pas fait, pousser plus loin le contrôle de qualité avec les outils
rpmlint dans un premier temps (qui vérifie dans les grandes lignes que ton .spec), et une fois ton .spec corrigé, utiliser mock (vérifie que tu n'as pas oublié de définir des dépendances de construction dans %BuildRequires) ; je n'ai pas éprouvé ton RPM source avec ces outils ; more details here :
http://doc.fedora-fr.org/La_cr%C3%A9ation_de_RPM_pour_les_nuls_:_Cr%C3%A9ation_du_fichier_SPEC_et_du_Paquetage#Contr.C3.B4le_Qualit.C3.A9