Bug 35415 - переложить /lib/udev/rules.d/70-uaccess.rules в udev
Summary: переложить /lib/udev/rules.d/70-uaccess.rules в udev
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: make-initrd-plymouth (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Alexey Gladkov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks: 33000
  Show dependency tree
 
Reported: 2018-09-19 13:26 MSK by Michael Shigorin
Modified: 2018-10-16 19:04 MSK (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Shigorin 2018-09-19 13:26:52 MSK
Просьба по возможности переложить /lib/udev/rules.d/70-uaccess.rules в udev -- напоролись на сегодняшних регулярках с make-initrd 2.2.0-alt1 на такое:

initrd-cp: error: /lib/udev/rules.d/70-uaccess.rules: No such file or directory

2 cas: аналогично бы и в p8, чисто на всякий.
Comment 1 Michael Shigorin 2018-09-24 20:35:05 MSK
shaba@ говорит, что uaccess работает при условии запущенного logind, т.е. сейчас перекладывать смысла нет.

2 rider: в make-initrd 2.2.0 сломался твой коммит b666fe985c8e10d63affbd36f6139385a3ed8f39 (2015)

2 legion: есть ли в m-i возможность указания необязательных путей?
Похоже, что /lib/udev/rules.d/70-uaccess.rules, /lib/udev/rules.d/71-seat.rules и /lib/udev/rules.d/73-seat-late.rules как минимум необязательны, а то и не нужны в initrd (где logind нет).
Comment 2 Alexey Gladkov 2018-09-24 20:57:01 MSK
(В ответ на комментарий №1)
> 2 legion: есть ли в m-i возможность указания необязательных путей?
> Похоже, что /lib/udev/rules.d/70-uaccess.rules, /lib/udev/rules.d/71-seat.rules
> и /lib/udev/rules.d/73-seat-late.rules как минимум необязательны, а то и не
> нужны в initrd (где logind нет).

для совсем опциональных файлов можно делать так:

https://github.com/legionus/make-initrd/blob/master/mk/initfiles.mk#L13-L20

если есть какие-то явные условия, то лучше делать так:

https://github.com/legionus/make-initrd/blob/master/features/raid/config.mk
Comment 3 Michael Shigorin 2018-09-25 17:54:44 MSK
Сделал так поверх 2.2.2-alt1 (bug 34966 читал):

--- a/features/plymouth/rules.mk
+++ b/features/plymouth/rules.mk
@@ -2,7 +2,7 @@ MODULES_ADD += $(shell $(PLYMOUTH_MODULES))
 
 plymouth: create
        @$(MSG) "Adding plymouth support ..."
-       @put-file "$(ROOTDIR)" $(PLYMOUTH_FILES) $(PLYMOUTH_RULES)
+       @put-file "$(ROOTDIR)" $(PLYMOUTH_FILES) $(wildcard $(PLYMOUTH_RULES))

Образ собрался, но plymouth при загрузке не стартует.
Comment 4 Pavel Vainerman 2018-09-25 17:59:12 MSK
> Образ собрался, но plymouth при загрузке не стартует.
А недавнее тут читали? 
https://bugzilla.altlinux.org/35415
Comment 5 Michael Shigorin 2018-09-25 18:17:31 MSK
Добавил в mkimage-profiles такое -- тоже ничего не изменило:

+       @$(call add,STAGE1_PACKAGES,systemd)

Это чтоб те самые файлики $(PLYMOUTH_RULES) долетели -- но их в full.cz
_не_ наблюдаю: https://yadi.sk/d/zXb3K4k3WEoiow


(В ответ на комментарий №4)
> > Образ собрался, но plymouth при загрузке не стартует.
> А недавнее тут читали?  https://bugzilla.altlinux.org/35415
В смысле #34966? -- да, следил.
Comment 6 Pavel Vainerman 2018-09-25 18:30:12 MSK
> > А недавнее тут читали?  https://bugzilla.altlinux.org/35415
> В смысле #34966? -- да, следил.

  Да он самый.. Это я промахнулся.  Тогда ok.
Comment 7 Alexey Gladkov 2018-09-26 10:55:15 MSK
(В ответ на комментарий №1)
> shaba@ говорит, что uaccess работает при условии запущенного logind, т.е.
> сейчас перекладывать смысла нет.

$ initrd-ls initramfs-4.17.9-200.fc28.x86_64.img |grep -e uaccess -e seat
2 -rw-r--r--  1 0 0    2671 May 11 12:26:48 2018 usr/lib/udev/rules.d/70-uaccess.rules
2 -rw-r--r--  1 0 0    2758 Jul 18 13:39:09 2018 usr/lib/udev/rules.d/71-seat.rules
2 -rw-r--r--  1 0 0     636 Jul 18 13:39:12 2018 usr/lib/udev/rules.d/73-seat-late.rules

В федоре правила лежат и logind в initrd нет. Кроме того:

$ rpmquery -f /usr/lib/udev/rules.d/{70-uaccess.rules,71-seat.rules}
systemd-udev-238-9.git0e0aa59.fc28.x86_64
systemd-udev-238-9.git0e0aa59.fc28.x86_64
Comment 8 Антон Мидюков 2018-09-27 15:12:06 MSK
У нас сейчас все SysV лайвы при установке не могут создать make-initrd. Помогает удаление make-initrd-plymouth. Но его не включить в сборку мы не можем, так как его вытягивает livecd-install. Так что давайте решим чего-нибудь до следующего вторника.
Comment 9 Alexey Gladkov 2018-10-01 21:52:10 MSK
ну так что мне ставить зависимость на новое место обитания правил или ставить файловую зависимость на них ?
Comment 10 Michael Shigorin 2018-10-01 23:15:17 MSK
(В ответ на комментарий №8)
> У нас сейчас все SysV лайвы при установке не могут создать make-initrd.
> Помогает удаление make-initrd-plymouth. Но его не включить в сборку мы не
> можем, так как его вытягивает livecd-install.
Убрал эту зависимость, ей там в любом разе было не место: bug 35461.

(В ответ на комментарий №9)
> ну так что мне ставить зависимость на новое место обитания правил или ставить
> файловую зависимость на них ?
Пока неясно.  Но хоть бы ласты-то не склеивать без них _всему_ make-initrd...
Comment 11 Alexey Gladkov 2018-10-02 01:55:11 MSK
> (В ответ на комментарий №9)
> > ну так что мне ставить зависимость на новое место обитания правил или ставить
> > файловую зависимость на них ?
> Пока неясно.  Но хоть бы ласты-то не склеивать без них _всему_ make-initrd...

Я не понимаю такого пожелания. Ты хочешь, чтобы при отсутствии какого-то _необходимого_ файла сборка завершилась успешно ?! это сделать конечно можно, но, наверно, ты же захочешь, чтобы она ещё и рабочая была.

Если ты требуешь в конфиге фичу plymouth и для её добавления нет необходимых файлов, то сборка очевидно должна обломиться. Ты же не ожидаешь, что configure успешно завершится при указании --enable-foo и отсутствии foo.

Для опциональности есть автоугадав (для некоторых фичей). Для plymouth его нет.

Также можно говорить о неких optional-features, которые если не могут быть добавлены, то просто отключаются. НО такой категории нет (пока?). Ты либо указываешь явно что ты хочешь видеть в образе и обламываешься, если этого всего нет, либо автоугадав накидывает фичи и получаешь, то что угадалось.
Comment 13 Антон Мидюков 2018-10-05 09:33:34 MSK
(В ответ на комментарий №12)
> http://git.altlinux.org/people/legion/packages/make-initrd.git?p=make-initrd.git;a=commitdiff;h=242ab73eb5061aa076bd4d7aa7f492a84e0893d1
> 
> Можете попробовать ?

Попробовал. Сделал для m-p: Revert "3rd stopgap: m-i/plymouth"

Образ cinnamon собрался, при этом plymouth выключен. Система загрузилась без plymouth. В конфиге лайва /etc/initrd.mk отсутствует строчка:

FEATURES += plymouth

Т.е. для лайва make-initrd собрался без plymouth.

Установил. На установленной системе. В конфиге /etc/initrd.mk присутствует строчка:

FEATURES += plymouth

Т.е. make-initrd для установленной системы должен был собраться с plymouth. Но при загрузке в virtualbox сплеша я не наблюдаю. Но есть заставка в grub2.
Comment 14 Антон Мидюков 2018-10-05 09:58:13 MSK
Проверил на реальном железе. При загрузке с лайва сплэш появляется сразу, как только отработает загрузка initrd. Так что этот коммит проблему фиксит.
Comment 15 Alexey Gladkov 2018-10-05 10:57:21 MSK
(В ответ на комментарий №14)
> Проверил на реальном железе. При загрузке с лайва сплэш появляется сразу, как
> только отработает загрузка initrd. Так что этот коммит проблему фиксит.

Окажите мне услугу, проверьте на реальном железе make-initrd _без_ этого коммита т.е. чистый 2.2.3-alt1. Просто я не могу поверить, что этот коммит фиксит проблему.
Comment 16 Антон Мидюков 2018-10-05 11:00:33 MSK
(В ответ на комментарий №15)
> (В ответ на комментарий №14)
> > Проверил на реальном железе. При загрузке с лайва сплэш появляется сразу, как
> > только отработает загрузка initrd. Так что этот коммит проблему фиксит.
> 
> Окажите мне услугу, проверьте на реальном железе make-initrd _без_ этого
> коммита т.е. чистый 2.2.3-alt1. Просто я не могу поверить, что этот коммит
> фиксит проблему.

С 2.2.3-alt1, если сделать Revert "3rd stopgap: m-i/plymouth", образы не собираются. Что проверять то?
Comment 17 Alexey Gladkov 2018-10-05 12:00:45 MSK
(В ответ на комментарий №16)
> С 2.2.3-alt1, если сделать Revert "3rd stopgap: m-i/plymouth", образы не
> собираются. Что проверять то?

Вот что я хочу проверить:

1. Взять 2.2.3-alt1

2. Удалить из make-initrd/features/plymouth/config.mk 
PLYMOUTH_RULES = /lib/udev/rules.d/70-uaccess.rules \
                /lib/udev/rules.d/71-seat.rules \
                /lib/udev/rules.d/73-seat-late.rules

3. Собрать образ и проверить проявится ли сплэш.
Comment 18 Антон Мидюков 2018-10-05 13:38:22 MSK
(В ответ на комментарий №17)
> (В ответ на комментарий №16)
> > С 2.2.3-alt1, если сделать Revert "3rd stopgap: m-i/plymouth", образы не
> > собираются. Что проверять то?
> 
> Вот что я хочу проверить:
> 
> 1. Взять 2.2.3-alt1
> 
> 2. Удалить из make-initrd/features/plymouth/config.mk 
> PLYMOUTH_RULES = /lib/udev/rules.d/70-uaccess.rules \
>                 /lib/udev/rules.d/71-seat.rules \
>                 /lib/udev/rules.d/73-seat-late.rules
> 
> 3. Собрать образ и проверить проявится ли сплэш.

Сделал, но проверил пока только в virtualbox. Образ собрался, т.е. проблему решает. Сплэш в livecd работает, после установки - нет.
Comment 19 Alexey Gladkov 2018-10-05 13:44:38 MSK
(В ответ на комментарий №18)
> Сделал, но проверил пока только в virtualbox. Образ собрался, т.е. проблему
> решает. Сплэш в livecd работает, после установки - нет.

А с коммитом 242ab73eb5061aa076bd4d7aa7f492a84e0893d1 сплэш есть в livecd и после установки ?
Comment 20 Антон Мидюков 2018-10-05 16:11:45 MSK
(В ответ на комментарий №19)
> (В ответ на комментарий №18)
> > Сделал, но проверил пока только в virtualbox. Образ собрался, т.е. проблему
> > решает. Сплэш в livecd работает, после установки - нет.
> 
> А с коммитом 242ab73eb5061aa076bd4d7aa7f492a84e0893d1 сплэш есть в livecd и
> после установки ?

Сплэша в virtualbox не было видно, как на livecd, так и на установленной. На реальном железе сплэш был в livecd, не устанавливал.
Comment 21 Антон Мидюков 2018-10-06 12:49:16 MSK
Проверил на реальной системе, сплеш работает, как в livecd, так и в установленной системе. Нужно ещё sysV проверить.
Comment 22 Антон Мидюков 2018-10-07 19:13:22 MSK
(В ответ на комментарий №21)
> Проверил на реальной системе, сплеш работает, как в livecd, так и в
> установленной системе. Нужно ещё sysV проверить.

sysV у нас без plymoth идут. Собрал с plymouth, сплеша нет.

Считаю, что надо зарелизить это изменение:

> 2. Удалить из make-initrd/features/plymouth/config.mk 
> PLYMOUTH_RULES = /lib/udev/rules.d/70-uaccess.rules \
>                 /lib/udev/rules.d/71-seat.rules \
>                 /lib/udev/rules.d/73-seat-late.rules

Чтобы во вторник регулярки собрать уже с plymouth.
Comment 23 Антон Мидюков 2018-10-16 19:04:24 MSK
В сегодняшних регулярках, собранных с plymouth, этой проблемы нет. Подтверждаю исправление в версии 2.2.4-alt1
Спасибо.