15.1.4 Компиляция и линковка RPM программ
Индекс15.1.4 Компиляция и линковка RPM программ
Программы, использующие rpmlib API, это обычные программы на C . Нам нужно включить заголовочные файлы, функции из которых требуются, и выполнить операцию связывания (линковку) для правильных библиотек.
15.1.4.1 Подключаемые файлы
Подключаемые файлы RPM находятся в каталоге /usr/include/rpm , нужно включить этот каталог в группу каталогов, которые компилятор обходит в поисках хэдеров, с помощью опции -I :
$ gcc I/usr/include/rpm c rpm1.c |
Это, в частности, означает, что разработчик может установить хэдеры в другой каталог, изменив в команде путь к нему.
Для облегчения отладки, вы, возможно, захотите включить опцию -Wall (выводить все предупреждения) и -g (компилировать с отладочной информацией). Например:
$ gcc -Wall -g I/usr/include/rpm c rpm1.c |
15.1.4.2 Библиотеки
Основная библиотека RPM - librpm.a , или ее разделяемая версия. Для выполнения каких-либо значимых операций нужны и другие библиотеки:
Библиотека |
Использование |
rpm |
Основная библиотека RPM |
rpmdb |
Библиотека БД RPM |
rpmio |
Библиотека ввода/вывода |
popt |
Библиотека для разбора опций командной строки |
Если из своей программы вы собираете rpm-пакеты, потребуется еще библиотека rpmbuild . Для компиляции и линковки простой программы потребуется отдать команду, подобную следующей:
gcc -I/usr/include/rpm -o program program.c lrpmbuild \ |
В некоторых версиях Linux или в других ОС, возможно потребуется включить вспомогательные библиотеки:
gcc -I/usr/include/rpm -o program program.c L/opt/lib/rpm \ |
Если библиотеки установлены в нестандартный каталог, необходимо использование опции -L для указания путей:
gcc -I/usr/include/rpm -o program program.c L/opt/lib/rpm \ |
Начиная с версии RPM 4.2 подключается только библиотека rpm . Все остальные библиотеки будут включены автоматически, если они нужны.
Далее - Получение информации о RPM-окружении
Назад - Использование библиотеки RPM
Содержание