# Arch User Repository (Српски)

Related articles

- AUR Helpers
- AUR Trusted User Guidelines

Arch User Repository (AUR) је репозиторијум који води заједница и намењен је корисницима Arch линукса. Садржи описе пакета (PKGBUILDs) који дозвољавају компајлирање пакета из извора коришћењем makepkg и инсталирање уз помоћ pacman. AUR је креиран да би се организовали и делили нови пакети из заједнице и да би се омогућило да се популарни пакети брже додају у [community] репозиторијум. Овај документ објашњава како корисници могу да приступе и искористе AUR.

Добар део нових пакета који улазе у официјалне репозиторијуме потичу из AUR-а. У AUR-у, корисници могу да допринесу својим пакетима (PKGBUILD и слични фајлови). AUR заједница има могућност гласања за и против пакета у AUR-у. Ако пакет постане довољно популаран -- под условом да има компатибилну лиценцу и добру технику паковања -- он може да уђе у [community] репозиторијум (директно доступан преко `pacman` или `abs`).

## Увод

Корисници могу да претражују и преузимају PKGBUILD са AUR веб интерфејса. Ови PKGBUILD-ови се могу уградити у лако инсталабилне пакете коришћењем makepkg, и затим инсталирањем помоћу pacman.

- Прочитати подсетник овог чланка за више информација и за кратки водич о инсталирању AUR пакета.
- Посетите AUR веб интерфејс да би се информисали о ажурирањима пакета и догађајима. Тако се могу наћи и статистике и редовно ажурирана листа нових пакета који су доступни у AUR-у.
- Погледајте #FAQ који саджи одговоре на најчешћа питања.
- Прилагодите `/etc/makepkg.conf` за боље оптимизовање процесорских приоритета приликом грађења пакета из AUR-а. Значајно побољшање у времену компајлирања се може постићи на системима са више језгара прилагођавањем MAKEFLAGS променљиве. Корисници такође могу да омогуће у GCC преко CFLAGS променљиве оптимизацију за специфични хардвер. Погледати makepkg.conf за више информација.
- Инталирајте "base-devel" (`pacman -S base-devel`), зато што чланови ове групе пакета нису експлицитно наведени као неопходни од стране AUR-а али пакети се неће изградити без њих (више информација на на овој теми).

## Историја

Следеће ставке су наведене само за историјске сврхе. То је сад замењено AUR-ом и више није доступно.

У почетку, постојао је `ftp://ftp.archlinux.org/incoming`, и људи су доприносили једноставним слањем PKGBUILD, потребних допунских фајлова, и изграђеног пакета на сервер. Пакет и њему додељени фајлви остајали су ту док Package Maintainer, илити корисник који одржава пакете, не види програм и усвоји га.

Тако су Репозиторијуми поверљивих корисника (Trusted User Repositories) створени. Одређеним индивидуама у заједници је дозвољено да хостују своје репозиторијуме које корисници могу да користе. AUR се проширио на овај начин, са циљем да буде што флексибилнији и кориснији. У ствари, корисници који одржавају AUR се зову TUs (Trusted Users), тј. поуздани корисници .

## Претраживање

AUR веб интерфејс се може наћи овде, а интерфејс погодан за приступ преко скрипте (на пример) се може наћи овде.

Упити претражују имена пакета и описе преко MySQL LIKE поређења. Ово омогућава флексибилнији критеријум претраге (нпр. пробајте претрагу за 'tool%like%grep' уместо 'tool like grep'). Ако тражите опис који садржи '%', избегните га уз помоћ '\%'.

## Инсталирање пакета

Инсталирање пакета из AUR-а (такође познат и као [unsupported] репозиторијум) је релативно једноставан процес. Најбитније је:

1. Набавити tarball који садржи PKGBUILD и могуће друге неопходне фајлове
2. Отпаковати tarball (пожељно у фолдер који је направљен само за фајлове из AUR-а)
3. Покренути makepkg у директоријум где су фајлови сачувани ("makepkg -s" ће аутоматски разрешити зависности са pacman)
4. Инсталирати пакет коришћењем pacman

    # pacman -U /path/to/pkg.tar.xz

AUR helpers додају приступ AUR-у. Они варирају у својим карактеристикама, али могу да олакшају претрагу, преузимање, изградњу, и инсталирање из PKGBUILD-ова пронађених у AUR-у. Све ове скрипте се могу наћи у UNSUPPORTED репозиторијуму.

Note: Никад неће бити официјални механизам за инсталирање материјала из UNSUPPORTED-а. Сви корисници треба да буду упознати са процесом изградње.

Следеће је детаљни пример инсталације пакета који се зове "foo".

### Предуслови

Прво се уверите да се неопходни алати инсталирани. Група пакета "base-devel" би требала да буде довољна; укључује make и друге алате неопходне за компајлирање из извора.

Warning: Пакету у AUR-у претпостављају да је "base-devel" инсталиран, и неће излистати чланове ове групе као зависности иако се пакет не може изградити без њих. Уверите се да је ова група инсталирана пре жалбе о неуспелој изградњи.

    # pacman -S base-devel

Следеће је бирање одговарајућег директоријума. Тај директоријум је директоријум где ће се пакет креирати или "изградити" и може да буде било који директоријум. Примери често коришћених директоријума су:

    ~/builds

или корисшћењем ABS-а (Arch Build System):

    /var/abs/local

За више информација о ABS-у прочитајте Arch Build System чланак. Пример ће користити `~/builds` као директоријум за изградњу.

### Набављање фајлова

Лоцирајте пакет у AUR-у. Ово се обавља коришћењем претраге (текстуално поље на врху AUR почетне странице). Кликом на име апликације у резулатима претраге даје страницу са информацијама о пакету. Прочитајте опис да би потврдили да је то жељени пакет, проверите кад је пакет последњи пут ажуриран, и прочитајте коментаре.

Преузмите неопходне фајлове. Са информационе стране пакета преузмите фајлове за изградњу кликом на "Tarball" везу на левој страни близу краја детаља пакета. Овај фајл би требао да се сачува у директоријуму за изградњу. У овом примеру, фајл се зове "foo.tar.gz" (стандардни формат је <pkgname>.tar.gz, ако је правилно послат).

### Изградња пакета

Отпакујте tarball. Промените директоријум ако већ нисте тамо и отпакујте фајлове за изградњу.

    $ cd ~/builds
    $ tar -xvzf foo.tar.gz

Ово би требало да креира нови директоријум који се зове "foo" у директоријуму за изградњу.

Warning: Пажљиво проверите све фајлове. Промените директоријум на новокреирани и пажљиво проверите `PKGBUILD` и било који `.install` фајл због злонамерних команди. Ако сумњате, НЕ градите пакет и потражите савет на форумима и мејлинг листама.

    $ cd foo
    $ nano PKGBUILD
    $ nano foo.install

Креирајте пакет. После ручног потврђивања интегритета фајлова, покрените makepkg као регуларни корисник унутар директоријума за изградњу.

    $ makepkg -s

`-s` прекидач ће користити sudo за инсталирање неопходних зависности. Ако је коришћење sudo команде непожељно, ручно инсталирајте неопходне зависности и искључите `-s` из команде изнад.

### Инсталација пакета

Инсталирајте пакет коришћењем pacman. Тarball би требало да буде креиран под називом:

    <application name>-<application version number>-<package revision number>-<architecture>.pkg.tar.xz

Овај пакет се може инсталирати коришћењем pacman "upgrade" команде:

    # pacman -U foo-0.1-1-i686.pkg.tar.xz

Note: Овај пример је само кратка сумаризација процеса изградње пакета. Посетите makepkg и ABS странице за више детаља.

## Дељење пакета

Корисник игра главну улогу у AUR-у, који не може да испуни свој потенцијал без подршке, укључености, и доприноса шире заједнице корисника. Животни циклус AUR пакета почиње и завршава се са корисником и захтева корисника да доприноси на неколико начина.

Корисници могу да деле PKGBUILD коришћењем UNSUPPORTED области у AUR-у. UNSUPPORTED не садржи никакве бинарне пакете али дозвољава корисницима да шаљу своје PKGBUILD-ове који други могу да преузму. ТИ PKGBUILD-ови су комплетно неофицијални и нису темељно проверени, па се користне на сопствени ризик.

### Подршка

Коментари дозвољавају корисницима да шаљу своје сугестије и подршку PKGBUILD креатору. Избегавати прослеђивање закрпа или PKGBUILD-ова у одељку за коментаре. Коментари брзо постају застарели и само заврше тако што непотребно одузимају доста простора. Уместо тога, пошаљите мејл кориснику који одржава тај пакет, или користите pastebin као http://aur.pastebin.com.

