Zypper/Development
Материал из openSUSE.
Содержание |
Разработка Zypper
Обязательно подпишитесь на список рассылки zypp-devel, если вы собираетесь участвовать в разработке.
Исходные коды
Исходные коды zypper`а вы можете найти в репозитории subversion, они расположены вместе с исходными кодами libzypp по адресу http://svn.opensuse.org/svn/zypp в директории zypper. Вы можете получить последнею версию из репозитория используя следующую команду:
svn co http://svn.opensuse.org/svn/zypp/trunk/zypper
Эта команда загрузит исходные коды в директорию zypper (создастся автоматически) в вашей текущей директории.
Документация
Zypper содержит подробную документацию в директории doc/zypper.8. Пожалуйста обновите ее до внесения вами каких либо изменения.
Если вас не устраивает язык разметки используемый в документации, пишите просто в текстовом документе, мы в дальнейшем сами приведем текст в соответствие.
Команда разработчиков
Команды разработчиков zypper'а в принципе должны соответствовать libzypp, но есть некоторые исключения. В целом, основная разработка осуществляется в trunk. Команды в основном необходимы для поддержки в актуальном состоянии версий zypper`а поставляемого с конкретным продуктом.
Сборка Zypper`а
Для того, чтобы собрать zypper из исходников вам потребуется установить следующие пакеты: libzypp-devel, cmake, gcc-c++, pkg-config, boost-devel, gettext-devel, and 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 способны на такое.

