LINUX.ORG.RU

SPEC file в RPM перенос файлов в папку с именем версии ядра при установки

 , ,


0

1

Всем добрый день. Собираю rpm пакет для Centos 7, при установке пакет должен взять фаил adcemu.ko из сорсов и положить в (к примеру) /lib/modules/3.10.0-693.el7.x86_64/extra/adcemu.ko . Вопрос, как положить файлик в ту же папку extra с другой версией ядра.

в разделе %install у меня

install -m 0755 -d $RPM_BUILD_ROOT/lib/modules/3.10.0-693.el7.x86_64/extra/

install -m 0644 adcemu.ko $RPM_BUILD_ROOT/lib/modules/3.10.0-693.el7.x86_64/extra/

и тут я действительно могу имя папки заменить «*» или написать $(uname -r) -но тогда берётся версия ядра машины на которой собирают пакет. а надо на устанавливаемой.

Но даже если игнорировать предыдущую проблему, то как быть с разделом %files

/lib/modules/3.10.0-693.el7.x86_64/extra/adcemu.ko

где такой фокус уже не пройдёт. тут как я понимаю нужно писать прям адрес адрес.

подскажите куда копать пожалуйста.



Последнее исправление: De_Archangel (всего исправлений: 1)

и тут я действительно могу имя папки заменить «*» или написать $(uname -r) -но тогда берётся версия ядра машины на которой собирают пакет. а надо на устанавливаемой.

Короткий ответ: ты не должен этого хотеть.

Содержимое rpm-пакета не зависит от target-системы. Это его основное свойство. Если ты хочешь какую-то кастомизацию под систему после установки, то ты можешь запустить произвольный скрипт в post-inst. Он выполняется после установки пакета уже на target-системе.

Но главный вопрос не в этом.

Как в твоем схеме будет обновляться ядро? Ответ - никак.

Еесли модуль действительно не версионируется вместе с ядром, что вообще-то странно, логичнее положить его в отдельный каталог наподобие /lib/modules/extra, и заодно так же в рамках пакета положить файл /usr/lib/depmod.d/adcemu.conf в котором прописать что поиск надо делать по этой доп директории тоже.

Никаких грязных хаков и при обновлении новое ядро также увидит этот модуль.

alpha ★★★★★
()
Ответ на: комментарий от alpha

Понял. Да действительно обновление ядра при таком раскладе влечёт за собой выход из строя модуля. Большое спасибо за ответ. Буду думать)

De_Archangel
() автор топика
Ответ на: комментарий от De_Archangel

Можно ещё подумать в сторону dkms.

imul ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.