Автоматизированные сборки 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 разработки для других пакетов, которые их требуют? Я бы хотел автоматизировать как можно больше для этой установки, поэтому мне нужен какой-то простой скрипт сборки, который я могу запустить, который может создавать вещи в правильном порядке, делая заголовки доступными для других пакетов, которые в них нуждаются, возможно, без их установки на главной машине.

  • Spec rpm: Я хочу сделать gmake -j3
  • Определение макросов для создания файлов RPM, требующих Python 3
  • Раздел установки RPM%
  • Создайте RPM для конкретной незначительной версии RH
  • Почему «dir-or-file-in-usr-local» является ошибкой, а не предупреждением?
  • RPM говорит, что общий объект отсутствует, но я могу найти его с ls
  • Как обращаться к любым файлам или сценариям, упакованным внутри RPM из% pre% post scriptlets
  • Общие подпрограммы в RPM
  • One Solution collect form web for “Автоматизированные сборки RPM”

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

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