Gagal ing sistem mbangun amarga owah-owahan ing checksums arsip ing GitHub

GitHub ngganti cara ngasilake arsip ".tar.gz" lan ".tgz" kanthi otomatis ing kaca rilis, sing nyebabake owah-owahan ing checksums lan kegagalan gedhe ing sistem mbangun otomatis sing mriksa arsip sing diundhuh saka GitHub marang sing sadurunge kanggo konfirmasi integritas. .simpen checksums, contone, diselehake ing paket metadata utawa ing mbangun script.

Miwiti rilis 2.38, toolkit Git nyakup implementasi gzip sing dibangun kanthi standar, sing ndadekake bisa nggabungake dhukungan kanggo metode kompresi iki ing sistem operasi lan nambah kinerja nggawe arsip. GitHub njupuk owah-owahan sawise nganyari versi git ing infrastruktur. Masalah kasebut disebabake dening kasunyatan manawa arsip sing dikompres sing digawe dening implementasi gzip basis zlib sing dibangun ing binar beda karo arsip sing digawe dening utilitas gzip, sing nyebabake macem-macem checksum kanggo arsip sing digawe dening versi git sing beda nalika nglakokake printah "arsip git".

Mulane, sawise nganyari git ing GitHub, arsip sing rada beda wiwit ditampilake ing kaca rilis, sing ora lulus verifikasi nggunakake checksums lawas. Masalah kasebut muncul ing macem-macem sistem mbangun, sistem integrasi terus-terusan, lan alat kanggo mbangun paket saka kode sumber. Contone, rakitan udakara 5800 port FreeBSD, kode sumber sing diundhuh saka GitHub, rusak.

Nanggepi keluhan awal babagan glitches, GitHub wiwitane nyatakake kasunyatan manawa checksum permanen kanggo arsip ora tau dijamin. Sawise dituduhake manawa akeh karya sing dibutuhake kanggo nganyari metadata ing macem-macem ekosistem kanggo mulihake fungsi sistem mbangun sing kena pengaruh, perwakilan GitHub ngganti pikirane, mbalekake owah-owahan kasebut lan ngasilake cara lawas kanggo ngasilake arsip.

Pangembang Git durung nggawe keputusan lan mung ngrembug tindakan sing bisa ditindakake. Opsi sing dianggep kalebu bali menyang nggunakake utilitas gzip standar; nambahake gendera "--stabil" kanggo njaga kompatibilitas karo arsip lawas; ngubungake implementasine sing dibangun menyang format arsip sing kapisah; nggunakake utilitas gzip kanggo komit lawas lan implementasi inline kanggo komit wiwit saka tanggal tartamtu; njamin stabilitas format mung kanggo arsip sing ora dikompres.

Kesulitan nggawe keputusan diterangake kanthi kasunyatan manawa bali menyang telpon menyang utilitas eksternal ora ngrampungake masalah immutability checksum, amarga owah-owahan ing program gzip eksternal uga bisa nyebabake owah-owahan ing format arsip. Saiki, sakumpulan patches wis diusulake kanggo ditinjau sing ngasilake prilaku lawas kanthi standar (nelpon utilitas gzip eksternal) lan nggunakake implementasine sing dibangun tanpa ana utilitas gzip ing sistem kasebut. Patch uga nambah dokumentasi sing nyebutake manawa stabilitas output "arsip git" ora dijamin lan format bisa diganti ing mangsa ngarep.

Source: opennet.ru

Add a comment