T'as tout bon aux questions 1, 2 et 4.
Jujens wrote:
C@sp€r wrote:
Quels sont les fichiers/rép présents dans /usr/lib/python2.7/site-packages/ que ton RPM apporte ?
SimpleCV-1.3-py2.7.egg-info/*
SimpleCV/*
Avec les étoiles, tu inclus tous les fichiers/rép contenus dans le répertoire, mais pas le répertoire lui-même
SimpleCV-1.3-py2.7.egg-info/*
est égale à:
/usr/lib/python2.7/site-packages/SimpleCV-1.3-py2.7.egg-info/PKG-INFO
/usr/lib/python2.7/site-packages/SimpleCV-1.3-py2.7.egg-info/SOURCES.txt
/usr/lib/python2.7/site-packages/SimpleCV-1.3-py2.7.egg-info/dependency_links.txt
[...]
Or, le plus haut répertoire que ton RPM apporte est :
/usr/lib/python2.7/site-packages/SimpleCV-1.3-py2.7.egg-info/
Si je veux que mon RPM possède ce répertoire (et par récursivité tous les fichiers/rép qu'il contient) :
%{python_sitelib}/SimpleCV-1.3-py2.7.egg-info/
Du coup, ce qui suit est mieux, non ?
%{python_sitelib}/SimpleCV-1.3-py2.7.egg-info/*
%{python_sitelib}/SimpleCV/*
Sans les étoiles, ça sera parfait. Par convention on laisse un slash à la fin des rép comme repère visuel (ça permet de distinguer en un coup d'œil les fichiers des répertoires).
Vu que normalement mon paquet est le seul qui touche au fichiers dans %{python_sitelib}/SimpleCV. Par contre, je n'ai pas compris l'utilité de la commande %dir (du coup je ne l'utilise pas). D'après ce que j'ai compris, elle permet de dire le dossier m'appartient tout en ignorant les fichiers contenus dans ce dossier. Mais du coup, pourquoi faire comme ça, si juste après on ajoute tout ? On en prendrait qu'une partie des fichiers, je comprendrais, mais là…
Effectivement il y a plusieurs solutions possible :
%{python_sitelib}/SimpleCV/
est équivalent à :
%dir %{python_sitelib}/SimpleCV/
%{python_sitelib}/SimpleCV/*
Mais ça sert à rien de faire en 2 lignes ce qu'on peut faire en une seule ligne.
Petite question en passant : qu'est-ce qui se passe si on englobe trop de fichiers ? Des conflits peuvent apparaître ? On risque de supprimer les fichiers d'autres paquets ?
Ça peut générer un conflit (au niveau du gestionnaire de paquet (yum)), du fait qu'il peut y avoir des fichiers/rép sous la propriété de plusieurs paquets. Le risque étant qu'un paquet modifie/supprime des fichiers d'un autre paquet, ce comportement anarchiste porte un risque à la stabilité du système tout entier. Il est donc du devoir du packageur de contrôler les fichiers contenus dans le paquet, et les fichiers que le paquet possède (cette metadonnée est inscrite dans la rpmdb).