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

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

    <bug>
          <bug_id>16645</bug_id>
          
          <creation_ts>2008-08-10 22:05:29 +0400</creation_ts>
          <short_desc>hsh should mount /proc on install stage if packages requires them</short_desc>
          <delta_ts>2009-06-10 23:31:25 +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>hasher</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>P2</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="viy">viy</reporter>
          <assigned_to name="Dmitry V. Levin">ldv</assigned_to>
          <cc>at</cc>
    
    <cc>evg</cc>
    
    <cc>glebfm</cc>
    
    <cc>ktirf</cc>
    
    <cc>ldv</cc>
    
    <cc>legion</cc>
    
    <cc>nbr</cc>
    
    <cc>placeholder</cc>
    
    <cc>redbaron</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>75182</commentid>
    <comment_count>0</comment_count>
    <who name="viy">viy</who>
    <bug_when>2008-08-10 22:05:29 +0400</bug_when>
    <thetext>java-1.6.0-sun не работает без /proc.
она его requires:
rpmquery --requires java-1.6.0-sun | grep proc
/proc  
в %post скриптах многих пакетов вызывается java -version:
например tomcat5.

допустим я хочу собрать java&apos;й-1.6.0-sun пакет foo.
Во время сборки java работает корректно, так как /proc смонтирован.
но до сборки, на этапе установки зависимостей /proc не смонтирован,
и %post скрипты отрабатывают с ошибкой.

Следствие: /proc нужно монтировать до установки в chroot пакетов.

Это вылезло недавно, как только я стал собирать с 1.6.0-sun.
В преспективе таких пакетов будет много.
этот баг потенциально блокирует их сборку.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75184</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2008-08-10 23:34:49 +0400</bug_when>
    <thetext>Это не бага. hasher сам ничего не монтирует. Посмотрите /usr/share/doc/hasher-1.3.6/FAQ пункт 4.2.1.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75190</commentid>
    <comment_count>2</comment_count>
    <who name="viy">viy</who>
    <bug_when>2008-08-11 02:24:11 +0400</bug_when>
    <thetext>Эти все условия у меня выполнены.

 First, you have to configure hasher-priv for the user, to allow
        allowed_mountpoints=/proc

   Second, the package you are going to build should include /proc
   in its build dependencies, e.g.
        BuildPreReq: /proc
   Alternatively, at least one of packages installed to build environment
   should include /proc in its dependencies.
 
   Third, hsh should be run with parameter --mountpoints=/proc.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75191</commentid>
    <comment_count>3</comment_count>
    <who name="viy">viy</who>
    <bug_when>2008-08-11 02:30:27 +0400</bug_when>
    <thetext>Подчеркну - вы неправильно поняли.

Как раз грабли в том, что 
/proc _монтируется_,
_монтируется_ перед началом _сборки_ пакета, 
а не перед началом установки зависимостей.
В зависмостях зависимостей
requires: /proc  гвоздями прибит!

