<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>12387</bug_id>
          
          <creation_ts>2007-07-20 18:47:46 +0400</creation_ts>
          <short_desc>[FR] Нужна более гибкая параметризация в .gear/rules</short_desc>
          <delta_ts>2010-12-28 00:03:58 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>gear</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="at@altlinux.org">at</reporter>
          <assigned_to name="Dmitry V. Levin">ldv</assigned_to>
          <cc>asy</cc>
    
    <cc>erthad</cc>
    
    <cc>glebfm</cc>
    
    <cc>ldv</cc>
    
    <cc>led</cc>
    
    <cc>legion</cc>
    
    <cc>mike</cc>
    
    <cc>placeholder</cc>
    
    <cc>rlz</cc>
    
    <cc>vvk</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>53163</commentid>
    <comment_count>0</comment_count>
    <who name="at@altlinux.org">at</who>
    <bug_when>2007-07-20 18:47:46 +0400</bug_when>
    <thetext>Не хватает более гибкой параметризации в .gear-rules.  Единственными
параметрами, о которых идет речь, являются @version@ и @release@.  Чтобы делать
сборки на основе svn-snapshot&apos;ов с &quot;оригинальным&quot; тарболлом, приходится
хардкодить ещё один параметр (условно @snapshot@) прямо в .gear-rules.  Это
сводит на нет пользу от параметризации.

Другим проблемным случаем является видоизмененная версия пакета.  Например,
тарболл имеет версию 0.2808, а пакет -- 0.28.08 (&quot;выравнивание&quot; версий для
rpmvercmp).

http://lists.altlinux.org/pipermail/devel/2007-July/048442.html
http://lists.altlinux.org/pipermail/devel/2007-July/048412.html

Нужен рекомендуемый вариант для сборки пакетов из snapshot&apos;ов (в частности, из
импортированных репозитариев).  Иначе я не знаю, как их собирать!  А то малявы
будут писать а виноват буду я.

С другой стороны, все эти рассуждения возникают из желания сохранить старую и
более привычную структуру src.rpm.  Меня устраивает %name-%version-%release.tar,
но это не устраивает других, пока будут публиковаться src.rpm&apos;ы.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79260</commentid>
    <comment_count>1</comment_count>
    <who name="">led</who>
    <bug_when>2008-10-06 20:38:42 +0400</bug_when>
    <thetext>Приходится также &quot;хардкодить&quot; @name@. Например, такая конструкция:
