As many of you have probably experienced, creating your own rpms can be handy, but what is even better is if you can access those rpms from anywhere on the internet. It is also handy to be able to share the rpms with your friends :). In the past that has meant building all of the rpms for the various RHEL-ecosystem OSs and then finding somewhere you can host them and maintaining it yourself.

What I am excited to tell you about is that the folks at Fedora have very nicely put up a new automatic build and repo system and they are calling it COPR (Cool Other Package Repositories) and it does some very nice things. So, that's great for Fedora users, right? Well, not just them, in COPR you can also build for Enterprise Linux 5, 6, and 7 as well as Fedora 18-20 + rawhide (ATM).

So, how do I get started? Well, it is really pretty easy. First, you need a FAS (Fedora Accounts System) account which is free and easy to do by going here. Once you have an account, head on over to the COPR website and make a new project. Once you have a project, you name it, choose some build targets, and provide some SRPMs. Once you save it you can start running builds. When you get a build that works, COPR will provide you a nice repo file in the form of

http://copr.fedoraproject.org/coprs/<username>/<project-name>/repo/<arch>/

That is basically all there is to it. However, if you want to have a more detailed guide, Miroslav Suchý put together a nice, visual tutorial on the COPR wiki. He also wrote up a nice piece on how to use copr-cli (which you can find in epel-testing for RHEL), a command line interface to the COPR system, in a blog post.

One problem I ran in to was, where do I host the SRPMs, because COPR expects a url to feed from. Well, with that handy FAS account above, you also get some space on the fedorapeople server where you can host your SRPMs. If you want to set it up, go check out the helpful wiki page.

Watch our blog for some upcoming posts about actually building RPMs for RHEL 7 using COPR.

Last updated: June 22, 2023