Страница 1 из 1

Настройка и сборка mock-urpm(Для новичков)

Добавлено: 30 янв 2016, 22:26
Nemial
А как собственно собирать с помощью mock-urpm, а то от многообразия опций у меня разбегаются глаза.
И хотелось бы знать тонкости данной программы, которые могут помочь в будущем.

Re: Настройка и сборка mock-urpm(Для новичков)

Добавлено: 30 янв 2016, 23:07
Галахов Роман
Такая тема уже есть http://forum.rosalab.ru/viewtopic.php?f ... hilit=mock

Re: Настройка и сборка mock-urpm(Для новичков)

Добавлено: 31 янв 2016, 00:06
Nemial
Я б не сказал, что название этой темы совпадает тем, что в той теме.

Re: Настройка и сборка mock-urpm(Для новичков)

Добавлено: 31 янв 2016, 01:45
Xakep
Если "новичок" не осилит то что описано в той теме, то ему не стоит вообще заниматься mock-urpm.
А если осилит, то эта тема не нужна...

Re: Настройка и сборка mock-urpm(Для новичков)

Добавлено: 31 янв 2016, 12:52
VictorR2007
Там не так много опций.
Могу написать, как обычно им пользуюсь я.
Во первых, для создания src.rpm в домашнем каталоге нужен каталог rpmbuild.
В нём мне нужны только папки SOURCES и SRPMS.
Но вообще, если собирать пакеты с помощью команды rpm (опции),
то нужно ещё создать папки RPMS, SPEC и BUILD.
Тогда для создания нужного пакета src.rpm ложу все тарбалы и патчи в папку SOURCES.
Потом в папке со спеком даю команду rpm -bs *.spec.
Это если он один.
Нет нужды указывать его имя.
Готовый src.rpm будет в папке SRPMS.
Теперь о mock-urpm.
Всегда запускаю с ключём -v.
А то будет работать в фоне.
А так видно, как происходит сборка.
Если при сборке выдало ошибку, то после исправления спека и пересоздания src.rpm
запускаю с ключем --no-clean.
Тогда всё будет собираться в ранее созданном окружении.
Например, команда будет выглядеть так

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

mock-urpm -v --no-clean /home/victor/rpmbuild/SRPMS/qarecord-0.5.0-7.1.src.rpm
Немного попозже ещё допишу.

Re: Настройка и сборка mock-urpm(Для новичков)

Добавлено: 31 янв 2016, 13:31
VictorR2007
Теперь о первом запуске.
Даём например команду

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

mock-urpm -v /home/victor/rpmbuild/SRPMS/plasma5-kjots-5.0.0-0.1.src.rpm
При первом запуске выдаст запрос пароля администратора.
Вводим пароль, и поучаем запрос на какую платформу будет производиться сборка.
Так как источники берутся из системных источников,
то стоит заранее позаботиться на на время добавить их в источники программ.
Это, если например на Rosa-i586 вам нужно собрать пакеты для Rosa-x86_64 или
там Rosa-lts, OpenMandriva.
Выбираем нужное из списка и жмём Enter.
Рабочее окружение создаётся в каталоге /var/lib/mock-urpm
Я для удобства доступа добавляю его в точки входа.
Готовые пакеты будут в /var/lib/mock-urpm/Rosa-2014.1-x86_64/result
Ещё один важный каталог, это /var/cache/mock-urpm.
Если нужно добавить в сборочную дополнительные источники,
то нужно их добавить в системные источники,
потом очистить /var/cache/mock-urpm
и запустить пакет на сборку без параметра --no-clean.
При этом будет пересоздана сборочное окружение,
и в /var/cache/mock-urpm будут добавлены новые источники.
Но я не всегда поступаю так.
Иногда просто заменяю путь в файле

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

 /var/lib/mock-urpm/Rosa-2014.1-x86_64/root/etc/urpmi/urpmi.cfg
в необязательной строке, которая не отмечена как ignore
на нужный источник.
Потом даю команду

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

mock-urpm -v --update
Кстати, если выдаётся ошибка на установку пакетов при сборке,
можно установить командой

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

mock-urpm -v --install имя
или

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

mock-urpm -v --install путь к пакету

Re: Настройка и сборка mock-urpm(Для новичков)