Најлакша активност за све Arch кориснике је претраживање AUR-а и гласање за своје омиљене пакете коришћењем онлајн интерфејса. Сви пакете су квалификовани за усвајање од стране поузданих корисника за укључење у [community], и број гласова је једино разматрање за тај процес; гласање је у свачијем интересу!

### Подношење пакета

После логовања на AUR веб интерфејс, корисник може да поднесе gzip-овани tarball (`.tar.gz`) директоријума који садржи фајлове за изградњу пакета. Деиректоријум унутар tarball-а треба да садржи `PKGBUILD`, и било који `.install` фајл, закрпу, итд. (АПСОЛУТНО без бинарних пакета). Пример како директоријум треба да изгледа се може видети у `/var/abs` ако је ABS инсталиран.

Тarball се може креирати следећом командом:

    $ makepkg --source

Обратите пажњу да је ово gzip-ован tarball; претпоставимо да шаљете пакет који се зове libfoo, кад креирате фајл, требао би да изгледа слично овоме:

    # List contents of tarball.
    $ tar tf libfoo-0.1-1.src.tar.gz
    libfoo/
    libfoo/PKGBUILD
    libfoo/libfoo.install

Кад подносите пакет, обратити пажњу на следећа правила:

- Проверите [core], [extra], и [community] да ли садрже тај пакет. Ако је унутар неког од ових репозиторијума у било којој форми, не подносите пакет (ако је тренутни пакет оштећен или му недостају неке карактеристике пошаљите баг репорт у FlySpray).
- Проверите да ли AUR садржи пакет. Ако је тренутно одржаван, промене се могу поднети у коментарима. Ако је пакет неодржаван, пакет се може усвојити и ажурирати ако је неопходно.
- Пажљиво потврдите да се послали пакет исправно. Сви корисници морају да прочитају и прихвате Arch packaging standards кад пишу PKGBUILD. Ово је битно за лагано покретање генерални успех AUR-а. Запамтите, нећете добити никакве заслуке или поштовање ако трошите туђе време са лошим PKGBUILD-овима.
- Пакети који садрже бинарне или су лоше написани се могу избрисати без икаквог упозорења.
- Ако сте несигурни о пакету на било који начин, поднесите PKGBUILD на AUR мејлинг листу или AUR форум за јавни преглед пре додавања у AUR.
- Постарајте се да је пакет користан. Да ли ће неко други желети да користи овај пакет? Да ли је екстремно специјализован? Ако више од неколико људи мисли да је овај пакет користан, погодан је за подношење.
- Стекните искуство пре подношења пакета. Изградите неколико пакета да научите процес и онда га поднесите.
- Ако поднесете `package.tar.gz` са фајлом који се зове '`package`' и ако добијете грешку : 'Could not change to directory `/home/aur/unsupported/package/package`'. Да би ово решили, промените име фајла '`package`' у нешто друго, на пример, '`package.rc`'. Кад се инсталира у `pkg` директоријум можете га преименовати назад у '`package`'.

### Одржавање пакета

- Ако оджавате пакет и желите да ажурирате PKGBUILD за ваш пакет само га пошаљите поново.
- Проверите подршку и коментаре других корисника и пробајте да укључите побољшања која они предлажу; сматрајте то као процес учења!
- Немојте само да поднесете паке и да заборавите на њега! Док је у UNSUPPORTED, корисников посао је да одржава пакет проверавањем да ли има нових ажурирања и побољшања PKGBUILD-а.
- Ако не желите да одржавате пакет из неког разлога, `disown` пакет коришћењем AUR веб интерфејса и/или објавите поруку на AUR мејлинг листи.

## [community]

[community] репозиторијум, одржавају Поуздани Корисници, садржи већину популарних пакета из AUR-а. Он је подразумевано омогућен у `pacman.conf`. Ако је онемогућен/уклоњен, може се омогућити склањањем коментара/додавањем следеће две линије:

    /etc/pacman.conf

    ...
    [community]
    Include = /etc/pacman.d/mirrorlist
    ...

[community], за разлику од AUR-а, садржи бинарне пакете који се инсталирају директно уз помоћ pacman и фајловима за изградњу се може приступити уз помоћ ABS. Неки од овох пакета ће можда прећи у [core] или [extra] репозиторијуме ако их програмери сматрају битинм за дистрибуцију.

Корисници могу да приступе [community] фајловима за изградњу измењивањем `/etc/abs.conf` и омогућавањем community репозиторијума у `REPOS` одељку.

