packaging: запуск кода во время установки (НО не во время сборки в OBS!)

openSUSE, SUSE Linux Enterprise

Модератор: Модераторы разделов

Аватара пользователя
Stauffenberg
Сообщения: 2041
Статус: ☮ PEACE ☮
ОС: открытая и свободная

packaging: запуск кода во время установки

Сообщение Stauffenberg »

Всем привет!

Что-то я совсем запутался, поэтому решил спросить тут по spec. Мне нужно запустить некоторый код во время установки пакета, НО он не должен быть запущен OBS'ом во время сборки (код подразумевает обращение к устройствам, которые во время установки будут подключены к машине, а также кое-что надо будет вытянуть из сети через curl).

Сначала добавил код в %post. Его OBS все равно запускает во время сборки...
Потом добавил
%if 0
code
%endif

после этого код не выполняется ни во время сборки, ни во время установки.

В последнее время занимался deb пакетами (там это делается через postinst-скрипт, и проблем никаких нет), поэтому буду признателен, если кто-то мне сможет напомнить как это сделать в rpm при помощи OBS.
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21279
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: packaging: запуск кода во время установки

Сообщение Bizdelnick »

Stauffenberg писал(а):
19.01.2013 19:22
добавил код в %post. Его OBS все равно запускает во время сборки

Можно посмотреть спек и лог? Очень странно сие.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2041
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: packaging: запуск кода во время установки

Сообщение Stauffenberg »

Bizdelnick писал(а):
19.01.2013 19:32
Stauffenberg писал(а):
19.01.2013 19:22
добавил код в %post. Его OBS все равно запускает во время сборки

Можно посмотреть спек и лог? Очень странно сие.


Проект, над которым я работаю, в моем собственном OBS, но воспроизвести такую же ситуацию я могу и на тестовом прокте: лог и spec.

Echo строка в %post.
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21279
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: packaging: запуск кода во время установки

Сообщение Bizdelnick »

Код: Выделить всё

[   31s] ... running 00-check-install-rpms
[   31s] ... installing all built rpms
[   31s] Preparing packages for installation...
[   31s] fpns-0.0.1-42.1
[   31s] you can't see this string in OBS build log

Код: Выделить всё

[   31s] ... running 06-check-installtest
[   31s] ... testing for pre/postinstall scripts that are not idempotent
[   32s] you can't see this string in OBS build log

Ну так код выполняется не во время сборки, а во время тестовой установки пакета. Всё правильно, в общем-то.
Можно тупо отключить все проверки, можно покопаться в макросах и найти способ отключить только те проверки, при которых вызывается post-скрипт.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2041
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: packaging: запуск кода во время установки

Сообщение Stauffenberg »

Bizdelnick писал(а):
19.01.2013 20:42
Можно тупо отключить все проверки

Похоже, что это то, что мне надо. Спасибо ;)
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали: