Автоматизированные сборки RPM

Я создаю свой собственный репозиторий RPM. До сих пор я создал следующие пакеты:

  • x264
    • libx264
    • libx264-разви
  • x265
    • libx265
    • libx265-разви
  • ламе
    • libmp3lame
    • libmp3lame-разви
  • libmfx
    • libmfx-разви
  • libdvdcss
    • libdvdcss-разви
  • libfdk-ААС
    • libfdk-ААС-разви
  • FFmpeg
    • кодек
    • libavdevice
    • libavfilter
    • libavresample
    • libavutil
    • libpostproc
    • libswresample
    • libswscale

Я в первую очередь упаковываю их для Fedora, так как я планирую перенести свои настольные компьютеры в Fedora в ближайшем будущем. Я хотел бы построить эти пакеты на чем-то вроде Copr , но многие из этих пакетов запрещены Fedora .

Проблемы, с которыми я столкнулся до сих пор:

  1. Я хотел бы иметь репозиторий Git с проверенными только файлами спецификаций и исправлениями.
  2. С этой целью я хотел бы, чтобы исходный код загружался как часть сборки.
  3. Некоторые пакеты, которые я создаю как FFMPEG, требуют некоторых пакетов разработки из других сборок, которые должны быть установлены на хосте, создавая проблему с курицей и яйцом.
  4. В настоящее время у меня есть все мои сборки, которые происходят в Fedora 23 Vagrant VM. Если я захочу построить для сыромятной кожи или CentOS 7, мне придется запускать эти сборки в отдельной виртуальной машине на основе CentOS 7 или есть способ иметь один пакет сборки узла для нескольких дистрибутивов?

Есть ли там программное обеспечение, которое поможет мне собрать все пакеты для моего репозитория в правильном порядке и предоставить RPM разработки для других пакетов, которые их требуют? Я бы хотел автоматизировать как можно больше для этой установки, поэтому мне нужен какой-то простой скрипт сборки, который я могу запустить, который может создавать вещи в правильном порядке, делая заголовки доступными для других пакетов, которые в них нуждаются, возможно, без их установки на главной машине.

  • Что требуется: Python (пакет) для файлов спецификаций RHEL?
  • Общие подпрограммы в RPM
  • Как установить пакеты для старой версии Fedora?
  • Почему «dir-or-file-in-usr-local» является ошибкой, а не предупреждением?
  • Ошибка при создании libxcrypt
  • Упаковка только определенного подмножества встроенных файлов
  • rpmbuild другой путь для sysconfdir
  • Попытка создания (a) пакета kmod для acpi_call на Fedora, не может быть установлена
  • One Solution collect form web for “Автоматизированные сборки RPM”

    Mockchain (из пакетного пакета) может делать то, что вы хотите. Он принимает список SRPM как параметр, имеет очень наивный алгоритм, который пытается их перестроить, те, которые не работают, проверяются на второй итерации. Эта итерация продолжается до тех пор, пока по крайней мере пакет успешно построен в цикле. Таким образом, он может потреблять много циклов процессора, но от вас не требуется слишком много взаимодействия.

    Linux и Unix - лучшая ОС в мире.