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

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

    <bug>
          <bug_id>26470</bug_id>
          
          <creation_ts>2011-10-18 22:22:34 +0400</creation_ts>
          <short_desc>[PATCH] gb-remote-check-install: add --mountpoint=/proc to hsh-* calls.</short_desc>
          <delta_ts>2011-10-20 18:50:14 +0400</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>2</classification_id>
          <classification>Infrastructure</classification>
          <product>Infrastructure</product>
          <component>girar</component>
          <version>unspecified</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://git.altlinux.org/people/viy/packages/?p=girar-builder.git;a=commit;h=129277b04f8866dd23a5cef4f27f121b63379159</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="viy">viy</reporter>
          <assigned_to name="Dmitry V. Levin">ldv</assigned_to>
          
          
          <qa_contact name="Mikhail Gusarov">dottedmag</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>126312</commentid>
    <comment_count>0</comment_count>
    <who name="viy">viy</who>
    <bug_when>2011-10-18 22:22:34 +0400</bug_when>
    <thetext>New eclipse reconfiguration filetrigger is written in java
    which in turn requires /proc to be present. check-install test
    will always fail for them without --mountpoint=/proc.

proposed patch:
http://git.altlinux.org/people/viy/packages/?p=girar-builder.git;a=commit;h=129277b04f8866dd23a5cef4f27f121b63379159</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126317</commentid>
    <comment_count>1</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2011-10-19 00:23:06 +0400</bug_when>
    <thetext>$ git grep known_mountpoints=
remote/gb-remote-plant:known_mountpoints=/proc,/dev/pts</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126319</commentid>
    <comment_count>2</comment_count>
    <who name="viy">viy</who>
    <bug_when>2011-10-19 01:28:39 +0400</bug_when>
    <thetext>Напомню, этого недостаточно. Это не работает :(
Дмитрий, я понимаю, что это ваш код, но факты - упрямая вещь:
у меня уже год прописан
$ cat ~/.hasher/config
workdir=/tmp/hasher
packager=&quot;`rpm --eval %packager`&quot;
known_mountpoints=/proc

но если сделать 
hsh --initroot-only
hsh-install eclipse-jdt
hsh-run ls /proc
$ hsh-run ls /proc
filesystems

Proc пустой :(
$ rpm -q hasher
hasher-1.3.21-alt1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126320</commentid>
    <comment_count>3</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2011-10-19 01:44:18 +0400</bug_when>
    <thetext>(In reply to comment #2)
&gt; Напомню, этого недостаточно. Это не работает :(
&gt; Дмитрий, я понимаю, что это ваш код, но факты - упрямая вещь:
&gt; у меня уже год прописан
&gt; $ cat ~/.hasher/config
&gt; workdir=/tmp/hasher
&gt; packager=&quot;`rpm --eval %packager`&quot;
&gt; known_mountpoints=/proc
&gt; 
&gt; но если сделать 
&gt; hsh --initroot-only
&gt; hsh-install eclipse-jdt
&gt; hsh-run ls /proc

А зачем нужен /proc для hsh-run?
В girar-builder есть только одно место, в котором hsh-run запускает команду, поведение которой может зависеть от /proc:

hsh-run --rooter -- \
rpm -ev -- ${what:?} &lt;/dev/null &gt;out 2&gt;&amp;1 ||

Если в этом месте действительно нужен смонтированный /proc, то мне хотелось бы включать его только в тех случаях, когда до этого /proc был смонтирован во время hsh-install.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126321</commentid>
    <comment_count>4</comment_count>
    <who name="viy">viy</who>
    <bug_when>2011-10-19 02:17:34 +0400</bug_when>
    <thetext>(В ответ на комментарий №3)

&gt; (In reply to comment #2)
&gt; А зачем нужен /proc для hsh-run?
&gt; В girar-builder есть только одно место, в котором hsh-run запускает команду,
&gt; поведение которой может зависеть от /proc:

в этом месте во время rpm -e eclipse-jdt будет вызван файлтриггер на
переконфигурирование eclipse :(
файлтриггеру для работы нужна java, а ей /proc.

&gt; В girar-builder есть только одно место

В остальных местах, которые я пометил, тоже будут вызываться %postun и
файлтриггер.
например, eclipsr-jdt по зависимостям вытянет eclipse-platform,
которому желательно пройти корректное конфигурирование.
поэтому в hsh-install тоже нужно --mountpoint=/proc

А в hsh -init  нужно --mountpoint=/proc указать, поскольку 
там вроде был какой-то глюк, что если эту опцию во время
-init не указать, то потом дальше везде --mountpoint=/proc 
работать не будет.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126322</commentid>
    <comment_count>5</comment_count>
    <who name="viy">viy</who>
    <bug_when>2011-10-19 02:26:12 +0400</bug_when>
    <thetext>(В ответ на комментарий №4)
&gt; А в hsh -init  нужно --mountpoint=/proc указать, поскольку 
&gt; там вроде был какой-то глюк, что если эту опцию во время
&gt; -init не указать, то потом дальше везде --mountpoint=/proc 
&gt; работать не будет.

Проверил, в init --mountpoint=/proc можно не указывать, 
hsh-run --mountpoint=/proc ls /proc работает.

т.е. нужно только при установке пакетов и при удалении.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126323</commentid>
    <comment_count>6</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2011-10-19 02:32:59 +0400</bug_when>
    <thetext>(In reply to comment #5)
&gt; (В ответ на комментарий №4)
&gt; &gt; А в hsh -init  нужно --mountpoint=/proc указать, поскольку 
&gt; &gt; там вроде был какой-то глюк, что если эту опцию во время
&gt; &gt; -init не указать, то потом дальше везде --mountpoint=/proc 
&gt; &gt; работать не будет.
&gt; 
&gt; Проверил, в init --mountpoint=/proc можно не указывать, 
&gt; hsh-run --mountpoint=/proc ls /proc работает.
&gt; 
&gt; т.е. нужно только при установке пакетов и при удалении.

Все hsh-команды, которые работают с пакетами, используют $known_mountpoints.
hsh-run/hsh-shell не используют $known_mountpoints, потому что у них --mountpoints имеет немного другой смысл.

Думаю приложить такой патч:
@@ -210,4 +210,5 @@
 # Remove the package.
+mountpoints=&quot;$(hsh-run -- rpmquery -aR | grep -E &apos;^/(proc|dev/pts)$&apos; | sort -u | tr &apos;\n&apos; ,)&quot;
 what=$(perl -pe &apos;s/=\d+:/-/ or s/=/-/&apos; &lt;new-packages)
-hsh-run --rooter -- \
+hsh-run --rooter --mountpoints=&quot;$mountpoints&quot; -- \
 rpm -ev -- ${what:?} &lt;/dev/null &gt;out 2&gt;&amp;1 ||</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126324</commentid>
    <comment_count>7</comment_count>
    <who name="viy">viy</who>
    <bug_when>2011-10-19 02:48:42 +0400</bug_when>
    <thetext>спасибо!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126391</commentid>
    <comment_count>8</comment_count>
    <who name="viy">viy</who>
    <bug_when>2011-10-20 16:34:45 +0400</bug_when>
    <thetext>(В ответ на комментарий №6)
&gt; Думаю приложить такой патч:
А что с этим патчем? он еще не приложен?
А то я не могу новый eclipse собрать :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126398</commentid>
    <comment_count>9</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2011-10-20 18:33:52 +0400</bug_when>
    <thetext>Патч приложен.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126400</commentid>
    <comment_count>10</comment_count>
    <who name="viy">viy</who>
    <bug_when>2011-10-20 18:50:14 +0400</bug_when>
    <thetext>спасибо!</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>