Таҳияи мудири бастаи DNF 5 ва ивазкунии PackageKit оғоз ёфт

Даниел Мач аз Red Hat хабар дод дар бораи оғози таҳияи менеҷери бастаи DNF 5, ки дар он мантиқи DNF дар Python амалӣ карда мешавад, ба китобхонаи libdnf дар C++ навишта мешавад. Ба нақша гирифта шудааст, ки DNF 5 озмоишро моҳи июн ҳангоми таҳияи Fedora 33 оғоз кунад ва пас аз он дар моҳи октябри соли 2020 ба анбори Rawhide илова карда мешавад ва дар моҳи феврали соли 2021 иваз кардани DNF 4 хоҳад шуд. Нигоҳдории филиали DNF 4 ҳамон тавре идома хоҳад ёфт. дар Red Hat Enterprise Linux 8 истифода мешавад.

Қайд карда мешавад, ки лоиҳа ба ҳолате расидааст, ки бидуни вайрон кардани мутобиқат дар сатҳи API/ABI идома додани таҳияи код қариб ғайриимкон аст. Ин асосан аз сабаби талафот аҳамияти PackageKit ва имконнопазирии таҳияи libdnf бе тағир додани API "libhif". Дар баробари ин, сарфи назар аз нияти тағир додани API, нигоҳ доштани мутобиқати ақиб дар сатҳи интерфейси сатри фармон ва API афзалияти асосӣ гуфта мешавад.

Дастгирии API Python дар DNF нигоҳ дошта мешавад, аммо мантиқи тиҷории дар Python навишташуда ба китобхонаи libdnf (C++) интиқол дода мешавад, ки кори якхелаи мудири бастаро дар тақсимот таъмин мекунад. Рушд дар атрофи API C++ мутамарказ карда мешавад ва API Python ба таври худкор дар шакли парпеч дар асоси он тавлид мешавад.
Пайвастшавӣ барои Go, Perl ва
Руби. Пас аз ба эътидол овардани API C++, дар асоси он API C омода карда мешавад, ки ба он rpm-ostree интиқол дода мешавад. Хоки Python API хориҷ карда мешавад ва бо он иваз карда мешавад libdnf API Python.

Функсияи асосии DNF нигоҳ дошта мешавад. Аз сабаби маҷмӯи калони санҷишӣ (тақрибан 1400 санҷиш), интизор меравад, ки коркарди API ба интерфейси сатри фармон барои корбарони ниҳоӣ таъсир нарасонад. Таҳлили далелҳо ва натиҷаҳо метавонанд каме тағир ёбанд, аммо ин тағиротҳо хуб ҳуҷҷатгузорӣ карда мешаванд. Дар версияи барҳамхӯрда microdnf, ки дар контейнерҳо истифода мешавад, татбиқи зермаҷмӯи қобилиятҳои DNF ба нақша гирифта шудааст; ноил шудан ба баробарии пурра дар функсия ба назар гирифта намешавад.

Ба ҷои PackageKit Хидмати нави DBus таъсис дода мешавад, ки интерфейси идоракунии бастаҳо ва навсозиҳои барномаҳои графикиро таъмин мекунад. Ин хидмат ба нақша гирифта шудааст, ки аз сифр таҳия карда шавад, аз ин рӯ эҷоди он метавонад вақти зиёдро талаб кунад. PackageKit ба наздикӣ таҳия нашудааст ва аз соли 2014 бо сабаби гум шудани аҳамият дар ҳолати нигоҳдорӣ қарор дорад. Бо пешрафти системаҳои Snaps ва Flatpak, дистрибюторҳо таваҷҷӯҳи худро ба PackageKit гум мекунанд, масалан, он дигар дар сохтмонҳо дастрас нест. Fedora нуқра кабуд. Қабати абстраксия барои идоракунии бастаҳо асосан аз ҷониби марказҳои идоракунии барномаҳои GNOME ва KDE таъмин карда мешавад, ки имкон медиҳад бастаҳои flatpak дар сатҳи корбар насб карда шаванд. API-и ягонаи система барои гирифтани рӯйхати бастаҳои насбшуда мисли пештара муфид нест.

Манбаъ: opennet.ru

Илова Эзоҳ