Mencari Repositori Paket Fedora Menggunakan Sourcegraph
Seiring dengan bertambahnya koleksi paket sumber terbuka kami, muncul kebutuhan akan cara yang lebih mudah untuk mencari paket-paket di dalam repositori dist-git kami. Pada tahun 2022, tim dari Sourcegraph bekerja sama dengan komunitas Fedora untuk mengintegrasikan mesin Pencarian Kode canggih milik Sourcegraph yang gratis ke dalam repositori paket distribusi kami yang sangat besar, yang kini mencakup lebih dari 38.000 paket. Dengan Pencarian Kode Sourcegraph, para pengembang, kontributor, dan pengelola kami dapat mencari di repositori dist-git untuk berkas spesifikasi RPM tertentu, definisi modul dan kontainer, patch khusus Fedora, pengujian, dan banyak lagi, semuanya di satu tempat, sehingga mengurangi waktu yang dihabiskan untuk mencari berkas.
Apa itu Sourcegraph?
Sourcegraph adalah platform kecerdasan kode. Dapat dianggap sebagai mesin pencari untuk kode. Platform ini dapat digunakan untuk mencari kode di seluruh host kode, repositori, dan cabang. Sourcegraph memiliki banyak fitur hebat, seperti kecerdasan kode, wawasan kode, perubahan batch, dan Cody - Asisten Pengodean AI, namun pada intinya, ini adalah alat Pencarian Kode. Dalam artikel ini, kita akan membahas cara menggunakan Pencarian Kode untuk repositori src.fedoraproject.org, yang juga dikenal sebagai dist-git Fedora.
Menggunakan Pencarian Kode untuk Repositori Paket Fedora
Pencarian kode adalah kemampuan pencarian yang kuat di Sourcegraph untuk mencari kode dari satu antarmuka tunggal. Fitur ini mendukung penyaringan pencarian berdasarkan jenis berkas, repositori, dan bahasa pemrograman. Hal ini membantu mempersempit hasil pencarian.
Sourcegraph menyediakan antarmuka aplikasi web dan CLI. Saat menggunakan aplikasi web Sourcegraph, setiap pencarian harus dimulai dengan: repo:^src.fedoraproject.org sebelum memasukkan kueri pencarian apa pun.
Filter Pencarian: Menggunakan Kata Kunci file untuk Menemukan Specfile
Kata kunci file menampilkan hasil dari berkas-berkas yang sesuai dengan jalur berkas yang ditentukan. Kueri berikut mencari di semua repositori untuk berkas dengan akhiran .spec yang berisi istilah dnf5. Penggunaan kata kunci file menyederhanakan tugas menemukan specfile.
repo:^src\.fedoraproject\.org/ file:\.spec$ dnf5
Gunakan Filter lang untuk Menemukan Repositori Fedora yang Dapat Dikontribusikan
Kata kunci lang digunakan untuk menyaring hasil pencarian berdasarkan bahasa pemrograman.
Kueri berikut mencari di repositori dist-git kami untuk berkas yang ditulis dalam Markdown dengan istilah contributing. Ini sangat berguna bagi mereka yang ingin membantu proyek-proyek yang membutuhkan kontribusi.
repo:^src\.fedoraproject\.org/ lang:markdown contributing
Cari Specfile yang Menonaktifkan Paket Debug
Dengan menggunakan kueri "%global debug_package %{nil}", Anda dapat mencari specfile yang berisi baris di mana makro debug_package diatur ke nil. Baris ini menonaktifkan pembuatan paket debug dalam proses build.
Temukan Repositori yang Menggunakan Lisensi Populer yang Disetujui OSI
Kueri berikut akan memindai semua repositori untuk perangkat lunak yang kompatibel dengan “Definisi Sumber Terbuka” (OSD).
repo:^src.fedoraproject.org/ lang:"RPM Spec" License: ^.*apache|bsd|gpl|lgpl|mit|mpl|cddl|epl.*$
Temukan Berkas dengan Versi Log4j yang Rentan
Kueri ini akan menemukan berkas apa pun yang kemungkinan rentan terhadap CVE-2021-44228, yang juga dikenal sebagai Log4j. Perlu dicatat bahwa hasil positif palsu dapat terjadi, sehingga Anda perlu melakukan penyelidikan lebih lanjut sebelum menyimpulkan apakah suatu paket benar-benar rentan atau tidak. Anda juga dapat mencari kerentanan lain yang kemudian dapat dilaporkan kepada pengelola proyek.
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
Kesimpulan
Untuk lebih banyak kueri pencarian, lihat dokumentasi resmi Sourcegraph.
Integrasi Pencarian Kode Sourcegraph ke dalam repositori dist-git kami merupakan tambahan yang sangat berharga untuk alat produktivitas rekayasa kami. Dengan kemampuan kuat dari Pencarian Kode, para kontributor dan pengguna kami dapat mencari secara efisien di seluruh repositori sumber terbuka kami dari satu tempat.
Want to help? Learn how to contribute to Fedora Docs ›