diff: @version@:@name@ @version@-@release@:@name@ name=@name@-@version@-alt.patch
Не проходит, приходится @name@ &quot;хардкодить&quot; :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79263</commentid>
    <comment_count>2</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2008-10-06 20:49:47 +0400</bug_when>
    <thetext>(In reply to comment #1)
&gt; Приходится также &quot;хардкодить&quot; @name@. Например, такая конструкция:
&gt; diff: @version@:@name@ @version@-@release@:@name@ name=@name@-@version@-alt.patch
&gt; Не проходит, приходится @name@ &quot;хардкодить&quot; :(

Такая конструкция работает, если простой парсер spec-файла сможет вычислить name, version и release.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79266</commentid>
    <comment_count>3</comment_count>
    <who name="">led</who>
    <bug_when>2008-10-06 21:02:43 +0400</bug_when>
    <thetext>(In reply to comment #2)
&gt; (In reply to comment #1)
&gt; &gt; Приходится также &quot;хардкодить&quot; @name@. Например, такая конструкция:
&gt; &gt; diff: @version@:@name@ @version@-@release@:@name@ name=@name@-@version@-alt.patch
&gt; &gt; Не проходит, приходится @name@ &quot;хардкодить&quot; :(
&gt; 
&gt; Такая конструкция работает, если простой парсер spec-файла сможет вычислить
&gt; name, version и release.

version и release вычисляется.

$ gear --rpmbuild -- rpmbuild -bs
gear: .gear/rules line 2: tree &quot;@name@&quot; not found in &quot;39504044ac7d005b23100c1d13c9358accf2e131&quot;

$ grep &apos;^Name:&apos; v86d.spec
Name: v86d

Если заменить @name@ на явный v86d, то всё работает.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79267</commentid>
    <comment_count>4</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2008-10-06 21:13:53 +0400</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; Такая конструкция работает, если простой парсер spec-файла сможет вычислить
&gt; &gt; name, version и release.
&gt; 
&gt; version и release вычисляется.
&gt; 
&gt; $ gear --rpmbuild -- rpmbuild -bs
&gt; gear: .gear/rules line 2: tree &quot;@name@&quot; not found in &quot;39504044ac7d005b23100c1d13c9358accf2e131&quot;
&gt; 
&gt; $ grep &apos;^Name:&apos; v86d.spec
&gt; Name: v86d
&gt; 
&gt; Если заменить @name@ на явный v86d, то всё работает.

Дайте мне (ссылку на) репозиторий, в котором @name@ не раскрывается.
В любом случае нераскрываемость @name@ это отдельный вопрос.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79377</commentid>
    <comment_count>5</comment_count>
    <who name="">led</who>
    <bug_when>2008-10-09 13:01:56 +0400</bug_when>
    <thetext>(In reply to comment #4)
&gt; Дайте мне (ссылку на) репозиторий, в котором @name@ не раскрывается.

http://git.altlinux.org/people/led/packages/v86d.test.git

&gt; В любом случае нераскрываемость @name@ это отдельный вопрос.

Там ещё один ньюанс есть: если в спеке после
Name: foo
есть пробел, то @name@ не парсится</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79386</commentid>
    <comment_count>6</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2008-10-09 14:30:41 +0400</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; Дайте мне (ссылку на) репозиторий, в котором @name@ не раскрывается.
&gt; 
&gt; http://git.altlinux.org/people/led/packages/v86d.test.git

Исправлено в
http://git.altlinux.org/people/ldv/packages/?p=gear.git
Если бы это было оформленно отдельным баг репортом, то я мог бы его закрыть.

&gt; &gt; В любом случае нераскрываемость @name@ это отдельный вопрос.
&gt; 
&gt; Там ещё один ньюанс есть: если в спеке после
&gt; Name: foo
&gt; есть пробел, то @name@ не парсится

Исправлено в
http://git.altlinux.org/people/ldv/packages/?p=gear.git
Если бы это было оформленно отдельным баг репортом, то я мог бы его закрыть.

Это всё не касается первоначального вопроса про более гибкую параметризацию в .gear-rules.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79387</commentid>
    <comment_count>7</comment_count>
    <who name="">led</who>
    <bug_when>2008-10-09 14:36:53 +0400</bug_when>
    <thetext>(In reply to comment #6)
&gt; Это всё не касается первоначального вопроса про более гибкую
&gt; параметризацию в .gear-rules.

Прошу прощения: я &quot;повёлся&quot; на (возможно) слишком общий Summary этого багрепорта.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79388</commentid>
    <comment_count>8</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2008-10-09 14:38:48 +0400</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; Это всё не касается первоначального вопроса про более гибкую
&gt; &gt; параметризацию в .gear-rules.
&gt; 
&gt; Прошу прощения: я &quot;повёлся&quot; на (возможно) слишком общий Summary этого багрепорта.

Fixed Summary. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>81848</commentid>
    <comment_count>9</comment_count>
    <who name="rlz">rlz</who>
    <bug_when>2008-11-27 19:58:10 +0300</bug_when>
    <thetext>Кроме того у меня встречались задачи, когда хотелось бы определять переменные параметрами при запуске gear, и раскрывать их как в gear-rules, так и в spec-файле</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>81849</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2008-11-27 20:06:47 +0300</bug_when>
    <thetext>(In reply to comment #9)
&gt; Кроме того у меня встречались задачи, когда хотелось бы определять
&gt; переменные параметрами при запуске gear, и раскрывать их как в gear-rules, так и в
&gt; spec-файле

Хоть это и не противоречит условию воспроизводимости сборки в gear, но сильно её затруднит.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>81850</commentid>
    <comment_count>11</comment_count>
    <who name="rlz">rlz</who>
    <bug_when>2008-11-27 20:34:37 +0300</bug_when>
    <thetext>(In reply to comment #10)
&gt; Хоть это и не противоречит условию воспроизводимости сборки в gear, но сильно
&gt; её затруднит.
Ну я не настаиваю на таком улучшении. Просто для внутреннего использования (не для отправки в sisyphus) есть такая задача. Вообще я встречал пожелание уметь кастомизировать spec перед отправкой в hasher. В частности так можно резать большой spec на куски, и собирать их вместе, ну и вообще препроцессить.

Естейтсвенно, что в репозитарий уместно принимать только чистые спеки. Но для частных задач такие возможности могли бы пригодиться.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>109626</commentid>
    <comment_count>12</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2010-06-01 23:39:37 +0400</bug_when>
    <thetext>*** Bug 21273 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>