An Introduction to COPRs

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.


Join Red Hat Developers, a developer program for you to learn, share, and code faster – and get access to Red Hat software for your development.  The developer program and software are both free!

 

Take advantage of your Red Hat Developers membership and download RHEL today at no cost.

  1. Sounds like I can finally abandon my Jenkins + Mock + incrond scripts for building SRPMs. Koji was a complete pain to set up and I never got it working correctly. By the way, I think the blogging system ate some parts of that URL.

  2. we have to manually provide install instruction; repos are trouble for users to add; clicking on the repo file could use “yum-config-manager –add-repo”; like ubuntu’s ppa:// and 1click of opensuse.

    And can’t build anything which depends on rpmfusion…

    Too bad, copr can’t host non-free stuff, and need to provide direct download link for the src.rpm; which is annoying.

    Launchpad.net is a lot better by ubuntu for ubuntu users and devs!

    I just wonder how come UBUNTU CAN host NON-FREE stuff on their servers, but fedora/redhat can’t? Is Canonical not legally working in USA? or Redhat is missing what Canonical got right?

    Without non-free stuff Copr will not be useful for most users and devs.

    1. COPR is really pretty new and I am sure they would be interested in your feedback (or your pull requests 🙂 ). Check out the mailing list at https://lists.fedorahosted.org/mailman/listinfo/copr-devel.

      I am not sure why you can’t depend on rpmfusion, you just need the src rpm for the dependencies.

      I can’t speak to Canonical’s policies regarding PPAs, but are you sure that their policy states that you can host non-free things? These two posts certainly seem to indicate that non-free/open source would be a violation: http://bit.ly/1fSBYjw and http://bit.ly/1iVxBaG.

Leave a Reply