Re: Has fedpkg + dist-git replaced rpmbuild for building new/local packages?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Oct 07, 2019 20:40:07 +0200, Aleksandra Fedorova wrote:
> Hi,
> 
> I think we are talking about different things.
> 
> It all depends on which question the doc is trying to answer.
> 
> You are talking about "How do I contribute a package to Fedora". Then
> I agree, the doc should cover main infrastructure pieces and guide you
> how to get from source code to the rpm in Fedora repository.
> You don't need to dive into details of building an RPM here.
> 
> But when the curios contributor asks "How do I create an rpm?", this
> is a different kind of story. And "run fedpkg build" is a bad answer
> to it.
> 
> <snip>
> 
> In the end it shouldn't be one or the other, it should be both, cross-linked.

+1. I'm with you here.

"Adding a package to Fedora" has two main parts. First: build the
packaging guidelines compliant (s)rpms; second: follow the pipeline to
get it to users.

The only tool/concepts one must necessarily learn for the first is RPM.
In the second, various tools of the Fedora pipeline get involved:
bugzilla, pagure, koji/mock, bodhi. All of these can be interacted with
without fedpkg---fedpkg is a helper tool that lets one carry out all the
steps (most steps---fedpkg cannot do multi build updates, can it?) of
the process in one place.

From a newbie perspective, and this is someone who is completely new to
the process, I find it simpler to say:

- first, get your software into an rpm: this is critical, no rpm, no use
  of knowing the whole process/pipeline. At this stage, asking them to
  already start looking at the whole pipeline is just unnecessary
  information overload.

- next, test it in a clean chroot---use mock or koji scratch builds:
  still no fedpkg necessary.

- when happy, submit a review ticket on bugzilla---still no fedpkg
  required.

- when approved, request a repo, commit to SCM, build, push an
  update---this is where fedpkg is needed.

So, we've introduced the different bits one at a time, over time---like
a structured course.

I sort of see the point of starting off with fedpkg since it abstracts
over pretty much everything, but I think fedpkg does far too much, too
closely related to process and newbies won't understand it if they don't
know the process. Honestly---as a newbie, would you not wonder why you
cannot use "fedpkg *build*" to *build* your rpm? You would have to learn
that you must use mock, and "fedpkg local" is how you use it. But
then, if you have to be learn about mock anyway, why not first teach
mock explicitly and then move on to the general helper swiss knife tool
"that does everything"?

-- 
Thanks,
Regards,
Ankur Sinha "FranciscoD" (He / Him / His) | https://fedoraproject.org/wiki/User:Ankursinha
Time zone: Europe/London

Attachment: signature.asc
Description: PGP signature

_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
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@xxxxxxxxxxxxxxxxxxxxxxx

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux