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

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

    <bug>
          <bug_id>5662</bug_id>
          
          <creation_ts>2004-12-09 17:40:45 +0300</creation_ts>
          <short_desc>Дублирование куска спека в выводе rpm -bE</short_desc>
          <delta_ts>2008-06-14 21:40:27 +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>librpmbuild</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></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P4</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kirill A. Shutemov">kas</reporter>
          <assigned_to name="placeholder@altlinux.org">placeholder</assigned_to>
          <cc>arseny</cc>
    
    <cc>evseev</cc>
    
    <cc>glebfm</cc>
    
    <cc>imz</cc>
    
    <cc>ldv</cc>
    
    <cc>legion</cc>
    
    <cc>php-coder</cc>
    
    <cc>placeholder</cc>
    
    <cc>vt</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>20308</commentid>
    <comment_count>0</comment_count>
    <who name="Kirill A. Shutemov">kas</who>
    <bug_when>2004-12-09 17:40:45 +0300</bug_when>
    <thetext>Если в спеке присутствует тэг BuildArch то в выводе rpm -bE дублируется кусок
спека находящийся до этого тэга. Пример спека:
Name: test
Version: test
Release: test
Summary: test
License: GPL
Group: test
BuildArch: noarch
%description</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20310</commentid>
    <comment_count>1</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2004-12-09 17:54:49 +0300</bug_when>
    <thetext>It&apos;s a known story.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20313</commentid>
    <comment_count>2</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2004-12-09 17:56:28 +0300</bug_when>
    <thetext>*** Bug 5573 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20339</commentid>
    <comment_count>3</comment_count>
      <attachid>664</attachid>
    <who name="Kirill A. Shutemov">kas</who>
    <bug_when>2004-12-10 16:13:54 +0300</bug_when>
    <thetext>Created attachment 664
Патчик, который исправляет проблемму</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20340</commentid>
    <comment_count>4</comment_count>
    <who name="Kirill A. Shutemov">kas</who>
    <bug_when>2004-12-10 16:19:47 +0300</bug_when>
    <thetext>блин, орфографическая ошибка в патче - s/tempory/temporary/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20341</commentid>
    <comment_count>5</comment_count>
      <attachid>664</attachid>
    <who name="Kirill A. Shutemov">kas</who>
    <bug_when>2004-12-10 16:21:54 +0300</bug_when>
    <thetext>Comment on attachment 664
Патчик, который исправляет проблемму

