This application is an RPM packaging utility based on python-rpkg library. It works with both DistGit and Git repositories and it handles two types of directory content: packed content and unpacked content.
"Packed" content is that composed of tarballs, patches, and a .spec file. "Unpacked" content is that composed of plain source files and a .spec file.
For packed, if you ask rpkg
to make srpm (rpkg srpm
) out of the content in the current directory,
it will download any external files from the appropriate storage (e.g. lookaside cache for DistGit)
and then it will invoke rpmbuild -bs
with _sourcedir
, _specdir
, _builddir
, _srcrpmdir
,
_rpmdir
macros all set to the current working directory.
For unpacked, if you ask rpkg
to do the same thing, it will download external sources if any and
then it will also generate a tarball from the whole content of the current directory named according
to Source0 definition present in the associated .spec file. This tarball and the .spec are then passed
to the same rpmbuild command as above for the packed content.
Note that by dynamically creating the tarball in the current working directory according to the Source0
definition, the directory content becomes packed because there is at least one file, which is referenced
from the .spec file as Source
or Patch
. You can find the exact definitions of "packed" and "unpacked"
in rpkg
man pages (see EXAMPLES section for examples) or with rpkg make-source --help
.