Debian en Fedora besykje it probleem fan ôfhinklikens oan te pakken

Linux-distribúsjes stean foar it probleem fan tanimmende ôfhinklikens fan 'e projekten, hoewol it oantal ôfhinklikens foar Python-, Perl- en Ruby-koade wurdt bewarre Binnen ridlike limiten oefenje JavaScript-projekten it ferdielen yn heul lytse biblioteken, en fiere faaks in ienfâldige funksje út.

It NPM-repository hat al mear dan in miljoen pakketten en typyske applikaasjes link nei hûnderten ôfhinklikens, dy't op har beurt har eigen ôfhinklikens hawwe, wêrtroch it lestich is tradisjonele pakketten mei JavaScript-tapassingen op Linux-distribúsjes te ûnderhâlden en te fersprieden.

Fanwegen de strakke ferweefde ôfhinklikens fan JavaScript-bibleteek, it bywurkjen fan elk pakket mei sokke biblioteken yn in distribúsje it kin oare pakketten brekke.

Ferzjesbannen fergrutsje it probleem: ien biblioteek kin ien ferzje fan in ôfhinklikheid nedich wêze om stabyl te rinnen, en in oare kin in oare nedich wêze.

In protte projekten fereaskje de lêste ferzjes fan biblioteken om te wurkjen, dy't net altyd foldogge oan de stabiliteitseasken fan 'e distribúsje (trochgeande ûntwikkeling wurdt oefene yn it Node.js-ekosysteem mei de lêste ferzjes fan kaders, en de distribúsje hat ferskate jierren stipe nedich).

Besiket allinich pakketferzjes te reparearjen yn 'e distribúsje liede ta in tanimming fan ferâldere ferzjes yn 'e repository dy't jierrenlang net binne bywurke. Fersteuring fan ûnderhâld foar ien pakket beynfloedet in soad oare pakketten en makket noch mear problemen.

Fierder lcross ôfhinklikens liede ta it feit dat in protte biblioteken fan Node.js wurdt ûnmooglik te ferwiderjen fan it systeem, wat jo wer foarkomt fan it ferwiderjen fan oare Node.js-programma's.

Om dizze situaasje te behanneljen hat it Fedora-projekt koartlyn in plan goedkard om de standertfoarming fan aparte pakketten mei biblioteken te stopjen dy't brûkt wurde yn Node.js-basearre projekten.

Hy besleat, te begjinnen mei Fedora 34, allinich basispakketten foar Node.js te leverjen mei in tolk, kopteksten, primêre biblioteken, binaries en basis ark foar pakketbehear (NPM, garen).

Yn Fedora-repository-tapassingen dy't Node.js brûke, it is tastien alle besteande ôfhinklikens yn te bouwen yn in pakket, sûnder de biblioteken dy't yn aparte pakketten wurde brûkt te dielen en te skieden.

Ynbêding fan biblioteken sil lytse rommel fan 'e pakketten kwytreitsje, ûnderhâld fan pakket ferienfâldigje (earder hat ûnderhâlder mear tiid bestege oan hûndert pakketten mei biblioteken as hifke en testen dan yn it haadpakket mei it programma), besparje ynfrastruktuer tsjin konflikten fan biblioteken en problemen oplosse mei keppeljen nei bibleteekferzjes (ûnderhâlders sille hifke en produksjetestige ferzjes yn it pakket opnimme).

It neidiel fan yntegraasje sil de komplikaasje wêze fan it proses om korreksjes te bringen oan kwetsberens yn biblioteken, wat in koördineare wurk nedich is fan 'e ûnderhâlders fan alle pakketten dy't de kwetsbere bibleteek befetsje. D'r is in gefaar dat in pakket sil ferjitte om in kwetsbere ynboude bibleteek te aktualisearjen en it pakket sil ûngemurken bliuwe.

De ûntwikkelders fan Debian besprekt ek wikseljen nei in soartgelikense yntegraasjemodel foar pakketôfhinklikens. Neist Node.js rekket de diskusje oan it oanmeitsjen fan pakketten foar it Kubernetes-platfoarm en projekten yn 'e PHP- en Go-talen, wêrfoar't d'r in oanstriid is om te dielen yn lytse ôfhinklikheden. Der is noch gjin beslút makke, mar it is te hoopjen dat it probleem yn 'e rin fan' e tiid allinich slimmer wurdt en ier of letter wurdt it projekt twongen om wat te dwaan.

De gsa (Greenbone Security Assistant) webynterface foar de gvm (Greenbone Vulnerability Management) befeiligingsscanner wurdt neamd as in foarbyld fan 'e problemen dy't pakketûnderhâlders hawwe.

De troch Debian ferstjoerde ferzje fan gsa blykte ynkompatibel te wêzen mei nijere ferzjes fan gvm, mar it wie net mooglik om gsa te aktualisearjen nei de hjoeddeiske ferzje, om't it wichtige feroarings befettet en npm brûkt om de nedige Node.js-biblioteken te downloaden.

De frege biblioteken binne te folle en fereaskje it oanmeitsjen fan nije pakketten yn Debian foar ien dy't se ûnderhâldt, om't Debian-regels it laden fan eksterne ûnderdielen ferbiede tidens it bouproses.

boarne: https://lwn.net/


De ynhâld fan it artikel hâldt him oan ús prinsipes fan redaksje etyk, Om in flater te melden klikje hjir.

In reaksje, lit jo

Lit jo reaksje efter

Jo e-mailadres wurdt net publisearre.

*

*

  1. Ferantwurdlik foar de gegevens: Miguel Ángel Gatón
  2. Doel fan 'e gegevens: Control SPAM, kommentaarbehear.
  3. Legitimaasje: jo tastimming
  4. Kommunikaasje fan 'e gegevens: De gegevens wurde net oan tredden kommunisearre, útsein troch wetlike ferplichting.
  5. Gegevensopslach: Databank hoste troch Occentus Networks (EU)
  6. Rjochten: Op elk momint kinne jo jo ynformaasje beheine, herstelle en wiskje.

  1.   Qtkk sei

    Dizze fersnippering fan kaders en biblioteken yn ECMAscript is út 'e hân rûn.
    Goed artikel.