[Aurora-sparc-devel] Build scripts for aurora??

Tom "spot" Callaway tcallawa at redhat.com
Mon Jun 11 18:00:51 EDT 2007


On Mon, 2007-06-11 at 17:51 -0400, Dean Anderson wrote:
> On Thu, 7 Jun 2007, Tom "spot" Callaway wrote:
> 
> > On Thu, 2007-06-07 at 16:05 -0400, Dean Anderson wrote:
> > > Can you post the build scripts that you use to build the distributions?
> > 
> > We're currently using pungi and koji. Its a lot cleaner than how we used
> > to it.
> 
> These just build ISOs, right?  I can do that already with your RPMs and
> SRPMs. That isn't my question.
> 
> Where are the scripts you use to turn SRPMs into RPMs? Suppose I want to
> re-build everything from source? (you do that, right?)

Koji does that, its the buildsystem. It leverages mock to create the
chroot, populate the BuildRequires (and only the BuildRequires), and
build the packages.

> Yes, most SRPMs just work with "rpmbuild -bb <package.spec>". But the
> kernel-smp and the compiler don't 'just work' on rebuild.

They all should. If they don't, something else is wrong. Gcc is notably
difficult to build because it requires a mixed sparc32/64 environment. I
usually end up building the buildroot by hand, but its usually just
ensuring that I have all of the BuildRequires installed for both .sparc
and .sparc64.

> > > How do things like kernel-smp get built?
> > 
> > Like any other packages. I'm not sure what you're looking for here.
> 
> I'd like to build kernel-smp from SRPM. The distributed SRPM identifed
> by the distributed RPM doesn't have a package for kernel-smp.  Perhaps
> there are two SRPMs with the same name and only one is distributed.  
> Perhaps there are some environment variables passed in to rpmbuild by
> the build scripts:

There are not. The kernel-*.src.rpm generates both the kernel and the
kernel-smp packages (and several other subpackages, on recent SRPMs). 

Kernel should be as easy as rpmbuild --rebuild kernel*.src.rpm. You
might want to pick up a newer kernel SRPM, as the one you're looking at
is quite old (Aurora 1.0 maybe?).


> Apparently not.  rpmbuild doesn't build the RPM from the SRPM.  I get
> errors on missing 64bit librarires, regardless of whether the build is
> done in sparc32bash or not.  Perhaps your build machines have different
> rpm macros, environment, or something.

This is a combination of:

A) gcc on sparc being very picky of its BuildRequires (it needs them
for .sparc and .sparc64 at buildtime to enable multiarch support)
B) rpm being dumb (we can't say "BuildRequires: foo.sparc64", it has no
concept of arch specific Requires)

There are ways that Fedora hacks around this in koji, but right now, I'm
just building gcc by hand. But, that is the only magic. There are no
missing incantations or build scripts.

I do all of the builds on a Sun T1000 or Sun T2000 these days, because
they're the fastest boxes that the Aurora Project has. A lot faster than
our old E4500. :)

~spot



More information about the Aurora-sparc-devel mailing list