Buscar Repositorios de Paquetes Fedora Usando Sourcegraph
Nuestra colección de paquetes de código abierto crece, hay una necesidad de maneras de hacer la búsqueda de paquetes dentro de nuestro repositorio dist-git mucho más fácil. En 2022, la gente de Sourcegraph se asoció con nuestra comunidad Fedora para integrar su Code Search (Búsqueda de Código), gratuito y avanzado, en nuestros repositorios de paquetes de distribución masiva, los que ahora incluyen sobre 38.000 paquetes. Con Code Search de Sourcegraph nuestro desarrolladores, colaboradores y mantenedores puede buscar en nuestro repositorio dist-git por archivos RPM de especificaciones específicas, definiciones de módulo y contenedor, parches específicos de Fedora, pruebas y mucho más, todo en un sitio, reduciendo en última instancia el tiempo empleado en buscar archivos.
¿Qué es Sourcegraph?
Sourcegraph es una plataforma de inteligencia de código. Puede pensarla como un motor de búsqueda de código. Su puede usar para buscar código en todos los hosts, repositorios y ramas. Sourcegraph tiene muchas funciones excelentes como inteligencia de código, conocimientos de código, cambios por lotes y Cody – un Asistente de Codificación de Inteligencia Artificial, pero en esencia es una herramienta de Búsqueda de Código. En este artículo, exploraremos como usar Code Search para repositorios src.fedoraproject.org, también conocidos como Fedora dist-git.
Usar Code Search Para Repositorios de Paquetes de Fedora
Code Search es una poderosa capacidad de búsqueda en Sourcegraph para buscar código desde un sencillo interfaz. Admite filtrado de búsqueda por tipo de archivo, repositorio y lenguaje. Esto ayuda a refinar los resultados de la búsqueda.
Sourcegraph proporciona interfaz web app y CLI. Cuando use la web app de Sourcegraph necesitará iniciar cada búsqueda con: repo:^src.fedoraproject.org antes de introducir cualquier consulta de búsqueda.
Filtro de Búsqueda: Usar la Palabra Clave file para encontrar archivos de especificaciones
La palabra clave file devuelve resultados de archivos que coinciden con la ruta de archivo especificada. La siguiente consulta busca todos los repositorios para los archivos que terminen en .spec que contengan el término dnf5. El uso de la palabra clave file simplifica la tarea de localizar archivos de especificaciones.
repo:^src\.fedoraproject\.org/ file:\.spec$ dnf5
Utilice el filtro lang para encontrar un Repositorio Fedora para Contribuir algo
La palabra clave lang es utilizada para filtrar resultados de búsqueda por lenguaje de programación.
La siguiente consulta busca en nuestros repositorios dist-git archivos escritos en Markdown que contengan el término «contributing». Esto resulta muy útil para quienes deseen colaborar en proyectos que necesiten aportaciones.
repo:^src\.fedoraproject\.org/ lang:markdown contributing
Búsqueda para Especificaciones de Inhabilidad de Paquetes Depurantes
Mediante la consulta "%global debug_package %{nil}", puede buscar archivos spec que contengan la línea donde la macro debug_package se establece a nil. Esta línea inhabilita la creación de un paquete de depuración durante el proceso de compilación.
Buscar Repositorios Utilizando Licencias Populares Aprobadas pro OSI
La siguiente consulta escaneará todos los repositorios en busca de software compatible con “Open Source Definition” (OSD).
repo:^src.fedoraproject.org/ lang:"RPM Spec" License: ^.*apache|bsd|gpl|lgpl|mit|mpl|cddl|epl.*$
Buscar Archivos con una Versión Vulnerable de Log4j
Esta consulta encontrará cualquier archivo que pueda ser vulnerable a CVE-2021-44228, también conocido como Log4j. Tenga en cuenta que pueden producirse falsos positivos, por lo que debería investigar más a fondo antes de concluir si un paquete es realmente vulnerable o no. También puede buscar otras vulnerabilidades que luego se pueden reportar a los responsables del proyecto.
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
Conclusión
Para más solicitudes de búsqueda, consulte la Documentación oficial de Sourcegraph.
La integración de Sourcegraph Code Search en nuestro repositorio dist-git es una excelente incorporación a nuestro conjunto de herramientas de productividad de ingeniería. Gracias a las potentes capacidades de Code Search, nuestros colaboradores y usuarios pueden buscar de forma eficiente en todo nuestro universo de repositorios de código abierto desde un único lugar.
Want to help? Learn how to contribute to Fedora Docs ›