[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Request for comments: build-installer



On Sat, 2003-04-19 at 04:03, Anthony Towns wrote:
> On Fri, Apr 18, 2003 at 11:19:51PM +0100, Alastair McKinstry wrote:
> > In order to get debian-installer built on all archs, I have created a
> > package "build-installer" which creates the images.
> 
> You've created it, or are just thinking about it? If the former, URL?
> 
Oops. Yes, its not obvious.  Its in CVS;
http://cvs.debian.org/debian-boot/debian-installer
Check out the debian-installer, and in the ./build directory, do
debuild, or its equivalent.
(First do 
# make reallyclean
# ./debian/rules configure
This makes the source tarball, ../build-installer-$(VERSION).orig.tar.gz


> > Note: I do _not_ propose that this _package_ ever enters the stable
> > distribution; its a method to make the images for dists/..disks-* that
> > will go into the archive in the normal way. 
> 
> That's not a reason for the package not to enter stable. What if someone
> with some source CDs wants to modify the installer? Why shouldn't they
> be able to just use your package with their updated .udebs?
> 
I agree this is the way to go in the future.
However I feel the current incarnation (0.0.003, the low number because
I expect there to be a _lot_ of frequent, probably daily changes), is
pretty poor. I want to get it running through the buildds soon,
though,because at this moment its primarily a bug finding tool, to show
that doesn't work; we need to do this soon. 

> > The cleanest solution is to tag all relevant sources, wrap them up in a
> > single tarball, and build that when we want to build the images. 
> > 
> > However we also want to rebuild frequently (on all archs), so we want to
> > avoid a massive build process. One way is what is implemented in
> > build-installer-0.0.001, download the udebs and build the image from
> > those. Fast, but it involves downloading in the debian/rules; running
> > the debuild does not give the same image every time; breaks lots of
> > rules. But, if we intend to rebuild the image frequently (eg daily), its
> > the lightest in terms of network load and processor time on the buildds.
> > Call this solution (1)
> 
> That seems plausible, but won't necessary work on the buildds -- you
> don't necessarily have network access, although you probably do. You
> also don't generally have root.
> 
Yes. We need the fix to syslinux to get it all working without root.

> > Better long-term is a method where a preconfigure step constructs all
> > the sources into a tarball; the build-installer-XXX.orig.tar.gz;
> > building this first builds all the udebsm then creates the images from
> > them. Good semantics, builds the same image every time, no downloading
> > during the build. But the tarball is 8-10 MB and build time may be
> > significant. Call this solution (2)
> 
> Huh? All the sources of what? Every udeb? Including libc? That sounds
> like a complete non-starter.
> 

Hmm. 
I'm still debugging the 'build from scratch' option, but for some reason
it doesn't yet seem to think it needs libc-udeb... is it needed for the
images, or are the libcs on the initrds always build via mklibs?
Needs further exploration.

I had originally thought of bundling all the udeb binaries in the
tarball and building from them. But this would mean the tarball needs ~8
MB * 12 archs ..


> > This requires seperate autobuild process for d-i 
> 
> Which would suck. If you need root, you have to do it, though.
> 
> Alternatively, you might be able to arrange to build the images for each
> arch on a single box; this would not suck. Making bootable sparc images
> on an i386 box (or vice-versa) might be tricky.
> 

That could work. How do you get apt to download debs / udebs for a
different arch? 
We may run into some fun at the mklibs stage, but its worth
investigation.


> Cheers,
> aj

Regards,
Alastair



Reply to: