Chcete skutočne použiť štýl?  

Arch build system

Menu

PORTÁL

O Linuxe

Eshop

Anketa

Kedy ste naposledy menili distribúciu?

(95 ~ 29%)
(16 ~ 5%)
(65 ~ 20%)
(20 ~ 6%)
(83 ~ 25%)
(47 ~ 14%)
Spolu: 326
Komentárov: 18 Zobraziť ankety

PODPORUJEME

SKOSI.org

LinuxEXPO

ODPORÚČAME

PODPORTE NÁS

Ak sa vám táto stránka páči, môžete nás podporiť tak, že si na vaše stránky umiestnite tento banner.
Banner LinuxOS.sk

Štýl

Vyhľadávanie

Databáza znalostí

Prihlásenie




Registrácia
Neprihlásený

Správy

Archív správ
08.09 19:11 |  dodoedo
Dnes spoločnosť Oracle oznámila vydanie komplexného update pre Oracle Solaris systém. Update pozostáva z 3 častí: Oracle Solaris 10 9/10, Oracle Solaris Cluster 3.3 a Oracle Solaris Studio12.2. Treba tiež pripomenúť, že celá aktualizácia je podmienená novými licenčnými podmienkami Oracle
Pridať komentár
07.09 20:44 |  dodoedo
Nové Linux Mint Debian Edition (LMDE) 201009 predstavuje (momentálne 32-bitovú) linuxovú distribúciu Linux Mint úplne iného typu. LMDE je na rozdiel od "klasického" Ubuntu_based Linux Mint založené na Debian testing branch! Rozhodne stojí za to stiahnuť a vyskúšať.
Pridať komentár
06.09 20:47 |  dodoedo
Spoločnosť Bricsys NV dnes oznámila vydanie oficialnej verzie Bricscad™ V10 pre Linux. O postupe prác vývojárov na tomto DWG CAD štúdiu, ako alternatívnej platforme pre súborový formát .dwg sme už priebežne informovali aj v správach na linuxos.sk.
Pridať komentár
06.09 20:25 |  dodoedo
Backports, ktoré bolo doteraz nezávislé a dostupné na backports.org je odteraz súčasť oficiálnych Debian repozitárov. Backports umožňuje update jednotlivých systémových komponentov alebo softvérových balíčkov bez nutnosti uviesť celý systém na úroveň vývojovej verzie. Návod na pridanie Backports repozitára v Debian "Lenny".
Pridať komentár
06.09 10:21 |  dodoedo
Vyšla nová verzia GNU Debugger (GDB) 7.2, ktorá so sebou priniesla nové vlastnosti a rozšírenia: podpora D-jazyka, rozšírenie a zlepšenie podpory C++ a Python, podpora ARM Symbian, rozšírenie okruhu podpory v GDBserver a ďalšie.
Pridať komentár
05.09 13:20 |  dodoedo
Open-source projekt Spice poskytuje kompletné sofistikované riešenie pre interakciu s virtualizovaným počítačom-t.j. vzdialeným displejom, a jeho zariadeniami: klávesnicou, myšou, audio a pod.. Otcom celého riešenia je RedHat. Spice sa delí do niekoľkých častí: Spice server, Spice protokol a Spice klient, takže optimálne umožňuje interakciu medzi front-endom a virtualizovaným počítačom v sieťach LAN/WAN, na čo používa VD-rozhranie (VDI). Nová verzia VDI-Spice 0.6, okrem iných vylepšení a opravených chýb prináša Spice klienta pre ARM7 platformu, novú knižnicu libspice pre server a do budúcnosti sa počíta s podporou 3D - akcelerácie.
Pridať komentár
04.09 21:31 |  dodoedo
Nová verzia Alpine Linux 2.0.1, špeciálneho OS s proaktívnou bezpečnosťou (PaX a SSP), určeného pre x86 routery, firewall, VPN, VoIP boxy a servere je zameraná hlavne na fixáciu bugov predchádzajúcej verzie.
Pridať komentár
04.09 21:10 |  dodoedo
Nová verzia linuxovej distribúcie Debian 7.0 dostane meno "Wheezy", podľa gumovej hračky tučniaka s červeným motýlikom z filmu "Toy Story".
Pridať komentár
03.09 20:36 |  dodoedo
Skriptovací nástroj Ferm 2.0.7 uľahčuje narábanie so zložitými pravidlami linuxového firewall. Nástroj používa špeciálne pre neho vytvorený jazyk s jednoduchým syntax, ktorý zložité pravidlá zapíše do jediného výsledného súboru s formátom kompatibilným pre netfilter. Použitie nástroja Ferm takto pripomína štandardný štrukturovaný programovací jazyk.
Pridať komentár
03.09 09:25 |  dodoedo
Nové a originálne CyanogenMod-6.0, ktoré je založené na Android 2.2 (Android Open Source Project 2.2-Froyo) prináša novinky a zmeny. Najnovšie CyanogenMod je vlastná firmware distribúcia, založená na (forku) Android Open Source projekte a poskytuje rozšírené možnosti a viaceré rozširujúce služby pre viacero Android zariadení.
Pridať komentár
Arch build system

