Re: Fedora 33 System-Wide Change proposal: ELN Buildroot and Compose

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

 



On Fri, Mar 27, 2020 at 9:36 AM Vít Ondruch <vondruch@xxxxxxxxxx> wrote:
>
>
> Dne 26. 03. 20 v 12:39 Aleksandra Fedorova napsal(a):
> > On Thu, Mar 26, 2020 at 10:34 AM Vít Ondruch <vondruch@xxxxxxxxxx> wrote:
> >>
> >> Dne 25. 03. 20 v 20:22 James Cassell napsal(a):
> >>> On Wed, Mar 25, 2020, at 1:18 PM, Vít Ondruch wrote:
> >>>> Dne 25. 03. 20 v 18:06 Vít Ondruch napsal(a):
> >>>>> Dne 25. 03. 20 v 17:33 Aleksandra Fedorova napsal(a):
> >>> [snip]
> >>>>>> We can come up with guidelines, for example:
> >>>>>>
> >>>>>> 1) Try to find a way to resolve the issue without any conditionals first.
> >>>>>>
> >>>>>> There should be a reason why package X needs a dependency Y in Fedora
> >>>>>> and there should be a reason why it is a required dependency and not a
> >>>>>> recommended one. So why in that case downstream wants it differently?
> >>>>>> The first approach is just to talk through it. I can assume cases
> >>>>>> where downstream adds a dependency, as well as Fedora package removing
> >>>>>> them.
> >>>>>>
> >>>>>> Note that bloated dependency trees is a common problem for all binary
> >>>>>> distributions, it is not an "EL-thing" and we can work on that
> >>>>>> together.
> >>>>>>
> >>>>>> Nicolas has pointed out to another reason why we would get
> >>>>>> EL-conditionals: the outdated rpm stack in RHEL. But we don't have
> >>>>>> this problem with ELN, as we are building Rawhide, and rpm stack is
> >>>>>> going to be the Rawhide rpm stack as well.
> >>>>>>
> >>>>>> 2) Minimize and isolate the conditional, and track the reason.
> >>>>>>
> >>>>>> As ELN SIG we need to have a place where we collect known reasons for
> >>>>>> such conditionals. The overall goal is to reduce this set, not to grow
> >>>>>> indefinitely. As Stephen said we expect it to be about couple of
> >>>>>> hundred packages. We will be able to track each one of them. (We have
> >>>>>> rpminspect to run package diffs for us).
> >>>>>>
> >>>>>> 3) In complex cases - bring it to community and FESCo.
> >>>>>>
> >>>>>> We don't know what those complex cases might be, one of the goals is
> >>>>>> to find them. So we keep it as an option to bring individual case to a
> >>>>>> wider audience. To ask for help and to decide on it.
> >>>>>>
> >>>>> It seems there are missing real life examples of what we sometimes do in
> >>>>> RHEL, so please see attached patch. This patch is coming from RHEL
> >>>>> version of the espeak-ng. Now somebody tell me what it does for what
> >>>>> purpose and which scenario from the above three should be applied here.
> >>>>>
> >>>>>
> >>>>> Vít
> >>>>>
> >>>> And here is another example for the curious.
> >>>>
> >>> Both of these examples have to do with docs generation and trying to reduce dependencies for that process. "Process the man page using kramdown and remove the ronn dependency."
> >>
> >> The point is that these types of changes are not upstreamable. And the
> >> conditions would also be awful. Having these changes in separate branch
> >> would be much preferable IMO, because honestly, I would like every
> >> Fedora maintainer save from this cruft not because I would like to hide
> >> something, but for their own sanity.
> > I disagree actually.
> >
> > Disabling docs to reduce dependencies makes sense. And it is not a
> > RHEL-only thing.
>
>
> I am sorry but you have not passed the test. The test question was "Now
> somebody tell me what it does for what
> purpose and which scenario from the above three should be applied here."
> I would really appreciate, if you could pay  attention to the two
> patches I post and what they do. Including careful analysis why they
> were applied and why they were not put into Fedora nor upstreamed.
>
> Hint: They don't disable any documentation.

You put two patches on the thread without context. I assumed that they
remove the fancy dependency needed to build the doc, and instead
create the doc in a more "old-school" ways.
It maybe a wrong assumption. It happens.

Could you then explain the context, and what these patches actually do?

> Thank you.
>
>
> Vít
>
>
> P.S. I really thinking if I should write this and if and how much I am
> offended, because I typically try to remove my feeling from these
> discussions. But really, I and other colleagues have spent quite some
> effort to untangle the whole dependency mess, to provide our users as
> much as we can, to give back to fedora and upstream as much as we can
> and stay sane. That were not easy decisions.
>
> I spent the time to dig out these specific examples of what we did and
> why I think it is important to have branches instead of "just
> conditions", but you don't pay enough attention and you dismiss them as
> "Disabling docs". I am sorry, but this is not fair.

If I were offended every time people don't get my point and the effort
I made to make it, I would give up about 15 years ago.
But that is what discussions are all about: going through a lot of
misunderstanding, trying to actually reach the point where we can
understand each other.

> >
> > I had the conversation at the latest Devconf with people who are
> > aiming to build Linux distribution with a reduced buildroot footprint
> > for security purposes. So that they can audit the content of the
> > buildroot, and get to a certain level of certification with it.
> > I think It can not be done directly in Fedora, but if we add the
> > flexibility into our builds (with conditionals), then we could
> > eventually get a new downstream supported by a certain governmental
> > entity.
> >
> > What we should avoid is using conditionals randomly and inconsistently.
> >
> > So let's agree that we are not scattering "%if 0%{?rhel} && (!
> > 0%{?epel})" all over the spec file, but rather define it once at the
> > top of the spec file:
> >
> > %if 0%{?rhel} && (! 0%{?epel})
> > %bcond_with docs
> > %else
> > %bcond_without docs
> > %endif
> >
> > And use later in a form
> > ...
> > %if %{with doc}
> > %package doc
> > ...
> > %endif
> >
> > Yes, for now we would go with a "%if 0%{?rhel} && (! 0%{?epel})" in
> > the header of the affected spec file. But eventually we can think
> > about adding a USE-flag like functionality to the build process, and
> > create a global profile for the build system.
> > This is a very much forward-looking statement, but idea is already
> > making its round by the dnf team.
> >
> > So there are some interesting ways how this approach can be developed
> > further, if we can make it work for a smaller subset first.
> >
> _______________________________________________
> 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

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