Megérkezett a Shelly 3.1: az Arch Linux csomagkezelő már natívan kezeli a PKGBUILD-eket

enlightened Ez az oldal a közösségért készül. heart Kövess minket máshol is:  Linux Mint Magyar Közösség a Mastodon-on  Telegram csatorna – csak hírek  Beszélgessünk a Telegram – Linux csevegő csoport  Hírek olvasása RSS segítségével  Linux Mint Hivatalos Magyar Közösség a Facebook-on      Linux Mint Baráti Kör a Facebook-on
wink Ha hasznosnak találod, és szeretnéd, hogy folytatódjon, támogasd a munkát Ko-fi vagy Paypal segítségével. laugh

kami911 képe

Shelly, az Arch Linux önálló csomagkezelője kiadta a 3.1-es verziót, amely jelentősen bővíti az AUR-kezelést: mostantól közvetlenül PKGBUILD-ekből tud Arch csomagokat építeni, makepkg használata nélkül.

Akik még nem ismerik: a Shelly nem egy újabb wrapper a pacman körül. Önálló csomagkezelő, amely a libalpm-re épül, ugyanarra az alaprendszerre, amit maga a pacman is használ. A Shelly önállóan kezeli a csomagtranzakciókat, a függőségek feloldását, a tárolók csomagjait és az AUR-folyamatokat, és elérhető parancssoros felületen, valamint GTK-s alkalmazásként is.

Eddig az AUR-folyamat egy fontos része még egy külső Arch eszköztől függött. A Shelly fel tudta deríteni az AUR-csomagokat, megoldotta a függőségeket, megmutatta a felhasználónak átnézésre, és kezelte a telepítést, de magát a PKGBUILD futtatását átadta a makepkg-nek. A Shelly 3.1-től ez megváltozik.

Az új kiadás egy natív csomagépitőt vezet be a Shelly csomagkezelő könyvtárának részeként. A Shelly mostantól a teljes buildfolyamatot maga viszi végig, a PKGBUILD átnézésétől a kész, pacman-kompatibilis csomagarchívum elkészítéséig.

Az új funkció a shelly build paranccsal érhető el. Elég lefuttatni egy PKGBUILD-et tartalmazó könyvtárban, és indul az építés: shelly build. Emellett a felhasználók megadhatnak egy máshol lévő PKGBUILD-et is: shelly build /path/to/PKGBUILD.

Ha hiányoznak a függőségek, az új --sync-deps kapcsolóval a Shelly a build előtt fel tudja oldani és telepíteni őket: shelly build --sync-deps /path/to/PKGBUILD.

Belső működésében a Shelly mostantól maga kezeli a szokásos PKGBUILD-életciklust. Feldolgozza az építési utasításokat, átnézi a kapcsolódó fájlokat, letölti és ellenőrzi a forrásokat, lefuttatja az olyan buildfázisokat, mint a prepare(), build(), check() és package(), előállítja a szükséges metaadatokat, létrehozza a csomagarchívumot, és igény szerint alá is írja. A végeredmény továbbra is szabványos Arch Linux csomag.

Az építő kezeli a split csomagokat, az architektúrafüggő függőségeket és forrásokat, a Git forrásokat, az ellenőrzőösszegeket, a csomagaláírásokat, a dinamikus csomagverziókat, az átnevezett forrásokat, és sok más, az AUR-ban gyakran előforduló PKGBUILD-funkciót.

Hasznos újdonság, hogy a Shelly a PKGBUILD-et még azelőtt átnézi, hogy bármilyen, a csomag által vezérelt kód lefutna. A csomagkezelő megmutatja a PKGBUILD-et és a kapcsolódó fájlokat a felhasználónak, és jelzi a gyanús parancsokat, a nem biztonságos helyi forrásokat, a megtévesztő karaktereket, valamint azokat a parancsokat, amelyek az építés során futnának le.

A Shelly 3.1 opcionális, Landlock-alapú fájlrendszer-sandboxot is hoz a PKGBUILD-ek futtatásához. Ha bekapcsoljuk, a csomagépítő scriptek elérik az építési könyvtárat és a szükséges rendszerútvonalakat, de nem férnek hozzá szabadon a felhasználó home könyvtárának többi részéhez. Ez a funkció opcionális, és alapértelmezés szerint ki van kapcsolva.

A függőségkezelés terén is történt fejlesztés. A --sync-deps kapcsolóval a Shelly csomagkezelője most már maga oldja meg a hiányzó függőségeket, ahelyett hogy továbbpasszolná őket a pacman számára. Így a Shelly képes telepíteni a csomagokat a szokásos Arch tárolókból, és felkutatni, illetve felépíteni azokat a függőségeket is, amelyek csak az AUR-ból érhetők el.

Az új csomagépítőn túl a kiadás bevezeti a run0-t egy újabb, támogatott jogosultságnövelő backendként, és fejlesztéseket tartalmaz a tranzakciójelentésben, a shell-kiegészítésben, a csomagcache helyreállításában, a hookok kezelésében, a HTTP-kezelésben, a TLS inicializálásban és a AppImage támogatásában.

További részletekért nézd meg a Shelly 3.1 változásnaplóját.