Bug 29444 - удалите поддержку /lib/udev/devices
Summary: удалите поддержку /lib/udev/devices
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: fuse (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Evgeny Sinelnikov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks: 31490
  Show dependency tree
 
Reported: 2013-10-09 16:22 MSK by Alexey Shabalin
Modified: 2015-11-15 00:33 MSK (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey Shabalin 2013-10-09 16:22:52 MSK
/lib/udev/devices уже давно никто не обрабатывает(начиная с udev-204-alt2), в скрипте /etc/init.d/udevd вызывается systemd-tmpfiles.

Т.е. из спека можно убрать 
mkdir -p %buildroot/lib/udev/devices
touch %buildroot/lib/udev/devices/{f,c}use
и
%attr(0660,root,fuse) %dev(c,10,229) /lib/udev/devices/fuse
%attr(0660,root,cuse) %dev(c,10,59) /lib/udev/devices/cuse

Если надо создавать эти устройства - создайте tmpfiles.

Но имейте ввиду, что начиная с kmod-14 устройства в /dev/ создаются на основе
/lib/modules/%kernel%/modules.devname,
который содержит описание /dev/fuse:
fuse fuse c10:229
Почему там нет описания cuse - не знаю.
Т.е. для /dev/fuse не нужен tmpfiles.
Comment 1 Denis Smirnov 2013-10-10 15:17:12 MSK
А с cuse что делать? Приведете соответствующий tmpfiles?

Кстати, похоже из-за этого изменения сейчас игнорируются правила в /lib/udev, и на /dev/fuse, как и на /dev/snd/timer выставляются неверные права (доступ для группы не дается).

Кстати, если уж /lib/udev/devices вообще не обрабатывается, надо бы наших роботов научить с такими пакетами бороться.
Comment 2 Alexey Shabalin 2013-10-10 15:53:27 MSK
(В ответ на комментарий №1)
> А с cuse что делать? Приведете соответствующий tmpfiles?
В идеале бы, разобраться почему его нет в /lib/modules/%kernel%/modules.devname.
Как временное решение - вот /lib/tmpfiles.d/cuse.conf:
c /dev/cuse 0660 root cuse - 10:59

> Кстати, похоже из-за этого изменения сейчас игнорируются правила в /lib/udev, и
> на /dev/fuse, как и на /dev/snd/timer выставляются неверные права (доступ для
> группы не дается).
не надо все валить в одну кучу(типа не несите чушь), никто в /lib/udev ничего не игнорирует.
 
> Кстати, если уж /lib/udev/devices вообще не обрабатывается, надо бы наших
> роботов научить с такими пакетами бороться.

Таких пакетов немного - 4 штуки, баги развешаны.
Comment 3 Repository Robot 2013-10-10 16:32:29 MSK
fuse-2.9.3-alt2 -> sisyphus:

* Thu Oct 10 2013 Denis Smirnov <mithraen@altlinux> 2.9.3-alt2
- not use /lib/udev/devices (ALT#29444)
Comment 4 Michael Shigorin 2014-01-29 15:20:18 MSK
С systemd-utils-208-alt4 и fuse-2.9.3-alt2 при загрузке наблюдаю:

Two or more conflicting lines for /dev/cuse configured, ignoring.

---
c /dev/cuse 0660 root cuse - 10:59
--- /lib/tmpfiles.d/cuse.conf

---
c /dev/cuse 0600 - - - 10:203
--- /run/tmpfiles.d/kmod.conf

Чем будут определяться права, если убрать cuse.conf из пакета fuse?
0600 не согласуется с изменениями, сделанными в fuse-2.8.7-alt4.
Comment 5 Alexey Shabalin 2014-01-29 16:42:03 MSK
(В ответ на комментарий №4)
> С systemd-utils-208-alt4 и fuse-2.9.3-alt2 при загрузке наблюдаю:
> 
> Two or more conflicting lines for /dev/cuse configured, ignoring.
> 
> ---
> c /dev/cuse 0660 root cuse - 10:59
> --- /lib/tmpfiles.d/cuse.conf
> 
> ---
> c /dev/cuse 0600 - - - 10:203
> --- /run/tmpfiles.d/kmod.conf
> 
> Чем будут определяться права, если убрать cuse.conf из пакета fuse?
> 0600 не согласуется с изменениями, сделанными в fuse-2.8.7-alt4.

/lib/tmpfiles.d/cuse.conf надо убирать, если в /run/tmpfiles.d/kmod.conf присутствует cuse (у меня на x86_64 его почему-то нет, поэтому я и сомневался ранее. может у меня нет по другим причинам)

Для определения прав доступа нужно в udev rules что-то подобное:

KERNEL=="сuse", MODE="0666", OPTIONS+="static_node=сuse"
Comment 6 led 2014-01-31 04:29:23 MSK
(В ответ на комментарий №5)
> (В ответ на комментарий №4)
> > С systemd-utils-208-alt4 и fuse-2.9.3-alt2 при загрузке наблюдаю:
> > 
> > Two or more conflicting lines for /dev/cuse configured, ignoring.
> > 
> > ---
> > c /dev/cuse 0660 root cuse - 10:59
> > --- /lib/tmpfiles.d/cuse.conf
> > 
> > ---
> > c /dev/cuse 0600 - - - 10:203
> > --- /run/tmpfiles.d/kmod.conf
> > 
> > Чем будут определяться права, если убрать cuse.conf из пакета fuse?
> > 0600 не согласуется с изменениями, сделанными в fuse-2.8.7-alt4.
> 
> /lib/tmpfiles.d/cuse.conf надо убирать, если в /run/tmpfiles.d/kmod.conf
> присутствует cuse (у меня на x86_64 его почему-то нет, поэтому я и сомневался
> ранее. может у меня нет по другим причинам)
> 
> Для определения прав доступа нужно в udev rules что-то подобное:
> 
> KERNEL=="сuse", MODE="0666", OPTIONS+="static_node=сuse"

Нельзя так делать. У /dev/cuse minor number - динамический (в отличие от /dev/fuse, у которого minor number статический - 229).
Почему так сделано - не знаю. Я себе сделал в ядре для cuse статический minor number (230 - идёт после fuse'овского 229 и свободен) - в таком варианте всё работает, ни с чем не конфликтует, модуль cuse.ko загружается ondemand.
Comment 7 Michael Shigorin 2014-01-31 17:10:38 MSK
Покамест поступил по-страусиному: не зная живых пользователей cuse, удалил конфиг до выяснения.
Comment 8 Denis Smirnov 2014-02-03 09:04:07 MSK
Вот не надо так делать -- живой пользователь cuse это ossp как раз.
Comment 9 led 2014-02-03 18:05:03 MSK
(В ответ на комментарий №8)
> Вот не надо так делать -- живой пользователь cuse это ossp как раз.

Расшифруйте, пожалуйста, чем вы возмущены.
Comment 10 Michael Shigorin 2014-02-03 20:23:04 MSK
(В ответ на комментарий №8)
> Вот не надо так делать -- живой пользователь cuse это ossp как раз.
Тогда сделай ему права нужного вида :)
Comment 11 Denis Smirnov 2014-02-06 06:49:15 MSK
Проверил, я был не прав. Проверил новый пакет -- ossp с ним прекрасно работает. Спасибо.