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

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

    <bug>
          <bug_id>8089</bug_id>
          
          <creation_ts>2005-09-29 14:54:30 +0400</creation_ts>
          <short_desc>Make rpmbuild fail on unknown macros</short_desc>
          <delta_ts>2005-10-26 23:39:49 +0400</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>rpm-build</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://lists.altlinux.ru/pipermail/devel/2005-October/025229.html</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="Sir Raorn">raorn</reporter>
          <assigned_to name="placeholder@altlinux.org">placeholder</assigned_to>
          <cc>arseny</cc>
    
    <cc>glebfm</cc>
    
    <cc>imz</cc>
    
    <cc>ktirf</cc>
    
    <cc>ldv</cc>
    
    <cc>mike</cc>
    
    <cc>placeholder</cc>
    
    <cc>sbolshakov</cc>
    
    <cc>vt</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>31150</commentid>
    <comment_count>0</comment_count>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2005-09-29 14:54:30 +0400</bug_when>
    <thetext>Unknown macros should generate error when parsing spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31151</commentid>
    <comment_count>1</comment_count>
      <attachid>1151</attachid>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2005-09-29 14:55:28 +0400</bug_when>
    <thetext>Created attachment 1151
rpm-4_0-4.0.4-alt-fail-on-unknown-macros.patch

patch against rpm-4.0.4-alt48</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31155</commentid>
    <comment_count>2</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2005-09-29 17:22:49 +0400</bug_when>
    <thetext>Вероятно, этот патч неполный, там, кажется, есть ещё один случай, но суть не в
этом.

Я так понял, никто не возражает и последствий не боится?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31159</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2005-09-29 17:41:33 +0400</bug_when>
    <thetext>Я думаю ничего страшного не случится ... отваляться пакеты которые сейчас
работают неправильно... если они вообще работают.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31162</commentid>
    <comment_count>4</comment_count>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2005-09-29 17:48:58 +0400</bug_when>
    <thetext>Поступило предположение, что сломается sandman в некоторых местах из-за
