Bug 43185 - Удалить генерацию perl headers в /var/run/kernel (legacy)
Summary: Удалить генерацию perl headers в /var/run/kernel (legacy)
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: kernel-headers-common (show other bugs)
Version: unstable
Hardware: all Linux
: P5 normal
Assignee: Anton V. Boyarshinov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-07-08 10:37 MSK by Антон Мидюков
Modified: 2022-07-31 21:05 MSK (History)
14 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Антон Мидюков 2022-07-08 10:37:24 MSK
На systemd каталог /var/run либо симлинк на /run, либо в /var/run смонтирован /run. Так что в любом случае каталога /var/run/kernel нет. Необходимо создавать /run/kernel при помощи systemd-tmpfiles из конфига /lib/tmpfiles.d/kernel.conf
Т.е. нужно опакетить такой конфиг.
Но в конфиге надо прописывать именно /run/kernel, а не /var/run/kernel, так как иначе будет ругань при загрузке.
Каталог тем не менее надо в пакете оставить для hasher и систем на sysvinit, где /run и /var/run не одно и тоже.
Comment 1 Vitaly Chikunov 2022-07-08 12:49:14 MSK
[root@fedora-rawhide ~]# ls -l /var/run/kernel
ls: cannot access '/var/run/kernel': No such file or directory

opensuse-tumbleweed:~ # ls -l /var/run/kernel
ls: cannot access '/var/run/kernel': No such file or directory

root@ubuntu-jammy:~# ls -l /var/run/kernel
ls: cannot access '/var/run/kernel': No such file or directory
Comment 2 Антон Мидюков 2022-07-08 12:55:17 MSK
(Ответ для Vitaly Chikunov на комментарий #1)
> [root@fedora-rawhide ~]# ls -l /var/run/kernel
> ls: cannot access '/var/run/kernel': No such file or directory
> 
> opensuse-tumbleweed:~ # ls -l /var/run/kernel
> ls: cannot access '/var/run/kernel': No such file or directory
> 
> root@ubuntu-jammy:~# ls -l /var/run/kernel
> ls: cannot access '/var/run/kernel': No such file or directory

А он вообще нужен этот каталог?
Comment 3 Vitaly Chikunov 2022-07-08 13:27:08 MSK
Выглядит как то что придумано в первом коммите в adjust_kernel_headers
b683c97 Dmitry V. Levin 2003-07-30 13:17 +0000
                        ^^^^
чтоб зачем-то создать в этой дире perl headers (ph) для {autoconf,modversions,version}.h.

Скорее всего это legacy мусор.
Comment 4 Vitaly Chikunov 2022-07-08 15:10:16 MSK
Все даже чуть смешнее так как эти файлы пропадают на systemd так как /var/run -> /run tmpfs.
```
$ rpm -ql kernel-headers-common | grep /var/run/kernel/
/var/run/kernel/_h2ph_pre.ph
/var/run/kernel/autoconf.h
/var/run/kernel/autoconf.ph
/var/run/kernel/modversions.h
/var/run/kernel/modversions.ph
/var/run/kernel/version.h
/var/run/kernel/version.ph
```
Предлагаю уничтожить это legacy.
Comment 5 Dmitry V. Levin 2022-07-08 15:57:31 MSK
(In reply to Vitaly Chikunov from comment #4)
> Все даже чуть смешнее так как эти файлы пропадают на systemd так как
> /var/run -> /run tmpfs.
> ```
> $ rpm -ql kernel-headers-common | grep /var/run/kernel/
> /var/run/kernel/_h2ph_pre.ph
> /var/run/kernel/autoconf.h
> /var/run/kernel/autoconf.ph
> /var/run/kernel/modversions.h
> /var/run/kernel/modversions.ph
> /var/run/kernel/version.h
> /var/run/kernel/version.ph
> ```
> Предлагаю уничтожить это legacy.

Может быть, специалисты по perl в курсе, насколько это ещё актуально?
Comment 6 viy 2022-07-08 16:04:47 MSK
(Ответ для Dmitry V. Levin на комментарий #5)
> > Предлагаю уничтожить это legacy.
> 
> Может быть, специалисты по perl в курсе, насколько это ещё актуально?

Не сталкивался, поддерживаю идею закопать.
Comment 7 Dmitry V. Levin 2022-07-08 16:14:14 MSK
OK, тогда давайте будем считать, что /var/run/kernel больше не актуально, и закопаем.
Comment 8 Vitaly Chikunov 2022-07-09 13:28:04 MSK
Смотрю этот пакет. Там есть поддержка systemd:

```
commit cac8b119541f644caea893fb280bfc8139bb139d
Refs: <1.2.3-alt1>
Author:     Dmitry V. Levin <ldv@altlinux.org>
AuthorDate: Sat May 12 14:14:20 2012 +0000

    1.2.3-alt1

    - Added kheaders.service.
```

Мне кажется, что это (никогда) не работало и можно удалить. Так как Unit не enabled.
Comment 9 Dmitry V. Levin 2022-07-09 14:26:19 MSK
Конечно, удалять так удалять.
Comment 10 Vitaly Chikunov 2022-07-09 14:27:42 MSK
Я вот думал наоборот сделать, чтоб он срабатывал.
Comment 11 Dmitry V. Levin 2022-07-09 15:03:47 MSK
(In reply to Vitaly Chikunov from comment #10)
> Я вот думал наоборот сделать, чтоб он срабатывал.

А этот сервис ещё актуален?
Comment 12 Vitaly Chikunov 2022-07-09 15:04:39 MSK
Откуда мне знать.
Comment 13 Vitaly Chikunov 2022-07-09 15:05:55 MSK
Да и что значит актуален в данном контексте?
Comment 14 Vitaly Chikunov 2022-07-09 15:10:33 MSK
Пользовательский интерфейс adjust_kernel_headers довольно обскурный.
Но сама идея (если я её понял - установить симлинки на правильные хедеры, чтоб юзер мог собирать загруженное под ядро) мне кажется правильной.
Comment 15 Vitaly Chikunov 2022-07-09 15:18:36 MSK
[#303392] TESTED kernel-headers-common.git=1.2.8-alt1

Я сделал systemd preset, который включает kheaders.service. Но, (preset работает так, что) если этот пакет уже был установлен, то он останется disabled. Так что это повлияет только на "новые" системы, где kernel-headers-common не было. Это немного странно.
Comment 16 Vitaly Chikunov 2022-07-09 19:32:48 MSK
(In reply to Dmitry V. Levin from comment #11)
> (In reply to Vitaly Chikunov from comment #10)
> > Я вот думал наоборот сделать, чтоб он срабатывал.
> 
> А этот сервис ещё актуален?

После обсуждения с Глебом я наверное понял, что имелось ввиду - есть ли пользователи. Да есть пара пакетов, которым нужны не generic хедеры.
Comment 17 Repository Robot 2022-07-31 21:05:00 MSK
kernel-headers-common-1.2.8-alt1 -> sisyphus:

 Sat Jul 09 2022 Vitaly Chikunov <vt@altlinux> 1.2.8-alt1
 - Remove support for perl headers (ALT#43185).
 - Enable kheaders.service by default.