Hi,

On Mon, Oct 7, 2019 at 7:53 PM Zbigniew Jędrzejewski-Szmek
<zbys...@in.waw.pl> wrote:
>
> On Mon, Oct 07, 2019 at 05:38:51PM +0200, Aleksandra Fedorova wrote:
> > On Mon, Oct 7, 2019 at 5:21 PM Michael Catanzaro <mcatanz...@gnome.org> 
> > wrote:
> > >
> > > On Mon, Oct 7, 2019 at 3:11 pm, Ankur Sinha <sanjay.an...@gmail.com>
> > > wrote:
> > > > So I guess I am arguing that while the "new package for existing
> > > > maintainers" remain at the `fedpkg` level of doing things, the "join
> > > > the
> > > > package collection maintainer" page for newbies, who should not be
> > > > assumed to have prior knowledge about rpm, should start at the
> > > > `rpmbuild` level and promote them to `fedpkg` when they reach the
> > > > "import to SCM" steps.
> > >
> > > I don't agree. I can probably count on one hand the number of times
> > > I've used rpmbuild directly in the past five years. fedpkg is much
> > > simpler, and simple is what we should be promoting to new packagers.
> > >
> > > We can all have our own preferred workflow, nothing wrong with that.
> > > But the newcomers guide should be as simple as possible. Learning
> > > packaging is complex and the fewer tools that new packagers need to
> > > learn, the better.
> >
> > I strongly disagree with your take on what simplicity is. There
> > various kinds of simplicity: simple to execute, and simple to
> > understand.
> >
> > Rpmbuild is verbose, it provides more details and information without
> > wrapping it all in helpers, isolation layers and so on. Thus with
> > rpmbuild you can easily get, what is going on.
>
> I think there's an analogy here to git:
> git has low-level commands, and it _is_ useful to understand them,
> particularly when one wants to learn how git internals work.
> But it is not useful to teach people to use them. Instead, beginners
> need to learn about git commit, git pull, git push, and so on.
> We hide the lower-level details because the higher-level picture
> is more important.
>
> Also, the replies in this thread show another issue: we teach people
> to use rpmbuild, and even long-time packagers keep using such
> workflows, because they are accustomed to them. This just confirms
> that teaching a bad workflows early, just because it's "easier", is
> doing a disservice to packagers.
>
> > I'd argue you don't want newcomers to copy-paste three cryptic
> > commands and leave forever, you want to educate people on what they
> > are doing. And cutting corners doesn't help in teaching.
>
> Right. So we should show the big picture (dist-git for sources, mock
> for a pristine environment, koji for official builds, reproducibility,
> reliability of builds, and how this all ties into a general philosophy).
> If people need to figure out the details of some low-level command,
> they will do it.

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.

I did a Fedora Classroom on RPM several years ago. And the main
concept I tried to show there is the concept of sections in RPM spec
file (setup, build, install, check..). rpmbuild exposes those stages
to the user, so that you can touch and feel them, play with the
outcome. You can literally see the buildroot directory and how files
are moving around once you execute the next step. This is extremely
helpful for newcomers who are struggling to get even the setup section
right at first.

If I were writing the doc on RPM now, I would have two parts on it.
First - detailed explanation with step-by-step rpmbuild commands, and
then a "shortcut" section with "And in Fedora we recommend you to do
this and that". This would address the "teaching a bad workflows"
concern.

In the end it shouldn't be one or the other, it should be both, cross-linked.

-- 
Aleksandra Fedorova
bookwar
_______________________________________________
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

Reply via email to