Создайте пакет RPM с библиотеками времени выполнения и исполняемым файлом

Я создал приложение C++ в среде redhat linux. Помимо этого приложения, я также создал много библиотек *.so, необходимых приложению. Созданное приложение использует некоторые библиотеки Boost C++, например. -lboost_system, -lboost_thread и т. д.

Я хочу развернуть это приложение и его необходимые библиотеки времени выполнения на рабочей машине без раскрытия/перекомпиляции исходных кодов и без полной установки Boost C++ на рабочей машине. Является ли это возможным?

Структура каталогов приложений на машине разработки выглядит следующим образом:

~/SysA/debug/main/main     (executable binary file)
~/SysA/debug/main/config   (configuration text file)
~/SysA/debug/lib1/libA.so
~/SysA/debug/lib2/libB.so
~/SysA/debug/lib3/libC.so
   :
   :

Я попытался сделать свой первый следующий файл RPM SPEC следующим образом, но застрял:

Name: SYSTEM
Version: 0.1
Release: 1.0
BuildRoot: %{_topdir}BUILD/%{name}-%{version}-%{release}

AutoReqProv: no

%description
System testing

%prep
rm -rf $RPM_BUILD_ROOT

%clean
rm -rf %RPM_BUILD_ROOT

%files
%defattr(644, root, root)
%changelog

Хоть бы кто-нибудь помог мне...


person tanlccc    schedule 26.09.2011    source источник


Ответы (1)


Вы должны либо создать второй RPM для библиотек Boost (который будет установлен вместе с вашим RPM), либо статически связать библиотеки Boost с вашим приложением.

person m1tk4    schedule 06.12.2011