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

<br><br><div class="gmail_quote">23 июля 2011 г. 12:26 пользователь Dmitry V. Levin <span dir="ltr">&lt;<a href="mailto:ldv@altlinux.org" target="_blank">ldv@altlinux.org</a>&gt;</span> написал:<div><div></div><div class="h5">

<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 04:20:48AM +0400, Evgeny Sinelnikov wrote:<br>
&gt; 23 июля 2011 г. 3:24 пользователь Dmitry V. Levin написал:<br>
<div>&gt; &gt; On Sat, Jul 23, 2011 at 12:22:34AM +0400, Evgeny Sinelnikov wrote:<br>
&gt; &gt; &gt; 22 июля 2011 г. 23:56 пользователь Dmitry V. Levin написал:<br>
&gt; &gt; [...]<br>
&gt; &gt; &gt; &gt; В любой части спекфайла может встретиться вычисление выражения, которое<br>
&gt; &gt; &gt; &gt; приведет к исполнению произвольного shell-кода при запуске rpm<br>
&gt; &gt; --specfile.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; Я предлагаю их исключить при вычислении NVR всё лишнее.<br>
&gt; &gt;<br>
&gt; &gt; Это сложно.  Вы либо теряете поддержку вполне легальных конструкций,<br>
&gt; &gt; либо сохраняете поддержку исполнения произвольного shell-кода.<br>
&gt; &gt;<br>
&gt; В общем случае, это так, но gear всё равно ограничивает возможности и не<br>
&gt; подставляет всё. Так что мы, в любом случае, ограничены тем, что может<br>
&gt; раскрыть gear --describe. Думаю, этим подмножеством и можно ограничиться.<br>
&gt;<br>
&gt; &gt; По шаблонам kernel-модулей можно, наверное, договориться и привести<br>
&gt; &gt; их все к простому виду, который легко парсится без помощи rpm.<br>
<br>
</div>Об этом и речь.  Если мы соглашаемся не использовать в спек-файлах<br>
шаблонов kernel-модулей конструкций, которые не обрабатывает gear, то,<br>
с одной стороны, обрабатывать такие шаблоны будет проще, но, с другой<br>
стороны, мы лишаем себя возможности использовать всю полноту языка<br>
rpm-спекфайлов.<font color="#888888"><br></font></blockquote></div></div><div><br> Я подразумевал общий вариант. Хотя речь сейчас идёт о сборке модулей, у меня есть аналогичный механизм по пересборке пакетов из бранчей. Там тоже используется add_changelog.<br>


<br>Вкратце, этот вариант (ssh git.eter task add [id] branch [master]) позволяет:<br>- не делать специальные коммиты для увеличения релизов (релизы увеличиваются автоматически на основании текущего в репозитории);<br>- не делать подписанные теги (тег делает сам girar), что упрощает частую пересборку и необходимый порог для начала работы со сборочной системой (пересобирающему вообще можно не иметь gpg-подписи);<br>


- узнавать о коммите, на котором собран пакет из changelog, куда его вписывает girar, при увеличении релиза, как раз с помощью add_changelog;<br>- получать оригинальную историю, при этом дополнительный коммит в не входит в сохраняемую после сборки историю пакета.<br>


</div></div></blockquote><div><br>Да, я там ввёл ещё такую возможность, как вставка суффикса для бранча, в итоге бекпортирование выглядит совершенно тривиально и не требует никаких действий вообще.<br><br>$ ssh git.eter rebuild -b p5 /projects/asu/uniset<br>


$ ssh git.eter rebuild -b 5.1 /projects/asu/uniset<br>
$ ssh git.eter rebuild -b 5.0 /projects/asu/uniset<br> 

и мы получаем:<br>$ ls /var/ftp/pub/Etersoft/LINUX@Etersoft/*/*/files/i586/RPMS/libuniset-1.0-alt*.Build*.i586.rpm <br>/var/ftp/pub/Etersoft/LINUX@Etersoft/5.0/branch/files/i586/RPMS/libuniset-1.0-alt41.M50.42.Build2.i586.rpm<br>

/var/ftp/pub/Etersoft/LINUX@Etersoft/5.1/branch/files/i586/RPMS/libuniset-1.0-alt41.M51.42.Build2.i586.rpm<br>/var/ftp/pub/Etersoft/LINUX@Etersoft/p5/branch/files/i586/RPMS/libuniset-1.0-alt41.M50P.42.Build2.i586.rpm<br>
 </div>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">В общем случае, я думаю, что стоит упростить girar-stamp-spec, до вычисления S:V-R в ограничениях соотвествующих ограничениям gear --describe.<br>

</blockquote></div><br clear="all"><br>-- <br>Sin (Sinelnikov Evgeny)<br>Etersoft<br>