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

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

    <bug>
          <bug_id>25686</bug_id>
          
          <creation_ts>2011-05-30 13:42:40 +0400</creation_ts>
          <short_desc>hsh --init заполняет кэш, прямо не говоря об этом</short_desc>
          <delta_ts>2011-09-02 10:45:47 +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>usability</keywords>
          <priority>P3</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>26217</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="IVK">ivk1097</reporter>
          <assigned_to name="Dmitry V. Levin">ldv</assigned_to>
          <cc>at</cc>
    
    <cc>dd1email</cc>
    
    <cc>glebfm</cc>
    
    <cc>ldv</cc>
    
    <cc>legion</cc>
    
    <cc>mike</cc>
    
    <cc>placeholder</cc>
    
    <cc>radik</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>121759</commentid>
    <comment_count>0</comment_count>
    <who name="IVK">ivk1097</who>
    <bug_when>2011-05-30 13:42:40 +0400</bug_when>
    <thetext>Когда hsh --init заполняет ~/hasher/aptbox/var/cache/apt/archives, то желательно, чтобы он прямо говорил в логе, что качает пакеты. Если хашерницу собирает начинающий, причём пакеты для неё берутся из инета, и канал тощий (а такое всё-таки бывает!), то &quot;зависание&quot; hsh --init на не очень понятной строке 
hsh-initroot: Generated initial package file list.
может сильно озадачить человека ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121788</commentid>
    <comment_count>1</comment_count>
    <who name="Radik Usupov">radik</who>
    <bug_when>2011-05-31 15:47:55 +0400</bug_when>
    <thetext>Полностью согласен с топикстартером.
По началу очень озадачивало, пока не спросил у ребят...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121798</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2011-06-01 00:08:30 +0400</bug_when>
    <thetext>Думаю, самым простым способом будет что-то вроде

echo &quot;Obtaining packages (downloading remotely might take a while)...&quot;

перед тем, как.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121799</commentid>
    <comment_count>3</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2011-06-01 00:29:10 +0400</bug_when>
    <thetext>Дело в том, что hasher, запуская
apt-get -q -y -o RPM::PM=external -o Dir::Bin::rpm=hsh-rpmi-print-files
(см. print_uris() в hsh-sh-functions)
не знает, что именно делает apt-get, в частности, скачивает ли он файлы.
Например, в случае использования метода file точно ничего не скачивается.

Даже не знаю, чем вам помочь.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121800</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2011-06-01 00:51:14 +0400</bug_when>
    <thetext>Это понятно, потому и такую формулировку предложил.  Ну или так:

Obtaining packages (might take a while if downloading remotely)...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121801</commentid>
    <comment_count>5</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2011-06-01 01:08:19 +0400</bug_when>
    <thetext>(In reply to comment #4)
&gt; Это понятно, потому и такую формулировку предложил.  Ну или так:
&gt; 
&gt; Obtaining packages (might take a while if downloading remotely)...

1.3.20-alt1-2-g88b0822</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121838</commentid>
    <comment_count>6</comment_count>
      <attachid>4959</attachid>
    <who name="Dmitry Chistikov">dd1email</who>
    <bug_when>2011-06-02 09:45:20 +0400</bug_when>
    <thetext>Created attachment 4959
Patch using tee(1)

Предлагается иной способ обхода с помощью tee(1) - см. прикладываемый патч.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121839</commentid>
    <comment_count>7</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2011-06-02 09:48:26 +0400</bug_when>
    <thetext>(In reply to comment #6)
&gt; Created an attachment (id=4959) [details]
&gt; Patch using tee(1)
&gt; 
&gt; Предлагается иной способ обхода с помощью tee(1) - см. прикладываемый патч.

Вариант с tee в принципе плох тем, что статус завершения apt-get безвозвратно теряется.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121841</commentid>
    <comment_count>8</comment_count>
      <attachid>4960</attachid>
    <who name="Dmitry Chistikov">dd1email</who>
    <bug_when>2011-06-02 10:00:39 +0400</bug_when>
    <thetext>Created attachment 4960
Patch using tee(1)

Поправка: чтобы if работал правильно, нужно временно установить pipefail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121842</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2011-06-02 10:15:32 +0400</bug_when>
    <thetext>(В ответ на комментарий №8)
&gt; Created an attachment (id=4960) [details]
&gt; Patch using tee(1)

+	if ! out=&quot;$(&quot;$aptbox/apt-get&quot; $options install -- &quot;$@&quot; 2&gt;&amp;1 | tee /dev/stderr)&quot;; then
+		set +o pipefail

Как Дима и сказал, внутрь if вы никогда не попадёте. tee будет завершаться успешно и код возврата apt будет потерян.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121844</commentid>
    <comment_count>10</comment_count>
    <who name="Dmitry Chistikov">dd1email</who>
    <bug_when>2011-06-02 10:26:45 +0400</bug_when>
    <thetext>$ if ! v=$(false | tee /dev/stderr); then echo a; fi
$ set -o pipefail; if ! v=$(false | tee /dev/stderr); then echo a; fi; set +o pipefail
a</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121845</commentid>
    <comment_count>11</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2011-06-02 10:27:59 +0400</bug_when>
    <thetext>(In reply to comment #9)
&gt; (В ответ на комментарий №8)
&gt; &gt; Created an attachment (id=4960) [details] [details]
&gt; &gt; Patch using tee(1)
&gt; 
&gt; +    if ! out=&quot;$(&quot;$aptbox/apt-get&quot; $options install -- &quot;$@&quot; 2&gt;&amp;1 | tee
&gt; /dev/stderr)&quot;; then
&gt; +        set +o pipefail
&gt; 
&gt; Как Дима и сказал, внутрь if вы никогда не попадёте. tee будет завершаться
&gt; успешно и код возврата apt будет потерян.

Идея понятна, имелось в виду $(set +o pipefail; apt-get | tee).
Честно говоря, я бы, наверное, не очень бы хотел, чтобы _весь_ вывод apt-get транслировался бы пользователю даже в режиме verbose.  А в обычном режиме пользователю вообще никакого вывода от apt-get не нужно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121846</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2011-06-02 10:33:07 +0400</bug_when>
    <thetext>(В ответ на комментарий №10)
&gt; $ if ! v=$(false | tee /dev/stderr); then echo a; fi
&gt; $ set -o pipefail; if ! v=$(false | tee /dev/stderr); then echo a; fi; set +o
&gt; pipefail
&gt; a

Прошу прощения, я не заметил этот милый башизм :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121848</commentid>
    <comment_count>13</comment_count>
    <who name="Dmitry Chistikov">dd1email</who>
    <bug_when>2011-06-02 10:45:55 +0400</bug_when>
    <thetext>Устанавливает опцию именно -o, а не +o:

$ set -o pipefail
$ set -o | grep pipefail
pipefail        on
$ set +o pipefail
$ set -o | grep pipefail
pipefail        off

Вообще, мне кажется, что данный баг именно о нужности индикатора состояния (progress bar или чего-нибудь похожего). В конце концов, вывод apt-get можно и порезать (grep).

Использования башизмов не постеснялся из-за:
http://lists.altlinux.org/pipermail/devel/2010-August/183728.html
http://lists.altlinux.org/pipermail/devel/2010-August/183729.html
=)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121850</commentid>
    <comment_count>14</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2011-06-02 11:03:13 +0400</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #9)
&gt; &gt; (В ответ на комментарий №8)
&gt; &gt; &gt; Created an attachment (id=4960) [details] [details] [details]
&gt; &gt; &gt; Patch using tee(1)
&gt; &gt; 
&gt; &gt; +    if ! out=&quot;$(&quot;$aptbox/apt-get&quot; $options install -- &quot;$@&quot; 2&gt;&amp;1 | tee
&gt; &gt; /dev/stderr)&quot;; then
&gt; &gt; +        set +o pipefail
&gt; &gt; 
&gt; &gt; Как Дима и сказал, внутрь if вы никогда не попадёте. tee будет завершаться
&gt; &gt; успешно и код возврата apt будет потерян.
&gt; 
&gt; Идея понятна, имелось в виду $(set -o pipefail; apt-get | tee).
&gt; Честно говоря, я бы, наверное, не очень бы хотел, чтобы _весь_ вывод apt-get
&gt; транслировался бы пользователю даже в режиме verbose.  А в обычном режиме
&gt; пользователю вообще никакого вывода от apt-get не нужно.

Попробуйте 1.3.20-alt1-3-gca1aab7; не кажется ли вам, что режим -v в результате этого изменения стал чрезмерно болтлив?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122082</commentid>
    <comment_count>15</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2011-06-10 19:35:03 +0400</bug_when>
    <thetext>(In reply to comment #14)
&gt; Попробуйте 1.3.20-alt1-3-gca1aab7; не кажется ли вам, что режим -v в результате
&gt; этого изменения стал чрезмерно болтлив?

Кто-нибудь уже попробовал?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122090</commentid>
    <comment_count>16</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2011-06-11 02:00:56 +0400</bug_when>
    <thetext>Не-а, но кажется, что одной строчки достаточно (особенно если при загрузке она как раз и болтается последней).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123452</commentid>
    <comment_count>17</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2011-07-27 01:10:20 +0400</bug_when>
    <thetext>hasher-1.3.21-alt1 -&gt; sisyphus:

* Wed Jul 27 2011 Dmitry V. Levin &lt;ldv@altlinux&gt; 1.3.21-alt1
- hsh-run: disable network isolation when X11 forwarding is requested.
- hsh: added --printenv option (closes: #23955)
- hsh-sh-functions.in (print_uris): in verbose mode, print a message
  about obtaining packages (closes: #25686).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4959</attachid>
            <date>2011-06-02 09:45:20 +0400</date>
            <delta_ts>2011-06-02 10:00:39 +0400</delta_ts>
            <desc>Patch using tee(1)</desc>
            <filename>tee.patch</filename>
            <type>text/plain</type>
            <size>762</size>
            <attacher name="Dmitry Chistikov">dd1email</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL2hhc2hlci9oc2gtc2gtZnVuY3Rpb25zLmluIGIvaGFzaGVyL2hzaC1zaC1m
dW5jdGlvbnMuaW4KaW5kZXggNDYwZmM4OS4uODU0Y2QxZCAxMDA2NDQKLS0tIGEvaGFzaGVyL2hz
aC1zaC1mdW5jdGlvbnMuaW4KKysrIGIvaGFzaGVyL2hzaC1zaC1mdW5jdGlvbnMuaW4KQEAgLTYy
OCwxMyArNjI4LDEyIEBAIHByaW50X3VyaXMoKQogewogCWxvY2FsIG91dAogCWxvY2FsIG9wdGlv
bnM9Jy1xIC15IC1vIFJQTTo6UE09ZXh0ZXJuYWwgLW8gRGlyOjpCaW46OnJwbT1oc2gtcnBtaS1w
cmludC1maWxlcycKLQlpZiAhIG91dD0iJCgiJGFwdGJveC9hcHQtZ2V0IiAkb3B0aW9ucyBpbnN0
YWxsIC0tICIkQCIgMj4mMSkiOyB0aGVuCi0JCXByaW50ZiAlc1xcbiAiJG91dCIgPiYyCi0JCWZh
dGFsICdmYWlsZWQgdG8gY2FsY3VsYXRlIHBhY2thZ2UgZmlsZSBsaXN0LicKKwlpZiAhIG91dD0i
JCgiJGFwdGJveC9hcHQtZ2V0IiAkb3B0aW9ucyBpbnN0YWxsIC0tICIkQCIgMj4mMSB8IHRlZSAv
ZGV2L3N0ZGVycikiOyB0aGVuCisJCWZhdGFsICdGYWlsZWQgdG8gY2FsY3VsYXRlIHBhY2thZ2Ug
ZmlsZSBsaXN0LicKIAlmaQogCiAJcHJpbnRmICVzICIkb3V0IiB8TENfQUxMPUMgZ3JlcCAnXi8u
KlwucnBtJCcgfHwgWyAkPyAtZXEgMSBdCi0JdmVyYm9zZSAnY2FsY3VsYXRlZCBwYWNrYWdlIGZp
bGUgbGlzdC4nCisJdmVyYm9zZSAnQ2FsY3VsYXRlZCBwYWNrYWdlIGZpbGUgbGlzdC4nCiB9CiAK
IHBhcnNlX3hhdXRoX2VudHJ5KCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4960</attachid>
            <date>2011-06-02 10:00:39 +0400</date>
            <delta_ts>2011-06-02 10:00:39 +0400</delta_ts>
            <desc>Patch using tee(1)</desc>
            <filename>tee.patch</filename>
            <type>text/plain</type>
            <size>799</size>
            <attacher name="Dmitry Chistikov">dd1email</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL2hhc2hlci9oc2gtc2gtZnVuY3Rpb25zLmluIGIvaGFzaGVyL2hzaC1zaC1m
dW5jdGlvbnMuaW4KaW5kZXggNDYwZmM4OS4uMzY0NzZhZCAxMDA2NDQKLS0tIGEvaGFzaGVyL2hz
aC1zaC1mdW5jdGlvbnMuaW4KKysrIGIvaGFzaGVyL2hzaC1zaC1mdW5jdGlvbnMuaW4KQEAgLTYy
OCwxMyArNjI4LDE0IEBAIHByaW50X3VyaXMoKQogewogCWxvY2FsIG91dAogCWxvY2FsIG9wdGlv
bnM9Jy1xIC15IC1vIFJQTTo6UE09ZXh0ZXJuYWwgLW8gRGlyOjpCaW46OnJwbT1oc2gtcnBtaS1w
cmludC1maWxlcycKLQlpZiAhIG91dD0iJCgiJGFwdGJveC9hcHQtZ2V0IiAkb3B0aW9ucyBpbnN0
YWxsIC0tICIkQCIgMj4mMSkiOyB0aGVuCi0JCXByaW50ZiAlc1xcbiAiJG91dCIgPiYyCi0JCWZh
dGFsICdmYWlsZWQgdG8gY2FsY3VsYXRlIHBhY2thZ2UgZmlsZSBsaXN0LicKKwlzZXQgLW8gcGlw
ZWZhaWwKKwlpZiAhIG91dD0iJCgiJGFwdGJveC9hcHQtZ2V0IiAkb3B0aW9ucyBpbnN0YWxsIC0t
ICIkQCIgMj4mMSB8IHRlZSAvZGV2L3N0ZGVycikiOyB0aGVuCisJCXNldCArbyBwaXBlZmFpbAor
CQlmYXRhbCAnRmFpbGVkIHRvIGNhbGN1bGF0ZSBwYWNrYWdlIGZpbGUgbGlzdC4nCiAJZmkKIAog
CXByaW50ZiAlcyAiJG91dCIgfExDX0FMTD1DIGdyZXAgJ14vLipcLnJwbSQnIHx8IFsgJD8gLWVx
IDEgXQotCXZlcmJvc2UgJ2NhbGN1bGF0ZWQgcGFja2FnZSBmaWxlIGxpc3QuJworCXZlcmJvc2Ug
J0NhbGN1bGF0ZWQgcGFja2FnZSBmaWxlIGxpc3QuJwogfQogCiBwYXJzZV94YXV0aF9lbnRyeSgp
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>