1) Только для символических ссылок вам не нужно вызывать ldconfig на стадии post.
2) Как уже упоминалось ldav1s: убедитесь, что ваши файлы перечислены в разделе% files.
3) Еще раз: убедитесь, что ваши файлы перечислены - особенно , если вы используете что-то вроде
%define _unpackaged_files_terminate_build 0
RHEL rpmbuild завершается с ошибкой, если в buildroot обнаружены файлы, которых нет в разделе% files. С помощью этого определения вы можете отключить поведение / ошибку, но вы должны точно знать, что вы на самом деле делаете. Если вы используете эту строку, вы должны удалить ее из вашего spec-файла.
4) Не собирайте пакет rpm от имени пользователя root. Если вы забудете использовать rpm_build_root, вы не уничтожите свою работающую систему. Ваш пример выглядит так, как будто он взят из файла спецификации Red Hat 4.2 1997 года. Начиная с Red Hat 5 (не RHEL 5!) В 1997 году команда rpm / rpmbuild знает определение RPM_BUILD_ROOT. Я думаю, что это ваша проблема : вы не используете buildroot, а устанавливаете непосредственно в корневую FS и запускаете rpmbuild от имени пользователя root.
Учитывая ваш пример, его следует изменить на:
%install
/bin/ln -sf libcrypto.so.0.9.8e $RPM_BUILD_ROOT/lib/libcrypto.so.0.9.8
/bin/ln -sf libssl.so.0.9.8e $RPM_BUILD_ROOT/lib/libssl.so.0.9.8
Использование buildroot описано в RPM документах .