توسعه مدیریت بسته DNF 5 و جایگزینی PackageKit آغاز شده است

دانیل ماخ از کلاه قرمزی сообщил در مورد شروع توسعه مدیریت بسته DNF 5 که در آن منطق DNF پیاده سازی شده در پایتون به کتابخانه libdnf نوشته شده در C++ منتقل می شود. DNF 5 قرار است در ماه ژوئن و در طول توسعه فدورا 33 شروع به آزمایش کند، پس از آن در اکتبر 2020 به مخزن Rawhide اضافه خواهد شد و در فوریه 2021 جایگزین DNF 4 خواهد شد. تعمیر و نگهداری شاخه DNF 4 به همین شکل ادامه خواهد داشت. در Red Hat Enterprise Linux 8 استفاده شده است.

خاطرنشان می شود که پروژه به وضعیتی رسیده است که در آن ادامه توسعه کد بدون شکستن سازگاری در سطح API/ABI تقریبا غیرممکن است. این عمدتا به دلیل ضرر - زیان ارتباط PackageKit و عدم امکان توسعه libdnf بدون تغییر API "libhif". در عین حال، با وجود قصد تغییر API، حفظ سازگاری به عقب در سطح رابط خط فرمان و API اولویت اصلی است.

پشتیبانی از API پایتون در DNF حفظ خواهد شد، اما منطق تجاری نوشته شده در پایتون به کتابخانه libdnf (C++) منتقل می‌شود که عملکرد یکسان مدیر بسته در توزیع را تضمین می‌کند. توسعه حول C++ API متمرکز خواهد شد و Python API به صورت خودکار در قالب یک wrapper بر اساس آن تولید خواهد شد.
اتصالات برای Go، Perl و
یاقوت سرخ. بعد از اینکه C++ API تثبیت شد، یک C API بر اساس آن آماده می شود که rpm-ostree به آن منتقل می شود. هاکی Python API حذف و جایگزین خواهد شد libdnf Python API.

عملکرد اصلی DNF حفظ خواهد شد. با توجه به مجموعه آزمایشی بزرگ (حدود 1400 تست)، انتظار می‌رود که API دوباره بر رابط خط فرمان برای کاربران نهایی تأثیری نداشته باشد. تجزیه آرگومان و خروجی ممکن است کمی تغییر کند، اما این تغییرات به خوبی مستند خواهد شد. در یک نسخه stripped microdnf، که در کانتینرها استفاده می شود، برنامه ریزی شده است تا زیر مجموعه ای از قابلیت های DNF را پیاده سازی کند؛ دستیابی به برابری کامل در عملکرد در نظر گرفته نمی شود.

به جای بسته بندی یک سرویس DBus جدید ایجاد خواهد شد که رابطی برای مدیریت بسته‌ها و به‌روزرسانی‌ها برای برنامه‌های گرافیکی فراهم می‌کند. این سرویس قرار است از ابتدا توسعه یابد، بنابراین ایجاد آن ممکن است به زمان زیادی نیاز داشته باشد. PackageKit اخیراً توسعه نیافته است و از سال 2014 به دلیل از دست دادن ارتباط در حالت تعمیر و نگهداری قرار گرفته است. با پیشرفت سیستم‌های Snaps و Flatpak، توزیع‌ها علاقه خود را به PackageKit از دست می‌دهند، برای مثال، دیگر در ساخت‌ها موجود نیست. فدورا نقره ای آبی. لایه انتزاعی برای مدیریت بسته تا حد زیادی توسط مراکز کنترل برنامه های کاربردی گنوم و KDE بومی ارائه می شود که امکان نصب بسته های flatpak را در سطح کاربر می دهد. API سیستم یکپارچه برای دریافت لیست بسته های نصب شده مانند قبل مفید نیست.

منبع: opennet.ru

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