[Rubyinstaller-devel] a simple ruby build script for macos x

Mark Hubbart discordantus at gmail.com
Mon Nov 15 03:04:27 EST 2004


Hi,

On Sun, 14 Nov 2004 20:14:02 -0500, Steve Steiner <ssteiner at mac.com> wrote:
> Mark,
> 
>         Thanks!
> 
>         Where it says:
> 
>         # By hand from now on, at the moment.
> 
>         What exactly do you do from there on out?  I'd like to plan the
> automation of that part, too.

When the automated part was finished, I had two directories, one that
held copies of all the installed readline files, and one that held all
the readline files and all the ruby files. For the recent package I
made, here are the basic steps that were needed to finish the process,
after the automated part was done: (more details below)

1. Remove any readline files from the ruby directory; move the
'readline.bundle' into the readline tree.
2. Using the GUI PackageMaker program
(/Developer/Applications/Utilities), create basic packages.
3. Use PackageMaker to create one meta-package for the two normal packages.
4. Put the packages in a folder with the meta-package, throw in the
sample code from the source tree.
5. Use DiskUtility to create a read/write disk image from that folder,
then set icon positions, background images, window size, etc. from the
Finder. Use DiskUtility to convert the read/write disk image to a
read-only compressed image.

Step one was fairly simple to solve. Since the release, I wrote up a
simple class to handle moving the files to the right place, based on
snapshots taken between installs.

Step two shouldn't be too much of a problem, the PackageMaker util can
be called from the command line, and you can pass all the necessary
filenames as arguments. Type
`/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
--help` to get the list of arguments required.

Step three might be more hairy; I can't see that there's a cli way to
have PackageMaker create the metapackages. It may come down to
"hand-building" them, using several separate tools to create the
correct format. I haven't looked into this much yet; but I know there
*is* a solution, I'm just not sure how much work will be involved.

Step four is just moving around the files, no problem. Copying out the
sample code will require special cases, though, since not all the
sample code is in the standard locations. Copying the sample code is
not a vital step, but some of those who emailed me mentioned how nice
it was to have all the sample code there in one place for them to
peruse. Still, that step is simple.

Step five; All the disk image creation and conversion is dead simple,
using `hdiutil`. Setting icon positions and background images might be
more difficult, though. I realize the importance of the presentation
is debatable, though, and it is the least important item on the list,
afaic.

So that's about it. Any questions, just ask.

cheers,
Mark


More information about the Rubyinstaller-devel mailing list