Recently there has been some fluctuation in the implicit list of packages expected to be in the minimal build roots. Due to this we've had some discussions on what to adjust to ease the pain and re-set expectations going forward.
As such there is a proposal to add a few packages to the Explicit list. Some were already being pulled in implicitly but we want to make them explicit. Some had been missing lately and we'd like them back.
The current list is:
bzip2 unzip fedora-release redhat-rpm-config perl diffutils make cpio gcc coreutils sed which rpm-build gzip patch gcc-c++ tar bash
(perl-devel has been short term added to help with some transitions with the perl -> perl-devel split, however it is now going to be removed)
The proposed new explicit list would look like:
bzip2 unzip fedora-release redhat-rpm-config diffutils make cpio gcc coreutils sed which rpm-build gzip patch gcc-c++ tar bash util-linux-ng gawk info grep findutils
This would currently dep resolve out to 8 new packages, and 3M more content in the buildroot.
For reference a really minimal install (@core, kernel) with rpm-build added in, would need the following packages to have at least this minimal buildroot:
bzip2 gcc-c++ make redhat-rpm-config unzip which binutils cpp gcc glibc-devel glibc-headers kernel-headers libgomp libstdc++-devel
This would be accomplished by a simple 'yum groupinstall buildsys-build'. It's still a few more things that have to be added than I'm comfortable with, I'd much prefer that a micro install + rpm-build gave you what was in the minimal buildroot so that you could have confidence in the BuildRequires, but I'm willing to bend a bit.
Along with these changes would be some clearer text regarding what can be assumed and what can't. Only the Explicit list would be given in the wiki, and only things in the explicit list would be absolutely OK to assume. Anything else should be regarded as "bonus" only and subject to potential change. I have asked Seth Vidal to help create a yum utility that you could run on your system to see what today would bring from installing the minimal build root. Something along the lines of yum-groupdeplist buildsys-build.
Please respond with your comments / questions. I'd like to make these changes as soon as possible to avoid more churn in spec files.
On Thu, 30 Aug 2007 20:53:14 -0400 Jesse Keating jkeating@redhat.com wrote:
The proposed new explicit list would look like:
bzip2 unzip fedora-release redhat-rpm-config diffutils make cpio gcc coreutils sed which rpm-build gzip patch gcc-c++ tar bash util-linux-ng gawk info grep findutils
I forgot to note, perl is not going to be listed explicitly anymore. Perl packages should BuildRequire the specific modules they require to build.
On Thu, 2007-08-30 at 20:53 -0400, Jesse Keating wrote:
Along with these changes would be some clearer text regarding what can be assumed and what can't. Only the Explicit list would be given in the wiki, and only things in the explicit list would be absolutely OK to assume. Anything else should be regarded as "bonus" only and subject to potential change. I have asked Seth Vidal to help create a yum utility that you could run on your system to see what today would bring from installing the minimal build root. Something along the lines of yum-groupdeplist buildsys-build.
How do you want the output? Do you want lists of deps per pkg or just total list of pkgs that would end up installing in a bare chroot from that group installs?
-sv
On Thu, 30 Aug 2007 21:30:31 -0400 seth vidal skvidal@fedoraproject.org wrote:
How do you want the output? Do you want lists of deps per pkg or just total list of pkgs that would end up installing in a bare chroot from that group installs?
Um.. Good question. I'll let the others weigh in on the subject, I could deal with either.
On Thu, 30 Aug 2007, Jesse Keating wrote:
(perl-devel has been short term added to help with some transitions with the perl -> perl-devel split, however it is now going to be removed)
The proposed new explicit list would look like:
bzip2 unzip fedora-release redhat-rpm-config diffutils make cpio gcc coreutils sed which rpm-build gzip patch gcc-c++ tar bash util-linux-ng gawk info grep findutils
This would currently dep resolve out to 8 new packages, and 3M more content in the buildroot.
Mm.. reminds me to hunt through rpm-build's dependencies, there are all sorts of things in the scripts that are required for normal operation but aren't explicitly stated in dependencies because "they're always there anyway" - or have been in the past.
- Panu -
On Thu, Aug 30, 2007 at 08:53:14PM -0400, Jesse Keating wrote:
Recently there has been some fluctuation in the implicit list of packages expected to be in the minimal build roots. Due to this we've had some discussions on what to adjust to ease the pain and re-set expectations going forward.
As such there is a proposal to add a few packages to the Explicit list. Some were already being pulled in implicitly but we want to make them explicit. Some had been missing lately and we'd like them back.
The proposed new explicit list would look like:
bzip2 unzip fedora-release redhat-rpm-config diffutils make cpio gcc coreutils sed which rpm-build gzip patch gcc-c++ tar bash util-linux-ng gawk info grep findutils
It seems to me that the following are still missing: cpp glibc-devel libstdc++-devel binutils
-- Pat
On Fri, 31 Aug 2007 10:19:58 +0200 Patrice Dumas pertusus@free.fr wrote:
It seems to me that the following are still missing: cpp glibc-devel libstdc++-devel binutils
I could manually list those. They are pulled in via rpm-build, but doesn't hurt to list them.
On Thu, 2007-08-30 at 20:53 -0400, Jesse Keating wrote:
Recently there has been some fluctuation in the implicit list of packages expected to be in the minimal build roots. Due to this we've had some discussions on what to adjust to ease the pain and re-set expectations going forward.
As such there is a proposal to add a few packages to the Explicit list. Some were already being pulled in implicitly but we want to make them explicit. Some had been missing lately and we'd like them back.
The current list is:
bzip2 unzip fedora-release redhat-rpm-config perl diffutils make cpio gcc coreutils sed which rpm-build gzip patch gcc-c++ tar bash
(perl-devel has been short term added to help with some transitions with the perl -> perl-devel split, however it is now going to be removed)
The proposed new explicit list would look like:
bzip2 unzip fedora-release redhat-rpm-config diffutils make cpio gcc coreutils sed which rpm-build gzip patch gcc-c++ tar bash util-linux-ng gawk info grep findutils
This would currently dep resolve out to 8 new packages, and 3M more content in the buildroot.
For reference a really minimal install (@core, kernel) with rpm-build added in, would need the following packages to have at least this minimal buildroot:
bzip2 gcc-c++ make redhat-rpm-config unzip which binutils cpp gcc glibc-devel glibc-headers kernel-headers libgomp libstdc++-devel
This would be accomplished by a simple 'yum groupinstall buildsys-build'. It's still a few more things that have to be added than I'm comfortable with, I'd much prefer that a micro install + rpm-build gave you what was in the minimal buildroot so that you could have confidence in the BuildRequires, but I'm willing to bend a bit.
Along with these changes would be some clearer text regarding what can be assumed and what can't. Only the Explicit list would be given in the wiki, and only things in the explicit list would be absolutely OK to assume. Anything else should be regarded as "bonus" only and subject to potential change. I have asked Seth Vidal to help create a
So we now have to buildrequire even the packages from the third list above? Such as binutils, glibc-devel, glibc-headers and kernel-headers? That seems really weird and I'd suggest to add them to the explicit list.
On Fri, Aug 31, 2007 at 10:22:06AM +0200, Tomas Mraz wrote:
So we now have to buildrequire even the packages from the third list above? Such as binutils, glibc-devel, glibc-headers and kernel-headers?
I seem to recall that kernel-headers should never be needed explicitely. And we can assume that the libc headers are brought in by glibc-devel. But binutils and glibc-devel are definitively missing in my opinion.
-- Pat
On Fri, 2007-08-31 at 11:08 +0200, Patrice Dumas wrote:
On Fri, Aug 31, 2007 at 10:22:06AM +0200, Tomas Mraz wrote:
So we now have to buildrequire even the packages from the third list above? Such as binutils, glibc-devel, glibc-headers and kernel-headers?
I seem to recall that kernel-headers should never be needed explicitely.
Well, that's what I consider to be a packaging bug.
IMO, kernel-headers should never be needed unless explicitly required (or being pulled-in indirectly).
Ralf
On Fr August 31 2007, Jesse Keating wrote:
Please respond with your comments / questions. I'd like to make these changes as soon as possible to avoid more churn in spec files.
I do not really care, what is wanted in the buildsys-build group, but imho we should revive the full exception list (all packages that are dependencies of the buildsys-build group) and add them to buildsys-build group. Then once every in every Fedora release development cycle check, whether the full exception list changed (i.e. more or less packages are being installed as dependencies for the minimal packages) and then adjust the buildsys-build group and announce this in fedora-devel-announce. Otherwise it is not really possible to make sure that every BR is really in the spec with a rebuild in mock.
Regards, Till
On Thu, 30 Aug 2007 20:53:14 -0400 Jesse Keating jkeating@redhat.com wrote:
The proposed new explicit list would look like:
bzip2 unzip fedora-release redhat-rpm-config diffutils make cpio gcc coreutils sed which rpm-build gzip patch gcc-c++ tar bash util-linux-ng gawk info grep findutils
These are now the minimal build group. Reasonable requests to add more of what is currently implicit into the explicit list will gladly be discussed, but for now the important thing was to get util-linux-ng back in the set, and to remove perl(-devel) from the set.
Jesse Keating wrote:
On Thu, 30 Aug 2007 20:53:14 -0400 Jesse Keating jkeating@redhat.com wrote:
The proposed new explicit list would look like:
[...]
These are now the minimal build group. Reasonable requests to add more of what is currently implicit into the explicit list will gladly be discussed, but for now the important thing was to get util-linux-ng back in the set, and to remove perl(-devel) from the set.
Can I assume that it is not necessary to rebuild packages for the sole purpose of updating BuildRequires due to the buildroot changes?
--Wart
On Fri, 07 Sep 2007 19:06:56 -0700 Wart wart@kobold.org wrote:
Can I assume that it is not necessary to rebuild packages for the sole purpose of updating BuildRequires due to the buildroot changes?
Yes, that is a safe assumption. You can update cvs now if you wish, but save the build until you have a reason to build.
On Sa September 8 2007, Jesse Keating wrote:
These are now the minimal build group. Reasonable requests to add more of what is currently implicit into the explicit list will gladly be discussed, but for now the important thing was to get util-linux-ng back in the set, and to remove perl(-devel) from the set.
Please make everything that is implicit now, also explicit with "secondary priority" and only remove packages from the Exceptions list once every development cycle. When it is time to clean up the list, you can check whether every "secondary priority" package is a dependency of a "primary priority" package and if one is not, remove it. If would be also nice, if there where was a way to scratch build packages in koji against the implicit list, so one can test whethe BR need to be adjusted in the future. But with the "secondary priority" packages always being installed, it prevents breaking builds for missing BRs without a warning, that this may happen.
Regards, Till
On Saturday 08 September 2007, Jesse Keating wrote:
On Thu, 30 Aug 2007 20:53:14 -0400
Jesse Keating jkeating@redhat.com wrote:
The proposed new explicit list would look like:
[...]
These are now the minimal build group. Reasonable requests to add more of what is currently implicit into the explicit list will gladly be discussed, but for now the important thing was to get util-linux-ng back in the set, and to remove perl(-devel) from the set.
Which distro branches does this change affect? EPEL too?
util-linux-ng is only in Fedora devel, will util-linux be included in the list for earlier distro versions? If yes, I think it'd be good to clarify that in Wiki.
Things at http://buildsys.fedoraproject.org/buildgroups/ don't seem to have been updated yet.
On Sa September 8 2007, Ville Skyttä wrote:
Things at http://buildsys.fedoraproject.org/buildgroups/ don't seem to have been updated yet.
Afaik, the packages there are not needed for devel anymore. \o/
Regards, Till
On Saturday 08 September 2007, Till Maas wrote:
On Sa September 8 2007, Ville Skyttä wrote:
Things at http://buildsys.fedoraproject.org/buildgroups/ don't seem to have been updated yet.
Afaik, the packages there are not needed for devel anymore. \o/
But I think they are needed at least by EPEL and FE-6 build systems, and configurations shipped in the current FE-6 and F-7 mock packages.
On Saturday 08 September 2007, Ville Skyttä wrote:
On Saturday 08 September 2007, Jesse Keating wrote:
On Thu, 30 Aug 2007 20:53:14 -0400
Jesse Keating jkeating@redhat.com wrote:
The proposed new explicit list would look like:
[...]
These are now the minimal build group. Reasonable requests to add more of what is currently implicit into the explicit list will gladly be discussed, but for now the important thing was to get util-linux-ng back in the set, and to remove perl(-devel) from the set.
Which distro branches does this change affect? EPEL too?
util-linux-ng is only in Fedora devel, will util-linux be included in the list for earlier distro versions? If yes, I think it'd be good to clarify that in Wiki.
Things at http://buildsys.fedoraproject.org/buildgroups/ don't seem to have been updated yet.
Ping?
On Fri, Sep 07, 2007 at 09:48:12PM -0400, Jesse Keating wrote:
On Thu, 30 Aug 2007 20:53:14 -0400 Jesse Keating jkeating@redhat.com wrote:
These are now the minimal build group. Reasonable requests to add more of what is currently implicit into the explicit list will gladly be discussed, but for now the important thing was to get util-linux-ng back in the set, and to remove perl(-devel) from the set.
I propose: glibc-devel libstdc++-devel cpp
-- Pat