On Thu, 17 Dec 2020 at 22:04, James Szinger <jszinger(a)gmail.com> wrote:
On Thu, 17 Dec 2020 14:05:40 -0500
Ben Cotton <bcotton(a)redhat.com> wrote:
>
https://fedoraproject.org/wiki/Changes/Enable_Spec_File_Preprocessing
>
> == Summary ==
> This change should enable an opt-in spec file preprocessor in Fedora
> infrastructure for the benefit of packagers. The preprocessor allows
> some very neat tricks that were impossible before, for example
> generate changelog and release automatically from git metadata or pack
> the entire dist-git repository into an rpm-source tarball (effectively
> allowing unpacked repos to live in DistGit).
>
> == User Experience ==
> This change is intended for packagers. It should help to make a bit of
> their work easier and offer them some new interesting options.
This change proposal does affect users. The User Experience section
needs to answer the following:
Well, the users here are still packagers here no? I thought the "User"
in the title means "end user" who shouldn't be affected by it. Maybe
Ben can clarify this.
1. How does this affect users who download, maybe modify, and rebuild
the SRPM? Can they continue to use rpmbuid and mock as they have
been? Does the SRPM contain the pre-processed or post-processed spec
file?
They can use mock if the preprocessing will be enabled for the
respective chroots where it is enabled in Koji/Fedora.
They can't directly use rpmbuild for those packages that contain the
macros. But they can use rpkg/fedpkg to do the work.
Or preprocess spec first and then use rpmbuild. I am aware this is a
negative point of this change.
While having an option to use rpmbuild directly to build srpm/rpm from
a dist-git repo is nice, I would say that fedpkg or mock are the main
interfaces to do this.
I know this answer won't satisfy everyone.
2. How does this affect users who download the spec file from
src.fedoraproject.org? Do they have the tools to build the RPM? How
much harder is it?
The tools will be available. It should be no-work if a person uses
fedpkg or mock. Otherwise, if they really use bare rpmbuild, they will
need to modify their scripts to use fedpkg/mock.
Or they can use preproc first to render the template and then pass it
to rpmbuild. I also planned to do a simple wrapper called
'"preproc-rpmbuild" which would do that while otherwise providing the
same command-line interface as rpmbuild does.
Please remember that this is Free Software and the spec files are
useful for a broader audience than just the Fedora packagers.
Right, we also use the (CentOS) spec files in a company where I
currently work at.
>
> Jim
> _______________________________________________
> devel mailing list -- devel(a)lists.fedoraproject.org
> To unsubscribe send an email to devel-leave(a)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