نتایج شش ماه کار پروژه Repology که اطلاعات مربوط به نسخه های بسته را تجزیه و تحلیل می کند

شش ماه دیگر گذشت و پروژه عذرخواهی، که اطلاعات مربوط به نسخه های بسته ها را از بسیاری از مخازن جمع آوری و مقایسه می کند، گزارش بعدی را منتشر می کند. هدف این پروژه بهبود تعامل نگهدارنده‌های بسته از توزیع‌های مختلف هم با یکدیگر و هم با نویسندگان نرم‌افزار است - به ویژه، این پروژه به شناسایی سریع نسخه‌های نرم‌افزار جدید، نظارت بر ارتباط بسته‌ها، یکسان کردن نام‌گذاری و نسخه‌سازی کمک می‌کند. طرح ها، اطلاعات متا را به روز نگه دارید، وصله ها و حل مشکل را به اشتراک بگذارید و قابلیت حمل نرم افزار را بهبود بخشید.

  • تعداد مخازن پشتیبانی شده از 250 فراتر رفت. پشتیبانی اضافه شده برای Cygwin، distri، Homebrew Casks، فقط نصب، KISS Linux، Kwort، LuaRocks، Npackd، OS4Depot، RPM Sphere. مخزن منسوخ Antergos حذف شد. پشتیبانی از GNU Guix حذف شد (به دلیل تغییراتی که در سایت Guix انجام شد که تجزیه را غیرممکن می کرد) و بعداً (به دلیل پیاده سازی معمولی از متادیتای JSON توسط Guix)، و همچنین بهبودها، دوباره بازگردانده شد.
  • الزامی برای مخازن ارائه شده است تا علاوه بر نام بسته و نسخه، URL ها (صفحات اصلی یا پیوندی به توزیع) را ارائه دهند - این اطلاعات به شما امکان می دهد تا تضادهای نام متعددی را که پروژه با آن مواجه می شود به طور قابل اعتماد حل کنید. مخازن، در حال حاضر ارائه ندادن چنین اطلاعاتی برای حذف برنامه ریزی شده است.
  • مخزن اصلی کد منبع پروژه به دو قسمت تقسیم شده است (یک شبح برای به روز رسانی این مخازن و یک برنامه وب که عملکرد سایت را تضمین می کند)، اجرای حاشیه نویسی نوع در کد تکمیل شده است (همه کد پروژه اکنون عبور می کند. mypy --strict) و انطباق با PEP8.
  • پشتیبانی از شاخه های نسخه قدیمی اضافه شده است. به عنوان مثال، اکنون Repology می‌تواند گزارش دهد که PostgreSQL 11.2 قدیمی است (زیرا آخرین نسخه در شعبه یازدهم 11 است) حتی اگر نسخه جدیدتر 11.5 در مخزن وجود داشته باشد (قبلاً همه نسخه‌های زیر آخرین نسخه به عنوان قدیمی در مخزن علامت‌گذاری شده بودند. و نمی تواند منسوخ شود). در این راستا، اکثر پروژه هایی که قبلاً بر اساس نسخه های اصلی (مثلاً wxwidgets12.0/wxwidgets28) تفکیک شده بودند، ادغام شده اند.
  • قابلیت پردازش صحیح پروژه‌ها با طرح‌های نسخه‌سازی ناسازگار موازی اضافه شده است. مثلا، FreeCAD که در آن 0.18.4 و 0.18.16146 مربوط به همان نسخه است.
  • دوباره کار کرد فهرست и صفحات منفرد نگهداری کنندگان - اکنون آمار نگهدارنده به طور جداگانه برای مخازن جمع آوری می شود. تمرین نشان داده است که آمار انبوه نماینده غیرممکن است زیرا بسته ها در حالی که نگهدارنده را در ابرداده ذخیره می کنند، می توانند بدون اطلاع او به مخازن دیگر مهاجرت کنند و در واقع پشتیبانی خود را از دست بدهند (ردیابی این امر به صورت خودکار امکان پذیر نیست). بعداً آنها ممکن است منسوخ شوند و ارتباط دادن این واقعیت با نگهدارنده اصلی نادرست است - این وضعیت باعث شد نارضایتی نگهدارنده های جنتو به دلیل وجود Funtoo که در اصل یک فورک جنتو است که کنترل نمی کنند و اطلاعات نگهدارنده ها را نگه می دارند. اتصال آمار به مخازن این مشکل را حل کرد، در همان زمان، اطلاعات مربوط به نگهدارنده‌ها دقیق‌تر و ساختارمندتر شد.
  • آزمایشی اضافه شد پشتیبانی نشان نوع جدید، که ماتریسی از نسخه های پروژه های انتخاب شده در تمام مخازن است. این ابزار مفید است، به عنوان مثال، برای دریافت یک ایده کلی از وضعیت (وجود یک بسته، نسخه، ارتباط آن و مطابقت با حداقل معین) وابستگی های یک پروژه (یا فقط یک لیست دلخواه از پروژه ها) . این قابلیت درخواست شده است (و استفاده می شود) توسط پروژه PostGIS.
  • پشتیبانی از صفحات پروژه 404 بهبود یافته است - به ویژه، اگر پروژه درخواستی وجود نداشته باشد، اما نام قبلاً با آن مواجه شده باشد (به عنوان مثال، به عنوان نام بسته ای که به پروژه ای با نام دیگری اختصاص داده شده است)، سپس به کاربر گزینه هایی برای پروژه هایی ارائه می شود که می تواند در ذهن داشته باشد، به روش "صفحات ابهام زدایی"ویکیپدیا. مثال.
  • ادغام بهبود یافته با ویکی پدیا - علاوه بر بهبود در واردات داده ها، پیاده سازی و راه اندازی شد ربات، که اطلاعات مربوط به نرم افزار را در ویکی داده با داده های Repology به روز می کند. به یاد بیاورید که ویکی داده به تدریج به منبع اصلی اطلاعات ساختاریافته برای ویکی پدیا تبدیل می شود (در زمینه اخبار - حقایق در مورد نرم افزار، مانند تاریخچه نسخه، مجوز، وب سایت، سیستم عامل های پشتیبانی شده، نویسنده، بسته ها در توزیع های مختلف و غیره) که به شما این امکان را می دهد تا به جای ده ها نسخه محلی سازی شده صفحه هر پروژه، ارتباط داده ها را در یک مکان حفظ کنید. مثلا کارت پروژه Nginx ویکی پدیا فقط اطلاعات ویکی داده را ترجمه می کند.
  • در طول شش ماه گذشته، بیش از 500 درخواست (گزارش) برای افزودن / تغییر قوانین به منظور پردازش صحیح تر پروژه های فردی پردازش شده است.

