On Fri, Dec 08, 2017 at 07:03:48PM +0100, nicolas.mailhot@xxxxxxxxxxx wrote: > Hi, > > I am proposing for inclusion a macro set aimed at automating the packaging of forge-hosted projects. > > — Packaging draft: https://fedoraproject.org/wiki/Forge-hosted_projects_packaging_automation > — FPC ticket: https://pagure.io/packaging-committee/issue/719 (without the “hasdraft” tag because I don't know how to add it in pagure) > — fedora-rpm-macros RFE with the macro file: https://bugzilla.redhat.com/show_bug.cgi?id=1523779 > > What it does: conversion of a forge url, version, tag, commit set to the values expected in rpm specfiles, in optional rpm variables. Computation of the corresponding %{dist}. Impressive! I just tested this on some random package using github and everything works great. Would it be possible to drop the requirement to have "/" at the end of a github URL? I think it's natural to paste the URL without the trailing slash... Your instructions say "just copy the file into /usr/lib/rpm/macros.d", suggesting that the name can by anything, but I think it has to start with "macros.". At least "forgeforge.macros" did not work here. Wouldn't it be better to recommend %autosetup instead of %setup? It's one less thing to change if patches are added. In the docs, the instructions under "Packaging a pre-release commit" actually apply to post-release commits. Maybe change the title to "Packaging a pre-release/post-release commit" and add a text like "See https://fedoraproject.org/wiki/Packaging:Versioning how to adjust Release tag for pre-/post- release commits.". Zbyszek > > Objective: centralize forge structure know-how in a single technical place, deprecate all the complex manual forge URL handling spread over many Fedora spec files, simplify packaging and spend time on more interesting stuff. > > What's currently implemented: definitions for github.com and code.googlesource.com > (I didn't want to propose stuff I didn't use myself. Adding more definitions is trivial. The macros are in Lua which is change-friendly, no arcane rpm syntax knowledge is needed). > > Please consult packaging draft for full information. > > This is a spin-off of the work I'm currently doing on Go packaging, as Go is heavily forge-oriented. I took the time to extract the generic non-Go-specific forge knowledge in a separate macro file. The macros have been heavily tested on real-life Go projects with quite a lot of variance, on EL7 and rawhide. That's why they come with built-in error handling. > > Regards, > > -- > Nicolas Mailhot > _______________________________________________ > devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx > To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx