Difference between revisions of "AUR User Guidelines (Русский)"

From ArchWiki
Jump to: navigation, search
([community])
m (rm all traces of [unstable] (and other cruft))
Line 87: Line 87:
  
 
Пользователи также могут получить доступ к файлам для сборки [community] путём редактирования файла <code>/etc/abs.conf</code> как показано ниже:
 
Пользователи также могут получить доступ к файлам для сборки [community] путём редактирования файла <code>/etc/abs.conf</code> как показано ниже:
<pre>SUPFILES=(arch extra !unstable community)</pre>
+
<pre>REPOS=(core extra community)</pre>
  
 
===Голосование===
 
===Голосование===

Revision as of 17:25, 14 December 2008

Template:Article summary start Template:Article summary text Template:Article summary heading Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end

Назначение

Репозиторий пользовательских пакетов (AUR) — это репозиторий, поддерживаемый сообществом пользователей Arch Linux. Эта страница поможет понять, как обычный пользователь может получить доступ к AUR и работать с ним.

Как пользоваться AUR

Использование пакетов из UNSUPPORTED

Для установки пакета из UNSUPPORTED вы должны выполнить следующие шаги:

  • Убедитесь, что у вас установлены инструменты для сборки пакетов. Достаточно установить мета-пакет base-devel:
 pacman -Sy base-devel
  • Выберите подходящую директорию для сборки. Обычно это либо
 ~/build

либо (при использовании ABS)

 /var/abs/local
  • Найдите пакет в AUR, используя возможность поиска (для примера мы будем использовать имя пакета foo) и нажмите на имя нужного пакета в результатах поиска. Это приведёт вас на страницу с информацией об этом пакете. Убедитесь, что это то, что вам нужно (а также прочтите недавние комментарии — это может помочь понять, насколько хорошо пакет поддерживается и есть ли с ним проблемы). Также вы найдёте там две ссылки: Архив и Файлы
  • Нажмите на Архив для сохранения файлов сборки на ваш диск. Файл будет иметь название foo.tar.gz, если он был правильно размещён автором.
  • Скопируйте foo.tar.gz в директорию, где вы будете выполнять сборку, и распакуйте его там:
 tar -xvvzf foo.tar.gz

Это создаст новую директорию, /var/abs/local/foo или ~/builds/foo, которая будет содержать все файлы, необходимые для сборки пакета.

  • ВАЖНО: Зайдите в этот каталог и внимательно проверьте файлы PKGBUILD и *.install на содержание вредоносных команд типа rm -rf /. Если у вас появились какие-то сомнения, не собирайте этот пакет и поищите совета на форуме или в списке рассылки.
  • Предполагается использование fakeroot для сборки пакета (см. следующий раздел), проверив файлы просто напишите команду
 makepkg 

как обычный пользователь в директории сборки. Исходные файлы будут скачаны, проверены и собраны в бинарный пакет.

Примечание: если у вас по какой-либо причине отсутствует fakeroot, то для вы можете обойтись sudo. Для этого запускайте

 makepkg -s # а не просто makepkg
  • makepkg должен создать пакет с названием вида <имя программы>-<версия программы>-<номер сборки>-<архитектура>.pkg.tar.gz, который может быть установлен при помощи pacman:
 pacman -U foo-1.0-2-i686.pkg.tar.gz

Замечание: все приведённое здесь — это краткое описание процесса сборки пакета. Прочтение страницы ABS для получения более подробной информации очень рекомендуется, особенно начинающим сборщикам пакетов.

Использование fakeroot

fakeroot просто позволяет обычному пользователю выполнить сборку пакета, требующую привилегий суперпользователя в изолированном окружении без возможности изменить внешние файлы. Если какой-то процесс пытается изменить данные вне этого окружения, выдаётся сообщение об ошибке и сборка останавливается — это очень удобно для проверки качества/безопасности/совместимости PKGBUILD'а по отношению к дистрибутиву. По умолчанию export USE_FAKEROOT="y" прописано в /etc/makepkg.conf, поэтому, если вы сами ничего не меняли, у вас это тоже прописано и включено.

Выкладывание пакетов в UNSUPPORTED

После регистрации и входа в веб-интерфейс AUR, пользователь может присылать свои пакеты в виде тарболов (имя_пакета.tar.gz) который содержит директорию с файлом PKGBUILD и возможно другими файлами для сборки пакета. Директория ДОЛЖНА содержать файл PKGBUILD, МОЖЕТ содержать install-скрипт, патчи и т.д., НО она НЕ ДОЛЖНА содержать никаких бинарных файлов. Примеры пакетов могут быть найдены в /var/abs, и в частности /var/abs/PKGBUILD.proto и /var/abs/install.proto.

Когда присылаете пакеты, придерживайтесь следующих правил:

  • Проверьте [current], [extra], [community] и UNSUPPORTED - возможно такой пакет уже есть. В этом случае не присылайте дублирующие друг друга пакеты. (если существующий пакет не работает или имеет ошибки, сообщите разработчикам через систему FlySpray или с помощью комментария в AUR).
  • Тщательно проверьте, что то, что вы присылаете корректно. Все, кто присылают пакеты, должны прочитать Arch Packaging Standards перед написанием PKGBUILD. Это необходимо для успешной работы AUR. Помните, пользователи не будут благодарны вам за то, что они потратят своё время, разбираясь с вашим плохим PKGBUILD'ом.
  • Пакеты с бинарными файлами, дубликаты или очень плохо написанные могут быть удалены без предупреждения.
  • Если вы не уверены в своём пакете (или в процессе сборки/размещения), пошлите PKGBUILD в список рассылки AUR или в раздел AUR на форуме для публичного осмотра перед добавлением пакета в AUR.
  • Убедитесь, что пакет полезен. Захочет ли пользоваться вашим пакетом кто-то ещё? Или этот пакет очень специфичен для вашего окружения? Если вы думаете, что он пригодится нескольким людям, значит он подходит для AUR.
  • Наберитесь некоторого количества опыта перед созданием пакетов. Соберите несколько пакетов для пробы и затем присылайте свои.

Поддержка пакетов в UNSUPPORTED

  • Читайте отзывы и комментарии других пользователей и прислушивайтесь к ним и пытайтесь включить предложения по улучшению вашего пакета, рассматривая это как процесс обучения!
  • Пожалуйста не забывайте о присланных пакетах! Пока они в UNSUPPORTED, задача пользователя поддерживать их, следя за обновлениями и комментариями, улучшая PKGBUILD.
  • Если вы не хотите продолжать поддерживать пакет по какой-то причине, бросьте его, используя веб-интерфейс AUR и послав сообщение в список рассылки AUR.

Пользователь и AUR

Обычный пользователь играет важную роль в AUR и без поддержки сообщества пользователей AUR не может реализовать свой потенциал. Жизненный цикл AUR-пакета начинается и заканчивается пользователем, от которого требуется внести свой вклад несколькими способами.

Поделитесь своими PKGBUILD'ами через UNSUPPORTED

Пользователь может поделиться PKGBUILD'ом используя часть AUR называемую UNSUPPORTED. UNSUPPORTED не содержит бинарных пакетов, но позволяет пользователям загружать PKGBUILD'ы которые могут быть скачаны другими. Возможность комментирования даёт авторам PKGBUILD получать отзывы и предложения. Система флажков безопасности введена для того, чтобы позволить доверенным пользователям помечать пакеты, которые точно не содержат вредоносный код. Тем не менее эти PKGBUILD'ы полностью неофициальны и должны быть использованы с осторожностью и на свой собственный риск.

Не существует официального механизма для загрузки материалов из UNSUPPORTED, но существует некоторое количество скриптов для упрощения работы с AUR, упоминания о которых могут быть найдены в конце этой страницы.

[community]

Репозиторий [community] - дополнение к [extra] и [core]. В нем расположены наиболее популярные пакеты из UNSUPPORTED, которые поддерживаются доверенными пользователями. [community], в отличии от UNSUPPORTED, содержит собранные бинарные пакеты, которые могут быть установлены непосредственно с помощью pacman, а файлы для сборки могут быть получены при помощи ABS (Система сборки Arch). Некоторые из этих пакетов в последствии могут быть перемещены в репозитории [current] или [extra], если разработчики захотят включить их в дистрибутив.

Пользователь может получить доступ к репозиторию AUR [community] добавлением/раскомментированием этой строки в файле pacman.conf:

Include = /etc/pacman.d/community

Если /etc/pacman.d/community не существует, он должен быть создан и заполнен следующим текстом:

[community]
Server = ftp://ftp.archlinux.org/community/os/i686/

Пользователи также могут получить доступ к файлам для сборки [community] путём редактирования файла /etc/abs.conf как показано ниже:

REPOS=(core extra community)

Голосование

Одно из самых простых проявлений активности всех пользователей Arch - это обзор пакетов в AUR и голосование за понравившиеся пакеты с помощью веб-интерфейса. Любой пакет может быть "усыновлён" доверенным пользователем (Trusted User - TU) для включения в [community], и количество голосов - один из решающих факторов для помещения в [community]. Так что вы должны быть заинтересованы в голосовании!

Отзывы и предложения

Пользователи могут оставлять комментарии о пакете (на странице информации о пакете) или помечать пакет как устаревший (на странице поиска пакетов).

Если вы устанавливаете флажок "Устарел", не поленитесь написать комментарий с номером новой версии. Это позволит более быстро обновить пакет т.к. уведомления о добавленных комментариях приходят почтой и несколько облегчит задачу автору пакета.

AUR-DMS (скрипты управления и загрузки)

Список AUR-DMS

  1. aurbuild (Python, самый популярный)
  2. aur-sync (Perl) - для загрузки архивов из AUR
  3. aur-install (bash)
  4. aurup (bash) - для закачки архивов в AUR
  5. aurscripts (bash):
    1. aurcreate - создаёт "чистые" пакеты, готовые к загрузке в AUR
    2. aurdownload - скачивает и распаковывает пакет из AUR
    3. aurupdate - обновляет версию пакета и md5sums
  6. autoaur (bash, зависит от aurscripts, автоматически обновит все пакеты установленные из AUR)
  7. yaourt (bash, обёртка для srcpac с поддержкой AUR и не только)
  8. qpkg (Python, работает также с пакетами не из AUR, *поддержка прекращена*)

Все эти пакеты могут быть найдены в UNSUPPORTED.