| BuildingDvds |
UserPreferences |
| SEED Wiki | FrontPage | RecentChanges | TitleIndex | WordIndex | SiteNavigation | HelpContents |
Please understand that the following process is not as it should be in a production system; these are the tools that I (Bob Olson) use to build the releases. They clearly need cleaning up for fully automated use; however, they do work, and the following is precisely the method I use in creating the releases. As SEED production work ramps up and I have the time to streamline this process, it will become easier.
There are three basic steps to building a SEED DVD distribution.
First, a directory containing the compressed and split data directory must be prepared. (Gordon has done this last and will fill in details).
Let us assume that this directory is found in /Volumes/Production/Data.Jan1.
We must now add the remaining files to the release directory - the tar files containing the compiled environment, lightweight code, and other ancillary files; a README; and a MANIFEST with checksums of all files on the disk.
Tools for doing this may be found in the SEED CVS repository in the
FigRelEng module. See the SeedCvs page for information on configuring
your machine to check out from the SEED cvs server. The FigRelEnv
module may be browsed via the CVS web site
here.
Prepare a README file for the distribution disks. Let us call this file README.Jan1; place it in the FigRelEnv directory you have checked out.
Prepare a directory into which the other distribution files will be place. Let's call this /Volumes/Production/ReleaseBase.Jan1.
Prepare the tarfiles that are to be distributed with the DVDs.
The first of these is a code snapshot. I typically use the latest snapshot available (see http://www-unix.mcs.anl.gov/~olson/SEED/CURRENT_RELEASE for the name of the latest release; that package will then be available at http://www-unix.mcs.anl.gov/~olson/SEED/code-<release-name>.tgz.
Download the using `curl -O http://....'. and place in the /Volumes/Production/ReleaseBase.Jan1.
Download the latest environment tarball and place in /Volumes/Production/ReleaseBase.Jan1. A reasonable copy of one can be found on seed-mac-1 in ~olson/Release/2004-0723.
Place a copy of the BLASTMAT.tgz tarball in the release base directory as well.
We will now configure the release builder. This is the script build_release in the FigRelEng directory. All that needs to be done is to find the definition of $distro_dir and set it to the directory containing the release tarballs (/Volumes/Production/ReleaseBase.Jan1 as we have been discussing).
We may now configure the release. Run the following
./build_release --readme README.Jan1 /Volumes/Production/Data.Jan1
This will fill in the data directory with the files needed for installation.
We can now build the disk images.
Change directory to the release we just filled in, and run the following script:
<path to checked out directory>/FigRelEng/assign_image_files \
iso-destination-dir > write-iso-script
This will create a script in write-iso-script that contains the commands to use mksiofs to create the release ISO images. It will look something like this:
# Disk 1: 11 files, 675555574 bytes # MANIFEST InstallSEED scripts.tgz README checksums BLASTMAT.tgz code-july-2004-rel1.tgz env-2004-0702.tgz 0 1 2 SEED.DISK.1 /Users/fig/mkisofs -quiet -J -R -o /Users/olson/SavedDVDImages/2004-07-general/Data.Release.July1.Split.disk_1.iso MANIFEST InstallSEED scripts.tgz README checksums BLASTMAT.tgz code-july-2004-rel1.tgz env-2004-0702.tgz 0 1 2 SEED.DISK.1 # Disk 2: 47 files, 4700000000 bytes # 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 SEED.DISK.2 /Users/fig/mkisofs -quiet -J -R -o /Users/olson/SavedDVDImages/2004-07-general/Data.Release.July1.Split.disk_2.iso 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 SEED.DISK.2 # Disk 3: 47 files, 4700000000 bytes # 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 SEED.DISK.3 /Users/fig/mkisofs -quiet -J -R -o /Users/olson/SavedDVDImages/2004-07-general/Data.Release.July1.Split.disk_3.iso 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 SEED.DISK.3 # Disk 4: 46 files, 4593647360 bytes # 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 SEED.DISK.4 /Users/fig/mkisofs -quiet -J -R -o /Users/olson/SavedDVDImages/2004-07-general/Data.Release.July1.Split.disk_4.iso 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 SEED.DISK.4
The current script assumes mkisofs is in /Users/fig/mkisofs; this is the case on seedu at the moment.
Run the script; this will take some time (likely over an hour). This will create one .iso file per release disk. These images can then be burned using hdiutil:
hdiutil burn filename.iso