Как RPM обрабатывает местоположения файлов?

Я пытаюсь создать файл .spec для создания maperver в качестве пакета rpm. Я строю на 64-битном сервере RHEL6. Я немного новичок во всей концепции, так что несите меня, если я не вижу ничего очевидного. В файлах rpm я могу использовать некоторые ссылки dir, такие как %{_libdir} , %{_bindir} и %{_libexecdir} . Где сконфигурированы эти пути и которые можно использовать?

Часть% файлов моей спецификации rpm выглядит lige:

 %files %defattr(-,root,root) %doc README COMMITERS GD-COPYING HISTORY.TXT %doc INSTALL MIGRATION_GUIDE.txt %doc symbols tests %doc fonts %{_bindir}/* %{_libdir}/libmapserver*.so %{_libexecdir}/mapserv 

но когда я запускаю свою сборку, я получаю ошибки:

 File not found by glob: /home/kfadm/rpmbuild/BUILDROOT/mapserver-6.2.1-3.x86_64/usr/lib64/libmapserver*.so File not found: /home/kfadm/rpmbuild/BUILDROOT/mapserver-6.2.1-3.x86_64/usr/libexec/mapserv 

Кажется, что файлы, которые отсутствуют, установлены в

 /home/kfadm/rpmbuild/BUILDROOT/mapserver-6.2.1-3.x86_64/usr/lib/libmapserver-6.2.1.so /home/kfadm/rpmbuild/BUILDROOT/mapserver-6.2.1-3.x86_64/usr/lib/libmapserver.la /home/kfadm/rpmbuild/BUILDROOT/mapserver-6.2.1-3.x86_64/usr/lib/libmapserver.so /home/kfadm/rpmbuild/BUILDROOT/mapserver-6.2.1-3.x86_64/usr/lib/debug/usr/lib/libmapserver-6.2.1.so.debug /home/kfadm/rpmbuild/BUILDROOT/mapserver-6.2.1-3.x86_64/usr/lib/debug/usr/lib/libmapserver.so.debug /home/kfadm/rpmbuild/BUILDROOT/mapserver-6.2.1-3.x86_64/usr/bin/mapserv /home/kfadm/rpmbuild/BUILDROOT/mapserver-6.2.1-3.x86_64/var/www/cgi-bin/mapserv 

Как исправить спецификацию rpm, чтобы найти файлы по правильному пути?

Эта проблема связана с тем, что RHEL хочет установить 64-битные библиотеки в каталог / usr / lib64, а не в каталог по умолчанию / usr / lib.

mapserver 6.2.1 использует autoconf и включает опцию –libdir. В файле .spec измените команду ./configure:% %configure --libdir=$RPM_BUILD_ROOT%{_libdir}

Я столкнулся с этой проблемой из-за отсутствия команды install для создания этого конкретного каталога. Как только я добавлю команду install в %install , rpm сгенерирован успешно

 install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/php.d