Článok

Arch build system

21.01.2010 21:50 | Články Prečítané : 4315 x
V tomto článku sa pokúsim predstaviť jednu zaujímavú funkciu stále populárnejšej linuxovej distribúcie Arch Linux. Táto funkcia zbližuje Arch Linux a niektoré linuxové distribucie a BSD systémy, ktoré používajú systém portov pre kompiláciu a inštaláciu programov. Jej názov je Arch build system, skrátene ABS.

Systém portov a Arch Linux

Systém portov umožňuje používatelovi stiahnuť zdrojové súbory, rozbaliť ich, prípadne aj opatchovať, následne ich skompilovať a vytvoriť z nich balíček pre ľubovoľný program, ktorý sa v systéme portov nachádza.
Takže výsledným produktom bude klasický inštalačný balíček pre Arch Linux. Celý systém sa skladá z jednotlivých portov, čo je vlastne iba nejaký adresár na lokálnom počítači pomenovaný podľa názvu programu. Každý takýto adresár obsahuje PKGBUILD a install súbor. PKGBUILD-om sa určuje odkiaľ sa zdrojové súbory programu stiahnu, kde sa rozbalia a ako sa následne skompilujú. Install súbor, pomenovaný podľa šablóny názov_programu.install, obsahuje definíciu funkcií, ktoré sa vykonajú pri inštalácii, upgrade a odinštalovaní výsledného balíčku. Port môže obsahovať aj jeden alebo viac súborov, ktoré majú v názve prefix patch. Takýto súbor obsahuje potom patche, ktoré sa aplikujú na rozbalený archív zdrojákov.
Ako príklad si môžeme zobrať napríklad IM klienta psi:
$ ls -l /var/abs/extra/psi
celkom 12
-rw-r--r-- 1 root root 662 jan 17 06:10 archlinux.patch
-rw-r--r-- 1 root root 730 jan 17 06:10 PKGBUILD
-rw-r--r-- 1 root root 146 jan 17 06:10 psi.install

V tomto prípade obsahuje port pre IM klienta psi povinný PKGBUILD s install súborom psi.install.
Taktiež obsahuje patch, ktorý upraví zdrojáky pre potreby samotej distribúcie Arch Linux.

Výhody systému portov v Archu

  • možnosť prekompilovať program z ľubovoľného dôvodu
  • vytvoriť si vlastný balíček programu zo zdrojákov, pre ktorý ešte neexistuje binárna verzia
  • upraviť si zdrojáky podľa vlastných želaní
  • prebuildovať celý systém, ktorý bude optimalizovaný pre váš počitač a tak nebudete musieť strácať
    výkon, ktorý s binárnymi balíčkami strácate
  • prekonfigurovať a prebuildovať si vlastné jadro
  • prebuildovať moduly jadra
  • jednoducho skompilovať a nainštalovať najnovšiu, staršiu, beta alebo vývojovú verziu Arch balíčka
    iba upravením PKGBUILD-u.

Arch Build System (ABS)

Systém portov v Arch Linuxu zastrešuje Arch Build System, ABS. ABS je séria nástrojov, ktoré sa používajú pri získavaní PKGBUILD súborov (a tým aj pre vytváranie portov), z ktorých sa potom vytvoria binárne balíčky pre Arch. Jednotlivé porty sa zvyčajne nachádzajú v adresáry /var/abs, čo je tzv. ABS strom.
Tento adresár má vlastnú štruktúru a to [repozitár]/[názov balíčka]. [repozitár] je presne to isté ako repozitár pre binárne verzie balíčkov. [názov balíčka] je názov aplikácie, pre ktorú si chceme vytvoriť vlastný balíček. Tak napríklad, PKGBUILD pre už spomínaný IM klient psi možno nájsť v adresáry:
/var/abs/extra/psi

Inštalácia ABS

Aby sme ABS mohli používať, tak si musíme nainštalovať aplikáciu abs. To urobíme klasickým spôsobom:
# pacman -S abs

