.. _v3:

rpkg utility v3

* *If you are looking for an easy way to make installation packages out of your application sources...*
* *If you want to make free and open-source software out there easily available to end users...*
* *If you like configurability without limits...*


rpkg is an rpm packaging utility that you can use to maintain your application sources.
It is designed to work on top of Git repositories but it can also handle just any plain
directory content. It will allow you to easily transform raw sources into an rpm source
package that you can build (also by using rpkg) in a public build system, which will
produce packages that any user can install and start using afterwards.


.. toctree::
   :maxdepth: 2

   Quick start </v3/quick_start.rst>
   Spec templates from scratch </v3/spec_templates_from_scratch.rst>
   Macro reference </v3/macro_reference.rst>
   Version and tag generation </v3/version_and_tag_generation.rst>

The main subsections of this wiki:

* :ref:`quick_start_v3`: Read this if you would like to start using rpkg in your project.
* :ref:`spec_templates_from_scratch_v3`: Learn how to use rpkg and its spec templates in a quick and easy way.
* :ref:`macro_reference_v3`: Learn all about macros that you can use in spec templates.
* :ref:`version_and_tag_generation_v3`: Learn more about how rpkg generates package versions and tag names.


* https://pagure.io/rpkg-util

.. _installation_v3:


rpkg is available on all Fedora platforms. You can run:


    # dnf install rpkg

to install it.

If you would like to install ``rpkg`` directly from the upstream sources, run:


    $ git clone https://pagure.io/rpkg-util
    $ cd rpkg-util
    $ ./rpkg local
    $ sudo dnf -C install /tmp/rpkg/rpkg-util-*/noarch/rpkg*.noarch.rpm

But the easier way to always get the latest, greatest ``rpkg`` is:


    # dnf copr enable clime/rpkg-util
    # dnf install rpkg

You need to have ``dnf-plugins-core`` installed ;).