At the risk of sounding like an newbie, is is possible to build the RPMS for all architectures on the same box at the same time? I would really like to automate this, so that I can keep track of the RPMS's and build them into my own future repo. (That's another project, I'm sure I'll come to the list for that one!)
i think u can do that with virtuals? On Thu, Jan 13, 2011 at 12:25 PM, Mister IT Guru misteritguru@gmx.comwrote:
At the risk of sounding like an newbie, is is possible to build the RPMS for all architectures on the same box at the same time? I would really like to automate this, so that I can keep track of the RPMS's and build them into my own future repo. (That's another project, I'm sure I'll come to the list for that one!)
-- The Solo System Admin - Follow me - I follow you http://solosysad.blogspot.com/ Latest Entry - Smooth Sailing with CentOS -- Mister IT Guru At Gmx Dot Com
CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos
On 13/01/2011 10:39, mahmoud mansy wrote:
On Thu, Jan 13, 2011 at 12:25 PM, Mister IT Guru <misteritguru@gmx.com mailto:misteritguru@gmx.com> wrote:
At the risk of sounding like an newbie, is is possible to build the RPMS for all architectures on the same box at the same time? I would really like to automate this, so that I can keep track of the RPMS's and build them into my own future repo. (That's another project, I'm sure I'll come to the list for that one!)
i think u can do that with virtuals?
I'm not 100% sure I get what you mean? If you mean commissioning virtual machines to build them on, I've thought of that, but I haven't had the time to build a 'compile' farm.
On Thu, 2011-01-13 at 10:25 +0000, Mister IT Guru wrote:
At the risk of sounding like an newbie, is is possible to build the RPMS for all architectures on the same box at the same time?
That would be dependent upon your build environment and how you set it up. As in a mock based chroot or a Non-Root build system along with cross-compiler tools etc. Takes a lot of planing to go along with it also.
For the 3 arches you want they could all be done under mock in a x86_64 environment. Under Non-Root x86_64 Multilib arch machine can be done also with great care in how you choose your devel packages.
Automation could be done with a wrapper script setup, really easy to do. Sometimes you just can not automate every part of it so I would not expect that. You would need to do manual checks on the outcome of the srpm and the binary or build a unit test framework.
John
On 13/01/2011 12:12, JohnS wrote:
On Thu, 2011-01-13 at 10:25 +0000, Mister IT Guru wrote:
At the risk of sounding like an newbie, is is possible to build the RPMS for all architectures on the same box at the same time?
That would be dependent upon your build environment and how you set it up. As in a mock based chroot or a Non-Root build system along with cross-compiler tools etc. Takes a lot of planing to go along with it also.
I am prepared to build a seperate machine specifically for this purpose. It'll be a 64 bit instance, which I am assuming should have no problem compiling for 32 bit systems? I have heard of the mock project, but I have not looked into it for a while. I guess that will be my first port of call.
For the 3 arches you want they could all be done under mock in a x86_64 environment. Under Non-Root x86_64 Multilib arch machine can be done also with great care in how you choose your devel packages.
Automation could be done with a wrapper script setup, really easy to do. Sometimes you just can not automate every part of it so I would not expect that. You would need to do manual checks on the outcome of the srpm and the binary or build a unit test framework.
John
Thanks John, Unit Test Framework - Hmmm, I like the way your thinking, then I suppose I could use it for more than just one source code project. I think this is getting just a touch off topic, but should still be relevant to the sysadmins in the house? hehe
For the 3 arches you want they could all be done under mock in a x86_64 environment. Under
Indeed, I build 32 and 64 bits RPMS on an x86_64 CentOS 5.5 with mock.
In order to deal with the multi arch, I call mock as follow:
setarch $ARCH mock --arch=$ARCH -r <mock config file> --debug $SRPM
Note that I pass the --arch argument to mock, but also had to put additionally setarch before the actual call.
On a side note, use the CentOS mock (in extras), not the one from EPEL.
On Thu, Jan 13, 2011 at 5:25 AM, Mister IT Guru misteritguru@gmx.com wrote:
At the risk of sounding like an newbie, is is possible to build the RPMS for all architectures on the same box at the same time? I would really like to automate this, so that I can keep track of the RPMS's and build them into my own future repo. (That's another project, I'm sure I'll come to the list for that one!)
*IF* your box is an x86_64 box, you can do it. This is usually done with "mock", by using chroot cages with specific layouts and automatic deployment of relevant libraries.
On 13/01/2011 12:26, Nico Kadel-Garcia wrote:
On Thu, Jan 13, 2011 at 5:25 AM, Mister IT Gurumisteritguru@gmx.com wrote:
At the risk of sounding like an newbie, is is possible to build the RPMS for all architectures on the same box at the same time? I would really like to automate this, so that I can keep track of the RPMS's and build them into my own future repo. (That's another project, I'm sure I'll come to the list for that one!)
*IF* your box is an x86_64 box, you can do it. This is usually done with "mock", by using chroot cages with specific layouts and automatic deployment of relevant libraries.
I have an x86_64 box running Xen, so a paravirtualised guest has just been ordered for building a Mock Environment. I'm going to have to run to Google to learn more in the short space of time I have open to me, you guys seems to be nudging me in the right direction.
Thank you
On Thu, Jan 13, 2011 at 7:31 AM, Mister IT Guru misteritguru@gmx.com wrote:
On 13/01/2011 12:26, Nico Kadel-Garcia wrote:
On Thu, Jan 13, 2011 at 5:25 AM, Mister IT Gurumisteritguru@gmx.com wrote:
At the risk of sounding like an newbie, is is possible to build the RPMS for all architectures on the same box at the same time? I would really like to automate this, so that I can keep track of the RPMS's and build them into my own future repo. (That's another project, I'm sure I'll come to the list for that one!)
*IF* your box is an x86_64 box, you can do it. This is usually done with "mock", by using chroot cages with specific layouts and automatic deployment of relevant libraries.
I have an x86_64 box running Xen, so a paravirtualised guest has just been ordered for building a Mock Environment. I'm going to have to run to Google to learn more in the short space of time I have open to me, you guys seems to be nudging me in the right direction.
Thank you
That is going nto be unnecessarily slow. If you can run mock on the Xen server itself, you'll get a noticeable speed-up, especially with large packages like the kernel and Xorg and gimp and Samba.
On 13/01/2011 12:54, Nico Kadel-Garcia wrote:
On Thu, Jan 13, 2011 at 7:31 AM, Mister IT Gurumisteritguru@gmx.com wrote:
On 13/01/2011 12:26, Nico Kadel-Garcia wrote:
On Thu, Jan 13, 2011 at 5:25 AM, Mister IT Gurumisteritguru@gmx.com wrote:
At the risk of sounding like an newbie, is is possible to build the RPMS for all architectures on the same box at the same time? I would really like to automate this, so that I can keep track of the RPMS's and build them into my own future repo. (That's another project, I'm sure I'll come to the list for that one!)
*IF* your box is an x86_64 box, you can do it. This is usually done with "mock", by using chroot cages with specific layouts and automatic deployment of relevant libraries.
I have an x86_64 box running Xen, so a paravirtualised guest has just been ordered for building a Mock Environment. I'm going to have to run to Google to learn more in the short space of time I have open to me, you guys seems to be nudging me in the right direction.
Thank you
That is going nto be unnecessarily slow. If you can run mock on the Xen server itself, you'll get a noticeable speed-up, especially with large packages like the kernel and Xorg and gimp and Samba.
I'm not 100% comfortable with mixing server tasks - especially when the boxes are managed using puppet - (google it, puppet is frikkin awesome!) I always assumed that with paravirtualisation that I'll get near native speeds. Either way, whatever the needs determine - it seems that building a mock environment is the way to go. I'm looking for a mock mailing list, but I guess either this list or the fedora list should be sufficient, right?
On Thu, Jan 13, 2011 at 7:59 AM, Mister IT Guru misteritguru@gmx.com wrote:
I'm not 100% comfortable with mixing server tasks - especially when the boxes are managed using puppet - (google it, puppet is frikkin awesome!) I always assumed that with paravirtualisation that I'll get near native speeds. Either way, whatever the needs determine - it seems that building a mock environment is the way to go. I'm looking for a mock mailing list, but I guess either this list or the fedora list should be sufficient, right?
The problem is that the "server" may not be pristine, and may introduce some very strange dependencies and inconsistencies for your RPM's. One RPM requires samba-server? No problem! Another for a third party Samba utilities requires their cifs-utils? No problem! Until you try to install them both at the same time on the same server....... Then you need a flexible, replaceable, rebuildable and stripped down environment used only for building the relevant RPM's. Mock gives exactly this, with alternative configurations for RPM's based on EPEL, or on RPMforge, to satisfy dependencies as configured by your local author.
It's pretty sweet, and the recent versions of it much, much faster and smaller than the old ones.
On Thu, 13 Jan 2011, Nico Kadel-Garcia wrote:
That is going nto be unnecessarily slow. If you can run mock on the Xen server itself, you'll get a noticeable speed-up, especially with large packages like the kernel and Xorg and gimp and Samba.
Roughly what sort of performance hit do you see with something like this with Xen with virtio?
jh
On Thu, Jan 13, 2011 at 7:31 AM, Mister IT Guru misteritguru@gmx.com wrote:
I have an x86_64 box running Xen, so a paravirtualised guest has just been ordered for building a Mock Environment. I'm going to have to run to Google to learn more in the short space of time I have open to me, you guys seems to be nudging me in the right direction.
Mock is easy to use. You can install it with yum install mock. You will want to set the packager and dist variables in /etc/mock/centos-5-arch.cfg. As far as building SRPMS the command is as simple as
For i386 on a x86_64 box setarch i386 mock -r centos-5-i386.cfg --resultdir=/home/yourhomedir/mock/ package.srpm
For x86_64 mock -r centos-5-x86_64.cfg --resultdir=/home/yourhomedir/mock/ package.srpm
Ryan
On 13/01/2011 13:33, Ryan Wagoner wrote:
On Thu, Jan 13, 2011 at 7:31 AM, Mister IT Gurumisteritguru@gmx.com wrote:
I have an x86_64 box running Xen, so a paravirtualised guest has just been ordered for building a Mock Environment. I'm going to have to run to Google to learn more in the short space of time I have open to me, you guys seems to be nudging me in the right direction.
Mock is easy to use. You can install it with yum install mock. You will want to set the packager and dist variables in /etc/mock/centos-5-arch.cfg. As far as building SRPMS the command is as simple as
For i386 on a x86_64 box setarch i386 mock -r centos-5-i386.cfg --resultdir=/home/yourhomedir/mock/ package.srpm
For x86_64 mock -r centos-5-x86_64.cfg --resultdir=/home/yourhomedir/mock/ package.srpm
Ryan ________
This is good news indeed! Okay, I'm going to build my VM for building this stuff - I'll be back on the list with any questions as I go through this.
On Thu, Jan 13, 2011 at 5:25 AM, Mister IT Guru misteritguru@gmx.com wrote:
At the risk of sounding like an newbie, is is possible to build the RPMS for all architectures on the same box at the same time? I would really like to automate this, so that I can keep track of the RPMS's and build them into my own future repo. (That's another project, I'm sure I'll come to the list for that one!)
Shouldn't be any problems doing it. With the right environment variables you can build any architecture on any other. I.e., I've built ARM and MIPS under x86 before. Tricky, but certainly doable.
On 13/01/2011 13:20, Kwan Lowe wrote:
On Thu, Jan 13, 2011 at 5:25 AM, Mister IT Gurumisteritguru@gmx.com wrote:
At the risk of sounding like an newbie, is is possible to build the RPMS for all architectures on the same box at the same time? I would really like to automate this, so that I can keep track of the RPMS's and build them into my own future repo. (That's another project, I'm sure I'll come to the list for that one!)
Shouldn't be any problems doing it. With the right environment variables you can build any architecture on any other. I.e., I've built ARM and MIPS under x86 before. Tricky, but certainly doable.
At least I know now for sure that it is doable! Great - Well, I guess I better start planning on learning Mock - although I am very open to hearing best practice methods of compiling software cross architecture, if anyone has a blog or website I'd give it a shot.
Greetings,
On 1/13/11, Mister IT Guru misteritguru@gmx.com wrote:
At the risk of sounding like an newbie, is is possible to build the RPMS for all architectures on the same box at the same time?
Not sure, but check out q-emu which emulates many cpu arch .
And add a dash of kvm -qcow lvm disk magic and voila! we have a multi-arch build cloud
Just thinking...
Regards,
Rajagopal