← Back to team overview

maria-developers team mailing list archive

Re: RedHat Buildslaves

 

Daniel Bartholomew <dbart@xxxxxxxxxxxxxxxx> writes:

> Daniel> I'm creating the build-slaves based on the KVM setup
> Daniel> instructions you have here:
> Daniel>
> Daniel> http://askmonty.org/wiki/BuildBot:vm-setup#Centos_5_i386

> I now have a rhel6-amd64 vm setup on terrier with base, serial, build,
> and install vms. The steps I went through to set it up are here:
>
> http://kb.askmonty.org/v/buildbot-setup-for-red-hat

> I'm not sure what the next step should be. Probably copying over the
> correct OurDelta file. Can you copy one out After that, do you want to
> take a look at the VMs and see if they're ok for building and install
> testing?

I did this, and set up new builders in Buildbot.

They fail, but the failure looks related to the .spec file and build scripts,
rather than the VMs.

So I would say the VMs are now ok, and the next step is to find someone to
modify the ourdelta build scripts and/or spec files to work with RHEL.

> Once this VM is certifed as good to use as a buildbot buildslave I'll
> move on to rhel4 and rhel5.

As I said, the VMs look reasonable. So if you want, you can start doing the
rhel4/5 ones the same way, or if you prefer, you can wait until the .spec
files are done for rhel6, in case that work turns up something else that is
needed.

> One thing I just realized is that
> the /kvm/MySQL-OurDelta-shared-5.0.87.d10-65.el5.i386.rpm file that I
> placed at /srv/shared/yum/CentOS/5/i386/RPMS/ is not the right
> architecture for an amd64 system, and it's probably not at the right
> path, either (what with CentOS being in the path).

Yeah. I grabbed the amd64 one and copied it in there with my best guess for
the path (and also put it on terrier:/kvm/).

The thing is, it probably needs more than this, someone who understands (or
takes the time to learn) .rpm will have to develop the right solution. The
full story is like this:

The Redhat rpms (original, not ours) put the `mysql` binary in the same
package as libmysqlclient. Then it has other packages depend on this package
to get libmysqlclient.so.15 (old version of client library). So when we
replace the package with a new version of the mysql binary (from MariaDB), we
also have to provide a copy of the _old_ client library (as well as a copy of
the new one of course, libmysqlclient.so.16).

(In contrast, Debian does this correctly, placing the client library in
package libmysqlclient15, which can co-exist with new MySQL/MariaDB versions).

The question is how to get this old library? The MySQL build team told me they
grab it from an old binary package from MySQL 4.1 (or whatever), so the
OurDelta stuff does something similar. Admittedly not a nice solution.

Maybe it is not needed for RHEL 6, if it does not have dependencies on
libmysqlclient15. Or maybe we need to find an old RHEL MySQL .rpm to use
instead. I do not know rpm well enough to have a meaningful opinion.

> I built this directly on terrier, since my local desktop can only run
> with "-cpu qemu32". I tried to build an x86 version on terrier, but I
> kept getting stuck in a VM reboot loop. So I'll have to upload the

Yeah, there is something wierd/different with the qemu-kvm I built on terrier
to fix another problem. But it works with `-cpu qemu64` (also for a 32-bit
VM). Doing it on your local machine should be fine as well.

Thanks,

 - Kristian.