Chercher Dans Les Dépôts De Paquets Fedora En Utilisant Sourcegraph
À mesure que notre collection de paquets Open-Source grandit, il y a un besoin de rendre la recherche de paquets dans notre répertoire dist-git plus facile. En 2022, les personnes de Sourcegraph se sont associées à notre communauté Fedora pour intégrer leur outil avancé de moteur de recherche de code dans nos répertoires de distribution de paquets, qui incluent maintenant plus de 38,000 paquets. Avec le moteur de recherche de Sourcegraph, nos dévelopeurs, contributeurs et mainteneurs peuvent chercher notre répertoire git-dist pour des specfiles RPM, définitions de modules et de conteneurs, patchs spécifiques à Fedora, tests, et bien plus encore, depuis un seul endroit, réduisant le temps passé à chercher des fichiers.
Qu’est-ce que Sourcegraph ?
Sourcegraph (https://sourcegraph.com/) est une plateforme d’analyse de code. On peut la considérer comme un moteur de recherche de code. Elle permet de rechercher du code sur tous les hébergeurs, dépôts et branches. Sourcegraph offre de nombreuses fonctionnalités intéressantes, telles que l’analyse de code, l’interprétation des données, le traitement par lots des modifications et Cody (https://sourcegraph.com/supporting-open-source), un assistant de codage basé sur l’IA. Cependant, sa fonction principale reste la recherche de code. Dans cet article, nous verrons comment utiliser la recherche de code pour les dépôts Fedora (https://src.fedoraproject.org), également connus sous le nom de Fedora dist-git.
Utiliser La Recherche De Code Pour Les Répertoires De Paquets Fedora
La recherche de code est une fonctionnalité puissante de Sourcegraph permettant de rechercher du code depuis une interface unique. Elle prend en charge le filtrage des résultats par type de fichier, dépôt et langage, ce qui permet d’affiner la recherche.
Sourcegraph propose une application web (https://sourcegraph.com/search?q=context:global+repo:%5Esrc.fedoraproject.org/&patternType=regexp) et une interface en ligne de commande (https://sourcegraph.com/docs/cli/quickstart). Avec l’application web Sourcegraph, il est nécessaire de commencer chaque recherche par repo:^src.fedoraproject.org avant de saisir les requêtes.
Recherche par filtre : Utilisation du mot-clé file pour trouver des fichiers de spécifications
Le mot-clé file renvoie les résultats des fichiers correspondant au chemin spécifié. La requête suivante recherche dans tous les dépôts les fichiers se terminant par .spec et contenant le terme dnf5. L’utilisation du mot-clé file simplifie la recherche des fichiers de spécification.
dépôt:^src\.fedoraproject\.org/ fichier:\.spec$ dnf5
Utilisez le filtre lang pour trouver un dépôt Fedora auquel contribuer.
Le mot-clé lang est utilisé pour filtrer les résultats de recherche par langage de programmation.
La requête suivante recherche dans nos dépôts dist-git les fichiers Markdown contenant le terme « contributing ». C’est très pratique pour les personnes souhaitant contribuer à des projets.
repo:^src\.fedoraproject\.org/ lang:markdown contributeur
Recherche de fichiers de spécifications Désactivation des packages de débogage
La requête "%global debug_package %{nil}" permet de rechercher les fichiers spec contenant la ligne où la macro debug_package est définie sur nil. Cette ligne désactive la création d’un package de débogage lors de la compilation.
Trouver des dépôts utilisant des licences populaires approuvées par l’OSI
La requête suivante analysera tous les dépôts à la recherche de logiciels compatibles avec la définition Open Source (OSD) https://opensource.org/definition-annotated.
repo:^src.fedoraproject.org/ lang:"RPM Spec" License: ^.*apache|bsd|gpl|lgpl|mit|mpl|cddl|epl.*$
Trouver les fichiers contenant une version vulnérable de Log4j
Cette requête détectera les fichiers potentiellement vulnérables à la CVE-2021-44228, également connue sous le nom de Log4j. Attention : des faux positifs sont possibles. Il est donc conseillé d’approfondir vos investigations avant de conclure à la vulnérabilité d’un paquet. Vous pouvez également rechercher d’autres vulnérabilités et les signaler aux responsables du projet.
repo:^src.fedoraproject.org/ org.apache.logging.log4j 2.((0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15)(.[0-9]+)) count:all
Conclusion
Pour plus de requêtes de recherche, consultez https://sourcegraph.com/docs/code-search/queries#search-query-syntax [documentation officielle de Sourcegraph].
L’intégration de Sourcegraph Code Search à notre dépôt dist-git constitue un atout majeur pour notre productivité d’ingénierie. Grâce à ses puissantes fonctionnalités, nos contributeurs et utilisateurs peuvent effectuer des recherches efficaces dans l’ensemble de nos dépôts open source depuis une interface unique.
Want to help? Learn how to contribute to Fedora Docs ›