&gt;--- rpm-4_0-4.0.4-orig/build/parseSpec.c	2002-03-26 01:09:32 +0200
&gt;+++ rpm-4_0-4.0.4/build/parseSpec.c	2004-12-10 15:13:44 +0200
&gt;@@ -16,6 +16,8 @@
&gt; 
&gt; /*@access FD_t @*/	/* compared with NULL */
&gt; 
&gt;+static FILE* temp_file;/*temporary file to output preprocessing spec*/
&gt;+
&gt; /**
&gt;  */
&gt; /*@unchecked@*/
&gt;@@ -362,7 +364,7 @@
&gt; 
&gt; 	if ( &apos;\n&apos; == chomped[len-1] ) 
&gt; 	    chomped[len-1] = &apos;\0&apos;;
&gt;-	puts( chomped );
&gt;+	fprintf(temp_file, &quot;%s\n&quot;, chomped );
&gt; 	chomped = _free( chomped );
&gt;     }
&gt; 
&gt;@@ -396,6 +398,10 @@
&gt; {
&gt;     rpmParseState parsePart = PART_PREAMBLE;
&gt;     int initialPackage = 1;
&gt;+    char temp_filename_pattern[25]=&quot;preprocessed-spec.XXXXXX&quot;;
&gt;+    int temp_fd;
&gt;+    char line[255];
&gt;+
&gt; #ifdef	DYING
&gt;     const char *saveArch;
&gt; #endif
&gt;@@ -416,6 +422,23 @@
&gt;     spec-&gt;fileStack = newOpenFileInfo();
&gt;     spec-&gt;fileStack-&gt;fileName = xstrdup(spec-&gt;specFile);
&gt;     spec-&gt;preprocess_mode = preprocess;
&gt;+
&gt;+    if (spec-&gt;preprocess_mode){
&gt;+      temp_fd = mkstemp(temp_filename_pattern);
&gt;+      if (temp_fd == -1) {
&gt;+	rpmError(RPMERR_CREATE, _(&quot;Cannot open temporary file&quot;));
&gt;+	return RPMERR_CREATE;
&gt;+      }
&gt;+      if (!(temp_file = fdopen(temp_fd, &quot;w+b&quot;))) {
&gt;+	rpmError(RPMERR_CREATE, _(&quot;Cannot create temporary file descriptor&quot;));
&gt;+	return RPMERR_CREATE;
&gt;+      }
&gt;+      if (unlink(temp_filename_pattern) == -1) {
&gt;+	rpmError(RPMERR_UNLINK, _(&quot;Cannot delete temporary file&quot;));
&gt;+	return RPMERR_UNLINK;
&gt;+      }
&gt;+    }
&gt;+
&gt;     if (buildRootURL) {
&gt; 	const char * buildRoot;
&gt; 	(void) urlPath(buildRootURL, &amp;buildRoot);
&gt;@@ -636,5 +659,15 @@
&gt;     closeSpec(spec);
&gt;     *specp = spec;
&gt; 
&gt;+    if (spec-&gt;preprocess_mode){
&gt;+      if (!fseek(temp_file,0,SEEK_SET))
&gt;+	while(fgets(line,255,temp_file))
&gt;+	  printf(&quot;%s&quot;,line);
&gt;+      else{
&gt;+	rpmError(RPMERR_FSEEK, _(&quot;Cannot seek temporary file&quot;));
&gt;+	return RPMERR_FSEEK;
&gt;+      }
&gt;+    }
&gt;+
&gt;     return 0;
&gt; }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20411</commentid>
    <comment_count>6</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2004-12-14 13:17:36 +0300</bug_when>
    <thetext>Ввиду повышенной активности reporter&apos;а.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20413</commentid>
    <comment_count>7</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2004-12-14 13:20:22 +0300</bug_when>
    <thetext>1. в таких случаях необъодимо использовать ftruncate(2).
2. в rpmlib работа с временными файлами отличается от обычной.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20419</commentid>
    <comment_count>8</comment_count>
    <who name="Kirill A. Shutemov">kas</who>
    <bug_when>2004-12-14 13:59:16 +0300</bug_when>
    <thetext>(In reply to comment #7)
&gt; 1. в таких случаях необъодимо использовать ftruncate(2).
ok
&gt; 2. в rpmlib работа с временными файлами отличается от обычной.
Вы имеете ввиду использование makeTempFile?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20469</commentid>
    <comment_count>9</comment_count>
      <attachid>671</attachid>
    <who name="Kirill A. Shutemov">kas</who>
    <bug_when>2004-12-15 15:13:50 +0300</bug_when>
    <thetext>Created attachment 671
Теперь используется ftruncate

А по поводу использования временных файлов в rpmlib - прошу разъяснить
по-подробней...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51037</commentid>
    <comment_count>10</comment_count>
    <who name="Slava Semushin">php-coder</who>
    <bug_when>2007-06-04 14:16:01 +0400</bug_when>
    <thetext>Эта бага до сих пор актуальна? (сегодня вечером проверю дома)

И, думаю, что это не major, а normal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51045</commentid>
    <comment_count>11</comment_count>
    <who name="Kirill A. Shutemov">kas</who>
    <bug_when>2007-06-04 14:37:25 +0400</bug_when>
    <thetext>Воспроизводиться, но для мня не актуальна.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>72366</commentid>
    <comment_count>12</comment_count>
    <who name="at@altlinux.org">at</who>
    <bug_when>2008-06-14 21:40:27 +0400</bug_when>
    <thetext>Fixed in 4.0.4-alt77.M40.1-39-g63d7ecd</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>664</attachid>
            <date>2004-12-10 16:13:54 +0300</date>
            <delta_ts>2004-12-15 15:13:51 +0300</delta_ts>
            <desc>Патчик, который исправляет проблемму</desc>
            <filename>rpm.patch</filename>
            <type>text/plain</type>
            <size>1824</size>
            <attacher name="Kirill A. Shutemov">kas</attacher>
            
              <data encoding="base64">LS0tIHJwbS00XzAtNC4wLjQtb3JpZy9idWlsZC9wYXJzZVNwZWMuYwkyMDAyLTAzLTI2IDAxOjA5
OjMyICswMjAwCisrKyBycG0tNF8wLTQuMC40L2J1aWxkL3BhcnNlU3BlYy5jCTIwMDQtMTItMTAg
MTU6MTM6NDQgKzAyMDAKQEAgLTE2LDYgKzE2LDggQEAKIAogLypAYWNjZXNzIEZEX3QgQCovCS8q
IGNvbXBhcmVkIHdpdGggTlVMTCAqLwogCitzdGF0aWMgRklMRSogdGVtcF9maWxlOy8qdGVtcG9y
eSBmaWxlIHRvIG91dHB1dCBwcmVwcm9jZXNzaW5nIHNwZWMqLworCiAvKioKICAqLwogLypAdW5j
aGVja2VkQCovCkBAIC0zNjIsNyArMzY0LDcgQEAKIAogCWlmICggJ1xuJyA9PSBjaG9tcGVkW2xl
bi0xXSApIAogCSAgICBjaG9tcGVkW2xlbi0xXSA9ICdcMCc7Ci0JcHV0cyggY2hvbXBlZCApOwor
CWZwcmludGYodGVtcF9maWxlLCAiJXNcbiIsIGNob21wZWQgKTsKIAljaG9tcGVkID0gX2ZyZWUo
IGNob21wZWQgKTsKICAgICB9CiAKQEAgLTM5Niw2ICszOTgsMTAgQEAKIHsKICAgICBycG1QYXJz
ZVN0YXRlIHBhcnNlUGFydCA9IFBBUlRfUFJFQU1CTEU7CiAgICAgaW50IGluaXRpYWxQYWNrYWdl
ID0gMTsKKyAgICBjaGFyIHRlbXBfZmlsZW5hbWVfcGF0dGVyblsyNV09InByZXByb2Nlc3NlZC1z
cGVjLlhYWFhYWCI7CisgICAgaW50IHRlbXBfZmQ7CisgICAgY2hhciBsaW5lWzI1NV07CisKICNp
ZmRlZglEWUlORwogICAgIGNvbnN0IGNoYXIgKnNhdmVBcmNoOwogI2VuZGlmCkBAIC00MTYsNiAr
NDIyLDIzIEBACiAgICAgc3BlYy0+ZmlsZVN0YWNrID0gbmV3T3BlbkZpbGVJbmZvKCk7CiAgICAg
c3BlYy0+ZmlsZVN0YWNrLT5maWxlTmFtZSA9IHhzdHJkdXAoc3BlYy0+c3BlY0ZpbGUpOwogICAg
IHNwZWMtPnByZXByb2Nlc3NfbW9kZSA9IHByZXByb2Nlc3M7CisKKyAgICBpZiAoc3BlYy0+cHJl
cHJvY2Vzc19tb2RlKXsKKyAgICAgIHRlbXBfZmQgPSBta3N0ZW1wKHRlbXBfZmlsZW5hbWVfcGF0
dGVybik7CisgICAgICBpZiAodGVtcF9mZCA9PSAtMSkgeworCXJwbUVycm9yKFJQTUVSUl9DUkVB
VEUsIF8oIkNhbm5vdCBvcGVuIHRlbXBvcnkgZmlsZSIpKTsKKwlyZXR1cm4gUlBNRVJSX0NSRUFU
RTsKKyAgICAgIH0KKyAgICAgIGlmICghKHRlbXBfZmlsZSA9IGZkb3Blbih0ZW1wX2ZkLCAidyti
IikpKSB7CisJcnBtRXJyb3IoUlBNRVJSX0NSRUFURSwgXygiQ2Fubm90IGNyZWF0ZSB0ZW1wb3J5
IGZpbGUgZGVzY3JpcHRvciIpKTsKKwlyZXR1cm4gUlBNRVJSX0NSRUFURTsKKyAgICAgIH0KKyAg
ICAgIGlmICh1bmxpbmsodGVtcF9maWxlbmFtZV9wYXR0ZXJuKSA9PSAtMSkgeworCXJwbUVycm9y
KFJQTUVSUl9VTkxJTkssIF8oIkNhbm5vdCBkZWxldGUgdGVtcG9yeSBmaWxlIikpOworCXJldHVy
biBSUE1FUlJfVU5MSU5LOworICAgICAgfQorICAgIH0KKwogICAgIGlmIChidWlsZFJvb3RVUkwp
IHsKIAljb25zdCBjaGFyICogYnVpbGRSb290OwogCSh2b2lkKSB1cmxQYXRoKGJ1aWxkUm9vdFVS
TCwgJmJ1aWxkUm9vdCk7CkBAIC02MzYsNSArNjU5LDE1IEBACiAgICAgY2xvc2VTcGVjKHNwZWMp
OwogICAgICpzcGVjcCA9IHNwZWM7CiAKKyAgICBpZiAoc3BlYy0+cHJlcHJvY2Vzc19tb2RlKXsK
KyAgICAgIGlmICghZnNlZWsodGVtcF9maWxlLDAsU0VFS19TRVQpKQorCXdoaWxlKGZnZXRzKGxp
bmUsMjU1LHRlbXBfZmlsZSkpCisJICBwcmludGYoIiVzIixsaW5lKTsKKyAgICAgIGVsc2V7CisJ
cnBtRXJyb3IoUlBNRVJSX0ZTRUVLLCBfKCJDYW5ub3Qgc2VlayB0ZW1wb3J5IGZpbGUiKSk7CisJ
cmV0dXJuIFJQTUVSUl9GU0VFSzsKKyAgICAgIH0KKyAgICB9CisKICAgICByZXR1cm4gMDsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>671</attachid>
            <date>2004-12-15 15:13:49 +0300</date>
            <delta_ts>2004-12-15 15:13:49 +0300</delta_ts>
            <desc>Теперь используется ftruncate</desc>
            <filename>rpm.patch</filename>
            <type>text/plain</type>
            <size>2168</size>
            <attacher name="Kirill A. Shutemov">kas</attacher>
            
              <data encoding="base64">LS0tIHJwbS00XzAtNC4wLjQtb3JpZy9idWlsZC9wYXJzZVNwZWMuYwkyMDAyLTAzLTI2IDAxOjA5
OjMyICswMjAwCisrKyBycG0tNF8wLTQuMC40L2J1aWxkL3BhcnNlU3BlYy5jCTIwMDQtMTItMTUg
MTM6NDE6NDQgKzAyMDAKQEAgLTE2LDYgKzE2LDggQEAKIAogLypAYWNjZXNzIEZEX3QgQCovCS8q
IGNvbXBhcmVkIHdpdGggTlVMTCAqLwogCitzdGF0aWMgRklMRSogdGVtcF9maWxlOy8qdGVtcG9y
YXJ5IGZpbGUgdG8gb3V0cHV0IHByZXByb2Nlc3Npbmcgc3BlYyovCisKIC8qKgogICovCiAvKkB1
bmNoZWNrZWRAKi8KQEAgLTM2Miw3ICszNjQsNyBAQAogCiAJaWYgKCAnXG4nID09IGNob21wZWRb
bGVuLTFdICkgCiAJICAgIGNob21wZWRbbGVuLTFdID0gJ1wwJzsKLQlwdXRzKCBjaG9tcGVkICk7
CisJZnByaW50Zih0ZW1wX2ZpbGUsICIlc1xuIiwgY2hvbXBlZCApOwogCWNob21wZWQgPSBfZnJl
ZSggY2hvbXBlZCApOwogICAgIH0KIApAQCAtMzk2LDYgKzM5OCwxMCBAQAogewogICAgIHJwbVBh
cnNlU3RhdGUgcGFyc2VQYXJ0ID0gUEFSVF9QUkVBTUJMRTsKICAgICBpbnQgaW5pdGlhbFBhY2th
Z2UgPSAxOworICAgIGNoYXIgdGVtcF9maWxlbmFtZV9wYXR0ZXJuWzI1XT0icHJlcHJvY2Vzc2Vk
LXNwZWMuWFhYWFhYIjsKKyAgICBpbnQgdGVtcF9mZDsKKyAgICBjaGFyIGxpbmVbMjU1XTsKKwog
I2lmZGVmCURZSU5HCiAgICAgY29uc3QgY2hhciAqc2F2ZUFyY2g7CiAjZW5kaWYKQEAgLTQxNiw2
ICs0MjIsMzUgQEAKICAgICBzcGVjLT5maWxlU3RhY2sgPSBuZXdPcGVuRmlsZUluZm8oKTsKICAg
ICBzcGVjLT5maWxlU3RhY2stPmZpbGVOYW1lID0geHN0cmR1cChzcGVjLT5zcGVjRmlsZSk7CiAg
ICAgc3BlYy0+cHJlcHJvY2Vzc19tb2RlID0gcHJlcHJvY2VzczsKKworICAgIGlmIChzcGVjLT5w
cmVwcm9jZXNzX21vZGUpCisgICAgICBpZiAoIXJlY3Vyc2luZyl7CisJdGVtcF9mZCA9IG1rc3Rl
bXAodGVtcF9maWxlbmFtZV9wYXR0ZXJuKTsKKwlpZiAodGVtcF9mZCA9PSAtMSkgeworCSAgcnBt
RXJyb3IoUlBNRVJSX0NSRUFURSwgXygiQ2Fubm90IG9wZW4gdGVtcG9yYXJ5IGZpbGUiKSk7CisJ
ICByZXR1cm4gUlBNRVJSX0NSRUFURTsKKwl9CisJaWYgKCEodGVtcF9maWxlID0gZmRvcGVuKHRl
bXBfZmQsICJ3K2IiKSkpIHsKKwkgIHJwbUVycm9yKFJQTUVSUl9DUkVBVEUsIF8oIkNhbm5vdCBj
cmVhdGUgdGVtcG9yYXJ5IGZpbGUgZGVzY3JpcHRvciIpKTsKKwkgIHJldHVybiBSUE1FUlJfQ1JF
QVRFOworCX0KKwlpZiAodW5saW5rKHRlbXBfZmlsZW5hbWVfcGF0dGVybikgPT0gLTEpIHsKKwkg
IHJwbUVycm9yKFJQTUVSUl9VTkxJTkssIF8oIkNhbm5vdCBkZWxldGUgdGVtcG9yYXJ5IGZpbGUi
KSk7CisJICByZXR1cm4gUlBNRVJSX1VOTElOSzsKKwl9CisgICAgICB9ZWxzZXsJCisJaWYgKGZ0
cnVuY2F0ZShmaWxlbm8odGVtcF9maWxlKSwwKSl7CisJICAvKkZJWDogd2l0Y2ggZXJyb3IgY29k
ZSBzaG91bGQgYmUgdXNlIGhlcmU/Ki8KKwkgIHJwbUVycm9yKFJQTUVSUl9DUkVBVEUsIF8oIkNh
bm5vdCB0cnVuY2F0ZSB0ZW1wb3JhcnkgZmlsZSIpKTsKKwkgIHJldHVybiBSUE1FUlJfQ1JFQVRF
OworCX0KKworCWlmIChmc2Vlayh0ZW1wX2ZpbGUsMCxTRUVLX1NFVCkpeworCSAgcnBtRXJyb3Io
UlBNRVJSX0ZTRUVLLCBfKCJDYW5ub3Qgc2VlayB0ZW1wb3JhcnkgZmlsZSIpKTsKKwkgIHJldHVy
biBSUE1FUlJfRlNFRUs7CisJfQorICAgICAgfQorICAgIAogICAgIGlmIChidWlsZFJvb3RVUkwp
IHsKIAljb25zdCBjaGFyICogYnVpbGRSb290OwogCSh2b2lkKSB1cmxQYXRoKGJ1aWxkUm9vdFVS
TCwgJmJ1aWxkUm9vdCk7CkBAIC02MzYsNSArNjcxLDE1IEBACiAgICAgY2xvc2VTcGVjKHNwZWMp
OwogICAgICpzcGVjcCA9IHNwZWM7CiAKKyAgICBpZiAoc3BlYy0+cHJlcHJvY2Vzc19tb2RlKXsK
KyAgICAgIGlmICghZnNlZWsodGVtcF9maWxlLDAsU0VFS19TRVQpKQorCXdoaWxlKGZnZXRzKGxp
bmUsMjU1LHRlbXBfZmlsZSkpCisJICBwcmludGYoIiVzIixsaW5lKTsKKyAgICAgIGVsc2V7CisJ
cnBtRXJyb3IoUlBNRVJSX0ZTRUVLLCBfKCJDYW5ub3Qgc2VlayB0ZW1wb3JhcnkgZmlsZSIpKTsK
KwlyZXR1cm4gUlBNRVJSX0ZTRUVLOworICAgICAgfQorICAgIH0KKwogICAgIHJldHVybiAwOwog
fQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>