additional build failures with reduced buildgroup list

Thorsten Leemhuis fedora at leemhuis.info
Sat May 27 14:09:21 UTC 2006


Am Samstag, den 27.05.2006, 08:09 -0500 schrieb Matt Domsch:
> I rebuilt all of rawhide using the FESCo reduced buildgroups package
> list, which removes these packages from the default list of packages
> in the chroots:
> autoconf automake automake14 automake15 automake16 automake17 bison
> byacc createrepo ctags diffstat doxygen flex gdb gettext indent
> intltool libtool openssh-server patchutils perl-XML-Dumper
> perl-XML-Parser perl-XML-SAX pkgconfig rpm-python strace

Just a bit background information: The list of packages that mock
installed by default currently doesn't match the list of exceptions
documented in 
http://www.fedoraproject.org/wiki/Packaging/Guidelines#head-4cadce5e79d38a63cad3941de1dadc9d25d67d30

We currently try to clean this mess up and bring the guidelines and mock
in sync. The current plan is to remove those packages mdomsch listed
above from the default mock buildroot. Especially the auto* stuff
shouldn't be needed normally. Some crucial packages are still under
discussion:

"which" -- some people think it shouldn't be in the list, but it's a
widely used tool in Scripts, Makefiles and Specfiles. mdomsch therefor
added it for now after a short discussion with spot in #fedora-extras.

"gettext" -- multiple packages won't build all the translations without
it. So why not add it? Well, here are parts of the discussion from
FESCO-List:

> > > gettext 
> > > This falls pretty close in line with gcc -- basically, any app with
> > > translations is going to use gettext during its build process and if you
> > > don't have it installed, the build probably succeeds and you just don't
> > > have translations.  Which is the suck.
> > 
> > Exactly -- that's why it maybe should *not* be installed in the "default
> > buildroot". I in the past multiple times ran into failed or incomplete
> > rebuilds when rebuilding something as a ordinary user (e.g. without
> > mock) on a system where gettext was not installed.
> > 
> Seconded, with no maybes :)

"pkgconfig" -- Also still undecided. Here are parts of the past
discussion:

> > > > pkgconfig
> > > Might make sense to leave in, or, start having packages with .pc files
> > > require pkgconfig.
> > 
> > I'd prefer the latter. I just ran into troubles some days ago when I had
> > to install the nvidia drivers on a FC5 system manually. I installed
> > "xorg-x11-server-sdk" (as advised on nvnews.net) and tried to install
> > the drivers with the crappy nvidia installer but it failed because
> > "xorg-x11-server-sdk" ships with a .pc file, but did not require
> > pkgconfig.
> 
> Me too, and that's how it already is in the vast majority of Extras
> packages that install *.pc.

And FYI here the complete log from this weeks FESCo meeting on that
topic:

0:02 <         thl> | buildsys-build -> spot not there
0:03 <         thl> | do we want to discuss this without him?
0:03 <      jeremy> | thl: I think we largely had consensus on it
0:03            --- | thl has changed the topic to: FESCO Meetingin progress -- buildsys-build
0:03 <      warren> | jeremy, use the Exceptions list and explicitly list everything that it pulls in?
0:03 <         thl> | jeremy, what was the consens with gettext ?
0:04 <      jeremy> | thl: I'm okay with not having it be in exceptions -- a spot check of packages showed the buildrequires being there
0:04 <         thl> | jeremy, and pkgconfig
0:04 <         thl> | ?
0:04 <      jeremy> | having the packages with .pc files require pkgconfig instead of having pkgconfig in the base set is fine by me
0:04              * | scop sees no reason to except pkgconfig
0:05 <        ensc> | afaik, pkgconfig is required by rpm scriptlets
0:05 <        ensc> | (which produce ugly warnings else)
0:05 <        scop> | which ones?
0:05 <        ensc> | (e.g. about broken pipes)
0:05 <      warren> | I'm 60% leaning towards adding pkgconfig to exceptions.
0:05 <        ensc> | find-provides.pkgconfig
0:05 <        ensc> | contains 
0:05 <        ensc> | test -x $pkgconfig || exit 0
0:06 <        ensc> | and some find-requires clue pipes a filelist into this script
0:06 <        ensc> | but these are only warnings; no errors
0:06 <        scop> | sounds like a bug in rpm/redhat-rpm-config to me
0:07 <        ensc> | yes
0:07 <        ensc> | but I was shocked by the find-requires script and did not write a report yet
0:07 <        ensc> | ;)
0:07 <      warren> | I move that we add pkgconfig to the exceptions list.  It is simple enough and self-contained, it doesn't pull anything else in.
0:07 <        scop> | -1
0:08 <         thl> | -0.5
0:08 <      warren> | -1
0:08 <      warren> | =)
0:09 <        ensc> | -1
0:09 <      warren> | so we're pretty much going with the fedora.us exception list as-is?
0:09            --> | |Jef| (Spacious..he's so!)  has joined #fedora-extras
0:09 <       tibbs> | Is the list expected to change over time?
0:10 <         thl> | warren, I suppose we go for the list spot posted to fesco-list ?
0:10            --- | mebrown_laptop_ is now known as mebrown_laptop
0:10 <      jeremy> | tibbs: at least not often 
0:10 <         thl> | warren, in the mail that starts with "Here is the extrapolated list of Exceptions..."
0:11 <      warren> | my mail has been screwed lately
0:11              * | warren attempts to find it
0:11 <       tibbs> | OK.  Do you plan to change it for all supported distributions, or only for the development branch?
0:11 <        scop> | all
0:11 <         thl> | tibbs, good question
0:11 <         thl> | all +1
0:11 <         thl> | might make some trouble
0:12 <      warren> | thl, I believe that is fedora.us exceptions + anything it pulls in.
0:12 <        scop> | right
0:12 <       tibbs> | I will certainly be happy to review against whatever list you determine, but some folks might torqued if stuff stops building.
0:12 <         thl> | warren, yeah, looks like it
0:12 <         thl> | tibbs, maybe we should ask mdomsch to make a rebuild check for extras, too
0:13 <         thl> | jeremy, btw, is this change also okay for core?
0:13 <        scop> | but dependencies change, and listing the extrapolated list is slightly harder to document and may require a bit more maintenance
0:13 <      warren> | did mdomsch use that set in his core build test?
0:13 <     bpepple> | warren: No.
0:13 <         thl> | warren, he probably uses the old set
0:13 <         thl> | with autoconf and other stuff that we kick out currently
0:13 <      warren> | scop, in that case, I move that we list both the Exceptions list, and the extrapolated list.
0:13 <      warren> | the extrapolated list can be regenerated based on the Exceptions list
0:13 <         thl> | warren, +1
0:14 <       tibbs> | Seems reasonable.
0:14 <        scop> | works for me, but it probably needs to be listed separately for all distro versions
0:14 <        scop> | (in case there are differences)
0:14 <      warren> | We could also diff the extrapolated list to make sure we know what appeared/disappeared
0:15 <        scop> | that would be useful, yes
0:16 <         thl> | okay, let's work out the details when spot is back
0:16 <         thl> | but we agreed on the general direction from spots mail 
0:16 <         thl> | e.g. kick autoconf and some other stuff out
0:16 <      warren> | nod
0:16 <      jeremy> | right
0:16 <       tibbs> | If mdomsch shares his scripts I'll be happy to try an extras rebuild; I have ten or so quad opteron boxes I can throw at it.
0:17 <      warren> | tibbs, home heating system? =)
0:17 <         thl> | this ones are kicked out then: autoconf automake automake14 automake15 automake16 automake17 bison buildsys-macros byacc createrepo ctags diffstat doxygen flex gdb gettext indent intltool libtool openssh-server patchutils perl-XML-Dumper perl-XML-Parser perl-XML-SAX pkgconfig rpm-python strace which
0:17              * | scop giggles
0:17 <       tibbs> | Great!
0:17 <      warren> | openssh-server was an odd one
0:17 <        scop> | well, buildsys-macros probably need to stay in, no?
0:18 <         thl> | scop, agreed :)
0:18 <      warren> | scop, add that to Exceptions list?
0:18 <        ensc> | what is with 'which'?
0:18 <        scop> | openssh-server is a relic from mach
0:18 <       nirik> | which is used by a lot of configure scripts... 
0:18            --> | finalzone (gaim)  has joined #fedora-extras
0:18 <      warren> | Hmm... maybe we should add which?
0:18 <       nirik> | ie 'which perl' to find out what to call perl with. 
0:19 <        scop> | buildsys-macros is not available in FC/FE, I think it's only in a buildsys private repo
0:19 <      warren> | Anybody else support the idea of adding which?
0:19 <       tibbs> | It would be nice to know what breaks if a particular package gets pulled.
0:19 <         thl> | warren, yeah, let's add it
0:20 <      warren> | Anybody object?
0:20 < abadger1999> | Wouldn't the argument for which also apply to pkgconfig?
0:20 <         thl> | some Makefiles probably rely on it, too
0:20 <        scop> | openssh-server had something to do with the *host's*, not chroot's openssh-server possibly restarted/stopped on some operations
0:20            --> | Sopwith (Undisclosed)  has joined #fedora-extras
0:20              * | scop throws in a blanket -1 to any additions
0:21 <      warren> | I must disagree in the case of which.
0:21 <         thl> | warren, let's skip the addition of which now
0:21 <      warren> | ok
0:21 <         thl> | we can readd it later if it should be needed
0:21 <         thl> | okay, let's move on then
-- 
Thorsten Leemhuis <fedora at leemhuis.info>




More information about the fedora-devel-list mailing list