Добавлено: 06 фев 2016, 15:05
Nemial
VictorR2007, а у вас было такое что при обновлении mock-urpm --update(то есть его окружения), он ломал базу rpm, причем конкретно, что потом было нельзя обновиться основной системе. Да и стоит ли обновлять окружение или проще очистить окружение и закачать все заново?

Re: Настройка и сборка mock-urpm(Для новичков)

Добавлено: 06 фев 2016, 17:55
VictorR2007
Nemial писал(а):VictorR2007, а у вас было такое что при обновлении mock-urpm --update(то есть его окружения), он ломал базу rpm, причем конкретно, что потом было нельзя обновиться основной системе.
Нет, никогда не ломал.
Но я не пользуюсь стандартным mock-urpm.
У меня подключены локальные репы на внешнем диске.
А стандартный mock-urpm после создания сборочного окружения всё размонтирует, а потом, при подключении реп для
установки необходимых для сборки пакета зависимостей не может подключить локальные репы.
Поэтому сделал себе пакет mock-urpm-1.3.9-37, у которого таких проблем нет.
Можно посмотреть его здесь http://abf-downloads.rosalinux.ru/victo ... osa2014.1/
Да и стоит ли обновлять окружение или проще очистить окружение и закачать все заново?
Не всегда.
Если собирать локально много пакетов, например plasma5, то и без очистки кеша уходит примерно 8-10 часов.
А если очищать, то уйдёт пара суток.

Re: Настройка и сборка mock-urpm(Для новичков)

Добавлено: 06 фев 2016, 19:51
Nemial
VictorR2007. А как можно сделать локальные репы на диск?(может мне тоже будет так проще). И как тогда заставить подключить mock-urpm локальные репозитории?

Re: Настройка и сборка mock-urpm(Для новичков)

Добавлено: 06 фев 2016, 20:17
VictorR2007
Nemial писал(а):VictorR2007. А как можно сделать локальные репы на диск?(может мне тоже будет так проще).
Подключить диск, и создать на нём папку mirror
Потом нажать F3 и в соседней вкладке открыть домашний каталог.
Перетащить туда папку mirror и выбрать из всплывающего списка действий «Создать ссылку».
Далее запустить нужный из приложенных скриптов.
Если нужно, что-бы при синхронизации так-же загружались пакеты src.rpm,
то добавляем ключ --sources

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

sh rosa_mirror_script_x86_64.sh --sources
И как тогда заставить подключить mock-urpm локальные репозитории?
Уже писал выше.
Подключаем эти источники в управлении источниками.
Потом очищаем /var/cache/mock-urpm/
Потом запускаем сборку без параметра --no-clean.
Если запустить с этим параметром, то опять создастся кеш в /var/cache/mock-urpm/
со старыми источниками.
Если для сборки нужно сначала собрать необходимые зависимости,
то собираем нужный пакет, кладём в нужную папку и запускаем команду genhdlist2.
Например

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

genhdlist2 /home/victor/mirror/office/
Потом так-же подключаем его в источнике программ и всё повторяем.
Можно это сделать сразу, положив туда любой пакет из реп и подключить в источниках.
Потом только добавляем туда новые пакеты и заново запускаем genhdlist2 /home/victor/mirror/office/
а потом mock-urpm --update.
Тогда можно быстро продолжить сборку с параметром --no-clean.
Надеюсь что пишу понятно.
Если что, переспрашивайте.

Re: Настройка и сборка mock-urpm(Для новичков)

Добавлено: 16 янв 2017, 18:12
Nemial
VictorR2007, а ты уже пробовал создавать локальные репы 2016.1 платформы, а то у меня не получается(скрипт с ней не работает)

Re: Настройка и сборка mock-urpm(Для новичков)

Добавлено: 16 янв 2017, 18:36
VictorR2007
Nemial писал(а):VictorR2007, а ты уже пробовал создавать локальные репы 2016.1 платформы, а то у меня не получается(скрипт с ней не работает)
У них пока выключена синхронизация.
Можно проверять по яндексу.
Как там начнут обновляться пакеты, так можно создать локальные репы.

Настройка и сборка mock-urpm(Для новичков)

Добавлено: 08 окт 2019, 20:50
VictorR2007
Написал, чтобы оживить тему в списке последнего доступа.
А то в последнее время были вопросы по сборке, и вдруг кому пригодится обсуждавшееся здесь.