hi, i write this mail after more people ask me in private. and since the centos core devel team not share any info about it's build system, status, there modifications, doesn't have any public revision system and not really accept any help or advice for outside. but i still believe these are useful info for many others so i try to summarize our rhel-6 rebuild experience.
first question is the build host and base repo selection. it's advice to choose both the build system and the base repo as close as to rhel-6 as possible. unfortunately even with official rhel-6 isos you can't get the optional packages in binary. so imho the best base system and base repo is a union of rhel-6 rc2 and rhel-6 beta. both are available freely in binary but only the beta include the optional packages in binary from. after you finish you can rebuild packages on itself again.
another important note that most update packages (there're a few dozens) have higher buildreq packages then in the base repo, but these buildreqs are not versioned in the specs. so you've to add the updates pacakges to the build system's base packages otherwise you'll get build errors.
i recommend mock-1.1.7 for building. unfortunately at rh it's not required to be able to build src.rpm is mock, they use only rpmbuild (!) which of course cause a few dozen of packages won't build:-( imho it'd be useful something like this for rhel too: http://fedoraproject.org/wiki/FTBFS
so let we see what's are the problematic packages (fortunately most of the packages build clean). all of these packages bellow has a bugzilla entry and most of them already contains the solutions. so just go and search for it (i'd not like to link all bz entry:-()
- virt-top (missing ocaml-camomile-data) - spice-client (missing pixman-devel) these two packages can't be rebuild on rhel-6 since they has such buildreq which is not shipped in rhel-6 (simple rh forget about it:-) so you can either add to the base repo these packages from epel or from a rebuild from fedora or simple drop them.
- bash - zsh can't be rebuild in mock-1.x since a mock tty bug. in this case imho the easiest solution: mock <params> --rebuild bash... ctrl-c during build, then mock <params> --shell rpmbuild --rebuild /builddir/build/originals/bash...
- nss can't be rebuild in mock since during %check try to connect to the localhost to test ssl, but it's not working in mock. i suggest the above solution plus ctrl-c during the rpmbuild when the build hang at the ssl connection test and after the you'll got a successful build:-)
- kernel unfortunately kernel spec is not updated to the new noarch subpackage style. which means you've to build the arch and noarch packages separately (as in rhel-5). but the new spec file even worst then the rhel-5 was so eg: a simple: mock <params> --target "noarch,i686" --rebuild kernel... no longer works, but mock <params> --target "noarch" --rebuild kernel... mock <params> --target "i686" --rebuild kernel... works:-) imho the best would be to update the kernel spec to the new noarch style subpackage, but afais rh so conservative about kernel spec it won't be happened in the rhel-6.x series:-(
- opal has a wrong rh patch which cause ekiga not compile, so you've to fix opal first.
- java-1.6.0-openjdk-1.6.0.0-1.21.b17.el6 can't be build, unfortunately bz with fixes for this package are not public, but there's an update which can be build (may be we'd have to leave this package out).
and the remaining packages has different problems in the spec file, but all has (mostly a simple) solution in bz, but doesn't have update package: - guile - openmpi - foomatic - hivex - mod_auth_kerb - gnome-doc-utils - pilot-link - linuxdoc-tools - perl-Sys-Virt - perl-Test-MockObject - perl-Test-Memory-Cycle - perl-GSSAPI - perl-Makefile-Parser - perl-CGI-Session - perl-IPC-Run3 - python-lxml - python-sqlalchemy - rome - epydoc - kdepim-runtime
i hope it can help for a few poeple.
anyway happy xmas!
On Fri, 24 Dec 2010, Farkas Levente wrote:
i recommend mock-1.1.7 for building. unfortunately at rh it's not required to be able to build src.rpm is mock, they use only rpmbuild (!) which of course cause a few dozen of packages won't build:-( imho it'd be useful something like this for rhel too: http://fedoraproject.org/wiki/FTBFS
I don't know where you get your info but everything is built in mock.
-sv
On 12/24/2010 04:30 PM, Seth Vidal wrote:
On Fri, 24 Dec 2010, Farkas Levente wrote:
i recommend mock-1.1.7 for building. unfortunately at rh it's not required to be able to build src.rpm is mock, they use only rpmbuild (!) which of course cause a few dozen of packages won't build:-( imho it'd be useful something like this for rhel too: http://fedoraproject.org/wiki/FTBFS
I don't know where you get your info but everything is built in mock.
see comment 4: https://bugzilla.redhat.com/show_bug.cgi?id=613392#c4
anyway if thwy would use mock then can't be so much problems and if rh try to rebuild the it's release on itself FTBFS (i assume they've got enough cpu cycle:-) then no package can be missing from the release.
On Fri, Dec 24, 2010 at 10:38 AM, Farkas Levente lfarkas@lfarkas.org wrote:
On 12/24/2010 04:30 PM, Seth Vidal wrote:
On Fri, 24 Dec 2010, Farkas Levente wrote:
i recommend mock-1.1.7 for building. unfortunately at rh it's not required to be able to build src.rpm is mock, they use only rpmbuild (!) which of course cause a few dozen of packages won't build:-( imho it'd be useful something like this for rhel too: http://fedoraproject.org/wiki/FTBFS
I don't know where you get your info but everything is built in mock.
see comment 4: https://bugzilla.redhat.com/show_bug.cgi?id=613392#c4
anyway if thwy would use mock then can't be so much problems and if rh try to rebuild the it's release on itself FTBFS (i assume they've got enough cpu cycle:-) then no package can be missing from the release.
There is nothing that says all BuildRequires packages have to be shipped in the release. It's only important to them that they can build RHEL, not anyone else.
josh
On Fri, Dec 24, 2010 at 04:38:40PM +0100, Farkas Levente wrote:
On 12/24/2010 04:30 PM, Seth Vidal wrote:
On Fri, 24 Dec 2010, Farkas Levente wrote:
i recommend mock-1.1.7 for building. unfortunately at rh it's not required to be able to build src.rpm is mock, they use only rpmbuild (!) which of course cause a few dozen of packages won't build:-( imho it'd be useful something like this for rhel too: http://fedoraproject.org/wiki/FTBFS
I don't know where you get your info but everything is built in mock.
see comment 4: https://bugzilla.redhat.com/show_bug.cgi?id=613392#c4
anyway if thwy would use mock then can't be so much problems and if rh try to rebuild the it's release on itself FTBFS (i assume they've got enough cpu cycle:-) then no package can be missing from the release.
I'm not a RHEL developer but I was asked to sanity check some things in RHEL6 and thoses packages were definitely built in the Red Hat koji instance. There are definitely some differences from running mock locally and running mock inside of koji, though. For instance, some zsh rebuild issues outside of koji were reported here::
http://lists.fedoraproject.org/pipermail/buildsys/2009-November/002755.html
and I recently closed a Fedora zsh FTBFS where the package failed a different self-test in mock-locally but works in mock-in-koji.
-Toshio
Farkas Levente wrote:
hi, i write this mail after more people ask me in private. and since the centos core devel team not share any info about it's build system, status, there modifications, doesn't have any public revision system and not really accept any help or advice for outside. but i still believe these are useful info for many others so i try to summarize our rhel-6 rebuild experience.
Thanks for the summary of your experience. In my case I created a build environment much as you laid out but I am still doing everything as rpmbuild --rebuild rather than a Mock environment. I ended up with 36 packages not building and did have to import a couple of fedora packages to get it to that number. In comparing my list to yours, you have solutions to 11 of those on my list. I will be attempting those when I have the time. My question is this. Are these the only packages you were unable to rebuild, or do you still have some left to resolve? I noticed a few of mine failed with unpackaged elements so I assume those may be resolved with a change in build options. I used to believe that if I just found the right environment all of RedHat's sources would rebuild. I now have found out that, this belief was very naive.
Thanks again Hubert
On Mon, Dec 27, 2010 at 08:03, Hubert Bahr hab@hbahr.org wrote:
Farkas Levente wrote:
hi, i write this mail after more people ask me in private. and since the centos core devel team not share any info about it's build system, status, there modifications, doesn't have any public revision system and not really accept any help or advice for outside. but i still believe these are useful info for many others so i try to summarize our rhel-6 rebuild experience.
Thanks for the summary of your experience. In my case I created a build environment much as you laid out but I am still doing everything as rpmbuild --rebuild rather than a Mock environment. I ended up with 36 packages not building and did have to import a couple of fedora packages to get it to that number. In comparing my list to yours, you have solutions to 11 of those on my list. I will be attempting those when I have the time. My question is this. Are these the only packages you were unable to rebuild, or do you still have some left to resolve? I noticed a few of mine failed with unpackaged elements so I assume those may be resolved with a change in build options. I used to believe that if I just found the right environment all of RedHat's sources would rebuild. I now have found out that, this belief was very naive.
everything else build, except that i've to find the reason why yum wouldn't like to install 32 bit packages into a 64bit system in mock (but this is bot an rh problem).
Farkas Levente wrote:
hi, i write this mail after more people ask me in private. and since the centos core devel team not share any info about it's build system, status, there modifications, doesn't have any public revision system and not really accept any help or advice for outside. but i still believe these are useful info for many others so i try to summarize our rhel-6 rebuild experience.
- nss
can't be rebuild in mock since during %check try to connect to the localhost to test ssl, but it's not working in mock. i suggest the above solution plus ctrl-c during the rpmbuild when the build hang at the ssl connection test and after the you'll got a successful build:-)
I tried this with both versions of nss currently out and do not get the hang on the ssl connection. I get a report of 5 errors and then rebuild ends since errors are greater than 0. I do not understand the significance of 5 errors out of 5000+tests.
- opal
has a wrong rh patch which cause ekiga not compile, so you've to fix opal first.
- epydoc
My interpretation of the above two is not that the don't build, but they build with an error that cause other packages not to build. Is it your intent that we use these patched packages to replace the defective ones in our repository and then build ekiga or python-nss.
i hope it can help for a few poeple.
anyway happy xmas!
Thanks for your info I have now reduced my unbuilt packages down to 10. I haven't used all your patches yet so I expect to reduce them still further. Hubert
On Fri, Dec 31, 2010 at 10:58 PM, Hubert Bahr hab@hbahr.org wrote:
Farkas Levente wrote:
- opal
has a wrong rh patch which cause ekiga not compile, so you've to fix opal first.
My interpretation of the above two is not that the don't build, but they build with an error that cause other packages not to build. Is it your intent that we use these patched packages to replace the defective ones in our repository and then build ekiga or python-nss.
This is the bugzilla Levente filed:
https://bugzilla.redhat.com/show_bug.cgi?id=661769
Akemi
Farkas Levente wrote:
hi, i write this mail after more people ask me in private. and since the centos core devel team not share any info about it's build system, status, there modifications, doesn't have any public revision system and not really accept any help or advice for outside. but i still believe these are useful info for many others so i try to summarize our rhel-6 rebuild experience.
- nss
can't be rebuild in mock since during %check try to connect to the localhost to test ssl, but it's not working in mock. i suggest the above solution plus ctrl-c during the rpmbuild when the build hang at the ssl connection test and after the you'll got a successful build:-)
In an earlier reply I indicated that instead of a hang the build indicated 5 errors. I changed the spec file to allow up to 5 errors and it completed the build. so now I am down to one unbuilt src.rpm
and the remaining packages has different problems in the spec file, but all has (mostly a simple) solution in bz, but doesn't have update package:
- linuxdoc-tools
This is it. I am afraid I am extremely rusty on spec files and while I tried to follow the bz instructions, I don't know whether I improved things or made them worse. While I managed to get rid of the not found errors, I ended up with a long list of unpackaged files. Could I get a copy of your spec file for linuxdoc-tools or a diff/patch file from the distribution spec.
Thanks Hubert
On 01/03/2011 08:33 AM, Hubert Bahr wrote:
- linuxdoc-tools
This is it. I am afraid I am extremely rusty on spec files and while I tried to follow the bz instructions, I don't know whether I improved things or made them worse. While I managed to get rid of the not found errors, I ended up with a long list of unpackaged files. Could I get a copy of your spec file for linuxdoc-tools or a diff/patch file from the distribution spec.
Farkas Levente wrote:
On 01/03/2011 08:33 AM, Hubert Bahr wrote:
Thank you for the Spec file. I was a lot closer than I thought I was. It solved my problem. I believe I have now built all of Red Hat's source rpms. I will now attempt to scrip everything, put to-geather a repository based on these builds and rebuild everything again just to verify I have remembered everything. In my case I use rpmbuild rebuild for about 99% of the build and mock for the remainder. This speeds up the process signifantly on my cluster.
Thanks again Hubert
On Fri, Dec 24, 2010 at 03:38:42PM +0100, Farkas Levente wrote:
- virt-top (missing ocaml-camomile-data)
This one is a genuine bug. We built it in Koji, then decided we didn't need the ocaml-camomile package in RHEL 6 at the last minute because it wasn't actually being used by anything, but we didn't rebuild this (bogus) dependency. RHBZ#661783.
Rich.
epel-devel@lists.fedoraproject.org