[CentOS-devel] progress?
Ljubomir Ljubojevic
office at plnet.rs
Wed Feb 23 15:34:25 UTC 2011
Les Mikesell wrote:
> On 2/23/11 4:59 AM, Karanbir Singh wrote:
>> I am not sure how to say this any other way, its been said many times
>> over and over again : we dont use any super magic juice anywhere, its
>> mostly just mock in a for loop. Lets assume that there still exists some
>> fear and doubt somewhere about the process in exact terms.
>
> If it is just mock in a for loop, then wouldn't spreading it over more machines
> be guaranteed to make it complete faster? And if you drop the problem in enough
> people's laps, maybe someone will come up with a better automation to
> reverse-engineer the RHEL binaries to predict the correct build order and the
> right missing libraries. I'm too dumb to do it, so don't bother pointing that
> out (as Johnny likes to), but it doesn't seem like an impossible problem - or
> one that should be done case-by-case, manually.
>
You should have few things in mind. My envisioning the rebuilding
process is:
1. It was pointed out that they (have) run first mock loop with
default/basic environment and selected non-building SRPMS for further
analysis and problem solving. They will not re-run SRPMS that can build
until they start the final build.
2. When you deal with hidden dependencies, what comes to my mind is to
first see dependencies from Fedora12(+) packages by *manually*
extracting and comparing .spec files one SRPMS at the time (everybody
from team was assigned part of the non-building SRPMS).
3. Dependencies that are found to be missing are added to the building
list, and if there are no SRPMS for them bug is filed to Red Hat and
then I guess they add the SRPM from Fedora and reconfigure the .spec
file, or maybe wait for Red Hat to publish missing SRPM.
4. SRPMS that have dependencies that will not build left for the end.
5. For those SRPMS that only have missing dependency, they start
comfiguring mock config that will allow them to build that SRPMS.
6. Built RPMS from item 5 are then compared to the RHEL original. If
they pass the test, their mock config if filed for final build and
package is marked solved. If RPMS are not the same as RHEL's, they have
to, again manually, to find why, what is different. This comparing is
mostly done one by one, as soon as one of the team members thinks (s)he
finished it.
As you can see, there is no much automation going on except for few
initial runs, just hard manual labor and frustration. I have tried to
compile many packages for CentOS 5.x that depend on much newer core
files, and finding out what packages I also need to recompile from
Fedora was highly frustrating, and I was just using known dependencies
from existing .spec files.
Certain packages (especially their newer versions) would have as much as
15-20 dependencies (6-7 layers of dependencies deep) until I would hit
some core package I was unwilling to change. And then I would start with
older package version hopping that they do nor require those core packages.
It would take me even 10-12 hours (until I learn how to cut it shorter),
for a single package.
Ljubomir
More information about the CentOS-devel
mailing list