отсутствия /etc/rpm/macros.d/*...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31165</commentid>
    <comment_count>5</comment_count>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2005-09-29 18:26:44 +0400</bug_when>
    <thetext>(In reply to comment #2)
&gt; Вероятно, этот патч неполный, там, кажется, есть ещё один случай, но суть не в
&gt; этом.

Там ещё чуть выше есть, сразу после case(){}...  Обновить патч?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31166</commentid>
    <comment_count>6</comment_count>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2005-09-29 18:31:48 +0400</bug_when>
    <thetext>(In reply to comment #4)
&gt; Поступило предположение, что сломается sandman в некоторых местах из-за
&gt; отсутствия /etc/rpm/macros.d/*...

sandman желает знать Name-Version-Release, все Source/Patch и BuildRequires. 
Если какие-то макросы влияли на содержимое этих тегов раньше, значит они все
раскрывались.  Всё остальное можно скопировать после минимально необходимой
информации, думаю таких случаев будет немного и решаться это будет мантейнерами
этих пакетов...

Мне кажется что конечный результат в какой-то степени оправдывает это количество
геммороя.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31167</commentid>
    <comment_count>7</comment_count>
    <who name="Sergey Bolshakov">sbolshakov</who>
    <bug_when>2005-09-29 18:54:45 +0400</bug_when>
    <thetext>sandman рассчитывает на то, что rpm -bE выдаст значения
некоторых тэгов (см. предыдущий комментарий), даже
если в процессе препроцессинга есть ошибки.
Иными словами, вывод команды не будет прекращён на первой
нераскрывшейся конструкции.
Если предлагаемый патч изменяет это поведение,
то для sandman это закончится плохо.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31168</commentid>
    <comment_count>8</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2005-09-29 19:33:46 +0400</bug_when>
    <thetext>Нет, предлагаемый патч работать не будет совершенно: если сделать нечто
подобное, то все тэги пойдут лесом.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31170</commentid>
    <comment_count>9</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2005-09-29 21:15:17 +0400</bug_when>
    <thetext>Чтобы было понятно:
error: Macro %description not found
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31174</commentid>
    <comment_count>10</comment_count>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2005-09-29 22:54:34 +0400</bug_when>
    <thetext>(In reply to comment #9)
&gt; Чтобы было понятно:
&gt; error: Macro %description not found

Ох, как всё запущено...  Я сходу придумал три варианта обхода этой проблемы и
все три кривые до безобразия...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31188</commentid>
    <comment_count>11</comment_count>
    <who name="Sir Raorn">raorn</who>
    <bug_when>2005-09-30 11:09:28 +0400</bug_when>
    <thetext>&gt; Ох, как всё запущено...  Я сходу придумал три варианта обхода этой проблемы и
&gt; все три кривые до безобразия...

1. subst &apos;s/^%\(package\|description\|...\)/%%\1/&apos; *.spec

2. где-то в macros:
%global package %%package
%global description %%description
...

3. как-то проверять имена секций в expandMacro(), например по
build/parseSpec.c:partList[]

Учитывая comment #7 нужен режим, где нераскрытые макросы не будут генерить
ошибку, тоже слабо представляю как такое реализовать...

P.S. Наверно пока RESOLVED/LATER...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31471</commentid>
    <comment_count>12</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2005-10-06 23:19:15 +0400</bug_when>
    <thetext>Как насчёт --define &apos;_allow_undefined_macros 1&apos;, с помощью которого можно будет
обрабатывать неопределённые макросы?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>31518</commentid>
    <comment_count>13</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2005-10-07 18:33:51 +0400</bug_when>
    <thetext>Implemented in 4.0.4-alt49.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>1151</attachid>
            <date>2005-09-29 14:55:28 +0400</date>
            <delta_ts>2005-09-29 14:55:28 +0400</delta_ts>
            <desc>rpm-4_0-4.0.4-alt-fail-on-unknown-macros.patch</desc>
            <filename>rpm-4_0-4.0.4-alt-fail-on-unknown-macros.patch</filename>
            <type>text/plain</type>
            <size>804</size>
            <attacher name="Sir Raorn">raorn</attacher>
            
              <data encoding="base64">ZGlmZiAtTmF1cnAgcnBtLTRfMC00LjAuNC1vcmlnL3JwbWlvL21hY3JvLmMgcnBtLTRfMC00LjAu
NC9ycG1pby9tYWNyby5jCi0tLSBycG0tNF8wLTQuMC40LW9yaWcvcnBtaW8vbWFjcm8uYwkyMDA1
LTA2LTI5IDIyOjA0OjQ2ICswNDAwCisrKyBycG0tNF8wLTQuMC40L3JwbWlvL21hY3JvLmMJMjAw
NS0wOS0yOSAxNDozNjozMCArMDQwMApAQCAtMTQzNSwyMyArMTQzNSwxMCBAQCBleHBhbmRNYWNy
byhNYWNyb0J1ZiBtYikKIAkJY29udGludWU7CiAJfQogCQotCWlmIChtZSA9PSBOVUxMKSB7CS8q
IGxlYXZlIHVua25vd24gJS4uLiBhcyBpcyAqLwotI2lmbmRlZiBIQUNLCi0jaWYgREVBRAotCQkv
KiBYWFggaGFjayB0byBza2lwIG92ZXIgZW1wdHkgYXJnIGxpc3QgKi8KLQkJaWYgKGZuID09IDEg
JiYgKmYgPT0gJyonKSB7Ci0JCQlzID0gc2U7Ci0JCQljb250aW51ZTsKLQkJfQotI2VuZGlmCi0J
CS8qIFhYWCBoYWNrIHRvIHBlcm1pdCBub24tb3ZlcmxvYWRlZCAlZm9vIHRvIGJlIHBhc3NlZCAq
LwotCQljID0gJyUnOwkvKiBYWFggb25seSBuZWVkIHRvIHNhdmUgJSAqLwotCQlTQVZFQ0hBUiht
YiwgYyk7Ci0jZWxzZQorCWlmIChtZSA9PSBOVUxMKSB7CS8qIGJhaWwgb24gdW5rbm93biAlLi4u
ICovCiAJCXJwbUVycm9yKFJQTUVSUl9CQURTUEVDLAotCQkJXygiTWFjcm8gJSUlLipzIG5vdCBm
b3VuZCwgc2tpcHBpbmdcbiIpLCBmbiwgZik7Ci0JCXMgPSBzZTsKLSNlbmRpZgorCQkJXygiTWFj
cm8gJSUlLipzIG5vdCBmb3VuZFxuIiksIGZuLCBmKTsKKwkJcmMgPSAxOwogCQljb250aW51ZTsK
IAl9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>