Tu peux virer les BuildRequires superflus suivants :
- glib2 (déjà requis par glib2-devel et pkgconfig) ;
- libX11 et libX11-devel (déjà requis par mesa-libGL-devel) ;
- libbsd (déjà requis par libbsd-devel)
- pkgconfig (déjà requis par systemd-units, mesa-libGL-devel, glib2-devel et libbsd-devel).
Plus généralement, si un paquet nécessite le paquet
paquet-devel, il requerra nécessairement
paquet.
Tu peux également retirer kernel-headers, il est requis par gcc qui fait partie des BuildRequires implicites :
http://fedoraproject.org/wiki/Packaging:Guidelines#Exceptions_2
Est-ce le second paquet que tu as prévu de soumettre ?
Requires: bumblebee-akmod-nvidia
Tire profit des macros fournies par rpm pour faciliter la maintenance de ton paquet ; par exemple :
- %{name} correspond au nom du paquet, défini dans le champ « Name » de ton .spec ;
- %{version} correspond à sa version.
Tu peux donc remplacer « bumblebee » et « 3.0 » par respectivement « %{name} » et « %{version} » autant que possible dans ton .spec, comme dans le champ « Source0 » :
Source0: http://github.com/downloads/Bumblebee-Project/Bumblebee/%{name}-%{version}.tar.gz
En cas de mise à jour de Bumblebee, tu n'aurais qu'à modifier le champ « Version » au lieu de corriger toutes les occurrences de « 3.0 ».
Tu peux virer le nettoyage du BuildRoot dans %install (« rm -rf $RPM_BUILD_ROOT ») :
http://fedoraproject.org/wiki/Packaging:Guidelines#BuildRoot_tag
Dans la section %files :
%files
%config(noreplace) %{_sysconfdir}/bash_completion.d/bumblebee
J'imagine que le premier fichier de la liste fournit le support de l'auto-complétion pour bash. La macro %config marque un fichier comme fichier de configuration, susceptible donc d'être modifié par l'utilisateur. « (noreplace) » permet d'éviter à rpm d'écraser ce fichier (et ses éventuelles modifications) en cas de mise à jour du paquet. Un fichier d'auto-complétion n'a pas vocation à être modifié, ça n'est même pas un fichier de conf. Tu peux donc virer %config(noreplace) devant son chemin. J'imagine que rpmlint t'a suggéré cette modification... À tort.
Je ne connais pas la fonction des fichiers %config suivants, mais je t'invite à réfléchir également à la pertinence de les marquer en %config.
Toujours dans %files :
%doc %{_datadir}/doc/bumblebee/RELEASE_NOTES_3_0
Remplace d'une part %{_datadir}/doc par %{_docdir}.
D'autre part, la macro %doc permet de marquer un fichier en tant que documentation ; de tels fichiers pourront être listés à partir de ton paquet grâce à l'option « -d » de rpm ; exemple :
$ rpm -qd gnome-shell
/usr/share/doc/gnome-shell-3.2.2.1/COPYING
/usr/share/doc/gnome-shell-3.2.2.1/README
/usr/share/man/man1/gnome-shell.1.gz
Tout fichier installé dans %{_mandir} ou %{_docdir} est automatiquement taggé comme documentation ; la macro %doc devant le chemin de RELEASE_NOTES_3_0 est donc inutile. Au passage, le chemin %{_docdir}/bumblebee/ ne me paraît pas très canonique, %{_docdir}/%{name}-
%{version}/ est plus dans les usages Fedora. Vois si tu ne peux pas modifier le chemin d'installation de la doc. (en passant l'option --docdir=
chemin dans ./configure si possible).
Je te suggère de jeter un œil à ceci pour le support SystemD :
https://fedoraproject.org/wiki/Packaging/ScriptletSnippets#Systemd