On Thu, May 08, 2008 at 05:32:11PM +0400, Dmitriy M. Maslennikov wrote: > В ходе решения своих задач я натолкнулся на проблему, решить которую > оказалось очень не просто (я пока не смог). > Мне необходимо из спек-файла получать версию и релиз пакета. Исходного или бинарных? > Желательно делать это программно. > Сначала я попытался сделать это вызовом > rpm -q --qf "%{serial}:%{version}-%{release}" --specfile "" > с дальнейшим парсингом первой строки вывода. Кроме того, что это не > удобно, эта операция завершается с ошибкой, если встречается макрос > поставляемый пакетом, не стоящим в системе (но указанным как > "BuildRequires(pre)"). > Может кто знает способ получения необходимой мне информации? Особенно > интересуют идеи по обходу проблемы с недостающими макросами. Самый простой и надёжный способ -- собрать srpm-пакет в hasher'е и дальше извлечь из его заголовка необходимую информацию. -- ldv