[ebuild] Python et la variable PYTHON_USEDEP (résolu)
Posted: Tue Aug 04, 2015 2:09 pm
Salut tout le monde,
je suis en train de mettre à disposition mes ebuilds et j'essaie de les améliorer. J'ai mis
à disposition un programme python et en m'inspirant d'autres ebuild, j'ai découvert la variable
PYTHON_USEDEP. J'ai bien vu qu'on en parle sur le wiki, mais ça ne m'aide pas, je n'ai pas
encore bien compris à quoi elle sert.... certainement le manque d'expérience en python!
Pour être clair, j'ai regardé le paquet pafy:
http://gpo.zugaina.org/dev-python/pafy
C'est le deuxième qui m'intéresse, il contient la ligne suivante:
Je me pose la question suivante: à quoi sert PYTHON_USEDEP pour savoir quand je devrai moi aussi le mettre.
Après des recherches, ma supposition est la suivante. Dans ce cas, si le USE flag test est activé, on doit installer
la dépendence dev-python/nose. Il se peut que plusieurs versions de pythons soient installées sur une machine. Par exemple,
j'ai la version 2.7 et 3.4 sur mon système. Si je regarde la valeur dans mon cas à l'aide d'un "echo $PYTHON_USEDEP" dans un ebuild,
j'obtiens:
Donc je devine que ça ajoute des use_flags du type "python_targets_python3_3. Toutefois, le use flag est par exemple:
Et là je ne suis pas sûr de l'interprétation: cela ressemble à ce qu'il y a sous https://devmanual.gentoo.org/general-co ... endencies/,
dans la partie "Built with USE Dependencies". J'en arrive à la conclusion suivante: si le USE flag python_targets_python2_7 n'est pas présent, c'est qu'il n'est pas activé. Si on avait mis un
(+), cela signifierait que son absence signifie que ce USE flag est activé. Le hic, c'est que ce use flag est très peu utilisé. Même en remontant à la base des dépendance,
j'ai de la peine à trouver un paquet qui l'utilise. Il me semble que setuptools fait partie de la base, toutefois il n'a pas de use flag du type python_targets_python2_7.
Bon dans tout ça, cela doit être une information pour qu'une dépendance soit installée pour le bon interpréteur python ou quelque chose dans ce genre. En effet, selon la version de python installée, on
doit installer dans un répertoire différent.
Bref, vous aurez compris que ce n'est pas clair dans ma tête. Quand cela le sera, je pourrai écrire de meilleures ebuilds.
Je laisse la place aux spécialistes à présent
je suis en train de mettre à disposition mes ebuilds et j'essaie de les améliorer. J'ai mis
à disposition un programme python et en m'inspirant d'autres ebuild, j'ai découvert la variable
PYTHON_USEDEP. J'ai bien vu qu'on en parle sur le wiki, mais ça ne m'aide pas, je n'ai pas
encore bien compris à quoi elle sert.... certainement le manque d'expérience en python!
Pour être clair, j'ai regardé le paquet pafy:
http://gpo.zugaina.org/dev-python/pafy
C'est le deuxième qui m'intéresse, il contient la ligne suivante:
Code: Select all
DEPEND="test? ( dev-python/nose[${PYTHON_USEDEP}] )"Après des recherches, ma supposition est la suivante. Dans ce cas, si le USE flag test est activé, on doit installer
la dépendence dev-python/nose. Il se peut que plusieurs versions de pythons soient installées sur une machine. Par exemple,
j'ai la version 2.7 et 3.4 sur mon système. Si je regarde la valeur dans mon cas à l'aide d'un "echo $PYTHON_USEDEP" dans un ebuild,
j'obtiens:
Code: Select all
python_targets_python2_7(-)?,python_targets_python3_3(-)?,python_targets_python3_4(-)?,-python_single_target_python2_7(-),-python_single_target_python3_3(-),-python_single_target_python3_4(-)
Code: Select all
python_targets_python2_7(-)?dans la partie "Built with USE Dependencies". J'en arrive à la conclusion suivante: si le USE flag python_targets_python2_7 n'est pas présent, c'est qu'il n'est pas activé. Si on avait mis un
(+), cela signifierait que son absence signifie que ce USE flag est activé. Le hic, c'est que ce use flag est très peu utilisé. Même en remontant à la base des dépendance,
j'ai de la peine à trouver un paquet qui l'utilise. Il me semble que setuptools fait partie de la base, toutefois il n'a pas de use flag du type python_targets_python2_7.
Bon dans tout ça, cela doit être une information pour qu'une dépendance soit installée pour le bon interpréteur python ou quelque chose dans ce genre. En effet, selon la version de python installée, on
doit installer dans un répertoire différent.
Bref, vous aurez compris que ce n'est pas clair dans ma tête. Quand cela le sera, je pourrai écrire de meilleures ebuilds.
Je laisse la place aux spécialistes à présent