## Git репозиторијум

Git репозиторијум AUR-а одржава Thomas Dziedzic пружајући историју пакета међу осталим стварима. Ажурира се најмање једном дневно. Клонирање репозиторијума (неколико хиљада мегабајта):

    $ git clone git://pkgbuild.com/aur.git

Веб интерфејс, Прочитај ме, Тема на форуму

## FAQ

### Шта је AUR?

AUR (Arch User Repository) је место где Arch Linux заједница може да пошаље PKGBUILD апликација, библиотека, итд., и подели их са целом заједницом. Корисници онда могу да гласају за своје омиљене пакете и они се премештају у [community] репозиторијум који се у бинарном облику дели са Аrch Linux корисницима.

### Шта је Поуздани корисник (TU)?

A TU (Trusted User) је особа која је изабрна да надгледа AUR и [community] репозиторијум. Они одржавају популарне PKGBUILD-ове у [community], и одржавају AUR.

### Која је разлика између [unsupported] и [community]?

[unsupported] је репозиторијум где се чувају сви PKGBUILD-ови које корисници пошаљу, и морају се ручно изградити уз помоћ [makepkg]. Кад PKGBUILD прими довољно гласова, премешта се у [community] репозиторијум, где поуздани корисници одржавају бинарне пакете који се инсталирају уз помоћ pacman.

### Колико је гласова потребно да се PKGBUILD премести у [community]?

Обично, најмање 10 гласова је неопходно да се неки пакет премести у [community]. Ипак, ако поуздани корисник жели да подржава пакет, често ће се наћи у репозиторијуму.

### Како да креирам PKGBUILD?

Најбољи извор је Creating packages. Не заборавите да погледате у AUR-у пре креирања PKGBUILD да се не би дуплирали напори.

### Покушавам `pacman -S foo`; не ради а знам да је у [community]

Вероватно није омогућен [community] у `/etc/pacman.conf`. Само склоните коментаре са битних линија. Ако је [community] омогућен у `/etc/pacman.conf` пробајте да поркетнет `pacman -S -y` прво да би синхронизовали pkgcache.

### Foo у AUR-у је застарео; шта да радим?

За почетак, означите пакет као застарео. Ако остане у том стању одређени период времена, најбоља ствар је послати мејл кориснику који одржава тај пакет. Ако нема одговора од корисника, пошаљите мејл на aur-general мејлинг листу да би поуздани корисници означили PKGBUILD као сироче ако сте Ви заинтересовани за његово одржавање.

### Имам PKGBUILD и желео бих да га поднесем; може ли неко да провери има ли грешака?

Ако желите да Ваш PKGBUILD критикују, пошаљите поруку на aur-general мејлинг листу да би добили подршку од поузданих корисника и AUR корисника. Такође можете потражити помоћ на IRC channel, #archlinux on irc.freenode.net. Такође можете да користите namcap да проверите Ваш PKGBUILD и грешке у пакету.

### Foo у AUR-у се не компајлира кад покренем команду `makepkg`; Шта да радим?

Сигурно вам недостаје нешто тривијално.

1. Покрените `pacman -Syyu` пре компајлирања било чега са `makepkg` пошто проблем може да буде то што вам систем није ажуриран.
2. Уверите се да имате и "base" и "base-devel" групе инсталиране.
3. Пробајте да користите "`-s`" опцију са `makepkg` да проверите и инсталирате зависности пре процеса изградње.

Разлог и не мора бити тривијалан. CFLAGS, LDFLAGS и MAKEFLAGS могу да изазову неуспех. Такође је могуће да је PKGBUILD оштећен. Ако не можете то сами да решите, пријавите то кориснику који одржава пакет.

### Како могу да убрзам процес изградње?

Ако често компајлирате код који користи gcc - нпр., git или SVN пакете - можете да нађете ccache, скраћеницу за "compiler cache", као корисну.

### Како да приступим неподржаним пакетима?

Погледајте #Инсталирање пакета

### Како да пошаљем пакет на AUR без коришћења веб интерфејса?

Можете користити aurploader или burp[broken link: archived in aur-mirror] -- оба из интерфејса командне линије.

## Ресурси

- AUR Web Interface
- AUR Mailing List

Categories:

- Arch User Repository (Српски)
- About Arch (Српски)
- Package development (Српски)
- Package management (Српски)
- Arch development (Српски)

Hidden category:

- Pages with broken package links