[Arm-dev] CentOS 7 ARMv7 build status

Sun May 24 13:26:48 UTC 2015
Mandar Joshi <emailmandar at gmail.com>

> Actually, I'm also using the list of packages in failed status, to
> requeue those at the end, automatically. A best option would be to do
> that in a "clever" way, so trying to build a map of BuildRequires: and
> so which package would need to be built before another one, but my
> time is limited at the moment ( <hint> welcome ! </hint> )
>

I do not know if there is an easy way to do this but I was just
playing with the code for yum-builddep and it seems that with better
understanding of yum internals we can use the code in it to generate
an ordered list of packages to compile.

yum-builddep installs packages required to build a particular src.rpm
on the "current" system. We can't use yum-builddep directly because we
do not have an installed CentOS ARM to run yum-builddep on but we can
use its code on an x86_64 to find dependencies for packages we want to
compile.

I put a simple print statement in the get_build_deps function and was
able to get a dependency list for a package. For input 'bash', I got
the list as
------------------
texinfo
ncurses-devel
gettext
bison
autoconf
------------------
We need to do this recursively until we reach a point where the only
dependencies are ones satisfied by our buildroot. eg. libtool
Then we feed this list to plague and have it compile packages in the
order we desire. My understanding of plague is limited at this point
but I do foresee a problem. If we do generate a list of packages in
the right order, how do we make sure plague doesn't mess up the order
in the process of distributing the compile jobs to plague-builders?
Could we use just one plague-builder instance and use the processing
power of remaining nodes with DistCC?

I am new to this. So if there is any flaw in my approach please correct me.


Regards
Mandar Joshi