GoboLinux LetöltésekDokumentációkKözösségi portálRecipékCsomagokKépek


Compile: A GoboLinux fordítórendszer

A Compile letölti a forráscsomagokat, kicsomagolja, lefordítja és installálja is azt. Az ezt használó egyszerű fordítószkripteket, "recipéknek", (magyarosabban "recepteknek") nevezzük. A Compile a GoboLinux 011 -ben lett a Gobo-disztribúció része, de máris jelentős (és egyre növekvő) recipegyűjteményt mondhat magáének, és alkalmas mindenféle szoftver, köztük a Glibc, GCC, KDE és a Linux rendszermag (a kernel) lefordítására is.

A Compile néhány jellemzője:

  • A projectek (programok) saját letöltési oldalait használja források letöltésére: a disztribúció tárhelye (vagy valamelyik tükrözése) csupán a recipék letöltésére szolgál. A recipék közvetlenül letölthetőek a GetRecipe parancsot használva, vagy "röptében", a Compile program által, ha a fordítás menete igényli azt.
  • minimális és parancsorientált fordítószkriptek: a tipikus "configure; make; make install" parancsokat igénylő szoftver mindössze két sorban szkriptelhető, s ez nagyban megkönnyíti a karbantartási munkát.
  • A GoboLinux-stílusú függőségkezelés támogatása: A fordítás folyamán a függőségek ellenőrzését a Compile a /Programs könyvtár közvetlen vizsgálata által hajtja végre. Nincs tehát különbség, hogy bináris csomagot telepítettél-e az InstallPackage segítségével, forrásból fordítottál-e a Compile-ot használva, vagy felhasználóként te magad fordítottál valamit "kézzel" -- mindenképpen elérhetőek e programok a Compile függőségvizsgálata számára.
  • Útvonalfüggetlenség: létezik egy úgynevezett „Rootless-GoboLinux” telepítési lehetőség is, tudniillik valamely más disztribúciónál a $HOME könyvtárban is létrehozható és kezelhető a megfelelő Gobo-könyvtárstruktúra.

Linkek

A Compile használata

Ez minden, amit felhasználóként tenned kell azért, hogy a Compile lefordítsa a szoftvert neked:
     
Compile allegro     
Erre megkeresi a megfelelő receptet (kisbetű/nagybetű különbségre érzéketlen keresést folytatva) és minden mást is elvégez helyetted. Lehetséges közreműködőnkként a recipék elkészítését nagyon könnyűnek fogod találni. Valójában a könnyű kezelhetőség volt a legfőbb szempontunk (tekintettel arra, hogy kevéssé ismert disztribúció vagyunk, és így kolátozott erőforrásokkal rendelkezünk). Egy valós példa. Íme egy recipe, ami egy tipikus, autoconf-bázisú programhoz tartozik. Két sor, semmi több:
     
url=$ftpGnu/gtypist/gtypist-2.7.tar.bz2     
recipe_type=configure   
Egy összetettebb példa: A Zip csak makefile-t használ. A Compile ezt is támogatja.
     
url=ftp.uu.net/pub/archiving/zip/src/zip23.tar.gz     
recipe_type=makefile  
dir=zip-2.3     
makefile=unix/Makefile     
build_target=generic_gcc     
install_variables=(     
   "prefix=$target"     
)     
Az API dokumentációját a wikiben találhatod meg.

Getting Compile

A Compile-nek a GoboLinux 011 óta „alapértelmezés szerint” működnie kell, de a korábbi kiadásokban is működik, feltéve hogy megvan neked a legutóbbi Scripts csomagod, és a Rootless. Mindkettőt megtalálhatod a csomagok közt.

Recipék készítése

Recipéid elküldéséhez azokat csomagold be a GenRecipeStore paranccsal, és küldd el a gobolinux-recipe levelezőlistára. Hozzájárulásodat nagyra értékeli a GoboLinux közösség! (Légy biztos benne, hogy neved szerepel a Compile.conf fájlban, azért, hogy a MakeRecipe szerzőként tüntethessen fel téged a recipében annak elkészítésekor!)