Difference between revisions of "Arch User Repository (Українська)"

From ArchWiki
Jump to: navigation, search
(wikify some external links, use https for archlinux.org)
Line 4: Line 4:
 
[[Category:Package management (Українська)]]
 
[[Category:Package management (Українська)]]
 
[[Category:Arch development (Українська)]]
 
[[Category:Arch development (Українська)]]
 +
[[ar:Arch User Repository]]
 
[[cs:Arch User Repository]]
 
[[cs:Arch User Repository]]
 
[[da:Arch User Repository]]
 
[[da:Arch User Repository]]

Revision as of 14:01, 12 June 2013

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary heading Template:Article summary link Template:Article summary link Template:Article summary end

Tango-preferences-desktop-locale.pngThis article or section needs to be translated.Tango-preferences-desktop-locale.png

Notes: please use the first argument of the template to provide more detailed indications. (Discuss in Talk:Arch User Repository (Українська)#)

Arch User Repository (AUR) — це сховище пакунків, кероване спільнотою Arch. Воно містить описи пакунків (так звані PKGBUILD), що полегшують зібрання пакета з джерела (makepkg) та його встановлення (pacman). Метою AUR є організація й розповсюдження нових пакунків, створених користувачами, а також надання доступу до популярних пакунків через сховища [community]. Ця стаття пояснює, як використовувати AUR.

Чимало пакунків, що отримують місце в офіційних сховищах, створюються в AUR. Завдяки AUR користувачі можуть внести свій вклад у розвиток пакунку за рахунок супроводу PKGBUILD й пов’язаних файлів. Спільнота AUR має можливість проголосувати за пакунок у цьому сховищі чи проти нього; пакунок, за який проголосувало достатньо користувачів, потрапляє до сховища [community], що доступний прямо через pacman чи abs.

З чого почати

Знайти і звантажити PKGBUILD можна через веб-інтерфейс AUR. PKGBUILD слід зібрати в пакунок (за допомогою makepkg), який потім встановлюється за допомогою pacman.

  • Встановіть base-devel (pacman -S base-devel). Члени цієї групи не вказані в PKGBUILD; очікується, що вони вже встановлені, без них чимало пакунків із AUR зібрати не вдасться.
  • Далі в цій статті подана детальніша інформація зі встановлення пакунків із AUR.
  • Час від часу відвідуйте веб-інтерфейс AUR і оновлюйте необхідні пакунки. За цією адресою також надано статистику й список свіжих оновлень пакунків.
  • #FAQ відповідає на найпоширеніші питання.
  • Оптимізуйте /etc/makepkg.conf відповідно до можливостей процесора. Помітне пришвидшення компіляції пакунків на багатоядерних процесорах унаслідок модифікації змінної MAKEFLAGS. За специфічні відносно обладнання оптимізації GCC відповідає змінна CFLAGS. Детальніше про це розповідається в makepkg.conf.

Історія

Наступні дані подано тільки задля історичної цінності. Їм на зміну прийшов AUR і зараз до них доступу вже немає.

Спочатку було ftp://ftp.archlinux.org/incoming, куди бажаючі могли вивантажити свій PKGBUILD, потрібні супровідні файли і створений пакунок на сервер. Пакунок і відповідні файли залишалися там, поки Управляючий пакунками не побачить його і займеться ним.

Пізніше народилася ідея Сховища Довірених Користувачів. Певним користувачам спільноти дозволено розміщувати свої сховища і давати іншим можливість користатися ними. На цьому розбудувався AUR, для більшої доступності і гнучкості. Фактично розробники пакунків з AUR можуть подавати на отримання звання TUs (Довірені Користувачі).

Пошук

Веб-інтерфейс AUR знаходиться тут. Опис інтерфейсу для використання AUR зі скрипта знаходиться тут.

За запитом надаються імена й описи пакунків через порівняння MySQL LIKE. Це дозволяє здійснювати ширший пошук (наприклад, спробуйте 'tool%like%grep' замість 'tool like grep'). Опис, що містить '%', слід шукати з '\%' у цьому місці.

Встановлення пакунків

Встановлення пакунків з AUR є відносно простим процесом. Фактично:

  1. Отримати tar-архів, що містить PKGBUILD та інші потрібні файли
  2. Розпакувати архів (бажано в теку, що призначена суто для створення пакунків з AUR)
  3. Запустити makepkg в теці, де збережені файли (запуск "makepkg -s" автоматично встановить залежності за допомогою pacman)
  4. Встановити вихідний файл пакунку за допомогою pacman:
# pacman -U /шлях/до/пакунку.tar.xz

AUR-помічники дають простий доступ до AUR. Вони відрізняються своїми функціями, але в основному вони можуть шукати, отримувати, створювати та встановлювати з PKGBUILD-ів, знайдених в AUR. Всі ці скрипти теж можна знайти в AUR.

Note: Немає і ніколи не було офіційного способу встановлення пакунків з AUR. Всі користувачі повинні ознайомитися з процесом створення.

Нижче подано конкретний приклад встановлення пакунку з назвою "foo".

Підготовка

Спочатку впевніться, чи встановлені всі необхідні пакунки. Групи пакунків "base-devel" повинно вистачити; вона містить make та інші утиліти для компіляції з джерельних файлів.

Warning: Для пакунків з AUR вважається, що група "base-devel" вже встановлена, і не міститься в списку залежностей, навіть якщо пакунок не вдасться зібрати без неї. Тому впевніться, що ця група пакунків встановлена пере тим як нарікати, що пакунок не збирається.
# pacman -S base-devel

Далі виберіть відповідну теку для збирання пакунку. Тека для збирання - це просто тека, де пакунок буде створений або "зібраний" і це може бути будь-яка тека. Прикладом загальновживаних тек є:

~/builds

або, якщо ви використовуєте ABS (Система Збирання Арча):

/var/abs/local

Щоб отримати більше інформації про ABS прочитайте статтю Система Збирання Арча. У прикладі використовується тека ~/builds як тека для збирання.

Отримання файлів для збирання

Спочатку знайдіть пакунок в AUR. Це можна зробити за допомогою пошуку на Домашній сторінці AUR. Натискання на назві програми в списку переносить до сторінки з інформацією про пакунок. Прочитайте опис, щоб знати точно, чи цей пакунок вам потрібно, перевірте коли пакунок був оновлений, і прочитайте коментарі.

Завантажте потрібні файли для збирання. На сторінці інформації про пакунок натисніть на посилання "Архів" в лівому нижньому кутку в кінці опису пакунка. Цей файл потрібно зберегти в теці збирання, або скопіювати в цю теку після звантаження. В цьому прикладі цей файл названо "foo.tar.gz" (стандартний формат це назва_пакунка.tar.gz).

Збирання пакунка

Розпакуйте завантажений файл архіву. Для цього змініть теку на теку збирання, якщо ви ще не в ній, та розпакуйте файли для збирання до неї.

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

Ця операція повинна створити нову теку з назвою "foo" в теці збирання.

Warning: Уважно перевірте всі файли. cd до щойно створеної теки і уважно перевірте файл PKGBUILD та решту файлів .install на предмет небажаних команд. Файли PKGBUILDів - це bash-скрипти, що містять функції, які запускаються через makepkg: ці функції можуть містити будь-які команди або синтаксис bash’у, тому цілком правдоподібно PKGBUILD може містити небезпечні команди по злобі або невігластву з боку автора. Оскільки makepkg використовує fakeroot (і ніколи не повинен запускатися з правами суперкористувача), тому є певний рівень захисту, однак ви не повинні ніколи на це розраховувати. Якщо ви сумніваєтесь, не збирайте цей пакунок та шукайте допомоги на форумах або списку розсилки.
$ cd foo
$ nano PKGBUILD
$ nano foo.install

Створення пакунка. Після того як ви вручну перевірили цілісність файлів, запустіть makepkg як звичайний користувач в теці збирання.

$ makepkg -s

Перемикач -s використовує sudo для встановлення всіх потрібних залежностей. Якщо ви не бажаєте використовувати sudo, тоді вручну встановіть всі необхідні пакунки-залежності перед збиранням і запускайте тоді команду вище вже без перемикача -s.

Встановлення пакунка

Встановіть пакунок за допомогою pacman. Створений файл пакунка повинен мати таку назву:

<назва програми>-<номер версії програми>-<номер перегляду пакунка>-<архітектура>.pkg.tar.xz

Цей пакунок можна встановити за допомогою команди pacman'а "upgrade" (оновити):

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

Ці вручну встановлені пакунки називаються сторонніми пакунками - пакунками, що не походять з жоного сховища, які використовує pacman. Для отримання списку сторонніх пакунків запустіть команду:

$ pacman -Qm 
Note: Наведений вище приклад є тільки коротким підсумком процесу створення пакунка. Завітайте на сторінки makepkg та ABS, де міститься більш детальніша інформація, і які рекомендуються для перегляду всім (особливо для новачків.

Зворотній зв’язок

На Веб-сторінці AUR для користувачів існує можливіть залишати коментарі та відгуки щодо покращення пакунка для власника PKGBUILD’а. Уникайте вставляти патчі або PKGBUILD’и в коментарях: вони швидко стають застарілими та тільки забирають багато місця. Замість цього відсилайте ці файли електронною поштою до власника пакунка, або ж використайте pastebin.

Найпростішим способом виразити своє ставлення до пакунка для всіх користувачів Arch’а є відкрити веб-сторінку AUR і проголосувати за улюблені пакунки. Всі пакунки можуть бути адаптованими TU-користувачами для включення їх в сховище [community], тому кількість голосів, відданих за пакунок, може стати вагомим аргументом в цьому процесі; тому в інтересах кожного проголосувати!

Обмін пакунками

Користувачі є найбільш цінними для AUR, яке б не реалізувало свій потенціал без їхньої підтримки, ангажованості і внеску. Тривалість життя AUR-пакунку напряму залежить від користувача. Користувач може поділитися своїм пакунком наступним чином.

Користувачі можуть поділитися своїм PKGBUILD’ом використовуючи Сховище Пакунків Користувачів Arch’а (AUR). Сховище не містить жодного бінарного пакунка, але дозволяє користувачам вивантажувати PKGBUILD’и, які, в свою чергу, інші користувачі можуть завантажити. Ці PKGBUILD’и неофіційні і не були повністю перевірені, тому їх використовують на свій власний страх та ризик.

Надсилання пакунків

Після логування на веб-сторінці AUR користувач може вислати архівовану (.tar.gz) теку, що містить файли пакунка. Тека всередині архіву повинна містити PKGBUILD, файли .install, поправки, етс. (без жодних бінарних файлів). Приклад такої теки можна побачити, заглянувши в теку /var/abs, якщо встановлена Система Збирання Arch'а.

Архів можна створити за допомогою команди:

$ makepkg --source 

Зауважте, що це є архів tar і gz; наприклад, якщо ви надсилаєте пакунок з назвою libfoo, після створення архіву він повинен мати подібний вигляд:

# Список вмісту архіву.
$ tar tf libfoo-0.1-1.src.tar.gz
libfoo/
libfoo/PKGBUILD
libfoo/libfoo.install

Готуючи пакунок для AUR, дотримуйтесь наступних правил:

  • Перевірте базу пакунків щодо подібних пакунків. Якщо пакунок вже існує, не надсилайте пакунка. Якщо поточний пакунок застарілий або не має потрібних можливостей, тоді повідомте про ваду.
  • Перевірте AUR на наявність подібного пакунка. Якщо пакунок вже підтримується, зміни можна надіслати як коментар для власника. Якщо ж не підтримується, тоді пакунок можна привласнити і оновлювати. Не створюйте дублікатів пакунка.
  • Уважно перевірте файл для надсилання. Усі, хто надсилає пакунки, повинні прочитати та дотримуватися Стандартів Збирання Arch'а. Це необхідно для нормального функціонування і загального успіху AUR. Пам’ятайте, що Ви не заробите бонусів та повагу інших користувачів, що витратять час з поганим PKGBUILD’ом.
  • Пакунки, що містять бінарні файли або погано написані, можуть бути видалені без попередження.
  • Якщо ви не впевнені щодо пакунка (або процесом збирання/надсилання), надішліть PKGBUILD до Списку Розсилки AUR або до дошки повідомлень AUR на форумі для публічної рецензії перед надсиланням пакунка до AUR.
  • Впевніться, що пакунок дійсно потрібний. Чи ще хто-небуть буде використовувати цей пакунок? Якщо більше ніж кілька людей визнають, що пакунок потрібний, тоді його вартує надіслати до AUR.
  • Отримайте трохи досвіду перед надсиланням пакунка. Зберіть кілька пакунків, щоб вивчити сам процес збирання, і тільки тоді надсилайте.
  • Якщо ви надсилаєте package.tar.gz з файлом з назвою 'package', ви отримаєте помилку : 'Не можу змінити теку /home/aur/unsupported/package/package'. Щоб це вирішити, перейменуйте 'package' на щось інше, наприклад, 'package.rc'. Тоді встановиться в теку pkg яку можете перейменувати назад на 'package'.

Обов’язково прочитайте Стандарти Збирання Arch'а#Надсилання пакунків в Aur.

Підтримка пакунків

  • Якщо ви підтримуєте якийсь пакунок і бажаєте оновити PKGBUILD для вашого пакунка, тоді просто надішліть його ще раз.
  • Перевірте відгуки та коментарі від інших користувачів і намагайтесь врахувати запропоновані поправки; вважайте це процесом навчання!
  • Не забувайте про пакунки, що ви надіслали! Підтримувати пакунок - це робота власника, підтримувати та оновлювати PKGBUILD.
  • Якщо ви не бажаєте продовжувати підтримувати пакунок з певних причин, зречіться пакунка, використовуючи веб-інтерфейс AUR, та/або надсилаючи повідомлення до Списку Розсилки AUR.

Інші запити

  • Запит про зречення пакунка та запит на видалення треба спрямовувати до списку розсилки aur-general до TU та до інших користувачів, як вирішують проблему.
  • Додайте назву пакунка та посилання на сторінку AUR пакунка, бажано з виноскою [1].
  • Запит на зречення пакунку буде втілений два тижні після того, як поточний власник пакунку не відповів на електронного листа.
  • Злиття пакунків зреалізовано, користувачі все ще повинні надіслати пакунок з новою назвою і можливо коментарі зі старої версії і голосування в списку розсилки
  • Запит на вилучення вимагає наступної інформації:
    • Назва пакунка та посилання на сторінку AUR пакунка
    • Причина вилучення, хочаб кілька слів
      Примітка: Коментарі до пакунка не завжди дають розуміння причини видалення. Тому як тільки TU зреагує, єдиним місцем, де можна буде отримати інформацію про причини вилучення, буде тільки список розсилки aur-general.
    • Додайте додаткові деталі, наприклад, що даний пакунок вже реалізований іншим пакунком, якщо ви самі є власником цього пакунка, він перейменований і інший власник погоджується, етс.

Запит на вилучення може бути відхилений, в такому випадку вам запропонують зректися пакунка, щоб хтось інший став його власником.

Сховище [community]

Сховище [community], яке підтримується Довіреними Користувачами, містить найбільш популярні пакунки з AUR. Це сховище підключене по замовчуванню /etc/pacman.conf. Якщо [community] не підключене або вилучене, тоді його можна включити, відкоментовуючи або додаючи ці дві стрічки:

/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, і яке теж містить історію пакунків. Сховище оновлюється як мінімум раз в день. Щоб отримати копію сховища (кілька сотень MБ):

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

Веб-інтерфейс, Читай_мене, Гілка форуму

FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