up2dateiso v1.3.0
by Brian C. Lane <bcl@brianlane.com>
Copyright 2004 by Brian C. Lane
Released under GPL v2.0
See COPYING for details
This Python script will create new .iso cdimage files with the latest updates on them. You need to have the original CDs for the distribution to be updated. The names are:
RH9
shrike-i386-disc1.iso
shrike-i386-disc2.iso
shrike-i386-disc3.iso
or
FC1
yarrow-i386-disc1.iso
yarrow-i386-disc3.iso
yarrow-i386-disc2.iso
or
FC2
FC2-i386-disc1.iso
FC2-i386-disc2.iso
FC2-i386-disc3.iso
FC2-i386-disc4.iso
or
CentOS-3.1-i386.disc1.iso
CentOS-3.1-i386.disc2.iso
CentOS-3.1-i386.disc2.iso
Make sure you have enough free space on the device where you run the script. It will create an ./updates directory to hold all the new rpms for the distribution selected, as well as the 3 new iso images so about 5G of free space will be needed.
If you are trying to update a FC2 set on a FC1 system or FC1 on FC2 you will have a problem with the wrong rpm libraries. The program will now try to use local copies of genhdlist and implantisomd5 if the libraries don't match for the version included in the target distribution's anaconda-runtime. You may have to install anaconda-runtime on your system.
Please note that FC2 updates don't work right. The installer asks for way too many CD swaps during install. I have not yet solved this problem and would appreciate any input.
v1.1.0 also introduces random rsync server support. There is a list of mirrors embedded in the program. It will randomly try one each time it is run. If it fails it will report the error and exit.
All of the default mirrors are in the US. If you are somewhere else in the world you can easily add local servers by creating new entries in the MIRROR section for the distribution you are updating.
You can list the files on the rsync server by running rsync like this:
rsync hostname::package/path/to/list/
To update the set of iso's you run the program like this:
up2dateiso fc1
or
up2dateiso fc2
or
up2dateiso rh9
or
up2dateiso centos3
to select the distribution to upgrade. Run up2dateiso with no arguments for a list of supported distributions.
Splash Screens
The splash screen that is shown when the CD first boots can be customized. currently the script uses the splash.lss file on the first disc, or the lss file indicated by the 'SPLASH' setting in the configuration dictionary (near the top of the up2dateiso file).
If you want to include the custom KPLUG splash screen copy the rh9.lss and fc1.lss files into the current directory.
You can make your own splash screen by editing the .ppm files and then running:
ppmtolss16 'D0D0D0=7' < kplug.fc1.ppm > fc1.lss ppmtolss16 'D0D0D0=7' < kplug.rh9.ppm > rh9.lss
to convert them to the .lss files used by the boot cd. A good tutorial on this is at:
http://sweb.cz/Frantisek.Rysanek/splash/isolinux-splash-HOWTO.html
up2dateiso v1.3.0 adds a timestamp and version number at the bottom of the splash screen, so leaving at least the bottom 20 pixels black are a good idea (it will erase them before writing the timestamp).
When you are done you should have 3 new .iso images with the prefix of updated- in their names:
updated-shrike-i386-disc1.iso
updated-shrike-i386-disc2.iso
updated-shrike-i386-disc3.iso
or
updated-yarrow-i386-disc1.iso
updated-yarrow-i386-disc2.iso
updated-yarrow-i386-disc3.iso
or
updated-FC2-i386-disc1.iso
updated-FC2-i386-disc2.iso
updated-FC2-i386-disc3.iso
updated-FC2-i386-disc4.iso
or
updated-CentOS-3.1-i386.disc1.iso
updated-CentOS-3.1-i386.disc2.iso
updated-CentOS-3.1-i386.disc2.iso
I would like to thanks Kevin Pedigo (http://www.frozengeeks.org) for his inspiration for this program -- up2datecd, which although it didn't work quite right, showed me what was possible.
Thanks to Daniele Arduini for the patch to use the local version of genhdlist and implantisomd5 if the libraries for the ones included in the distribution are not found.
Shawn Bakker gets credit for the idea of putting the update timestamp into the splash screen.
If you have any problems or suggestions, please email me at
Brian C. Lane
http://www.brianlane.com
August 15, 2004
