Debian dhe Fedora po përpiqen të adresojnë problemin e varësisë

Shpërndarjet Linux përballen me problemin e rritjes së varësisë të projekteve, megjithëse ruhet numri i varësive për kodin Python, Perl dhe Ruby Brenda kufijve të arsyeshëm, projektet JavaScript praktikojnë ndarjen në biblioteka shumë të vogla, shpesh duke kryer një funksion të thjeshtë.

Depoja e NPM tashmë ka mbi një milion pako dhe aplikimet tipike lidhje me qindra varësi, të cilat nga ana e tyre kanë varësitë e tyre, duke e bërë të vështirë mirëmbajtjen dhe shpërndarjen e paketave tradicionale me aplikacione JavaScript në shpërndarjet Linux.

Për shkak të ndërthurjes së ngushtë të varësive të bibliotekës JavaScript, azhurnimi i çdo pakete me biblioteka të tilla në një shpërndarje ajo mund të thyejë pako të tjera.

Lidhjet e versioneve përkeqësojnë problemin: Një bibliotekë mund të kërkojë që një version i një varësie të funksionojë i qëndrueshëm dhe një tjetër mund të kërkojë një tjetër.

Shumë projekte kërkojnë që të funksionojnë versionet më të fundit të bibliotekave, që nuk përmbushin gjithmonë kërkesat e stabilitetit të shpërndarjes (zhvillimi i vazhdueshëm praktikohet në ekosistemin Node.js duke përdorur versionet më të fundit të kornizave, dhe shpërndarja ka nevojë për mbështetje për disa vjet).

Përpjekjet për të rregulluar versionet e paketave vetëm në shpërndarje çojnë në një rritje të versioneve të vjetruara në depo që nuk janë azhurnuar për vite me rradhë. Prishja e mirëmbajtjes për një paketë ndikon negativisht në shumë pako të tjera dhe krijon edhe më shumë probleme.

Për më tepër, lvarësitë e kryqëzuara të çojë në faktin se shumë biblioteka të Node.js bëhet e pamundur të çinstalohet nga sistemie cila, nga ana tjetër, ju pengon të çinstaloni programet e tjera Node.js.

Për të adresuar këtë, projekti Fedora kohët e fundit miratoi një plan për të ndaluar formimin e paracaktuar të paketave të ndara me bibliotekat e përdorura në projektet e bazuara në Node.js.

Ai vendosi, duke filluar me Fedora 34, të furnizonte vetëm paketat bazë për Node.js me një përkthyes, koka, biblioteka primare, binarë dhe mjete themelore të menaxhimit të paketave (NPM, fije).

Në aplikacionet e depove të Fedora që përdorin Node.js, lejohet të vendosë të gjitha varësitë ekzistuese në një paketë, pa ndarë dhe veçuar bibliotekat e përdorura në paketa të ndara.

Bibliotekat e vendosura do të heqin qafe rrëmujat e paketave të vogla, thjeshtojnë mirëmbajtjen e paketave (më parë, mirëmbajtësi kaloi më shumë kohë duke shqyrtuar dhe testuar qindra paketa me bibliotekat sesa në paketën kryesore me programin), duke kursyer infrastrukturën nga konfliktet e bibliotekave dhe zgjidhja e çështjeve me lidhjen me versionet e bibliotekave (mirëmbajtësit do të përfshijnë versione të testuara dhe të testuara nga prodhimi në paketë).

E keqja e integrimit do të jetë ndërlikimi i procesit të sjelljes së korrigjimeve ndaj dobësive në biblioteka, gjë që do të kërkojë një punë të koordinuar të mirëmbajtësve të të gjitha paketave që përfshijnë bibliotekën e prekshme. Ekziston rreziku që një paketë do të harrojë të azhurnojë një bibliotekë të prekshme të integruar dhe paketa do të mbetet pa u vënë re.

Zhvilluesit e Debian po diskuton gjithashtu kalimin në një model të ngjashëm të integrimit të varësisë nga paketa. Përveç Node.js, diskutimi prek krijimin e paketave për platformën Kubernetes dhe projekteve në gjuhët PHP dhe Go, për të cilat ekziston një tendencë për t'u ndarë në varësi të vogla. Asnjë vendim nuk është marrë ende, por shpresohet që me kalimin e kohës problemi të përkeqësohet dhe herët a vonë projekti do të detyrohet të bëjë diçka.

Ndërfaqja e internetit gsa (Greenbone Security Assistant) për skanuesin e sigurisë gvm (Greenbone Vulnerability Management) citohet si një shembull i problemeve që kanë mirëmbajtësit e paketave.

Versioni i dërguar nga Debian i gsa doli të jetë i papajtueshëm me versionet e reja të gvm, por nuk ishte e mundur të azhurnohej gsa në versionin aktual pasi përmban ndryshime të rëndësishme dhe përdor npm për të shkarkuar bibliotekat e nevojshme Node.js.

Bibliotekat e kërkuara janë shumë dhe kërkojnë krijimin e paketave të reja në Debian që dikush t'i mirëmbajë ato, pasi rregullat e Debian ndalojnë ngarkimin e përbërësve të jashtëm gjatë procesit të ndërtimit.

Fuente: https://lwn.net/


Një koment, lëre tuajën

Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.

  1.   qtkk dijo

    Ky fragmentim i kornizave dhe bibliotekave në ECMAscript ka dalë jashtë kontrollit.
    Artikull i mirë