On Sat, Jul 23, 2011 at 12:22:34AM +0400, Evgeny Sinelnikov wrote: > 22 июля 2011 г. 23:56 пользователь Dmitry V. Levin написал: [...] > > В любой части спекфайла может встретиться вычисление выражения, которое > > приведет к исполнению произвольного shell-кода при запуске rpm --specfile. > > > Я предлагаю их исключить при вычислении NVR всё лишнее. Это сложно. Вы либо теряете поддержку вполне легальных конструкций, либо сохраняете поддержку исполнения произвольного shell-кода. По шаблонам kernel-модулей можно, наверное, договориться и привести их все к простому виду, который легко парсится без помощи rpm. > Примерно так: > $ grep -e '^[Nn]ame:.*' -e '^[Vv]ersion:.*' -e '^[Rr]elease:.*' -e > '^[Gg]roup:.*' -e '^[Ll]icense:.*' -e '^[Ss]ource:.*' -e '^[Ss]ummary:.*' -e > '^%define.*' -e '^%description.*' %define tratata ng %define tratata %(echo ng) -- ldv