это видно через ls &lt;hasherdir&gt;/chroot/proc.
пока идет install, там пусто.
как начался rpmbuild -ba,
он смонтирован.
поздно, однако.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>77506</commentid>
    <comment_count>4</comment_count>
    <who name="viy">viy</who>
    <bug_when>2008-09-10 21:57:50 +0400</bug_when>
    <thetext>как с этой проблемой hasher дела?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>77517</commentid>
    <comment_count>5</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2008-09-11 00:38:27 +0400</bug_when>
    <thetext>(In reply to comment #4)
&gt; как с этой проблемой hasher дела?

Я не готов считать это _проблемой_ hasher.
С момента создания и влоть до совсем недавних пор hasher не монтировал файловые системы во время установки пакетов, поскольку это никому не было нужно.  Видимо, совсем недавно ситуация изменилась, если появились пакеты, которым нужен /proc для выполнения %post-скриптов.  Но hasher этого не умел никогда и не умеет сейчас.

Я подумаю, как это можно реализовать без ущерба для тех сборок, для которых ничего монтировать всё ещё не требуется.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90788</commentid>
    <comment_count>6</comment_count>
    <who name="viy">viy</who>
    <bug_when>2009-05-06 00:02:06 +0400</bug_when>
    <thetext>эта ошибка проявилась в girar install check.
приводит к частичному блокированию заливки java-пакетов.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90795</commentid>
    <comment_count>7</comment_count>
    <who name="redbaron">redbaron</who>
    <bug_when>2009-05-06 10:44:29 +0400</bug_when>
    <thetext>А в чем причина паранои насчет /proc? если он кому-то не нужен, то от того, что его смонтируют ничего же неизменится. Может его просто всегда монтировать и всё?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90882</commentid>
    <comment_count>8</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2009-05-07 05:01:30 +0400</bug_when>
    <thetext>(In reply to comment #7)
&gt; А в чем причина паранои насчет /proc? если он кому-то не нужен, то от того, что
&gt; его смонтируют ничего же неизменится. Может его просто всегда монтировать и
&gt; всё?

См. раздел SECURITY в hasher-priv(8).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90883</commentid>
    <comment_count>9</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2009-05-07 05:24:59 +0400</bug_when>
    <thetext>(In reply to comment #6)
&gt; эта ошибка проявилась в girar install check.
&gt; приводит к частичному блокированию заливки java-пакетов.

http://git.altlinux.org/people/ldv/packages/?p=hasher.git;a=commit;h=1.3.11-alt1

Для истории и статистики: желание фичи -- это enhancement.
Если кто-то заложился на несуществующую фичу, то это его блокер, а не пакета, в котором этой фичи ещё нет.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90891</commentid>
    <comment_count>10</comment_count>
    <who name="nbr">nbr</who>
    <bug_when>2009-05-07 10:24:19 +0400</bug_when>
    <thetext>А чего ей надо-то, жаве, в /proc? Может ей туда просто статические файлы которые ей нужны подложить? Ну скажем, затарить какой-нибудь работающий proc и выложить?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90914</commentid>
    <comment_count>11</comment_count>
    <who name="viy">viy</who>
    <bug_when>2009-05-07 13:52:04 +0400</bug_when>
    <thetext>&gt; Для истории и статистики: желание фичи -- это enhancement.
&gt; Если кто-то заложился на несуществующую фичу, то это его блокер, а не пакета, в
&gt; котором этой фичи ещё нет.

install check предполагает, что hsh-install корректно эмулирует 
установку в рабочую систему.

Если /proc не монтируется, install check не корректный 
и дает ложные срабатывания.

Поставлю вопрос проще:
когда я смогу заливать java-пакеты, не рискуя напороться
на ложное срабатывание install check?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90918</commentid>
    <comment_count>12</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2009-05-07 14:33:02 +0400</bug_when>
    <thetext>(In reply to comment #11)
&gt; Поставлю вопрос проще:
&gt; когда я смогу заливать java-пакеты, не рискуя напороться
&gt; на ложное срабатывание install check?

Когда угодно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90934</commentid>
    <comment_count>13</comment_count>
    <who name="viy">viy</who>
    <bug_when>2009-05-07 16:12:03 +0400</bug_when>
    <thetext>(В ответ на комментарий №12)
&gt; (In reply to comment #11)
&gt; &gt; Поставлю вопрос проще:
&gt; &gt; когда я смогу заливать java-пакеты, не рискуя напороться
&gt; &gt; на ложное срабатывание install check?
&gt; 
&gt; Когда угодно.

Это не шутка? хорошо, тогда заливаю
jradius-1.0.0-alt2_1jpp6.src.rpm
повторно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90958</commentid>
    <comment_count>14</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2009-05-07 20:08:42 +0400</bug_when>
    <thetext>hasher-1.3.11-alt1 -&gt; sisyphus:

* Thu May 07 2009 Dmitry V. Levin &lt;ldv@altlinux&gt; 1.3.11-alt1

- hsh-sh-functions.in: Pass --bloat option to genbasedir (Alexey Tourbin).
- hsh-install: Calculate and apply mountpoints (closes: #16645).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90959</commentid>
    <comment_count>15</comment_count>
    <who name="viy">viy</who>
    <bug_when>2009-05-07 20:20:30 +0400</bug_when>
    <thetext>hurray!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92746</commentid>
    <comment_count>16</comment_count>
    <who name="viy">viy</who>
    <bug_when>2009-06-09 01:06:15 +0400</bug_when>
    <thetext>hasher-1.3.11-alt1
hasher-priv-1.3.3-alt0.M41.1

Есть еще токость, что вот так работает,
hsh --mountpoints=/proc --ini &amp;&amp; hsh-install --mountpoints=/proc jdkgcj

а так
hsh --mountpoints=/proc --ini &amp;&amp; hsh-install jdkgcj
не работает -
куча ругани вида
GC Warning: Couldn&apos;t read /proc/stat
Couldn&apos;t read /proc/self/stat
неплохо было бы запоминать --mountpoints, как это делается для
--apt-config, --with-stuff.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92747</commentid>
    <comment_count>17</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2009-06-09 01:24:09 +0400</bug_when>
    <thetext>(In reply to comment #16)
&gt; hasher-1.3.11-alt1
&gt; hasher-priv-1.3.3-alt0.M41.1
&gt; 
&gt; Есть еще токость, что вот так работает,
&gt; hsh --mountpoints=/proc --ini &amp;&amp; hsh-install --mountpoints=/proc jdkgcj
&gt; 
&gt; а так
&gt; hsh --mountpoints=/proc --ini &amp;&amp; hsh-install jdkgcj
&gt; не работает -

Я обычно делаю в точности наоборот:
hsh --mountpoints=/proc &amp;&amp; hsh-install --mountpoints=/proc jdkgcj

Не говоря уже о
known_mountpoints=/proc,/dev/pts
в файле ~/.hasher/config

Так что это уже совсем другой, гораздо менее насущный FR,
хорошо бы оформить его отдельно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92748</commentid>
    <comment_count>18</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2009-06-09 01:24:43 +0400</bug_when>
    <thetext>(In reply to comment #16)
&gt; hasher-1.3.11-alt1
&gt; hasher-priv-1.3.3-alt0.M41.1
&gt; 
&gt; Есть еще токость, что вот так работает,
&gt; hsh --mountpoints=/proc --ini &amp;&amp; hsh-install --mountpoints=/proc jdkgcj
&gt; 
&gt; а так
&gt; hsh --mountpoints=/proc --ini &amp;&amp; hsh-install jdkgcj
&gt; не работает -

Я обычно делаю в точности наоборот:
hsh --init &amp;&amp; hsh-install --mountpoints=/proc jdkgcj

Не говоря уже о
known_mountpoints=/proc,/dev/pts
в файле ~/.hasher/config

Так что это уже совсем другой, гораздо менее насущный FR,
хорошо бы оформить его отдельно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92887</commentid>
    <comment_count>19</comment_count>
    <who name="viy">viy</who>
    <bug_when>2009-06-10 23:31:25 +0400</bug_when>
    <thetext>https://bugzilla.altlinux.org/show_bug.cgi?id=20409</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>