|
|
(не показано 29 промежуточных версий 6 участников) |
Строка 1: |
Строка 1: |
| [[Категория:Sisyphus]]
| | У каждого пакета в [[Sisyphus]] есть один или несколько мейнтейнеров — это те участники ALT Linux Team, которые собирают новые версии пакета, следят за ошибками, которые заводят пользователи в багтрекере и общаются с upstream-разработчиками программы. |
| [[Категория:Руководства]]
| | |
| У каждого пакета в [[Sisyphus]] есть один или несколько мантейнеров — это те участники ALT Linux Team, которые собирают новые версии пакета, следят за ошибками, которые заводят пользователи в багтракере и общаются с upstream-разработчиками программы. | | Этот документ предназначен в помощь тем, кто решил присоединиться к команде ALT Linux Team, то есть стать мейнтейнером одного или нескольких пакетов со свободным программным обеспечением. |
|
| |
|
| Этот документ предназначен в помощь тем, кто решил присоединиться к команде ALT Linux Team, то есть стать мантейнером одного или нескольких пакетов со свободным программным обеспечением.
| | Непосредственно процедура принятия в Team описана в документе «[[Процедура принятия в Team]]». |
|
| |
|
| == Обязанности майнтайнера == | | == Обязанности мейнтейнера == |
|
| |
|
| * Следить за современностью и актуальностью поддерживаемых им пакетов, | | * Следить за современностью и актуальностью поддерживаемых им пакетов, |
Строка 16: |
Строка 16: |
| Участие в разработке софта, входящего в пакет, желательно (это дает возможность иметь в дистрибутиве самую свежую, но при этом рабочую версию софта, а также повышает оперативность исправления ошибок), но не обязательно. | | Участие в разработке софта, входящего в пакет, желательно (это дает возможность иметь в дистрибутиве самую свежую, но при этом рабочую версию софта, а также повышает оперативность исправления ошибок), но не обязательно. |
|
| |
|
| == Прием новых участников в ALT Linux Team == | | == Ресурсы для начинающего мейнтейнера == |
|
| |
|
| Если вы считаете, что какого-то пакета в Сизифе не хватает, или что какой-то пакет заслуживает большего внимания и готовы заняться им — значит, настало время присоединиться к команде ALT Linux Team.
| | ; [[Sisyphus]]: раздел ALT Linux Wiki, содержащий большое количество информации о различных аспектах Сизифа, в частности: |
| | :; [[Работа с ключами разработчика]]: ключи идентифицируют разработчика. Прочтите внимательно! |
| | :; [[:Категория:Нормативные документы]]: нормативные документы разработки (в процессе формирования) |
| | :; [[Join/Environment]]: быстрая настройка окружения для сборки пакетов |
| | :; [[Spec]], [[SpecTips]], [[TypicalPackagingErrors]]: информация о том, как собираются пакеты (в процессе упорядочения) |
| | :; [[hasher]]: инструмент для сборки пакетов |
| | :; [[sisyphus_check]]: инструмент для проверки пакетов на соответствие правилам Сизифа |
| | :; [[ACL]]: управление совместной работой над пакетами |
| | :; [[git.alt]]: хостинг git-репозиториев для хранения исходного кода пакетов Сизифа, интерфейс управления ACL, инструмент сборка пакетов в Sisyphus и бранчи |
| | :; [[gear]]: инструмент для хранения исходного кода пакетов в git-репозиториях |
| | ; [[Руководство по майнтяинам ALT Linux Team]] |
| | ; [[Новая надежда]] начинающего мейнтейнера |
| | ; [http://bugzilla.altlinux.org/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&list_id=10833&product=New%2Fproposed%20packages&query_format=advanced Список запросов новых пакетов в сизифе] |
|
| |
|
| Первым делом нужно уведомить команду о своём желании, написав письмо на адрес [mailto:join@altlinux.org join@altlinux.org]. Такие письма читают специальные члены команды — принимающие.
| | [[Категория:Sisyphus]] |
| | | [[Категория:Руководства]] |
| В этом письме нужно написать несколько слов о том, чем вы намерены заняться в ALT Linux Team («собрать для начала такой-то пакет, а потом, если получится, ещё пакеты из такой-то области», «просто помочь со сборкой чего-нибудь», «научиться собирать пакеты» и т. п.).
| | {{Category navigation|title=Team|category=Team|sortkey=*}} |
| | |
| Помимо намерений, принимающему для включения вас в команду разработчиков нужна ещё следующая информация:
| |
| | |
| * псевдоним (имя пользователя) участника. Выбирается им самим, если ещё не принадлежит существующему участнику. Его длина должна быть по возможности минимальной и он не должен содержать цифры.
| |
| * адрес почты, на который будет производиться пересылка с адреса <tt>псевдоним@altlinux.org</tt>.
| |
| * SSH-ключ (RSA 2048bit или DSA 1024bit). Принимающему нужна публичная часть ключа. Этот ключ будет использоваться для SSH-доступа на ресурсы Sisyphus ([[incoming]], [[git.alt]] и другие).
| |
| * GPG-ключ (DSA и ElGamal 1024bit). В ключе должен быть uid вида <tt>псевдоним@altlinux.org</tt>. Принимающему нужна публичная часть ключа. Этот ключ будет использоваться для подписи пакетов и для удостоверения личности в почте.
| |
| | |
| После получения необходимой информации принимающий вышлет небольшое тестовое задание и при успешном его выполнении выдаст доступ в [[incoming]] и [[git.alt]].
| |
| | |
| На первый период принимающий назначает одного из существующих мантейнеров в помощь новому участнику.
| |
| | |
| == Ресурсы для начинающего майнтенера ==
| |
| | |
| ; [[Sisyphus]]: раздел ALT Linux Wiki, содержащий большое количество информации о различных аспектах Сизифа
| |
| ; [[rpm]]: пакетный менеджер и набор инструментов
| |
| ; [[hasher]]: инструмент для сборки пакетов
| |
| ; [[Incoming]]: ресурс для отправки пакетов в Сизиф и для управления правами на отправку пакетов
| |
| ; [[git.alt]]: хостинг git-репозиториев для хранения исходного кода пакетов Сизифа
| |
| ; [[gear]]: инструмент для хранения исходного кода пакетов в git-репозиториях
| |
| | |
| == Работа с ключами == | |
| | |
| При приеме участник предоставляет два криптографических ключа, по которым он идентифицируется в дальнейшем. '''Берегите свои приватные ключи!'''
| |
| | |
| При утере одного из ключей участник может заменить его, заверив вторым. При утрате обоих ключей участник обязан незамедлительно известить об этом принимающих. Его доступ в incoming прекращается до восстановления ключей.
| |
| | |
| Два ключа могут быть восстановлены либо посредством личной встречи с одним из принимающих, либо посылкой их письмом, заверенным ключом одного из участников ALT Linux Team. В последнем случае всю ответственность за дальнейшую безопасность репозитория несет участник, заверивший ключи.
| |
| | |
| === Создание SSH-ключа === | |
| | |
| Если у вас нет SSH-ключа, то создать его можно следующей командой:
| |
| $ ssh-keygen
| |
| | |
| Ключ настоятельно рекомендуется сделать с паролем. Для упрощения работы с ключами с паролями можно воспользоваться SSH-агентом.
| |
| | |
| Публичная часть ключа — файл <tt>~/.ssh/id_dsa.pub</tt>.
| |
| | |
| === Создание GPG-ключа ===
| |
| | |
| Создать новый GPG-ключ можно командой
| |
| $ gpg --gen-key
| |
| В процессе ответа на вопросы выберите тип ключа - DSA и ElGamal (можно выбрать только DSA, но тогда этот ключ будет непригоден для шифрования), размер - 1024bit. В качестве email укажите <tt>псевдоним@altlinux.org</tt>.
| |
| | |
| === Модификация существующего GPG-ключа ===
| |
| | |
| Проверьте, что тип ключа - DSA и ElGamal, размер 1024bit. Добавьте идентификатор в ключ с помощью команд
| |
| $ gpg --edit-key <key id>
| |
| Command> adduid
| |
| Укажите своё имя и email вида <tt>псевдоним@altlinux.org</tt>, после чего сохраните изменения
| |
| Command> save
| |
| И экспортируйте публичную часть ключа для отправки:
| |
| $ gpg --armor --export псевдоним@altlinux.org
| |
| | |
| <!--
| |
| Вот несколько причин, по которым пакету может быть отказано в доступе в репозиторий (более подробные сведения находятся в ALT-Packaging-HOWTO):
| |
| | |
| Несоответствие требованиям репозитория (см. выше);
| |
| | |
| Пакет не подписан GPG-ключом мантейнера;
| |
| | |
| В пакете недопустимые %post, %preun, %pre скрипты. Например:
| |
| | |
| нельзя изменять на этапе установки/удаления какие-либо системные файлы;
| |
| | |
| не допускается доустанавливать дополнительные программы, производить их перемещения из одного места в другое;
| |
| | |
| | |
| Недопустимые права на файлы (немотивированный SUID/SGID, World-writeable файлы);
| |
| | |
| Ложные или недопустимые зависимости пакета (Requires);
| |
| | |
| Ложные или недопустимые зависимости сборки (BuildReqs);
| |
| | |
| Полное несоответствие spec-файла требованиям ALT Linux Team (более подробно в ALT-Packaging-HOWTO). Например, использование BuildRoot, %clean, defattr(-,-,root);
| |
| | |
| Избыточная информация в версии пакета (например, 1.2.3pre5) может повредить корректному обновлению (1.2.3 до 1.2.3pre5, несмотря на то, что 1.2.3 — это финальная версия). Переносите все дополнительные сведения в номер сборки (например, alt0.1.pre5);
| |
| | |
| Необоснованное увеличение Serial. Увеличение следует производить только в случае необходимости отката по версии;
| |
| | |
| | |
| На самом деле правил и ограничений намного больше, самый надёжный способ всегда быть в курсе это использовать утилиту sisyphus_check из пакета sisyphus для проверки своих пакетов перед отправкой в incoming. Также рекомендуется использовать утилиту add_changelog из пакета rpm-utils для добавления changelog к пакету.
| |
| Примерное содержание файла .rpmmacros
| |
| | |
| Очень удобно и настоятельно рекомендуется создать в своем домашнем каталоге файл .rpmmacros. В нем вы можете определить такие параметры, как:
| |
| | |
| Месторасположение структуры каталогов для сборки;
| |
| | |
| Каким ключом подписывать пакеты;
| |
| | |
| Значение полей, таких, как Packager, Vendor и Distribution;
| |
| | |
| %vendor ALT Linux Team
| |
| %distribution ALT Linux
| |
| | |
| %_topdir /home/pupkin/RPM/
| |
| %_gpg_name pupkin@altlinux.org
| |
| %packager Vasja Pupkin <pupkin@altlinux.org>
| |
|
| |
| | |
| Типовая инструкция, высылаемая новому мантейнеру
| |
| | |
| Greetings!
| |
| | |
| Ваш account в incoming Sisyphus создан (название account’a in_xxx).
| |
| О том как им пользоваться, смотрите инструкции ниже. Также создан
| |
| forward c адреса xxx@altlinux.org на yyy@somehost.com
| |
| | |
| Вашим главным помощником будет zzz@altlinux.org (ZZZ ZZZZ) — если у Вас
| |
| возникнут какие-либо вопросы по изготовлению пакетов спрашивайте у
| |
| него.
| |
| | |
| ПРЕЖДЕ ЧЕМ ВЫ НАЧНЕТЕ ВЫКЛАДЫВАТЬ ПАКЕТЫ:
| |
| | |
| Надо пройти простенький тест. Это поможет Вам лучше освоиться с
| |
| технологией работы с incoming, избежать типичных ошибок при сборке
| |
| пакетов, с’экономить деньги на лишнем трафике. Итак, Задача:
| |
| | |
| Необходимо собрать пакет, удовлетворяющий следующим требованиям:
| |
| | |
| 1. xxxxxxxxxxxxx
| |
| 2. xxxxxxxxxxxxx
| |
| 3. xxxxxxxxxxxxx
| |
| 4. xxxxxxxxxxxxx
| |
| 5. xxxxxxxxxxxxx
| |
| | |
| После того как Вы успешно сделаете этот пакет, можете выкладывать то, что
| |
| хотите.
| |
| | |
| Инструкции:
| |
| | |
| Теперь можно добавить в ~/.ssh/config:
| |
| | |
| Host incoming
| |
| HostName devel.altlinux.org
| |
| User in_xxx
| |
| Protocol 2
| |
| ForwardX11 no
| |
| ForwardAgent no
| |
| Compression no
| |
| | |
| incoming — это специальная среда c rsync’ом, и ssh
| |
| используется прежде всего как транспорт для rsync.
| |
| | |
| В каталог /incoming заливаются новые пакеты, собранные
| |
| разработчиками, находящимися вне офиса.
| |
| | |
| Для закачки туда-сюда файлов лучше всего использовать rsync. Например,
| |
| для upload’а в incoming можно запускать нечто вроде
| |
| | |
| rsync -vaP --stats local_path/ incoming:/incoming/Sisyphus/
| |
| | |
| Если что-то непонятно либо не получается — спрашивайте.
| |
| | |
| Тест на работоспособность:
| |
| | |
| $ ssh incoming
| |
| -in_sh: invalid arguments
| |
| Connection to devel.altlinux.org closed.
| |
| | |
| $ rsync incoming:/incoming/
| |
| drwxr-x--x 4096 2007/10/30 17:28:31 .
| |
| drwxrws--T 4096 2008/01/29 15:12:44 Daedalus
| |
| drwxrwx--T 28672 2008/01/30 02:08:16 Sisyphus
| |
| drwxr-s--- 4096 2007/04/25 03:12:42 backports
| |
| drwxrws--- 4096 2007/09/18 16:41:24 docs
| |
| drwxrws--T 4096 2008/01/11 12:38:59 join
| |
| drwxr-x--x 4096 2006/06/10 22:09:37 notes
| |
| drwxr-s--- 4096 2007/04/25 03:05:35 updates
| |
| | |
| С наилучшими пожеланиями
| |
| GATE-KEEPER NAME
| |
| | |
| | |
| -->
| |