Reproducible builds (Magyar)
Az Arch Linux jelenleg azon dolgozik, hogy minden szoftvercsomag ismételhetően létrehozható legyen. (Angol nyelven: Reproducible builds). Ez lehetővé teszi a felhasználók és kutatók számára, hogy ellenőrizzék az Arch Linux operációs rendszerből származó (és az abból terjesztett) szoftvercsomagokat.
Ellenőrző szoftvercsomag-létrehozások
Szoftvercsomag-tároló vs. újbóli létrehozás
A Reproducible status weboldalon egy kísérleti újbóli szoftvercsomag-létrehozó (rebuilderd) példány került beállításra a saját infrastruktúránkon. A rebuilderd újból létrehozza a szoftvercsomag-tárolónk szoftvercsomagjait, és ellenőrzi, hogy bitről bitre azonosak-e. Ha nem ismételhető meg a szoftvercsomag-létrehozás, akkor annak oka lehet egy hiba a létrehozást végző segédprogramok készletében, a szoftvercsomag létrehozását nem szabad a licenc miatt megismételni, vagy a szoftvercsomagot nem tiszta chroot környezetben hozták először létre.
A ismert problémák listája megtalálható a /Status című oldalon.
Újbóli szoftvercsomag-létrehozás vs. egy másik, eltérő környezetben történő újbóli szoftvercsomag-létrehozás
A Reproducible Builds projekt újból létrehozza az Arch Linux szoftvercsomagokat, és összehasonlítja azokat egy másik, eltérő környezetben végzett szoftvercsomag-létrehozással. A szoftvercsomag állapota és a környezeti eltérések a Reproducible status oldalon találhatók.
Segítségnyújtás
Eszközök
Segítsen a repro projektben a hibák javításában és funkciók hozzáadásában.
A szoftvercsomag újbóli létrehozó futtatása
A rebuilderd beállítása Arch Linux szoftvercsomagok létrehozására segít a szoftvercsomag-tároló szoftvercsomagjainak független ellenőrzésében.
Szoftvercsomagok ellenőrzése a repro segítségével és problémák felderítése
Nagyszerű módja a segítségnyújtásnak, ha talál egy nem reprodukálható szoftvercsomagot, és kideríti, hogy miként tehető reprodukálhatóvá:
- Töltsön le egy Arch Linux szoftvercsomagot, vagy szerezzen be egyet az Arch Linux Archive oldalról.
- Futtassa a repro programot a letöltött szoftvercsomagon, vagy egy szoftvercsomagon a pacman gyorsítótárából. Ideális esetben a
repro -dhasználatával tegye ezt meg annak érdekében, hogy diffoscope kimenetet kapjon. Például:repro -d /var/cache/pacman/pkg/curl-7.73.0-1-x86_64.pkg.tar.zst.
- Megjegyzés https://reproducible.archlinux.org kihagyja a
check()lépést, mert az összes szoftvercsomag összes tesztjének futtatása túl ingatag. Ez hamis, nem reprodukálható szoftvercsomag-státuszt hozhat létre, amennyiben acheck()mellékhatásokkal jár, például Python szoftvercsomagok esetén.
- Vizsgálja meg, hogy az Arch Linux csomagolásával van-e probléma, vagy az upstream hibája. A problémákat hozzá lehet adni az állapotoldalon. További információk találhatók a Reproducible Builds weboldalon.
Munka a tests.reproducible-builds.org infrastruktúrában felmerülő problémákon
Az Arch felhasználók hozzájárulhatnak a Reproducible Build problémák megoldásához azáltal, hogy megnézik a folyamatos reprodukciós környezetet (Reproducible állapot oldal). Számos probléma van, amit rendezni lehet:
- Sikertelen forráskódból történő szoftvercsomag-létrehozás (FTBS): Reprodukálja helyben a létrehozási hibát, és hozzon létre hibajegyet, amennyiben a szoftvercsomag nem hozható létre tiszta chroot környezetből (
extra-x86_64-buildvagymultilib-build). - Sikertelen forráskódletöltés. Reprodukálja a problémát (
makepkg -o -d), és hozzon létre hibajegyet az Arch GitLab weboldalon. - Sikertelen reprodukció. Helyben a szoftvercsomagokat a reprotest segítségével lehet reprodukálni. Vegye figyelembe, hogy nem használható minden variáció. Egyszerű, idővel kapcsolatos teszteléshez:
$ reprotest --variations '+time' 'sudo extra-x86_64-build' '*.pkg.tar.zst'
Egy szoftvercsomag nem reprodukálhatóságának többféle oka lehet, de a mélyebb vizsgálat előtt nézze meg a felsőszintű szoftvercsomag-tárolót vagy a reprodukálható állapotot a Debian oldalon.
- Sikertelen tesztfutás. Ezek a hibák nagymértékben a tesztelési környezetre vezethetők vissza. Ennek a hibának a legvalószínűbb oka, hogy a
LANG=Cvan beállítva, és az Arch nem támogatja aLANG=C.UTF-8beállítást.
Amennyiben Önt érdekli az a programkód, amely a folyamatosan reprodukáló környezetet futtatja, akkor tekintse meg a salsa weboldalt, ahol az első szoftvercsomag-létrehozó kód kezdődik.
Ismert problémák
GPG ellenőrzés
Előfordulhat olyan szoftvercsomag-létrehozási forgatókönyv, amikor a GPG‑kulcsok nem lesznek ellenőrizhetők, mivel a szoftvercsomag-készítő el lett távolítva a kulcstartóból vagy vissza lett vonva. Mivel a legfrissebb kulcstartót használjuk, és az archívumban található szoftvercsomag, amelyre szükségünk van, esetleg egy visszavont kulccsal van aláírva, ezért előfordulhat, hogy nem tudjuk azt ellenőrizni, és az szoftvercsomag-létrehozás ezáltal sikertelen lesz.
Elérhetőség
- #archlinux-reproducible — Főcsatorna az Arch Linux operációs rendszeren történő Reproducible Builds előrehaladásának követésére.