Pre vytváranie vlastných balíčkov je nutné ešte doinštalovať aj balíček base-devel:
# pacman -S base-devel

Po nainštalovaní potrebných balíčkov môžeme ABS ešte nakonfigurovať. Nie je to ale potrebné, keďže
východisková konfigurácia je postačujúca. Konfiguračný súbor pre ABS je /etc/abs.conf. Najzaujímavejšou
voľbou v tomto konfiguračnom súbore je určenie repozitárov, pre ktoré sa vytvorí systém portov:
REPOS=(core extra community testing)

Jednotlivé repozitáre sú oddelené medzerou. Ak pred názov repozitára pridáme výkričník (!), tak tento
repozitár sa bude ignorovať a nebude sa pre neho inštalovať systém portov, prípadne sa nebude synchronizovať
pri opätovnom spustení utility abs.
Tak napríklad, ak by sme chceli vynechať repozitár testing, tak premenná REPOS v /etc/abs.conf by mala
takýto obsah:
REPOS=(core extra community !testing)

Pozor, ak si naozaj neželáme vytvárať systém portov (alebo jeho synchronizáciu) pre určitý repozitár, tak
nestací ho iba zmazať zo zoznamu, ale musíme ho nechať v zozname a pridať len výkričník. Inak abs bude aj
naďalej synchronizovať takýto neželaný repozitár.
Po prípadnej konfigurácii ABS systému, môžeme prejsť na samotnú prvotnú inicializáciu nášej lokálnej kópie
systemú portov, ABS stromu. To sa vykoná spustením utility abs s administrátorskými (root) právami:
# abs

Tento príkaz vytvorý lokálnu kópiu ABS stromu v adresáry /var/abs. Ak abs budeme spúšťať ešte raz,
tak už sa nebude celý strom sťahovať nanovo, ale iba sa zosynchronizuje a updatnú sa len tie subčasti stromu,
ktoré sa od posledného spustenia abs zmenili v centrálnom repozitáry.
Utilita abs má len tri parametre:
-h, --help zobrazí nápovedu pre túto utilitu
-V, --version zobrazi verziu abs
-t, --tarball s touto voľbou sa bude ABS strom synchronizovať pomocou tarballov z mirroru,
ktorý je definovaný pre pacman.

Potom, čo máme ABS strom, teda systém portov nainštalovaný, možeme ho začať používať. Pred samotným vytváraním
vlastných balíčkov pomocou ABS je vhodné ešte upraviť konfiguračný súbor pre makepkg, čo je utilita pre
vytváranie balíčkov, viac man 8 makepkg. Konfiguračný súbor sa nazýva /etc/makepkg.conf. V tomto konfiguračnom
súbore si nastavíme potrebné optimalizačné flagy pre kompilátor, host systém, architektúru atď. Viac man 5 makepkg.conf.

Používanie ABS

Samotné použitie ABS je veľmi jednoduché. Je vhodné si vytvoriť napríklad v domovskom adresáry bežného používateľa
nejaký pracovný adresár pre ABS. Je to z toho dôvodu, že akákoľvek práca v pôvodnom ABS strome vo /var/abs sa zmaže
pri každej synchronizácii ABS stromu. Takže vytvorme si náš pracovný adresár:
$ mkdir -p ~/abs

Práca v našom domovskom adresáry má aj tú výhodu, že nemusíme pracovať ako root. Administrátorské právomoci budeme
potrebovať iba pri inštalácii už vytvoreného balíčka. Pre náš príklad práce s ABS si vytvoríme nový balíček pre
IM klienta psi. Predstavme si (čisto pre fakultatívne účely), že sa nám nepáči kontrola pravopisu v už nainštalovom
psi. Aby sme odstránili podporu pre kontrolu pravopisu, musíme upraviť súbor PKGBUILD v ~/abs/psi:
$ cd ~/abs/psi
$ vim PKGBUILD

Upravíme riadok, kde sa volá skript configure a pridáme mu parameter –disable-aspell:
./configure --prefix=/usr --disable-bundled-qca --disable-aspell || return 1

Pre vytváranie balíčkov sa používa utilita makepkg, viac man 8 makepkg. Takže ako ďaľši krok bude
spustenie tejto utility:
$ makepkg -s

