LINUX.ORG.RU

Написать простой rpm как триггер

 , , , ,


0

1

Хочу написать скрипт, который при каждой обнове shim будет подписывать его ключами для secure boot, и похоже, spec-файл со строкой %triggerin может подойти. Есть множество источников с инструкциями для написания spec-файла, но можно ли ещё проще - без всяких сурсов?

Ответ на: комментарий от mky

Фигасе, работает. Написал по образцу в ссылке выше, голый rpm с одним spec файлом, делает то что надо! Дополню, пожалуй, статью в вики opensuse, чтобы люди пользовались.

Спасибо за подсказку!

xt1zer ()
Ответ на: комментарий от mky

Есть только две проблемы. Я так понимаю, в %triggerin я могу указать только один пакет за раз? Тогда скрипт придётся дублировать. Ещё если есть несколько пакетов, которые обновляют shim (за счёт своих скриптов в собственных spec файлах), то после апгрейда дистрибутива он заменится более, чем один раз за весь процесс.

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

Касательно triggerin, написано: http://ftp.rpm.org/api/4.4.2.2/triggers.html , что можно указывать несколько пакетов через запятую. Но не проверял и вобще отказался от rpm-дистрибутивов.

то после апгрейда дистрибутива он заменится более, чем один раз за весь процесс.

Ну если разом обновляется куча пакетов, то да. И будет бесполезная работа по подписыванию этих «промежуточных» shim. Но на уровне triggerin не узнать сколько пакетов запланировано к обновлению в данный момент.

А если ворчать, то в целом, все эти скрипты в пакетах (что post, что triggerin) зло. Они лишают пакетную систему простоты. Их некорректное выполнение ведёт к плохо отлавливаемым глюкам...

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

Упустил, простите.

А к замечанию, я всё понимаю, но что же ещё сделать, если не все менеджеры такие как pacman, который поддерживает hooks? А мой uefi почему-то не принимает ключи, чуть какой вставлю - комп запускается в чёрный экран. Несколько лет возвращался к этой теме, ничего не могу исправить. Может быть, биос на xps 8700 такой косячный, так что мне проще остаётся пользоваться подписанными лоадерами. А ещё похоже, что в shim для opensuse нет ключей майков, так что я ещё пишу этот вонючий скрипт.

xt1zer ()