openSUSE:Zypper разработка

(перенаправлено с «Zypper/Development»)
Перейти к: навигация, поиск
Первые шаги для сборки собственной ZYpp.

Исходный код

Исходный код Zypper расположен в GIT репозитории по адресу Gitorious. Вы можете получить последнею версию из репозитория используя следующую команду:

git clone git://gitorious.org/opensuse/zypper.git

Эта команда загрузит исходные коды в директорию zypper (создастся автоматически) в вашей текущей директории.


Связь с разработчиками

  • Вы можете связаться с разработчиками zypper через IRC канал #zypp на irc.freenode.net (ищите jniq, duncanmv, mvidner, или jreidinger)
  • zypp-devel@opensuse.org — Список рассылки разработки Zypp
Подписаться | Отписаться | Помощь | Архив



Документация

Zypper содержит подробную документацию в директории doc/zypper.8. Пожалуйста обновите ее до внесения вами каких либо изменения.

Если вас не устраивает язык разметки используемый в документации, пишите просто в текстовом документе, мы в дальнейшем сами приведем текст в соответствие.


Команда разработчиков

Команды разработчиков zypper'а в принципе должны соответствовать libzypp, но есть некоторые исключения. В целом, основная разработка осуществляется в trunk. Команды в основном необходимы для поддержки в актуальном состоянии версий zypper`а поставляемого с конкретным продуктом.

Сборка Zypper

Для того, чтобы собрать zypper из исходников вам потребуется установить следующие пакеты:

libzypp-devel, augeas-devel, cmake, gcc-c++, pkg-config, boost-devel, gettext-devel и readline-devel.

Для сборки zypper`а создайте директорию (либо используйте директорию _build внутри директории с исходными кодами zypper`а, либо любую другую) и выполните команды cmake и make внутри нее, примерно так:

mkdir <директория_для_сборки>
cd <директория_для_сборки>
cmake <zypper_src_dir>
make

В итоге, вы можете использовать make install, чтобы установить zypper в директорию /usr. Если вы хотите использования другой префикс для установки, скажите об этом cmake следующим образом:

cmake -DCMAKE_INSTALL_PREFIX=/my/devel/usr <zypper_src_dir>

и продолжите сборку командой make как обычно.

После успешной сборки, исполняемый файл zypper будет находится в <build_dir>/src. Можно выполнять команду прямо из этой директории или можно выполнить make install, чтобы инсталлировать исполняемый файл в директорию bin с заданным префиксом установки (смотри выше).

Для сборки архива исходных кодов, используйте

make srcpackage

или

make srcpackage_local

Формировщик проверит наличие изменений в дереве исходных кодов, проведя проверку. Созданый архив будет помещен в директорию <build_dir>/package вместе с файлом zypper.spec.

Другие переменные среды Cmake

  • ZYPP_PREFIX - используйте для указания префикса для установки libzypp, если вы хотите установить не в директорию по умолчанию
  • SYSCONFDIR - указывает вашу собственную директорию /etc для инсталяции logrotate.d/zypper.lr
  • MANDIR - указывает вашу собственную директорию для установки руководства

Стиль

Табуляция или пробелы, а так же отступы

Два вида отступов используются в исходном коде. Вы можете совмещать использование табуляции и пробелов, но удостоверитесь, что ваш редактор установлен в режим отображения табуляции как 8 пробелов. В vim этот параметр может быть установлен командой:

set tabstop=8 shiftwidth=2 softtabstop=2

Когда конфигурация выглядит как указано выше, нет никакой разница используете ли вы пробелы или пользуетесь табуляцией. Не все редакторы поддерживают такой режим, но как минимум vim, emacs, cream, Eclipse CDT способны на такое.


Планы на будущее

Проверьте roadmap и TODO для того что бы узнать об идеях и планах. Если вы ищете чем бы заняться, вы можете просто выбрать что нибудь и помочь нам в реализации. Свяжитесь с нами и расскажите чем вы планируете заняться (или просто отправьте нам патч :O). Так же посмотрите Найденный ошибки для исправления.