Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 14 Oct 2007 09:38:14 -1000
From:      Clifton Royston <cliftonr@lava.net>
To:        FreeBSD hackers list <freebsd-hackers@freebsd.org>
Subject:   Creating install CD with custom ports - how to massage INDEX file?
Message-ID:  <20071014193813.GA2677@lava.net>

next in thread | raw e-mail | index | archive | help
  I've been building my own install CDs for a planned multi-server
upgrade to 6.2Rp8 and ran into one last stumbling block this week.  I
understand the process a lot better now than I did a few years back
when I was doing it for 4.8, but I'm still having trouble pieceing
together how I get my own package set onto the CD in a usable form.

  I built the release with NO_PORTS=yes, because I'm building the ports
from my own CVS tree, which is a tightly pared down subset of the
/usr/ports CVS, plus locally written software in ports format.  I've
ensured that the tree is closed under the dependency operation (to use
some math jargon) - essentially that means that my ports subset includes
all the dependencies of every port I'm including and all of *its*
run/build dependencies in the tree, even if not being built.  That
allows the dependency graph to be calculated and the INDEX-6 file to be
built properly.

  However, copying the INDEX-6 file and my private packages hierarchy
into the CD build area doesn't work; I can read them off the CD
post-install but sysinstall doesn't see them.  It's not a disaster
because I can always put the CD back in after booting and install them
then, but it would would be nice to get them all zapped in with the
initial install.

  I think from reading the assorted documentation and people's notes on
release-building that the problem is that the INDEX-6 file needs to be
massaged into a slightly different format for sysinstall, and I am not
clear on the right way to do that for an existing package set, if
you're not doing it via the release "build everything" approach and not
working off the vanilla ports CVS.  To simplify matters further, it all
fits on disc 1 - it's not a big file set, so it doesn't need to be
split onto multiple disks.

  I've looked through the many fine manuals here, here, and here:
<http://www.freebsd.org/doc/en_US.ISO8859-1/articles/releng/article.html>; 
<http://www.gsoft.com.au/~doconnor/FreeBSD-release.html>;
<http://www.freebsd.org/doc/en_US.ISO8859-1/articles/releng-packages/article.html>;
  (This last comes tantalizingly close but doesn't get me quite there
  because it doesn't clarify under what directories or hierarchies these
  scripts should be installed and run, especially if you have a
  complete package set built.)

  This probably boils down to just one "make release" subcommand I need
to give at the right stage, after putting my copied ports tree and/or
package tree in the right magic place, but I'm not getting it.  I'd
appreciate a hint from anybody who knows this step. 

  -- Clifton

-- 
    Clifton Royston  --  cliftonr@iandicomputing.com / cliftonr@lava.net
       President  - I and I Computing * http://www.iandicomputing.com/
 Custom programming, network design, systems and network consulting services



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071014193813.GA2677>