Hello, I have built rpkg-3.rc2 (package sources: https://src.fedoraproject.org/rpms/rpkg-util) into rawhide yesterday. It should be now available for installation.
It is a complete rewrite of version 2. It aims to be a tool with minimal deps that allows people to easily transform git repositories containing spec files into rpm packages. Historically, the goal of this tool was to provide a single client to all dist-git instances (i.e Fedora, CentOS, maybe something else too). This was the idea when I started to work on it still in RedHat under the lead of Miroslav Suchý. We wanted to tweak the rpkg script provided by python-rpkg lib (https://pagure.io/rpkg) for that purpose. However, that script was soon being discontinued. There I created a separate project (rpkg-util) which would be providing the script so that I can continue in my goal. Eventually, I realized that some steps rather need to be taken server-side (https://github.com/release-engineering/dist-git) for a generic client to exist so that I did and then it was about adoption of the dist-git package (which provides the unified interface) by various dist-git instances. Meanwhile, I was thinking what to do next with rpkg while being heavily influenced by Copr that I primarily worked on at that time and also by discussion on devel list about automatically generating changelog and release from git. I realized there is an opportunity to provide a solution for this in the generic dist-git client (rpkg executable) and that it was not a bad place for it. This problem was then and even today solved by basically sedding spec file with regexps which I thought is kind of hacky and that it could be useful to have a library for common substitutions anyway so that people can reuse it. So a simple spec templating language was born (https://docs.pagure.org/rpkg-util/v3/spec_templates_from_scratch.html) and also a simple library of macros (https://docs.pagure.org/rpkg-util/v3/macro_reference.html) that use git content and metadata to render spec file content or parts of it. It now allows not only to generate changelog or release but also e.g. to generate a source tarball from a git submodule placed next to the spec file. There is also the possibility for users to define their own macros and therefore customize git->rpm transform in any way. You can try this now in rawhide (`dnf install rpkg`) or also in Copr (SCM rpkg build method) but note that in Copr, there is still v2 so there might be some differences. You might also need to install python3-setuptools - that package seems to be required by python3-munch but is not being brought in automatically at the moment. You can use rpkg tool similarly to fedpkg to work with Fedora dist-git packages (except that `rpkg build` command builds in Copr and the command set is mostly trimmed-down) or you can use it to work with those git layouts that contain unpackaged sources together with spec file (or rather spec file template) or link to the upstream sources through a git submodule. Best regards clime P.S.: the project is hosted here: https://pagure.io/rpkg-util _______________________________________________ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure