On Tue, 2008-02-05 at 10:22 +0000, Richard W.M. Jones wrote:
Jeremy Katz wrote:
> On Mon, 2008-02-04 at 19:05 +0000, Richard W.M. Jones wrote:
>> I'm posting here to see if anyone has any comments about the way I did
>> this live CD. The kickstart script uses a rather complex %post section,
>> which adds a few files to the filesystem, instead of building RPMs or
>> modifying existing RPMs.
>
>>From a maintainability point of view, you're going to be happier in the
> long run if you actually package up things into RPMs as opposed to just
> concatenating piles of scripts. I've already gotten pretty frustrated
> with just the initscript we're using in the desktop case on a few
> occasions.
So there are two genuine issues with using RPMs:
(1) I need to replace existing files -- in particular I need a new
/etc/inittab. AIUI to do this with RPMs would involve building a custom
'initscripts' RPM and maintaining it, but let me know if I've got that
wrong.
An entirely new inittab seems... overkill. Is an initscript to run your
functionality not good enough?
(2) I'd like users to be able to download the source tarball and
do:
./configure
make
to build an ISO. However the intermediate step -- building RPMs --
requires a full RPM build root inside the user's home directory, so
they'd need to set that up and create the ~/.rpmmacros file, and specify
where it is to ./configure. Again, that's AIUI, please correct me if
I'm wrong.
--define _builddir, etc on the rpmbuild command line works. And you can
then put it under a mktemp'd directory.
>> I've also investigated how to attach stuff to the end of
the ISO image,
>> and the way I've come up with allows me to update an ISO with a new
>> script quite easily, and much more quickly than waiting for
>> livecd-creator to rerun. This great (a) for rapid development and (b)
>> to send new updates to users without forcing them to download another
>> 170 MB ISO.
>
> Ewwww :)
OK funny, but there's a genuine reason for doing this.
Sure, but it's going to be pretty fragile and I know I'd rather have
something more dependable. Why not just use something like xdelta
between isos? A little more time-consuming to create, but I suspect
that time difference is already made up with the time you spent writing
the ocaml script :-)
Jeremy