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

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

    <bug>
          <bug_id>29537</bug_id>
          
          <creation_ts>2013-10-30 15:07:08 +0400</creation_ts>
          <short_desc>wrong perms on /dev/snd/timer</short_desc>
          <delta_ts>2014-03-24 02:46:45 +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>startup</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="Sergey Bolshakov">sbolshakov</reporter>
          <assigned_to name="Alexey Gladkov">legion</assigned_to>
          <cc>glebfm</cc>
    
    <cc>ldv</cc>
    
    <cc>legion</cc>
    
    <cc>shaba</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>143528</commentid>
    <comment_count>0</comment_count>
    <who name="Sergey Bolshakov">sbolshakov</who>
    <bug_when>2013-10-30 15:07:08 +0400</bug_when>
    <thetext>после апгрейда с 208-alt1 до 208-alt2 права на /dev/snd/{seq,timer}
выставились в root:audio 0600 вместо обычных 0660.
это нехорошо.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143529</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2013-10-30 15:26:42 +0400</bug_when>
    <thetext>уточните пожалуйста, это без systemd? под SysV?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143530</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2013-10-30 15:55:37 +0400</bug_when>
    <thetext>А после обновления не перегружались?
Возможно это обновление не корректно происходит, и после перезагрузки все исправится.

Сейчас kmod на основании /lib/modules/@kernel@/modules.devname генерит /run/tmpfiles.d/kmod.conf для создания устройств - в нем все устройства с правами 0600.
d /dev/snd 0755 - - -
c /dev/snd/timer 0600 - - - 116:33
d /dev/snd 0755 - - -
c /dev/snd/seq 0600 - - - 116:1


Но правильные права должны применятся на основе udev-rules.

SUBSYSTEM==&quot;sound&quot;, GROUP=&quot;audio&quot;, \
  OPTIONS+=&quot;static_node=snd/seq&quot;, OPTIONS+=&quot;static_node=snd/timer&quot;

судя по udev-rules.c, если группа определена, то права должны быть 0660.

возможно что при обновлении как-то подхватился /run/tmpfiles.d/kmod.conf и устройства создались, но udev почему-то не применил к ним правила.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143531</commentid>
    <comment_count>3</comment_count>
    <who name="Sergey Bolshakov">sbolshakov</who>
    <bug_when>2013-10-30 16:20:57 +0400</bug_when>
    <thetext>делался dist-upgrade, затем перезагрузка (в новое ядро).

# tail -4 /run/tmpfiles.d/kmod.conf
d /dev/snd 0755 - - -
c /dev/snd/timer 0600 - - - 116:33
d /dev/snd 0755 - - -
c /dev/snd/seq 0600 - - - 116:1

sysv, runlevel 3, локально не логинился.
права на прочие /dev/snd/* как и обычно, 0660 root:audio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143610</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2013-11-05 15:56:25 +0400</bug_when>
    <thetext>У меня заработало нормально, после монтирования с -o bind  /var/run на /run.
Попробуйте.
Надо окончательно решить монтирование /var/run для SysV.
Да и сами программы привести к единому требованию (либо /var/run, либо /run)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143612</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2013-11-05 16:14:12 +0400</bug_when>
    <thetext>так, извиняюсь, дело не только в этом.
пропадает /run/tmpfiles.d/kmod.conf и права нормальные.
пока разбираюсь.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143618</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2013-11-05 19:14:51 +0400</bug_when>
    <thetext>и все же, если добиться правильного монтирования /var/run в /run - то все начинает работать(права выставляются).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143641</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2013-11-06 14:04:22 +0400</bug_when>
    <thetext>нашел виновника.
исправьте в /etc/rc.d/scripts/cleanup
systemd-tmpfiles --create
на
systemd-tmpfiles --create --remove  --exclude-prefix=/dev</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143644</commentid>
    <comment_count>8</comment_count>
    <who name="Sergey Bolshakov">sbolshakov</who>
    <bug_when>2013-11-06 14:56:30 +0400</bug_when>
    <thetext>да, помогло.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143651</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2013-11-06 15:25:35 +0400</bug_when>
    <thetext>(В ответ на комментарий №7)
&gt; нашел виновника.
&gt; исправьте в /etc/rc.d/scripts/cleanup
&gt; systemd-tmpfiles --create
&gt; на
&gt; systemd-tmpfiles --create --remove  --exclude-prefix=/dev

Прошу исправить.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143653</commentid>
    <comment_count>10</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2013-11-06 15:41:30 +0400</bug_when>
    <thetext>А теперь мне объясните. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143654</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2013-11-06 15:54:20 +0400</bug_when>
    <thetext>(В ответ на комментарий №10)
&gt; А теперь мне объясните. :)

Из /etc/init.d/udevd вызывается только создание устройств(фильтр --prefix=/dev)
/sbin/systemd-tmpfiles --prefix=/dev --create
применяются правила udev(права, группы и т.п.)

А потом вызывается
systemd-tmpfiles --create
из /etc/rc.d/scripts/cleanup и затирает все права,группы.

Поэтому в /etc/rc.d/scripts/cleanup при вызове systemd-tmpfiles надо исключить повторное создание устройст, а создавать только нужное в /var/run и т.п. для этого используется фильтр --exclude-prefix=/dev
systemd-tmpfiles --create --remove  --exclude-prefix=/dev</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143655</commentid>
    <comment_count>12</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2013-11-06 15:59:48 +0400</bug_when>
    <thetext>А почему --remove?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143656</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2013-11-06 16:06:19 +0400</bug_when>
    <thetext>(В ответ на комментарий №12)
&gt; А почему --remove?

по аналогии с апстримными юнит-файлами.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143657</commentid>
    <comment_count>14</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2013-11-06 16:06:42 +0400</bug_when>
    <thetext>и еще, не совсем по баге, но тоже имеет отношение.
Надо для sysV окончательно сделать /var/run и /run идентичными (симлинк или
mount --bind) (/var/lock и /run/lock тоже).
А то наблюдается бардак, /run присутствует уже давно, и часть ПО использует
/run, а большинство /var/run. С этим надо окончательно покончить.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143900</commentid>
    <comment_count>15</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2013-11-24 01:17:28 +0400</bug_when>
    <thetext>startup-0.9.9.2-alt1 -&gt; sisyphus:

* Wed Nov 06 2013 Dmitry V. Levin &lt;ldv@altlinux&gt; 0.9.9.2-alt1
- scripts/cleanup: pass --remove --exclude-prefix=/dev
  to systemd-tmpfiles (closes: #29537).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145766</commentid>
    <comment_count>16</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2014-03-20 16:12:32 +0400</bug_when>
    <thetext>Дмитрий, для tmpfiles начиная с v209 был добавлен новый параметр

------
If the exclamation mark is used, this line is only safe of execute during boot, and can break a running system. Lines without the exclamation mark are presumed to be safe to execute at any time, e.g. on package upgrades.  systemd-tmpfiles will execute line with an exclamation mark only if option --boot is given.

       For example:

           # Make sure these are created by default so that nobody else can
           d /tmp/.X11-unix 1777 root root 10d

           # Unlink the X11 lock files
           r! /tmp/.X[0-9]*-lock

The second line in contrast to the first one would break a running system, and will only be executed with --boot.
-----------

прошу обновить и добавить параметр --boot.
Должно выглядеть так:
systemd-tmpfiles --create --remove --boot --exclude-prefix=/dev</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145768</commentid>
    <comment_count>17</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2014-03-20 18:20:42 +0400</bug_when>
    <thetext>(In reply to comment #16)
&gt; Дмитрий, для tmpfiles начиная с v209 был добавлен новый параметр

Тогда придется ставить зависимость на &gt;= 209?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145769</commentid>
    <comment_count>18</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2014-03-20 18:24:51 +0400</bug_when>
    <thetext>да, предыдущие версии не поддерживали &quot;!&quot; в tmpfiles и не было параметра --boot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145792</commentid>
    <comment_count>19</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2014-03-24 02:46:45 +0400</bug_when>
    <thetext>startup-0.9.9.5-alt1 -&gt; sisyphus:

* Sun Mar 23 2014 Dmitry V. Levin &lt;ldv@altlinux&gt; 0.9.9.5-alt1
- scripts/cleanup: pass --boot to systemd-tmpfiles --remove --create
  (once more closes: #29537)</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>