Bug 10097

Summary: "urpmi --install-src" requires pre-installation of building dependencies
Product: [ROSA-based products] ROSA Fresh Reporter: ilfat <i.gaptrakhmanov>
Component: Preinstalled software in the ISOAssignee: ROSA Linux Bugs <bugs>
Status: CONFIRMED --- QA Contact: ROSA Linux Bugs <bugs>
Severity: normal    
Priority: Normal CC: survolog
Version: All   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Platform: --- ROSA Vulnerability identifier:
RPM Package: ISO-related:
Bad POT generating: Upstream:

Description ilfat 2019-08-30 15:56:12 MSK
При установке пакетов с исходниками, утилита urpmi требует предварительно установить все сборочные зависимости. Я не нашел способа от них отказатсья. Мне, например, не нужны зависимости в системе для сборки пакета с помощью mock-urpm, как не нужны для сборки в контейнере, а также для ознакомления со спек файлом. Тем более сборочные зависимости можно установить непосредственно перед сборкой одной командой: urpmi --buildrequires <путь к спек файлу или src.rpm>
Comment 1 Grigorev Andrey 2019-08-30 20:19:36 MSK
sudo rpm -i --nodeps 'blabla.src.rpm'
?
Если не сработает, то тоже не нашёл.
А для чего их ещё ставить кроме как для подтягивания сборочных зависимостей в систему?

Для сборки через abf-клиент есть команда
abf get -b rosa2016.1 blabla (или import/blabla)

Для сборки через mock-urpm достаточно
mock-urpm blabla.src.rpm
Либо распаковать архиватором и
mock-urpm -v --buildsrpm --spec=спекфайл --source=каталог_с_тарболом
для получения src.rpm, потом mock-urpm blabla.src.rpm
Comment 2 ilfat 2019-08-30 21:20:15 MSK
(In reply to Grigorev Andrey from comment #1)
> sudo rpm -i --nodeps 'blabla.src.rpm'
> ?
> Если не сработает, то тоже не нашёл.
Должно сработать. rpm умеет такое. Но надо же сначала скачать этот src.rpm.
urpm-downloader может, но как оказалось не из всех репозиториев.


> А для чего их ещё ставить кроме как для подтягивания сборочных зависимостей
> в систему?
Для подтягивания сборочных зависимостей есть команда urpmi --buildrequires.
Лично мне хотя бы для ознакомления со спек файлом в образовтельных целях.

> Для сборки через abf-клиент есть команда
> abf get -b rosa2016.1 blabla (или import/blabla)
Не знал о таком. Спасибо гляну.
 
> Для сборки через mock-urpm достаточно
> mock-urpm blabla.src.rpm
А blabla.src.rpm он автоматом скачает? Ему же вроде локальный src.rpm нужно подсовывать. Даже если сам скачает, то сразу его собирать смысла никакого не вижу. Тогда можно просто взять пакет в репах. А вот если бы urpmi --install-src без вопросов ставил src.rpm как положено в домашнюю директорию пользователя в дерево папки rpmbuild, где ты мог бы изучить спек, внести какие-то изменения, собрать заново из этого src.rpm и отдать моку, то это был бы совсем другой разговор.

> Либо распаковать архиватором и
> mock-urpm -v --buildsrpm --spec=спекфайл --source=каталог_с_тарболом
> для получения src.rpm, потом mock-urpm blabla.src.rpm
Тоже спасибо, не знал. Но мне rpmbuild -bs SPECS/blabla.spec проще
Comment 3 Grigorev Andrey 2019-08-31 10:15:20 MSK
> Лично мне хотя бы для ознакомления со спек файлом в образовтельных целях.
Не очень новый вариант сборника спеков, но довольно актуальный, так как нового появилось не слишком много: https://vk.com/rpmbuild?w=wall-149415218_2461
А вот шаблоны: http://wiki.rosalab.ru/en/index.php/Template_Spec_Files
Comment 4 ilfat 2019-08-31 10:49:25 MSK
(In reply to Grigorev Andrey from comment #3)

> https://vk.com/rpmbuild?w=wall-149415218_2461
За это спасибо. От 7 млн. строк даже vim слегка призадумался.

> А вот шаблоны: http://wiki.rosalab.ru/en/index.php/Template_Spec_Files
Да, недавно узнал об этой страничке. Как раз переделываю спеки под этот стиль.