Parameter -s zabezpečí, že pri inštalácii novovytvoreného balíčka sa pacman pokúsi doinštalovať aj zavíslosti,
na ktorých balíček závísi. Spustenie makepkg zabezpečí všetky kroky pre vytvorenie nového balíčka: stiahnutie
zdrojákov, kontrola ich checksumu, ich rozbalenie a prípadné aplikovanie patchov, kontrola závislostí pre
kompiláciu a závislostí pre naištalovanie balíčka, nasleduje kompilácia a vytvorenie binárnej verzie balíčka.
Ak všetko prebehne v poriadku, tak v aktuálnom adresáry sa objaví nový balíček. Jeho názov v tomto prípade
bude psi-0.14-1-x86_64.pkg.tar.gz. Takýto balíček stačí už len nainštalovať pomocou pacmana:
# pacman -U psi-0.14-1-x86_64.pkg.tar.gz

Inštalujeme samozrejme s administrátorskými právami, teda pod root účtom.
Základnú prácu s ABS v Arch Linuxe máme predstavenú. Dúfam, že sa mi podarilo aspoň trochu ozrejmiť ABS a
jeho využitie. Prípadne námietky, návrhy, ďaľšie tipy prosím uveďte do kometárov.


PDF verzia
Pridať komentár
Počet príspevkov : 1319
dopad
 
22.01.2010 02:24  |  Link
velmi pekny clanok o mojej srdcovej distribucii, ale z textu som sa nedozvedel, ze aky ma dopad pouzivanie ABS v Archovi, kedze vieme, ze Arch je skor zalozeny na najnovsich verziach a aktualnych balickov, kedy sa velakrat stane, ze system proste bude nestabilny. Ak to chapem dobre, tak je to vlastne stare zname podobne PKBUILDOM a la Gentoo a BSD portom. Takze da sa pouzivat aj takto vytvoreny soft a aj prostrednictvom ABS a pacman ho vidi?
Počet príspevkov : 5254
Re: dopad
 Distribúcia : Windows XP Pro SP3
22.01.2010 09:08  |  Link
ano, pomocou ABS si vytvoris klasicky balicek, taky ktory instaluje aj pacman. ak sa objavi novsia verzia toho balicka v repozitoroch pacmana, bude ABS verzia balicka upgradnuta na tuto. takze si budes musiet znova skompilovat novu verziu pomocu ABS a nainstalovat ju. da sa to obist s tym sposobom, ze pred zacatim vytvarania noveho balicka pomocou ABS, prepises v PKGBUILDe verziu na nejaku ovela vyssiu a pacman pri upgrade nebude tento balicek upgradovat, len bude vykecavat, ze je nainstalovana novsia verzia balicka ako sa nachadza v jeho repozitary. samozrejme toto riesenie nejsie aj riziko nestability problemu. zatial som to pouzil len raz, pri kniznici libnova a vsetko v pohode slapalo.
Počet príspevkov : 1319
Re: dopad
 
22.01.2010 11:12  |  Link
ten sposob sa mi paci, vyskusam v buducnosti urcite. Arch, *BSD sa dost priblizuju k sebe
Počet príspevkov : 5254
Re: dopad
 Distribúcia : Windows XP Pro SP3
22.01.2010 11:42  |  Link
mozno som aj na nejake veci zabudol (ale hlavne veci su tam), je to moj prvy clanok.
Počet príspevkov : 169
Re: dopad
 Distribúcia : Arch, Ubuntu
22.01.2010 18:10  |  Link
Nie je lepsi sposob, ako vymyslanie vysokej verzie, pridat balicek do IgnorePkg v pacman.conf?
Of All The Things I've Lost, I Miss My Mind The Most.
Počet príspevkov : 269
Nechapem
 Distribúcia : Windows 7 & Arch Linux KDE
22.01.2010 18:37  |  Link
Stale nechapem jednej veci...

Ako resp. kde sa nastavuje ake vlastnosti ma ten balicek mat ? Lebo vlastne ak tomu spravne rozumiem, tak pomocou ABS si skompilujem balicek presne pre moj pc. A arch akoze uz vie aky mam pc??? alebo niekde sam nastavujem ze ktore veci povolit a ktore zakazat? Dakujem
Prečo platiť za Windows keď viac ako 90% sw ide aj na linuxe a k tomu máte extra rýchly, aktuálny systém bez vírusov, bez nutnosti defragmentácie a iných hávedí :)
Počet príspevkov : 2207
Re: Nechapem
 Distribúcia : Archlinux GNOME
22.01.2010 20:55  |  Link
Veď je to v článku napísané, že sa to nastavuje v súbore /etc/makepkg.conf
Čo ťa nezabije, to ťa posilní | Leták na propagáciu jabbera v pdf | www.mikroprocesory.sk
 xenol
Re: Nechapem
 
23.01.2010 14:24  |  Link
ano, ale on sa asi pyta na obdobu USE flagov z gentoo. ak viete niekto o niecom, dajte vediet, lebo po 3 rokoch pouzivania archu som zatial neprisiel na nic take. inac dobra praca, borgcube
 xenol
Re: Nechapem
 
23.01.2010 14:27  |  Link
este by som upovedomil ludi na moznost "makeworld", ktory vlastne je akysi wrapper nad makepkg a dokaze to skompilovat cele repozitare balickov
Počet príspevkov : 5254
Re: Nechapem
 Distribúcia : Windows XP Pro SP3
23.01.2010 19:24  |  Link
je to tam spominane, mozno nejasne. je nutne si upravit PKGBUILD, odstranit zavislosti a upravit volanie skriput configure, pripadne niecoho ineho, co sa vyhodnocuje pri kompilacii.
Počet príspevkov : 435
Systém portov?
 Distribúcia : Arch
25.01.2010 13:02  |  Link
nazov: "Systém portov" ma dost zmiatol. Teraz pozeram ze ten nazov asi pochadza z BSD. Inac dobry clanok. PKGBUILD mohol byt trosku hlbsie vysvetleny. Mozno stacilo zahrnut cely PKGBUILD do clanku
 maro
makepkg
 
30.01.2010 12:33  |  Link
abych se priznal, mam v tom trochu chaos ja instaluju balicky z AURu tam si najdu balicek, stahnu tarbal, rozbalim do sveho '/home/adresare' pak spustim makepkg , nainstaluju balicek a hotovo
Vubec jsem z clanku nepochopil, na co vlastne abs je, jak zjistim jaky pkgbuild muzu stahnout (kde najdu treba ten psi) je mi to stale jaksi nepochopitelne, zbytecne slozite
Počet príspevkov : 5254
Re: makepkg
 Distribúcia : Windows XP Pro SP3
31.01.2010 14:50  |  Link
v AUR mas PKGBUILDy, ktore sa nenachadzaju v oficialnych repozitaroch, kdezto abs je subor PKGBUILDov pre balicky v oficialnych repozitaroch.
abs ma rovnaku adresarovu strukturu ako repozitare, ten psi sa nachadza v repo extra. samozrejme, ak nevies co sa kde nachadza, tak existuje napr. utilita find.
 Harvie
Re: makepkg
 
27.04.2010 15:44  |  Link
naco find? pacman -Ss je rychlejsi...

jinak bych poznamenal, ze standartne se pro sestavovani pouziva adresar ~/src, abs muze trochu zavadet :-P
 jose
adresarY??
 
14.02.2010 12:59  |  Link
omg
 Peter S.
chýba tam krok medzi
 
15.03.2010 15:27  |  Link
chýba tam krok medzi
$ mkdir -p ~/abs
a
$ cd ~/abs/psi
Skadiaľ sa v novovytvorenom adresari vzal podadresár psi s nejakým obsahom?

Štruktúra článku by možno potrebovala "vyladiť" všetko to pôsobí takým dojmom že "guláš", napríklad očíslované kroky alebo nadpisy častí a pod by určite pomohli...
 Harvie
makepkg, AUR
 
27.04.2010 15:21  |  Link
mnohem zajimavejsi moznost je vytvoreni celeho balicku ktery by jinak v archlinuxu nabyl.
takovy balicek je pak mozne nahrat do auru ( http://aur.archlinux.org/ ) a sdilet s ostatnimi uzivateli, kteri si ho muzou sestavit nainstalovat pomoci yaourt -S balicek AUR je tedy takova wiki na balicky, kam muze prispivat kazdy... (je tedy nutne si PKGBUILD pred instalaci precist).

moznost si takhle sestavit balicek ma kazda distribuce (vypliva to i z GPL), ale ArchLinux ma nejjednodussi postup pro vytvareni takovych balicku a balicek pro prumerny program udelate treba za 7 minut... (nebo i za min, pokud uz mate predpripraveny PKGBUILD, kde jenom prepisete par radek) Tesne je nasledovan BSD portama, ktery mi prisli trochu min prehledny...

To ma vyhodu v tom, ze uz nikdy nemusite delat "make install" a zajistit si tak, ze program uz nikdy poradne neodinstalujete... Kdyz je vsechno v balickovacim systemu, je vsechno prehledny a bezpecny...
Prvý komentár
LinuxOS.sk © 2004-2008 | LinuxOS.sk - Team | ISSN 1337-7639
Táto stránka je optimalizovaná pre Mozillu, Operu, Konqueror a IE