رتبه بندی مخزن بر اساس تعداد کل بسته ها:

  • AUR (49462)
  • nix (48660)
  • دبیان و مشتقات (32972) (سرنخ Raspbian)
  • FreeBSD (26921)
  • فدورا (22337)

رتبه بندی مخازن بر اساس تعداد بسته های غیر منحصر به فرد (یعنی بسته هایی که در سایر توزیع ها نیز وجود دارند):

  • nix (41815)
  • دبیان و مشتقات (24284) (سرنخ Raspbian)
  • AUR (22176)
  • FreeBSD (21831)
  • فدورا (19215)

رتبه بندی مخزن بر اساس تعداد بسته های تازه:

  • nix (23210)
  • دبیان و مشتقات (16107) (سرنخ Raspbian)
  • FreeBSD (16095)
  • فدورا (13109)
  • AUR (12417)

رتبه بندی مخزن بر اساس درصد بسته های تازه (فقط برای مخازن با 1000 بسته یا بیشتر و بدون احتساب مجموعه های بالادستی ماژول ها مانند CPAN، Hackage، PyPi):

  • Ravenports (99.16%)
  • آرچ و مشتقات (85.23%)
  • هومبرو (84.57%)
  • nix (84.55%)
  • اسکوپ (84.02%)

آمار عمومی:

  • 252 مخزن
  • 180 هزار پروژه
  • 2.3 میلیون بسته انفرادی
  • 36 هزار نگهدارنده
  • 153 هزار نسخه ضبط شده طی شش ماه گذشته (آخرین بررسی حاوی خطا بود، طی شش ماه گذشته 150 هزار نسخه ثبت شد)
  • 9.5 درصد از پروژه های شناخته شده حداقل یک نسخه جدید را در شش ماه گذشته منتشر کرده اند

منبع: opennet.ru

اضافه کردن نظر