On peut sélectionner des packages de test sur un gentoo stable
système en ajoutant une ligne avec la syntaxe suivante à la liste des mots clés:
cat /etc/portage/package.keywords
=dev-python/ipython-0.13.2 ~amd64
# and many lines later
=dev-python/ipython-0.14.1 ~amd64
# and many lines later
>=dev-python/ipython-0.13.4 ~amd64
Ce fichier va grandir dans le temps et tôt ou tard, on ne peut pas se rappeler quelles lignes sont obsolètes.
Comment puis-je ranger la liste avec un script de temps en temps?
Une ligne doit être supprimée,
- si la version de test est déjà stabilisée
- > = a été utilisé pour le même package
- = a été utilisé pour le même package avec un numéro de version plus petit
Réponses:
Il existe maintenant un package officiel pour cette tâche appelé app-portage / portpeek .
Ça peut
-f
(fix) est ajouté comme paramètre.la source
J'ai écrit un petit script python qui s'occupe de ce problème. La logique examine chaque ligne du fichier
package.accept_keywords
et n'agit que sur les lignes commençant par=
ou<=
. Ces lignes ont une version liée maximale afin que nous puissions vérifier si elles sont plus nécessaires. Les lignes sans qualificatif ou sans>=
sont laissées telles quelles car nous ne pouvons pas savoir si elles sont obsolètes.Les lignes qui nous intéressent sont ensuite analysées et la version installée du package est vérifiée. Si la version installée est plus récente que la version avec mot clé, ou n'est plus installée du tout, le mot clé est considéré comme obsolète. Si le package installé est la même version que la version avec mot-clé, le package installé est vérifié pour voir s'il est toujours avec mot-clé. S'il a été stabilisé, la ligne est obsolète, sinon elle est conservée.
Cela imprimera le nouveau fichier de mots clés en sortie standard. Remarque : ne redirigez pas la sortie vers
/etc/portage/package.accept_keywords
ou vous encombrerez le fichier et perdrez tout.Cela ira un long chemin vers le nettoyage de votre fichier de mots-clés et pour vos autres préoccupations, trier le fichier et ensuite l'examiner pour plusieurs lignes pour le même package aidera à résoudre la plupart de ce qui reste.
la source
Vous savez que vous pouvez convertir les fichiers du package. * Dans des répertoires, non?
Ensuite, vous pouvez organiser vos atomes dans plusieurs fichiers, par exemple, dans mon système, j'ai obtenu ce qui suit (enfin, pas vraiment, je ne suis pas sur mon ordinateur portable maintenant. Mais vous avez l'idée):
etc.
J'ai trouvé cela très utile pour m'aider à mettre à jour les fichiers.
la source
Ajoutant à la réponse d'Ikraav:
Après utilisation
eix -tT
, supprimez les opérateurs de comparaison et le numéro de version du package. Votre dossier peut également être écrit comme:Cela garantira que vous obtiendrez toujours les versions de test de
dev-python/ipython
etpackage-cat/package
la source
~amd64
dans ma question pourrait être trompeur. Les numéros de version ne doivent pas être modifiés. Je ne veux pas toujours obtenir la dernière version, mais je trouve des lignes redondantes.Voici un petit script qui filtre les entrées des fichiers /etc/portage/package.* qui ne sont plus installés. De plus, il supprime toutes les lignes de commentaires directement au-dessus de l'entrée supprimée. (par exemple, tel que généré par le masque automatique). Si les commentaires sont séparés par une ligne vierge, seuls les commentaires inférieurs seront supprimés. Le script ne supprime pas les entrées en double.
Veuillez noter que portage-utils doit être installé et que le hook postsync /etc/portage/postsync.d/q-reinitialize doit être activé pour que ce script fonctionne.
la source
À partir de maintenant, le
app-portage/eix
package propose un outil pratique nomméeix-test-obsolete
. Une brève description deeix-test-obsolete -h
:Il donne un assez bon aperçu de toutes les entrées redondantes dans les
/etc/portage/package.*
fichiers. La seule chose qui me manque personnellement est une information sur le fichier exact et la ligne définissant le démasquer / utiliser / accepter / quoi que ce soit redondant. Cependant,grep -nr
aide dans ce cas.la source
Commencez par
eix -tT
. Installezapp-portage/eix
pour l'obtenir.la source