Bug 1230473 - BuildRequires on gcc not glibc-headers.
Summary: BuildRequires on gcc not glibc-headers.
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: fedfs-utils
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Ian Kent
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1230505
TreeView+ depends on / blocked
 
Reported: 2015-06-11 02:58 UTC by Carlos O'Donell
Modified: 2015-06-12 02:53 UTC (History)
5 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2015-06-12 02:06:13 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Carlos O'Donell 2015-06-11 02:58:12 UTC
Please replace the BuildRequires: glibc-headers with BuildRequires: gcc. The new Fedora packaging guidelines require you define all the things you need in the buildroot to build [1].

Given that this is a C program it should BuildRequires: gcc, and that is sufficient to bring in all of the required core C libraries and headers to compile C code.

The reason I'm asking is because glibc-headers may or may not be removed in the future and it isn't sufficient to guarantee the package builds.

[1] https://fedoraproject.org/wiki/Packaging:Guidelines#BuildRequires_2

Comment 1 Ian Kent 2015-06-11 05:59:37 UTC
OK, will do.

Comment 2 Ian Kent 2015-06-11 06:07:26 UTC
Ummm ... unrelated question.

If there is no "BuildRequires: glibc-headers" in a spec file,
as historically the build root is expected to have the common
packages needed for building C programs, then do all those
packages now need to add a "BuildRequires: gcc"

And why would something like this change?

Comment 3 Carlos O'Donell 2015-06-11 13:36:46 UTC
(In reply to Ian Kent from comment #2)
> Ummm ... unrelated question.
> 
> If there is no "BuildRequires: glibc-headers" in a spec file,
> as historically the build root is expected to have the common
> packages needed for building C programs, then do all those
> packages now need to add a "BuildRequires: gcc"

Yes.

> And why would something like this change?

https://lists.fedoraproject.org/pipermail/devel/2015-May/210766.html

The BuildRequires section of the guidelines has been revised; the
exceptions list is gone.  The release engineering folks are free to
define the buildroot and rpm is free to change its dependency list.
 * https://fedoraproject.org/wiki/Packaging:Guidelines#BuildRequires_2
 * https://fedoraproject.org/w/index.php?title=Packaging%3AGuidelines&diff=413629&oldid=409506
 * https://fedorahosted.org/fpc/ticket/497

Comment 4 Ian Kent 2015-06-12 01:59:46 UTC
(In reply to Carlos O'Donell from comment #3)
> (In reply to Ian Kent from comment #2)
> > Ummm ... unrelated question.
> > 
> > If there is no "BuildRequires: glibc-headers" in a spec file,
> > as historically the build root is expected to have the common
> > packages needed for building C programs, then do all those
> > packages now need to add a "BuildRequires: gcc"
> 
> Yes.

OK, I'll check and update the other two packages I have.

> 
> > And why would something like this change?
> 
> https://lists.fedoraproject.org/pipermail/devel/2015-May/210766.html
> 
> The BuildRequires section of the guidelines has been revised; the
> exceptions list is gone.  The release engineering folks are free to
> define the buildroot and rpm is free to change its dependency list.
>  * https://fedoraproject.org/wiki/Packaging:Guidelines#BuildRequires_2
>  *
> https://fedoraproject.org/w/index.
> php?title=Packaging%3AGuidelines&diff=413629&oldid=409506
>  * https://fedorahosted.org/fpc/ticket/497

So be it then, although that doesn't answer the question.

I guess it's easy enough to understand why we want to do it
though, with so many different build requirements and build
root size affecting speed of builds etc.

I just hope that we don't get a bunch of fails for packages
that historically haven't build required things that were
once taken as included.

Ha, how do you work out the list of build requires for things
like the auto tools, configure for example ....

Requiring gcc is as good a place to start as any I guess.

Ian

Comment 5 Carlos O'Donell 2015-06-12 02:53:14 UTC
(In reply to Ian Kent from comment #4)
> So be it then, although that doesn't answer the question.
> 
> I guess it's easy enough to understand why we want to do it
> though, with so many different build requirements and build
> root size affecting speed of builds etc.

Exactly. Not to mention CI efforts to bootstrap the distribution benefit from smaller dep chains and less things in chroots during builds.
 
> I just hope that we don't get a bunch of fails for packages
> that historically haven't build required things that were
> once taken as included.

It may result in that.

> Ha, how do you work out the list of build requires for things
> like the auto tools, configure for example ....

We are working this out, and for example I filed an FPC about C and C++ development.

https://fedorahosted.org/fpc/ticket/540

> Requiring gcc is as good a place to start as any I guess.

Yes.

c.


Note You need to log in before you can comment on or make changes to this bug.