A bit of heads up for anyone who uses custom/user macros with rpkg(-util): https://docs.pagure.org/rpkg-util/v3/macro_reference.html#user-defined-macros
With version 2, it was enough to have `rpkg.macros` file in the directory where rpkg is executed and the custom macros were automatically loaded from there. In version 3, the path to file with the custom macros needs to be specified through rpkg.conf file placed at the git top-level directory, e.g. $ cat some-git-repo/rpkg.conf [rpkg] user_macros = "${git_props:root}/rpkg.macros" iff the rpkg.macros file is also placed at the top-level git directory (i.e. next to rpkg.conf). This will become relevant (for SCM rpkg srpm build method) with f35 builders in Copr. --- Also if anyone is using the rpkg command-line tool locally, replacing /etc/rpkg.conf with /etc/rpkg.conf.rpmnew will be needed. Best regards clime On Thu, 13 May 2021 at 15:28, clime <cl...@fedoraproject.org> wrote: > > 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