|
|
Строка 44: |
Строка 44: |
| :; [[git.alt]]: хостинг git-репозиториев для хранения исходного кода пакетов Сизифа | | :; [[git.alt]]: хостинг git-репозиториев для хранения исходного кода пакетов Сизифа |
| :; [[gear]]: инструмент для хранения исходного кода пакетов в git-репозиториях | | :; [[gear]]: инструмент для хранения исходного кода пакетов в git-репозиториях |
|
| |
| == Работа с ключами ==
| |
|
| |
| При приеме участник предоставляет два криптографических ключа, по которым он идентифицируется в дальнейшем. '''Берегите свои приватные ключи!'''
| |
|
| |
| При утере одного из ключей участник может заменить его, заверив вторым. При утрате обоих ключей участник обязан незамедлительно известить об этом принимающих. Его доступ в incoming прекращается до восстановления ключей.
| |
|
| |
| Два ключа могут быть восстановлены либо посредством личной встречи с одним из принимающих, либо посылкой их письмом, заверенным ключом одного из участников ALT Linux Team. В последнем случае всю ответственность за дальнейшую безопасность репозитория несет участник, заверивший ключи.
| |
|
| |
| === Создание SSH-ключа ===
| |
|
| |
| Если у вас нет SSH-ключа, то создать его можно следующей командой:
| |
| $ ssh-keygen
| |
|
| |
| Ключ настоятельно рекомендуется сделать с паролем. Для упрощения работы с ключами с паролями можно воспользоваться SSH-агентом.
| |
|
| |
| Публичная часть ключа — файл <tt>~/.ssh/id_rsa.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
| |
|
| |
|
| |
| -->
| |
У каждого пакета в Sisyphus есть один или несколько мантейнеров — это те участники ALT Linux Team, которые собирают новые версии пакета, следят за ошибками, которые заводят пользователи в багтракере и общаются с upstream-разработчиками программы.
Этот документ предназначен в помощь тем, кто решил присоединиться к команде ALT Linux Team, то есть стать мантейнером одного или нескольких пакетов со свободным программным обеспечением.
Обязанности майнтайнера
- Следить за современностью и актуальностью поддерживаемых им пакетов,
- Незамедлительно исправлять ошибки, связанные с безопасностью по первому запросу из ALT Security Team,
- По мере возможности исправлять ошибки, связанные с некорректным функционированием программ,
- По мере возможности участвовать в списках рассылки ALT Linux Team
Общение с разработчиками софта, входящего в пакет, крайне желательно, но не обязательно.
Участие в разработке софта, входящего в пакет, желательно (это дает возможность иметь в дистрибутиве самую свежую, но при этом рабочую версию софта, а также повышает оперативность исправления ошибок), но не обязательно.
Прием новых участников в ALT Linux Team
Если вы считаете, что какого-то пакета в Сизифе не хватает, или что какой-то пакет заслуживает большего внимания и готовы заняться им — значит, настало время присоединиться к команде ALT Linux Team.
Первым делом нужно уведомить команду о своём желании, написав письмо на адрес join@altlinux.org. Такие письма читают специальные члены команды — принимающие.
В этом письме нужно написать несколько слов о том, чем вы намерены заняться в ALT Linux Team («собрать для начала такой-то пакет, а потом, если получится, ещё пакеты из такой-то области», «просто помочь со сборкой чего-нибудь», «научиться собирать пакеты» и т. п.).
Помимо намерений, принимающему для включения вас в команду разработчиков нужна ещё следующая информация:
- псевдоним (имя пользователя) участника. Выбирается им самим, если ещё не принадлежит существующему участнику. Его длина должна быть по возможности минимальной и он не должен содержать цифры.
- адрес почты, на который будет производиться пересылка с адреса псевдоним@altlinux.org.
- SSH-ключ (RSA 2048bit или DSA 1024bit). Принимающему нужна публичная часть ключа. Этот ключ будет использоваться для SSH-доступа на ресурсы Sisyphus (incoming, git.alt и другие).
- GPG-ключ (DSA и ElGamal 1024bit). В ключе должен быть uid вида псевдоним@altlinux.org. Принимающему нужна публичная часть ключа. Этот ключ будет использоваться для подписи пакетов и для удостоверения личности в почте.
После получения необходимой информации принимающий вышлет небольшое тестовое задание и при успешном его выполнении выдаст доступ в incoming и git.alt.
На первый период принимающий назначает одного из существующих мантейнеров в помощь новому участнику.
Ресурсы для начинающего майнтенера
- Sisyphus
- раздел ALT Linux Wiki, содержащий большое количество информации о различных аспектах Сизифа, в частности:
- policy
- нормативные документы разработки (в процессе формирования)
- hasher
- инструмент для сборки пакетов
- sisyphus_check
- инструмент для проверки пакетов на соответствие правилам Сизифа
- Incoming
- ресурс для отправки пакетов в Сизиф и для управления правами на отправку пакетов
- git.alt
- хостинг git-репозиториев для хранения исходного кода пакетов Сизифа
- gear
- инструмент для хранения исходного кода пакетов в git-репозиториях