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

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

    <bug>
          <bug_id>30508</bug_id>
          
          <creation_ts>2014-11-26 14:17:00 +0300</creation_ts>
          <short_desc>добавить unit-файлы для совместимости с systemd</short_desc>
          <delta_ts>2015-01-29 16:51:27 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>rsync-server</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>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexei Takaseev">taf</reporter>
          <assigned_to name="placeholder@altlinux.org">placeholder</assigned_to>
          <cc>evg</cc>
    
    <cc>glebfm</cc>
    
    <cc>ldv</cc>
    
    <cc>placeholder</cc>
    
    <cc>real.altlinux.org</cc>
    
    <cc>shaba</cc>
    
    <cc>vt</cc>
    
    <cc>zerg</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>149013</commentid>
    <comment_count>0</comment_count>
    <who name="Alexei Takaseev">taf</who>
    <bug_when>2014-11-26 14:17:00 +0300</bug_when>
    <thetext>Просьба добавить в пакет unit-файлы для нормальной работы с systemd. На данный момент сервер работает через xinetd, который по зависимостям запускает service network, что на системах, где сеть управляется через systemd-networkd, увеличивает время старта системы не менее чем на 30 секунд.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149014</commentid>
    <comment_count>1</comment_count>
      <attachid>6182</attachid>
    <who name="Alexei Takaseev">taf</who>
    <bug_when>2014-11-26 14:17:58 +0300</bug_when>
    <thetext>Created attachment 6182
rsyncd.socket</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149015</commentid>
    <comment_count>2</comment_count>
      <attachid>6183</attachid>
    <who name="Alexei Takaseev">taf</who>
    <bug_when>2014-11-26 14:18:25 +0300</bug_when>
    <thetext>Created attachment 6183
rsyncd@.service</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149063</commentid>
    <comment_count>3</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2014-11-28 05:02:36 +0300</bug_when>
    <thetext>Надо, чтобы они не конфликтовали ни друг с другом, ни с xinetd, и чтобы по умолчанию установка пакета не преводила к влючению сервиса, принимающего соединения отовсюду на порту 873.

Между прочим, в федорном пакете эти файлы немного другие.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149081</commentid>
    <comment_count>4</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2014-11-28 20:27:50 +0300</bug_when>
    <thetext>rsync-3.1.1-alt1 -&gt; sisyphus:

* Fri Nov 28 2014 Dmitry V. Levin &lt;ldv@altlinux&gt; 3.1.1-alt1
- Updated to v3.1.1.
- server: packaged systemd unit files (closes: #30508).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149120</commentid>
    <comment_count>5</comment_count>
    <who name="Alexei Takaseev">taf</who>
    <bug_when>2014-12-01 03:25:26 +0300</bug_when>
    <thetext>К сожалению, в сборке указан файл /etc/sysconfig/rsyncd с нулевой длинной. При установке пакета он в системе не создается. И даже если его создать вручную с нулевой длинной, то сервис все равно не запускается. Чтобы все поправить, достаточно в файл написать строку

OPTIONS=</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149121</commentid>
    <comment_count>6</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2014-12-01 03:36:39 +0300</bug_when>
    <thetext>(In reply to comment #5)
&gt; К сожалению, в сборке указан файл /etc/sysconfig/rsyncd с нулевой длинной. При
&gt; установке пакета он в системе не создается.

Это я сделал специально, чтобы по умолчанию оно не активировалось.
Альтернативой было бы не включать секцию Install.

Не факт, что выбранный мной способ лучше, но мне так показалось.
Вероятно, имеет смысл обсудить в devel@.

&gt; И даже если его создать вручную с
&gt; нулевой длинной, то сервис все равно не запускается. Чтобы все поправить,
&gt; достаточно в файл написать строку
&gt; 
&gt; OPTIONS=

Достаточно сделать
echo &gt;&gt; /etc/sysconfig/rsyncd</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149131</commentid>
    <comment_count>7</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2014-12-01 15:41:23 +0300</bug_when>
    <thetext>(В ответ на комментарий №0)
&gt; xinetd, который по зависимостям запускает service network
Просьба не путать network.service и network.target .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149922</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2015-01-29 14:23:06 +0300</bug_when>
    <thetext>в текущем виде unit-файлы не рабочие

1) ConditionFileNotEmpty=/etc/sysconfig/rsyncd - нет такого файла в пакете и сервис никогда стартовать не будет. Просьба просто добавить файл в пакет с содержимым OPTIONS=&quot;&quot; 

2) не надо использовать Environment=OPTIONS=, лучше использовать конструкцию типа EnvironmentFile=-/etc/sysconfig/rsyncd  (&quot;-&quot; в начале означает что этого файла может не быть). А если в пакете будет /etc/sysconfig/rsyncd, то тогда можно без минуса.

Предлагаю привести к такому виду:

/etc/sysconfig/rsyncd:
OPTIONS=&quot;&quot; 

rsyncd@.service:
[Unit]
Description=Rsync Server
ConditionFileNotEmpty=/etc/rsyncd.conf

[Service]
EnvironmentFile=/etc/sysconfig/rsyncd
ExecStart=/usr/bin/rsync --daemon --no-detach $OPTIONS

rsyncd.socket:
[Unit]
Description=Rsync Server Activation Socket
ConditionFileNotEmpty=/etc/rsyncd.conf</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149924</commentid>
    <comment_count>9</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2015-01-29 15:38:50 +0300</bug_when>
    <thetext>(In reply to comment #8)
&gt; в текущем виде unit-файлы не рабочие
&gt; 
&gt; 1) ConditionFileNotEmpty=/etc/sysconfig/rsyncd - нет такого файла в пакете и
&gt; сервис никогда стартовать не будет.

Так и было задумано.

&gt; Просьба просто добавить файл в пакет с содержимым OPTIONS=&quot;&quot; 

Тогда сервис будет стартовать по умолчанию, а это неправильно.

Постановка задачи следующая:
- для того, чтобы имело смысл активировать rsync server, необходимо настроить /etc/rsyncd.conf;
- /etc/rsyncd.conf в пакете традиционно содержит комментарии, поэтому он всегда непуст;
- в идеале надо проверять, настроен ли rsync server через /etc/rsyncd.conf, в качестве условия активации юнита.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149925</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2015-01-29 16:18:59 +0300</bug_when>
    <thetext>хорошо. 
- но все равно не понятно зачем используется &quot;Environment=OPTIONS=&quot;
- ConditionFileNotEmpty=/etc/rsyncd.conf можно убрать, раз он всегда не пустой.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149926</commentid>
    <comment_count>11</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2015-01-29 16:37:12 +0300</bug_when>
    <thetext>(In reply to comment #10)
&gt; хорошо. 

Не очень хорошо.  Хорошо было бы, если бы можно было проверить rsyncd.conf

&gt; - но все равно не понятно зачем используется &quot;Environment=OPTIONS=&quot;

Это no-op.

&gt; - ConditionFileNotEmpty=/etc/rsyncd.conf можно убрать, раз он всегда не пустой.

Это перестраховка.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149927</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2015-01-29 16:51:27 +0300</bug_when>
    <thetext>закрываю.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>6182</attachid>
            <date>2014-11-26 14:17:58 +0300</date>
            <delta_ts>2014-11-26 14:17:58 +0300</delta_ts>
            <desc>rsyncd.socket</desc>
            <filename>rsyncd.socket</filename>
            <type>text/plain</type>
            <size>161</size>
            <attacher name="Alexei Takaseev">taf</attacher>
            
              <data encoding="base64">W1VuaXRdCkRlc2NyaXB0aW9uPVJzeW5jIFNlcnZlciBBY3RpdmF0aW9uIFNvY2tldApDb25kaXRp
b25QYXRoRXhpc3RzPS9ldGMvcnN5bmNkLmNvbmYKCltTb2NrZXRdCkxpc3RlblN0cmVhbT04NzMK
QWNjZXB0PXRydWUKCltJbnN0YWxsXQpXYW50ZWRCeT1zb2NrZXRzLnRhcmdldAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>6183</attachid>
            <date>2014-11-26 14:18:25 +0300</date>
            <delta_ts>2014-11-26 14:18:25 +0300</delta_ts>
            <desc>rsyncd@.service</desc>
            <filename>rsyncd@.service</filename>
            <type>application/octet-stream</type>
            <size>196</size>
            <attacher name="Alexei Takaseev">taf</attacher>
            
              <data encoding="base64">W1VuaXRdCkRlc2NyaXB0aW9uPVJzeW5jIFNlcnZlcgpBZnRlcj1sb2NhbC1mcy50YXJnZXQKQ29u
ZGl0aW9uUGF0aEV4aXN0cz0vZXRjL3JzeW5jZC5jb25mCgpbU2VydmljZV0KIyBOb3RlOiB0aGlz
IHJlcXVpcmVzIC9ldGMvcnN5bmNkLmNvbmYKRXhlY1N0YXJ0PS91c3IvYmluL3JzeW5jIC0tZGFl
bW9uClN0YW5kYXJkSW5wdXQ9c29ja2V0Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>