DNF 5 paket menejerini ishlab chiqish va PackageKitni almashtirish boshlandi

Red Hat dan Daniel Mach xabar berdi Python-da amalga oshirilgan DNF mantig'i C++ da yozilgan libdnf kutubxonasiga o'tkaziladigan DNF 5 paket menejerini ishlab chiqishning boshlanishi haqida. DNF 5 testini iyun oyida Fedora 33 ni ishlab chiqish jarayonida boshlash rejalashtirilgan, shundan so‘ng u 2020-yil oktabr oyida Rawhide omboriga qo‘shiladi va 2021-yil fevralida DNF 4 o‘rnini egallaydi. DNF 4 filialiga texnik xizmat ko‘rsatish avvalgidek davom etadi. Red Hat Enterprise Linux 8 da qo'llaniladi.

Qayd etilishicha, loyiha API/ABI darajasida muvofiqlikni buzmasdan kodni ishlab chiqishni davom ettirish deyarli imkonsiz holatga kelgan. Bu, asosan, tufayli yo'qotish PackageKit-ning dolzarbligi va "libhif" API-ni o'zgartirmasdan libdnf-ni ishlab chiqishning mumkin emasligi. Shu bilan birga, APIni o'zgartirish niyatiga qaramay, buyruq qatori interfeysi va API darajasida orqaga qarab muvofiqlikni saqlash asosiy ustuvorlik ekanligi aytiladi.

DNF-da Python API-ni qo'llab-quvvatlash saqlanib qoladi, lekin Python-da yozilgan biznes mantig'i libdnf (C++) kutubxonasiga o'tkaziladi, bu tarqatishda paket menejerining bir xil ishlashini ta'minlaydi. Rivojlanish C++ API atrofida markazlashtiriladi va Python API avtomatik tarzda unga asoslangan o‘ram shaklida yaratiladi.
Go, Perl va uchun ulanishlar
Ruby. C++ API barqarorlashtirilgandan so'ng, uning asosida rpm-ostree o'tkaziladigan C API tayyorlanadi. Hawkey Python API o'chiriladi va o'rniga o'rnatiladi libdnf Python API.

DNF ning asosiy funksionalligi saqlanib qoladi. Katta sinov to'plami (taxminan 1400 ta test) tufayli API qayta ishlanishi oxirgi foydalanuvchilar uchun buyruq qatori interfeysiga ta'sir qilmasligi kutilmoqda. Argumentlarni tahlil qilish va chiqarish biroz o'zgarishi mumkin, ammo bu o'zgarishlar yaxshi hujjatlashtirilgan bo'ladi. Chiqarilgan versiyada microdnf, konteynerlarda ishlatiladigan DNF imkoniyatlarining bir qismini amalga oshirish rejalashtirilgan, funksionallikda to'liq paritetga erishish hisobga olinmaydi.

Buning o'rniga Paket to'plami Grafik ilovalar uchun paketlar va yangilanishlarni boshqarish interfeysini ta'minlovchi yangi DBus xizmati yaratiladi. Ushbu xizmat noldan ishlab chiqilishi rejalashtirilgan, shuning uchun uni yaratish ko'p vaqt talab qilishi mumkin. PackageKit yaqinda ishlab chiqilmagan va ahamiyatini yo'qotganligi sababli 2014 yildan beri texnik xizmat ko'rsatish rejimida. Snaps va Flatpak tizimlarining rivojlanishi bilan tarqatish PackageKit-ga qiziqishni yo'qotmoqda, masalan, u endi tuzilmalarda mavjud emas. Fedora kumushrang moviy. Paketlarni boshqarish uchun abstraksiya qatlami asosan individual foydalanuvchi darajasida flatpak paketlarini o'rnatish imkonini beruvchi mahalliy GNOME va KDE ilovalarni boshqarish markazlari tomonidan ta'minlanadi. O'rnatilgan paketlar ro'yxatini olish uchun yagona tizim API-si avvalgidek foydali emas.

Manba: opennet.ru

a Izoh qo'shish