Wyniki półrocznych prac projektu Repology, który analizuje informacje o wersjach pakietów

Minęło kolejne pół roku i projekt repologia, która zbiera i porównuje informacje o wersjach pakietów z wielu repozytoriów, publikuje kolejny raport. Celem projektu jest usprawnienie interakcji opiekunów pakietów z różnych dystrybucji zarówno między sobą, jak i z autorami oprogramowania - w szczególności projekt pomaga szybko wykrywać wydania nowych wersji oprogramowania, monitorować istotność pakietów, ujednolicać nazewnictwo i schematy wersjonowania , aktualizuj metainformacje, udostępniaj poprawki i rozwiązania problemów oraz poprawiaj przenośność oprogramowania.

  • Liczba obsługiwanych repozytoriów przekroczyła 250. Dodano obsługę Cygwin, distri, Homebrew Casks, just-install, KISS Linux, Kwort, LuaRocks, Npackd, OS4Depot, RPM Sphere. Repozytorium Antergos, które zaprzestano rozwoju, zostało usunięte. Wsparcie dla GNU Guix zostało usunięte (ze względu na zmiany na stronie internetowej Guix, które uniemożliwiły parsowanie), a później powróciło (dzięki temu, że Guix zaimplementował regularne zrzuty metadanych w formacie JSON), a jednocześnie zostało ulepszone.
  • Wprowadzono wymóg, aby repozytoria oprócz nazwy i wersji pakietu podały adres URL (strony główne lub link do dystrybucji) - informacja ta pozwala wiarygodnie rozwiązać liczne konflikty nazewnicze, jakie napotyka projekt. Obecnie repozytoria nie zapewnia takie informacje są przeznaczone do usunięcia.
  • Główne repozytorium kodu źródłowego projektu zostało podzielone na dwie części (demon do aktualizacji danych repozytorium oraz aplikacja internetowa zapewniająca działanie witryny), zakończono implementację adnotacji typu w kodzie (cały kod projektu uruchamia teraz mypy -strict) i dostosowanie do PEP8.
  • Dodano obsługę gałęzi starszych wersji. Na przykład teraz Repology może zgłosić, że PostgreSQL 11.2 jest nieaktualny (ponieważ najnowsza wersja w 11. gałęzi to 11.5), nawet jeśli w repozytorium znajduje się nowsza wersja 12.0 (poprzednio wszystkie wersje poniżej najnowszej w repozytorium były oznaczone jako starsze i nie mógł mieć statusu przestarzałego). W związku z tym większość projektów podzielonych wcześniej na główne wersje (na przykład wxwidgets28/wxwidgets30) została połączona.
  • Dodano możliwość prawidłowego przetwarzania projektów z równoległymi, niekompatybilnymi schematami wersjonowania. Na przykład, FreeCAD w którym 0.18.4 i 0.18.16146 odpowiadają jednemu wydaniu.
  • Przerobione lista и poszczególne strony opiekunowie - teraz statystyki opiekunów są zbierane oddzielnie przez repozytorium. Praktyka pokazała, że ​​reprezentatywne statystyki zbiorcze nie są możliwe ze względu na fakt, że pakiety przechowując opiekuna w metadanych, mogą bez jego wiedzy migrować do innych repozytoriów i de facto pozbawiać go wsparcia (choć nie ma możliwości automatycznego prześledzenia tego) . Później mogą stać się nieaktualne i błędne byłoby kojarzenie tego faktu z pierwotnym opiekunem - taka sytuacja spowodowała niezadowolenie Opiekunowie Gentoo ze względu na obecność Funtoo - zasadniczo niekontrolowanego przez nich forka Gentoo, który przechowuje informacje o opiekunach. Powiązanie statystyk z repozytoriami pozwoliło rozwiązać ten problem, jednocześnie informacje o opiekunach stały się bardziej szczegółowe i uporządkowane.
  • Dodano eksperymentalne wsparcie nowy typ identyfikatora, będący macierzą wersji wybranych projektów we wszystkich repozytoriach. Narzędzie to przydaje się np. do uzyskania ogólnego poglądu na temat stanu (dostępność pakietu, wersja, jego istotność i zgodność z danym minimum) zależności projektu (lub po prostu dowolnej listy projektów). Zażądano tej funkcji (i używany) w ramach projektu PostGIS.
  • Poprawiono obsługę stron projektu 404 - w szczególności, jeśli żądany projekt nie istnieje, ale natrafiono już na jego nazwę (np. jako nazwa pakietu, który został przypisany do projektu o innej nazwie), wówczas użytkownik zostanie oferował opcje projektów, które mógł mieć na myśli, w sposób „strony ujednoznaczniające»Wikipedia. Przykład.
  • Poprawiona integracja z Wikidata — oprócz usprawnień w imporcie danych, wdrożono i uruchomiono bot, który aktualizuje informacje o oprogramowaniu w Wikidanych przy użyciu danych z Repology. Przypomnijmy, że Wikidane stopniowo stają się głównym źródłem ustrukturyzowanych informacji dla Wikipedii (w kontekście aktualności – faktów o oprogramowaniu, takich jak historia wersji, licencja, strona internetowa, obsługiwany system operacyjny, autor, pakiety w różnych dystrybucjach itp.), co pozwala zachować aktualność danych w jednym miejscu, zamiast dziesiątek zlokalizowanych wersji każdej strony projektu. Na przykład karta projektu nginx Wikipedia udostępnia informacje wyłącznie z Wikidanych.
  • W ciągu ostatnich sześciu miesięcy przetworzono ponad 500 próśb (raportów) o dodanie/zmianę reguł w celu bardziej poprawnej obsługi poszczególnych projektów.

Ocena repozytorium według łącznej liczby opakowań:

  • AUR (49462)
  • zero (48660)
  • Debian i pochodne (32972) (prowadzący Raspbian)
  • FreeBSD (26921)
  • Fedora (22337)

Ocena repozytoriów według liczby nieunikalnych pakietów (tj. pakietów, które występują także w innych dystrybucjach):

  • zero (41815)
  • Debian i pochodne (24284) (prowadzący Raspbian)
  • AUR (22176)
  • FreeBSD (21831)
  • Fedora (19215)

Ocena repozytorium według liczby świeżych opakowań:

  • zero (23210)
  • Debian i pochodne (16107) (prowadzący Raspbian)
  • FreeBSD (16095)
  • Fedora (13109)
  • AUR (12417)

Ocena repozytorium według procentu świeżych pakietów (tylko dla repozytoriów zawierających 1000 lub więcej pakietów i nie licząc wcześniejszych kolekcji modułów takich jak CPAN, Hackage, PyPi):

  • Ravenporty (99.16%)
  • Arch i pochodne (85.23%)
  • Piwo domowe (84.57%)
  • zero (84.55%)
  • Miarka (84.02%)

Statystyki ogólne:

  • 252 repozytoria
  • projektów
  • 2.3 mln opakowań indywidualnych
  • 36 tys. konserwatorów
  • 153 tys. zarejestrowanych wydań w ciągu ostatniego półrocza (ostatnia recenzja zawierała błąd; w ciągu poprzedniego półrocza zarejestrowano 150 tys. wydań)
  • 9.5% znanych projektów wypuściło co najmniej jedną nową wersję w ciągu ostatnich sześciu miesięcy

Źródło: opennet.ru

Dodaj komentarz