I'm making my own personal RPM repository. So far, I've built the following packages:
- x264
- libx264
- libx264-devel
- x265
- libx265
- libx265-devel
- lame
- libmp3lame
- libmp3lame-devel
- libmfx
- libmfx-devel
- libdvdcss
- libdvdcss-devel
- libfdk-aac
- libfdk-aac-devel
- ffmpeg
- libavcodec
- libavdevice
- libavfilter
- libavresample
- libavutil
- libpostproc
- libswresample
- libswscale
I'm primarily packaging them for Fedora, as I'm looking to migrate my desktops to Fedora in the near future. I'd like to build these packages on something like Copr, but many of these packages are forbidden by Fedora.
The problems I've encountered so far are:
- I'd like to have a Git repository with only spec files and patches checked in.
- To that end, I'd like the source code to be downloaded as part of the build.
- Some packages that I'm building like FFMPEG require some development packages from the other builds to be installed on the host, creating a chicken and egg problem.
- I've currently got all of my builds happening in a Fedora 23 Vagrant VM. If I want to build for rawhide or CentOS 7, will I have to run those builds in a separate VM based on CentOS 7 or is there a way to have one host build packages for multiple distros?
Is there software out there which will help me build all packages for my repository in the right order and provide the devel RPMs to other packages that require them? I'd like to automate as much as possible for this setup, so I need some kind of simple build script I can run which can build things in the proper order, making headers available to the other packages that need them, possibly without installing them on the host machine.
mock
is your friend if you are interested in build for different Fedora version/rhel. In the other questions I am not so well versed. But I believe you can run your own instance of Copr to automate most of the things.