https://www.altlinux.org/api.php?action=feedcontributions&user=DmitryLevin&feedformat=atomALT Linux Wiki - Вклад [ru]2024-03-28T18:37:31ZВкладMediaWiki 1.38.2https://www.altlinux.org/index.php?title=Branches/5.0/progress&diff=7415Branches/5.0/progress2008-12-15T16:31:49Z<p>DmitryLevin: /* История выпуска */</p>
<hr />
<div>== Информация, интересная в процессе подготовки ветки 5.0 ==<br />
<br />
=== История выпуска ===<br />
[http://lists.altlinux.org/pipermail/devel/2008-October/161703.html Анонс в списке рассылки]<br />
{| class="standard"<br />
!colspan=2|Этап<br />
!Начало<br />
!Дней до<br />начала<br />
!Завершение<br />
!Дней до<br />завершения<br />
!Длительность<br />
!Комментарии<br />
|-<br />
|[[Branches/Release#Sync|Sync]]<br />
|плановый<br />
|align=right|21 октября<br />
|align=right|{{осталось дней|21|10|2008}}<br />
|align=right|16 ноября<br />
|align=right|{{осталось дней|16|11|2008}}<br />
|align=right|4 недели<br />
|[http://lists.altlinux.org/pipermail/devel/2008-January/069033.html объявление о новом тулчейне в списке рассылки]<br />
|-<br />
|[[Branches/Release#Freeze|Freeze]]<br />
|плановый<br />
|align=right|17 ноября<br />
|align=right|{{осталось дней|17|11|2008}}<br />
|align=right|14 декабря<br />
|align=right|{{осталось дней|14|12|2008}}<br />
|align=right|4 недели<br />
|<br />
|-<br />
|[[Branches/Release#Testing|Testing]]<br />
|плановый<br />
|align=right|15 декабря<br />
|align=right|{{осталось дней|15|12|2008}}<br />
|align=right|11 января<br />
|align=right|{{осталось дней|11|01|2009}}<br />
|align=right|4 недели<br />
|[http://lists.altlinux.org/pipermail/devel/2008-December/164672.html объявление о моменте создания бранча]<br />
|}<br />
<br />
=== Важные пакеты ===<br />
Для того, чтобы выпуск не затягивался навечно и тем не менее получился стабильным, необходимо очертить круг пакетов, которые непременно должны попасть в выпуск ''без'' серьёзных ошибок. Для развешивания и отслеживания ошибок у нас есть {{altbug}}:<br />
* [[BugTracking|Дисциплина оформления ошибок в ALT Linux Bugzilla]]<br />
* На многих пакетах висят открытые ошибки, которые на самом деле давно закрыты! Это сильно замусоривает журнал незакрытых ошибок.<br />
* На сегодняшний день в ALT Linux Team имеются героические персоны, сопровождающие по нескольку сотен пакетов. Очевидно, они если и пользуются этими пакетами, то уж точно не в состоянии их все разом протестировать, а также разобрать баги, накиданные благодарными пользователями. Значит, помимо сопровождающего (maintainer) стоит выделить ещё роли тестера (tester) и багоразбирателя (bug triager).<br />
<br />
=== Важные ошибки ===<br />
Создан аккумулятор ошибок «ALT Linux 5.0 bugs» {{altbug|17727|5.0 bugs}}. Просьба все ошибки, исправление которых должно, по вашему мнению, ''предшествовать'' выпуску 5.0, ставить в «depends on» к этой ошибке. Фичреквесты и «полезности» лучше вешать на {{altbug|17728|5.0 FR}}.<br />
<br />
{{Category navigation|title=Branches|category=Branches|sortkey=50/progress}}<br />
{{Category navigation|title=Версия 5.0|category=Версия 5.0}}<br />
{{Category navigation|title=Progress|category=Progress|sortkey=50/progress}}</div>DmitryLevinhttps://www.altlinux.org/index.php?title=CoreSystem/coreutils&diff=6961CoreSystem/coreutils2008-12-02T23:23:59Z<p>DmitryLevin: /* Планы */</p>
<hr />
<div>== Sisyphus Core — базовые библиотеки и утилиты ==<br />
<br />
<onlyinclude><br />
=== Планы ===<br />
<br />
* {{завершено|1|1}} обновление toolchain до {{pkg|gcc-4.3.x/glibc-2.8.90+/binutils-2.18.50.x}} ({{man|ldv}}, {{man|wart}})<br />
* {{завершено|1|1}} обновление {{pkg|autoconf}}/{{pkg|automake}} до свежих версий ({{man|ldv}}, {{man|rider}})<br />
* {{завершено|1|1}} обновление {{pkg|openssl}} до {{pkg|0.9.8h}} ({{man|sin}})<br />
* {{завершено|1|1}} возможность задавать лимиты для системных сервисов ({{man|ldv}}, {{man|legion}})<br />
* {{завершено|1|1}} обновление {{pkg|libcap}} до {{pkg|2.14+}} ({{man|ldv}})<br />
* {{завершено|211|218}} перевод всех использующих {{pkg|libssl}} пакетов на {{pkg|libssl7}} ({{man|sin}}, {{man|ldv}})<br />
* {{завершено|46|50}} перевод всех использующих {{pkg|libdb4}} пакетов на {{pkg|libdb4.7}} ({{man|ldv}})<br />
* {{завершено|0|0}} исправление сборки основной массы пакетов, пострадавшей после обновления toolchain ({{man|ldv}})<br />
* {{завершено|0|1}} внедрение в {{pkg|shadow-utils}} враппера для использования в %pre- и %post-скриптах ({{man|ldv}})<br />
* {{завершено|0|1}} обновление [http://pkg-shadow.alioth.debian.org shadow-utils] ({{man|ldv}})<br />
* {{завершено|0|1}} [?] обновление {{pkg|libpcap}} до {{pkg|1.0.0+}} ({{man|ldv}})<br />
* {{завершено|0|1}} [?] обновление {{pkg|libtool}} до {{pkg|2.2.x}} ({{man|ldv}}, {{man|rider}})<br />
</onlyinclude><br />
<br />
<br />
{{CoreSystem-nav}}</div>DmitryLevinhttps://www.altlinux.org/index.php?title=Contacts&diff=6825Contacts2008-11-30T22:10:54Z<p>DmitryLevin: /* Инфраструктура и сервисы */</p>
<hr />
<div>[[Категория:Sisyphus]]<br />
== Пакеты ==<br />
* Вопросы, связанные с пакетами, залитыми в [[incoming]] (кроме Backports и Daedalus) — [mailto:incoming@altlinux.org incoming].<br />
* Вопросы, связанные с бэкпортами — Михаил Шигорин [mailto:mike@altlinux.org mike].<br />
* Вопросы, связанные с [[Daedalus]] — [mailto:daedalus@altlinux.org daedalus].<br />
* Перенос пакетов в orphaned, obsolete, удаление пакетов в связи с переименованием или ошибкой — bugzilla, раздел [https://bugzilla.altlinux.org/enter_bug.cgi?product=Development Development], продукт «Перенос пакетов».<br />
* Передача майнтенерства, управление ACL и выдача [[NMU]] — [[Git.alt/Справочник|SSH-интерфейс git.alt]].<br />
<br />
== Инфраструктура и сервисы ==<br />
<br />
* Bugzilla ([https://bugzilla.altlinux.org/ bugzilla.altlinux.org]) — bugzilla, продукт [https://bugzilla.altlinux.org/enter_bug.cgi?product=Infrastructure Infrastructure]<br />
* Jabber (xmpp://altlinux.org/) — Коннов Андрей [mailto:ankon@altlinux.org ankon].<br />
* Списки рассылки ([http://lists.altlinux.org/ lists.altlinux.org]) — bugzilla, продукт [https://bugzilla.altlinux.org/enter_bug.cgi?product=Infrastructure Infrastructure]<br />
* ALT Linux Wiki ([http://altlinux.org/ altlinux.org]) — bugzilla, продукт [https://bugzilla.altlinux.org/enter_bug.cgi?product=Infrastructure Infrastructure]<br />
* FreeSource ([http://freesource.info/ freesource.info]) — bugzilla, продукт [https://bugzilla.altlinux.org/enter_bug.cgi?product=Infrastructure Infrastructure]<br />
* Сайт ООО «Альт Линукс» ([http://www.altlinux.ru/ www.altlinux.ru]) — bugzilla, продукт [https://bugzilla.altlinux.org/enter_bug.cgi?product=Infrastructure Infrastructure]<br />
* git ([http://git.altlinux.org/ git.altlinux.org]) — bugzilla, продукт [https://bugzilla.altlinux.org/enter_bug.cgi?product=Infrastructure Infrastructure]<br />
* тестовые/разработческие VE-шки (виртуальные машинки) — Дмитрий Левин [mailto:ldv@altlinux.org ldv]<br />
* [[Join|Вступление в team]], а также смена адреса пересылки почты с @altlinux.org — [mailto:join@altlinux.org join]<br />
<br />
В экстренных случаях или проблемах с аккаунтами можно обращаться по следующим адресам:<br />
* Bugzilla — Михаил Гусаров, [mailto:dottedmag@altlinux.org dottedmag]<br />
* Списки рассылки — Григорий Баталов, [mailto:bga@altlinux.org bga]<br />
* FreeSource — Денис Смирнов, [mailto:mithraen@altlinux.org mithraen]<br />
* ALT Linux Wiki — Михаил Гусаров, [mailto:dottedmag@altlinux.org dottedmag]<br />
* www.altlinux.ru и www.altlinux.com — Илья Машкин, [mailto:tvb@altlinux.ru tvb]<br />
<br />
== Метаконтакты ==<br />
<br />
О том, что по одному из вышеприведённых адресов не отвечают в течение двух дней (не считая выходных), стоит писать на [mailto:dottedmag@altlinux.org dottedmag]. Если не удаётся достучаться и до него — стоит написать [mailto:ldv@altlinux.org ldv].</div>DmitryLevinhttps://www.altlinux.org/index.php?title=%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE_gear&diff=6775Руководство по gear2008-11-28T00:40:24Z<p>DmitryLevin: /* «Линейный» репозиторий */</p>
<hr />
<div>[[Категория:Sisyphus]]<br />
[[Категория:Devel]]<br />
[[Категория:Руководства|gear]]<br />
{{Stub}}<br />
<br />
== Паттерны ведения пакетов в <tt>gear</tt> ==<br />
<br />
<tt>gear</tt> спроектирован для сборки пакетов из произвольно устроенного <tt>git</tt>-репозитория, но при этом среди <tt>gear</tt>-репозиториев наиболее часто встречаются следующие варианты.<br />
<br />
TODO: gear-srpmimport, gear-buildreq, gear-changelog, gear-commit, gear[-remote][{,-hsh,-rpm}]<br />
<br />
== "Родной" репозиторий ==<br />
<br />
Если пакет разрабатывается целиком в рамках Sisyphus, то в этом случае нет необходимости отслеживать upstream за неимением такового, так что репозиторий состоит из исходного кода, <tt>.spec</tt>-файла и тривиального <tt>.gear/rules</tt>.<br />
<br />
Типичный пример репозитория: [http://git.altlinux.org/people/ldv/packages/?p=girar.git;a=tree ldv/packages/girar].<br />
<br />
Типичный пример файла <tt>.gear/rules</tt>: [http://git.altlinux.org/people/ldv/packages/?p=girar.git;a=blob;f=.gear/rules;hb=HEAD ldv/packages/girar/.gear/rules].<br />
<br />
== Репозитории с импортированными upstream-тарболами ==<br />
<br />
TODO: gear-update<br />
<br />
=== «Линейный» репозиторий ===<br />
<br />
Репозитории такого вида наиболее близки к первоначальному виду <tt>src.rpm</tt>, в частности они создаются утилитой <tt>gear-srpmimport(1)</tt>. Такие репозитории содержат в одной ветке дерево (или несколько деревьев) немодифицированного исходного кода, набор патчей, дополнительных файлов, <tt>.spec</tt>-файл и файл <tt>.gear/rules</tt>.<br />
<br />
Типичный пример репозитория: [http://git.altlinux.org/people/ldv/packages/?p=net-tools.git;a=tree ldv/packages/net-tools].<br />
<br />
Типичный пример файла <tt>.gear/rules</tt>: [http://git.altlinux.org/people/ldv/packages/?p=net-tools.git;a=blob;f=.gear-rules;hb=HEAD ldv/packages/net-tools/.gear-rules].<br />
<br />
=== Репозиторий с отдельной веткой upstream ===<br />
<br />
В репозиториях такого вида обычно имеется две ветки: одна ветка хранит upstream-тарболы, импортируемые в неё с выходом каждой новой версии, во второй осуществляется пакетирование: в неё вливается ветка upstream-тарболов, в ней исправляются upstream-исходники при наличии необходимости, а также хранятся <tt>.spec</tt>-файл и <tt>.gear/rules</tt>.<br />
<br />
Типичный пример репозитория: [http://git.altlinux.org/people/ldv/packages/?p=bash.git;a=summary ldv/packages/bash].<br />
<br />
Типичный пример файла <tt>.gear/rules</tt>: [http://git.altlinux.org/people/ldv/packages/?p=bash.git;a=blob;f=.gear/rules;hb=HEAD ldv/packages/bash/.gear/rules].<br />
<br />
В отдельных случаях веток может быть больше двух:<br />
* если пакетирование производится под несколько веток разработки (Sisyphus, branches...), то каждой ветке выделяется своя <tt>git</tt>-ветка.<br />
* если в пакет входит несколько upstream-проектов, то для каждого upstream выделяется своя ветка с тарболами.<br />
<br />
Пример пакета для нескольких веток разработки: [http://git.altlinux.org/people/ldv/packages/?p=pcre.git;a=summary ldv/packages/pcre].<br />
<br />
TODO: gear-merge, gear-create-tag, gear-update-tag.<br />
<br />
=== Репозиторий с отдельной веткой upstream и topic-ветками ===<br />
<br />
В случае, когда upstream-код требует интенсивной обработки, иногда применяется схема, являющаяся развитием предыдущей. В этой схеме используется целый набор веток:<br />
* ветка для импортирования хранения upstream-тарболов,<br />
* набор веток, в каждой из которых развивается какое-то целостное изменение (topic). Каждая из таких веток ответвляется от upstream-ветки,<br />
* ветка для пакетирования. В эту ветку сливаются topic-ветки, а также в ней хранятся <tt>.spec</tt>-файл и файл <tt>.gear/rules</tt>.<br />
<br />
Типичный пример репозитория: [http://git.altlinux.org/people/ldv/packages/?p=kernel-image-2.6.18.git;a=summary ldv/packages/kernel-image-2.6.18] - ветки <tt>fix-*</tt> содержат отдельные исправления, а <tt>kernel-image-ovz-smp</tt> и <tt>kernel-image-std-smp</tt> - пакетирование.<br />
<br />
Аналогично предыдущей схеме, в этом случае могут присутствовать множественные upstream-ветки и ветки для пакетирования.<br />
<br />
== Репозитории с импортированной историей upstream ==<br />
<br />
Для большего удобства работы с upstream-исходниками и для упрощения коммуникации с upstream-разработчиками в этом виде репозиториев вместо тарболов в <tt>git</tt>-репозиторий целиком импортируется история upstream-репозитория: вместо отдельных огромных коммитов в upstream-ветку в репозитории находится полное upstream-дерево с тэгами, ветками и т.д.<br />
<br />
Пример репозитория с импортированной историей upstream (импорт из CVS): [http://git.altlinux.org/people/ldv/packages/?p=genromfs.git;a=summary ldv/packages/genromfs].<br />
<br />
Пример репозитория с импортированной историей ustream (импорт из git), а также отдельными ветками для пакетирования в разные ветки разработки: [http://git.altlinux.org/people/ldv/packages/?p=git.git;a=summary ldv/packages/git].<br />
<br />
Пример репозитория с несколькими отдельными upstream-ветками с импортированной историей upstream: [http://git.altlinux.org/people/ldv/packages/?p=coreutils.git;a=summary ldv/packages/coreutils].<br />
<br />
TODO: засасывание исходников, конверсия репозиториев.</div>DmitryLevinhttps://www.altlinux.org/index.php?title=CoreSystem&diff=6774CoreSystem2008-11-27T23:46:00Z<p>DmitryLevin: /* Желательно реализовать */</p>
<hr />
<div>[[Category:Sisyphus]]<br />
<br />
{{SisyphusNavigationBlock}}<br />
<br />
== Sisyphus — базовая система ==<br />
Базовая система — основа, на которой выпускаются все возможные решения.<br />
Основное обсуждение разработки платформы происходит в рассылке {{lists|devel}}.<br />
<br />
Все свои пожелания по развитию системы высказывайте в<br />
[[Coresystem/wishlist|Книге жалоб и предложений]].<br />
<br />
Также существует [[Coresystem/all-todo|Сводный список текущих планов]].<br />
<br />
=== Состав разработчиков ===<br />
<div style="display: inline; color: red;">Запишите себя, если кого забыли ;)</div><br />
<br />
* [http://sisyphus.ru/packager/ldv ldv@] — главный архитектор платформы<br />
* [http://sisyphus.ru/packager/at at@] — инфраструктура пакетов<br />
* [http://sisyphus.ru/packager/inger inger@] — подсистема управления, подсистема печати<br />
* [http://sisyphus.ru/packager/slazav slazav@] — подсистема управления<br />
* [http://sisyphus.ru/packager/shrek shrek@] — графическая подсистема, ядро и оборудование<br />
* [http://sisyphus.ru/packager/silicium silicium@] — ядро и оборудование<br />
* [http://sisyphus.ru/packager/aspsk aspsk@] — поддержка виртуализации<br />
* [http://sisyphus.ru/packager/legion legion@] — инфраструктура разработки<br />
* [http://sisyphus.ru/packager/cas cas@] — контроль качества, локализация<br />
<br />
=== Состав базовой системы ===<br />
: Планы составляют только мантейнеры соответствующих подсистем<br />
* [[CoreSystem/kernel|Ядро и оборудование]] — shrek, silicium<br />
* [[CoreSystem/coreutils|Базовые библиотеки и утилиты]] — ldv<br />
* [[CoreSystem/security|Подсистема безопасности]] — ldv<br />
* [[CoreSystem/printing|Подсистема печати]] — inger, viy<br />
* [[CoreSystem/Xorg|Графическая подсистема]] — shrek<br />
* [[CoreSystem/aptrpm|Пакетная система]] — at, ldv<br />
* [[Alterator|Подсистема управления]] — inger, slazav<br />
* [[CoreSystem/Virtualization|Поддержка виртуализации]] — aspsk, ldv<br />
* [[TeXSubsystem|Подсистема TeX]] — bga, kirill<br />
<br />
=== Выпуски ===<br />
<br />
==== Core 1.0 ====<br />
<br />
'''Состояние''': в разработке<br/><br />
'''Завершение''': 30 ноября 2008<br/><br />
<br />
[http://bugzilla.altlinux.org/buglist.cgi?keywords=sisyphus-core-1.0 Список ошибок]<br />
<br />
==== Планируемые изменения ====<br />
<br />
===== Обязательно реализовать =====<br />
{| class="standard"<br />
!Задача<br />
!Ответственный<br />
!Статус<br />
|-<br />
|Улучшение поддержки ovz в libvirt до минимально приемлемого уровня<br />
|{{man|aspsk}}<br />
|{{done}}<br />
|-<br />
|Отладка миграции VE через libvirt<br />
|{{man|aspsk}}<br />
|<br />
|-<br />
|alterator-mkve<br />
|{{man|aspsk}}<br />
|<br />
|-<br />
|Подготовка готовых профилей VE (бывшие ve-*)<br />
|{{man|aspsk}}<br />
|<br />
|-<br />
|Обновление toolchain до gcc-4.3.x/glibc-2.9/binutils-2.18.50.x<br />
|{{man|ldv}}<br />
|{{done}}<br />
|-<br />
|Обновление glibc-kernheaders до 2.6.27<br />
|{{man|kas}}<br />
|{{done}}<br />
|-<br />
|Обновление kernel-image-std-* до 2.6.27<br />
|{{man|silicium}}<br />
|{{done}}<br />
|-<br />
|Управление alt-gpgkeys через git.alt<br />
|{{man|inger}}<br />
|<br />
|-<br />
|Новая инфраструктура incominger<br />
|{{man|ldv}}, {{man|legion}}<br />
|<br />
|-<br />
|Переход от xinf файлов на fdi<br />
|{{man|shrek}}<br />
|{{done}}<br />
|-<br />
|hunspell как замена всех *spell<br />
|{{man|shrek}}<br />
|<br />
|-<br />
|Документация по сборке ядра для ALT<br />
|{{man|silicium}}<br />
|<br />
|-<br />
|Обновление инфраструктуры сборки ядра (автоматизация сборки всех subflavourов ядер)<br />
|{{man|silicium}}<br />
|{{done}}<br />
|-<br />
|Подготовка унифицированной среды использования синтезаторов речи<br />
|{{man|msp}}<br />
|<br />
|-<br />
|Подготовка пакетов для дистрибутива с речевым интерфейсом Homeros<br />
|{{man|msp}}<br />
|<br />
|-<br />
|Озвучка alterator-browser-qt<br />
|{{man|msp}}<br />
|<br />
|-<br />
|Обновление man для поддержки man-страниц в разных кодировках <br />
|{{man|legion}}<br />
|{{done}}<br />
|-<br />
|installable livecd<br />
|{{man|inger}}<br />
|<br />
|-<br />
|Обновление libcap до 2.14+<br />
|{{man|ldv}}<br />
|{{done}}<br />
|-<br />
|Возможность задавать лимиты для системных сервисов<br />
|{{man|ldv}}, {{man|legion}}<br />
|{{done}}<br />
|-<br />
|}<br />
<br />
===== Желательно реализовать =====<br />
{| class="standard"<br />
!Задача<br />
!Ответственный<br />
!Статус<br />
|-<br />
|Обновление libtool до 2.2.x<br />
|{{man|ldv}}, {{man|rider}}<br />
|<br />
|-<br />
|Добавить модуль pam_ck_connector и уменьшить количество подконтрольных устройств у pam_console<br />
|{{man|shrek}}<br />
|<br />
|-<br />
|Интегрировать [http://roy.marples.name/projects/openresolv openresolv]<br />
|{{man|ldv}}, {{man|legion}}<br />
|<br />
|-<br />
|Единая схема именования принтерных пакетов (printer-driver-xxx)<br />
|{{man|inger}}<br />
|<br />
|-<br />
|Замена gitweb на gitorious<br />
|{{man|ab}}<br />
|<br />
|-<br />
|Управление почтовыми алиасами мантейнеров через git.alt<br />
|{{man|ldv}}<br />
|<br />
|-<br />
|Интеграция кусочков конфигурации monit в пакеты с соответствующими сервисами<br />
|{{man|mike}}<br />
|<br />
|-<br />
|Переехать на адаптированную версию console-setup<br />
|{{man|legion}}<br />
|<br />
|-<br />
|Автоматически изменять кодировку man-страниц на utf8 (там где это возможно) при запаковке rpm-пакета<br />
|{{man|legion}}<br />
|<br />
|-<br />
|Сделать разделяемую базу [https://wiki.mozilla.org/NSS_Shared_DB NSS]<br />
|{{man|legion}}<br />
|<br />
|-<br />
|Обновить libpcap до 1.0.0+<br />
|{{man|ldv}}<br />
|<br />
|-<br />
|Внедрить в shadow-utils враппер для использования в %pre- и %post-скриптах<br />
|{{man|ldv}}<br />
|<br />
|-<br />
|Обновить [http://pkg-shadow.alioth.debian.org shadow-utils]<br />
|{{man|ldv}}<br />
|<br />
|-<br />
| "свой" вариант chkconfig в пакете service, (?)задействовать libshell в service<br />
|{{man|legion}}<br />
|<br />
|-<br />
|}</div>DmitryLevinhttps://www.altlinux.org/index.php?title=CoreSystem/coreutils&diff=6773CoreSystem/coreutils2008-11-27T23:45:43Z<p>DmitryLevin: /* Планы */</p>
<hr />
<div>[[Category:Sisyphus]]<br />
<br />
== Sisyphus Core — базовые библиотеки и утилиты ==<br />
<br />
=== Планы ===<br />
<br />
* {{завершено|1|1}} обновление toolchain до {{pkg|gcc-4.3.x/glibc-2.8.90+/binutils-2.18.50.x}} ({{man|ldv}}, {{man|wart}})<br />
* {{завершено|1|1}} обновление {{pkg|autoconf}}/{{pkg|automake}} до свежих версий ({{man|ldv}}, {{man|rider}})<br />
* {{завершено|1|1}} обновление {{pkg|openssl}} до {{pkg|0.9.8h}} ({{man|sin}})<br />
* {{завершено|1|1}} возможность задавать лимиты для системных сервисов ({{man|ldv}}, {{man|legion}})<br />
* {{завершено|1|1}} обновление {{pkg|libcap}} до {{pkg|2.14+}} ({{man|ldv}})<br />
* {{завершено|210|222}} перевод всех использующих {{pkg|libssl}} пакетов на {{pkg|libssl7}} ({{man|sin}}, {{man|ldv}})<br />
* {{завершено|44|50}} перевод всех использующих {{pkg|libdb4}} пакетов на {{pkg|libdb4.7}} ({{man|ldv}})<br />
* {{завершено|0|1}} исправление сборки основной массы пакетов, пострадавшей после обновления toolchain ({{man|ldv}})<br />
* {{завершено|0|1}} обновление {{pkg|libpcap}} до {{pkg|1.0.0+}} ({{man|ldv}})<br />
* {{завершено|0|1}} внедрение в {{pkg|shadow-utils}} враппера для использования в %pre- и %post-скриптах ({{man|ldv}})<br />
* {{завершено|0|1}} обновление [http://pkg-shadow.alioth.debian.org shadow-utils] ({{man|ldv}})<br />
* {{завершено|0|1}} [?] обновление {{pkg|libtool}} до {{pkg|2.2.x}} ({{man|ldv}}, {{man|rider}})</div>DmitryLevinhttps://www.altlinux.org/index.php?title=CoreSystem/coreutils&diff=6772CoreSystem/coreutils2008-11-27T23:42:57Z<p>DmitryLevin: /* Планы */</p>
<hr />
<div>[[Category:Sisyphus]]<br />
<br />
== Sisyphus Core — базовые библиотеки и утилиты ==<br />
<br />
=== Планы ===<br />
<br />
* {{завершено|1|1}} обновление toolchain до {{pkg|gcc-4.3.x/glibc-2.8.90+/binutils-2.18.50.x}} ({{man|ldv}}, {{man|wart}})<br />
* {{завершено|1|1}} обновление {{pkg|autoconf}}/{{pkg|automake}} до свежих версий ({{man|ldv}}, {{man|rider}})<br />
* {{завершено|1|1}} обновление {{pkg|openssl}} до {{pkg|0.9.8h}} ({{man|sin}})<br />
* {{завершено|1|1}} возможность задавать лимиты для системных сервисов ({{man|ldv}}, {{man|legion}})<br />
* {{завершено|1|1}} обновление {{pkg|libcap}} до {{pkg|2.14+}} ({{man|ldv}})<br />
* {{завершено|210|222}} перевод всех использующих {{pkg|libssl}} пакетов на {{pkg|libssl7}} ({{man|sin}}, {{man|ldv}})<br />
* {{завершено|44|50}} перевод всех использующих {{pkg|libdb4}} пакетов на {{pkg|libdb4.7}} ({{man|ldv}})<br />
* {{завершено|0|1}} исправление сборки основной массы пакетов, пострадавшей после обновления toolchain ({{man|ldv}})<br />
* {{завершено|0|1}} обновление {{pkg|libpcap}} до {{pkg|1.0.0+}} ({{man|ldv}})<br />
* {{завершено|0|1}} внедрение в {{pkg|shadow-utils}} враппера для использования в %pre- и %post-скриптах ({{man|ldv}})<br />
* {{завершено|0|1}} обновление {{pkg|shadow-utils}} ({{man|ldv}})<br />
* {{завершено|0|1}} [?] обновление {{pkg|libtool}} до {{pkg|2.2.x}} ({{man|ldv}}, {{man|rider}})</div>DmitryLevinhttps://www.altlinux.org/index.php?title=CoreSystem/coreutils&diff=6556CoreSystem/coreutils2008-11-23T19:56:21Z<p>DmitryLevin: /* Планы */</p>
<hr />
<div>[[Category:Sisyphus]]<br />
<br />
== Sisyphus Core - базовые библиотеки и утилиты ==<br />
<br />
=== Планы ===<br />
<br />
* {{завершено|1|1}} обновление toolchain до {{pkg|gcc-4.3.x/glibc-2.8.90+/binutils-2.18.50.x}} ({{man|ldv}}, {{man|wart}})<br />
* {{завершено|1|1}} обновление {{pkg|autoconf}}/{{pkg|automake}} до свежих версий ({{man|ldv}}, {{man|rider}})<br />
* {{завершено|1|1}} обновление {{pkg|openssl}} до {{pkg|0.9.8h}} ({{man|sin}})<br />
* {{завершено|1|1}} возможность задавать лимиты для системных сервисов ({{man|ldv}}, {{man|legion}})<br />
* {{завершено|1|1}} обновление {{pkg|libcap}} до {{pkg|2.14+}} ({{man|ldv}})<br />
* {{завершено|210|223}} перевод всех использующих {{pkg|libssl}} пакетов на {{pkg|libssl7}} ({{man|sin}}, {{man|ldv}})<br />
* {{завершено|43|51}} перевод всех использующих {{pkg|libdb4}} пакетов на {{pkg|libdb4.7}} ({{man|ldv}})<br />
* {{завершено|0|1}} исправление сборки основной массы пакетов, пострадавшей после обновления toolchain ({{man|ldv}})<br />
* {{завершено|0|1}} обновление {{pkg|libpcap}} до {{pkg|1.0.0+}} ({{man|ldv}})<br />
* {{завершено|0|1}} обновление {{pkg|shadow-utils}}, внедрение враппера для использования в %pre- и %post-скриптах ({{man|ldv}})<br />
* {{завершено|0|1}} [?] обновление {{pkg|libtool}} до {{pkg|2.2.x}} ({{man|ldv}}, {{man|rider}})</div>DmitryLevinhttps://www.altlinux.org/index.php?title=Git.alt/%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA&diff=6259Git.alt/Справочник2008-11-20T01:42:42Z<p>DmitryLevin: /* Web-интерфейс */</p>
<hr />
<div>[[Категория:Devel]]<br />
[[Категория:Sisyphus]]<br />
[[Категория:Справочники]]<br />
[[en:git.alt reference]]<br />
Эта страница документирует команды [[git.alt]], но не является [[Краткое руководство пользователя git.alt|кратким руководством]] или учебником по нему.<br />
<br />
__TOC__<br />
<br />
== Как воспользоваться <tt>git.alt</tt>? ==<br />
<br />
<tt>git.alt</tt> предоставляет несколько видов доступа:<br />
<br />
* SSH-доступ. Предоставляет несколько команд: для поиска репозиториев, их клонирования, создания, удаления, а также служебных.<br />
* <tt>ssh</tt>, <tt>git</tt>, <tt>rsync</tt>, <tt>http</tt> — доступ для непосредственной работы с репозиториями. <tt>git</tt>, <tt>rsync</tt> и <tt>http</tt>-адреса предоставляют r/o доступ, <tt>ssh</tt> — r/w.<br />
* Web-интерфейс. Находится по адресу http://git.altlinux.org/, предоставляет навигацию по списку репозиториев и <tt>gitweb</tt> для индивидуальных репозиториев.<br />
<br />
SSH-доступ к <tt>git.alt</tt> выдаётся после [[Join|принятия]] в ALT Linux Team.<br />
<br />
== SSH-доступ ==<br />
<br />
<tt>git.alt</tt> доступен по SSH по адресу <tt>git.altlinux.org:222</tt>. Аккаунт для доступа — <tt>git_$USERNAME</tt>, где USERNAME — имя, присвоенное в процессе принятия в Team, с символами «-» заменёнными на «_».<br />
<br />
Пример <tt>~/.ssh/config</tt>:<br />
Host git.alt<br />
HostName git.altlinux.org<br />
Port 222<br />
User git_USERNAME<br />
<br />
Для работы [[fsi:SSHFirewall|из-за прокси]] и в других сложных условиях SSH также доступен по адресу <tt>git.altlinux.org:443</tt>.<br />
<br />
Для работы с <tt>git.alt</tt> необходимо настроить свой <tt>git</tt> — параметры <tt>user.name</tt>, <tt>user.email</tt>, <tt>user.signingkey</tt>:<br />
$ git-config --global user.signingkey "<ID ключа GPG для подписи тэгов>"<br />
$ git-config --global user.email "<ваш email, как мантейнера>"<br />
$ git-config --global user.name "FirstName LastName"<br />
Например,<br />
$ git-config --global user.signingkey 0xA26F54C8<br />
$ git-config --global user.email dottedmag@altlinux.org<br />
$ git-config --global user.name "Mikhail Gusarov"<br />
<br />
Список команд выдаётся при ssh-логине без команды или с командой <tt>help</tt>:<br />
<br />
$ ssh git.alt help<br />
Available commands:<br />
help<br />
git-receive-pack <directory><br />
git-upload-pack <directory><br />
charset <path to git repository> [<charset>]<br />
clone <path to git repository> [<path to directory>]<br />
find-package <pattern><br />
init-db <path to directory><br />
ls [<path to directory>]<br />
mv-db <path to source directory> <path to destination directory><br />
quota<br />
rm-db <path to git repository><br />
task {list|new|show|drop|add|run} ...<br />
build <path to gear repository> <tag name> [<binary package repository name>] [<project name>]<br />
acl {--help|<binary package repository name> ...}<br />
$<br />
<br />
Во всех командах суффикс директорий репозиториев <tt>.git</tt> опционален и может быть опущен. В выводе команд <tt>.git</tt> присутствует всегда.<br />
<br />
=== Управление git-репозиториями ===<br />
<br />
==== ls ====<br />
<br />
'''$ ssh git.alt ls [<directory>]'''<br />
<br />
Эта команда позволяет посмотреть содержимое различных директорий на <tt>git.alt</tt>:<br />
<br />
$ ssh git.alt ls /people/dottedmag/public<br />
total 24<br />
drwxr-sr-x 5 4096 Jun 13 10:22 bugzilla-repo-sync.git<br />
...<br />
drwxr-sr-x 5 4096 Jul 7 18:03 wackoconvert.git<br />
$<br />
<br />
Без параметров — показывает содержимое <tt>/people/$USERNAME</tt>:<br />
<br />
$ ssh git.alt ls<br />
total 16<br />
drwxr-s--- 5 4096 May 30 21:27 etc<br />
drwxr-sr-x 14 4096 Aug 13 23:53 packages<br />
drwxr-s--x 2 4096 Feb 13 2007 private<br />
drwxr-sr-x 8 4096 Aug 13 23:57 public<br />
$<br />
<br />
От этой же директории отсчитываются относительные пути:<br />
<br />
$ ssh git.alt ls public<br />
total 24<br />
drwxr-sr-x 5 4096 Jun 13 10:22 bugzilla-repo-sync.git<br />
...<br />
drwxr-sr-x 5 4096 Jul 7 18:03 wackoconvert.git<br />
$<br />
<br />
==== find-package ====<br />
<br />
'''$ ssh git.alt find-package <pattern>'''<br />
<br />
Эта команда позволяет искать репозитории по переданному шаблону. Единственный метасимвол, допустимый в шаблоне — <tt>*</tt>. Репозитории ищутся в директории <tt>packages</tt> каждого пользователя, поскольку предполагается, что <tt>[[gear]]</tt>-репозитории располагаются именно там.<br />
<br />
$ ssh git.alt find-package glibc*<br />
/people/avm/packages/glibc.git 1216320095<br />
...<br />
/people/peet/packages/glibc-kernheaders.git 1177084354<br />
/people/mike/packages/glibc-kvercheck.git 1160664813<br />
$ ssh git.alt find-package glibc<br />
/people/avm/packages/glibc.git 1216320095<br />
...<br />
/people/peet/packages/glibc.git 1177084600<br />
$<br />
<br />
Вторая колонка в выводе <tt>find-package</tt> — unixtime времени последнего обновления репозитория.<br />
<br />
==== clone ====<br />
<br />
'''$ ssh git.alt clone <path to git repository> [<destination directory>]'''<br />
<br />
Эта команда позволяет «склонировать», то есть создать в своей директории копию репозитория для начала работы над ним.<br />
<br />
Без второго аргумента — клонирует в директорию <tt>packages</tt>:<br />
<br />
$ ssh git.alt clone /people/ldv/glibc.git<br />
Initialized empty Git repository in /people/dottedmag/packages/glibc.git/<br />
$<br />
<br />
Вторым аргументом можно указать как директорию, в которую нужно поместить клон репозитория, так и название репозитория:<br />
<br />
$ ssh git.alt clone /people/ldv/glibc.git public<br />
Initialized empty Git repository in /people/dottedmag/public/glibc.git/<br />
$ ssh git.alt clone /people/ldv/glibc.git public/test<br />
Initialized empty Git repository in /people/dottedmag/public/test.git/<br />
$<br />
<br />
Можно также склонировать репозиторий, находящийся вне <tt>git.alt</tt>:<br />
<br />
$ ssh git.alt clone <nowiki>http://github.com/dottedmag/madshelf.git</nowiki> public<br />
Initialized empty Git repository in /people/dottedmag/packages/public.git/<br />
Getting alternates list for <nowiki>http://github.com/dottedmag/madshelf.git</nowiki><br />
...<br />
walk 03d18e21d85fa30fc3ac8d921eb391e2a7bb242a<br />
$<br />
<br />
==== init-db ====<br />
<br />
'''$ ssh git.alt init-db <path to directory>'''<br />
Позволяет создать новый git-репозиторий. По умолчанию репозиторий создаётся в директории <tt>packages</tt>:<br />
$ ssh git.alt init-db test<br />
Initialized empty Git repository in ./<br />
girar-init-db: /people/dottedmag/packages/test.git<br />
При указании пути создаёт репозиторий по указанному пути:<br />
$ ssh git.alt init-db public/test<br />
Initialized empty Git repository in ./<br />
girar-init-db: /people/dottedmag/public/test.git<br />
<br />
==== mv-db ====<br />
<br />
'''$ ssh git.alt mv-db <path to source directory> <path to destination directory>'''<br />
Позволяет перемещать и переименовывать свои репозитории. При указании только имени репозитория подразумевается директория <tt>packages</tt>.<br />
<br />
Перемещение packages/test.git в public/newname.git:<br />
$ ssh git.alt mv-db test public/newname<br />
$<br />
Перемещение public/newname.git в packages/test.git:<br />
$ ssh git.alt mv-db public/newname test<br />
$<br />
Переименовывание packages/test.git в packages/megatest.git:<br />
$ ssh git.alt mv-db test megatest<br />
$<br />
<br />
==== rm-db ====<br />
<br />
'''$ ssh git.alt rm-db <path to git repository>'''<br />
Позволяет удалять свои репозитории. При указании только имени репозитория подразумевается директория <tt>packages</tt>:<br />
$ ssh git.alt rm-db megatest # удаляет packages/megatest.git<br />
$ ssh git.alt rm-db public/test<br />
<br />
=== Управление ACL пакетов ===<br />
<br />
''Смотри [[ACL]] для общей информации об ACL пакетов в Sisyphus.''<br />
<br />
Команда <tt>acl</tt> требует указания репозитория, над которым производится работа. На данный момент существует только репозиторий Sisyphus с меткой <tt>sisyphus</tt>.<br />
<br />
Если в командной строке указан только репозиторий, но не указана подкоманда, то список команд читается со стандартного ввода, по одной команде на строку, и выполняется тразакционно: ошибка в выполнении хотя бы одной команды отменяет действие всего набора команд:<br />
$ ssh git.alt acl sisyphus keyjnote<br />
girar-acl: Go ahead and type your commands<br />
'''keyjnote add peet'''<br />
'''keyjnote add raorn'''<br />
'''^D'''<br />
girar-acl: 2 command(s) queued<br />
$<br />
<br />
Все команды, меняющие состав группы или ACL пакета, могут производиться только ''лидером'' — первым в списке ACL пакета или в составе группы. Все такие операции выполняются асинхронно и результат их выполнения сообщается по email.<br />
<br />
==== acl show ====<br />
<br />
'''$ ssh git.alt acl <binary repository> <package> show'''<br />
Показывает ACL указанного пакета<br />
<br />
$ ssh git.alt acl sisyphus bugzilla show<br />
bugzilla @nobody<br />
<br />
'''$ ssh git.alt acl <binary repository> @<group> show'''<br />
Показывает состав указанной группы майнтайнеров.<br />
<br />
$ ssh git.alt acl sisyhpus @python show<br />
@python ns ldv george akhavr bga lav swi at hiddenman sin mithraen kas<br />
<br />
==== acl add/del ====<br />
<br />
'''$ ssh git.alt acl <binary repository> <package> add|del <login>|@<group> ...<br />
Добавляет/удаляет указанных пользователей и группы в/из ACL указанного пакета.<br />
<br />
$ ssh git.alt acl sisyphus keyjnote add damir<br />
girar-acl: 1 command(s) queued<br />
$ ssh git.alt acl sisyphus keyjnote del damir<br />
girar-acl: 1 command(s) queued<br />
<br />
'''$ ssh git.alt acl <binary repository> @<group> add|del <login>|@<group> ...<br />
Добавляет/удаляет указанных пользователей и группы в/из указанной группы.<br />
<br />
$ ssh git.alt acl sisyphus keyjnote add @python<br />
girar-acl: 1 command(s) queued<br />
$ ssh git.alt acl sisyphus keyjnote del @python<br />
girar-acl: 1 command(s) queued<br />
<br />
==== acl replace ====<br />
<br />
'''$ ssh git.alt acl <binary repository> <package>|@<group> replace <login>|@<group> <login>|@<group>'''<br />
Заменяет укзаанную запись в ACL пакета или составе группы на вторую указанную.<br />
<br />
$ ssh git.alt acl sisyphus keyjnote replace dottedmag @python<br />
Заменяет в ACL пакета <tt>keyjnote</tt> запись <tt>dottedmag</tt> на <tt>@python</tt>.<br />
<br />
==== acl leader ====<br />
<br />
'''$ ssh git.alt acl <binary repository> <package> leader <login>|@<group><br />
Устанавливает лидера пакета — указанного пользователя, или лидера указанной группы. Пользователь или группа, устанавливаемые лидерами, не обязаны присутствовать в списке ACL пакета до выполнения этой команды.<br />
<br />
$ ssh git.alt acl sisyphus keyjnote leader @python<br />
<br />
'''$ ssh git.alt acl <binary repository> @<group> leader <login>|@<group><br />
Устанавливает лидера группы — указанного пользователя, или лидера указанной группы. Пользователь или группа, устанавливаемые лидерами, не обязаны присутствовать в списке членов группы до выполнения этой команды.<br />
<br />
$ ssh git.alt acl sisyphus @python leader ns<br />
<br />
==== acl nmu ====<br />
<br />
'''$ ssh git.alt acl <binary repository> <package> nmu add|del [<login> [<start date> [<end date>]]]'''<br />
Выдаёт/снимает разрешение на проведение [[NMU]] указанного пакета.<br />
<br />
Параметры:<br />
* '''login''' — аккаунт, которому даётся разрешение на NMU. '''*''' или отсутствие параметра означает «кому угодно»<br />
* '''start date''' — дата начала действия NMU, в формате unixtime. Отсутствие параметра означает «немедленно»<br />
* '''end date''' — дата окончания действия NMU, в формате unixtmie. Отсутствие параметра означает «никогда».<br />
<br />
Удаление разрешения происходит по точному соответствию имени аккаунта, так что <tt>del *</tt> не приведёт к отмене всех NMU, выданных на пакет. С другой стороны, <tt>del user</tt> приведёт к отмене всех NMU, выданных данному пользователю.<br />
<br />
'''$ ssh git.alt acl <binary repository> <package> nmu show'''<br />
Выдаёт список NMU для указанного пакета, в формате<br />
<package> <login> <start date> <end date><br />
<br />
0 в поле ''end date'' означает «без ограничения».<br />
<br />
=== Сборка пакетов из [[gear]] ===<br />
<br />
Для сборки пакетов используется механизм ''задач'' — пользователь указывает, какие [[gear]]-репозитории необходимо собрать одной транзакцией, создавая задачу, после чего запускает её на выполнение. Задачи выполняются асинхронно. После завершения задачи пользователю приходит отчёт по e-mail.<br />
<br />
==== task ====<br />
<br />
'''$ ssh git.alt task list'''<br />
Показывает текущий набор ещё не запущенных задач пользователя.<br />
'''$ ssh git.alt task new [<binary repository>]'''<br />
Создаёт новую задачу для сборки пакетов в указанный репозиторий (по умолчанию - Sisyphus). Данная команда выдаёт идентификатор задачи на stdout.<br />
'''$ ssh git.alt task show <id>'''<br />
Показывает содержимое указанной задачи.<br />
'''$ ssh git.alt task drop <id>'''<br />
Удаляет указанную задачу.<br />
'''$ ssh git.alt task add [<id>] <gear repo path> <tag name> [<project name>]'''<br />
Добавляет в задачу (указанную аргументом или последнюю созданную) пакет, который необходимо собрать. Пакет указывается путём к gear-репозиторию и именем git-тэга.<br />
<br />
Пример:<br />
$ ssh git.alt task list<br />
$ ssh git.alt task new<br />
1227033465<br />
$ ssh git.alt task list<br />
1227033465<br />
$ ssh git.alt task show 1227033465<br />
user dottedmag<br />
repo sisyphus<br />
$ ssh git.alt task add keyjnote 0.10.2-alt2<br />
girar-check-perms: allowed: project leader<br />
$ ssh git.alt task show 1227033465<br />
user dottedmag <br />
repo sisyphus<br />
package keyjnote /people/dottedmag/packages/keyjnote.git 0.10.2-alt2 628b5199c0c0d7640181f2bf7c2e65d4bb3bfa2d sisyphus<br />
$ ssh git.alt task run 1227033465<br />
Queued #1227033465<br />
$<br />
<br />
Необязательный параметр ''project name'' используется для указания имени создаваемого <tt>src.rpm</tt>-файла, в том случае, если оно не совпадает с именем директории gear-репозитория.<br />
<br />
==== build ====<br />
<br />
'''$ ssh git.alt build <gear repo path> <tag name> [<binary repository>] [<project name>]'''<br />
Эта команда создаёт задачу по сборке указанного пакета и запускает её на выполнение. Параметры ''binary repository'' и ''project name'' имеют тот же смысл, что и в командах <tt>task new</tt> и <tt>task add</tt> соответственно.<br />
<br />
=== Вспомогательные команды ===<br />
<br />
==== charset ====<br />
<br />
'''$ ssh git.alt charset <path to git repository> [<charset>]'''<br />
<br />
Позволяет узнать или установить кодировку, используемую почтовым клиентом при отправке уведомлений, содержащих цитаты изменений файлов указанного git-репозитория:<br />
<br />
$ ssh git.alt charset packages/glibc<br />
utf-8<br />
$ ssh git.alt charset packages/glibc cp1252<br />
$ ssh git.alt charset packages/glibc<br />
cp1252<br />
$<br />
<br />
==== quota ====<br />
<br />
'''$ ssh git.alt quota'''<br />
<br />
Позволяет узнать квоту и занимаемое пользователем дисковое пространство.<br />
<br />
$ ssh git.alt quota<br />
Filesystem blocks quota limit grace files quota limit grace<br />
/dev/simfs 16932 977M 1465M 555 100k 150k <br />
$<br />
<br />
==== git-receive-pack, git-upload-pack ====<br />
<br />
Эти команды используются утилитами <tt>git-push</tt>, <tt>git-pull</tt> и подобными и не предназначены для вызова пользователем.<br />
<br />
=== Клонирование и работа с репозиториями ===<br />
<br />
Работа с git-репозиториями, расположенными на <tt>git.alt</tt>, ничем не отличается от работы с другими git-репозиториями.<br />
<br />
URL-ы репозиториев на git.alt:<br />
; '''git''' (r/o)<br />
: <tt>git://git.altlinux.org/people/$USER/(packages|public)/$PACKAGE.git</tt><br />
; '''rsync''' (r/o)<br />
: <tt>git.altlinux.org::people/$USER/(packages|public)/$PACKAGE.git</tt><br />
; '''http''' (r/o)<br />
: <tt><nowiki>http://git.altlinux.org/people/$USER/(packages|public)/$PACKAGE.git</nowiki></tt><br />
; '''ssh''' (r/w)<br />
: <tt>ssh://git.altlinux.org/people/$USER/(etc|packages|public|private)/$PACKAGE.git</tt><br />
<br />
HTTP- и git-URL-ы репозиториев можно в любой момент узнать в web-интерфейсе <tt>git.alt</tt>.<br />
<br />
=== Web-интерфейс ===<br />
<br />
Располагается по адресу http://git.altlinux.org/<br />
<br />
Предоставляет навигацию по публичным репозиториям пользователей (директории <tt>/people/$USERNAME/{packages,public}</tt>) и <tt>gitweb</tt>-интерфейс к этим репозиториям.<br />
<br />
Кроме этого, в web-интерфейсе представлены репозитории <tt>/archive</tt>, списки <tt>/acl</tt> и файл <tt>people-packages-list</tt>, содержащий все репозитории из директорий <tt>/people/$USERNAME/packages</tt> и даты их последнего изменения (в unixtime).<br />
<br />
== Структура репозиториев ==<br />
<br />
<tt>git.alt</tt> содержит два дерева репозиториев:<br />
<br />
* репозитории <tt>/people/$USERNAME</tt> для каждого зарегистрированного пользователя<br />
* репозитории <tt>/archive</tt> для пакетов Sisyphus<br />
<br />
=== /people ===<br />
<br />
Каждому зарегистрированному на git.alt разработчику предоставляется место для git-репозиториев, начинающееся с <tt>/people/$USERNAME</tt>. Доступ на запись в эти директории даётся только владельцу. Структура для хранения репозиториев жёстко определена:<br />
<br />
==== /people/$USERNAME/etc ====<br />
<br />
Содержит репозитории <tt>packages.git</tt>, <tt>private.git</tt>, <tt>public.git</tt>, с помощью которых можно управлять [[#Почтовая подписка|почтовой подпиской]]. Эти репозитории доступны на чтение только владельцу.<br />
<br />
==== /people/$USERNAME/packages ====<br />
<br />
Директория предназначена для хранения gear-репозиториев для пакетов Сизифа. Публично доступна.<br />
<br />
git-репозитории в этой директории будут искаться при выполнении команды <tt>find-package</tt>, и эта директория будет использоваться по умолчанию в командах <tt>init-db</tt>, <tt>clone</tt>, <tt>build</tt>.<br />
<br />
==== /people/$USERNAME/private ====<br />
<br />
Директория предназначена для хранения приватных репозиториев, о существовании и содержании которых должно быть известно только самому разработчику.<br />
<br />
Для удобства работают прямые http-ссылки на файлы репозиториев, размещённых в этой директории.<br />
<br />
==== /people/$USERNAME/public ====<br />
<br />
Директория предназначен для хранения публичных git-репозиториев, не являющихся gear-репозиториями для пакетов Сизифа.<br />
<br />
=== /archive ===<br />
<br />
В этой директории размещаются gear-репозитории пакетов Sisyphus.<br />
<br />
Репозиторий для каждого пакета создаётся с помощью утилиты <tt>gear-srpmimport</tt> на основе прошедших [[incoming]] <tt>src.rpm</tt>-пакетов, а не на основе <tt>gear</tt>-репозитория, из которых были собраны <tt>src.rpm</tt>, поэтому репозиторий /archive следует использовать для разработки только в том случае, когда <tt>gear</tt>-репозиторий для пакета отсутствует.<br />
<br />
== Почтовая подписка ==<br />
<br />
На <tt>git.alt</tt> реализовано два вида почтовой подписки на события:<br />
* Пользователь подписывается на события, происходящие в репозиториях <tt>public</tt> и <tt>packages</tt>.<br />
* Пользователь подписывает кого-то на события, происходящие в '''его''' репозиториях <tt>public</tt>, <tt>packages</tt> и <tt>private</tt>.<br />
<br />
Для подписки используются репозитории из директории <tt>etc</tt>: <tt>packages.git</tt>, <tt>public.git</tt>, <tt>private.git</tt>. Схема работы с подписками напоминает работу с <tt>CVSROOT</tt> из CVS: пользователь клонирует нужный репозиторий, коммитит изменения в него и push-ит обратно на сервер, после чего изменения вступают в силу.<br />
<br />
В каждом из трёх репозиториев находится два файла: <tt>email-subscription</tt> и <tt>email-distribution</tt> (точнее, в <tt>private.git</tt> - только <tt>email-distribution</tt>). <tt>git.alt</tt> использует бранч <tt>master</tt> и не обращает внимания на остальные бранчи в этих репозиториях.<br />
<br />
=== email-subscription ===<br />
<br />
Этот файл позволяет подписаться на события в публичных репозиториях <tt>git.alt</tt>. Формат файла - последовательность строк следующего вида:<br />
$USER $PACKAGE $REFTYPE $REFNAME<br />
где<br />
* $USER - имя пользователя <tt>git.alt</tt>,<br />
* $PACKAGE - имя пакета,<br />
* $REFTYPE - вид изменения: <tt>head</tt> - новые/удалённые коммиты, <tt>tag</tt> - новые/удалённые тэги (техническая подробность: второй компонент из изменяемой ссылки <tt>refs/*/*</tt>)<br />
<!-- или release (релизы для сборки пакетов. Пока что не работает. --><br />
* $REFNAME - имя изменения: имя бранча для коммитов, имя тэга для тэгов (техническая подробность: третий и последующие компоненты из изменяемой ссылки <tt>refs/*/*</tt>).<br />
Каждое из полей может быть полным именем или вайлдкардом <tt>*</tt>. Для имён пакетов также разрешён вайлдкард в конце имени (например, <tt>docs-*</tt>).<br />
<br />
==== Примеры ====<br />
<br />
Подписка на все события во всех репозиториях:<br />
* * * *<br />
Подписка на новые/удалённые тэги в репозитории /people/ldv/packages/glibc.git:<br />
ldv glibc tag *<br />
<br />
=== email-distribution ===<br />
<br />
Этот файл позволяет подписать других пользователей <tt>git.alt</tt> на события в ваших репозиториях. Формат файла - последовтельность строк вида:<br />
$PACKAGE $REFTYPE $REFNAME $MAILTO<br />
где<br />
* $PACKAGE, $REFTYPE, $REFNAME аналогичны параметрам из файла email-subscription<br />
* $MAILTO - разделённый запятыми список имён пользователей <tt>git.alt</tt> - получателей оповещения.<br />
Вайлдкарды в первых трёх полях допустимы так же, как и в email-subscription. Вайлдкарды в $MAILTO не допускаются.</div>DmitryLevinhttps://www.altlinux.org/index.php?title=ACL&diff=6258ACL2008-11-20T01:29:49Z<p>DmitryLevin: /* Группы */</p>
<hr />
<div>[[Категория:Sisyphus]]<br />
[[Категория:Devel]]<br />
С каждым пакетом в Сизифе связан ''ACL'' — список пользователей, которые могут залить регулярный пакет в [[incoming]] или запустить сборку с помощью [[git.alt]], и список пользователей, которые могут залить/собрать пакет как [[NMU]]. Для NMU дополнительно указывается интервал действия разрешения.<br />
<br />
== ACL ==<br />
<br />
Текущие списки Sisyphus ACL размещаются по адресу http://git.altlinux.org/acl/:<br />
; list.packages.sisyphus<br />
: Список пользователей, которым разрешена нормальная заливка каждого из пакетов<br />
; list.nmu.sisyphus<br />
: Список пользователей, которым разрешён NMU на заливку указанных пакетов, unixtime начала действия разрешения и опциональный unixtime окончания действия разрешения.<br />
<br />
Кроме того, ACL доступен в SSH-интерфейсе [[git.alt]], в команде <tt>acl show</tt>.<br />
<br />
По умолчанию (после первой сборки пакета и попадания его в репозиторий) ACL устанавливается в «разрешено только майнтейнеру». Майнтейнером считается группа, если тэг <tt>Packager</tt> пакета установлен в <tt><имягруппы>@packages.altlinux.org</tt> или член Team, указанный в <tt>Packager</tt>, в противном случае.<br />
<br />
Первый пользователь в ACL является ''лидером'' пакета и может менять ACL. Кроме того, этот человек назначается ответственным за ошибки в Bugzilla для этого пакета. Остальные пользователи добавляются в CC на ошибки в Bugzilla для этого пакета.<br />
<br />
Кроме пользователей в списке могут быть ''группы''.<br />
<br />
== Группы ==<br />
<br />
Группа — это набор пользователей, вместе работающих над сборкой пакетов и поэтому для краткости обозначаемых в ACL одним словом. Названия групп начинаются с символа <tt>@</tt>.<br />
<br />
Текущий список групп Сизифа размещается по адресу http://git.altlinux.org/acl/list.groups.sisyphus, а также доступен в SSH-интерфейсе <tt>git.alt</tt>, в команде <tt>acl show</tt>.<br />
<br />
Создаются группы вручную, с помощью отправки письма на [mailto:incoming@altlinux.org incoming] с указанием названия группы и начального состава группы.<br />
<br />
Изменяется состав группы с помощью SSH-интерфейса <tt>git.alt</tt> её лидером — первым в списке членов группы.<br />
<br />
=== @nobody ===<br />
<br />
@nobody — специальная псевдогруппа. После удаления всех пользователей из ACL, пакет помечается как принадлежащий @nobody. Любой пользователь может обновить пакет, принадлежащий @nobody, при этом он становится владельцем этого пакета.<br />
<br />
=== @everybody ===<br />
<br />
@everybody — специальная псевдогруппа. После добавления этой группы в ACL пакета, с пакета снимаются ограничения на заливку и на NMU. Принадлежность пакета при таких заливках не меняется.<br />
<br />
== Управление ACL ==<br />
<br />
Управление ACL происходит с помощью SSH-интерфейса [[git.alt]]. См [[Справочник по git.alt#Управление ACL пакетов|справочник по git.alt]] для описания синтаксиса и действий команд.</div>DmitryLevinhttps://www.altlinux.org/index.php?title=ACL&diff=6257ACL2008-11-20T01:27:22Z<p>DmitryLevin: /* ACL */</p>
<hr />
<div>[[Категория:Sisyphus]]<br />
[[Категория:Devel]]<br />
С каждым пакетом в Сизифе связан ''ACL'' — список пользователей, которые могут залить регулярный пакет в [[incoming]] или запустить сборку с помощью [[git.alt]], и список пользователей, которые могут залить/собрать пакет как [[NMU]]. Для NMU дополнительно указывается интервал действия разрешения.<br />
<br />
== ACL ==<br />
<br />
Текущие списки Sisyphus ACL размещаются по адресу http://git.altlinux.org/acl/:<br />
; list.packages.sisyphus<br />
: Список пользователей, которым разрешена нормальная заливка каждого из пакетов<br />
; list.nmu.sisyphus<br />
: Список пользователей, которым разрешён NMU на заливку указанных пакетов, unixtime начала действия разрешения и опциональный unixtime окончания действия разрешения.<br />
<br />
Кроме того, ACL доступен в SSH-интерфейсе [[git.alt]], в команде <tt>acl show</tt>.<br />
<br />
По умолчанию (после первой сборки пакета и попадания его в репозиторий) ACL устанавливается в «разрешено только майнтейнеру». Майнтейнером считается группа, если тэг <tt>Packager</tt> пакета установлен в <tt><имягруппы>@packages.altlinux.org</tt> или член Team, указанный в <tt>Packager</tt>, в противном случае.<br />
<br />
Первый пользователь в ACL является ''лидером'' пакета и может менять ACL. Кроме того, этот человек назначается ответственным за ошибки в Bugzilla для этого пакета. Остальные пользователи добавляются в CC на ошибки в Bugzilla для этого пакета.<br />
<br />
Кроме пользователей в списке могут быть ''группы''.<br />
<br />
== Группы ==<br />
<br />
Группа — это набор пользователей, вместе работающих над сборкой пакетов и поэтому для краткости обозначаемых в ACL одним словом. Названия групп начинаются с символа <tt>@</tt>.<br />
<br />
Текущий список групп размещается по адресу http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/files/list/list.groups, а также доступен в SSH-интерфейсе <tt>git.alt</tt>, в команде <tt>acl show</tt>.<br />
<br />
Создаются группы вручную, с помощью отправки письма на [mailto:incoming@altlinux.org incoming] с указанием названия группы и начального состава группы.<br />
<br />
Изменяется состав группы с помощью SSH-интерфейса <tt>git.alt</tt> её лидером — первым в списке членов группы.<br />
<br />
=== @nobody ===<br />
<br />
@nobody — специальная группа. После удаления всех пользователей из ACL, пакет помечается как принадлежащий @nobody. Любой пользователь может обновить пакет, принадлежащий @nobody, при этом он становится владельцем этого пакета.<br />
<br />
=== @everybody ===<br />
<br />
@everybody — специальная группа. После добавления этой группы в ACL пакета, с пакета снимаются ограничения на заливку и на NMU. Принадлежность пакета при таких заливках не меняется.<br />
<br />
== Управление ACL ==<br />
<br />
Управление ACL происходит с помощью SSH-интерфейса [[git.alt]]. См [[Справочник по git.alt#Управление ACL пакетов|справочник по git.alt]] для описания синтаксиса и действий команд.</div>DmitryLevinhttps://www.altlinux.org/index.php?title=Git.alt/%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA&diff=6256Git.alt/Справочник2008-11-20T01:21:26Z<p>DmitryLevin: /* acl leader */</p>
<hr />
<div>[[Категория:Devel]]<br />
[[Категория:Sisyphus]]<br />
[[Категория:Справочники]]<br />
[[en:git.alt reference]]<br />
Эта страница документирует команды [[git.alt]], но не является [[Краткое руководство пользователя git.alt|кратким руководством]] или учебником по нему.<br />
<br />
__TOC__<br />
<br />
== Как воспользоваться <tt>git.alt</tt>? ==<br />
<br />
<tt>git.alt</tt> предоставляет несколько видов доступа:<br />
<br />
* SSH-доступ. Предоставляет несколько команд: для поиска репозиториев, их клонирования, создания, удаления, а также служебных.<br />
* <tt>ssh</tt>, <tt>git</tt>, <tt>rsync</tt>, <tt>http</tt> — доступ для непосредственной работы с репозиториями. <tt>git</tt>, <tt>rsync</tt> и <tt>http</tt>-адреса предоставляют r/o доступ, <tt>ssh</tt> — r/w.<br />
* Web-интерфейс. Находится по адресу http://git.altlinux.org/, предоставляет навигацию по списку репозиториев и <tt>gitweb</tt> для индивидуальных репозиториев.<br />
<br />
SSH-доступ к <tt>git.alt</tt> выдаётся после [[Join|принятия]] в ALT Linux Team.<br />
<br />
== SSH-доступ ==<br />
<br />
<tt>git.alt</tt> доступен по SSH по адресу <tt>git.altlinux.org:222</tt>. Аккаунт для доступа — <tt>git_$USERNAME</tt>, где USERNAME — имя, присвоенное в процессе принятия в Team, с символами «-» заменёнными на «_».<br />
<br />
Пример <tt>~/.ssh/config</tt>:<br />
Host git.alt<br />
HostName git.altlinux.org<br />
Port 222<br />
User git_USERNAME<br />
<br />
Для работы [[fsi:SSHFirewall|из-за прокси]] и в других сложных условиях SSH также доступен по адресу <tt>git.altlinux.org:443</tt>.<br />
<br />
Для работы с <tt>git.alt</tt> необходимо настроить свой <tt>git</tt> — параметры <tt>user.name</tt>, <tt>user.email</tt>, <tt>user.signingkey</tt>:<br />
$ git-config --global user.signingkey "<ID ключа GPG для подписи тэгов>"<br />
$ git-config --global user.email "<ваш email, как мантейнера>"<br />
$ git-config --global user.name "FirstName LastName"<br />
Например,<br />
$ git-config --global user.signingkey 0xA26F54C8<br />
$ git-config --global user.email dottedmag@altlinux.org<br />
$ git-config --global user.name "Mikhail Gusarov"<br />
<br />
Список команд выдаётся при ssh-логине без команды или с командой <tt>help</tt>:<br />
<br />
$ ssh git.alt help<br />
Available commands:<br />
help<br />
git-receive-pack <directory><br />
git-upload-pack <directory><br />
charset <path to git repository> [<charset>]<br />
clone <path to git repository> [<path to directory>]<br />
find-package <pattern><br />
init-db <path to directory><br />
ls [<path to directory>]<br />
mv-db <path to source directory> <path to destination directory><br />
quota<br />
rm-db <path to git repository><br />
task {list|new|show|drop|add|run} ...<br />
build <path to gear repository> <tag name> [<binary package repository name>] [<project name>]<br />
acl {--help|<binary package repository name> ...}<br />
$<br />
<br />
Во всех командах суффикс директорий репозиториев <tt>.git</tt> опционален и может быть опущен. В выводе команд <tt>.git</tt> присутствует всегда.<br />
<br />
=== Управление git-репозиториями ===<br />
<br />
==== ls ====<br />
<br />
'''$ ssh git.alt ls [<directory>]'''<br />
<br />
Эта команда позволяет посмотреть содержимое различных директорий на <tt>git.alt</tt>:<br />
<br />
$ ssh git.alt ls /people/dottedmag/public<br />
total 24<br />
drwxr-sr-x 5 4096 Jun 13 10:22 bugzilla-repo-sync.git<br />
...<br />
drwxr-sr-x 5 4096 Jul 7 18:03 wackoconvert.git<br />
$<br />
<br />
Без параметров — показывает содержимое <tt>/people/$USERNAME</tt>:<br />
<br />
$ ssh git.alt ls<br />
total 16<br />
drwxr-s--- 5 4096 May 30 21:27 etc<br />
drwxr-sr-x 14 4096 Aug 13 23:53 packages<br />
drwxr-s--x 2 4096 Feb 13 2007 private<br />
drwxr-sr-x 8 4096 Aug 13 23:57 public<br />
$<br />
<br />
От этой же директории отсчитываются относительные пути:<br />
<br />
$ ssh git.alt ls public<br />
total 24<br />
drwxr-sr-x 5 4096 Jun 13 10:22 bugzilla-repo-sync.git<br />
...<br />
drwxr-sr-x 5 4096 Jul 7 18:03 wackoconvert.git<br />
$<br />
<br />
==== find-package ====<br />
<br />
'''$ ssh git.alt find-package <pattern>'''<br />
<br />
Эта команда позволяет искать репозитории по переданному шаблону. Единственный метасимвол, допустимый в шаблоне — <tt>*</tt>. Репозитории ищутся в директории <tt>packages</tt> каждого пользователя, поскольку предполагается, что <tt>[[gear]]</tt>-репозитории располагаются именно там.<br />
<br />
$ ssh git.alt find-package glibc*<br />
/people/avm/packages/glibc.git 1216320095<br />
...<br />
/people/peet/packages/glibc-kernheaders.git 1177084354<br />
/people/mike/packages/glibc-kvercheck.git 1160664813<br />
$ ssh git.alt find-package glibc<br />
/people/avm/packages/glibc.git 1216320095<br />
...<br />
/people/peet/packages/glibc.git 1177084600<br />
$<br />
<br />
Вторая колонка в выводе <tt>find-package</tt> — unixtime времени последнего обновления репозитория.<br />
<br />
==== clone ====<br />
<br />
'''$ ssh git.alt clone <path to git repository> [<destination directory>]'''<br />
<br />
Эта команда позволяет «склонировать», то есть создать в своей директории копию репозитория для начала работы над ним.<br />
<br />
Без второго аргумента — клонирует в директорию <tt>packages</tt>:<br />
<br />
$ ssh git.alt clone /people/ldv/glibc.git<br />
Initialized empty Git repository in /people/dottedmag/packages/glibc.git/<br />
$<br />
<br />
Вторым аргументом можно указать как директорию, в которую нужно поместить клон репозитория, так и название репозитория:<br />
<br />
$ ssh git.alt clone /people/ldv/glibc.git public<br />
Initialized empty Git repository in /people/dottedmag/public/glibc.git/<br />
$ ssh git.alt clone /people/ldv/glibc.git public/test<br />
Initialized empty Git repository in /people/dottedmag/public/test.git/<br />
$<br />
<br />
Можно также склонировать репозиторий, находящийся вне <tt>git.alt</tt>:<br />
<br />
$ ssh git.alt clone <nowiki>http://github.com/dottedmag/madshelf.git</nowiki> public<br />
Initialized empty Git repository in /people/dottedmag/packages/public.git/<br />
Getting alternates list for <nowiki>http://github.com/dottedmag/madshelf.git</nowiki><br />
...<br />
walk 03d18e21d85fa30fc3ac8d921eb391e2a7bb242a<br />
$<br />
<br />
==== init-db ====<br />
<br />
'''$ ssh git.alt init-db <path to directory>'''<br />
Позволяет создать новый git-репозиторий. По умолчанию репозиторий создаётся в директории <tt>packages</tt>:<br />
$ ssh git.alt init-db test<br />
Initialized empty Git repository in ./<br />
girar-init-db: /people/dottedmag/packages/test.git<br />
При указании пути создаёт репозиторий по указанному пути:<br />
$ ssh git.alt init-db public/test<br />
Initialized empty Git repository in ./<br />
girar-init-db: /people/dottedmag/public/test.git<br />
<br />
==== mv-db ====<br />
<br />
'''$ ssh git.alt mv-db <path to source directory> <path to destination directory>'''<br />
Позволяет перемещать и переименовывать свои репозитории. При указании только имени репозитория подразумевается директория <tt>packages</tt>.<br />
<br />
Перемещение packages/test.git в public/newname.git:<br />
$ ssh git.alt mv-db test public/newname<br />
$<br />
Перемещение public/newname.git в packages/test.git:<br />
$ ssh git.alt mv-db public/newname test<br />
$<br />
Переименовывание packages/test.git в packages/megatest.git:<br />
$ ssh git.alt mv-db test megatest<br />
$<br />
<br />
==== rm-db ====<br />
<br />
'''$ ssh git.alt rm-db <path to git repository>'''<br />
Позволяет удалять свои репозитории. При указании только имени репозитория подразумевается директория <tt>packages</tt>:<br />
$ ssh git.alt rm-db megatest # удаляет packages/megatest.git<br />
$ ssh git.alt rm-db public/test<br />
<br />
=== Управление ACL пакетов ===<br />
<br />
''Смотри [[ACL]] для общей информации об ACL пакетов в Sisyphus.''<br />
<br />
Команда <tt>acl</tt> требует указания репозитория, над которым производится работа. На данный момент существует только репозиторий Sisyphus с меткой <tt>sisyphus</tt>.<br />
<br />
Если в командной строке указан только репозиторий, но не указана подкоманда, то список команд читается со стандартного ввода, по одной команде на строку, и выполняется тразакционно: ошибка в выполнении хотя бы одной команды отменяет действие всего набора команд:<br />
$ ssh git.alt acl sisyphus keyjnote<br />
girar-acl: Go ahead and type your commands<br />
'''keyjnote add peet'''<br />
'''keyjnote add raorn'''<br />
'''^D'''<br />
girar-acl: 2 command(s) queued<br />
$<br />
<br />
Все команды, меняющие состав группы или ACL пакета, могут производиться только ''лидером'' — первым в списке ACL пакета или в составе группы. Все такие операции выполняются асинхронно и результат их выполнения сообщается по email.<br />
<br />
==== acl show ====<br />
<br />
'''$ ssh git.alt acl <binary repository> <package> show'''<br />
Показывает ACL указанного пакета<br />
<br />
$ ssh git.alt acl sisyphus bugzilla show<br />
bugzilla @nobody<br />
<br />
'''$ ssh git.alt acl <binary repository> @<group> show'''<br />
Показывает состав указанной группы майнтайнеров.<br />
<br />
$ ssh git.alt acl sisyhpus @python show<br />
@python ns ldv george akhavr bga lav swi at hiddenman sin mithraen kas<br />
<br />
==== acl add/del ====<br />
<br />
'''$ ssh git.alt acl <binary repository> <package> add|del <login>|@<group> ...<br />
Добавляет/удаляет указанных пользователей и группы в/из ACL указанного пакета.<br />
<br />
$ ssh git.alt acl sisyphus keyjnote add damir<br />
girar-acl: 1 command(s) queued<br />
$ ssh git.alt acl sisyphus keyjnote del damir<br />
girar-acl: 1 command(s) queued<br />
<br />
'''$ ssh git.alt acl <binary repository> @<group> add|del <login>|@<group> ...<br />
Добавляет/удаляет указанных пользователей и группы в/из указанной группы.<br />
<br />
$ ssh git.alt acl sisyphus keyjnote add @python<br />
girar-acl: 1 command(s) queued<br />
$ ssh git.alt acl sisyphus keyjnote del @python<br />
girar-acl: 1 command(s) queued<br />
<br />
==== acl replace ====<br />
<br />
'''$ ssh git.alt acl <binary repository> <package>|@<group> replace <login>|@<group> <login>|@<group>'''<br />
Заменяет укзаанную запись в ACL пакета или составе группы на вторую указанную.<br />
<br />
$ ssh git.alt acl sisyphus keyjnote replace dottedmag @python<br />
Заменяет в ACL пакета <tt>keyjnote</tt> запись <tt>dottedmag</tt> на <tt>@python</tt>.<br />
<br />
==== acl leader ====<br />
<br />
'''$ ssh git.alt acl <binary repository> <package> leader <login>|@<group><br />
Устанавливает лидера пакета — указанного пользователя, или лидера указанной группы. Пользователь или группа, устанавливаемые лидерами, не обязаны присутствовать в списке ACL пакета до выполнения этой команды.<br />
<br />
$ ssh git.alt acl sisyphus keyjnote leader @python<br />
<br />
'''$ ssh git.alt acl <binary repository> @<group> leader <login>|@<group><br />
Устанавливает лидера группы — указанного пользователя, или лидера указанной группы. Пользователь или группа, устанавливаемые лидерами, не обязаны присутствовать в списке членов группы до выполнения этой команды.<br />
<br />
$ ssh git.alt acl sisyphus @python leader ns<br />
<br />
==== acl nmu ====<br />
<br />
'''$ ssh git.alt acl <binary repository> <package> nmu add|del [<login> [<start date> [<end date>]]]'''<br />
Выдаёт/снимает разрешение на проведение [[NMU]] указанного пакета.<br />
<br />
Параметры:<br />
* '''login''' — аккаунт, которому даётся разрешение на NMU. '''*''' или отсутствие параметра означает «кому угодно»<br />
* '''start date''' — дата начала действия NMU, в формате unixtime. Отсутствие параметра означает «немедленно»<br />
* '''end date''' — дата окончания действия NMU, в формате unixtmie. Отсутствие параметра означает «никогда».<br />
<br />
Удаление разрешения происходит по точному соответствию имени аккаунта, так что <tt>del *</tt> не приведёт к отмене всех NMU, выданных на пакет. С другой стороны, <tt>del user</tt> приведёт к отмене всех NMU, выданных данному пользователю.<br />
<br />
'''$ ssh git.alt acl <binary repository> <package> nmu show'''<br />
Выдаёт список NMU для указанного пакета, в формате<br />
<package> <login> <start date> <end date><br />
<br />
0 в поле ''end date'' означает «без ограничения».<br />
<br />
=== Сборка пакетов из [[gear]] ===<br />
<br />
Для сборки пакетов используется механизм ''задач'' — пользователь указывает, какие [[gear]]-репозитории необходимо собрать одной транзакцией, создавая задачу, после чего запускает её на выполнение. Задачи выполняются асинхронно. После завершения задачи пользователю приходит отчёт по e-mail.<br />
<br />
==== task ====<br />
<br />
'''$ ssh git.alt task list'''<br />
Показывает текущий набор ещё не запущенных задач пользователя.<br />
'''$ ssh git.alt task new [<binary repository>]'''<br />
Создаёт новую задачу для сборки пакетов в указанный репозиторий (по умолчанию - Sisyphus). Данная команда выдаёт идентификатор задачи на stdout.<br />
'''$ ssh git.alt task show <id>'''<br />
Показывает содержимое указанной задачи.<br />
'''$ ssh git.alt task drop <id>'''<br />
Удаляет указанную задачу.<br />
'''$ ssh git.alt task add [<id>] <gear repo path> <tag name> [<project name>]'''<br />
Добавляет в задачу (указанную аргументом или последнюю созданную) пакет, который необходимо собрать. Пакет указывается путём к gear-репозиторию и именем git-тэга.<br />
<br />
Пример:<br />
$ ssh git.alt task list<br />
$ ssh git.alt task new<br />
1227033465<br />
$ ssh git.alt task list<br />
1227033465<br />
$ ssh git.alt task show 1227033465<br />
user dottedmag<br />
repo sisyphus<br />
$ ssh git.alt task add keyjnote 0.10.2-alt2<br />
girar-check-perms: allowed: project leader<br />
$ ssh git.alt task show 1227033465<br />
user dottedmag <br />
repo sisyphus<br />
package keyjnote /people/dottedmag/packages/keyjnote.git 0.10.2-alt2 628b5199c0c0d7640181f2bf7c2e65d4bb3bfa2d sisyphus<br />
$ ssh git.alt task run 1227033465<br />
Queued #1227033465<br />
$<br />
<br />
Необязательный параметр ''project name'' используется для указания имени создаваемого <tt>src.rpm</tt>-файла, в том случае, если оно не совпадает с именем директории gear-репозитория.<br />
<br />
==== build ====<br />
<br />
'''$ ssh git.alt build <gear repo path> <tag name> [<binary repository>] [<project name>]'''<br />
Эта команда создаёт задачу по сборке указанного пакета и запускает её на выполнение. Параметры ''binary repository'' и ''project name'' имеют тот же смысл, что и в командах <tt>task new</tt> и <tt>task add</tt> соответственно.<br />
<br />
=== Вспомогательные команды ===<br />
<br />
==== charset ====<br />
<br />
'''$ ssh git.alt charset <path to git repository> [<charset>]'''<br />
<br />
Позволяет узнать или установить кодировку, используемую почтовым клиентом при отправке уведомлений, содержащих цитаты изменений файлов указанного git-репозитория:<br />
<br />
$ ssh git.alt charset packages/glibc<br />
utf-8<br />
$ ssh git.alt charset packages/glibc cp1252<br />
$ ssh git.alt charset packages/glibc<br />
cp1252<br />
$<br />
<br />
==== quota ====<br />
<br />
'''$ ssh git.alt quota'''<br />
<br />
Позволяет узнать квоту и занимаемое пользователем дисковое пространство.<br />
<br />
$ ssh git.alt quota<br />
Filesystem blocks quota limit grace files quota limit grace<br />
/dev/simfs 16932 977M 1465M 555 100k 150k <br />
$<br />
<br />
==== git-receive-pack, git-upload-pack ====<br />
<br />
Эти команды используются утилитами <tt>git-push</tt>, <tt>git-pull</tt> и подобными и не предназначены для вызова пользователем.<br />
<br />
=== Клонирование и работа с репозиториями ===<br />
<br />
Работа с git-репозиториями, расположенными на <tt>git.alt</tt>, ничем не отличается от работы с другими git-репозиториями.<br />
<br />
URL-ы репозиториев на git.alt:<br />
; '''git''' (r/o)<br />
: <tt>git://git.altlinux.org/people/$USER/(packages|public)/$PACKAGE.git</tt><br />
; '''rsync''' (r/o)<br />
: <tt>git.altlinux.org::people/$USER/(packages|public)/$PACKAGE.git</tt><br />
; '''http''' (r/o)<br />
: <tt><nowiki>http://git.altlinux.org/people/$USER/(packages|public)/$PACKAGE.git</nowiki></tt><br />
; '''ssh''' (r/w)<br />
: <tt>ssh://git.altlinux.org/people/$USER/(etc|packages|public|private)/$PACKAGE.git</tt><br />
<br />
HTTP- и git-URL-ы репозиториев можно в любой момент узнать в web-интерфейсе <tt>git.alt</tt>.<br />
<br />
=== Web-интерфейс ===<br />
<br />
Располагается по адресу http://git.altlinux.org/<br />
<br />
Предоставляет навигацию по публичным репозиториям пользователей (директории <tt>/people/$USERNAME/{packages,public}</tt>) и <tt>gitweb</tt>-интерфейс к этим репозиториям.<br />
<br />
Кроме этого, в web-интерфейсе представлены репозитории <tt>/archive</tt> (без <tt>gitweb</tt>, только для клонирования) и файл <tt>people-packages-list</tt>, содержащий все репозитории из директорий <tt>/people/$USERNAME/packages</tt> и даты их последнего изменения (в unixtime).<br />
<br />
== Структура репозиториев ==<br />
<br />
<tt>git.alt</tt> содержит два дерева репозиториев:<br />
<br />
* репозитории <tt>/people/$USERNAME</tt> для каждого зарегистрированного пользователя<br />
* репозитории <tt>/archive</tt> для пакетов Sisyphus<br />
<br />
=== /people ===<br />
<br />
Каждому зарегистрированному на git.alt разработчику предоставляется место для git-репозиториев, начинающееся с <tt>/people/$USERNAME</tt>. Доступ на запись в эти директории даётся только владельцу. Структура для хранения репозиториев жёстко определена:<br />
<br />
==== /people/$USERNAME/etc ====<br />
<br />
Содержит репозитории <tt>packages.git</tt>, <tt>private.git</tt>, <tt>public.git</tt>, с помощью которых можно управлять [[#Почтовая подписка|почтовой подпиской]]. Эти репозитории доступны на чтение только владельцу.<br />
<br />
==== /people/$USERNAME/packages ====<br />
<br />
Директория предназначена для хранения gear-репозиториев для пакетов Сизифа. Публично доступна.<br />
<br />
git-репозитории в этой директории будут искаться при выполнении команды <tt>find-package</tt>, и эта директория будет использоваться по умолчанию в командах <tt>init-db</tt>, <tt>clone</tt>, <tt>build</tt>.<br />
<br />
==== /people/$USERNAME/private ====<br />
<br />
Директория предназначена для хранения приватных репозиториев, о существовании и содержании которых должно быть известно только самому разработчику.<br />
<br />
Для удобства работают прямые http-ссылки на файлы репозиториев, размещённых в этой директории.<br />
<br />
==== /people/$USERNAME/public ====<br />
<br />
Директория предназначен для хранения публичных git-репозиториев, не являющихся gear-репозиториями для пакетов Сизифа.<br />
<br />
=== /archive ===<br />
<br />
В этой директории размещаются gear-репозитории пакетов Sisyphus.<br />
<br />
Репозиторий для каждого пакета создаётся с помощью утилиты <tt>gear-srpmimport</tt> на основе прошедших [[incoming]] <tt>src.rpm</tt>-пакетов, а не на основе <tt>gear</tt>-репозитория, из которых были собраны <tt>src.rpm</tt>, поэтому репозиторий /archive следует использовать для разработки только в том случае, когда <tt>gear</tt>-репозиторий для пакета отсутствует.<br />
<br />
== Почтовая подписка ==<br />
<br />
На <tt>git.alt</tt> реализовано два вида почтовой подписки на события:<br />
* Пользователь подписывается на события, происходящие в репозиториях <tt>public</tt> и <tt>packages</tt>.<br />
* Пользователь подписывает кого-то на события, происходящие в '''его''' репозиториях <tt>public</tt>, <tt>packages</tt> и <tt>private</tt>.<br />
<br />
Для подписки используются репозитории из директории <tt>etc</tt>: <tt>packages.git</tt>, <tt>public.git</tt>, <tt>private.git</tt>. Схема работы с подписками напоминает работу с <tt>CVSROOT</tt> из CVS: пользователь клонирует нужный репозиторий, коммитит изменения в него и push-ит обратно на сервер, после чего изменения вступают в силу.<br />
<br />
В каждом из трёх репозиториев находится два файла: <tt>email-subscription</tt> и <tt>email-distribution</tt> (точнее, в <tt>private.git</tt> - только <tt>email-distribution</tt>). <tt>git.alt</tt> использует бранч <tt>master</tt> и не обращает внимания на остальные бранчи в этих репозиториях.<br />
<br />
=== email-subscription ===<br />
<br />
Этот файл позволяет подписаться на события в публичных репозиториях <tt>git.alt</tt>. Формат файла - последовательность строк следующего вида:<br />
$USER $PACKAGE $REFTYPE $REFNAME<br />
где<br />
* $USER - имя пользователя <tt>git.alt</tt>,<br />
* $PACKAGE - имя пакета,<br />
* $REFTYPE - вид изменения: <tt>head</tt> - новые/удалённые коммиты, <tt>tag</tt> - новые/удалённые тэги (техническая подробность: второй компонент из изменяемой ссылки <tt>refs/*/*</tt>)<br />
<!-- или release (релизы для сборки пакетов. Пока что не работает. --><br />
* $REFNAME - имя изменения: имя бранча для коммитов, имя тэга для тэгов (техническая подробность: третий и последующие компоненты из изменяемой ссылки <tt>refs/*/*</tt>).<br />
Каждое из полей может быть полным именем или вайлдкардом <tt>*</tt>. Для имён пакетов также разрешён вайлдкард в конце имени (например, <tt>docs-*</tt>).<br />
<br />
==== Примеры ====<br />
<br />
Подписка на все события во всех репозиториях:<br />
* * * *<br />
Подписка на новые/удалённые тэги в репозитории /people/ldv/packages/glibc.git:<br />
ldv glibc tag *<br />
<br />
=== email-distribution ===<br />
<br />
Этот файл позволяет подписать других пользователей <tt>git.alt</tt> на события в ваших репозиториях. Формат файла - последовтельность строк вида:<br />
$PACKAGE $REFTYPE $REFNAME $MAILTO<br />
где<br />
* $PACKAGE, $REFTYPE, $REFNAME аналогичны параметрам из файла email-subscription<br />
* $MAILTO - разделённый запятыми список имён пользователей <tt>git.alt</tt> - получателей оповещения.<br />
Вайлдкарды в первых трёх полях допустимы так же, как и в email-subscription. Вайлдкарды в $MAILTO не допускаются.</div>DmitryLevinhttps://www.altlinux.org/index.php?title=Incoming&diff=6122Incoming2008-11-18T15:28:30Z<p>DmitryLevin: /* Документация */</p>
<hr />
<div>[[Категория:Sisyphus]]<br />
[[Категория:Devel]]<br />
<tt>incoming</tt> — это инфраструктура Sisyphus, выполняющая несколько функций:<br />
* Приём пакетов для последующего помещения их в репозитории (Sisyphus, backports, updates)<br />
* Управление ACL пакетов<br />
<br />
== Документация ==<br />
* [[Справочник по incoming]]<br />
* [[incoming HOWTO]]<br />
* [[Incoming/acl|Руководство по incoming ACL]]<br />
<br />
* [[Incoming/details|Детали функционирования incoming]]</div>DmitryLevinhttps://www.altlinux.org/index.php?title=CoreSystem/All-todo&diff=5854CoreSystem/All-todo2008-11-13T01:29:30Z<p>DmitryLevin: </p>
<hr />
<div>== Сводный список планов ==<br />
=== Alterator ===<br />
* [[Alterator/todo]]<br />
=== Ядро ===<br />
{{:CoreSystem/kernel}}<br />
{{:CoreSystem/coreutils}}<br />
=== Printing ===<br />
{{:CoreSystem/printing}}<br />
=== Xorg ===<br />
{{:CoreSystem/Xorg}}<br />
=== APT, RPM ===<br />
{{:CoreSystem/aptrpm}}<br />
=== Virtualization ===<br />
{{:CoreSystem/Virtualization}}</div>DmitryLevinhttps://www.altlinux.org/index.php?title=CoreSystem/coreutils&diff=5853CoreSystem/coreutils2008-11-13T01:27:20Z<p>DmitryLevin: /* Sisyphus Core - базовые библиотеки и утилиты */</p>
<hr />
<div>[[Category:Sisyphus]]<br />
<br />
== Sisyphus Core - базовые библиотеки и утилиты ==<br />
<br />
=== Планы ===<br />
<br />
* {{завершено|1|1}} обновление toolchain до gcc-4.3.x/glibc-2.8.90+/binutils-2.18.50.x ({{man|ldv}}, {{man|wart}})<br />
* {{завершено|1|1}} обновление autoconf/automake до свежих версий ({{man|ldv}}, {{man|rider}})<br />
* {{завершено|1|1}} обновление openssl до 0.9.8h ({{man|sin}})<br />
* {{завершено|1|1}} возможность задавать лимиты для системных сервисов ({{man|ldv}}, {{man|legion}})<br />
* {{завершено|1|1}} обновление {{pkg|libcap}} до 2.14+ ({{man|ldv}})<br />
* {{завершено|209|224}} перевод всех использующих libssl пакетов на libssl7 ({{man|sin}}, {{man|ldv}})<br />
* {{завершено|43|52}} перевод всех использующих libdb4 пакетов на libdb4.7 ({{man|ldv}})<br />
* {{завершено|0|1}} исправление сборки основной массы пакетов, пострадавшей после обновления toolchain ({{man|ldv}})<br />
* {{завершено|0|1}} обновление {{pkg|libpcap}} до 1.0.0+ ({{man|ldv}})<br />
* {{завершено|0|1}} обновление {{pkg|shadow-utils}}, внедрение враппера для использования в %pre- и %post-скриптах ({{man|ldv}})<br />
* {{завершено|0|1}} [?] обновление libtool до 2.2.x ({{man|ldv}}, {{man|rider}})</div>DmitryLevinhttps://www.altlinux.org/index.php?title=CoreSystem/coreutils&diff=5852CoreSystem/coreutils2008-11-13T01:24:33Z<p>DmitryLevin: /* Планы */</p>
<hr />
<div>[[Category:Sisyphus]]<br />
<br />
== Sisyphus Core - базовые библиотеки и утилиты ==<br />
<br />
<onlyinclude><br />
=== Планы ===<br />
<br />
* {{завершено|1|1}} обновление toolchain до gcc-4.3.x/glibc-2.8.90+/binutils-2.18.50.x ({{man|ldv}}, {{man|wart}})<br />
* {{завершено|1|1}} обновление autoconf/automake до свежих версий ({{man|ldv}}, {{man|rider}})<br />
* {{завершено|1|1}} обновление openssl до 0.9.8h ({{man|sin}})<br />
* {{завершено|1|1}} возможность задавать лимиты для системных сервисов ({{man|ldv}}, {{man|legion}})<br />
* {{завершено|1|1}} обновление {{pkg|libcap}} до 2.14+ ({{man|ldv}})<br />
* {{завершено|209|224}} перевод всех использующих libssl пакетов на libssl7 ({{man|sin}}, {{man|ldv}})<br />
* {{завершено|43|52}} перевод всех использующих libdb4 пакетов на libdb4.7 ({{man|ldv}})<br />
* {{завершено|0|1}} исправление сборки основной массы пакетов, пострадавшей после обновления toolchain ({{man|ldv}})<br />
* {{завершено|0|1}} обновление {{pkg|libpcap}} до 1.0.0+ ({{man|ldv}})<br />
* {{завершено|0|1}} обновление {{pkg|shadow-utils}}, внедрение враппера для использования в %pre- и %post-скриптах ({{man|ldv}})<br />
* {{завершено|0|1}} [?] обновление libtool до 2.2.x ({{man|ldv}}, {{man|rider}})</div>DmitryLevinhttps://www.altlinux.org/index.php?title=CoreSystem&diff=5851CoreSystem2008-11-13T01:10:39Z<p>DmitryLevin: /* Желательно реализовать */</p>
<hr />
<div>[[Category:Sisyphus]]<br />
<br />
{{SisyphusNavigationBlock}}<br />
<br />
== Sisyphus — базовая система ==<br />
Базовая система — основа, на которой выпускаются все возможные решения.<br />
Основное обсуждение разработки платформы происходит в рассылке devel@.<br />
<br />
Все свои пожелания по развитию системы высказывайте в<br />
[[Coresystem/wishlist|Книге жалоб и предложений]].<br />
<br />
Также существует [[Coresystem/all-todo|Сводный список текущих планов]].<br />
<br />
=== Состав разработчиков ===<br />
<div style="display: inline; color: red;">Запишите себя, если кого забыли ;)</div><br />
<br />
* [http://sisyphus.ru/packager/ldv ldv@] — главный архитектор платформы<br />
* [http://sisyphus.ru/packager/at at@] — инфраструктура пакетов<br />
* [http://sisyphus.ru/packager/inger inger@] — подсистема управления, подсистема печати<br />
* [http://sisyphus.ru/packager/slazav slazav@] — подсистема управления<br />
* [http://sisyphus.ru/packager/shrek shrek@] — графическая подсистема, ядро и оборудование<br />
* [http://sisyphus.ru/packager/silicium silicium@] — ядро и оборудование<br />
* [http://sisyphus.ru/packager/aspsk aspsk@] — поддержка виртуализации<br />
* [http://sisyphus.ru/packager/legion legion@] — инфраструктура разработки<br />
* [http://sisyphus.ru/packager/cas cas@] — контроль качества, локализация<br />
<br />
=== Состав базовой системы ===<br />
: Планы составляют только мантейнеры соответствующих подсистем<br />
* [[CoreSystem/kernel|Ядро и оборудование]] — shrek, silicium<br />
* [[CoreSystem/coreutils|Базовые библиотеки и утилиты]] — ldv<br />
* [[CoreSystem/security|Подсистема безопасности]] — ldv<br />
* [[CoreSystem/printing|Подсистема печати]] — inger, viy<br />
* [[CoreSystem/Xorg|Графическая подсистема]] — shrek<br />
* [[CoreSystem/aptrpm|Пакетная система]] — at, ldv<br />
* [[Alterator|Подсистема управления]] — inger, slazav<br />
* [[CoreSystem/Virtualization|Поддержка виртуализации]] — aspsk, ldv<br />
* [[TeXSubsystem|Подсистема TeX]] — bga, kirill<br />
<br />
=== Выпуски ===<br />
<br />
==== Core 1.0 ====<br />
<br />
'''Состояние''': в разработке<br/><br />
'''Завершение''': 30 ноября 2008<br/><br />
<br />
[http://bugzilla.altlinux.org/buglist.cgi?keywords=sisyphus-core-1.0 Список ошибок]<br />
<br />
==== Планируемые изменения ====<br />
<br />
===== Обязательно реализовать =====<br />
{| class="standard"<br />
!Задача<br />
!Ответственный<br />
!Статус<br />
|-<br />
|Улучшение поддержки ovz в libvirt до минимально приемлемого уровня<br />
|{{man|aspsk}}<br />
|{{done}}<br />
|-<br />
|Отладка миграции VE через libvirt<br />
|{{man|aspsk}}<br />
|<br />
|-<br />
|alterator-mkve<br />
|{{man|aspsk}}<br />
|<br />
|-<br />
|alterator-libvirt<br />
|{{man|aspsk}}<br />
|<br />
|-<br />
|Подготовка готовых профилей VE (бывшие ve-*)<br />
|{{man|aspsk}}<br />
|<br />
|-<br />
|Обновление toolchain до gcc-4.3.x/glibc-2.9/binutils-2.18.50.x<br />
|{{man|ldv}}<br />
|{{done}}<br />
|-<br />
|Обновление glibc-kernheaders до 2.6.27<br />
|{{man|kas}}<br />
|{{done}}<br />
|-<br />
|Обновление kernel-image-std-* до 2.6.27<br />
|{{man|silicium}}<br />
|{{done}}<br />
|-<br />
|Управление alt-gpgkeys через git.alt<br />
|{{man|inger}}<br />
|<br />
|-<br />
|Новая инфраструктура incominger<br />
|{{man|ldv}}, {{man|legion}}<br />
|<br />
|-<br />
|Переход от xinf файлов на fdi<br />
|{{man|shrek}}<br />
|{{done}}<br />
|-<br />
|hunspell как замена всех *spell<br />
|{{man|shrek}}<br />
|<br />
|-<br />
|Документация по сборке ядра для ALT<br />
|{{man|silicium}}<br />
|<br />
|-<br />
|Обновление инфраструктуры сборки ядра (автоматизация сборки всех subflavourов ядер)<br />
|{{man|silicium}}<br />
|{{done}}<br />
|-<br />
|Подготовка унифицированной среды использования синтезаторов речи<br />
|{{man|msp}}<br />
|<br />
|-<br />
|Подготовка пакетов для дистрибутива с речевым интерфейсом Homeros<br />
|{{man|msp}}<br />
|<br />
|-<br />
|Озвучка alterator-browser-qt<br />
|{{man|msp}}<br />
|<br />
|-<br />
|Обновление man для поддержки man-страниц в разных кодировках <br />
|{{man|legion}}<br />
|{{done}}<br />
|-<br />
|installable livecd<br />
|{{man|inger}}<br />
|<br />
|-<br />
|Обновление libcap до 2.14+<br />
|{{man|ldv}}<br />
|{{done}}<br />
|-<br />
|Возможность задавать лимиты для системных сервисов<br />
|{{man|ldv}}, {{man|legion}}<br />
|{{done}}<br />
|-<br />
|}<br />
<br />
===== Желательно реализовать =====<br />
{| class="standard"<br />
!Задача<br />
!Ответственный<br />
!Статус<br />
|-<br />
|Обновление libtool до 2.2.x<br />
|{{man|ldv}}, {{man|rider}}<br />
|<br />
|-<br />
|Добавить модуль pam_ck_connector и уменьшить количество подконтрольных устройств у pam_console<br />
|{{man|shrek}}<br />
|<br />
|-<br />
|Интегрировать [http://roy.marples.name/projects/openresolv openresolv]<br />
|{{man|ldv}}, {{man|legion}}<br />
|<br />
|-<br />
|Единая схема именования принтерных пакетов (printer-driver-xxx)<br />
|{{man|inger}}<br />
|<br />
|-<br />
|Замена gitweb на gitorious<br />
|{{man|ab}}<br />
|<br />
|-<br />
|Управление почтовыми алиасами мантейнеров через git.alt<br />
|{{man|ldv}}<br />
|<br />
|-<br />
|Интеграция кусочков конфигурации monit в пакеты с соответствующими сервисами<br />
|{{man|mike}}<br />
|<br />
|-<br />
|Переехать на адаптированную версию console-setup<br />
|{{man|legion}}<br />
|<br />
|-<br />
|Автоматически изменять кодировку man-страниц на utf8 (там где это возможно) при запаковке rpm-пакета<br />
|{{man|legion}}<br />
|<br />
|-<br />
|Сделать разделяемую базу [https://wiki.mozilla.org/NSS_Shared_DB NSS]<br />
|{{man|legion}}<br />
|<br />
|-<br />
|Обновить libpcap до 1.0.0+<br />
|{{man|ldv}}<br />
|<br />
|-<br />
|Обновить [http://pkg-shadow.alioth.debian.org shadow-utils], внедрить враппер для использования в %pre- и %post-скриптах<br />
|{{man|ldv}}<br />
|<br />
|-<br />
|}</div>DmitryLevinhttps://www.altlinux.org/index.php?title=CoreSystem&diff=5850CoreSystem2008-11-13T01:10:06Z<p>DmitryLevin: /* Обязательно реализовать */</p>
<hr />
<div>[[Category:Sisyphus]]<br />
<br />
{{SisyphusNavigationBlock}}<br />
<br />
== Sisyphus — базовая система ==<br />
Базовая система — основа, на которой выпускаются все возможные решения.<br />
Основное обсуждение разработки платформы происходит в рассылке devel@.<br />
<br />
Все свои пожелания по развитию системы высказывайте в<br />
[[Coresystem/wishlist|Книге жалоб и предложений]].<br />
<br />
Также существует [[Coresystem/all-todo|Сводный список текущих планов]].<br />
<br />
=== Состав разработчиков ===<br />
<div style="display: inline; color: red;">Запишите себя, если кого забыли ;)</div><br />
<br />
* [http://sisyphus.ru/packager/ldv ldv@] — главный архитектор платформы<br />
* [http://sisyphus.ru/packager/at at@] — инфраструктура пакетов<br />
* [http://sisyphus.ru/packager/inger inger@] — подсистема управления, подсистема печати<br />
* [http://sisyphus.ru/packager/slazav slazav@] — подсистема управления<br />
* [http://sisyphus.ru/packager/shrek shrek@] — графическая подсистема, ядро и оборудование<br />
* [http://sisyphus.ru/packager/silicium silicium@] — ядро и оборудование<br />
* [http://sisyphus.ru/packager/aspsk aspsk@] — поддержка виртуализации<br />
* [http://sisyphus.ru/packager/legion legion@] — инфраструктура разработки<br />
* [http://sisyphus.ru/packager/cas cas@] — контроль качества, локализация<br />
<br />
=== Состав базовой системы ===<br />
: Планы составляют только мантейнеры соответствующих подсистем<br />
* [[CoreSystem/kernel|Ядро и оборудование]] — shrek, silicium<br />
* [[CoreSystem/coreutils|Базовые библиотеки и утилиты]] — ldv<br />
* [[CoreSystem/security|Подсистема безопасности]] — ldv<br />
* [[CoreSystem/printing|Подсистема печати]] — inger, viy<br />
* [[CoreSystem/Xorg|Графическая подсистема]] — shrek<br />
* [[CoreSystem/aptrpm|Пакетная система]] — at, ldv<br />
* [[Alterator|Подсистема управления]] — inger, slazav<br />
* [[CoreSystem/Virtualization|Поддержка виртуализации]] — aspsk, ldv<br />
* [[TeXSubsystem|Подсистема TeX]] — bga, kirill<br />
<br />
=== Выпуски ===<br />
<br />
==== Core 1.0 ====<br />
<br />
'''Состояние''': в разработке<br/><br />
'''Завершение''': 30 ноября 2008<br/><br />
<br />
[http://bugzilla.altlinux.org/buglist.cgi?keywords=sisyphus-core-1.0 Список ошибок]<br />
<br />
==== Планируемые изменения ====<br />
<br />
===== Обязательно реализовать =====<br />
{| class="standard"<br />
!Задача<br />
!Ответственный<br />
!Статус<br />
|-<br />
|Улучшение поддержки ovz в libvirt до минимально приемлемого уровня<br />
|{{man|aspsk}}<br />
|{{done}}<br />
|-<br />
|Отладка миграции VE через libvirt<br />
|{{man|aspsk}}<br />
|<br />
|-<br />
|alterator-mkve<br />
|{{man|aspsk}}<br />
|<br />
|-<br />
|alterator-libvirt<br />
|{{man|aspsk}}<br />
|<br />
|-<br />
|Подготовка готовых профилей VE (бывшие ve-*)<br />
|{{man|aspsk}}<br />
|<br />
|-<br />
|Обновление toolchain до gcc-4.3.x/glibc-2.9/binutils-2.18.50.x<br />
|{{man|ldv}}<br />
|{{done}}<br />
|-<br />
|Обновление glibc-kernheaders до 2.6.27<br />
|{{man|kas}}<br />
|{{done}}<br />
|-<br />
|Обновление kernel-image-std-* до 2.6.27<br />
|{{man|silicium}}<br />
|{{done}}<br />
|-<br />
|Управление alt-gpgkeys через git.alt<br />
|{{man|inger}}<br />
|<br />
|-<br />
|Новая инфраструктура incominger<br />
|{{man|ldv}}, {{man|legion}}<br />
|<br />
|-<br />
|Переход от xinf файлов на fdi<br />
|{{man|shrek}}<br />
|{{done}}<br />
|-<br />
|hunspell как замена всех *spell<br />
|{{man|shrek}}<br />
|<br />
|-<br />
|Документация по сборке ядра для ALT<br />
|{{man|silicium}}<br />
|<br />
|-<br />
|Обновление инфраструктуры сборки ядра (автоматизация сборки всех subflavourов ядер)<br />
|{{man|silicium}}<br />
|{{done}}<br />
|-<br />
|Подготовка унифицированной среды использования синтезаторов речи<br />
|{{man|msp}}<br />
|<br />
|-<br />
|Подготовка пакетов для дистрибутива с речевым интерфейсом Homeros<br />
|{{man|msp}}<br />
|<br />
|-<br />
|Озвучка alterator-browser-qt<br />
|{{man|msp}}<br />
|<br />
|-<br />
|Обновление man для поддержки man-страниц в разных кодировках <br />
|{{man|legion}}<br />
|{{done}}<br />
|-<br />
|installable livecd<br />
|{{man|inger}}<br />
|<br />
|-<br />
|Обновление libcap до 2.14+<br />
|{{man|ldv}}<br />
|{{done}}<br />
|-<br />
|Возможность задавать лимиты для системных сервисов<br />
|{{man|ldv}}, {{man|legion}}<br />
|{{done}}<br />
|-<br />
|}<br />
<br />
===== Желательно реализовать =====<br />
{| class="standard"<br />
!Задача<br />
!Ответственный<br />
!Статус<br />
|-<br />
|Обновление libtool до 2.2.x<br />
|{{man|ldv}}, {{man|rider}}<br />
|<br />
|-<br />
|Добавить модуль pam_ck_connector и уменьшить количество подконтрольных устройств у pam_console<br />
|{{man|shrek}}<br />
|<br />
|-<br />
|Интегрировать [http://roy.marples.name/projects/openresolv openresolv]<br />
|{{man|ldv}}, {{man|legion}}<br />
|<br />
|-<br />
|Возможность задавать лимиты для системных сервисов<br />
|{{man|ldv}}, {{man|legion}}<br />
|<br />
|-<br />
|Единая схема именования принтерных пакетов (printer-driver-xxx)<br />
|{{man|inger}}<br />
|<br />
|-<br />
|Замена gitweb на gitorious<br />
|{{man|ab}}<br />
|<br />
|-<br />
|Управление почтовыми алиасами мантейнеров через git.alt<br />
|{{man|ldv}}<br />
|<br />
|-<br />
|Интеграция кусочков конфигурации monit в пакеты с соответствующими сервисами<br />
|{{man|mike}}<br />
|<br />
|-<br />
|Переехать на адаптированную версию console-setup<br />
|{{man|legion}}<br />
|<br />
|-<br />
|Автоматически изменять кодировку man-страниц на utf8 (там где это возможно) при запаковке rpm-пакета<br />
|{{man|legion}}<br />
|<br />
|-<br />
|Сделать разделяемую базу [https://wiki.mozilla.org/NSS_Shared_DB NSS]<br />
|{{man|legion}}<br />
|<br />
|-<br />
|Обновить libpcap до 1.0.0+<br />
|{{man|ldv}}<br />
|<br />
|-<br />
|Обновить [http://pkg-shadow.alioth.debian.org shadow-utils], внедрить враппер для использования в %pre- и %post-скриптах<br />
|{{man|ldv}}<br />
|<br />
|-<br />
|}</div>DmitryLevinhttps://www.altlinux.org/index.php?title=CoreSystem&diff=5715CoreSystem2008-11-11T01:53:20Z<p>DmitryLevin: /* Желательно реализовать */</p>
<hr />
<div>[[Category:Sisyphus]]<br />
<br />
{{SisyphusNavigationBlock}}<br />
<br />
== Sisyphus — базовая система ==<br />
Базовая система — основа, на которой выпускаются все возможные решения.<br />
Основное обсуждение разработки платформы происходит в рассылке devel@.<br />
<br />
Все свои пожелания по развитию системы высказывайте на следующей странице:<br />
[[Coresystem/wishlist|Книга жалоб и предложений]]<br />
<br />
=== Состав разработчиков ===<br />
<div style="display: inline; color: red;">Запишите себя, если кого забыли ;)</div><br />
<br />
* [http://sisyphus.ru/packager/ldv ldv@] — главный архитектор платформы<br />
* [http://sisyphus.ru/packager/at at@] — инфраструктура пакетов<br />
* [http://sisyphus.ru/packager/inger inger@] — подсистема управления, подсистема печати<br />
* [http://sisyphus.ru/packager/slazav slazav@] — подсистема управления<br />
* [http://sisyphus.ru/packager/shrek shrek@] — графическая подсистема, ядро и оборудование<br />
* [http://sisyphus.ru/packager/silicium silicium@] — ядро и оборудование<br />
* [http://sisyphus.ru/packager/aspsk aspsk@] — поддержка виртуализации<br />
* [http://sisyphus.ru/packager/legion legion@] — инфраструктура разработки<br />
* [http://sisyphus.ru/packager/cas cas@] — контроль качества, локализация<br />
<br />
=== Состав базовой системы ===<br />
: Планы составляют только мантейнеры соответствующих подсистем<br />
* [[CoreSystem/kernel|Ядро и оборудование]] — shrek, silicium<br />
* [[CoreSystem/coreutils|Базовые библиотеки и утилиты]] — ldv<br />
* [[CoreSystem/security|Подсистема безопасности]] — ldv<br />
* [[CoreSystem/printing|Подсистема печати]] — inger, viy<br />
* [[CoreSystem/Xorg|Графическая подсистема]] — shrek<br />
* [[CoreSystem/aptrpm|Пакетная система]] — at, ldv<br />
* [[Alterator|Подсистема управления]] — inger, slazav<br />
* [[CoreSystem/Virtualization|Поддержка виртуализации]] — aspsk, ldv<br />
* [[TeXSubsystem|Подсистема TeX]] — bga, kirill<br />
<br />
=== Выпуски ===<br />
<br />
==== Core 1.0 ====<br />
<br />
'''Состояние''': в разработке<br/><br />
'''Завершение''': 30 ноября 2008<br/><br />
<br />
[http://bugzilla.altlinux.org/buglist.cgi?keywords=sisyphus-core-1.0 Список ошибок]<br />
<br />
==== Планируемые изменения ====<br />
<br />
===== Обязательно реализовать =====<br />
{| class="standard"<br />
!Задача<br />
!Ответственный<br />
!Статус<br />
|-<br />
|Улучшение поддержки ovz в libvirt до минимально приемлемого уровня<br />
|{{man|aspsk}}<br />
|{{done}}<br />
|-<br />
|Отладка миграции VE через libvirt<br />
|{{man|aspsk}}<br />
|<br />
|-<br />
|alterator-mkve<br />
|{{man|aspsk}}<br />
|<br />
|-<br />
|alterator-libvirt<br />
|{{man|aspsk}}<br />
|<br />
|-<br />
|Подготовка готовых профилей VE (бывшие ve-*)<br />
|{{man|aspsk}}<br />
|<br />
|-<br />
|Обновление toolchain до gcc-4.3.x/glibc-2.9/binutils-2.18.50.x<br />
|{{man|ldv}}<br />
|{{done}}<br />
|-<br />
|Обновление glibc-kernheaders до 2.6.27<br />
|{{man|kas}}<br />
|{{done}}<br />
|-<br />
|Обновление kernel-image-std-* до 2.6.27<br />
|{{man|silicium}}<br />
|{{done}}<br />
|-<br />
|Управление alt-gpgkeys через git.alt<br />
|{{man|inger}}<br />
|<br />
|-<br />
|Новая инфраструктура incominger<br />
|{{man|ldv}}, {{man|legion}}<br />
|<br />
|-<br />
|Переход от xinf файлов на fdi<br />
|{{man|shrek}}<br />
|{{done}}<br />
|-<br />
|hunspell как замена всех *spell<br />
|{{man|shrek}}<br />
|<br />
|-<br />
|Документация по сборке ядра для ALT<br />
|{{man|silicium}}<br />
|<br />
|-<br />
|Обновление инфраструктуры сборки ядра (автоматизация сборки всех subflavourов ядер)<br />
|{{man|silicium}}<br />
|{{done}}<br />
|-<br />
|Подготовка унифицированной среды использования синтезаторов речи<br />
|{{man|msp}}<br />
|<br />
|-<br />
|Подготовка пакетов для дистрибутива с речевым интерфейсом Homeros<br />
|{{man|msp}}<br />
|<br />
|-<br />
|Озвучка alterator-browser-qt<br />
|{{man|msp}}<br />
|<br />
|-<br />
|Обновление man для поддержки man-страниц в разных кодировках <br />
|{{man|legion}}<br />
|{{done}}<br />
|-<br />
|installable livecd<br />
|{{man|inger}}<br />
|<br />
|-<br />
|Обновление libcap до 2.14+<br />
|{{man|ldv}}<br />
|{{done}}<br />
|-<br />
|}<br />
<br />
===== Желательно реализовать =====<br />
{| class="standard"<br />
!Задача<br />
!Ответственный<br />
!Статус<br />
|-<br />
|Обновление libtool до 2.2.x<br />
|{{man|ldv}}, {{man|rider}}<br />
|<br />
|-<br />
|Добавить модуль pam_ck_connector и уменьшить количество подконтрольных устройств у pam_console<br />
|{{man|shrek}}<br />
|<br />
|-<br />
|Интегрировать [http://roy.marples.name/projects/openresolv openresolv]<br />
|{{man|ldv}}, {{man|legion}}<br />
|<br />
|-<br />
|Возможность задавать лимиты для системных сервисов<br />
|{{man|ldv}}, {{man|legion}}<br />
|<br />
|-<br />
|Единая схема именования принтерных пакетов (printer-driver-xxx)<br />
|{{man|inger}}<br />
|<br />
|-<br />
|Замена gitweb на gitorious<br />
|{{man|ab}}<br />
|<br />
|-<br />
|Управление почтовыми алиасами мантейнеров через git.alt<br />
|{{man|ldv}}<br />
|<br />
|-<br />
|Интеграция кусочков конфигурации monit в пакеты с соответствующими сервисами<br />
|{{man|mike}}<br />
|<br />
|-<br />
|Переехать на адаптированную версию console-setup<br />
|{{man|legion}}<br />
|<br />
|-<br />
|Автоматически изменять кодировку man-страниц на utf8 (там где это возможно) при запаковке rpm-пакета<br />
|{{man|legion}}<br />
|<br />
|-<br />
|Сделать разделяемую базу [https://wiki.mozilla.org/NSS_Shared_DB NSS]<br />
|{{man|legion}}<br />
|<br />
|-<br />
|Обновить libpcap до 1.0.0+<br />
|{{man|ldv}}<br />
|<br />
|-<br />
|Обновить [http://pkg-shadow.alioth.debian.org shadow-utils], внедрить враппер для использования в %pre- и %post-скриптах<br />
|{{man|ldv}}<br />
|<br />
|-<br />
|}<br />
<br />
== Сводный список планов ==<br />
=== Alterator ===<br />
* [[Alterator/todo]]<br />
=== Ядро ===<br />
{{:CoreSystem/kernel}}<br />
=== Coreutils ===<br />
{{:CoreSystem/coreutils}}<br />
=== Printing ===<br />
{{:CoreSystem/printing}}<br />
=== Xorg ===<br />
{{:CoreSystem/Xorg}}<br />
=== APT, RPM ===<br />
{{:CoreSystem/aptrpm}}<br />
=== Virtualization ===<br />
{{:CoreSystem/Virtualization}}</div>DmitryLevinhttps://www.altlinux.org/index.php?title=CoreSystem&diff=5714CoreSystem2008-11-11T01:51:10Z<p>DmitryLevin: /* Обязательно реализовать */</p>
<hr />
<div>[[Category:Sisyphus]]<br />
<br />
{{SisyphusNavigationBlock}}<br />
<br />
== Sisyphus — базовая система ==<br />
Базовая система — основа, на которой выпускаются все возможные решения.<br />
Основное обсуждение разработки платформы происходит в рассылке devel@.<br />
<br />
Все свои пожелания по развитию системы высказывайте на следующей странице:<br />
[[Coresystem/wishlist|Книга жалоб и предложений]]<br />
<br />
=== Состав разработчиков ===<br />
<div style="display: inline; color: red;">Запишите себя, если кого забыли ;)</div><br />
<br />
* [http://sisyphus.ru/packager/ldv ldv@] — главный архитектор платформы<br />
* [http://sisyphus.ru/packager/at at@] — инфраструктура пакетов<br />
* [http://sisyphus.ru/packager/inger inger@] — подсистема управления, подсистема печати<br />
* [http://sisyphus.ru/packager/slazav slazav@] — подсистема управления<br />
* [http://sisyphus.ru/packager/shrek shrek@] — графическая подсистема, ядро и оборудование<br />
* [http://sisyphus.ru/packager/silicium silicium@] — ядро и оборудование<br />
* [http://sisyphus.ru/packager/aspsk aspsk@] — поддержка виртуализации<br />
* [http://sisyphus.ru/packager/legion legion@] — инфраструктура разработки<br />
* [http://sisyphus.ru/packager/cas cas@] — контроль качества, локализация<br />
<br />
=== Состав базовой системы ===<br />
: Планы составляют только мантейнеры соответствующих подсистем<br />
* [[CoreSystem/kernel|Ядро и оборудование]] — shrek, silicium<br />
* [[CoreSystem/coreutils|Базовые библиотеки и утилиты]] — ldv<br />
* [[CoreSystem/security|Подсистема безопасности]] — ldv<br />
* [[CoreSystem/printing|Подсистема печати]] — inger, viy<br />
* [[CoreSystem/Xorg|Графическая подсистема]] — shrek<br />
* [[CoreSystem/aptrpm|Пакетная система]] — at, ldv<br />
* [[Alterator|Подсистема управления]] — inger, slazav<br />
* [[CoreSystem/Virtualization|Поддержка виртуализации]] — aspsk, ldv<br />
* [[TeXSubsystem|Подсистема TeX]] — bga, kirill<br />
<br />
=== Выпуски ===<br />
<br />
==== Core 1.0 ====<br />
<br />
'''Состояние''': в разработке<br/><br />
'''Завершение''': 30 ноября 2008<br/><br />
<br />
[http://bugzilla.altlinux.org/buglist.cgi?keywords=sisyphus-core-1.0 Список ошибок]<br />
<br />
==== Планируемые изменения ====<br />
<br />
===== Обязательно реализовать =====<br />
{| class="standard"<br />
!Задача<br />
!Ответственный<br />
!Статус<br />
|-<br />
|Улучшение поддержки ovz в libvirt до минимально приемлемого уровня<br />
|{{man|aspsk}}<br />
|{{done}}<br />
|-<br />
|Отладка миграции VE через libvirt<br />
|{{man|aspsk}}<br />
|<br />
|-<br />
|alterator-mkve<br />
|{{man|aspsk}}<br />
|<br />
|-<br />
|alterator-libvirt<br />
|{{man|aspsk}}<br />
|<br />
|-<br />
|Подготовка готовых профилей VE (бывшие ve-*)<br />
|{{man|aspsk}}<br />
|<br />
|-<br />
|Обновление toolchain до gcc-4.3.x/glibc-2.9/binutils-2.18.50.x<br />
|{{man|ldv}}<br />
|{{done}}<br />
|-<br />
|Обновление glibc-kernheaders до 2.6.27<br />
|{{man|kas}}<br />
|{{done}}<br />
|-<br />
|Обновление kernel-image-std-* до 2.6.27<br />
|{{man|silicium}}<br />
|{{done}}<br />
|-<br />
|Управление alt-gpgkeys через git.alt<br />
|{{man|inger}}<br />
|<br />
|-<br />
|Новая инфраструктура incominger<br />
|{{man|ldv}}, {{man|legion}}<br />
|<br />
|-<br />
|Переход от xinf файлов на fdi<br />
|{{man|shrek}}<br />
|{{done}}<br />
|-<br />
|hunspell как замена всех *spell<br />
|{{man|shrek}}<br />
|<br />
|-<br />
|Документация по сборке ядра для ALT<br />
|{{man|silicium}}<br />
|<br />
|-<br />
|Обновление инфраструктуры сборки ядра (автоматизация сборки всех subflavourов ядер)<br />
|{{man|silicium}}<br />
|{{done}}<br />
|-<br />
|Подготовка унифицированной среды использования синтезаторов речи<br />
|{{man|msp}}<br />
|<br />
|-<br />
|Подготовка пакетов для дистрибутива с речевым интерфейсом Homeros<br />
|{{man|msp}}<br />
|<br />
|-<br />
|Озвучка alterator-browser-qt<br />
|{{man|msp}}<br />
|<br />
|-<br />
|Обновление man для поддержки man-страниц в разных кодировках <br />
|{{man|legion}}<br />
|{{done}}<br />
|-<br />
|installable livecd<br />
|{{man|inger}}<br />
|<br />
|-<br />
|Обновление libcap до 2.14+<br />
|{{man|ldv}}<br />
|{{done}}<br />
|-<br />
|}<br />
<br />
===== Желательно реализовать =====<br />
{| class="standard"<br />
!Задача<br />
!Ответственный<br />
!Статус<br />
|-<br />
|Обновление libtool до 2.2.x<br />
|{{man|ldv}}, {{man|rider}}<br />
|<br />
|-<br />
|Добавить модуль pam_ck_connector и уменьшить количество подконтрольных устройств у pam_console<br />
|{{man|shrek}}<br />
|<br />
|-<br />
|Интегрировать [http://roy.marples.name/projects/openresolv openresolv]<br />
|{{man|ldv}}, {{man|legion}}<br />
|<br />
|-<br />
|Возможность задавать лимиты для системных сервисов<br />
|{{man|ldv}}, {{man|legion}}<br />
|<br />
|-<br />
|Единая схема именования принтерных пакетов (printer-driver-xxx)<br />
|{{man|inger}}<br />
|<br />
|-<br />
|Замена gitweb на gitorious<br />
|{{man|ab}}<br />
|<br />
|-<br />
|Управление почтовыми алиасами мантейнеров через git.alt<br />
|{{man|ldv}}<br />
|<br />
|-<br />
|Интеграция кусочков конфигурации monit в пакеты с соответствующими сервисами<br />
|{{man|mike}}<br />
|<br />
|-<br />
|Переехать на адаптированную версию console-setup<br />
|{{man|legion}}<br />
|<br />
|-<br />
|Автоматически изменять кодировку man-страниц на utf8 (там где это возможно) при запаковке rpm-пакета<br />
|{{man|legion}}<br />
|<br />
|-<br />
|Сделать разделяемую базу [https://wiki.mozilla.org/NSS_Shared_DB NSS]<br />
|{{man|legion}}<br />
|<br />
|-<br />
|Обновить [http://pkg-shadow.alioth.debian.org shadow-utils], внедрить враппер для использования в %pre- и %post-скриптах<br />
|{{man|ldv}}<br />
|<br />
|-<br />
|}<br />
<br />
== Сводный список планов ==<br />
=== Alterator ===<br />
* [[Alterator/todo]]<br />
=== Ядро ===<br />
{{:CoreSystem/kernel}}<br />
=== Coreutils ===<br />
{{:CoreSystem/coreutils}}<br />
=== Printing ===<br />
{{:CoreSystem/printing}}<br />
=== Xorg ===<br />
{{:CoreSystem/Xorg}}<br />
=== APT, RPM ===<br />
{{:CoreSystem/aptrpm}}<br />
=== Virtualization ===<br />
{{:CoreSystem/Virtualization}}</div>DmitryLevinhttps://www.altlinux.org/index.php?title=CoreSystem/coreutils&diff=5713CoreSystem/coreutils2008-11-11T01:46:07Z<p>DmitryLevin: /* Планы */</p>
<hr />
<div>[[Category:Sisyphus]]<br />
<br />
== Sisyphus Core - базовые библиотеки и утилиты ==<br />
<br />
<onlyinclude><br />
=== Планы ===<br />
<br />
* [complete] обновление toolchain до gcc-4.3.x/glibc-2.8/binutils-2.18.50.x (ldv, wart)<br />
* исправление сборки основной массы пакетов, пострадавшей после обновления toolchain (ldv, *)<br />
* [осталось: 7 из 49] перевод всех использующих libdb4 пакетов на libdb4.7 (ldv)<br />
* [complete] обновление autoconf/automake до свежих версий (ldv, rider)<br />
* [?] обновление libtool до 2.2.x (ldv, rider)<br />
* [complete] обновление openssl до 0.9.8h (sin)<br />
* [осталось: 15 из 224] перевод всех использующих libssl пакетов на libssl7 (sin, ldv)<br />
* [[http://git.altlinux.org/people/ldv/packages/service.git almost done]] Возможность задавать лимиты для системных сервисов (ldv, legion)<br />
* [complete] обновление libcap до 2.14+ (ldv)<br />
* обновление libpcap до 1.0.0+ (ldv)<br />
* обновление shadow-utils, внедрение враппера для использования в %pre- и %post-скриптах (ldv)<br />
</onlyinclude></div>DmitryLevinhttps://www.altlinux.org/index.php?title=Branches/5.0/progress&diff=5116Branches/5.0/progress2008-10-29T13:30:38Z<p>DmitryLevin: create</p>
<hr />
<div>== Информация, интересная в процессе подготовки ветки 5.0 ==<br />
<br />
=== История выпуска ===<br />
[http://lists.altlinux.org/pipermail/devel/2008-October/161703.html Анонс в списке рассылки]<br />
{| border="1"<br />
|-<br />
|<br />
'''Этап'''<br />
|<br />
'''Начало'''<br />
|<br />
'''Завершение'''<br />
|<br />
'''Длительность'''<br />
|<br />
'''Комментарии'''<br />
|-<br />
|<br />
'''[[Branches/Release#Sync|Sync]] (плановый)'''<br />
|<br />
21 октября<br />
|<br />
16 ноября<br />
|<br />
4 недели<br />
|<br />
[http://lists.altlinux.org/pipermail/devel/2008-January/069033.html объявление о новом тулчейне в списке рассылки]<br />
|-<br />
|<br />
'''[[Branches/Release#Freeze|Freeze]] (плановый)'''<br />
|<br />
17 ноября<br />
|<br />
14 декабря<br />
|<br />
4 недели<br />
|<br />
<br />
|-<br />
|<br />
'''[[Branches/Release#Testing|Testing]] (плановый)'''<br />
|<br />
15 декабря<br />
|<br />
11 января<br />
|<br />
4 недели<br />
|<br />
<br />
|-<br />
|}<br />
<br />
=== Важные пакеты ===<br />
Для того, чтобы выпуск не затягивался навечно и тем не менее получился стабильным, необходимо очертить круг пакетов, кторые непременно должны попасть в выпуск ''без'' серьёзных ошибок. Для развешивания и отслеживания ошибок у нас есть [https://bugzilla.altlinux.org https://bugzilla.altlinux.org]:<br />
* [[BugTracking|Дисциплина оформления ошибок в ALT Linux Bugzilla]]<br />
* На многих пакетах висят открытые ошибки, которые на самом деле давно закрыты! Это сильно замусоривает журнал незакрытых ошибок.<br />
* На сегодняшний день в ALT Linux Team имеются героические персоны, сопровождающие по нескольку сотен пакетов. Очевидно, они если и пользуются этими пакетами, то уж точно не в состоянии их все разом протестировать, а также разобрать баги, накиданные благодарными пользователями. Значит, помимо сопровождающего (maintainer) стоит выделить ещё роли тестера (tester) и багоразбирателя (bug triager).<br />
<br />
=== Важные ошибки ===<br />
Создан аккумулятор ошибок «ALT Linux 5.0 bugs» [[altbug:17727]]<br />
. Просьба все ошибки, исправление которых должно, по вашему мнению, ''предшествовать'' выпуску 5.0, ставить в «depends on» к этой ошибке. Фичреквесты и «полезности» лучше вешать на [[altbug:17728]]<br />
.</div>DmitryLevinhttps://www.altlinux.org/index.php?title=CoreSystem&diff=5115CoreSystem2008-10-29T13:23:34Z<p>DmitryLevin: /* Обязательно реализовать */</p>
<hr />
<div>[[Category:Sisyphus]]<br />
<br />
{{SisyphusNavigationBlock}}<br />
<br />
== Sisyphus — базовая система ==<br />
Базовая система — основа, на которой выпускаются все возможные решения.<br />
Основное обсуждение разработки платформы происходит в рассылке devel@.<br />
<br />
Все свои пожелания по развитию системы высказывайте на следующей странице:<br />
[[Coresystem/wishlist|Книга жалоб и предложений]]<br />
<br />
=== Состав разработчиков ===<br />
<div style="display: inline; color: red;">Запишите себя, если кого забыли ;)</div><br />
<br />
* [http://sisyphus.ru/packager/ldv ldv@] — главный архитектор платформы<br />
* [http://sisyphus.ru/packager/at at@] — инфраструктура пакетов<br />
* [http://sisyphus.ru/packager/inger inger@] — подсистема управления, подсистема печати<br />
* [http://sisyphus.ru/packager/slazav slazav@] — подсистема управления<br />
* [http://sisyphus.ru/packager/shrek shrek@] — графическая подсистема, ядро и оборудование<br />
* [http://sisyphus.ru/packager/silicium silicium@] — ядро и оборудование<br />
* [http://sisyphus.ru/packager/aspsk aspsk@] — поддержка виртуализации<br />
* [http://sisyphus.ru/packager/legion legion@] — инфраструктура разработки<br />
* [http://sisyphus.ru/packager/cas cas@] — контроль качества, локализация<br />
<br />
=== Состав базовой системы ===<br />
: Планы составляют только мантейнеры соответствующих подсистем (указаны в скобках)<br />
<br />
* [[CoreSystem/kernel|Ядро и оборудование (shrek,silicium)]]<br />
* [[CoreSystem/coreutils|Базовые библиотеки и утилиты (ldv)]]<br />
* [[CoreSystem/security|Подсистема безопасности (ldv]])<br />
* [[CoreSystem/printing|Подсистема печати (inger,viy)]]<br />
* [[CoreSystem/Xorg|Графическая подсистема (shrek]])<br />
* [[CoreSystem/aptrpm|Пакетная система (at,ldv]])<br />
* [[Alterator|Подсистема управления (inger,slazav)]]<br />
* [[CoreSystem/Virtualization|Поддержка виртуализации (aspsk,ldv]])<br />
* [[TeXSubsystem|Подсистема TeX (bga,kirill)]]<br />
<br />
=== Выпуски ===<br />
<br />
==== Core 1.0 ====<br />
<br />
'''Состояние''': в разработке<br/><br />
'''Завершение''': 30 ноября 2008<br/><br />
<br />
[http://bugzilla.altlinux.org/buglist.cgi?keywords=sisyphus-core-1.0 Список ошибок]<br />
<br />
==== Планируемые изменения ====<br />
<br />
===== Обязательно реализовать =====<br />
{| class="standard"<br />
!задача<br />
!ответственный<br />
!статус<br />
|-<br />
|улучшение поддержки ovz в libvirt<br />
|aspsk<br />
|<br />
|-<br />
|отладка миграции VE через libvirt<br />
|aspsk<br />
|<br />
|-<br />
| alterator-mkve<br />
|aspsk<br />
|<br />
|-<br />
| alterator-libvirt<br />
|aspsk<br />
|<br />
|-<br />
|подготовка готовых профилей VE (бывшие ve-*)<br />
|aspsk<br />
|<br />
|-<br />
|обновление toolchain до gcc-4.3.x/glibc-2.9/binutils-2.18.50.x<br />
|ldv<br />
|done<br />
|-<br />
|обновление glibc-kernheaders до 2.6.27<br />
|kas<br />
|done<br />
|-<br />
|обновление kernel-image-std-* до 2.6.27<br />
|silicium<br />
|<br />
|-<br />
|управление alt-gpgkeys через git.alt<br />
|inger<br />
|<br />
|-<br />
|новая инфраструктура incominger<br />
|ldv,legion<br />
|<br />
|-<br />
|переход от xinf файлов на fdi<br />
|shrek<br />
|done<br />
|-<br />
|hunspell как замена всех *spell<br />
|shrek<br />
|<br />
|-<br />
|документация по сборке ядра для ALT<br />
|silicium<br />
|<br />
|-<br />
|обновление инфраструктуры сборки ядра (автоматизация сборки всех subflavourов ядер)<br />
|silicium<br />
|done<br />
|-<br />
|Подготовка унифицированной среды использования синтезаторов речи<br />
|msp<br />
|<br />
|-<br />
|Подготовка пакетов для дистрибутива с речевым интерфейсом Homeros<br />
|msp<br />
|<br />
|-<br />
|озвучка alterator-browser-qt<br />
|msp<br />
|<br />
|-<br />
|обновление man для поддержки man-страниц в разных кодировках <br />
|legion<br />
|done<br />
|-<br />
|installable livecd<br />
|inger<br />
|<br />
|-<br />
|обновление libcap до 2.14+<br />
|ldv<br />
|<br />
|-<br />
|}<br />
<br />
===== Желательно реализовать =====<br />
{| class="standard"<br />
!задача<br />
!ответственный<br />
!статус<br />
|-<br />
|обновление libtool до 2.2.x<br />
|ldv,rider<br />
|<br />
|-<br />
|добавить модуль pam_ck_connector и уменьшить количество подконтрольных устройств у pam_console<br />
|shrek<br />
|<br />
|-<br />
|интегрировать [http://roy.marples.name/projects/openresolv openresolv]<br />
|ldv,legion<br />
|<br />
|-<br />
|запуск задач cron с ionice -c3<br />
|ldv,legion<br />
|<br />
|-<br />
|единая схема именования принтерных пакетов (printer-driver-xxx)<br />
|inger<br />
|<br />
|-<br />
|замена gitweb на gitorious<br />
|ab<br />
|<br />
|-<br />
|управление почтовыми алиасами мантейнеров через git.alt<br />
|ldv<br />
|<br />
|-<br />
|интеграция кусочков конфигурации monit в пакеты с соответствующими сервисами<br />
|mike<br />
|<br />
|-<br />
|Переехать на адаптированную версию console-setup<br />
|legion<br />
|<br />
|-<br />
|Автоматически изменять кодировку man-страниц на utf8 (там где это возможно) при запаковке rpm-пакета<br />
|legion<br />
|<br />
|-<br />
|Сделать разделяемую базу [https://wiki.mozilla.org/NSS_Shared_DB NSS]<br />
|legion<br />
|<br />
|-<br />
|Обновить shadow-utils, внедрить враппер для использования в %pre- и %post-скриптах<br />
|ldv<br />
|<br />
|-<br />
|}<br />
<br />
== Сводный список планов ==<br />
=== Alterator ===<br />
* [[Alterator/todo]]<br />
=== Ядро ===<br />
{{:CoreSystem/kernel}}<br />
=== Coreutils ===<br />
{{:CoreSystem/coreutils}}<br />
=== Printing ===<br />
{{:CoreSystem/printing}}<br />
=== Xorg ===<br />
{{:CoreSystem/Xorg}}<br />
=== APT, RPM ===<br />
{{:CoreSystem/aptrpm}}<br />
=== Virtualization ===<br />
{{:CoreSystem/Virtualization}}</div>DmitryLevinhttps://www.altlinux.org/index.php?title=Branches&diff=5111Branches2008-10-29T12:50:09Z<p>DmitryLevin: 5.0</p>
<hr />
<div>== Стабильные ветки репозитория ==<br />
<br />
Стабильные ветки репозитория пакетов ALT Linux создаются на основе нестабильного репозитория Sisyphus путём отпочковывания и стабилизации.<br />
<br />
На основе стабильных веток разрабатываются [[Releases|дистрибутивы ALT Linux]]. <br />
<br />
=== Политика выпуска ===<br />
* [[Branches/ReleasePolicy|Текущая политика выпуска версий]].<br />
* [[Branches/Release|Устаревшая политика выпуска версий]].<br />
<br />
=== Разрабатываемая ветка ===<br />
<br />
* [[Branches/50/progress|Branch 5.0]] [2008/Осень]<br />
<br />
=== Текущая ветка ===<br />
<br />
* [[Branches/41|Branch 4.1]] [2008/Весна]<br />
<br />
=== Архив ===<br />
<br />
* [[Branches/40|Branch 4.0]] [2007/Весна]<br />
* [[Branches/31|Branch 3.1]] [2006/Осень] (кодовое имя Uranus, отменена)<br />
* [[Branches/30|Branch 3.0]] [2005/Осень]<br />
* Дистрибутивы с версиями ниже 3.0 выпускались без предварительного создания стабильной ветки. Вместо этого Sisyphus замораживался на время релиза.</div>DmitryLevinhttps://www.altlinux.org/index.php?title=Branches/4.1/progress&diff=5110Branches/4.1/progress2008-10-29T12:49:16Z<p>DmitryLevin: spelling</p>
<hr />
<div>== Информация, интересная в процессе подготовки ветки 4.1 ==<br />
<br />
=== История выпуска ===<br />
[http://lists.altlinux.org/pipermail/devel/2008-January/069033.html Анонс в списке рассылки]<br />
{| border="1"<br />
|-<br />
|<br />
'''Этап'''<br />
|<br />
'''Начало'''<br />
|<br />
'''Завершение'''<br />
|<br />
'''Длительность'''<br />
|<br />
'''Комментарии'''<br />
|-<br />
|<br />
'''[[Branches/Release#Sync|Sync]]'''<br />
|<br />
28 января<br />
|<br />
30 марта<br />
|<br />
9 недель<br />
|<br />
[http://lists.altlinux.org/pipermail/devel/2008-January/069033.html объявление sync в списке рассылки]<br />
|-<br />
|<br />
'''[[Branches/Release#Freeze|Freeze]] '''<br />
|<br />
31 марта<br />
|<br />
30 апреля<br />
|<br />
4 недели<br />
|<br />
[http://lists.altlinux.org/pipermail/devel/2008-March/072144.html объявление freeze в списке рассылки]<br />
|-<br />
|<br />
'''[[Branches/Release#Testing|Testing]] (плановый)'''<br />
|<br />
1 мая<br />
|<br />
25 мая<br />
|<br />
4 недели<br />
|<br />
[http://lists.altlinux.org/pipermail/devel/2008-May/073838.html объявление testing в списке рассылки]<br />
|-<br />
|<br />
'''[[Branches/Release#Release|Release]] (плановый)'''<br />
|<br />
26 мая<br />
|<br />
<br />
|<br />
<br />
|<br />
объявление продинамили, но выпустили в срок<br />
|}<br />
<br />
=== Важные пакеты ===<br />
Для того, чтобы выпуск не затягивался навечно и тем не менее получился стабильным, необходимо очертить круг пакетов, кторые непременно должны попасть в выпуск ''без'' серьёзных ошибок. Для развешивания и отслеживания ошибок у нас есть [https://bugzilla.altlinux.org https://bugzilla.altlinux.org]:<br />
* [[BugTracking|Дисциплина оформления ошибок в ALT Linux Bugzilla]]<br />
* На многих пакетах висят открытые ошибки, которые на самом деле давно закрыты! Это сильно замусоривает журнал незакрытых ошибок.<br />
* На сегодняшний день в ALT Linux Team имеются героические персоны, сопровождающие по нескольку сотен пакетов (один <tt>lav@</tt> чего стоит!). Очевидно, они если и пользуются этими пакетами, то уж точно не в состоянии их все разом протестировать, а также разобрать баги, накиданные благодарными пользователями. Значит, помимо сопровождающего (maintainer) стоит выделить ещё роли тестера (tester) и багоразбирателя (bug triager).<br />
<br />
=== Важные ошибки ===<br />
Создан аккумулятор ошибок "ALT Linux 4.1 bugs" [[altbug:14491]]<br />
. Просьба все ошибки, исправление которых должно, по вашему мнению, ''предшествовать'' выпуску 4.1, ставить в "depends on" к этой ошибке. Фичреквесты и "полезности" лучше вешать на [[altbug:14888]]<br />
.<br />
<br />
=== Опыт предыдущих лет ===<br />
[[Branches/31|Первая попытка создания стабильной ветки]]</div>DmitryLevinhttps://www.altlinux.org/index.php?title=Branches/4.1&diff=5107Branches/4.12008-10-29T12:38:19Z<p>DmitryLevin: /* Репозитории */</p>
<hr />
<div>== Ветка 4.1 (2008/Весна) ==<br />
<br />
Информация, которая была интересна в процессе подготовки 4.1, перенесена на [[Branches/41/progress|отдельную страницу]].<br />
<br />
== Репозитории ==<br />
<br />
<pre><br />
rpm [updates] http://ftp.altlinux.org/pub/distributions/ALTLinux/4.1/branch i586 classic<br />
rpm [updates] http://ftp.altlinux.org/pub/distributions/ALTLinux/4.1/branch noarch classic<br />
</pre><br />
<br />
== Зеркала ==<br />
<br />
* ftp://ftp.heanet.ie/mirrors/ftp.altlinux.org/4.1/branch<br />
* ftp://ftp.linux.kiev.ua/pub/Linux/ALT/4.1/branch<br />
* ftp://mirror.yandex.ru/altlinux/4.1/branch<br />
* ftp://linux4u.jinr.ru/pub/ALTLinux/4.1/branch<br />
* ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/altlinux/4.1/branch</div>DmitryLevinhttps://www.altlinux.org/index.php?title=Branches/4.1&diff=5106Branches/4.12008-10-29T12:38:02Z<p>DmitryLevin: /* Зеркала */</p>
<hr />
<div>== Ветка 4.1 (2008/Весна) ==<br />
<br />
Информация, которая была интересна в процессе подготовки 4.1, перенесена на [[Branches/41/progress|отдельную страницу]].<br />
<br />
== Репозитории ==<br />
<br />
<pre><br />
rpm [updates] http://ftp.altlinux.org/pub/distributions/ALTLinux/4.1/branch/ i586 classic<br />
rpm [updates] http://ftp.altlinux.org/pub/distributions/ALTLinux/4.1/branch/ noarch classic<br />
</pre><br />
<br />
== Зеркала ==<br />
<br />
* ftp://ftp.heanet.ie/mirrors/ftp.altlinux.org/4.1/branch<br />
* ftp://ftp.linux.kiev.ua/pub/Linux/ALT/4.1/branch<br />
* ftp://mirror.yandex.ru/altlinux/4.1/branch<br />
* ftp://linux4u.jinr.ru/pub/ALTLinux/4.1/branch<br />
* ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/altlinux/4.1/branch</div>DmitryLevinhttps://www.altlinux.org/index.php?title=Releases/50&diff=5105Releases/502008-10-29T12:32:04Z<p>DmitryLevin: create</p>
<hr />
<div>== Выпущенные ==<br />
<br />
== В разработке ==<br />
<br />
* [[ALT Linux 5.0 Desktop]]</div>DmitryLevinhttps://www.altlinux.org/index.php?title=%D0%93%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&diff=5104Главная страница2008-10-29T12:26:45Z<p>DmitryLevin: children</p>
<hr />
<div>__NOTOC__<br />
[[en:Main Page]]<br />
[[uk:Main Page]]<br />
{|<br />
|- valign="top"<br />
|<br />
[[Изображение:Gnome-applications-development.svg]] '''Разработчику (Сизиф)'''<br />
* [[Sisyphus|Документация для майнтайнеров и разработчиков]]<br />
* [[Join|Как стать разработчиком Сизифа]]<br />
<br />
[[Изображение:Gnome-media-optical.svg]] '''Дистрибутивы'''<br />
* [[Releases/Download|Где скачать?]]<br />
'''Текущие'''<br />
* [[ALT Linux 4.1]] Desktop<br />
* [[Releases/40|ALT Linux 4.0]] Desktop, Lite, Server, Office Server, Terminal<br />
'''В разработке'''<br />
* [[Releases/50|ALT Linux 5.0]]<br />
* [[Releases/41|ALT Linux 4.1]] Office Server<br />
* [[Releases/40|ALT Linux 4.0]] Children<br />
'''Исторические'''<br />
* [[Releases/30|ALT Linux 3.0]] Compact<br />
* [[Releases/24|ALT Linux 2.4]] Master<br />
* [[Releases/History|История выпуска дистрибутивов]]<br />
'''Community-based'''<br />
* [[Community (releases)|Community-релизы и сборки]]<br />
[[Изображение:Gnome-preferences-system.svg]] '''[[Sysadmin|Системному администратору]]'''<br />
|<br />
[[Изображение:Text-x-generic.svg]] '''Документация'''<br />
* [http://heap.altlinux.org/alt-docs/ Официальная документация]<br />
* [[Features | Особенности операционной системы ALT Linux]]<br />
* [[APT в ALT Linux|Использование пакетного менеджера APT]]<br />
* [[etcnet|Использование системы конфигурации сети /etc/net]]<br />
* [http://freesource.info/wiki/HCL Hardware Compatibility List]<br />
<br />
* [[Служебная:AllPages|Каталог документации этой wiki]]<br />
* [[Heap|Документация в «куче»]]<br />
* [[Releases/FileNaming|Именование файлов релизов]]<br />
* [[BugTracking|Отслеживание ошибок в дистрибутивах]]<br />
[[Изображение:Internet-group-chat.svg]] '''Общение'''<br />
* [[MailingLists|Списки рассылки]]<br />
* [[IRC|IRC]]<br />
* [http://forum.altlinux.org/ Форум]<br />
[[Image:Applications-graphics.svg]] '''Медиа'''<br />
* [[Логотипы]]<br />
[[Изображение:Gnome-stock_person.svg]] '''Об ALT Linux'''<br />
* [[ALT Linux Team]] (команда ALT Linux)<br />
* [[Что такое Sisyphus?|Сизиф]]<br />
* [[Компания «Альт Линукс»]]<br />
|}</div>DmitryLevinhttps://www.altlinux.org/index.php?title=CoreSystem&diff=5095CoreSystem2008-10-29T01:19:54Z<p>DmitryLevin: планы</p>
<hr />
<div>[[Category:Sisyphus]]<br />
<br />
{{SisyphusNavigationBlock}}<br />
<br />
== Sisyphus — базовая система ==<br />
Базовая система — основа, на которой выпускаются все возможные решения.<br />
Основное обсуждение разработки платформы происходит в рассылке devel@.<br />
<br />
Все свои пожелания по развитию системы высказывайте на следующей странице:<br />
[[Coresystem/wishlist|Книга жалоб и предложений]]<br />
<br />
=== Состав разработчиков ===<br />
<div style="display: inline; color: red;">Запишите себя, если кого забыли ;)</div><br />
<br />
* [http://sisyphus.ru/packager/ldv ldv@] — главный архитектор платформы<br />
* [http://sisyphus.ru/packager/at at@] — инфраструктура пакетов<br />
* [http://sisyphus.ru/packager/inger inger@] — подсистема управления, подсистема печати<br />
* [http://sisyphus.ru/packager/slazav slazav@] — подсистема управления<br />
* [http://sisyphus.ru/packager/shrek shrek@] — графическая подсистема, ядро и оборудование<br />
* [http://sisyphus.ru/packager/silicium silicium@] — ядро и оборудование<br />
* [http://sisyphus.ru/packager/aspsk aspsk@] — поддержка виртуализации<br />
* [http://sisyphus.ru/packager/legion legion@] — инфраструктура разработки<br />
* [http://sisyphus.ru/packager/cas cas@] — контроль качества, локализация<br />
<br />
=== Состав базовой системы ===<br />
: Планы составляют только мантейнеры соответствующих подсистем (указаны в скобках)<br />
<br />
* [[CoreSystem/kernel|Ядро и оборудование (shrek,silicium)]]<br />
* [[CoreSystem/coreutils|Базовые библиотеки и утилиты (ldv)]]<br />
* [[CoreSystem/security|Подсистема безопасности (ldv]])<br />
* [[CoreSystem/printing|Подсистема печати (inger,viy)]]<br />
* [[CoreSystem/Xorg|Графическая подсистема (shrek]])<br />
* [[CoreSystem/aptrpm|Пакетная система (at,ldv]])<br />
* [[Alterator|Подсистема управления (inger,slazav)]]<br />
* [[CoreSystem/Virtualization|Поддержка виртуализации (aspsk,ldv]])<br />
* [[TeXSubsystem|Подсистема TeX (bga,kirill)]]<br />
<br />
=== Выпуски ===<br />
<br />
==== Core 1.0 ====<br />
<br />
'''Состояние''': в разработке<br/><br />
'''Завершение''': 30 ноября 2008<br/><br />
<br />
[http://bugzilla.altlinux.org/buglist.cgi?keywords=sisyphus-core-1.0 Список ошибок]<br />
<br />
==== Планируемые изменения ====<br />
<br />
===== Обязательно реализовать =====<br />
{| class="standard"<br />
!задача<br />
!ответственный<br />
!статус<br />
|-<br />
|улучшение поддержки ovz в libvirt<br />
|aspsk<br />
|<br />
|-<br />
|отладка миграции VE через libvirt<br />
|aspsk<br />
|<br />
|-<br />
| alterator-mkve<br />
|aspsk<br />
|<br />
|-<br />
| alterator-libvirt<br />
|aspsk<br />
|<br />
|-<br />
|подготовка готовых профилей VE (бывшие ve-*)<br />
|aspsk<br />
|<br />
|-<br />
|обновление toolchain до gcc-4.3.x/glibc-2.9/binutils-2.18.50.x<br />
|ldv<br />
|done<br />
|-<br />
|обновление glibc-kernheaders до 2.6.27<br />
|kas<br />
|done<br />
|-<br />
|обновление kernel-image-std-* до 2.6.27<br />
|silicium<br />
|<br />
|-<br />
|управление alt-gpgkeys через git.alt<br />
|inger<br />
|<br />
|-<br />
|новая инфраструктура incominger<br />
|ldv,legion<br />
|<br />
|-<br />
|переход от xinf файлов на fdi<br />
|shrek<br />
|<br />
|-<br />
|hunspell как замена всех *spell<br />
|shrek<br />
|<br />
|-<br />
|документация по сборке ядра для ALT<br />
|silicium<br />
|<br />
|-<br />
|обновление инфраструктуры сборки ядра (автоматизация сборки всех subflavourов ядер)<br />
|silicium<br />
|done<br />
|-<br />
|Подготовка унифицированной среды использования синтезаторов речи<br />
|msp<br />
|<br />
|-<br />
|Подготовка пакетов для дистрибутива с речевым интерфейсом Homeros<br />
|msp<br />
|<br />
|-<br />
|озвучка alterator-browser-qt<br />
|msp<br />
|<br />
|-<br />
|обновление man для поддержки man-страниц в разных кодировках <br />
|legion<br />
|done<br />
|-<br />
|installable livecd<br />
|inger<br />
|<br />
|-<br />
|обновление libcap до 2.14+<br />
|ldv<br />
|<br />
|-<br />
|}<br />
<br />
===== Желательно реализовать =====<br />
{| class="standard"<br />
!задача<br />
!ответственный<br />
!статус<br />
|-<br />
|обновление libtool до 2.2.x<br />
|ldv,rider<br />
|<br />
|-<br />
|добавить модуль pam_ck_connector и уменьшить количество подконтрольных устройств у pam_console<br />
|shrek<br />
|<br />
|-<br />
|интегрировать [http://roy.marples.name/projects/openresolv openresolv]<br />
|ldv,legion<br />
|<br />
|-<br />
|запуск задач cron с ionice -c3<br />
|ldv,legion<br />
|<br />
|-<br />
|единая схема именования принтерных пакетов (printer-driver-xxx)<br />
|inger<br />
|<br />
|-<br />
|замена gitweb на gitorious<br />
|ab<br />
|<br />
|-<br />
|управление почтовыми алиасами мантейнеров через git.alt<br />
|ldv<br />
|<br />
|-<br />
|интеграция кусочков конфигурации monit в пакеты с соответствующими сервисами<br />
|mike<br />
|<br />
|-<br />
|Переехать на адаптированную версию console-setup<br />
|legion<br />
|<br />
|-<br />
|Автоматически изменять кодировку man-страниц на utf8 (там где это возможно) при запаковке rpm-пакета<br />
|legion<br />
|<br />
|-<br />
|Сделать разделяемую базу [https://wiki.mozilla.org/NSS_Shared_DB NSS]<br />
|legion<br />
|<br />
|-<br />
|Обновить shadow-utils, внедрить враппер для использования в %pre- и %post-скриптах<br />
|ldv<br />
|<br />
|-<br />
|}<br />
<br />
== Сводный список планов ==<br />
=== Alterator ===<br />
* [[Alterator/todo]]<br />
=== Ядро ===<br />
{{:CoreSystem/kernel}}<br />
=== Coreutils ===<br />
{{:CoreSystem/coreutils}}<br />
=== Printing ===<br />
{{:CoreSystem/printing}}<br />
=== Xorg ===<br />
{{:CoreSystem/Xorg}}<br />
=== APT, RPM ===<br />
{{:CoreSystem/aptrpm}}<br />
=== Virtualization ===<br />
{{:CoreSystem/Virtualization}}</div>DmitryLevinhttps://www.altlinux.org/index.php?title=CoreSystem&diff=5094CoreSystem2008-10-29T01:15:32Z<p>DmitryLevin: /* Core 1.0 */</p>
<hr />
<div>[[Category:Sisyphus]]<br />
<br />
{{SisyphusNavigationBlock}}<br />
<br />
== Sisyphus — базовая система ==<br />
Базовая система — основа, на которой выпускаются все возможные решения.<br />
Основное обсуждение разработки платформы происходит в рассылке devel@.<br />
<br />
Все свои пожелания по развитию системы высказывайте на следующей странице:<br />
[[Coresystem/wishlist|Книга жалоб и предложений]]<br />
<br />
=== Состав разработчиков ===<br />
<div style="display: inline; color: red;">Запишите себя, если кого забыли ;)</div><br />
<br />
* [http://sisyphus.ru/packager/ldv ldv@] — главный архитектор платформы<br />
* [http://sisyphus.ru/packager/at at@] — инфраструктура пакетов<br />
* [http://sisyphus.ru/packager/inger inger@] — подсистема управления, подсистема печати<br />
* [http://sisyphus.ru/packager/slazav slazav@] — подсистема управления<br />
* [http://sisyphus.ru/packager/shrek shrek@] — графическая подсистема, ядро и оборудование<br />
* [http://sisyphus.ru/packager/silicium silicium@] — ядро и оборудование<br />
* [http://sisyphus.ru/packager/aspsk aspsk@] — поддержка виртуализации<br />
* [http://sisyphus.ru/packager/legion legion@] — инфраструктура разработки<br />
* [http://sisyphus.ru/packager/cas cas@] — контроль качества, локализация<br />
<br />
=== Состав базовой системы ===<br />
: Планы составляют только мантейнеры соответствующих подсистем (указаны в скобках)<br />
<br />
* [[CoreSystem/kernel|Ядро и оборудование (shrek,silicium)]]<br />
* [[CoreSystem/coreutils|Базовые библиотеки и утилиты (ldv)]]<br />
* [[CoreSystem/security|Подсистема безопасности (ldv]])<br />
* [[CoreSystem/printing|Подсистема печати (inger,viy)]]<br />
* [[CoreSystem/Xorg|Графическая подсистема (shrek]])<br />
* [[CoreSystem/aptrpm|Пакетная система (at,ldv]])<br />
* [[Alterator|Подсистема управления (inger,slazav)]]<br />
* [[CoreSystem/Virtualization|Поддержка виртуализации (aspsk,ldv]])<br />
* [[TeXSubsystem|Подсистема TeX (bga,kirill)]]<br />
<br />
=== Выпуски ===<br />
<br />
==== Core 1.0 ====<br />
<br />
'''Состояние''': в разработке<br/><br />
'''Завершение''': 30 ноября 2008<br/><br />
<br />
[http://bugzilla.altlinux.org/buglist.cgi?keywords=sisyphus-core-1.0 Список ошибок]<br />
<br />
==== Планируемые изменения ====<br />
<br />
===== Обязательно реализовать =====<br />
{| class="standard"<br />
!задача<br />
!ответственный<br />
!статус<br />
|-<br />
|улучшение поддержки ovz в libvirt<br />
|aspsk<br />
|<br />
|-<br />
|отладка миграции VE через libvirt<br />
|aspsk<br />
|<br />
|-<br />
| alterator-mkve<br />
|aspsk<br />
|<br />
|-<br />
| alterator-libvirt<br />
|aspsk<br />
|<br />
|-<br />
|подготовка готовых профилей VE (бывшие ve-*)<br />
|aspsk<br />
|<br />
|-<br />
|обновление toolchain до gcc-4.3.x/glibc-2.9/binutils-2.18.50.x<br />
|ldv<br />
|done<br />
|-<br />
|обновление glibc-kernheaders до 2.6.27<br />
|kas<br />
|done<br />
|-<br />
|обновление kernel-image-std-* до 2.6.27<br />
|silicium<br />
|<br />
|-<br />
|управление alt-gpgkeys через git.alt<br />
|inger<br />
|<br />
|-<br />
|новая инфраструктура incominger<br />
|ldv,legion<br />
|<br />
|-<br />
|переход от xinf файлов на fdi<br />
|shrek<br />
|<br />
|-<br />
|hunspell как замена всех *spell<br />
|shrek<br />
|<br />
|-<br />
|документация по сборке ядра для ALT<br />
|silicium<br />
|<br />
|-<br />
|обновление инфраструктуры сборки ядра (автоматизация сборки всех subflavourов ядер)<br />
|silicium<br />
|done<br />
|-<br />
|Подготовка унифицированной среды использования синтезаторов речи<br />
|msp<br />
|<br />
|-<br />
|Подготовка пакетов для дистрибутива с речевым интерфейсом Homeros<br />
|msp<br />
|<br />
|-<br />
|озвучка alterator-browser-qt<br />
|msp<br />
|<br />
|-<br />
|обновление man для поддержки man-страниц в разных кодировках <br />
|legion<br />
|done<br />
|-<br />
|installable livecd<br />
|inger<br />
|<br />
|-<br />
|}<br />
<br />
===== Желательно реализовать =====<br />
{| class="standard"<br />
!задача<br />
!ответственный<br />
!статус<br />
|-<br />
|обновление libtool до 2.2.x<br />
|ldv,rider<br />
|<br />
|-<br />
|добавить модуль pam_ck_connector и уменьшить количество подконтрольных устройств у pam_console<br />
|shrek<br />
|<br />
|-<br />
|интегрировать [http://roy.marples.name/projects/openresolv openresolv]<br />
|ldv,legion<br />
|<br />
|-<br />
|запуск задач cron с ionice -c3<br />
|ldv,legion<br />
|<br />
|-<br />
|единая схема именования принтерных пакетов (printer-driver-xxx)<br />
|inger<br />
|<br />
|-<br />
|замена gitweb на gitorious<br />
|ab<br />
|<br />
|-<br />
|управление почтовыми алиасами мантейнеров через git.alt<br />
|ldv<br />
|<br />
|-<br />
|интеграция кусочков конфигурации monit в пакеты с соответствующими сервисами<br />
|mike<br />
|<br />
|-<br />
|Переехать на адаптированную версию console-setup<br />
|legion<br />
|<br />
|-<br />
|Автоматически изменять кодировку man-страниц на utf8 (там где это возможно) при запаковке rpm-пакета<br />
|legion<br />
|<br />
|-<br />
|Сделать разделяемую базу [https://wiki.mozilla.org/NSS_Shared_DB NSS]<br />
|legion<br />
|-<br />
|}<br />
<br />
== Сводный список планов ==<br />
=== Alterator ===<br />
* [[Alterator/todo]]<br />
=== Ядро ===<br />
{{:CoreSystem/kernel}}<br />
=== Coreutils ===<br />
{{:CoreSystem/coreutils}}<br />
=== Printing ===<br />
{{:CoreSystem/printing}}<br />
=== Xorg ===<br />
{{:CoreSystem/Xorg}}<br />
=== APT, RPM ===<br />
{{:CoreSystem/aptrpm}}<br />
=== Virtualization ===<br />
{{:CoreSystem/Virtualization}}</div>DmitryLevinhttps://www.altlinux.org/index.php?title=CoreSystem&diff=5093CoreSystem2008-10-29T01:13:59Z<p>DmitryLevin: /* Планируемые изменения */</p>
<hr />
<div>[[Category:Sisyphus]]<br />
<br />
{{SisyphusNavigationBlock}}<br />
<br />
== Sisyphus — базовая система ==<br />
Базовая система — основа, на которой выпускаются все возможные решения.<br />
Основное обсуждение разработки платформы происходит в рассылке devel@.<br />
<br />
Все свои пожелания по развитию системы высказывайте на следующей странице:<br />
[[Coresystem/wishlist|Книга жалоб и предложений]]<br />
<br />
=== Состав разработчиков ===<br />
<div style="display: inline; color: red;">Запишите себя, если кого забыли ;)</div><br />
<br />
* [http://sisyphus.ru/packager/ldv ldv@] — главный архитектор платформы<br />
* [http://sisyphus.ru/packager/at at@] — инфраструктура пакетов<br />
* [http://sisyphus.ru/packager/inger inger@] — подсистема управления, подсистема печати<br />
* [http://sisyphus.ru/packager/slazav slazav@] — подсистема управления<br />
* [http://sisyphus.ru/packager/shrek shrek@] — графическая подсистема, ядро и оборудование<br />
* [http://sisyphus.ru/packager/silicium silicium@] — ядро и оборудование<br />
* [http://sisyphus.ru/packager/aspsk aspsk@] — поддержка виртуализации<br />
* [http://sisyphus.ru/packager/legion legion@] — инфраструктура разработки<br />
* [http://sisyphus.ru/packager/cas cas@] — контроль качества, локализация<br />
<br />
=== Состав базовой системы ===<br />
: Планы составляют только мантейнеры соответствующих подсистем (указаны в скобках)<br />
<br />
* [[CoreSystem/kernel|Ядро и оборудование (shrek,silicium)]]<br />
* [[CoreSystem/coreutils|Базовые библиотеки и утилиты (ldv)]]<br />
* [[CoreSystem/security|Подсистема безопасности (ldv]])<br />
* [[CoreSystem/printing|Подсистема печати (inger,viy)]]<br />
* [[CoreSystem/Xorg|Графическая подсистема (shrek]])<br />
* [[CoreSystem/aptrpm|Пакетная система (at,ldv]])<br />
* [[Alterator|Подсистема управления (inger,slazav)]]<br />
* [[CoreSystem/Virtualization|Поддержка виртуализации (aspsk,ldv]])<br />
* [[TeXSubsystem|Подсистема TeX (bga,kirill)]]<br />
<br />
=== Выпуски ===<br />
<br />
==== Core 1.0 ====<br />
<br />
'''Состояние''': в разработке<br/><br />
'''Завершение''': 1 май 2008<br/><br />
<br />
[http://bugzilla.altlinux.org/buglist.cgi?keywords=sisyphus-core-1.0 Список ошибок]<br />
<br />
==== Планируемые изменения ====<br />
<br />
===== Обязательно реализовать =====<br />
{| class="standard"<br />
!задача<br />
!ответственный<br />
!статус<br />
|-<br />
|улучшение поддержки ovz в libvirt<br />
|aspsk<br />
|<br />
|-<br />
|отладка миграции VE через libvirt<br />
|aspsk<br />
|<br />
|-<br />
| alterator-mkve<br />
|aspsk<br />
|<br />
|-<br />
| alterator-libvirt<br />
|aspsk<br />
|<br />
|-<br />
|подготовка готовых профилей VE (бывшие ve-*)<br />
|aspsk<br />
|<br />
|-<br />
|обновление toolchain до gcc-4.3.x/glibc-2.9/binutils-2.18.50.x<br />
|ldv<br />
|done<br />
|-<br />
|обновление glibc-kernheaders до 2.6.27<br />
|kas<br />
|done<br />
|-<br />
|обновление kernel-image-std-* до 2.6.27<br />
|silicium<br />
|<br />
|-<br />
|управление alt-gpgkeys через git.alt<br />
|inger<br />
|<br />
|-<br />
|новая инфраструктура incominger<br />
|ldv,legion<br />
|<br />
|-<br />
|переход от xinf файлов на fdi<br />
|shrek<br />
|<br />
|-<br />
|hunspell как замена всех *spell<br />
|shrek<br />
|<br />
|-<br />
|документация по сборке ядра для ALT<br />
|silicium<br />
|<br />
|-<br />
|обновление инфраструктуры сборки ядра (автоматизация сборки всех subflavourов ядер)<br />
|silicium<br />
|done<br />
|-<br />
|Подготовка унифицированной среды использования синтезаторов речи<br />
|msp<br />
|<br />
|-<br />
|Подготовка пакетов для дистрибутива с речевым интерфейсом Homeros<br />
|msp<br />
|<br />
|-<br />
|озвучка alterator-browser-qt<br />
|msp<br />
|<br />
|-<br />
|обновление man для поддержки man-страниц в разных кодировках <br />
|legion<br />
|done<br />
|-<br />
|installable livecd<br />
|inger<br />
|<br />
|-<br />
|}<br />
<br />
===== Желательно реализовать =====<br />
{| class="standard"<br />
!задача<br />
!ответственный<br />
!статус<br />
|-<br />
|обновление libtool до 2.2.x<br />
|ldv,rider<br />
|<br />
|-<br />
|добавить модуль pam_ck_connector и уменьшить количество подконтрольных устройств у pam_console<br />
|shrek<br />
|<br />
|-<br />
|интегрировать [http://roy.marples.name/projects/openresolv openresolv]<br />
|ldv,legion<br />
|<br />
|-<br />
|запуск задач cron с ionice -c3<br />
|ldv,legion<br />
|<br />
|-<br />
|единая схема именования принтерных пакетов (printer-driver-xxx)<br />
|inger<br />
|<br />
|-<br />
|замена gitweb на gitorious<br />
|ab<br />
|<br />
|-<br />
|управление почтовыми алиасами мантейнеров через git.alt<br />
|ldv<br />
|<br />
|-<br />
|интеграция кусочков конфигурации monit в пакеты с соответствующими сервисами<br />
|mike<br />
|<br />
|-<br />
|Переехать на адаптированную версию console-setup<br />
|legion<br />
|<br />
|-<br />
|Автоматически изменять кодировку man-страниц на utf8 (там где это возможно) при запаковке rpm-пакета<br />
|legion<br />
|<br />
|-<br />
|Сделать разделяемую базу [https://wiki.mozilla.org/NSS_Shared_DB NSS]<br />
|legion<br />
|-<br />
|}<br />
<br />
== Сводный список планов ==<br />
=== Alterator ===<br />
* [[Alterator/todo]]<br />
=== Ядро ===<br />
{{:CoreSystem/kernel}}<br />
=== Coreutils ===<br />
{{:CoreSystem/coreutils}}<br />
=== Printing ===<br />
{{:CoreSystem/printing}}<br />
=== Xorg ===<br />
{{:CoreSystem/Xorg}}<br />
=== APT, RPM ===<br />
{{:CoreSystem/aptrpm}}<br />
=== Virtualization ===<br />
{{:CoreSystem/Virtualization}}</div>DmitryLevinhttps://www.altlinux.org/index.php?title=CoreSystem/coreutils&diff=5092CoreSystem/coreutils2008-10-29T00:56:36Z<p>DmitryLevin: /* Планы */</p>
<hr />
<div>[[Category:Sisyphus]]<br />
<br />
== Sisyphus Core - базовые библиотеки и утилиты ==<br />
<br />
<onlyinclude><br />
=== Планы ===<br />
<br />
* [complete] обновление toolchain до gcc-4.3.x/glibc-2.8/binutils-2.18.50.x (ldv, wart)<br />
* исправление сборки основной массы пакетов, пострадавшей после обновления toolchain (ldv, *)<br />
* [осталось: 11 из 52] перевод всех использующих libdb4 пакетов на libdb4.7 (ldv)<br />
* [complete] обновление autoconf/automake до свежих версий (ldv, rider)<br />
* [?] обновление libtool до 2.2.x (ldv, rider)<br />
* [complete] обновление openssl до 0.9.8h (sin)<br />
* [осталось: 18 из 225] перевод всех использующих libssl пакетов на libssl7 (sin, ldv)<br />
* [[http://git.altlinux.org/people/legion/packages/crontabs.git?p=crontabs.git;a=shortlog;h=refs/heads/sysconfig almost done]] Запуск задач cron под ionice и/или nice (ldv, legion)<br />
* обновление libcap до 2.14+ (ldv)<br />
* обновление shadow-utils, внедрение враппера для использования в %pre- и %post-скриптах (ldv)<br />
</onlyinclude></div>DmitryLevinhttps://www.altlinux.org/index.php?title=CoreSystem/coreutils&diff=5091CoreSystem/coreutils2008-10-29T00:54:22Z<p>DmitryLevin: /* Планы */</p>
<hr />
<div>[[Category:Sisyphus]]<br />
<br />
== Sisyphus Core - базовые библиотеки и утилиты ==<br />
<br />
<onlyinclude><br />
=== Планы ===<br />
<br />
* [complete] обновление toolchain до gcc-4.3.x/glibc-2.8/binutils-2.18.50.x (ldv, wart)<br />
* исправление сборки основной массы пакетов, пострадавшей после обновления toolchain (ldv, *)<br />
* [осталось: 11 из 52] перевод всех использующих libdb4 пакетов на libdb4.7 (ldv)<br />
* [complete] обновление autoconf/automake до свежих версий (ldv, rider)<br />
* [?] обновление libtool до 2.2.x (ldv, rider)<br />
* [complete] обновление openssl до 0.9.8h (sin)<br />
* [осталось: 21 из 311] перевод всех использующих libssl пакетов на libssl7 (sin, ldv)<br />
* [[http://git.altlinux.org/people/legion/packages/crontabs.git?p=crontabs.git;a=shortlog;h=refs/heads/sysconfig almost done]] Запуск задач cron под ionice и/или nice (ldv, legion)<br />
* обновление libcap до 2.14+ (ldv)<br />
* обновление shadow-utils, внедрение враппера для использования в %pre- и %post-скриптах (ldv)<br />
</onlyinclude></div>DmitryLevinhttps://www.altlinux.org/index.php?title=%D0%93%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&diff=4563Главная страница2008-10-14T13:11:59Z<p>DmitryLevin: 5.0</p>
<hr />
<div>__NOTOC__<br />
[[en:Main Page]]<br />
[[uk:Main Page]]<br />
{|<br />
|- valign="top"<br />
|<br />
[[Изображение:Gnome-media-optical.svg]] '''Дистрибутивы'''<br />
* [[Releases/Download|Где скачать?]]<br />
'''Текущие'''<br />
* [[ALT Linux 4.1]] (Desktop)<br />
* [[Releases/40|ALT Linux 4.0]] (Desktop, Lite, Server, Office Server, Terminal, Children)<br />
'''В разработке'''<br />
* [[Releases/50|ALT Linux 5.0]] <br />
'''Исторические'''<br />
* [[Releases/30|ALT Linux 3.0]] Compact<br />
* [[Releases/24|ALT Linux 2.4]] Master<br />
* [[Releases/History|История выпуска дистрибутивов]]<br />
'''Community-based'''<br />
* [[Community (releases)|Community-релизы и сборки]]<br />
|<br />
[[Изображение:Text-x-generic.svg]] '''Документация'''<br />
* [http://heap.altlinux.org/alt-docs/ Официальная документация]<br />
* [[Features | Особенности операционной системы ALT Linux]]<br />
* [[APT в ALT Linux|Использование пакетного менеджера APT]]<br />
* [[etcnet|Использование системы конфигурации сети /etc/net]]<br />
* [http://freesource.info/wiki/HCL Hardware Compatibility List]<br />
<br />
* [[Служебная:AllPages|Каталог документации этой wiki]]<br />
* [[Heap|Документация в «куче»]]<br />
* [[Releases/FileNaming|Именование файлов релизов]]<br />
* [[BugTracking|Отслеживание ошибок в дистрибутивах]]<br />
|- valign="top"<br />
|<br />
[[Изображение:Gnome-preferences-system.svg]] '''[[Sysadmin|Системному администратору]]'''<br />
<br />
[[Изображение:Gnome-applications-development.svg]] '''[[Sisyphus|Разработчику]]'''<br />
<br />
* [[Join|Как стать разработчиком Сизифа]]<br />
|<br />
[[Изображение:Internet-group-chat.svg]] '''Общение'''<br />
* [[MailingLists|Списки рассылки]]<br />
* [[IRC|IRC]]<br />
* [http://forum.altlinux.org/ Форум]<br />
[[Image:Applications-graphics.svg]] '''Медиа'''<br />
* [[Логотипы]]<br />
[[Изображение:Gnome-stock_person.svg]] '''Об ALT Linux'''<br />
* [[ALT Linux Team]] (команда ALT Linux)<br />
* [[Что такое Sisyphus?|Сизиф]]<br />
* [[Компания «Альт Линукс»]]<br />
|}</div>DmitryLevinhttps://www.altlinux.org/index.php?title=Features&diff=4562Features2008-10-14T13:06:57Z<p>DmitryLevin: /* Особенности ALT Linux */</p>
<hr />
<div>{{MovedFromFreesourceInfo|AltLinux/Features}}<br />
<br />
== Особенности операционной системы ALT Linux ==<br />
Здесь предлагается публиковать заметки об особенностях дистрибутивов ALT Linux (и нестабильного Sisyphus -- тех, которые станут частью следующего дистрибутива).<br />
<br />
<div style="display: inline; color: red;">Крайне рекомендуется рядом с каждым пунктом списка особенностей указывать список версий дистрибутивов, в которых эти особенности замечены.</div><br />
<br />
=== Допустимые сокращения ===<br />
* ALM -- ALT Linux Master<br />
* ALC -- ALT Linux Compact<br />
* ALJ -- ALT Linux Junior<br />
* ALD -- ALT Linux Desktop<br />
* ALS -- ALT Linux Server<br />
<br />
Далее может следовать номер версии. Например, ALM2.4 -- ALT Linux 2.4 Master. Привязки по времени можно посмотреть Sisyphus:/devel/cycle.<br />
<br />
=== Особенности ===<br />
==== общего плана ====<br />
* Адаптированный вариант apt-get (точнее, apt-rpm) как высокоуровневое средство управления пакетами (Spring 2001+)<br />
* [[Kernels|Несколько вариантов ядер]]<br />
* Практически собственные форки rpm-4.0.4 и apt-rpm, см. [http://docs.altlinux.ru/alt/devel/ch01.html Документацию ALT], [http://wiki.sisyphus.ru/devel/spectips Как писать спеки] и [http://wiki.sisyphus.ru/devel вообще]<br />
* Сборка пакетов [http://wiki.sisyphus.ru/devel/git из git-репозиториев] [[Hasher|в hasher]]<br />
* Система альтернатив (alternatives; родом из Debian, также встречается в Mandrake)<br />
* Инитскрипты с использованием [http://lists.altlinux.org/pipermail/devel/2003-April/011856.html start-stop-daemon] (из Owl, в оригинале из Debian)<br />
* Существенная разбивка софта на подпакеты вместо крупнопанельной а-ля Red Hat, [http://lists.altlinux.ru/pipermail/devel/2004-February/021233.html более строгие зависимости]<br />
* Отличное качество сборки многих пакетов (патчи, дефолтные конфиги, readme)<br />
* Мощная модульная система управления настройками системы [[Alterator|Alterator]] (ALS 4.0, ALD 4.0)<br />
* На основе репозиториев Sisyphus, 4.0/branch возможна сборка собственных специализированных дистрибутивов и live cd. Все инструменты по их созданию открыты. См. [[spt|статью об spt]]<br />
* Обширное русскоязычное [https://lists.altlinux.org/mailman/listinfo/community community]<br />
==== server/security ====<br />
* [[Features/OwKernel|OpenWall/altsec-патч]] в ядре -- издревле (M20+; отсутствует в M40)<br />
* [[Features/ChrootedServices|Сервисы в chroot]] (включая резолвер) -- Spring 2001+ (M20+)<br />
* [[Features/Core|Отключение core-файлов]] -- издревле<br />
* Поддержка системы виртуализации [[OpenVZ|OpenVZ]] "из коробки" (ALS 4.0)<br />
* [http://git.altlinux.org/people/ldv/packages/?p=tcb.git;a=blob;f=tcb/misc/tcb.5;hb=HEAD tcb(5] вместо shadow (пароли в <tt>/etc/tcb/</tt>, см. тж. пакет <tt>tcb-utils</tt>) -- ALM2.0+<br />
* Sisyphus:admin/etcnet в качестве штатного iproute2-based средства управления сетевыми интерфейсами (это вам не старый net-scripts, который пока тоже наличествует) -- ALC3.0+<br />
* <tt>sshd</tt> по умолчанию сконфигурирован [[Features/PermitRootLoginNo|не пускать]] обобщённого <tt>root</tt> (издревле; в M40+ -- пускает, но по ключу)<br />
* Команда sudo использует [http://sisyphus.ru/srpm/sudo/spec фиксированный PATH], включающий <tt>/sbin</tt> и <tt>/usr/sbin</tt>; например, работает <tt>sudo ifconfig</tt>. В других дистрибутивах надо делать костыли типа <tt>sudo /sbin/ifconfig</tt>, так как путь <tt>/sbin</tt> обычно включён при сборке sudo. -- ALM2.4, ALC3.0<br />
* Команда [http://wiki.sisyphus.ru/devel/control control](8) -- обеспечивает контроль для доступа к различным системным сервисам. В частности, это штатный в ALT способ управлять SUID/SGID правами на бинарниках из пакетов с сохранением прав при обновлении пакета. Без параметров выводит полный список сервисов, чьим поведением можно управлять. Состоит из трёх стобцов -- сервис, текущее значение, значение по умолчанию. Для многих сервисов возможно выставить значение <tt>public</tt> или <tt>wheelonly</tt>, которые означают, что службой смогут воспользоваться либо все пользователи, либо только входящие в служебную группу <tt>wheel</tt>. К примеру, чтобы разрешить всем вызывать <tt>su</tt> нужно вызвать команду <tt>control su public</tt>. -- ALM2.4+<br />
<br />
=== Достающее ===<br />
* Невозможность собрать ядро системы "стандартным" способом (распаковка тарбола с kernel.org и make config, ...). Собираться собирается, но вот собранный образ нужно сначала найти, чтобы положить в /boot, само оно не желает -- ошибку про perl (который установлен) выдаёт. В общем, стандартная последовательность сборки не отрабатывала в полной мере. -- ALM2.2, ALM2.4, ALC3.0<br />
* После установки приходится настраивать часовой пояс системы. Вопреки указаниям, данным при установке системы, часовой пояс устанавливается Европа/Москва (мне, например, нужно было Европа/Минск). Приходится идти по пути "Меню KDE" -> "Настройка" -> "Другие" -> "Дата и время", изменять сначала часовой пояс, а потом ещё и время устанавливать правильное. Часы у пользователя на панели KDE аналоговые - приходится менять вручную на цифровые -- так привычнее. -- ALC3.0<br />
* Compact 3.0 застал ту стадию подхода к сборке ядер, когда штатной файловой системой для initrd стал romfs (ext2 попала в модули); это существенно затрудняет работу с SystemImager и mkcdrec, но у mike@ есть патчи для добавления genromfs туда, а в начале 2007 года произошёл переход на <tt>initramfs</tt> (и mkinitrd-2.9.10-alt1+ [http://sisyphus.ru/srpm/mkinitrd/changelog научили] разным ФС).<br />
<br />
=== О команде ===<br />
<pre>YAS> Впрочем, я уже понял, что в<br />
YAS> определённый момент перед пользователем ALT встаёт выбор -- менять<br />
YAS> дистрибутив или становиться мантейнером. <br />
<br />
Я бы сформулировал это немного по другому ...<br />
В определенный момент времени, когда пользователи других дистрибутивов<br />
начинают думать о замене дистрибутива, пользователи ALT приходят<br />
к осознанию необходимости что-либо собирать и пересобирать из исходников.<br />
Если у них это получается, и их труд нужен не только им,<br />
они становятся маинтейнерами ...<br />
<br />
И действительно, лучше дополнить ALT, чем каждый раз искать дистр,<br />
в котором есть то, что вам нужно... И потом материться, из-за того,<br />
что в неком дистре есть то, чего не было в предыдущем, но нет того, что было ...<br />
<br />
Сперва "сам себе режисер"... А потом и другим помощь :)</pre><br />
''[http://lists.altlinux.org/pipermail/community/2006-November/185682.html Dmitriy L. Kruglikov] в community@''<br />
<br />
<pre>Главное, что следует понять мантейнеру ALT Linux Team - <br />
что он не сам по себе, а участник команды. Не надо стесняться<br />
обращаться за помощью, если в чем-то не можешь разобраться <br />
или не уверен.</pre><br />
''[https://lists.altlinux.org/pipermail/devel/2007-December/067289.html damir@] в devel@''<br />
<br />
=== Ссылки ===<br />
* [http://en.wikipedia.org/wiki/Comparison_of_Linux_distributions Сравнение дистрибутивов Linux] (Wikipedia)<br />
<br />
=== Сравнения с другими дистрибутивами ===<br />
<br />
'''Преимущества ALT Linux перед Mandriva:'''<br />
# поддержка 8-битных тегов на кириллице в mp3<br />
# проигрывание mp3<br />
# проигрывание DVD<br />
# полный перевод kmymoney2<br />
# исправление при сохранении файлов с кириллицей в kturtle<br />
# единообразный стиль виджетов для приложений KDE и GTK+/GNOME<br />
# единая (и более настраивающая на рабочий лад) тема значков Tango, разрабатываемая под эгидой freedesktop.org для приложений KDE и GTK+/GNOME<br />
# просмотр ресурсов и файлов на кириллице в сети Samba<br />
# просмотр видеофайлов без закачки с ресурсов Samba (без монтирования)<br />
# специально подобранный фон рабочего стола, не разъезжающийся на широкоформатных ноутбучных мониторах<br />
# поддержка видеоускорения "из коробки"<br />
# конфигуратор через HTTPS<br />
# возможность ужатия разделов NTFS без потери данных<br />
# поиск по меню KDE<br />
# просмотр и распаковка архивов ZIP с именами файлов на кириллице<br />
# определение при установке и подключение дисков Windows с учётом кодировки<br />
# NTFS на запись<br />
# возможности (даже по количеству опций) apt-get гораздо больше, чем urpmi<br />
# сбалансированный набор пакетов, снижающий дублирование и переполнение меню KDE<br />
# Удобный выбор групп пакетов по семантическому признаку</div>DmitryLevinhttps://www.altlinux.org/index.php?title=Splash&diff=4202Splash2008-09-30T10:16:05Z<p>DmitryLevin: страница протухла</p>
<hr />
<div>[[Category:Documentation]]<br />
{{MovedFromFreesourceInfo|AltLinux/Dokumentacija/splash}}<br />
<br />
Эта страница устарела, см.<br />
[http://lists.altlinux.org/pipermail/community/2008-September/418461.html разъяснение]<br />
<br />
== Графическое меню и splash картинки при загрузке ==<br />
<br />
Для Compact 3.0 и других дистрибутивов ALT Linux семейства 3.0 графическая тема загрузки разделена на два пакета: <br />
* design-bootloader-<theme> (тема для менеджера загрузки)<br />
* design-bootsplash-<teheme> (графическая тема загрузки linux).<br />
Темы design-bootloader создаются с использованием пакета gfxboot. Темы design-bootsplash создаются с использованием пакета bootsplash. При этом ограничен размер картинки и количество цветов. Для того, что бы у вас <br />
появилась своя тема при загрузке, Вам не только её надо нарисовать, но и создать и установить соответствующие пакеты. <br />
<br />
Пример собственной темы и пакетов для неё вы можете найти на [http://gw.nsrz.ru/linux/rpm/alc30 http://gw.nsrz.ru/linux/rpm/alc30]<br />
Тема для менеджера загрузки ОС (меню выбора операционных систем):<br />
design-bootloader-ashen-0.1-alt1.i386.rpm <br />
design-bootloader-ashen-0.1-alt1.src.rpm <br />
Тема для графической заставки при загрузки линукс:<br />
design-bootsplash-AShen-0.1-alt1.noarch.rpm<br />
design-bootsplash-AShen-0.1-alt1.src.rpm<br />
Сама картинка тем:<br />
bootloader_and_bootsplash-AShen.pcx<br />
<br />
=== Починка ===<br />
<br />
После обновления 2.4 на 3.0.4 сломались некоторые вещи, в том числе и bootloader и splash<br />
<br />
Для настройки графического меню потребовался пакет design-bootloader-Compact<br />
и проверить куда указывает ссылка ls -l /boot/splash/message<br />
<br />
Для настройки splash, надо:<br />
Установить какой-либо пакет (благо в 3.0.4 их придостаточно)<br />
<pre>acs design-bootsplash-* [13:24:47]0|1.22<br />
design-bootsplash-Compact - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-AquaMatrix - Тема для отображения в процессе загрузки<br />
design-bootsplash-DangerGirl - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-ElvinTooka - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-EvenNewerTux - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-FarCry - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-Flower - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-FoggyStars - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-FrozenBubble - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-Linux - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-Matrix - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-MaxSelect - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-NightWorld - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-Notes - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-Pativo - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-Shodan - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-ThinkLinux - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-TuxNTosh - Тема для отображения графики в процессе загрузки</pre><br />
<pre>#cd /boot<br />
#cp initrd-2.6.12-std26-up-alt10.img initrd.gz<br />
#gunzip initrd.gz<br />
#splash -s -f \<br />
/etc/bootsplash/themes/DangerGirl/config/bootsplash-1024x768.cfg \<br />
>> initrd</pre><br />
или для каждой консоли отдельно:<br />
<pre>#splash -s -u 0 \<br />
/etc/bootsplash/themes/DangerGirl/config/bootsplash-1024x768.cfg \<br />
>> initrd<br />
# где "0" номер консоли<br />
#gzip initrd; mv initrd.gz initrd.img<br />
#vim /etc/lilo.conf и пускаем lilo -v</pre></div>DmitryLevinhttps://www.altlinux.org/index.php?title=Splash&diff=4201Splash2008-09-30T10:12:27Z<p>DmitryLevin: /* Графическое меню и splash картинки при загрузке */</p>
<hr />
<div>[[Category:Documentation]]<br />
{{MovedFromFreesourceInfo|AltLinux/Dokumentacija/splash}}<br />
<br />
== Графическое меню и splash картинки при загрузке ==<br />
<br />
Для Compact 3.0 и других дистрибутивов ALT Linux семейства 3.0 графическая тема загрузки разделена на два пакета: <br />
* design-bootloader-<theme> (тема для менеджера загрузки)<br />
* design-bootsplash-<teheme> (графическая тема загрузки linux).<br />
Темы design-bootloader создаются с использованием пакета gfxboot. Темы design-bootsplash создаются с использованием пакета bootsplash. При этом ограничен размер картинки и количество цветов. Для того, что бы у вас <br />
появилась своя тема при загрузке, Вам не только её надо нарисовать, но и создать и установить соответствующие пакеты. <br />
<br />
Пример собственной темы и пакетов для неё вы можете найти на [http://gw.nsrz.ru/linux/rpm/alc30 http://gw.nsrz.ru/linux/rpm/alc30]<br />
Тема для менеджера загрузки ОС (меню выбора операционных систем):<br />
design-bootloader-ashen-0.1-alt1.i386.rpm <br />
design-bootloader-ashen-0.1-alt1.src.rpm <br />
Тема для графической заставки при загрузки линукс:<br />
design-bootsplash-AShen-0.1-alt1.noarch.rpm<br />
design-bootsplash-AShen-0.1-alt1.src.rpm<br />
Сама картинка тем:<br />
bootloader_and_bootsplash-AShen.pcx<br />
<br />
=== Починка ===<br />
<br />
После обновления 2.4 на 3.0.4 сломались некоторые вещи, в том числе и bootloader и splash<br />
<br />
Для настройки графического меню потребовался пакет design-bootloader-Compact<br />
и проверить куда указывает ссылка ls -l /boot/splash/message<br />
<br />
Для настройки splash, надо:<br />
Установить какой-либо пакет (благо в 3.0.4 их придостаточно)<br />
<pre>acs design-bootsplash-* [13:24:47]0|1.22<br />
design-bootsplash-Compact - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-AquaMatrix - Тема для отображения в процессе загрузки<br />
design-bootsplash-DangerGirl - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-ElvinTooka - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-EvenNewerTux - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-FarCry - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-Flower - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-FoggyStars - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-FrozenBubble - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-Linux - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-Matrix - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-MaxSelect - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-NightWorld - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-Notes - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-Pativo - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-Shodan - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-ThinkLinux - Тема для отображения графики в процессе загрузки<br />
design-bootsplash-TuxNTosh - Тема для отображения графики в процессе загрузки</pre><br />
<pre>#cd /boot<br />
#cp initrd-2.6.12-std26-up-alt10.img initrd.gz<br />
#gunzip initrd.gz<br />
#splash -s -f \<br />
/etc/bootsplash/themes/DangerGirl/config/bootsplash-1024x768.cfg \<br />
>> initrd</pre><br />
или для каждой консоли отдельно:<br />
<pre>#splash -s -u 0 \<br />
/etc/bootsplash/themes/DangerGirl/config/bootsplash-1024x768.cfg \<br />
>> initrd<br />
# где "0" номер консоли<br />
#gzip initrd; mv initrd.gz initrd.img<br />
#vim /etc/lilo.conf и пускаем lilo -v</pre></div>DmitryLevinhttps://www.altlinux.org/index.php?title=Git&diff=3629Git2008-09-10T21:26:17Z<p>DmitryLevin: ссылки</p>
<hr />
<div>[[Category:Devel]]<br />
{{Stub}}<br />
{{MovedFromFreesourceInfo|AltLinux/Sisyphus/devel/git}}<br />
<br />
== Руководства ==<br />
<br />
* [[Краткое руководство по сборке с gear]]<br />
* [[Git.alt|Руководство по git.alt]]<br />
<br />
== Всё о GIT, со слов ldv ==<br />
<br />
''Здесь на самом деле не про git per se, а про git применительно к ALT Linux и git.alt; в качестве введения в git см., например, [http://www.kernel.org/pub/software/scm/git/docs/everyday.html Everyday GIT].''<br />
<br />
''Некое подобие QuickStart по git@ALT для присматривающихся участников team -- [[git/start|здесь]].''<br />
<br />
<div style="display: inline; color: red;">NB: эту страницу (а также [[gear|gear]], [[gear/kis|gear/kis]], [[gear/geartags|gear/geartags]], [[gear/ImportUpstreamVBranch|gear/ImportUpstreamVBranch]], [[gear/ImportSeparateUpstream|gear/ImportSeparateUpstream]], [[git/recommit|git/recommit]], [[git/gitnotes|git/gitnotes]], [[git/gitincompact|git/gitincompact]], [[git/SomeDestReposViaBranches|git/SomeDestReposViaBranches]], [[git/MergingBranches|git/MergingBranches]], [[git/BranchInGit|git/BranchInGit]]) надо творчески раскромсать на:</div><br />
* Введение в git + ссылки<br />
* [[Git.alt|Руководство по git.alt]]<br />
* [[Руководство по gear]]<br />
* [[Справочник по git.alt]]<br />
* Справочник по gear<br />
<br />
__TOC__<br />
<br />
<br />
=== GEAR ===<br />
<br />
В апреле 2007 года идея хранить исходный код пакетов в git-репозитории была реализована с помощью утилиты, которая 27-го апреля получила имя [[gear|gear]]. Напомню вкратце:<br />
<br />
Основной смысл хранения исходного кода пакетов в git-репозитории заключается в более эффективной и удобной совместной разработке, а также минимизации трафика и места на диске для хранения архива репозитория за длительный срок. Идея <tt>gear</tt> заключается в том, чтобы с помощью одного файла с простыми правилами (для обработки которых достаточно <tt>git</tt>+<tt>sed</tt>) можно было собирать пакеты из произвольно устроенного git-репозитория, по аналогии с [[hasher]], который был задуман как средство собирать пакеты из произвольных srpm-пакетов.<br />
<br />
За время, прошедшее с конца апреля, многие из вас успели освоиться с <tt>gear</tt>, появилась базовая документация, семейство вспомогательных утилит и опыт эксплуатации. Поэтому весьма вероятно, что те из вас, кому только предстоит осваивать gear, пройдут этот путь гораздо легче и быстрее чем я. :) Например, одна только утилита <tt>gear-srpmimport</tt> позволяет на начальном этапе вообще не интересоваться синтаксисом файла <tt>.gear-rules</tt>.<br />
<br />
На всякий случай рекомендую установить/обновить пакет <tt>gear</tt>, а также освежить в своей памяти содержимое файлов <tt>/usr/share/doc/gear-1.4.0/QUICKSTART.ru.html</tt> и <tt>/usr/share/doc/git-1.5.5.3/tutorial.html</tt><br />
<br />
=== Структура репозитория ===<br />
<br />
Как уже было сказано, <tt>gear</tt> не накладывает ограничений на внутреннюю организацию git-репозитория (не считая файла с правилами). Тем не менее, у меня есть несколько соображений о том, как более эффективно и удобно организовывать git-репозитории, предназначенные для хранения пакетов:<br />
<br />
* Одна сущность - один репозиторий.<br />
::Не стоит помещать в один репозиторий несколько разных пакетов, за исключением случаев, когда у этих пакетов есть общий пакет-предок. Соблюдение этого правила облегчает совместную работу над пакетом, поскольку не перегруженный репозиторий легче клонировать и в целом инструментарий git больше подходит для работы с такими репозиториями.<br />
** '''Отрицательная сторона''': несколько сложнее делать «push» и «pull» в случае, когда репозиториев, которые надо обработать, много. Впрочем, push/pull в цикле выручает.<br />
<br />
* Несжатый исходный код.<br />
::Сжатый разными архиваторами исходный код (как правило это tarball'ы) лучше хранить в git-репозитории в несжатом виде. Изменение файлов, которые помещены в репозиторий в сжатом виде, менее удобно отслеживать штатными средствами (<tt>git-diff</tt>). Поскольку git хранит объекты в сжатом виде, двойное сжатие редко приводит к экономии дискового пространства. Наконец, алгоритм, применяемый для минимизации трафика при обновлении репозитория по протоколу git, заметно более эффективен на несжатых данных. <br />
** '''Отрицательная сторона''': поскольку некоторые виды сжатия одних и тех же данных могут приводить к разным результатам, может уменьшиться степень первозданности (нативности) исходного кода.<br />
<br />
* Распакованный исходный код.<br />
::Исходный код, запакованный tar/cpio/..., лучше хранить в git-репозитории в распакованном виде, по тем же причинам (заметно удобнее отслеживать изменения, существенно меньше трафик при обновлении).<br />
** '''Отрицательная сторона''': поскольку git из информации о владельце, правах доступа и дате модификации файлов хранит только исполняемость файлов, любой архив, созданный из репозитория, будет по этим параметрам отличаться от первозданного. Помимо потери нативности, изменение прав доступа и даты модификации может теоретически повлиять на результат сборки пакета. Впрочем, такие пакеты, если они будут обнаружены, всё равно надо править.<br />
<br />
* Аккуратный changelog.<br />
::В changelog релизного commit'а стоит включать соответствующий текст из changelog'а пакета, как это делают утилиты <tt>gear-commit</tt> (обёртка к <tt>git-commit</tt>, специально предназначенная для этих целей) и <tt>gear-srpmimport</tt>. В результате можно будет получить представление об изменениях в пакете, не заглядывая в spec-файл самого пакета.<br />
<br />
=== Инструкция по эксплуатации git.altlinux.org ===<br />
<br />
Для преодоления барьеров вида «админ закрыл наружу всё и оставил только прокси» ssh на git.altlinux.org доступен также и на порту 443, что можно [[fsi:SSHFirewall|использовать]].<br />
<br />
По всем вопросам, связанным с этой частью инструкции, пишите на join@.<br />
<br />
Клонировать к себе на компьютер свой репозиторий с git.altlinux.org:<br />
<br />
$ git-clone git.alt:packages/vitmp.git<br />
remote: Generating pack...<br />
remote: Done counting 12 objects.<br />
remote: Deltifying 12 objects.<br />
remote: 100% (12/12) done<br />
remote: Total 12, written 12 (delta 2), reused 12 (delta 2)<br />
<br />
Клонировать к себе на компьютер чужой репозиторий с git.altlinux.org:<br />
$ git-clone git.alt:/people/ldv/packages/vitmp.git<br />
<br />
Залить на git.alt свой ранее созданный git-репозиторий:<br />
cd ~/package<br />
$ git push --all git.alt:packages/package.git<br />
<br />
Представим, что некий foo сделал какие-либо изменения для нашего пакета bar в бранче bar-bugfree и выложил их на git.alt.<br />
Узнаем, как называется его этот бранч:<br />
$ git ls-remote git.alt:/people/foo/packages/bar.git<br />
<br />
Далее зафетчим этот бранч к нам с одноименным названием:<br />
<br />
$ git-fetch git.alt:/people/foo/packages/bar.git bar-bugfree:bar-bugfree<br />
<br />
Дальше работаем с ним как хотим ;)<br />
<br />
Удалить бранч на git.alt (задав пустое имя локального бранча):<br />
$ git push ... :branch<br />
<br />
Копирование файлов из одного бранча в другой:<br />
$ git-archive --format=tar --prefix=directory-branchXXX branchXXX:directory | tar xf -<br />
и устаревший способ:<br />
$ git-tar-tree branchXXX:directory directory-branchXXX | tar xf -<br />
<br />
== Ответы на часто забываемые вопросы ==<br />
<br />
=== «Как найти майнтейнера?» ===<br />
1. [http://alt3.linux.kiev.ua/srpm/Sisyphus/spt/git http://alt3.linux.kiev.ua/srpm/Sisyphus/spt/git] (с датами и ссылками)<br />
2. [http://git.altlinux.org/people-packages-list http://git.altlinux.org/people-packages-list]<br />
3. см. ниже:<br />
<pre>> Слить сорцы из git'а, сделать патч и отправить автору (да, в мире существуют<br />
> другие git-репозитории, помимо git.a.o). Совершенно обычный use-case для того<br />
> типа пользователя, кого сейчас в инфраструктуре совершенно игнорируют: casual<br />
> mantainers, которых почти всё устраивает, но иногда хочется написать патчик и<br />
> отправить обратно.<br />
В принципе, даже той информации, которая есть в бинарном пакете сейчас,<br />
уже достаточно для casual mantainers:<br />
1. В установленном бинарном пакете есть %{SOURCERPM} (виден по rpmquery -i),<br />
из которого однозначно вычисляется имя исходного пакета.<br />
2. Далее, в установленном бинарном пакете есть %{CHANGELOGNAME} (виден по<br />
rpmquery --lastchange).<br />
3. По именам мантейнера (MAINT) и исходного пакета (PKG) можно с очень<br />
высокой вероятностью предположить, что если пакет был собран из<br />
git-репозитория, то этот репозиторий называется<br />
http://git.altlinux.org/people/MAINT/packages/?p=PKG.git</pre><br />
''[http://lists.altlinux.org/pipermail/devel/2007-March/043158.html ldv@]''<br />
<br />
=== Как вести пакет в git ===<br />
==== damir@ ====<br />
<pre>Посмотрите на http://git.altlinux.org/people/damir/packages/?p=liblazy.git;a=summary<br />
<br />
Там правда апстрим git-овый, но это сути не меняет.<br />
.gear-rules там состоит из одной строчки - вот такой:<br />
<br />
tar.bz2: @name@-@version@:.<br />
<br />
@name@ и @version@ берутся из спека. @name@ - это liblazy. а @version@ - это 0.1<br />
<br />
На ветке upstream присутствует тег liblazy-0.1. Поэтому апстримный<br />
тарбол будет браться из этого тега.<br />
<br />
При переезде на новую версию надо будет всего лишь:<br />
<br />
1. Поставить нужный тег на апстримной ветке (например liblazy-0.2).<br />
2. Смержить этот тег в master с -s ours<br />
3. Заменить в спеке версию с 0.1 на 0.2.<br />
4. Выполнить gear-update-tag -ac<br />
5. Дописать changelog</pre><br />
<br />
=== Как втащить пакет из Сизифа, если его нет на git.alt/people ===<br />
Пакет, который давно не собирался или заброшен, или его майнтейнер не пользуется git.alt, можно найти в [http://git.altlinux.org/archive/ архиве Сизифа]. Архив Сизифа содержит последние версии когда-либо собиравшихся в Сизиф пакетов (с историей) и доступен по <tt>ssh git.alt</tt> в каталоге <tt>/archive</tt>. Для удобства хранилища собраны в двухуровневое дерево (по первой букве), без различия майнтейнеров.<br />
<br />
Таким образом ''на сегодня'' <tt>git-clone git.alt:/archive/m/mkimage</tt> отдаст хранилище, соответствующее текущему пакету <tt>mkimage</tt> в Сизифе, кто бы его ни собрал на этот раз.<br />
<br />
=== workflow ===<br />
<br />
Совместная работа над пакетами в git строится по следующей схеме:<br />
<br />
[ user A ] [ user B ]<br />
| [repo A/X] |<br />
| | |<br />
| |----------+-->[repo B/X] -- B клонирует репозиторий A/X в свой B/X<br />
| | | |<br />
| | |------>| -- B работает над содержимым репозитория<br />
| | |------>|<br />
| | |------>| -- B решает, что результат ему нравится<br />
|<-----------------| | -- B оповещает A о том, что в B/X<br />
| | | | имеется что-то новое<br />
|-------+<-----------------| -- A добавляет (pull/push) содержимое<br />
| | | | B/X в A/X<br />
<br />
При дальнейшей работе сценарий повторяется, за исключением того, что B не клонирует репозиторий A/X, а подтягивает (pull) из него новые изменения.<br />
<br />
Как это реализуется на практике?<br />
<br />
Для поиска репозитория для клонирования используется команда <tt>find-package</tt>:<br />
$ ssh git.alt find-package bugzilla<br />
/people/vvk/packages/bugzilla.git 1168522087<br />
$<br />
Склонировать репозиторий можно с помощью команды <tt>clone</tt>:<br />
$ ssh git.alt clone /people/vvk/packages/bugzilla.git<br />
Initialized empty Git repository in /people/dottedmag/packages/bugzilla.git/<br />
$<br />
Эта команда создаст вашу копию репозитория ''на сервере git.alt''. Для работы с ним необходимо склонировать этот репозиторий на локальную машину:<br />
$ git clone ssh://git.alt/people/dottedmag/packages/bugzilla.git<br />
Initialized empty Git repository in /home/dottedmag/bugzilla/.git/<br />
....<br />
$<br />
С этим git-репозиторием можно работать как обычно: править, делать commit и так далее. Поскольку для склонированного репозитория создаётся remote с названием origin, то <tt>git-push</tt> тоже работает:<br />
$ git push<br />
...<br />
$<br />
Нотификации производятся вручную - почтой или через bugzilla. Аналога pull request из github или gitorious на <tt>git.alt</tt> пока что нет.<br />
<br />
Втягивание чужих изменений производится стандартными git-средствами: добавлением remote<br />
$ git remote add someuser ssh://git.alt/people/someuser/bugzilla.git<br />
засасыванием изменений:<br />
$ git fetch someuser master<br />
наложением их:<br />
$ git merge someuser/master<br />
и отправкой в <tt>git.alt</tt>:<br />
$ git push<br />
<br />
<br />
<br />
== Ссылки ==<br />
* [http://www.kernel.org/pub/software/scm/git/docs/everyday.html Everyday Git] With 20 Commands Or So<br />
* [http://www.kernel.org/pub/software/scm/git/docs/user-manual.html Git User's Manual]<br />
* [http://www.freesource.info/wiki/AltLinux/Sisyphus/devel/gear Использование gear]<br />
* [[git/recommit|Как переделать commit, в котором сразу же нашёлся ляп]]<br />
* [[git/MergingBranches|Как мержить бранчи]], поддерживая пакет с N пересекающимися патчами<br />
* [[git/gitincompact|Как установить git в Compact 3.0]]<br />
* [http://lwn.net/Articles/245678/ Линкдамп] по документации git<br />
** [http://www.kernel.org/pub/software/scm/git/docs/tutorial.html tutorial] по 1.5+, в частности<br />
* [http://betterexplained.com/articles/intro-to-distributed-version-control-illustrated/ Intro to Distributed Version Control (Illustrated])<br />
* [http://www.infoq.com/articles/dvcs-guide Distributed Version Control Systems: A Not-So-Quick Guide Through]<br />
* [http://www.opensolaris.org/os/community/tools/scm/git-report-final.txt Обзор git] для сообщества OpenSolaris<br />
* [http://freesource.info/wiki//RuslanHihin/GitTutorial1 Учебник "введение в git" (для версии 1.5.1 или более поздняя версия]<br />
* [http://freesource.info/wiki//RuslanHihin/20povsedevnyxkomandgit 20 повседневных команд git] <br />
* [http://freesource.info/wiki//RuslanHihin/GitUserManual Главы из руководства пользователя git]<br />
* [http://git.or.cz/gitwiki/ GitWiki]<br />
** [http://git.or.cz/gitwiki/GitDocumentation GitDocumentation]<br />
** [http://git.or.cz/gitwiki/QuickStart QuickStart]<br />
** [http://git.or.cz/gitwiki/IndexCommandQuickref IndexCommandQuickref]<br />
** [http://git.or.cz/gitwiki/GitTips GitTips]<br />
** [http://git.or.cz/gitwiki/GitFaq GitFaq]<br />
** [http://git.or.cz/gitwiki/GitWorkflows GitWorkflows]<br />
** [http://git.or.cz/gitwiki/ExampleScripts ExampleScripts]<br />
** [http://git.or.cz/gitwiki/Aliases Aliases]<br />
** [http://git.or.cz/gitwiki/GitGlossary GitGlossary]<br />
* [http://zrusin.blogspot.com/2007/09/git-cheat-sheet.html Zack Rusin: Git cheat sheet] ([http://www.samlown.com/uploads/documents/git-cheat-sheet-a4.pdf A4])<br />
* [http://linux.yyz.us/git-howto.html Kernel Hackers' Guide to git]<br />
* [http://cworth.org/hgbook-git/tour/ A tour of git: the basics]<br />
* [http://www.sourcemage.org/Git_Guide Git Guide - SourceMage Wiki]<br />
* [http://www-cs-students.stanford.edu/~blynn/gitmagic/index.html Git Magic]<br />
* [http://gitfu.wordpress.com/ git-fu]<br />
* [http://versioncontrolblog.com/ Version Control Blog]<br />
* [http://github.com/guides GitHub: Git Guides]<br />
* [http://kernel.org/pub/software/scm/git/docs/howto/ Git Howtos]<br />
* [http://www.gitcasts.com/ GitCasts]<br />
* [http://article.gmane.org/gmane.comp.version-control.git/31625 Branching and merging with git]</div>DmitryLevinhttps://www.altlinux.org/index.php?title=Hasher/%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE&diff=3618Hasher/Руководство2008-09-10T21:06:49Z<p>DmitryLevin: /* Сборка пакетов на tmpfs */</p>
<hr />
<div>[[Категория:Руководства]]<br />
[[Категория:Devel]]<br />
[[Категория:Sisyphus]]<br />
== Принцип действия ==<br />
<br />
<tt>hasher</tt> — инструмент для сборки пакетов в «чистой» и контролируемой среде. Это достигается с помощью создания в chroot минимальной сборочной среды, установки туда указанных в source-пакете сборочных зависимостей и сборке пакета в свежесозданной среде. Для сборки каждого пакета сборочная среда создаётся заново<ref>за исключением кэширования образа базовой системы, которое не влияет на корректность и воспроизводимость результата</ref>.<br />
<br />
Такой принцип сборки имеет несколько следствий:<br />
* Все необходимые для сборки зависимости должны быть указаны в пакете. Для облегчения поддержания сборочных зависимостей в актуальном состоянии в Sisyphus придуман инструмент под названием [[buildreq]],<br />
* Сборка не зависит от конфигурации компьютера пользователя, собирающего пакет, и может быть повторена на другом компьютере,<br />
* Изолированность среды сборки позволяет с лёгкостью собирать на одном компьютере пакеты для разных дистрибутивов и веток репозитория — для этого достаточно лишь направить <tt>hasher</tt> на различные репозитории для каждого сборочного окружения.<br />
<br />
Дополнительно к сборке пакетов <tt>hasher</tt><br />
* проверяет их с помощью утилиты [[sisyphus_check]],<br />
* создаёт локальный APT-репозиторий с результатами сборки, позволяя последовательно собирать пакеты, опираясь на уже собранные.<br />
<br />
== Установка ==<br />
<br />
<tt>hasher</tt> в Sisyphus и дистрибутивах ALT Linux располагается в пакетах <tt>hasher</tt> и <tt>hasher-priv</tt> и легко устанавливается:<br />
# apt-get install hasher<br />
<br />
== Добавление пользователя ==<br />
<br />
<tt>hasher</tt> использует специальных вспомогательных пользователей и группу <tt>hashman</tt> для своей работы, поэтому каждого пользователя, желающего использовать <tt>hasher</tt>, перед началом работы нужно зарегистрировать:<br />
# hasher-useradd USER<br />
Эта команда создаёт вспомогательных пользователей USER_a и USER_b и добавляет пользователя USER в группы <tt>hashman</tt>, <tt>USER_a</tt> и <tt>USER_b</tt>.<br />
<br />
Поскольку <tt>hasher-useradd</tt> добавляет пользователя в группы, пользователю необходимо перелогиниться (открытия нового терминала в X недостаточно; <tt>su - $USER</tt> достаточно) перед началом работы с <tt>hasher</tt>.<br />
<br />
== Настройка сборочной среды ==<br />
<br />
Для работы <tt>hasher</tt> требуется создать директорию, в которой будет строиться сборочная среда:<br />
$ mkdir ~/hasher<br />
Рабочий каталог (в данном случае <tt>~/hasher</tt>) должен быть доступен на запись пользователю, запускающему сборку.<br />
<br />
Кроме того, его нельзя располагать на файловой системе, которая смонтирована с опциями <tt>noexec</tt> или <tt>nodev</tt> — в таких условиях <tt>hasher</tt> не сможет создать корректное сборочное окружение.<br />
<br />
Сборочное окружение можно создать явно:<br />
$ hsh --initroot-only ~/hasher<ref>Директория ~/hasher используется по умолчанию во всех командах <tt>hsh-*</tt> и её можно не указывать: <tt>hsh --initroot-only</tt>, <tt>hsh somepkg.src.rpm</tt> и т. д.</ref><br />
Явное создание необязательно - при необходимости оно будет произведено при первой сборке пакета.<br />
<br />
<tt>hasher</tt> берёт пакеты для установки из APT-источников. По умолчанию в сборочную среду копируется список источников, указанный в конфигурации APT хост-системы, но это можно изменить с помощью альтернативного файла конфигурации APT:<br />
$ hsh --apt-config=branch4.1-apt.conf --initroot-only ~/hasher<br />
В таком файле конфигурации необходимо укзать расположение файла с APT-источниками:<br />
Dir::Etc::SourceList "/home/USER/sources.list.branch4.1";<br />
После создания сборочной среды (неявного, при сборке пакета, или явного, с помощью <tt>--initroot-only</tt>) параметр <tt>--apt-config</tt> больше не нужен.<br />
<br />
== Сборка программ в hasher ==<br />
<br />
Сборка происходит от обычного пользователя, добавленного с помощью <tt>hasher-useradd</tt>:<br />
$ hsh ~/hasher freetype-2.1.9-alt2.src.rpm<br />
<br />
При удачной сборке полученные пакеты будут лежать в <tt>~/hasher/repo/<платформа>/RPMS.hasher/</tt>, в противном случае на stdout будет выведена информация об ошибках сборки.<br />
<br />
Создаваемый <tt>hasher</tt> репозиторий является обычным APT-репозиторием и может быть использован в <tt>sources.list</tt>. Дополнительно, этот репозиторий будет использован при дальнейшей сборке пакетов (это поведение можно регулировать ключом <tt>--without-stuff</tt>).<br />
<br />
== Сборочные зависимости ==<br />
<br />
Сборочные зависимости <tt>RPM</tt> делятся на два вида:<br />
* необходимые для корректного создания <tt>src.rpm</tt> из spec-файла (содержащие определения RPM-макросов, используемых в spec-файле),<br />
* все остальные (необходимые для непосредственной сборки).<br />
<br />
Поскольку <tt>hasher</tt> собирает пакеты из <tt>src.rpm</tt> (не считая поддержки [[gear]]), то для сборки необходимо иметь в хост-системе установленные сборочные зависимости первого типа. Большинство таких зависимостей (но пока не все) содержатся в пакетах с названием <tt>rpm-build-*</tt>.<br />
<br />
Поскольку сборка <tt>src.rpm</tt> либо завершается неудачно (при отсутствии сборочной зависимости первого типа), либо корректно, то собирать <tt>src.rpm</tt>-пакеты в хост системе можно с помощью <tt>--nodeps</tt>:<br />
rpm -bs --nodeps foo.spec<br />
<br />
Сам <tt>hasher</tt>, в отличие от [[gear]], не предъявляет никаких требований к разделению сборочных зависимостей на первый и второй тип. Однако для совместимости с [[gear]] и для улучшения документируемости spec-файла рекомендуется распределять их так:<br />
* В поле <tt>BuildRequires(pre)</tt> помещать сборочные завимости, требуемые для сборки <tt>src.rpm</tt>,<br />
* В поле <tt>BuildRequires</tt> — все остальные.<br />
<br />
== Архитектура пакетов ==<br />
<br />
В связи с <s>идиотизмом</s>особенностями версии RPM, используемой в Sisyphus, [[rpmbuild]] (и, как следствие, <tt>hasher</tt>) на x86-системах могут собирать RPM-пакеты для совершенно разных архитектур: pentium3, pentium4, athlon и т.д.<br />
<br />
Для отключения эвристик RPM по определению целевой архитектуры можно воспользоваться ключом <tt>--target</tt> или опцией конфигурации <tt>def_target</tt>.<br />
$ hsh --target=i586 mypkg-0.0-alt0.src.rpm<br />
или, в <tt>~/.hasher/config</tt>:<br />
def_target=i586<br />
<br />
== Монтирование файловых систем внутри <tt>hasher</tt> ==<br />
<br />
Некоторым приложениям для сборки требуется смонтированная файловая система (например, <tt>/proc</tt>). <tt>hasher</tt> поддерживает монтирование дополнительных файловых систем в сборочную среду.<br />
<br />
Монтирование происходит при одновременном выполнении следующих трёх условий:<br />
* Необходимая файловая система описана в файле <tt>/etc/hasher-priv/fstab</tt>, либо является одной из предопределённых: <tt>/proc</tt>, <tt>/dev/pts</tt>, <tt>/sys</tt>.<br />
* Необходимая файловая система указана в опции <tt>--mountpoints</tt> при запуске <tt>hasher</tt>, либо, что то же самое, в ключе <tt>known_mountpoints</tt> конфигурационного файла <tt>hasher</tt> (<tt>~/.hasher/config</tt>).<br />
* Необходимая файловая система укзана сборочной зависимостью (например, <tt>BuildReq: /proc</tt>) собираемого пакета, прямой или косвенной (через зависимости сборочных зависимостей пакета).<br />
<br />
=== Монтирование /proc ===<br />
<br />
* <tt>known_mountpoints=/proc</tt> в конфиге <tt>hasher</tt> или опция <tt>--mountpoints=/proc</tt> при сборке пакета,<br />
* <tt>BuildRequires: /proc</tt> в пакете<br />
<br />
Для сборки в [[Incoming]] достаточно сборочной зависимости на <tt>/proc</tt>.<br />
<br />
== Использование нескольких сборочных окружений ==<br />
<br />
<tt>hasher</tt> не ограничивает пользователей одним сборочным окружением. Первый параметр, передаваемый <tt>hsh</tt>, указывает на конкретную сборочницу, в которой необходимо производить работу:<br />
$ hsh ~/hasher-4.0 mypkg-0.0-alt0.M40.0.src.rpm<br />
...<br />
$ hsh ~/hasher-4.1 mypkg-0.0-alt0.M41.0.src.rpm<br />
...<br />
По умолчанию используется директория <tt>~/hasher</tt>.<br />
<br />
== Параллельная сборка ==<br />
<br />
По умолчанию <tt>hasher</tt> позволяет одному пользователю производить не больше одной сборки на данной системе в любой момент времени. Для преодоления этого ограничения используются ''subconfigs'' и дополнительные вспомогательные пользователи.<br />
<br />
Детали применения такой конфигурации описаны на man-странице <tt>hsh(1)</tt> в описании ключа <tt>--number</tt>.<br />
<br />
== Сборка пакетов на <tt>tmpfs</tt> ==<br />
<br />
При наличии достаточного количества памяти на сборочной машине сборку пакетов можно производить на [[enwp:Tmpfs#Linux|<tt>tmpfs</tt>]] - такая конфигурация заметно [[Скоростные характеристики hasher|ускоряет]] сборку.<br />
<br />
В качестве <tt>tmpfs</tt> можно взять уже смонтированный /tmp:<br />
$ mkdir /tmp/.private/$USER/hasher<br />
$ hsh --repo=$HOME/hasher-repo /tmp/.private/$USER/hasher somepkg-0.0-alt0.src.rpm<br />
Создавать директорию <tt>/tmp/.private/$USER/hasher</tt> придётся после каждой перезагрузки, например,<br />
в файле <tt>~/.hasher/config</tt>. Указывать <tt>--repo</tt> придётся для каждой сборки.<br />
<br />
Возможно, что для сборки чего-нибудь тяжёлого придётся в увеличить размер <tt>tmpfs</tt>, смонтированной в <tt>/tmp</tt>. Эта операция производится в файле <tt>/etc/fstab</tt>:<br />
tmpfs /tmp tmpfs nosuid,'''nr_inodes=1m,size=4g''' 0 0<br />
Разумеется, изменения в <tt>/etc/fstab</tt> применяются только после перемонтирования файловой системы.<br />
<br />
В [[altbug:16706|баге 16706]] идёт обсуждение создания более удобного средства для сборки на <tt>tmpfs</tt> и имеется предварительная реализация.<br />
<br />
== Отключение проверок sisyphus_check ==<br />
<br />
По умолчанию <tt>hasher</tt> запускает утилиту [[sisyphus_check|<tt>sisyphus_check</tt>]] с полным набором тестов. <tt>sisyphus_check</tt> проверяет не только технические требоввания репозитория Sisyphus, но и организационные: сборочный хост, подпись PGP-ключом члена ALT Linux Team и т.д., так что в случае сборки пакета не для репозитория Sisyphus возникает необходимость отключить часть проверок.<br />
<br />
Для отключения части или всех проверок используется ключ <tt>--no-sisyphus-check[=LIST]</tt> или, что эквивалентно, опция конфига <tt>no_sisyphus_check</tt>.<br />
<br />
Без аргумента этот ключ отключает запуск <tt>sisyphus_check</tt> вообще:<br />
$ hsh --no-sisyphus-check mybroken-but-cool-package-I-need-to-run-today-0.0-alt0.src.rpm<br />
С аргументом - списком отключаемых тестов - отключает только эти тесты:<br />
$ hsh --no-sisyphus-check=packager,gpg my-package-for-different-repository-0.0-0.src.rpm<br />
<br />
Со списком тестов можно ознакомиться в подсказке самого <tt>sisyphus_check</tt>:<br />
$ sisyphus_check --help<br />
...<br />
Valid options are:<br />
...<br />
--[no-]check-buildhost<br />
--[no-]check-buildtime<br />
--[no-]check-changelog<br />
...<br />
$<br />
<br />
Более тонко запуск тестов можно настроить с помощью опций <tt>--no-sisyphus-check-in</tt> и <tt>--no-sisyphus-check-out</tt>, с описанием которых можно ознакомиться в man-странице <tt>hsh(1)</tt>.<br />
<br />
== Ограничение ресурсов ==<br />
<br />
<tt>hasher</tt> позволяет ограничить ресурсы, выделяемые на сборку: CPU, память, общее время исполнения и другие. Ограничения указываются в конфигурационном файле <tt>hasher-priv</tt>.<br />
<br />
Полный список ограничиваемых ресурсов можно найти в man-странице <tt>hasher-priv.conf(5)</tt>.<br />
<br />
== Отладка в сборочном <tt>chroot</tt> ==<br />
<br />
Для отладки сборки иногда полезно запустить shell в сборочном <tt>chroot</tt>. Для этого используется утилита <tt>hsh-shell(1)</tt>:<br />
$ hsh-shell<br />
Можно запустить программу и с правами псевдо-root:<br />
$ hsh-shell --rooter<br />
Для контроля за содержимым сборочного <tt>chroot</tt>а используются опции <tt>hsh</tt>: <tt>--cleanup-only</tt>, <tt>--eager-cleanup</tt>, <tt>--lazy-cleanup</tt>.<br />
<br />
Для запуска произвольных программ в сборочном чруте существует более низкоуровневая утилита <tt>hsh-run(1)</tt>.<br />
<br />
== Примечания ==<br />
<br />
<references/></div>DmitryLevinhttps://www.altlinux.org/index.php?title=Hasher/%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE&diff=3615Hasher/Руководство2008-09-10T21:01:21Z<p>DmitryLevin: /* Монтирование файловых систем внутри hasher */</p>
<hr />
<div>[[Категория:Руководства]]<br />
[[Категория:Devel]]<br />
[[Категория:Sisyphus]]<br />
== Принцип действия ==<br />
<br />
<tt>hasher</tt> — инструмент для сборки пакетов в «чистой» и контролируемой среде. Это достигается с помощью создания в chroot минимальной сборочной среды, установки туда указанных в source-пакете сборочных зависимостей и сборке пакета в свежесозданной среде. Для сборки каждого пакета сборочная среда создаётся заново<ref>за исключением кэширования образа базовой системы, которое не влияет на корректность и воспроизводимость результата</ref>.<br />
<br />
Такой принцип сборки имеет несколько следствий:<br />
* Все необходимые для сборки зависимости должны быть указаны в пакете. Для облегчения поддержания сборочных зависимостей в актуальном состоянии в Sisyphus придуман инструмент под названием [[buildreq]],<br />
* Сборка не зависит от конфигурации компьютера пользователя, собирающего пакет, и может быть повторена на другом компьютере,<br />
* Изолированность среды сборки позволяет с лёгкостью собирать на одном компьютере пакеты для разных дистрибутивов и веток репозитория — для этого достаточно лишь направить <tt>hasher</tt> на различные репозитории для каждого сборочного окружения.<br />
<br />
Дополнительно к сборке пакетов <tt>hasher</tt><br />
* проверяет их с помощью утилиты [[sisyphus_check]],<br />
* создаёт локальный APT-репозиторий с результатами сборки, позволяя последовательно собирать пакеты, опираясь на уже собранные.<br />
<br />
== Установка ==<br />
<br />
<tt>hasher</tt> в Sisyphus и дистрибутивах ALT Linux располагается в пакетах <tt>hasher</tt> и <tt>hasher-priv</tt> и легко устанавливается:<br />
# apt-get install hasher<br />
<br />
== Добавление пользователя ==<br />
<br />
<tt>hasher</tt> использует специальных вспомогательных пользователей и группу <tt>hashman</tt> для своей работы, поэтому каждого пользователя, желающего использовать <tt>hasher</tt>, перед началом работы нужно зарегистрировать:<br />
# hasher-useradd USER<br />
Эта команда создаёт вспомогательных пользователей USER_a и USER_b и добавляет пользователя USER в группы <tt>hashman</tt>, <tt>USER_a</tt> и <tt>USER_b</tt>.<br />
<br />
Поскольку <tt>hasher-useradd</tt> добавляет пользователя в группы, пользователю необходимо перелогиниться (открытия нового терминала в X недостаточно; <tt>su - $USER</tt> достаточно) перед началом работы с <tt>hasher</tt>.<br />
<br />
== Настройка сборочной среды ==<br />
<br />
Для работы <tt>hasher</tt> требуется создать директорию, в которой будет строиться сборочная среда:<br />
$ mkdir ~/hasher<br />
Рабочий каталог (в данном случае <tt>~/hasher</tt>) должен быть доступен на запись пользователю, запускающему сборку.<br />
<br />
Кроме того, его нельзя располагать на файловой системе, которая смонтирована с опциями <tt>noexec</tt> или <tt>nodev</tt> — в таких условиях <tt>hasher</tt> не сможет создать корректное сборочное окружение.<br />
<br />
Сборочное окружение можно создать явно:<br />
$ hsh --initroot-only ~/hasher<ref>Директория ~/hasher используется по умолчанию во всех командах <tt>hsh-*</tt> и её можно не указывать: <tt>hsh --initroot-only</tt>, <tt>hsh somepkg.src.rpm</tt> и т. д.</ref><br />
Явное создание необязательно - при необходимости оно будет произведено при первой сборке пакета.<br />
<br />
<tt>hasher</tt> берёт пакеты для установки из APT-источников. По умолчанию в сборочную среду копируется список источников, указанный в конфигурации APT хост-системы, но это можно изменить с помощью альтернативного файла конфигурации APT:<br />
$ hsh --apt-config=branch4.1-apt.conf --initroot-only ~/hasher<br />
В таком файле конфигурации необходимо укзать расположение файла с APT-источниками:<br />
Dir::Etc::SourceList "/home/USER/sources.list.branch4.1";<br />
После создания сборочной среды (неявного, при сборке пакета, или явного, с помощью <tt>--initroot-only</tt>) параметр <tt>--apt-config</tt> больше не нужен.<br />
<br />
== Сборка программ в hasher ==<br />
<br />
Сборка происходит от обычного пользователя, добавленного с помощью <tt>hasher-useradd</tt>:<br />
$ hsh ~/hasher freetype-2.1.9-alt2.src.rpm<br />
<br />
При удачной сборке полученные пакеты будут лежать в <tt>~/hasher/repo/<платформа>/RPMS.hasher/</tt>, в противном случае на stdout будет выведена информация об ошибках сборки.<br />
<br />
Создаваемый <tt>hasher</tt> репозиторий является обычным APT-репозиторием и может быть использован в <tt>sources.list</tt>. Дополнительно, этот репозиторий будет использован при дальнейшей сборке пакетов (это поведение можно регулировать ключом <tt>--without-stuff</tt>).<br />
<br />
== Сборочные зависимости ==<br />
<br />
Сборочные зависимости <tt>RPM</tt> делятся на два вида:<br />
* необходимые для корректного создания <tt>src.rpm</tt> из spec-файла (содержащие определения RPM-макросов, используемых в spec-файле),<br />
* все остальные (необходимые для непосредственной сборки).<br />
<br />
Поскольку <tt>hasher</tt> собирает пакеты из <tt>src.rpm</tt> (не считая поддержки [[gear]]), то для сборки необходимо иметь в хост-системе установленные сборочные зависимости первого типа. Большинство таких зависимостей (но пока не все) содержатся в пакетах с названием <tt>rpm-build-*</tt>.<br />
<br />
Поскольку сборка <tt>src.rpm</tt> либо завершается неудачно (при отсутствии сборочной зависимости первого типа), либо корректно, то собирать <tt>src.rpm</tt>-пакеты в хост системе можно с помощью <tt>--nodeps</tt>:<br />
rpm -bs --nodeps foo.spec<br />
<br />
Сам <tt>hasher</tt>, в отличие от [[gear]], не предъявляет никаких требований к разделению сборочных зависимостей на первый и второй тип. Однако для совместимости с [[gear]] и для улучшения документируемости spec-файла рекомендуется распределять их так:<br />
* В поле <tt>BuildRequires(pre)</tt> помещать сборочные завимости, требуемые для сборки <tt>src.rpm</tt>,<br />
* В поле <tt>BuildRequires</tt> — все остальные.<br />
<br />
== Архитектура пакетов ==<br />
<br />
В связи с <s>идиотизмом</s>особенностями версии RPM, используемой в Sisyphus, [[rpmbuild]] (и, как следствие, <tt>hasher</tt>) на x86-системах могут собирать RPM-пакеты для совершенно разных архитектур: pentium3, pentium4, athlon и т.д.<br />
<br />
Для отключения эвристик RPM по определению целевой архитектуры можно воспользоваться ключом <tt>--target</tt> или опцией конфигурации <tt>def_target</tt>.<br />
$ hsh --target=i586 mypkg-0.0-alt0.src.rpm<br />
или, в <tt>~/.hasher/config</tt>:<br />
def_target=i586<br />
<br />
== Монтирование файловых систем внутри <tt>hasher</tt> ==<br />
<br />
Некоторым приложениям для сборки требуется смонтированная файловая система (например, <tt>/proc</tt>). <tt>hasher</tt> поддерживает монтирование дополнительных файловых систем в сборочную среду.<br />
<br />
Монтирование происходит при одновременном выполнении следующих трёх условий:<br />
* Необходимая файловая система описана в файле <tt>/etc/hasher-priv/fstab</tt>, либо является одной из предопределённых: <tt>/proc</tt>, <tt>/dev/pts</tt>, <tt>/sys</tt>.<br />
* Необходимая файловая система указана в опции <tt>--mountpoints</tt> при запуске <tt>hasher</tt>, либо, что то же самое, в ключе <tt>known_mountpoints</tt> конфигурационного файла <tt>hasher</tt> (<tt>~/.hasher/config</tt>).<br />
* Необходимая файловая система укзана сборочной зависимостью (например, <tt>BuildReq: /proc</tt>) собираемого пакета, прямой или косвенной (через зависимости сборочных зависимостей пакета).<br />
<br />
=== Монтирование /proc ===<br />
<br />
* <tt>known_mountpoints=/proc</tt> в конфиге <tt>hasher</tt> или опция <tt>--mountpoints=/proc</tt> при сборке пакета,<br />
* <tt>BuildRequires: /proc</tt> в пакете<br />
<br />
Для сборки в [[Incoming]] достаточно сборочной зависимости на <tt>/proc</tt>.<br />
<br />
== Использование нескольких сборочных окружений ==<br />
<br />
<tt>hasher</tt> не ограничивает пользователей одним сборочным окружением. Первый параметр, передаваемый <tt>hsh</tt>, указывает на конкретную сборочницу, в которой необходимо производить работу:<br />
$ hsh ~/hasher-4.0 mypkg-0.0-alt0.M40.0.src.rpm<br />
...<br />
$ hsh ~/hasher-4.1 mypkg-0.0-alt0.M41.0.src.rpm<br />
...<br />
По умолчанию используется директория <tt>~/hasher</tt>.<br />
<br />
== Параллельная сборка ==<br />
<br />
По умолчанию <tt>hasher</tt> позволяет одному пользователю производить не больше одной сборки на данной системе в любой момент времени. Для преодоления этого ограничения используются ''subconfigs'' и дополнительные вспомогательные пользователи.<br />
<br />
Детали применения такой конфигурации описаны на man-странице <tt>hsh(1)</tt> в описании ключа <tt>--number</tt>.<br />
<br />
== Сборка пакетов на <tt>tmpfs</tt> ==<br />
<br />
При наличии достаточного количества памяти на сборочной машине сборку пакетов можно производить на [[enwp:Tmpfs#Linux|<tt>tmpfs</tt>]] - такая конфигурация заметно [[Скоростные характеристики hasher|ускоряет]] сборку.<br />
<br />
В качестве <tt>tmpfs</tt> можно взять уже смонтированный /tmp:<br />
$ mkdir /tmp/.private/$USER/hasher<br />
$ hsh --repo=$HOME/hasher-repo /tmp/.private/$USER/hasher somepkg-0.0-alt0.src.rpm<br />
Создавать директорию <tt>/tmp/.private/$USER/hasher</tt> придётся после каждой перезагрузки. Указывать <tt>--repo</tt> придётся для каждой сборки.<br />
<br />
Возможно, что для сборки чего-нибудь тяжёлого придётся в увеличить размер <tt>tmpfs</tt>, смонтированной в <tt>/tmp</tt>. Эта операция производится в файле <tt>/etc/fstab</tt>:<br />
tmpfs /tmp tmpfs nosuid,'''size=1g''' 0 0<br />
Разумеется, изменения в <tt>/etc/fstab</tt> применяются только после перемонтирования файловой системы.<br />
<br />
В [[altbug:16706|баге 16706]] идёт обсуждение создания более удобного средства для сборки на <tt>tmpfs</tt> и имеется предварительная реализация.<br />
<br />
== Отключение проверок sisyphus_check ==<br />
<br />
По умолчанию <tt>hasher</tt> запускает утилиту [[sisyphus_check|<tt>sisyphus_check</tt>]] с полным набором тестов. <tt>sisyphus_check</tt> проверяет не только технические требоввания репозитория Sisyphus, но и организационные: сборочный хост, подпись PGP-ключом члена ALT Linux Team и т.д., так что в случае сборки пакета не для репозитория Sisyphus возникает необходимость отключить часть проверок.<br />
<br />
Для отключения части или всех проверок используется ключ <tt>--no-sisyphus-check[=LIST]</tt> или, что эквивалентно, опция конфига <tt>no_sisyphus_check</tt>.<br />
<br />
Без аргумента этот ключ отключает запуск <tt>sisyphus_check</tt> вообще:<br />
$ hsh --no-sisyphus-check mybroken-but-cool-package-I-need-to-run-today-0.0-alt0.src.rpm<br />
С аргументом - списком отключаемых тестов - отключает только эти тесты:<br />
$ hsh --no-sisyphus-check=packager,gpg my-package-for-different-repository-0.0-0.src.rpm<br />
<br />
Со списком тестов можно ознакомиться в подсказке самого <tt>sisyphus_check</tt>:<br />
$ sisyphus_check --help<br />
...<br />
Valid options are:<br />
...<br />
--[no-]check-buildhost<br />
--[no-]check-buildtime<br />
--[no-]check-changelog<br />
...<br />
$<br />
<br />
Более тонко запуск тестов можно настроить с помощью опций <tt>--no-sisyphus-check-in</tt> и <tt>--no-sisyphus-check-out</tt>, с описанием которых можно ознакомиться в man-странице <tt>hsh(1)</tt>.<br />
<br />
== Ограничение ресурсов ==<br />
<br />
<tt>hasher</tt> позволяет ограничить ресурсы, выделяемые на сборку: CPU, память, общее время исполнения и другие. Ограничения указываются в конфигурационном файле <tt>hasher-priv</tt>.<br />
<br />
Полный список ограничиваемых ресурсов можно найти в man-странице <tt>hasher-priv.conf(5)</tt>.<br />
<br />
== Отладка в сборочном <tt>chroot</tt> ==<br />
<br />
Для отладки сборки иногда полезно запустить shell в сборочном <tt>chroot</tt>. Для этого используется утилита <tt>hsh-shell(1)</tt>:<br />
$ hsh-shell<br />
Можно запустить программу и с правами псевдо-root:<br />
$ hsh-shell --rooter<br />
Для контроля за содержимым сборочного <tt>chroot</tt>а используются опции <tt>hsh</tt>: <tt>--cleanup-only</tt>, <tt>--eager-cleanup</tt>, <tt>--lazy-cleanup</tt>.<br />
<br />
Для запуска произвольных программ в сборочном чруте существует более низкоуровневая утилита <tt>hsh-run(1)</tt>.<br />
<br />
== Примечания ==<br />
<br />
<references/></div>DmitryLevinhttps://www.altlinux.org/index.php?title=Hasher/%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE&diff=3614Hasher/Руководство2008-09-10T20:59:47Z<p>DmitryLevin: /* Монтирование файловых систем внутри hasher */</p>
<hr />
<div>[[Категория:Руководства]]<br />
[[Категория:Devel]]<br />
[[Категория:Sisyphus]]<br />
== Принцип действия ==<br />
<br />
<tt>hasher</tt> — инструмент для сборки пакетов в «чистой» и контролируемой среде. Это достигается с помощью создания в chroot минимальной сборочной среды, установки туда указанных в source-пакете сборочных зависимостей и сборке пакета в свежесозданной среде. Для сборки каждого пакета сборочная среда создаётся заново<ref>за исключением кэширования образа базовой системы, которое не влияет на корректность и воспроизводимость результата</ref>.<br />
<br />
Такой принцип сборки имеет несколько следствий:<br />
* Все необходимые для сборки зависимости должны быть указаны в пакете. Для облегчения поддержания сборочных зависимостей в актуальном состоянии в Sisyphus придуман инструмент под названием [[buildreq]],<br />
* Сборка не зависит от конфигурации компьютера пользователя, собирающего пакет, и может быть повторена на другом компьютере,<br />
* Изолированность среды сборки позволяет с лёгкостью собирать на одном компьютере пакеты для разных дистрибутивов и веток репозитория — для этого достаточно лишь направить <tt>hasher</tt> на различные репозитории для каждого сборочного окружения.<br />
<br />
Дополнительно к сборке пакетов <tt>hasher</tt><br />
* проверяет их с помощью утилиты [[sisyphus_check]],<br />
* создаёт локальный APT-репозиторий с результатами сборки, позволяя последовательно собирать пакеты, опираясь на уже собранные.<br />
<br />
== Установка ==<br />
<br />
<tt>hasher</tt> в Sisyphus и дистрибутивах ALT Linux располагается в пакетах <tt>hasher</tt> и <tt>hasher-priv</tt> и легко устанавливается:<br />
# apt-get install hasher<br />
<br />
== Добавление пользователя ==<br />
<br />
<tt>hasher</tt> использует специальных вспомогательных пользователей и группу <tt>hashman</tt> для своей работы, поэтому каждого пользователя, желающего использовать <tt>hasher</tt>, перед началом работы нужно зарегистрировать:<br />
# hasher-useradd USER<br />
Эта команда создаёт вспомогательных пользователей USER_a и USER_b и добавляет пользователя USER в группы <tt>hashman</tt>, <tt>USER_a</tt> и <tt>USER_b</tt>.<br />
<br />
Поскольку <tt>hasher-useradd</tt> добавляет пользователя в группы, пользователю необходимо перелогиниться (открытия нового терминала в X недостаточно; <tt>su - $USER</tt> достаточно) перед началом работы с <tt>hasher</tt>.<br />
<br />
== Настройка сборочной среды ==<br />
<br />
Для работы <tt>hasher</tt> требуется создать директорию, в которой будет строиться сборочная среда:<br />
$ mkdir ~/hasher<br />
Рабочий каталог (в данном случае <tt>~/hasher</tt>) должен быть доступен на запись пользователю, запускающему сборку.<br />
<br />
Кроме того, его нельзя располагать на файловой системе, которая смонтирована с опциями <tt>noexec</tt> или <tt>nodev</tt> — в таких условиях <tt>hasher</tt> не сможет создать корректное сборочное окружение.<br />
<br />
Сборочное окружение можно создать явно:<br />
$ hsh --initroot-only ~/hasher<ref>Директория ~/hasher используется по умолчанию во всех командах <tt>hsh-*</tt> и её можно не указывать: <tt>hsh --initroot-only</tt>, <tt>hsh somepkg.src.rpm</tt> и т. д.</ref><br />
Явное создание необязательно - при необходимости оно будет произведено при первой сборке пакета.<br />
<br />
<tt>hasher</tt> берёт пакеты для установки из APT-источников. По умолчанию в сборочную среду копируется список источников, указанный в конфигурации APT хост-системы, но это можно изменить с помощью альтернативного файла конфигурации APT:<br />
$ hsh --apt-config=branch4.1-apt.conf --initroot-only ~/hasher<br />
В таком файле конфигурации необходимо укзать расположение файла с APT-источниками:<br />
Dir::Etc::SourceList "/home/USER/sources.list.branch4.1";<br />
После создания сборочной среды (неявного, при сборке пакета, или явного, с помощью <tt>--initroot-only</tt>) параметр <tt>--apt-config</tt> больше не нужен.<br />
<br />
== Сборка программ в hasher ==<br />
<br />
Сборка происходит от обычного пользователя, добавленного с помощью <tt>hasher-useradd</tt>:<br />
$ hsh ~/hasher freetype-2.1.9-alt2.src.rpm<br />
<br />
При удачной сборке полученные пакеты будут лежать в <tt>~/hasher/repo/<платформа>/RPMS.hasher/</tt>, в противном случае на stdout будет выведена информация об ошибках сборки.<br />
<br />
Создаваемый <tt>hasher</tt> репозиторий является обычным APT-репозиторием и может быть использован в <tt>sources.list</tt>. Дополнительно, этот репозиторий будет использован при дальнейшей сборке пакетов (это поведение можно регулировать ключом <tt>--without-stuff</tt>).<br />
<br />
== Сборочные зависимости ==<br />
<br />
Сборочные зависимости <tt>RPM</tt> делятся на два вида:<br />
* необходимые для корректного создания <tt>src.rpm</tt> из spec-файла (содержащие определения RPM-макросов, используемых в spec-файле),<br />
* все остальные (необходимые для непосредственной сборки).<br />
<br />
Поскольку <tt>hasher</tt> собирает пакеты из <tt>src.rpm</tt> (не считая поддержки [[gear]]), то для сборки необходимо иметь в хост-системе установленные сборочные зависимости первого типа. Большинство таких зависимостей (но пока не все) содержатся в пакетах с названием <tt>rpm-build-*</tt>.<br />
<br />
Поскольку сборка <tt>src.rpm</tt> либо завершается неудачно (при отсутствии сборочной зависимости первого типа), либо корректно, то собирать <tt>src.rpm</tt>-пакеты в хост системе можно с помощью <tt>--nodeps</tt>:<br />
rpm -bs --nodeps foo.spec<br />
<br />
Сам <tt>hasher</tt>, в отличие от [[gear]], не предъявляет никаких требований к разделению сборочных зависимостей на первый и второй тип. Однако для совместимости с [[gear]] и для улучшения документируемости spec-файла рекомендуется распределять их так:<br />
* В поле <tt>BuildRequires(pre)</tt> помещать сборочные завимости, требуемые для сборки <tt>src.rpm</tt>,<br />
* В поле <tt>BuildRequires</tt> — все остальные.<br />
<br />
== Архитектура пакетов ==<br />
<br />
В связи с <s>идиотизмом</s>особенностями версии RPM, используемой в Sisyphus, [[rpmbuild]] (и, как следствие, <tt>hasher</tt>) на x86-системах могут собирать RPM-пакеты для совершенно разных архитектур: pentium3, pentium4, athlon и т.д.<br />
<br />
Для отключения эвристик RPM по определению целевой архитектуры можно воспользоваться ключом <tt>--target</tt> или опцией конфигурации <tt>def_target</tt>.<br />
$ hsh --target=i586 mypkg-0.0-alt0.src.rpm<br />
или, в <tt>~/.hasher/config</tt>:<br />
def_target=i586<br />
<br />
== Монтирование файловых систем внутри <tt>hasher</tt> ==<br />
<br />
Некоторым приложениям для сборки требуется смонтированная файловая система (например, <tt>/proc</tt>). <tt>hasher</tt> поддерживает монтирование дополнительных файловых систем в сборочную среду.<br />
<br />
Монтирование происходит при одновременном выполнении следующих трёх условий:<br />
* Необходимая файловая система описана в файле <tt>/etc/hasher-priv/fstab</tt>, либо является одной из предопределённых: <tt>/proc</tt>, <tt>/dev/pts</tt>, <tt>/sys</tt>.<br />
* Необходимая файловая система указана в опции <tt>--mountpoints</tt> при запуске <tt>hasher</tt>, либо, что то же самое, в ключе <tt>known_mountpoints</tt> конфигурационного файла <tt>hasher</tt> (<tt>~/.hasher/config</tt>).<br />
* Необходимая файловая система укзана сборочной зависимостью (например, <tt>BuildReq: /proc</tt>) собираемого пакета, прямой или косвенной (через другие сборочные зависимости пакета).<br />
<br />
=== Монтирование /proc ===<br />
<br />
* <tt>known_mountpoints=/proc</tt> в конфиге <tt>hasher</tt> или опция <tt>--mountpoints=/proc</tt> при сборке пакета,<br />
* <tt>BuildRequires: /proc</tt> в пакете<br />
<br />
Для сборки в [[Incoming]] достаточно сборочной зависимости на <tt>/proc</tt>.<br />
<br />
== Использование нескольких сборочных окружений ==<br />
<br />
<tt>hasher</tt> не ограничивает пользователей одним сборочным окружением. Первый параметр, передаваемый <tt>hsh</tt>, указывает на конкретную сборочницу, в которой необходимо производить работу:<br />
$ hsh ~/hasher-4.0 mypkg-0.0-alt0.M40.0.src.rpm<br />
...<br />
$ hsh ~/hasher-4.1 mypkg-0.0-alt0.M41.0.src.rpm<br />
...<br />
По умолчанию используется директория <tt>~/hasher</tt>.<br />
<br />
== Параллельная сборка ==<br />
<br />
По умолчанию <tt>hasher</tt> позволяет одному пользователю производить не больше одной сборки на данной системе в любой момент времени. Для преодоления этого ограничения используются ''subconfigs'' и дополнительные вспомогательные пользователи.<br />
<br />
Детали применения такой конфигурации описаны на man-странице <tt>hsh(1)</tt> в описании ключа <tt>--number</tt>.<br />
<br />
== Сборка пакетов на <tt>tmpfs</tt> ==<br />
<br />
При наличии достаточного количества памяти на сборочной машине сборку пакетов можно производить на [[enwp:Tmpfs#Linux|<tt>tmpfs</tt>]] - такая конфигурация заметно [[Скоростные характеристики hasher|ускоряет]] сборку.<br />
<br />
В качестве <tt>tmpfs</tt> можно взять уже смонтированный /tmp:<br />
$ mkdir /tmp/.private/$USER/hasher<br />
$ hsh --repo=$HOME/hasher-repo /tmp/.private/$USER/hasher somepkg-0.0-alt0.src.rpm<br />
Создавать директорию <tt>/tmp/.private/$USER/hasher</tt> придётся после каждой перезагрузки. Указывать <tt>--repo</tt> придётся для каждой сборки.<br />
<br />
Возможно, что для сборки чего-нибудь тяжёлого придётся в увеличить размер <tt>tmpfs</tt>, смонтированной в <tt>/tmp</tt>. Эта операция производится в файле <tt>/etc/fstab</tt>:<br />
tmpfs /tmp tmpfs nosuid,'''size=1g''' 0 0<br />
Разумеется, изменения в <tt>/etc/fstab</tt> применяются только после перемонтирования файловой системы.<br />
<br />
В [[altbug:16706|баге 16706]] идёт обсуждение создания более удобного средства для сборки на <tt>tmpfs</tt> и имеется предварительная реализация.<br />
<br />
== Отключение проверок sisyphus_check ==<br />
<br />
По умолчанию <tt>hasher</tt> запускает утилиту [[sisyphus_check|<tt>sisyphus_check</tt>]] с полным набором тестов. <tt>sisyphus_check</tt> проверяет не только технические требоввания репозитория Sisyphus, но и организационные: сборочный хост, подпись PGP-ключом члена ALT Linux Team и т.д., так что в случае сборки пакета не для репозитория Sisyphus возникает необходимость отключить часть проверок.<br />
<br />
Для отключения части или всех проверок используется ключ <tt>--no-sisyphus-check[=LIST]</tt> или, что эквивалентно, опция конфига <tt>no_sisyphus_check</tt>.<br />
<br />
Без аргумента этот ключ отключает запуск <tt>sisyphus_check</tt> вообще:<br />
$ hsh --no-sisyphus-check mybroken-but-cool-package-I-need-to-run-today-0.0-alt0.src.rpm<br />
С аргументом - списком отключаемых тестов - отключает только эти тесты:<br />
$ hsh --no-sisyphus-check=packager,gpg my-package-for-different-repository-0.0-0.src.rpm<br />
<br />
Со списком тестов можно ознакомиться в подсказке самого <tt>sisyphus_check</tt>:<br />
$ sisyphus_check --help<br />
...<br />
Valid options are:<br />
...<br />
--[no-]check-buildhost<br />
--[no-]check-buildtime<br />
--[no-]check-changelog<br />
...<br />
$<br />
<br />
Более тонко запуск тестов можно настроить с помощью опций <tt>--no-sisyphus-check-in</tt> и <tt>--no-sisyphus-check-out</tt>, с описанием которых можно ознакомиться в man-странице <tt>hsh(1)</tt>.<br />
<br />
== Ограничение ресурсов ==<br />
<br />
<tt>hasher</tt> позволяет ограничить ресурсы, выделяемые на сборку: CPU, память, общее время исполнения и другие. Ограничения указываются в конфигурационном файле <tt>hasher-priv</tt>.<br />
<br />
Полный список ограничиваемых ресурсов можно найти в man-странице <tt>hasher-priv.conf(5)</tt>.<br />
<br />
== Отладка в сборочном <tt>chroot</tt> ==<br />
<br />
Для отладки сборки иногда полезно запустить shell в сборочном <tt>chroot</tt>. Для этого используется утилита <tt>hsh-shell(1)</tt>:<br />
$ hsh-shell<br />
Можно запустить программу и с правами псевдо-root:<br />
$ hsh-shell --rooter<br />
Для контроля за содержимым сборочного <tt>chroot</tt>а используются опции <tt>hsh</tt>: <tt>--cleanup-only</tt>, <tt>--eager-cleanup</tt>, <tt>--lazy-cleanup</tt>.<br />
<br />
Для запуска произвольных программ в сборочном чруте существует более низкоуровневая утилита <tt>hsh-run(1)</tt>.<br />
<br />
== Примечания ==<br />
<br />
<references/></div>DmitryLevinhttps://www.altlinux.org/index.php?title=CoreSystem/coreutils&diff=3482CoreSystem/coreutils2008-09-09T11:28:27Z<p>DmitryLevin: /* Планы */</p>
<hr />
<div>[[Category:Sisyphus]]<br />
<br />
== Sisyphus Core - базовые библиотеки и утилиты ==<br />
<br />
<onlyinclude><br />
=== Планы ===<br />
<br />
* обновление toolchain до gcc-4.3.x/glibc-2.8/binutils-2.18.50.x (wart, ldv)<br />
* [partially done] перевод всех использующих libdb4 пакетов на libdb4.7 (ldv)<br />
* [complete] обновление autoconf/automake до свежих версий (Rider, ldv)<br />
* обновление libtool до 2.2.x (Rider, ldv)<br />
* [complete] обновление openssl до 0.9.8h (sin)<br />
* [partially done] перевод всех использующих libssl пакетов на libssl7 (sin, ldv)<br />
</onlyinclude></div>DmitryLevinhttps://www.altlinux.org/index.php?title=Gear/%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA&diff=3378Gear/Справочник2008-09-04T12:14:41Z<p>DmitryLevin: /* Принцип функционирования */</p>
<hr />
<div>[[Категория:Sisyphus]]<br />
[[Категория:Devel]]<br />
[[Категория:Справочники]]<br />
{{Stub}}<br />
<br />
== Назначение ==<br />
<br />
<tt>gear</tt> - инструмент для управления <tt>git</tt>-репозиториями с исходным кодом и пакетированием. <tt>gear</tt> поддерживает полный цикл управления репозиториями:<br />
* Создание репозитория или импорт существующих <tt>src.rpm</tt>-пакетов,<br />
* Обновление upstream-кода в репозиториях,<br />
* Наложение патчей и пакетирование,<br />
* Экспорт <tt>pkg.tar</tt> и <tt>src.rpm</tt>, сборка бинарных RPM-пакетов.<br />
<br />
== Принцип функционирования ==<br />
<br />
<tt>gear</tt>-репозиторий - это <tt>git</tt>-репозиторий, содержащий файл <tt>.gear/rules</tt>. Этот файл (плюс несколько вспомогательных) описывают правила сборки содержимого <tt>git</tt>-репозитория в пакет формата <tt>pkg.tar</tt> или <tt>src.rpm</tt>.<br />
<br />
<tt>pkg.tar</tt> - это основанный на <tt>tar</tt> формат для хранения пакета с исходным кодом, аналогичный <tt>src.rpm</tt>, но не требующий запуска <tt>rpmbuild</tt> для создания. [[hasher]] умеет собирать пакеты в формате <tt>pkg.tar</tt>.<br />
<br />
== Содержимое ==<br />
<br />
<tt>gear</tt> состоит из набора утилит, помогающих осуществлять несколько различных деятельностей:<br />
# Импорт пакетов с исходным кодом в <tt>gear</tt>-репозиторий:<br />
#* <tt>gear-srpmimport(1)</tt>.<br />
# Обновление исходного кода в <tt>gear</tt>-репозитории:<br />
#* <tt>gear-update(1)</tt>,<br />
#* <tt>gear-merge(1)</tt>.<br />
# Управление changelog (как в spec-файле, так и <tt>git</tt>-ового) в <tt>gear-репозитории</tt>:<br />
#* <tt>gear-changelog(1)</tt>,<br />
#* <tt>gear-commit(1)</tt>.<br />
# Поддержание <tt>git</tt>-тэгов в <tt>gear</tt>-репозитории:<br />
#* <tt>gear-create-tag(1)</tt>,<br />
#* <tt>gear-update-tag(1)</tt>.<br />
# Экспортирование и сборка RPM-пакетов из <tt>gear</tt>-репозитория:<br />
#* <tt>gear(1)</tt>,<br />
#* <tt>gear-rpm(1)</tt>,<br />
#* <tt>gear-hsh(1)</tt>,<br />
#* <tt>gear-remote(1)</tt>,<br />
#* <tt>gear-remote-rpm(1)</tt>,<br />
#* <tt>gear-remote-hsh(1)</tt>.<br />
<br />
Дополнительно имеются две утилиты<br />
* <tt>gear-hsh-build(1)</tt> — высокоуровневая обёртка вокруг <tt>gear(1)</tt>, собирающая с помощью [[hasher]] несколько <tt>gear</tt>-репозиториев и укладывающая их в локальный APT-репозиторий,<br />
* <tt>gear-buildreq(1)</tt> — утилита для запука [[buildreq]] на содержимом <tt>gear</tt>-репозитория.<br />
<br />
Утилиты экспортирования и сборки пакетов, а также <tt>gear-buildreq(1)</tt> являются простыми обёртками над низкоуровневой командой <tt>gear(1)</tt>.<br />
<br />
== Правила <tt>.gear/rules</tt> ==<br />
<br />
== Управление <tt>gear</tt>-тэгами ==<br />
<br />
== Особенности написания <tt>.spec</tt>-файлов ==</div>DmitryLevinhttps://www.altlinux.org/index.php?title=CoreSystem/coreutils&diff=3116CoreSystem/coreutils2008-08-29T11:48:42Z<p>DmitryLevin: </p>
<hr />
<div>[[Category:Sisyphus]]<br />
<br />
== Sisyphus Core - базовые библиотеки и утилиты ==<br />
<br />
=== Планы ===<br />
<br />
* обновление toolchain до gcc-4.3.x/glibc-2.8/binutils-2.18.50.x (wart, ldv)<br />
* [partially done] перевод всех использующих libdb4 пакетов на libdb4.7 (ldv)<br />
* [complete] обновление autoconf/automake до последних версий (Rider, ldv)<br />
* обновление libtool до 2.2.x (Rider, ldv)<br />
* [complete] обновление openssl до 0.9.8h (sin)<br />
* [partially done] перевод всех использующих libssl пакетов на libssl7 (sin, ldv)</div>DmitryLevinhttps://www.altlinux.org/index.php?title=Git.alt/%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA&diff=3080Git.alt/Справочник2008-08-27T23:00:59Z<p>DmitryLevin: /* charset */</p>
<hr />
<div>[[Категория:Devel]]<br />
[[Категория:Sisyphus]]<br />
[[Категория:Справочники]]<br />
[[en:git.alt reference]]<br />
== Как воспользоваться <tt>git.alt</tt>? ==<br />
<br />
<tt>git.alt</tt> предоставляет несколько видов доступа:<br />
<br />
* SSH-доступ. Предоставляет несколько команд: для поиска репозиториев, их клонирования, создания, удаления, а также служебных.<br />
* <tt>ssh</tt>, <tt>git</tt>, <tt>rsync</tt>, <tt>http</tt> — доступ для непосредственной работы с репозиториями. <tt>git</tt>, <tt>rsync</tt> и <tt>http</tt>-адреса предоставляют r/o доступ, <tt>ssh</tt> — r/w.<br />
* Web-интерфейс. Находится по адресу http://git.altlinux.org/, предоставляет навигацию по списку репозиториев и <tt>gitweb</tt> для индивидуальных репозиториев.<br />
<br />
SSH-доступ к <tt>git.alt</tt> выдаётся после [[Join|принятия]] в ALT Linux Team.<br />
<br />
=== SSH-доступ ===<br />
<br />
<tt>git.alt</tt> доступен по SSH по адресу <tt>git.altlinux.org:222</tt>. Аккаунт для доступа — <tt>git_$USERNAME</tt>, где USERNAME — имя, присвоенное в процессе принятия в Team, с символами «-» заменёнными на «_».<br />
<br />
Пример <tt>~/.ssh/config</tt>:<br />
Host git.alt<br />
HostName git.altlinux.org<br />
Port 222<br />
User git_USERNAME<br />
<br />
Для работы [[fsi:SSHFirewall|из-за прокси]] и в других сложных условиях SSH также доступен по адресу <tt>git.altlinux.org:443</tt>.<br />
<br />
Для работы с <tt>git.alt</tt> необходимо настроить свой <tt>git</tt>: параметры <tt>user.name</tt>, <tt>user.email</tt>, <tt>user.signingkey</tt>. Например:<br />
<br />
$ git-config --global user.name "Vasiliy Pupkin"<br />
$ git-config --global user.email USERNAME@altlinux.org<br />
$ git-config --global user.signingkey 0F0F0F0F<br />
<br />
Список команд выдаётся при ssh-логине без команды или с командой <tt>help</tt>:<br />
<br />
$ ssh git.alt help<br />
Available commands:<br />
help<br />
git-receive-pack <directory><br />
git-upload-pack <directory><br />
charset <path to git repository> [<charset>]<br />
clone <path to git repository> [<path to directory>]<br />
find-package <pattern><br />
init-db <path to directory><br />
ls [<path to directory>]<br />
mv-db <path to source directory> <path to destination directory><br />
quota<br />
rm-db <path to git repository><br />
task {list|new|show|drop|add|run} ...<br />
build <path to gear repository> <tag name> [<binary package repository name>] [<project name>]<br />
$<br />
<br />
Во всех командах суффикс директорий репозиториев <tt>.git</tt> опционален и может быть опущен. В выводе команд <tt>.git</tt> присутствует всегда.<br />
<br />
==== ls ====<br />
<br />
'''$ ssh git.alt ls [<directory>]'''<br />
<br />
Эта команда позволяет посмотреть содержимое различных директорий на <tt>git.alt</tt>:<br />
<br />
$ ssh git.alt ls /people/dottedmag/public<br />
total 24<br />
drwxr-sr-x 5 4096 Jun 13 10:22 bugzilla-repo-sync.git<br />
...<br />
drwxr-sr-x 5 4096 Jul 7 18:03 wackoconvert.git<br />
$<br />
<br />
Без параметров — показывает содержимое <tt>/people/$USERNAME</tt>:<br />
<br />
$ ssh git.alt ls<br />
total 16<br />
drwxr-s--- 5 4096 May 30 21:27 etc<br />
drwxr-sr-x 14 4096 Aug 13 23:53 packages<br />
drwxr-s--x 2 4096 Feb 13 2007 private<br />
drwxr-sr-x 8 4096 Aug 13 23:57 public<br />
$<br />
<br />
От этой же директории отсчитываются относительные пути:<br />
<br />
$ ssh git.alt ls public<br />
total 24<br />
drwxr-sr-x 5 4096 Jun 13 10:22 bugzilla-repo-sync.git<br />
...<br />
drwxr-sr-x 5 4096 Jul 7 18:03 wackoconvert.git<br />
$<br />
<br />
==== find-package ====<br />
<br />
'''$ ssh git.alt find-package <pattern>'''<br />
<br />
Эта команда позволяет искать репозитории по переданному шаблону. Единственный метасимвол, допустимый в шаблоне — <tt>*</tt>. Репозитории ищутся в директории <tt>packages</tt> каждого пользователя, поскольку предполагается, что <tt>[[gear]]</tt>-репозитории располагаются именно там.<br />
<br />
$ ssh git.alt find-package glibc*<br />
/people/avm/packages/glibc.git 1216320095<br />
...<br />
/people/peet/packages/glibc-kernheaders.git 1177084354<br />
/people/mike/packages/glibc-kvercheck.git 1160664813<br />
$ ssh git.alt find-package glibc<br />
/people/avm/packages/glibc.git 1216320095<br />
...<br />
/people/peet/packages/glibc.git 1177084600<br />
$<br />
<br />
Вторая колонка в выводе <tt>find-package</tt> — unixtime времени последнего обновления репозитория.<br />
<br />
==== clone ====<br />
<br />
'''$ ssh git.alt clone <path to git repository> [<destination directory>]'''<br />
<br />
Эта команда позволяет "склонировать", т.е. создать в своей директории копию репозитория для начала работы над ним.<br />
<br />
Без второго аргумента — клонирует в директорию <tt>packages</tt>:<br />
<br />
$ ssh git.alt clone /people/ldv/glibc.git<br />
Initialized empty Git repository in /people/dottedmag/packages/glibc.git/<br />
$<br />
<br />
Вторым аргументом можно указать как директорию, в которую нужно поместить клон репозитория, так и название репозитория:<br />
<br />
$ ssh git.alt clone /people/ldv/glibc.git public<br />
Initialized empty Git repository in /people/dottedmag/public/glibc.git/<br />
$ ssh git.alt clone /people/ldv/glibc.git public/test<br />
Initialized empty Git repository in /people/dottedmag/public/test.git/<br />
$<br />
<br />
Можно также склонировать репозиторий, находящийся вне <tt>git.alt</tt>:<br />
<br />
$ ssh git.alt clone <nowiki>http://github.com/dottedmag/madshelf.git</nowiki> public<br />
Initialized empty Git repository in /people/dottedmag/packages/public.git/<br />
Getting alternates list for <nowiki>http://github.com/dottedmag/madshelf.git</nowiki><br />
...<br />
walk 03d18e21d85fa30fc3ac8d921eb391e2a7bb242a<br />
$<br />
<br />
==== init-db ====<br />
<br />
'''$ ssh git.alt init-db <path to directory>'''<br />
Позволяет создать новый git-репозиторий. По умолчанию репозиторий создаётся в директории <tt>packages</tt>:<br />
$ ssh git.alt init-db test<br />
Initialized empty Git repository in ./<br />
girar-init-db: /people/dottedmag/packages/test.git<br />
При указании пути создаёт репозиторий по указанному пути:<br />
$ ssh git.alt init-db public/test<br />
Initialized empty Git repository in ./<br />
girar-init-db: /people/dottedmag/public/test.git<br />
<br />
==== mv-db ====<br />
<br />
'''$ ssh git.alt mv-db <path to source directory> <path to destination directory>'''<br />
Позволяет перемещать и переименовывать свои репозитории. При указании только имени репозитория подразумевается директория <tt>packages</tt>.<br />
<br />
Перемещение packages/test.git в public/newname.git:<br />
$ ssh git.alt mv-db test public/newname<br />
$<br />
Перемещение public/newname.git в packages/test.git:<br />
$ ssh git.alt mv-db public/newname test<br />
$<br />
Переименовывание packages/test.git в packages/megatest.git:<br />
$ ssh git.alt mv-db test megatest<br />
$<br />
<br />
==== rm-db ====<br />
<br />
'''$ ssh git.alt rm-db <path to git repository>'''<br />
Позволяет удалять свои репозитории. При указании только имени репозитория подразумевается директория <tt>packages</tt>:<br />
$ ssh git.alt rm-db megatest # удаляет packages/megatest.git<br />
$ ssh git.alt rm-db public/test<br />
<br />
==== Вспомогательные команды ====<br />
<br />
===== charset =====<br />
<br />
'''$ ssh git.alt charset <path to git repository> [<charset>]'''<br />
<br />
Позволяет узнать или установить кодировку, используемую почтовым клиентом при отправке уведомлений, содержащих цитаты изменений файлов указанного git-репозитория:<br />
<br />
$ ssh git.alt charset packages/glibc<br />
utf-8<br />
$ ssh git.alt charset packages/glibc cp1252<br />
$ ssh git.alt charset packages/glibc<br />
cp1252<br />
$<br />
<br />
===== quota =====<br />
<br />
'''$ ssh git.alt quota'''<br />
<br />
Позволяет узнать квоту и занимаемое пользователем дисковое пространство.<br />
<br />
$ ssh git.alt quota<br />
Filesystem blocks quota limit grace files quota limit grace<br />
/dev/simfs 16932 977M 1465M 555 100k 150k <br />
$<br />
<br />
===== git-receive-pack, git-upload-pack =====<br />
<br />
Эти команды используются утилитами <tt>git-push</tt>, <tt>git-pull</tt> и подобными и не предназначены для вызова пользователем.<br />
<br />
==== task, build ====<br />
<br />
Пока что не функционируют.<br />
<br />
=== Клонирование и работа с репозиториями ===<br />
<br />
Работа с git-репозиториями, расположенными на <tt>git.alt</tt>, ничем не отличается от работы с другими git-репозиториями.<br />
<br />
URL-ы репозиториев на git.alt:<br />
; '''git''' (r/o)<br />
: <tt>git://git.altlinux.org/people/$USER/(packages|public)/$PACKAGE.git</tt><br />
; '''rsync''' (r/o)<br />
: <tt>git.altlinux.org::people/$USER/(packages|public)/$PACKAGE.git</tt><br />
; '''http''' (r/o)<br />
: <tt><nowiki>http://git.altlinux.org/people/$USER/(packages|public)/$PACKAGE.git</nowiki></tt><br />
; '''ssh''' (r/w)<br />
: <tt>ssh://git.altlinux.org/people/$USER/(etc|packages|public|private)/$PACKAGE.git</tt><br />
<br />
HTTP- и git-URL-ы репозиториев можно в любой момент узнать в web-интерфейсе <tt>git.alt</tt>.<br />
<br />
=== Web-интерфейс ===<br />
<br />
Располагается по адресу http://git.altlinux.org/<br />
<br />
Предоставляет навигацию по публичным репозиториям пользователей (директории <tt>/people/$USERNAME/{packages,public}</tt>) и <tt>gitweb</tt>-интерфейс к этим репозиториям.<br />
<br />
Кроме этого, в web-интерфейсе представлены репозитории <tt>/archive</tt> (без <tt>gitweb</tt>, только для клонирования) и файл <tt>people-packages-list</tt>, содержащий все репозитории из директорий <tt>/people/$USERNAME/packages</tt> и даты их последнего изменения (в unixtime).<br />
<br />
== Структура репозиториев ==<br />
<br />
<tt>git.alt</tt> содержит два дерева репозиториев:<br />
<br />
* репозитории <tt>/people/$USERNAME</tt> для каждого зарегистрированного пользователя<br />
* репозитории <tt>/archive</tt> для пакетов Sisyphus<br />
<br />
=== /people ===<br />
<br />
Каждому зарегистрированному на git.alt разработчику предоставляется место для git-репозиториев, начинающееся с <tt>/people/$USERNAME</tt>. Структура для хранения репозиториев жёстко определена:<br />
<br />
==== /people/$USERNAME/etc ====<br />
<br />
Содержит репозитории <tt>packages.git</tt>, <tt>private.git</tt>, <tt>public.git</tt>, с помощью которых можно управлять [[#Почтовая подписка|почтовой подпиской]].<br />
<br />
==== /people/$USERNAME/packages ====<br />
<br />
Директория предназначена для хранения gear-репозиториев для пакетов Сизифа. Публично доступна.<br />
<br />
git-репозитории в этой директории будут искаться при выполнении команды <tt>find-package</tt>, и эта директория будет использоваться по умолчанию в командах <tt>init-db</tt>, <tt>clone</tt>, <tt>build</tt>.<br />
<br />
==== /people/$USERNAME/private ====<br />
<br />
Директория предназначена для хранения приватных репозиториев, о существовании и содержании которых должно быть известно только самому разработчику.<br />
<br />
Для удобства работают прямые http-ссылки на файлы репозиториев, размещённых в этой директории.<br />
<br />
==== /people/$USERNAME/public ====<br />
<br />
Директория предназначен для хранения публичных git-репозиториев, не являющихся gear-репозиториями для пакетов Сизифа.<br />
<br />
=== /archive ===<br />
<br />
В этой директории размещаются gear-репозитории пакетов Sisyphus.<br />
<br />
Репозиторий для каждого пакета создаётся с помощью утилиты <tt>gear-srpmimport</tt> на основе прошедших [[incoming]] <tt>src.rpm</tt>-пакетов, а не на основе <tt>gear</tt>-репозитория, из которых были собраны <tt>src.rpm</tt>, поэтому репозиторий /archive следует использовать для разработки только в том случае, когда <tt>gear</tt>-репозиторий для пакета отсутствует.<br />
<br />
== Почтовая подписка ==<br />
<br />
На <tt>git.alt</tt> реализовано два вида почтовой подписки на события:<br />
* Пользователь подписывается на события, происходящие в репозиториях <tt>public</tt> и <tt>packages</tt>.<br />
* Пользователь подписывает кого-то на события, происходящие в '''его''' репозиториях <tt>public</tt>, <tt>packages</tt> и <tt>private</tt>.<br />
<br />
Для подписки используются репозитории из директории <tt>etc</tt>: <tt>packages.git</tt>, <tt>public.git</tt>, <tt>private.git</tt>. Схема работы с подписками напоминает работу с <tt>CVSROOT</tt> из CVS: пользователь клонирует нужный репозиторий, коммитит изменения в него и push-ит обратно на сервер, после чего изменения вступают в силу.<br />
<br />
В каждом из трёх репозиториев находится два файла: <tt>email-subscription</tt> и <tt>email-distribution</tt> (точнее, в <tt>private.git</tt> - только <tt>email-distribution</tt>). <tt>git.alt</tt> использует бранч <tt>master</tt> и не обращает внимания на остальные бранчи в этих репозиториях.<br />
<br />
=== email-subscription ===<br />
<br />
Этот файл позволяет подписаться на события в публичных репозиториях <tt>git.alt</tt>. Формат файла - последовательность строк следующего вида:<br />
$USER $PACKAGE $REFTYPE $REFNAME<br />
где<br />
* $USER - имя пользователя <tt>git.alt</tt>,<br />
* $PACKAGE - имя пакета,<br />
* $REFTYPE - вид изменения: <tt>head</tt> - новые/удалённые коммиты, <tt>tag</tt> - новые/удалённые тэги (техническая подробность: второй компонент из изменяемой ссылки <tt>refs/*/*</tt>)<br />
<!-- или release (релизы для сборки пакетов. Пока что не работает. --><br />
* $REFNAME - имя изменения: имя бранча для коммитов, имя тэга для тэгов (техническая подробность: третий и последующие компоненты из изменяемой ссылки <tt>refs/*/*</tt>).<br />
Каждое из полей может быть полным именем или вайлдкардом <tt>*</tt>. Для имён пакетов также разрешён вайлдкард в конце имени (например, <tt>docs-*</tt>).<br />
<br />
==== Примеры ====<br />
<br />
Подписка на все события во всех репозиториях:<br />
* * * *<br />
Подписка на новые/удалённые тэги в репозитории /people/ldv/packages/glibc.git:<br />
ldv glibc tag *<br />
<br />
=== email-distribution ===<br />
<br />
Этот файл позволяет подписать других пользователей <tt>git.alt</tt> на события в ваших репозиториях. Формат файла - последовтельность строк вида:<br />
$PACKAGE $REFTYPE $REFNAME $MAILTO<br />
где<br />
* $PACKAGE, $REFTYPE, $REFNAME аналогичны параметрам из файла email-subscription<br />
* $MAILTO - разделённый запятыми список имён пользователей <tt>git.alt</tt> - получателей оповещения.<br />
Вайлдкарды в первых трёх полях допустимы так же, как и в email-subscription. Вайлдкарды в $MAILTO не допускаются.</div>DmitryLevinhttps://www.altlinux.org/index.php?title=Git.alt&diff=3079Git.alt2008-08-27T22:55:08Z<p>DmitryLevin: git.alt about</p>
<hr />
<div>{{DISPLAYTITLE:git.alt}}<br />
[[Категория:Devel]]<br />
[[Категория:Sisyphus]]<br />
[[en:Git.alt]]<br />
<tt>git.alt</tt> ([http://git.altlinux.org/ web-интерфейс]) — это хостинг git-репозиториев, заточенный под нужды разработчиков Sisyphus.<br />
<br />
Похожие сервисы - это [http://github.com/ github] или [http://gitorious.com/ gitorious].<br />
<br />
<tt>git.alt</tt> отличается от них развитым SSH-интерфейсом для управления репозиториями, богатыми возможностями оповещения по e-mail и относительно неразвитым web-интерфейсом.<br />
<br />
== Документация ==<br />
<br />
* [[Краткое руководство пользователя git.alt]]<br />
* [[Справочник по git.alt]]<br />
<br />
* [[Git|Прочая (неразобранная) документация по git.alt, gear и git]]<br />
<br />
== Работает от ==<br />
<br />
<tt>git.alt</tt> работает при помощи комплекса утилит <tt>girar</tt>, исходный код которых можно найти [http://git.altlinux.org/people/ldv/packages/?p=girar.git здесь].</div>DmitryLevinhttps://www.altlinux.org/index.php?title=Git.alt&diff=3078Git.alt2008-08-27T22:53:33Z<p>DmitryLevin: /* Работает от */</p>
<hr />
<div>{{DISPLAYTITLE:git.alt}}<br />
[[Категория:Devel]]<br />
[[Категория:Sisyphus]]<br />
[[en:Git.alt]]<br />
<tt>git.alt</tt> ([http://git.altlinux.org/ web-интерфейс]) — это хостинг git-репозиториев, заточенный под нужды разработчиков Sisyphus.<br />
<br />
Похожие сервисы - это [http://github.com/ github] или [http://gitorious.com/ gitorious]. <tt>git.alt</tt> отличается от них развитым SSH-интерфейсом для управления репозиториями, богатыми возможностями оповещения по e-mail и относительно неразвитым web-интерфейсом.<br />
<br />
== Документация ==<br />
<br />
* [[Краткое руководство пользователя git.alt]]<br />
* [[Справочник по git.alt]]<br />
<br />
* [[Git|Прочая (неразобранная) документация по git.alt, gear и git]]<br />
<br />
== Работает от ==<br />
<br />
<tt>git.alt</tt> работает при помощи комплекса утилит <tt>girar</tt>, исходный код которых можно найти [http://git.altlinux.org/people/ldv/packages/?p=girar.git здесь].</div>DmitryLevinhttps://www.altlinux.org/index.php?title=CoreSystem/coreutils&diff=1934CoreSystem/coreutils2008-08-07T21:31:56Z<p>DmitryLevin: -fsi</p>
<hr />
<div>[[Category:Sisyphus]]<br />
<br />
== Sisyphus Core - базовые библиотеки и утилиты ==<br />
<br />
=== Планы ===<br />
<br />
* обновление toolchain до gcc-4.3.x/glibc-2.8/binutils-2.18.50.x (wart, ldv)<br />
* [almost complete] перевод всех использующих libdb4 пакетов на libdb4.7 (ldv)<br />
* [complete] обновление autoconf/automake до последних версий (Rider, ldv)<br />
* обновление libtool до 2.2.x (Rider, ldv)<br />
* обновление openssl до 0.9.8h (sin)<br />
* перевод всех использующих libssl пакетов на libssl7 (sin, ldv)</div>DmitryLevinhttps://www.altlinux.org/index.php?title=CoreSystem/coreutils&diff=1933CoreSystem/coreutils2008-08-07T21:30:43Z<p>DmitryLevin: /* Планы */</p>
<hr />
<div>[[Category:Sisyphus]]<br />
{{MovedFromFreesourceInfo|AltLinux/Sisyphus/CoreSystem/coreutils}}<br />
<br />
== Sisyphus Core - базовые библиотеки и утилиты ==<br />
<br />
=== Планы ===<br />
<br />
* обновление toolchain до gcc-4.3.x/glibc-2.8/binutils-2.18.50.x (wart, ldv)<br />
* [almost complete] перевод всех использующих libdb4 пакетов на libdb4.7 (ldv)<br />
* [complete] обновление autoconf/automake до последних версий (Rider, ldv)<br />
* обновление libtool до 2.2.x (Rider, ldv)<br />
* обновление openssl до 0.9.8h (sin)<br />
* перевод всех использующих libssl пакетов на libssl7 (sin, ldv)</div>DmitryLevin