Hasher/vm-run: различия между версиями
< Hasher
Vt (обсуждение | вклад) Нет описания правки |
Vt (обсуждение | вклад) (+ ссылка) |
||
Строка 1: | Строка 1: | ||
Иногда для запуска тестов в секции %check требуются рутовые привилегии, чтоб обойти это ограничение [https://lists.altlinux.org/pipermail/devel/2019-October/208635.htmlесть пакет <tt>rpm-build-vm</tt> (анонс)], который позволяет запустить произвольную команду под <tt>qemu</tt> с псевдо-рутовыми привилегиями. Он работает по аналогии с <tt>virtme</tt>, <tt>eudyptula-boot</tt>, <tt>vido</tt> и т.д. — бутится Linux ядро где корень файловой системы предоставлен внутрь <tt>qemu</tt> по протоколу 9p. | Иногда для запуска тестов в секции %check требуются рутовые привилегии, чтоб обойти это ограничение [https://lists.altlinux.org/pipermail/devel/2019-October/208635.htmlесть пакет <tt>rpm-build-vm</tt> (анонс)], который позволяет запустить произвольную команду под <tt>qemu</tt> с псевдо-рутовыми привилегиями. Он работает по аналогии с [https://lwn.net/Articles/584620/ <tt>virtme</tt>], <tt>eudyptula-boot</tt>, <tt>vido</tt> и т.д. — бутится Linux ядро где корень файловой системы предоставлен внутрь <tt>qemu</tt> по протоколу 9p. | ||
Пример, что нужно добавить в spec для обычного userspace пакета (не ядра и не модуля ядра), если пакету нужен запуск <tt>make check</tt> под рутом: | Пример, что нужно добавить в spec для обычного userspace пакета (не ядра и не модуля ядра), если пакету нужен запуск <tt>make check</tt> под рутом: |
Версия от 00:21, 3 апреля 2021
Иногда для запуска тестов в секции %check требуются рутовые привилегии, чтоб обойти это ограничение пакет rpm-build-vm (анонс), который позволяет запустить произвольную команду под qemu с псевдо-рутовыми привилегиями. Он работает по аналогии с virtme, eudyptula-boot, vido и т.д. — бутится Linux ядро где корень файловой системы предоставлен внутрь qemu по протоколу 9p.
Пример, что нужно добавить в spec для обычного userspace пакета (не ядра и не модуля ядра), если пакету нужен запуск make check под рутом:
BuildRequires: rpm-build-vm ... %check vm-run make check
Установка rpm-build-vm автоматически доставляет ядро un-def в hasher, что может быть излишне при сборке ядра или модуля, поэтому есть пакет rpm-build-vm-run, который не имеет зависимостей к ядру. Пример, для ядра или модуля ядра:
BuildRequires: rpm-build-vm-run ... %check vm-run "команды запуска тестов..."