<br><br><div class="gmail_quote">23 июля 2011 г. 3:24 пользователь Dmitry V. Levin <span dir="ltr">&lt;<a href="mailto:ldv@altlinux.org">ldv@altlinux.org</a>&gt;</span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

On Sat, Jul 23, 2011 at 12:22:34AM +0400, Evgeny Sinelnikov wrote:<br>
&gt; 22 июля 2011 г. 23:56 пользователь Dmitry V. Levin написал:<br>
[...]<br>
<div class="im">&gt; &gt; В любой части спекфайла может встретиться вычисление выражения, которое<br>
&gt; &gt; приведет к исполнению произвольного shell-кода при запуске rpm --specfile.<br>
&gt; &gt;<br>
&gt; Я предлагаю их исключить при вычислении NVR всё лишнее.<br>
<br>
</div>Это сложно.  Вы либо теряете поддержку вполне легальных конструкций,<br>
либо сохраняете поддержку исполнения произвольного shell-кода.<br>
<br></blockquote><div><br>В общем случае, это так, но gear всё равно ограничивает возможности и не подставляет всё. Так что мы, в любом случае, ограничены тем, что может раскрыть gear --describe. Думаю, этим подмножеством и можно ограничиться.<br>

 </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
По шаблонам kernel-модулей можно, наверное, договориться и привести<br>
их все к простому виду, который легко парсится без помощи rpm.<br>
<div class="im"><br>
&gt; Примерно так:<br>
&gt; $ grep -e &#39;^[Nn]ame:.*&#39; -e &#39;^[Vv]ersion:.*&#39; -e &#39;^[Rr]elease:.*&#39; -e<br>
&gt; &#39;^[Gg]roup:.*&#39; -e &#39;^[Ll]icense:.*&#39; -e &#39;^[Ss]ource:.*&#39; -e &#39;^[Ss]ummary:.*&#39; -e<br>
&gt; &#39;^%define.*&#39; -e &#39;^%description.*&#39; &lt;girar.spec<br>
&gt; %define tratata ng<br>
<br>
</div>%define tratata %(echo ng)<br>
<font color="#888888"><br></font></blockquote><div><br>Забавно... <br></div></div><br clear="all"><br>-- <br>Sin (Sinelnikov Evgeny)<br>Etersoft<br>