# ChangeLog for Gentoo Linux Installer
# Copyright 2005-2008 Gentoo Foundation; Distributed under the GPL v2
# $Id: $

  13 May 2008; Andrew Gaffney <agaffney@gentoo.org> src/Partitioning.py:
  Add support for GPT disklabels

  13 May 2008; Andrew Gaffney <agaffney@gentoo.org>
  src/fe/gtk/PartProperties.py:
  Check for -1 from get_extended_partition() instead of 0 Disable Type
  dropdown all together for disklabel types that don't support extended
  partitions

  17 Apr 2008; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIArchitectureTemplate.py:
  We don't need to extract metadata.tar.bz2 anymore

  16 Apr 2008; Andrew Gaffney <agaffney@gentoo.org> src/fe/gtk/Timezone.py:
  Remove text referring to UTC

  09 Apr 2008; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIInstallProfile.py:
  Add alsa-utils to package list

  07 Apr 2008; Andrew Gaffney <agaffney@gentoo.org> bin/installer-dialog,
  bin/installer-gtk:
  Pass on arguments from commandline

  07 Apr 2008; Andrew Gaffney <agaffney@gentoo.org>
  src/fe/gtk/ProgressDialog.py:
  Truncate progress bar status text at 80 characters

  06 Apr 2008; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIArchitectureTemplate.py:
  Add checking for non-blank local filesystems after mounting

  06 Apr 2008; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIArchitectureTemplate.py:
  Update post-install networking config to use newer conf.d/net syntax

  05 Apr 2008; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIArchitectureTemplate.py:
  run sed on copied make.conf to remove lines that start with ##

  04 Apr 2008; Andrew Gaffney <agaffney@gentoo.org> src/Partitioning.py:
  Modify order of extended check in partitioning code so that it works

  03 Apr 2008; Andrew Gaffney <agaffney@gentoo.org> src/GLIPortage.py:
  sync dynamic-stage3 code in GLIPortage with GLIArch

  03 Apr 2008; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIArchitectureTemplate.py:
  Create /dev/tty1 with dynamic stage3

  28 Feb 2008; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIArchitectureTemplate.py, src/GLIPortage.py,
  src/fe/dialog/gli-dialog.py:
  Switch to running vdb_to_fake_binrepo.py instead of reading systempkgs.txt
  remove all references to systempkgs.txt

  28 Feb 2008; Andrew Gaffney <agaffney@gentoo.org> -src/runtimedeps.py,
  +src/vdb_to_fake_binrepo.py:
  Add vdb_to_fake_binrepo.py script from the always awesome zmedico

  03 Dec 2007; Andrew Gaffney <agaffney@gentoo.org> src/GLIPortage.py:
  force livecd and bindist USE

  03 Dec 2007; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIArchitectureTemplate.py:
  add in metadata_overlay for faster dep calculation

  26 Nov 2007; Andrew Gaffney <agaffney@gentoo.org>
  src/fe/gtk/ExtraPackages.py:
  comment out kernelpkgs stuff in gtkfe

  25 Nov 2007; Preston Cody <codeman@gentoo.org>
  src/fe/dialog/gli-dialog.py:
  adding commmand-line option for advanced mode which allows full functionality.

  18 Nov 2007; Preston Cody <codeman@gentoo.org>
  src/fe/dialog/gli-dialog.py:
  attempting to throw in kernpkgs support.  will see how this goes.

  18 Nov 2007; Andrew Gaffney <agaffney@gentoo.org>
  src/fe/gtk/OtherSettings.py:
  pre-create conf.d/xdm

  17 Nov 2007; Andrew Gaffney <agaffney@gentoo.org> src/GLIUtility.py:
  use proper file name for kernel packages

  17 Nov 2007; Andrew Gaffney <agaffney@gentoo.org>
  src/fe/gtk/Networking.py:
  s/install_logger/install_logging_daemon/

  17 Nov 2007; Andrew Gaffney <agaffney@gentoo.org>
  src/fe/gtk/LocalMounts.py:
  import GLIUtility

  17 Nov 2007; Andrew Gaffney <agaffney@gentoo.org> src/fe/gtk/gtkfe.py:
  start with Partitioning screen

  17 Nov 2007; Andrew Gaffney <agaffney@gentoo.org>
  src/fe/gtk/ExtraPackages.py, src/fe/gtk/LocalMounts.py,
  src/fe/gtk/Networking.py, src/fe/gtk/OtherSettings.py,
  src/fe/gtk/RootPass.py, src/fe/gtk/Timezone.py, src/fe/gtk/gtkfe.py:
  rearrange a bit of code for gtkfe networkless-only transition

  17 Nov 2007; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIUtility:
  add get_kernpkgs_from_cd() function

  17 Nov 2007; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIInstallProfile.py:
  add xdm, gdm, and kdm to package list

  17 Nov 2007; Andrew Gaffney <agaffney@gentoo.org>
  src/fe/dialog/gli-dialog.py:
  modify root mountpoint check in gli-dialog to use a for/else and notify the
  user why they're not being allowed to leave the screen

  17 Nov 2007; Andrew Gaffney <agaffney@gentoo.org>
  src/templates/x86ArchitectureTemplate.py:
  move around parentheses to fix bug 179528

  17 Nov 2007; Andrew Gaffney <agaffney@gentoo.org>
  src/fe/gtk/InstallFailed.py:
  correct bugzilla location for bug 178144

  17 Nov 2007; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIArchitectureTemplate.py, src/fe/gtk/gtkfe.py:
  fix error in debug mode for bug 178475
  force install_type to networkless for gtkfe

  17 Nov 2007; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIArchitectureTemplate.py:
  set TIMEZONE in /etc/conf.d/clock for bug 158882

  17 Nov 2007; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIArchitectureTemplate.py, src/GLIClientController.py,
  src/fe/gtk/InstallFailed.py, src/fe/gtk/gtkfe.py:
  make install log location consistent throughout code
  'View Log' button in gtkfe now looks for active and failed log

  04 Sep 2007; Chris Gianelloni <wolf31o2@gentoo.org>
  src/GLIInstallProfile.py:
  Added x11-themes/gentoo-artwork-livecd to the list of extra packages.

  04 Jan 2007; Preston Cody <codeman@gentoo.org>
    ClientController:
	took out the preinstall steps. these will now be handled by the frontends.
	The actual code for the steps can be put in GLIUtility if necessary.
	IP:
	Took out partitioning.  Added mounts.
	Moved root mount point over from CF
	Removed RP-PPPoE. was never used.
	AT:
	reordered functions.  removed references to the client-config
	fixed fstab and other locations that used mountpoints to use the new mounts.
	removed unused rc.conf function.
	other smaller touchups.
	gli-dialog:
	install_profile() to self._install_profile
	fix reference to arch instaed of self._arch
	x86AT:
	fixed code to use mounts instead of partitioning.
  
  01 Jan 2007; Preston Cody <codeman@gentoo.org>
	fixing all instances of WINDOWSKEYS to WINDOWKEYS
	added space in AT debug line.
	more general updates in an effort to get the code functional

  29 Oct 2006; Preston Cody <codeman@gentoo.org>
  gli-dialog:
  more rearranging of code.  Tossed the review menu and not calling show_settings
  not sure how those are going to turn out just yet.

  22 Oct 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/Partitioning.py:
  first round of refactoring for Partitioning.py (was GLISD)

  22 Oct 2006; Preston Cody <codeman@gentoo.org>
  gli-dialog:
  added in the rest of the code from GLIGenDialog.
  will start picking at it now.
	moved the early questions such as advanced_mode/networkless
	into functions in the GLIDialog class.

  21 Oct 2006; Preston Cody <codeman@gentoo.org>
  ClientController and gli-dialog and GLIGenDialog:
  removing GenDialog, this code will be put into gli-dialog
  moving some ClientController code into gli-dialog as well.
  this is only the beginning :)

#------------------------------------------
# GLI SWITCHES TO SVN.

  15 Sep 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIArchitectureTemplate.py:
  use _wait_for_device_node() any place we were looping and checking before

  13 Sep 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIArchitectureTemplate.py:
  add _wait_for_device_node()
  src/GLIPortage.py:
  raise an exception in get_deps() if pkglist is empty
  -k option to install livecd-kernel to shut up wolf31o2 :P

  11 Sep 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIArchitectureTemplate.py:
  break after installing 1 mta in install_mta()

  10 Sep 2006; Preston Cody <codeman@gentoo.org>
  src/GLIGenDialog.py:
  rewrote how the USE flags work so that they are written correctly in relation
  to the system's USE flags.
  added a while condition on setting a user password
  src/GLIArchitectureTemplate.py:
  adding a self._mounted_devices to keep track of mounted partitions.
  When cleaning up, only unmount these partitions.  Not yet tested.
  
  10 Sep 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIStorageDevice.py:
  properly identify apple_bootstrap partitions

  9 Sep 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIStorageDevice.py:
  pay attention to 'ignoredparts' when reading partition table

  3 Sep 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIArchitectureTemplate.py:
  force conversion of 'mb' to long

  2 Sep 2006; Preston Cody <codeman@gentoo.org>
  Lots of internationalization fixes.  Point to a translation path called
  languages in the dialog directory.  Generated and added .pot files.
  Added gettext to GLIIP for package descriptions.

  01 Sep 2006; Chris Gianelloni <wolf31o2@gentoo.org>
  src/GLIInstallProfile.py:
  Added some more applications to the Extra Packages list.

  1 Sep 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/templates/ppcArchitectureTemplate.py:
  this doesn't need to inherit from x86AT or create an infinite loop by calling
  its own __init__()
  src/GLIArchitectureTemplate.py,src/templates/x86ArchitectureTemplate.py:
  move partitioning code to GLIAT

  31 Aug 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIArchitectureTemplate.py:
  pass quotes_around_value=False when adding default route to conf.d/net

  7 Aug 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIArchitectureTemplate.py:
  copy backup custom.conf from livecd if present

*GLI-0.4 (31 Jul 2006)

  31 Jul 2006; Chris Gianelloni <wolf31o2@gentoo.org> bin/installer:
  Finally properly fixing the installer script. Thanks to Andrew Gaffney for
  doing the testing and coming up with the patch.

  29 Jul 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIArchitectureTemplate.py:
  skip blank entries/files in update_config_files()

  28 Jul 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/templates/x86ArchitectureTemplate.py:
  move logical clipping logic a bit

  27 Jul 2006; Chris Gianelloni <wolf31o2@gentoo.org> bin/installer:
  I've commented out most of the code that used launch. It wasn't working and
  we don't have the time to fix it before the release. I'll look into it after
  the release and make it more robust and flexible.

  27 Jul 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/templates/x86ArchitectureTemplate.py:
  clip logical partition at end of extended

  20 Jul 2006; Chris Gianelloni <wolf31o2@gentoo.org>
  src/GLIInstallProfile.py:
  Added a few more applications to the list of extra packages to be merged,
  all from various GRP sets.

  19 Jul 2006; Chris Gianelloni <wolf31o2@gentoo.org> bin/installer:
  Added launch variable to the end of each try-run with auth, which should
  cause this to function properly. Of course, more testing is needed.

  19 Jul 2006; Chris Gianelloni <wolf31o2@gentoo.org> bin/installer:
  Fix a missed space in the installer script.

  30 Jul 2006; Preston Cody <codeman@gentoo.org>:
  src/GLIClientConfiguration.py:
  adding 'None' with capital N so that the frontends can parse the network type

  17 Jul 2006; Andrew Gaffney <agaffney@gentoo.org>:
  src/GLIClientController.py:
  log version-stamp

  13 Jul 2006; Chris Gianelloni <wolf31o2@gentoo.org> bin/installer:
  Updated the installer script to allow specifying the front-end to run from
  the command line. Currently, it only supports dialog and gtk. It still needs
  some testing, however.

  9 July 2006; Preston Cody <codeman@gentoo.org>
  src/GLIGenDialog.py:
  make lilo only show up for x86 if non-networkless

  25 Jun 2006; Preston Cody <codeman@gentoo.org>
  src/GLIGenDialog.py:
  adding code to auto-add doscsi if a scsi drive detected.
  this code is also in the gtkfe already

  24 Jun 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIPortage.py:
  pass proper PORTAGE_TMPDIR

  17 Jun 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIUtility.py:
  fix list_mirrors() to ignore <uri> lines that don't end on the same line

  17 Jun 2006; Preston Cody <codeman@gentoo.org> :
  Added code to the mta step in AT to parse the install packages list and
  look for mtas and if it finds it emerge it.
  Initial attempt at moving extra_packages early in the setup to only show
  local USE flags relating to those packages.
  .. abandoned local USE project.  no right way to do it.

  9 Jun 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIUtility.py:
  minor tweak to regex for parsing mirrors.xml

  23 May 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/templates/x86ArchitectureTemplate.py:
  make use of strict_start and strict_end in partition recreation

  15 May 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/templates/x86ArchitectureTemplate.py:
  add strict_start and strict_end parameters to _add_partition()
  add _find_current_minor_for_part() function to help with resizing
  fix logical/extended logic in _partition_delete_step()
  in _partition_resize_step(), delete, recreate at new size, resize, delete
  call resize2fs with no size argument so it fills entire partition
  more logging
  only delete, recreate, resize, delete if growing
  pass new size to resize2fs in K

  9 May 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIStorageDevice.py:
  call reorder_minors() from tidy_partitions() instead of
  set_partitions_from_disk()
  add code to reorder_minors() to take extended/logical into consideration with
  non-free partitions

  30 Apr 2006; Preston Cody <codeman@gentoo.org> :
  added a check of the length of the directory in /usr/src if under 6 characters
  should fix bug 131809

  19 Apr 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIArchitectureTemplate.py:
  automatically emerge splashutils and splash-themes-livecd if kernel_bootsplash
  and livecd-kernel

  16 Apr 2006; Preston Cody <codeman@gentoo.org>
  src/GLIGenDialog.py:
  change temp_use="-* " to temp_use="" because apparantly it's a bad idea to -*

  15 Apr 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIInstallProfile.py:
  change kernel-modules to not be so stupid

  9 Apr 2006; Preston Cody <codeman@gentoo.org> :
  GLIMD: fix display problem with execute.pyhtml.
  make tables better.

  8 Apr 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIInstallProfile.py:
  fix handling of int/float for minor
  src/templates/x86ArchitectureTemplate.py:
  save/restore partition name
  src/GLIStorageDevice.py:
  support for partition name

  8 Apr 2006; Preston Cody <codeman@gentoo.org> :
  touchups to add_profile in GLIMD to link to webgli
  add a save to GLIMD profile button in webgli's saveprofile
  gliserv.py:
  initial attempt at custom networking info per client.  hostname support only.

  5 Apr 2006; Andrew Gaffney <agaffney@gentoo.org> :
  src/net/server/html/webgli/partitioning[234].pyhtml:
  small fixes for new partioning code

  2 Apr 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIClientController.py:
  record PID of secondary thread

  1 Apr 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIGenDialog.py:
  small fix for new partitioning code

  30 Mar 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIStorageDevice.py:
  add get_devnode()
  fix up detect_devices() to detect cciss/ida arrays
  src/templates/x86ArchitectureTemplate.py:
  use get_devnode() instead of figuring out the devnode
  skip first 3 steps if partition layout hasn't changed
  wipe disk and create new disklabel before recreating partitions
  src/GLIArchitectureTemplate.py:
  use get_devnode() in local mount and fstab stuff

  26 Mar 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIStorageDevice.py:
  change detect_devices() to handle change in sysfs in 2.6.16 (from lxnay)

  25 Mar 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/templates/x86ArchitectureTemplate.py:
  continue breakup/cleanup of partitioning code

  24 Mar 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIStorageDevice.py:
  set disklabel to default for arch when clearing the partition table
  src/templates/x86ArchitectureTemplate.py:
  complete rewrite of first and second passes

  22 Mar 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIStorageDevice.py, src/templates/x86ArchitectureTemplate.py:
  allow iterating over Device object to get partitions

  21 Mar 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIStorageDevice.py:
  allow access to Device object like a dict

  20 Mar 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIStorageDevice.py:
  allow access to Partition object like a dict

  16 Mar 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/templates/x86ArchitectureTemplate.py:
  fail if any filesystems are mounted on the device being partitioned

  14 Mar 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIStorageDevice.py:
  reorder minor numbers when loading partitions from disk to match the physical
  partition order

  13 Mar 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIStorageDevice.py:
  overhaul for supporting mac disklabels and partitions out of disk order
  remove free space from inside extended partition when extended is removed

  13 Mar 2006; Chris Gianelloni <wolf31o2@gentoo.org> +bin/installer,
  +bin/installer-dialog, +bin/installer-gtk, +docs/gli.png,
  +docs/gli-dialog.png, +src/misc/installer-dialog.desktop,
  +src/misc/installer-faq.desktop, +src/misc/installer-gtk.desktop:
  Added bash scripts, icons, and desktop entries from the ebuild to make my
  life easier.

  10 Mar 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIStorageDevice.py:
  raise an exception if the existing partitions are out of disk order
  look for minors out of order instead of disk position

  8 Mar 2006; Preston Cody <codeman@gentoo.org> :
  src/fe/dialog/gli-dialog and src/GLIGenDialog:
  added networkless mode to gli-dialog.
  
  6 Mar 2006; Preston Cody <codeman@gentoo.org> :
  src/templates/x86AT:
  add windows detection code for grub.  untested.
  
  6 Mar 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/templates/x86ArchitectureTemplate.py:
  bootloader and partitioning external commands log to compile_output.log
  wait for device node to exist before resizing
  add -v to ntfsresize command
  src/GLIStorageDevice.py:
  return start/end with ip structure
  pad min ntfs size by 50 MB just to be safe
  src/GLIArchitectureTemplate.py:
  only install filesystem tools for partitions with a mountpoint

  5 Mar 2006; Preston Cody <codeman@gentoo.org> :
  add error catching and text to saving profile dialogs

  4 Mar 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIPortage.py:
  create /tmp, /var/tmp, and /var/lib/portage with proper permissions
  src/templates/x86ArchitectureTemplate.py:
  fix checks for changed partitions so they will actually get deleted

  3 Mar 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIClientController.py:
  slightly better error handling for pre-install failures

  2 Mar 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/templates/x86ArchitectureTemplate.py:
  proper return code checking for ext2/3 resizing

  28 Feb 2006; Andrew Gaffney <agaffney@gentoo.org>
  src/GLIClientController.py:
  accept 'none' as well as 'null' for network type
  src/GLIArchitectureTemplate.py:
  ignore extended partitions in mount_local_partitions()
  src/templates/x86ArchitectureTemplate.py:
  use get_ordered_partition_list() instead of keys().sort() for new_part_list
  check to make sure start sector for primary isn't less than end sector for
  previous extended
  src/GLIClientController.py:
  write dns servers to /etc/resolv.conf

  27 Feb 2006; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIPortage.py:
  copy_pkg_to_chroot() uses compile_output.log for command output

  23 Feb 2006; Andrew Gaffney <agaffney@gentoo.org> :
  only keep a 1000 line 'scrollback' buffer for the compile output and log file

  20 Feb 2006; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIPortage.py:
  add code make GLIPortage.py capable of being run stand-along for dynamic
  stage3 generation and copying packages in a GRP-ish way
  grp code fixups

  17 Feb 2006; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIPortage.py:
  ignore blank packages passed to get_deps() and emerge()

  14 Feb 2006; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIUtility.py:
  add get_chosts() function

*GLI-0.3 (12 Feb 2006)

  12 Feb 2006; Andrew Gaffney <agaffney@gentoo.org> :
  src/templates/x86ArchitectureTemplate.py:
  pull old start/end sector values from somewhere that actually has them
  add logic for extended partition to code that makes sure new end sector
  doesn't overlap start sector of next partitions
  don't freak out if partition can't be deleted

  11 Feb 2006; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIPortage.py:
  run env-update at the end of copy_pkg_to_chroot()

  10 Feb 2006; Andrew Gaffney <agaffney@gentoo.org> :
  src/templates/x86ArchitectureTemplate.py:
  I'm a complete fscking dumbass. I recorded the end sector for partitions that
  weren't being touched, but I never used it when recreating them...the end was
  calculated from the size in MB instead :/

  9 Feb 2006; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIArchitectureTemplate.py:
  pre-create /lib64 dir and /lib -> /lib64 symlink if it exists on livecd
  copy /etc/{passwd,group,shadow} from livecd to chroot sans 'gentoo'
  src/GLIPortage.py:
  use tar to transfer files from image dir to /mnt/gentoo instead of 'cp -a'
  src/GLIStorageDevice.py,src/GLIInstallProfile.py,src/templates/x86AT.py:
  'resized' flag

  8 Feb 2006; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIPortage.py:
  short circuit and check vdb directly if package begins with '='

  8 Feb 2006; Preston Cody <codeman@gentoo.org> :
  added more packages to extra_packages list in IP

  6 Feb 2006; Andrew Gaffney <agaffney@gentoo.org> :
  src/templates/x86ArchitectureTemplate.py:
  10 tries to create filesystem instead of 3
  src/GLIPortage, src/GLIArchitectureTemplate.py:
  ignore_missing flag for copy_pkg_to_chroot()

  5 Feb 2006; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIPortage.py:
  copy_pkg_to_chroot() uses $ROOT/vdb for ROOT= installs

  26 Jan 2006; Andrew Gaffney <agaffney@gentoo.org> :
  src/net/server/gliserv.py:
  fix handling of 404 for real files
  src/net/server/GLIServerProfile.py:
  look for 'hostname' in attributes instead of 'name'

  22 Jan 2006; Andrew Gaffney <agaffney@gentoo.org> :
  src/SimpleXMLParser.py:
  initial support for 'include' in XML files
  src/GLIStorageDevice.py:
  initial support for %
  src/GLIClientController.py:
  add debugging statements to pre-install steps

  15 Jan 2006; Preston Cody <codeman@gentoo.org> :
  webgli/configfiles:
  	check for key in etc_files['rc.conf'] to fix key error
  webgli/timezone: small fix.
  webgli/extrapackages: list-type fix
  webgli/services: same
  glimd: add/edit_client updates.
  
  12 Jan 2006; Preston Cody <codeman@gentoo.org> :
  added configure.pyhtml to glimd. minor changes
  to top and add_client.  fixed up showargs.
  added execute.pyhtml
  changed register clients line in gliserv for name->hostname.
  updated TODO.

  10 Jan 2006; Preston Cody <codeman@gentoo.org> :
  src/net/server/*:
  added add/del/edit client/profile.pythml for glimd.
  updated templates, showclients, and gliserv.
  
  10 Jan 2006; Andrew Gaffney <agaffney@gentoo.org> :
  src/net/server/*:
  stupid threading module...

  8 Jan 2006; Preston Cody <codeman@gentoo.org> :
  AT: rc.conf -> conf.d/clock
  
  7 Jan 2006; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIPortage.py:
  show 'Calculating dependencies for ...' in subprogress bar at beginning of
  emerge()
  src/GLIArchitectureTemplate.py:
  copy /etc/X11/gdm/gdm.conf.old into chroot if /etc/X11/gdm/gdm.conf exists
  in the chroot
  remove _quickpkg_deps() and _portage_best_{visible,version}()
  src/GLIUtility.py:
  fail immediately in validate_uri() if provided URI can't be parsed
  modify fetch_and_unpack_tarball() and get_uri() to allow fetch subprogress
  debug code in spawn()
  use lower-level os.read() instead of file.read() because python sucks
  src/templates/x86ArchitectureTemplate.py:
  basic subprogress reporting for partitioning
  total_steps was 1 too high

  6 Jan 2006; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIUtility.py:
  move parse_vdb_contents() to GLIPortage
  src/GLIPortage.py:
  remove all symlink fixups
  ignore 'dir' entries in CONTENTS
  call tar with -p

  5 Jan 2006; Preston Cody <codeman@gentoo.org> :
  AT: bootsplash is now gensplash
  gliserv: add advanced_mode to shared_info
  webgli: Added advanced mode.  mostly just disables a few screens.
  
  2 Jan 2006; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIPortage.py:
  get_deps() calls 'emerge -p' and then removed packages that aren't in vdb
  added emerge()
  update sub-progress after each package is emerged
  skip tar, symlink fixup, and copy from image dir to / if no files in CONTENTS
  call get_best_version_vdb() instead of get_best_version_vdb_chroot()
  remove link if it exists before moving content into place
  src/GLIArchitectureTemplate.py:
  install_packages() now calls emerge() in GLIPortage
  change all calls to self._emerge() to self._portage.emerge()
  comment out all emerge status checking...using exceptions now
  call copy_pkg_to_chroot() directly for livecd-kernel

  31 Dec 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIArchitectureTemplate.py:
  remove add_pkg_to_world() and copy_pkg_to_chroot()
  copy installer.log to installer.log.failed on install failure
  src/GLIUtility.py:
  added get_keymaps()
  spawn() takes any False argument for chroot instead of just None
  src/GLIPortage.py:
  copy_pkg_to_chroot() chroot's to run ebuild is use_root=False
  change copy_pkg_to_chroot() to work properly with use_root=False
  figure PORTAGE_TMPDIR properly

  27 Dec 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/net/server/html/*:
  converted showclients, load/saveprofile

  26 Dec 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIPortage.py:
  exclude packages already in chroot vdb from binary deplist
  chroot to use best_version for chroot's vdb
  src/runtimedeps.py:
  accept ROOT via commandline instead of env

  25 Dec 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/runtimedeps.py:
  remove passing of ROOT
  src/GLIPortage.py:
  modify get_deps() to get deptree for each package and merge into final list
  remove depgraph class
  add debugging code to get_deps()
  src/GLIArchitectureTemplate.py:
  combine code for GRP/compile in install_packages() into one block
  debugging code in install_packages()

  24 Dec 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/runtimedeps.py:
  initial commit
  src/GLIPortage.py:
  use separate script for GRP deps
  remove calls to portage module

  23 Dec 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIPortage.py:
  initial commit
  move some of portage function from GLIAT
  flipped around a few function args
  src/GLIArchitectureTemplate.py:
  revamp install_packages() for new GLIPortage

  21 Dec 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIArchitectureTemplate.py:
  extract /usr/livecd/metadata.tar.bz2 to chroot if it exists

  20 Dec 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/net/server/gliserv.py:
  wrap generated code in a class to isolate it a bit better
  302 redirects work
  don't use cgi.escape() for <% %>
  src/net/server/html/webgli/*:
  load/save profile
  src/GLIUtility.py:
  change /sbin/lspci to just lspci

  18 Dec 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIClientController.py:
  change ordering of statements in CC run() while loop to not go past the end
  of the array
  src/GLIArchitectureTemplate.py:
  removed redundant bind mounts

  18 Dec 2005; Preston Cody <codeman@gentoo.org> :
  REMOVED dialogfe.py since it is totally obsolete.  use gli-dialog.py
  added a diagram by blackace from last night.
  added the glossary in RTF format.
  
  17 Dec 2005; Preston Cody <codeman@gentoo.org> :
  x86AT: separated out emerge/configure from running of bootloader
  added MBR drive support to lilo.
  these changes will likely not work.
  AT: added setup_and_run_bootloader step.
  
  12 Dec 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/net/server/gliserv.py:
  call generated code in a function
  src/net/server/html/webgli/*:
  include top/bottom
  src/GLIArchitectureTemplate.py, src/GLIClientController.py,
  src/GLIClientCongifuration.py:
  install mode magic

  11 Dec 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIClientController.py:
  use GLIException when there's an import problem
  added debug code to show install_steps
  src/templates/amd64ArchitectureTemplate.py:
  add . to import path
  proper path this time: ../../templates
  src/GLIArchitectureTemplate.py:
  add _portage_best_version() function

  11 Dec 2005; Preston Cody <codeman@gentoo.org> :
  added initial glossary and gimli diagram to the docs directory.
  modify gli-dialog to allow editing of the install_profile after loading XML.
  
  8 Dec 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/net/server/html/webgli/:
  converted globaluse, localuse, networkmounts, portagetree, and stageselection
  moved saveclientconfig stuff into clientconfig
  moved saveconfigfiles into config files
  converted etc_portage and makedotconf
  converted bootloader and kernel
  convert daemons, extrapackages, networking, review, services, timezone, users
  src/net/server/gliserv.py:
  proper 404 handling for .pyhtml extension
  HTML escape <% %> stuff
  work around python's sucky regexes
  src/GLIInstallProfile.py:
  allow set_{rsync,ftp,http}_proxy() to accept empty values

  7 Dec 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/net/server/gliserv.py:
  initial commit of Legolas templating engine
  302 redirects
  src/net/server/html/index.html, src/net/server/webgli_template.html:
  minor changes for new code
  src/net/server/html/*.pyhtml, src/net/server/html/webgli/*.pyhtml:
  initial commit of the conversion from the monolithic WebGLIHandler.py to the
  one file per path Legolas goodness
  partitioning[2-4] done

  5 Dec 2005; Preston Cody <codeman@gentoo.org> :
  webgli: dhcp options in CC and post-install.
  updated comparison chart.
  webgli: etc/portage/* and distcc support added.  not too-well tested.

  4 Dec 2005; Preston Cody <codeman@gentoo.org> :
  webgli_template.html: valign=top on left side.
  webgli: fix bootloader boot_device. now working.
  webgli: CC proxy done.  post-install proxy in progress.

  3 Dec 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/net/server/webgli_template.html:
  increase padding for content cell to 7px and add colspan=2

  3 Dec 2005; Nicholas D. Wolfood <blackace@gentoo.org> :
  webgli: added graphic bar on top
  webgli: added hover effects on the links on the left
  webgli: re-rendered header_bg.png to stretch without artifacts

  3 Dec 2005; Preston Cody <codeman@gentoo.org> :
  webgli: make.conf disabling fixes for dynamic_stage3
  fixed portage snapshot browse popup
  all changes tested.
  webgli: add debug mode to CC screen. the screen still needs lots of work.
  
  1 Dec 2005; Preston Cody <codeman@gentoo.org> :
  added debug mode question to gli-dialog
  added CC proxies to CC networking for gli-dialog
  webgli: fixed skip CC networking if connection active
  webgli: portage snapshot defaults to CD
  webgli: bootloader mbr drive selection
  webgli: USE flags unselectable if dynamic_stage3
  webgli: manual extra packages and save button.
    
  28 Nov 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIUtility.py:
  change ping count to 2
  docs/comparison.html
  initial commit

  27 Nov 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/templates/x86ArchitectureTemplate.py:
  fix map() issue with grub code
  replace kernel_names and initrd_names loops with one-liners

  27 Nov 2005; Preston Cody <codeman@gentoo.org> :
  gli-dialog won't let you dynamic stage3 without systempkgs.txt.
  initial gli-dialog support for recommended partitioning layout and clear.
  failure cleanup now an option for gli-dialog.
  move livecd-kernel to top of kernel lists.  fix proto bug in rc.conf
  added comparison list and updated TODO!

  26 Nov 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIArchitectureTemplate.py:
  fix to stage1() debug code
  fix to stage2() debug code

  26 Nov 2005; Preston Cody <codeman@gentoo.org> :
  some more bootloader code fixes.  forgot boot_device != mbr_device.

  25 Nov 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIStorageDevice.py:
  fix to unallocated space merging when last one is after part 4
  
  24 Nov 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIArchitectureTemplate.py:
  small fix to debugging code in copy_pkg_to_chroot()

  23 Nov 2005; Preston Cody <codeman@gentoo.org> :
  more bugfixes with bootloader code
  gli-dialog side appears to work
	
  21 Nov 2005; Preston Cody <codeman@gentoo.org> :
  initial adding of boot_device to backend.
  initial boot_device support added to gli-dialog.
  some fixes of my poor coding
	
  20 Nov 2005; Preston Cody <codeman@gentoo.org> :
  converted gli-dialog to use the install_package_list.
  gtkfe has already been converted by AllanonJL
  new way working in gli-dialog now and added to webgli.
  added set/get_boot_device() to IP
  
  19 Nov 2005; Preston Cody <codeman@gentoo.org> :
  get_install_package_list added to InstallProfile.  This can be used by the FEs

  17 Nov 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/templates/x86ArchitectureTemplate.py:
  call ls with '-1 --color=no'

  16 Nov 2005; Preston Cody <codeman@gentoo.org> :
  added warning (#9) to GRP ppl about stage3 tarballs

  15 Nov 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIArchitectureTemplate.py:
  change fat32/fat16 to vfat in mount_local_partitions() so mount doesn't get
  confused

  13 Nov 2005; Preston Cody <codeman@gentoo.org> :
  removed protocols from rc.conf screens
  finished initial rc.conf and make.conf in webgli
  
  13 Nov 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/net/server/gliserv.py:
  add -h option to usage()
  show time and request URI in debug mode
  show client IP in debug mode
  just use IP instead of trying to do a reverse lookup

  12 Nov 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/net/server/gliserv.py:
  'classier' 401 message
  proper commandline parsing
  help via -h
  user/pass can be specificed via commandline option

  11 Nov 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/net/server/gliserv.py:
  basic HTTP auth

  10 Nov 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/net/server/gliserv.py:
  dynamic module reloading (yipee!)
  send 'Last-Modified' header for real files
  respond to HEAD with just headers
  src/net/server/handlers/WebGLIHandler.py:
  icons for drives

  7 Nov 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/net/server/handlers/WebGLIHandler.py:
  initial 'pretty' partition table display support
  clicking partition in 'pretty' display works instead of radio buttons
  radio buttons and pretty display work together
  META redirect instead of javascript
  pretty display stretches across entire screen
  'Recommended layout' and 'Clear drive' functions
  properly catch exceptions from do_recommended()
  src/GLIArchitectureTemplate.py:
  replace preinst, copy, postinst, rm steps with qmerge
  whoops...that shouldn't have been commented out
  create image_dir with -p in copy_pkg_to_chroot()
  more generic of symlink crappiness
  new copy_pkg_to_chroot() actually works now

  6 Nov 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIStorageDevice.py:
  initial generic disk support
  fixes for add_partition() code
  src/net/server/handlers/WebGLIHandler.py:
  added support for creating generic disks
  add new partition working
  save and delete partitions

  6 Nov 2005; Preston Cody <codeman@gentoo.org> :
  webgli: Partitioning making progress.

  5 Nov 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIArchitectureTemplate.py:
  copy_pkg_to_chroot() overhaul - does install the Right Way(TM) (copy files to
  image dir, run pkg_setup, pkg_preinst, copy to /, pkg_postinst, remove image
  dir) and works around /etc/gconf symlink problem

  5 Nov 2005; Preston Cody <codeman@gentoo.org> :
  webgli: lots of updates.  preliminary partitioning.  extra packages works.
  
  3 Nov 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/net/server/gliserv.py:
  httpd now supports HTTPS and falls back to HTTP if not available
  make fallback actually work
  src/net/server/SecureXMLRPCServer.py:
  SecureSocketServer is now threaded

  2 Nov 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/net/client/gliclient.py:
  try to use HTTPS for XMLRPC first and fallback to HTTP
  pretend mode
  src/net/server/gliserv.py, src/net/server/SecureXMLRPCServer.py:
  HTTPS XMLRPC goodness from samyron
  pass name of certificate

  31 Oct 2005; Preston Cody <codeman@gentoo.org> :
  wegli: daemons and services screens done.
  
  30 Oct 2005; Preston Cody <codeman@gentoo.org> :
  webgli: networking and users screens
  added return_redirect to handler.py
  loading and saving install/client profiles works for webgli now
  Review also done

*GLI-0.2 (27 Oct 2005)
    
  26 Oct 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/templates/x86ArchitectureTemplate.py:
  properly check for bootloader emerge exist status with exitsuccess()
  log output of grub install command
  add --batch --no-floppy to grub command
  grubinstallstring only gets logged if debug is on
  src/GLIUtility.py:
  update progress bar to 100% when process finishes

  25 Oct 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIClientController.py:
  added debugging code for the interaction between the 2 threads via Event()
  src/GLIUtility.py:
  doubled the buffer size in spawn()
  bump buffer size up to 16384
  only report progress in 5% increments
  src/GLIArchitectureTemplate.py:
  kernelpkgs.txt support code
  above disabled because it sucks
  added add_pkg_to_world()

  24 Oct 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIArchitectureTemplate.py:
  use tar | tar to copy files in copy_pkg_to_chroot()
  extract devices.tar.bz2 created by baselayout instead of running MAKEDEV

  23 Oct 2005; Preston Cody <codeman@gentoo.org> :
  DEBUGGING ADDED TO AT.  verbose field added to CConfig.
  
  23 Oct 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/net/server/gliserv.py:
  / maps to index.html
  look for actual files in html/
  src/net/html:
  new template
  src/GLIUtility.py:
  added parse_vdb_contents()
  src/GLIArchitectureTemplate.py:
  added copy_pkg_to_chroot()
  added debug code to dynamic-stage3
  switch dynamic-stage3 to new method
  lots of bug fixes from adding debug code

  22 Oct 2005; Preston Cody <codeman@gentoo.org> :
  webgli initial bootloader support + changed make.conf.
  IP: changed defaults for stage, kernel_build_method, kernel_source_pkg.
  
  20 Oct 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIUtility.py:
  horrible tangled mess of code that is tarball unpacking subprogress display
  add unpack progress to portage snapshot
  use read() instead of readlines() in spawn()
  only update progress bar for whole percents

  19 Oct 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/templates/x86ArchitectureTemplate.py:
  change call to 'grub' to use GLIUtility.exitsuccess()
  add definition of 'build_mode' in _configure_lilo()
  src/misc/updategtkfe, src/misc/updateglid:
  fix so subshell is called in root shell

  18 Oct 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/net/server/handlers/WebGLIHandler.py:
  stage screen launches URI browser in sized window with various properties set

  17 Oct 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/misc/updategtkfe:
  updated to actually work
  remove previous snapshot and extracted dir before downloading
  src/misc/updateglid:
  updated to actually work
  src/templates/x86ArchitectureTemplate.py:
  fixed bug where grub code was looking for 'root+root+file_name2'

  16 Oct 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/net/server/handlers/WebGLIHandler.py:
  URI browser
  added mirror selection
  src/GLIUtility.py:
  ls via ssh strips off ending *

  16 Oct 2005; Preston Cody <codeman@gentoo.org> :
  more updates to webgli.  stage selection.

  11 Oct 2005; Preston Cody <codeman@gentoo.org> :
  updated webgli with preliminary Network Mounts support.
  
  9 Oct 2005; Preston Cody <codeman@gentoo.org> :
  GenDialog: string formatting and yes/no label fixes.
  added WebGLI template for gliserv.py
  added WebGLIHandler as well as a definition for it in gliserv.py
  updates to the webgli files even though they won't be there for long.
  Utility: remove exception for non-existant grppkgs.txt until the new livecd
    goes public.
  
  9 Oct 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/net/server/gliserv.py:
  override dict to not be so anal
  main server now loads separate module to handle requests
  src/net/server/handlers/ProfileHandler.py, src/net/server/handler.py:
  split out profile URLs into separate handler function
  move handlers into subdirectory
  add Welcome and Clients handlers

  5 Oct 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIUtility.py:
  raise exception if password prompt received twice

  2 Oct 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIUtility.py:
  removed rot13ify()

  1 Oct 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/net/server/gliserv.py:
  allow for param to be passed multiple times in GET
  no XMLRPC functions return None
  modify POST request parsing to only create a list if needed
  fix GET request parsing so the list creation for multiple values works
  src/net/client/gliclient.py:
  various typo and type mismatch fixes
  exit after exception

  30 Sep 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/net/client/gliclient.py:
  initial commit
  pass MAC to XMLRPC functions
  src/net/server/GLIServerProfile.py:
  rename GLIClientsProfiles to GLIServerProfile

  29 Sep 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/net/server/gliserv.py:
  now handles POST requests
  move majority of request handling code to common_handler() to reduce code
  duplication
  profile loading
  client reg via XMLRPC goes into SharedInfo()
  /showclients redesign
  template fixes
  allow handler functions to add/change headers
  save profile

  28 Sep 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/net/server/GLIClientsProfiles.py:
  initial commit
  src/net/server/template.html:
  initial commit
  src/net/server/gliserv.py:
  add template mojo

  26 Sep 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/net/server/gliserv.py:
  XMLRPC mojo

  22 Sep 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIArchitectureTemplate.py:
  add code in _edit_config() to comment line where variable is defined
  previously
  insert new line under previous definition of variable if it exists
  small _edit_config() cleanup
  src/GLIStorageDevice.py:
  add clear_partitions() function
  new sizes for recommended partition layout
  automatically calculate swap size for recommended layout

  21 Sep 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/templates/x86ArchitectureTemplate.py:
  fat16 mojo

  20 Sep 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIStorageDevice.py:
  prevent do_recommended() from being run twice
  rewrite do_recommended() to be more robust
  src/GLIArchitectureTemplate.py:
  rework _edit_config() to not write duplicate entries

  17 Sep 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIStorageDevice.py:
  added do_recommended() function to automatically created 256M/1G/* layout

  17 Sep 2005; Preston Cody <codeman@gentoo.org> :
  src/gli-dialog.py:  added set_distcc to the list
  GenDialog: added set_distcc. untested.
  IP: added install_distcc flag.
  AT: added install_distcc function based on the flag. runs after build_kernel
  changed AT spawn command for distcc for nodeps.
  
  16 Sep 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIUtility.py:
  add rot13ify() function

  16 Sep 2005; Preston Cody <codeman@gentoo.org> :
  src/GenDialog.py:
  added a sentence of text.  unchecking support added.
  
  15 Sep 2005; Preston Cody <codeman@gentoo.org> :
  src/GLIUtility.py:
  added get_grp_pkgs_from_cd() to return a list of packages in GRP for FE menus
  src/GenDialog.py: 
  still working on extra_packages. transformed the list to new format.
  added GRP indication to list.  untested.
  TODO lists updated.
  src/fe/dialog/gli-dialog.py:
  spelling mistook.
  
  14 Sep 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIUtility.py:
  get_snapshot_from_cd() returns '' instead of 'file://' if nothing found

  5 Sep 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIUtility.py:
  add get_directory_listing_from_uri()
  add http support to above
  add ftp support to above
  add scp support to above
  src/GLIArchitectureTemplate.py:
  "0" instead of 0 for key of single-element dict passed to _edit_config()

  5 Sep 2005; Preston Cody <codeman@gentoo.org> :
  value_only -> only_value
  
  3 Sep 2005; Preston Cody <codeman@gentoo.org> :
  gutted out all of etc_portage structure since it is now all handled by
  etc_files
  
  3 Sep 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIArchitectureTemplate.py:
  install_packages() sends progress update notifications
  src/templates/x86ArchitectureTemplate.py:
  increase sleep to 5s between format tries
  src/GLIClientController.py:
  pass 'self' to AT instead of 'self._pretend'

  2 Sep 2005; Preston Cody <codeman@gentoo.org> :
  logger -> logger.log in x86AT

  1 Sep 2005; Preston Cody <codeman@gentoo.org> :
  added set_etc_portage to IP. debugging gli-d's support for it.
  
  1 Sep 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/templates/x86ArchitectureTemplate.py:
  switch to 3 tries for mkfs instead of looping waiting for dev node to exist

  30 Aug 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIArchitectureTemplate.py:
  add _portage_best_version() function and rework install_packages() to allow
  for future X of Y tracking
  Use best_visible instead of best_version
  tracked down and fixed missing = causing empty install extra packages
  use = when emerging also
  quickpkg hokey pokey
  run _get_packages_to_emerge() again with -pk

  22 Aug 2005; Preston Cody <codeman@gentoo.org> :
  src/ArchTemplate:
  removed install_xorg_x11, and put the xorg.conf copying at
  the end of install_packages.
  added updateglid to /src/misc
  updated all core files with new GPL notice and copyright statement.
  
  21 Aug 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIUtility.py:
  fix get_snapshot_from_cd() to look in /mnt/livecd/snapshots/ if it can't find
  a snapshot in /mnt/cdrom/snapshots/
  get_snapshot_from_cd() adds file:// at the beginning
  change calls to extra package special case functions to 'self.blah'

  21 Aug 2005; Preston Cody <codeman@gentoo.org> :
  src/ArchTemplate: changed "voodoo".
    changed order of portage sync methods.  made a fallback to webrsync if
	normal emerge sync fails.
	removed get_sources_from_cd because it is obsolete.
	add special cases to install_packages. remove fatal exception on package 
	install failure b/c the box will still be bootable.
	add install_xorg_x11. remove adding of xdm to runlevel.  this will now be
	handled in the FEs.
  src/GenDialog: added a bunch of code for dealing with x11-based packages.
  awaiting testing.
  
  20 Aug 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIStorageDevice.py:
  global try/except block around fs resizable detection code
  src/GLIArchitectureTemplate.py, src/GLIClientController.py:
  install-failed cleanup function

  18 Aug 2005; Preston Cody <codeman@gentoo.org> :
  x86ArchTemplate:  updated lilo code.  separated out THREE commands. untested.
  
  16 Aug 2005; Preston Cody <codeman@gentoo.org> :
  GLIGenDialog:
  	add drive choices for loaded configs.
  	force snapshot for dynamic_stage3
	init the snapshoturi input to the cd snapshot if not already selected.
	if dynamic_stage3, skip the make.conf step.
  GLIUtility: add get_cd_snapshot_uri() for local snapshots.
  this fixes parts 1,2,3,6 of bug 102747 for gli-dialog
  
  16 Aug 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIArchitectureTemplate.py:
  manually call MAKEDEV in stage3-dynamic code
  copy /etc/inittab.old to /etc/inittab in chroot
  src/GLIUtility.py:
  add beginning of validate_uri() function
  add file:/// support to validate_uri()
  single quotes when setting livecd password

  15 Aug 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIGenDialog.py:
  change getmountpoint() to get_mountpoint()
  src/misc/updategtkfe:
  committed script to automatically download latest snapshot and run gtkfe
  src/templates/x86ArchitectureTemplate.py:
  fix _configure_lilo_add_windows() for IP -> GLISD stuff
  src/GLIArchitectureTemplate.py:
  give tmp_minor an initial value in mount_local_partitions so that the value
  remain from the previous drive

  14 Aug 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/templates/x86ArchitectureTemplate.py:
  Fix _configure_lilo() for IP using GLISD stuff
  src/GLIArchitectureTemplate.py:
  install_cron_daemon() treats "none" specially

  14 Aug 2005; Preston Cody <codeman@gentoo.org> :
  old patch from Steven Mertens to resolve bug #96642
  numerous asthetic changes to GenDialog, no real functionality changes though.
  strings renamed for global use if necessary.
  fix all three parts of bug 102291
  disable set_etc_portage until fully-written.
  
  13 Aug 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIClientController.py:
  lower-case http/ftp proxy envvars

  12 Aug 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIClientController.py:
  log end of pre_install steps to aid in debugging
  src/templates/x86ArchitectureTemplate.py:
  change set_flag(flag) to set_flag(flag, True)...*stab* *stab*

  10 Aug 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIArchitectureTemplate.py:
  check to make sure that the device node we're wait for to exist isn't of
  type 'free'

  09 Aug 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIGenDialog.py:
  convert install_packages to list in set_extra_packages()
  check return code of checklist() call in "Manual" section
  *actually* fix the first problem

  08 Aug 2005; Robin H. Johnson <robbat2@gentoo.org> src/GLIUtility.py:
  "source /etc/profile" does not ensure the ENV is correctly set up. Use "bash
  -l" instead, to ensure a proper environment (important for CONFIG_PROTECT).

  06 Aug 2005; Andrew Gaffney <agaffney@gentoo.org> :
  src/GLIArchitectureTemplate.py:
  re-fix net.eth1+ symlink code...wtf is wrong with cvs?

  04 Aug 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Add CDATA support to SimpleXMLParser and add utility functions for it.

  04 Aug 2005; Robin H. Johnson <robbat2@gentoo.org> 
  src/GLIArchitectureTemplate.py:
  Fix case where vixie-cron is specified as a full package atom, as we still
  don't want to run 'crontab /etc/crontab' for it.

*GLI-0.1 (3 Aug 2005)

  30 Jul 2005; Preston Cody <codeman@gentoo.org> :
  add scp to list of is_uri() so GenDialog doesn't complain.
  fixed livecd-kernel bug in bootloader code.
  fixed gendialog for dynamic_stage3 instead of "networkless"
  change bootloader to allow for both initrd and initramfs.
  fix IP for dynamic_stage3.
  fix ArchTemplate for broken mountpoint creation.  fix GenDialog part showing.
    
  30 Jul 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Added full scp:// URI support to get_uri() in GLIUtility
  Remove "networkless" from dynamic stage3 if locic.
  Remove print statement from scp:// code.
  Change scp code to check for "assword: " instead of "Password:"
  Fix post-install network code to create net.eth1+ symlink correctly
  Check to make sure pkg can be split on / and some debugging code
  Add 2>dev/null to emerge call in _get_packages_to_emerge()
  SimpleXMLParser handles True/False/None correctly now
  Comment out above fix
  Add partitioning wait-for-device-to-exist code to mount_local_partitions
  
  28 Jul 2005; Scott Myron <samyron@gentoo.org> :
  Removed a FIXME in the GLIClientConfiguration that is no
  longer needed.

  27 Jul 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Default to x86 in ClientConfig
  Typo in build-a-stage3 code.
  Remove MAKEDEV call in build-a-stage3 postscript.

  26 Jul 2005; Preston Cody <codeman@gentoo.org> :
  Rewrote init of IP for gli-d.  Other GenDialog updates.
  allow network_type to be None in CConfig.
  
  24 Jul 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Add _dynamic_stage3 option to IP.
  Add check for that option to dynamic stage3 code in ArchTemplate.
  Fix code to determine default route in get_eth_info() in GLIUtility.
  Fix serialization of dns-servers in ClientConfig.

  24 Jul 2005; Preston Cody <codeman@gentoo.org> :
  changed default values of cron/logger in IP.
  moved GenDialog IP init out to the individual files.  gli-dialog's version
    will change quite a bit.
  
  22 Jul 2005; Preston Cody <codeman@gentoo.org> :
  added ppcArchTemplate.  blank now. working on yaboot.
  modified ArchTemplate for amd64 and ppc custom kernels.
  skeleton implementation of _configure_yaboot.
  small fixes to other templates.

  21 Jul 2005; Preston Cody <codeman@gentoo.org> :
  GenDialog updates. changed comment in IP.
  
  07 Jul 2005; Robin H. Johnson <robbat2@gentoo.org> 
  src/GLIInstallProfile.py:
  Fix codeman's screwup of changing the service seperator to ',' in the parser
  without changing it in the serialization code! Also document this in a
  comment so you find it easier. Everybody needs to make sure they update
  their install profiles!

  07 Jul 2005; Robin H. Johnson <robbat2@gentoo.org> 
  src/GLIArchitectureTemplate.py:
  Fix casting of list to string and concat of None with string, as well as
  commented prototype of checking that mounting actually worked (found a case
  where mount can return success, but the mount won't be done).

  07 Jul 2005; Robin H. Johnson <robbat2@gentoo.org> 
  src/templates/x86ArchitectureTemplate.py:
  Remove TEMP UGLY HACK of time.sleep(5), and replace it with a while loop
  checking for the device, and sleeping 1 second each time.

  07 Jul 2005; Robin H. Johnson <robbat2@gentoo.org> 
  src/templates/x86ArchitectureTemplate.py:
  Refactor install_bootloader code and _install_{grub,lilo} so that 'none' for
  bootloader works again. Also rename _install_{grub,lilo} to
  _configure_{grub,lilo} since they don't install the loaders anymore
  themselves.

  7 Jul 2005; Preston Cody <codeman@gentoo.org> :
  fix global USE flags to not include the arch types at the end.
  updates to GenDialog and gli-d.
  
  6 Jul 2005; Preston Cody <codeman@gentoo.org> :
  fixing bootloader code for no initrd and initrd->initramfs naming change.
  
  6 Jul 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Proper comments and parameters to GLIException in install_mta()
  Allow optional exclusion of HTTP, FTP, and/or RSYNC mirrors in list_mirrors()
  Add strip() to list_mirrors(), list_subarch_from_mirror() and
  list_tarball_from_mirror() to eliminate blank last item.

  5 Jul 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Added stage3 generation code.

  5 Jul 2005; Preston Cody <codeman@gentoo.org> :
  Added sleep(5) to partitioning code, temp got rid of the NOCOLOR in _emerge
  Mild changes to GenDialog.
  
  30 Jun 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Remove separate install step configure_rc_conf() since it's handled by
  update_config_files()
  Make a copy of newvalues in _edit_config() so quotes aren't added when the
  function is called twice on the same file.

  29 Jun 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Missing \ in sed in _get_packages_to_emerge()
  Removed explicit emerging of hotplug and no longer add it to the runlevel.
  Check in _quickpkg_deps() to ignore blank package names returned from
  _get_packages_to_emerge()

  28 Jun 2005; Preston Cody <codeman@gentoo.org> :
  fixed agaffney's missing = and extra : in x86AT. commented out crashing line
  in the dialog.py gauge code.
  
  28 Jun 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Add code to update_config_files() to go through etc_files and update stuff.
  Check to see that _etc_files['make.conf'] exists in get_make_conf()
  Only use float() in partition xml parsing code if type == "free"

  28 Jun 2005; Preston Cody <codeman@gentoo.org> :
  finished almost all internationalization of GenDialog.
  attempt at fixing rc.conf function. moved 3 generate functions out of 
  fe/gtk/RcDotConf and put them in Utility. fixed self bug.
  added dialog.py to the fe/dialog directory so it actually gets used.
  
  27 Jun 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Roll rc_conf and make_conf into master etc_files structure in InstallProfile.

  27 Jun 2005; Preston Cody <codeman@gentoo.org> :
  fix extra entry in list_mirrors()
  beginning internationalization runthrough.
  
  26 Jun 2005; Preston Cody <codeman@gentoo.org> :
  added dialog.py to /src temporarily until it gets accepted upstream.
  fix for unused value in form in dialog.py and changed heights.
  fix GenDialog forms.

  25 Jun 2005; Preston Cody <codeman@gentoo.org> :
  Changed hostname/domainname for new baselayout.
  Changed _add_to_runlevel errors to logs.
  Updated TODO list to show status of GenDialog
  More updates to GenDialog including two checklists that probably won't work.
  update IP to use comma-separated list instead of space separated for services.

  24 Jun 2005; Preston Cody <codeman@gentoo.org> :
  Add dhcp_options to the CC, CConfig, and GenDialog.  More overall changes to
  GenDialog as it gets closer to completion.
  
  22 Jun 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Modify get_eth_info() to take a full interface name (eth0 fex). float()
  instead of int() in add_partition_device_partition() for minor (closes 96804)

  21 Jun 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Changed setup_network_post to check for 'interfaces[interface][0] != "dhcp"'
  instead of 'interfaces[interface][1]' since DHCP uses that field for its
  options. setup_network_post() writes custom DHCP options to /etc/conf.d/net.

  20 Jun 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Apply spawn() patch from #96644 (with minor changes). Make sure the return
  value from all spawn() calls is checked with GLIUtility.exitsuccess(). Fix
  small error with <pipe>.close() returning None. Fix space vs. tab issue.
  Fix undefined variable 'output' issue in spawn().

  20 Jun 2005; Preston Cody <codeman@gentoo.org> :
  More updates to GenDialog and gli-d.
  
  19 Jun 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Modify list_mirrors() to return a list of mirror URL/name pairs.

  19 Jun 2005; Preston Cody <codeman@gentoo.org> :
  Adding gli-dialog.py.  Updates to GenDialog.  Added function to GLIUtility to
  get subarch.
  
  16 Jun 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Backend partitioning will create disklabel is none exists. Installprofile
  defaults to "" now instead of "msdos" for disklabel type. Fix for
  mount_local_partitions() to remember device along with minor in the
  parts_to_mount dict (closes #96319). mount_local_partitions() cleanups and
  add else block to log unsupported netmount types to mount_network_shares()

  15 Jun 2005; Robin H. Johnson <robbat2@gentoo.org> :
  src/GLIArchitectureTemplate.py:
  Refactor kernel_compile common stuff, fix 2.4 build process.
  src/fe/cli/clife.py:
  Logging system.
  src/GLIUtility.py, src/GLIStorageDevice.py:
  Add comments about re-writes needed for boxes without sysfs.

  15 Jun 2005; Robin H. Johnson <robbat2@gentoo.org> :
  src/GLIArchitectureTemplate.py:
  2.4 support (pull version data from /usr/src/linux/Makefile), incl. 
  'make dep' call for custom compile. build_mode support for prepare-only and
  none types completed. custom compile function chains shell functions in
  spawned script, to allow for catching all errors.

  15 Jun 2005; Preston Cody <codeman@gentoo.org> :
  fixed up build_kernel in ArchTemplate for build_mode as well as in dialogfe
  and GenDialog.  other gendialog updates as well.  kernel updates untested.
  
  14 Jun 2005; Robin H. Johnson <robbat2@gentoo.org> :
  src/GLIInstallProfile.py:
  Change structure of etc-portage stuff. The serialization was broken before my
  last commit, and I am the only person that's ever used it. The new schema is
  as follows:
  <etc-portage>
    <file name="package.mask"/>
    <file name="package.unmask">
      <entry atom="sys-kernel/openmosix-sources"/>
    </file>
    <file name="package.use">
      <entry atom="sys-libs/db">
        -java
      </entry>
      <entry atom="dev-libs/cyrus-sasl">
        -ldap
      </entry>
    </file>
  </etc-portage>


  13 Jun 2005; Robin H. Johnson <robbat2@gentoo.org> :
  src/GLIInstallProfile.py:
  Add new entry for gli-profile/kernel-build-method item. Add missing
  serialize_etc_portage (temporary). Make serialize_make_conf always print the
  keys in the same order.  

  13 Jun 2005; Robin H. Johnson <robbat2@gentoo.org> :
  src/GLIArchitectureTemplate.py:
  Clean up commenting used by _edit_config(), and fix bug where wrong comment
  was repeatedly appended to make.conf.
  
  13 Jun 2005; Robin H. Johnson <robbat2@gentoo.org> 
  src/GLIArchitectureTemplate.py:
  Put some Linux-2.6 specific code under a if statement. Store list of
  successfully mounted swap device for using swapoff. Add proper error checking
  to install_packages and install_filesystem_tools. Fixed namespace conflicts on
  'file'. Clean up some redundant code (thanks to pychecker).'

  13 Jun 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Fix typos: get_extended() instead of get_extended_partition(). Added
  list_mirrors() and list_stage_tarballs_from_mirror() functions to GLIUtility.
  Change _emerge("sync") call to direct call to spawn to avoid 'emerge -k sync'

  12 Jun 2005; John N. Laliberte <allanonjl@gentoo.org> :
  GLIInstallProfile.py: add missing set for dhcp_options if a tuple is passed
  in add_network_interface.

  12 Jun 2005; Robin H. Johnson <robbat2@gentoo.org> :
  src/GLIArchitectureTemplate.py:
  ensure PORTAGE_TMPDIR/PORT_LOGDIR/PORTDIR_OVERLAY/PKGDIR exist prior to any
  usage - this caused a failure for stage1/stage2 previously. swapoff for swap
  space at end of install. Mount /dev, /dev/shm, /dev/pts and /sys during
  prepare_chroot.
  
  11 Jun 2005; Robin H. Johnson <robbat2@gentoo.org> +src/cli/clife.py,
  +src/cli/README, +src/fe/installer-cli, +src/fe/installer-dialog, 
  +src/fe/installer-gtk:
  Add new automated CLI frontend. Add scripts that are the intended means to
  use each frontend.

  11 Jun 2005; Robin H. Johnson <robbat2@gentoo.org> :
  src/GLIClientController.py:
  Add null type to network config, for cases where the interface is already up
  and should not be touched (netboot for example).

  11 Jun 2005; Robin H. Johnson <robbat2@gentoo.org> :
  src/GLIArchitectureTemplate.py:
  pcmcia is not a variable name for a call to _add_to_runlevel, it should be a
  string!. Try to use binary packages if available by default.

  11 Jun 2005; Robin H. Johnson <robbat2@gentoo.org> :
  src/GLIArchitectureTemplate.py:
  More error checking for _add_to_runlevel, to ensure that the init script
  actually exists before we try to add it. set_services phase must take place
  after the package installation, otherwise the init scripts might not exist.
  Find the correct init script for the cron and logging daemons, and add that
  instead of the package atom.

  11 Jun 2005; Robin H. Johnson <robbat2@gentoo.org> :
  src/GLIArchitectureTemplate.py:
  Fix up _edit_config so that it works if the file doesn't already exist. Fix
  usage of 'file' to 'contents' for the variable name, as it shadows
  __builtin__.file.

  11 Jun 2005; Robin H. Johnson <robbat2@gentoo.org> :
  src/GLIArchitectureTemplate.py:
  Add MTA install code, and include MTA install phase. Ensure
  PORT_LOGDIR/PORTDIR_OVERLAY are created in _emerge if needed. Add support
  for 'none' kernel config for build_kernel phase. Put kernel_script in
  /var/tmp instead of /root for build_kernel phase.

  11 Jun 2005; Robin H. Johnson <robbat2@gentoo.org> src/GLIInstallProfile.py:
  Rename mta variables to match syslog/cron variables.
  
  11 Jun 2005; Robin H. Johnson <robbat2@gentoo.org> :
  src/GLIArchitectureTemplate.py, src/templates/x86ArchitectureTemplate.py,
  src/.cvsignore, src/fe/dialog/.cvsignore, src/fe/gtk/.cvsignore,
  src/fe/net/client/.cvsignore, src/fe/net/server/.cvsignore,
  src/templates/.cvsignore, src/tests/.cvsignore:
  Refactor partition formatting again to include error checking. Allow 'none'
  for kernel and bootloader specifications. Add .cvsignore files for .py[co].

  11 Jun 2005; Robin H. Johnson <robbat2@gentoo.org> :
  src/GLIArchitectureTemplate.py, src/templates/x86ArchitectureTemplate.py:
  Refactor _emerge to remove duplicate code. Refactor mkfs code in backend to
  only have a single spawn call.

  11 Jun 2005; Preston Cody <codeman@gentoo.org> :
  refixed samyron's fix of set_architecture_template.
  
  11 Jun 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Move /tmp/spawn.sh and /tmp/post-install to /var/tmp since that should always
  be executable.

  10 Jun 2005; Scott Myron <samyron@gentoo.org> :
  Fixed one of the FIXME's in the ClientConfiguration. There is now some
  error checking when you call set_architecture_template.

  10 Jun 2005; Preston Cody <codeman@gentoo.org> :
  moved the mkfsopts input to the partition options menu instead of the during
  the creation process.  updated GenDialog to say it supports reiserfs v3.
  
  9 Jun 2005; Robin H. Johnson <robbat2@gentoo.org> src/GLIInstallProfile.py,
  src/GLIStorageDevice.py, fe/dialog/dialogfe.py:
  Complete support for 'mkfsopts' parameter in main system and dialogfe.
  Add support for other partition types to dialogfe.
  Fix all usages of int(possible_big_number) to long(possible_bit_number) to
  avoid integer overflows and wraparounds.

  9 Jun 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Removed start/end from XML output and added mkfsopts to partitioning info.
  'mkfsopts' parameter is now used and support for creating xfs, jfs, and
  reiserfs is now in (patch from robbat2). Change '_parser' to 'self._parser'
  in GLIClientConfiguration. Change from .1 and .9 to constants for
  partitioning. Fix free space overwriting bug. Remove a few unused functions
  from rewrite. Fix call to get_partition_at()

  8 Jun 2005; Preston Cody <codeman@gentoo.org> :
  Updates to GenDialog and dialogfe.
  
  7 Jun 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Typo (%$^&#$!) fix in GLIStorageDevice. Minor fix recommended by pychecker

  6 Jun 2005; Preston Cody <codeman@gentoo.org> :
  more GenDialog updates to partitioning.
  
  5 Jun 2005; Preston Cody <codeman@gentoo.org> :
  Indenting issue in GLISD/get_ordered_partition_list.
  updates to GenDialog partitioning and added default UTC for timezone in IP.
  
  5 Jun 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Added GLISD.get_model()

  3 Jun 2005; Preston Cody <codeman@gentoo.org> :
  Added get_eth_devices() to GLIUtility.  Updated netfe.py to newest version.
  More updates to GenDialog :)
  
  3 Jun 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Added get_interface_realname() function.

  2 Jun 2005; Preston Cody <codeman@gentoo.org> :
  Added auto-save of CConfig and copying to new /root after install.
  yet even more GenDialog updates.
  
  1 Jun 2005; Preston Cody <codeman@gentoo.org> :
  removed print statement from GLISD.  more updates to GenDialog.
  
  31 May 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Not being able to fetch the stage tarball is now an exception. Chroot wrapper
  passes along exit code. Fix typo in GLIStorageDevice causing mountopts to be
  loaded from XML as ['mountopts']. Changed 'data' to 'self.data' in a few
  places in GLIClientConfiguration.

  27 May 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Fix mount_local_partitions(), configure_fstab(), and
  install_filesystem_tools() to use GLISD directly. A few more fixes for same.
  A few more fixes for templates/x86Archtemplate

  27 May 2005; Preston Cody <codeman@gentoo.org> :
  Removed more unused code from CConfig.  Updated GLIGenDialog, but it is still
  a work in progress.
  
  24 May 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Changes in IP, GLISD, and templates/x86Archtemplate for IP using GLISD
  directly. GLISD can now handle data imported from XML.

  22 May 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Missing colon in GLIClientConfiguration. Add fix to GLIStorageDevice to
  handle blank (no disklabel) disks.

  20 May 2005; Preston Cody <codeman@gentoo.org> :
  HUGE Reorganization of the InstallProfile.  All sections alphabetized, cleaned
  up, documented, and separated out serialization and grouped all sections.
  
  19 May 2005; Preston Cody <codeman@gentoo.org> :
  Reorganization of ClientConfiguration and gutting of unused functions.
  Removed verbose option from CC.  Moved import statement in IP and CConfig up.
  
  18 May 2005; Preston Cody <codeman@gentoo.org> :
  Fix use of /mnt/gentoo instead of _chroot_dir in finishing_cleanup
  
  17 May 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Fixed bug in finishing_cleanup(). Fix a late-night coding error in
  partitioning. CC serializes install profile to disk and prepare_chroot()
  copies it into /mnt/gentoo/root

  16 May 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Moved URI parsing into new function parse_uri()

  14 May 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Added XMLParser module.

  13 May 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Fix is_realstring() and rewrite is_uri() to use a regex to parse the URI.
  Minor fix to is_uri() regex to allow hyphens in hostname.

  12 May 2005; Preston Cody <codeman@gentoo.org> :
  Updated finishing_cleanup for new unmounting method from agaffney.
  
  12 May 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Fix GLILogger to use correct time format string. Fix _edit_config() to
  properly comment out variables. Fix minor bug in finishing_cleanup(). Add
  unicode support to is_realstring().

  11 May 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Added --nocolor to all emerge calls. Fix is_eth_device to test for zero
  return value instead of non-zero. Add code to output a traceback to the
  install log in the event of a GLI or non-GLI exception. Use NOCOLOR=yes
  instead of --nocolor.

  10 May 2005; Preston Cody <codeman@gentoo.org> :
  Added GLIGenDialog.py to make a generic class for the dialog functions that
  can be used by both dialogfe and the netfe/be. updated both for new filename.
  date changes. 2004->2005.
  
  10 May 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Removed 'quiet=True' from spawn() calls

  10 May 2005; Preston Cody <codeman@gentoo.org> :
  Updated GLIUtility with patches from chotchki.  Also added documentation
  
  9 May 2005; Preston Cody <codeman@gentoo.org> :
  Added the function for set_etc_portage to ArchTemplate.  no step for it yet.
  Updated _edit_config in ArchTemplate, make_config, and various other fixes
  from bug #89683, mostly touchups.
  
  6 May 2005; Andrew Gaffney <agaffney@gentoo.org> :
  GLIStorageDevice cleanup patch from bug #91761

  3 May 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Fixed timezone code to not link to /mnt/gentoo/usr/share/zoneinfo/blah. Fix
  _edit_config(). Error logging casts 'error' to str

  2 May 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Exceptions received in CC are logged before being passed to the FE. Added
  code to CC to handle exceptions *not* thrown by the installer itself.

  1 May 2005; Andrew Gaffney <agaffney@gentoo.org> :
  get_max_mb_for_resize() returns -1 if not self.resizeable

  30 Apr 2005; Andrew Gaffney <agaffney@gentoo.org> :
  More dirty rsync hacks :-/

  29 Apr 2005; Preston Cody <codeman@gentoo.org> :
  Patches from chotchki (bug #90325) to improve CC networking.  untested.
  
  29 Apr 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Proxies patch from chotchki (bug #90147). Fixed == instead of = typos in
  GLIStorageDevice (pointed out by chotchki). Fixed missing int()s. Split
  'custom' sync option into 'none' and 'snapshot'. Minor fixes to
  GLIStorageDevice as suggested by pychecker. Fix minor bug in
  _get_packages_to_emerge(). Fix _quickpkg_deps() to call
  _get_packages_to_emerge()

  28 Apr 2005; Preston Cody <codeman@gentoo.org> :
  Added group-adding code to set_users in ArchTemplate

  27 Apr 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Added post-install script code

  23 Apr 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Fixed encapsulation issues in GLIClientController (bug #90141)

  22 Apr 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Update resizing code in GLIStorageDevice

  17 Apr 2005; Preston Cody <codeman@gentoo.org> :
  Update AUTHORS, NEWS, TODO.  Added documentation to GLILogger.

  17 Apr 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Reverted change to ArchTemplate and added support for commented line in old
  code.

  16 Apr 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Changed _edit_config() to modify value in-place instead of commenting out and
  adding the new value to the end of the file.

  15 Apr 2005; Preston Cody <codeman@gentoo.org> :
  Back.  Did the docuementation thang for ArchTemplate and ClientConfiguration.
  Also updated TODO list.

  14 Apr 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Use blackace's one-liner to add comments for all function for use with
  pythondoc.

  13 Apr 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Moved 'end >= device_sectors' check out of loop to check for next partition's
  start point (thanks to Marco Djukic). Fix >4 primary partitions on non-x86.
  Partitioning code now tracks start/end of extended for placing logicals. End
  point of logical is now adjusted along with start.

  11 Apr 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Finish overhaul of backend partitioning code. Fixed all bugs that stood in
  the way of partitioning from a blank disk. Add int() around access to minor
  key in partition information due to new partition code leaving them as float.

  10 Apr 2005; Andrew Gaffney <agaffney@gentoo.org> :
  tidy_partitions() function in GLIStorageDevice. Tweaks to tidy code

  9 Apr 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Major GLIStorageDevice overhaul...all MB now instead of sectors.

  8 Apr 2005; Scott Myron <samyron@gentoo.org> :
  Added support for DHCP options and MAC addresses in the InstallProfile.

  3 Apr 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Changed mountopts check to work for blank and whitespace. Pipe emerge through
  sed to properly strip out junk.

  2 Apr 2005; Preston Cody <codeman@gentoo.org> :
  fixed the way set_timezone works.  added hotplug/coldplug for livecd-kernel
  added --emptytree to stage2. fixed ethx not being added to runlevel defalt.
  
  31 Mar 2005; Preston Cody <codeman@gentoo.org> :
  Fixed indent problem in GLICController
  
  30 Mar 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Check for disklabel type "loop" and use the device name without a minor.

  29 Mar 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Remove /tmp/compile_output.log and /var/log/install.log when install is
  complete. Added code to (hopefully) keep 2nd thread running after install.
  Patch from zahna for extra arguments to the kernel. Patch from zahna to add
  get_eth_info() function. Remove most of content in amd64ArchTemplate and
  make it inherit from x86Archtemplate. kernel_args -> bootloader_kernel_args

  28 Mar 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Added 'append_log=True' to all spawn() calls using logfile=. Append to log
  when unpacking tarball.

  28 Mar 2005; Preston Cody <codeman@gentoo.org> :
  rewrote filesystem_tools.  looks like it works so ripping out all the old
  filesystem_tools code.
  
  26 Mar 2005; Preston Cody <codeman@gentoo.org> :
  Changed the print statements to logging in the partitioning BE code.
  the logger may need to be imported to the x86archtemplate. unknown yet.
  Added the finishing_cleanup function.
  added a fix to the logger from BenUrban
  
  25 Mar 2005; Preston Cody <codeman@gentoo.org> :
  changed InstallProfile to remove is_uri check on kernel, stage, and portage
  URIs.  The blank uri check has been commented out.
  ripped out error checking of set_services.  this is done by _add_to_runlevel.
  
  25 Mar 2005; Andrew Gaffney <agaffney@gentoo.org> :
  set_stage_tarball_uri() doesn't raise an exception on a blank string.

  24 Mar 2005; Andrew Gaffney <agaffney@gentoo.org> :
  GRP-ish quickpkg code pulls PKGDIR and PORTAGE_TMPDIR from make.conf info in
  the install profile if available. Commented out spawn() debugging prints

  23 Mar 2005; Preston Cody <codeman@gentoo.org> :
  small changes to setup_network_post. moved adding to runlevel of net.x to
  after the device gets symlinked.  added domainname runlevel command.
  
  23 Mar 2005; Andrew Gaffney <agaffney@gentoo.org> :
  minor fix (hopefully) to livecd-kernel code. Removed call to mkvardb in
  livecd-kernel code as it's now done by catalyst. Switch _emerge() call to
  spawn() call in livecd-kernel code to pass environment variables.
  livecd-kernel code pulls PKGDIR and PORTAGE_TMPDIR from make.conf info in
  the install profile if available.

  23 Mar 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Added code to build_kernel() and emerge_kernel_sources() in ArchTemplate
  to handle installing the livecd kernel into the new system.

  22 Mar 2005; Preston Cody <codeman@gentoo.org> :
  should emerge hotplug and coldplug before adding them to runlevel.

  21 Mar 2005; Preston Cody <codeman@gentoo.org> :
  took chroot out of grub_install command. 

  21 Mar 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Changed chroot wrapper code in spawn() to write the wrapper the python way
  instead of the bash way to avoid quote conflicts.  Added
  'logfile=self._compile_logfile' to a number of spawn() calls. Added new
  hash_password() function to GLIUtility. Remove command to 'rm /tmp/spawn.sh'
  as it breaks the piping.

  20 Mar 2005; Preston Cody <codeman@gentoo.org> :
  Added the amd64ArchitectureTemplate, mostly a copy of x86 without lilo.

  20 Mar 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Added _get_packages_to_emerge() to GLIArchitectureTemplate and calls in
  stage1() and stage2(). Added 'origminor' parameter to GLIStorageDevice and
  GLIInstallProfile.

  19 Mar 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Fixed a couple bugs in add_netmount() in GLIInstallProfile. spawn() outputs
  to the actual tty8 with display_on_tty8 flag. Compile output logfile moved
  into /mnt/gentoo in prepare_chroot()

  18 Mar 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Add sigunmask.c contributed by d_m (on freenode) to counteract python's
  retarted behavior regarding threads and signals. Add code to convert MB/%/*
  to start/end sectors

  17 Mar 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Add 2>&1 to cmd in spawn()

  16 Mar 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Modified GLIUtility.exitsuccess() to work with return value from
  commands.getstatusoutput instead of os.waitpid(). spawn() automatically
  creates wrapper script for commands run inside chroot so multiple commands
  and redirection can be used. Change exitsuccess() back. Added 'chmod a+x'
  for the generated script from spawn()

  16 Mar 2005; Preston Cody <codeman@gentoo.org> :
  Removed default values for stage tarball URI and portage tree URI from
  InstallProfile.  These should be set by the FEs.  also added services step to
  ArchTemplate and coldplug/hotplug runlevels to the genkernel step.
  Possibly fixed CC DHCP bug with -n. (thx agaffney)

  14 Mar 2005; Preston Cody <codeman@gentoo.org> :
  Small fix for setting the default gateway.  Also added feature to dialogfe.
  
  7 Mar 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Switched spawn() over to commands.getstatusoutput() instead of fork/waitpid

  1 Mar 2005; Preston Cody <codeman@gentoo.org> :
  Fixed a bunch of true -> True typos. lots of em
  only write new resolv.conf if there are dns servers listed.
  
  1 Mar 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Commented out 'display_on_tty8=True' in start_portmap()

  18 Feb 2005; Preston Cody <codeman@gentoo.org> :
  added progress bar to dialogfe and fix logger bug in ArchTemplate.
  
  18 Feb 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Created GLISayWhat module. Renamed GLISayWhat to GLILocalization. Moved
  lang parameter to __init__()
  
  10 Feb 2005; Preston Cody <codeman@gentoo.org> :
  updates to TODO list.

  6 Feb 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Initial code for quickpkg GRP support. Fix loop to grab packages from
  'emerge -p blah'

  6 Feb 2005; Preston Cody <codeman@gentoo.org> :
  check for dhcp in the network stuff and emerge it if it is.
  added quickpkg to TODO list

  5 Feb 2005; Preston Cody <codeman@gentoo.org> :
  Changed the raising of 'warning' exceptions to a simple log of the error
  so that the installer can continue.

  3 Feb 2005; Preston Cody <codeman@gentoo.org> :
  Some big changes.  First, changed most output to display_on_tty8.
  Second, added log lines to all templates.  Some smaller fixes such as typos.
  Also did some cleanups of old commented lines.

  1 Feb 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Changed tty8 output to a fifo. Minor GLIStorageDevice fix thanks to BenUrban.
  Undo change with fix. Escaping fix in GLIStorageDevice.py

  31 Jan 2005; Preston Cody <codeman@gentoo.org> :
  more updates to TODO list.  hopefully we'll soon start removing items instead
  of adding them.

  29 Jan 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Changed the way GLIStorageDevice.get_max_sectors_for_resize() works

  27 Jan 2005; Preston Cody <codeman@gentoo.org> :
  updated TODO list. (again)

  25 Jan 2005; Preston Cody <codeman@gentoo.org> :
  changed output of portmap start to display_on_tty8.
  fixed bootloader for udev and multiple kernels
  fixed custom kernel config (again)

  22 Jan 2005; Preston Cody <codeman@gentoo.org> :
  changed default value of CC._enable_ssh to True because this is smart.
  added code to allow custom kernel .config. may be unstable and break. sorry.

  21 Jan 2005; Andrew Gaffney <agaffney@gentoo.org> :
  partition() now waits until after it checks for partition flags before delete
  the partitions :P

  19 Jan 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Updated TODO. swapon failure it temporarily not an error. swapon is an error
  again. is_uri() check only performed on portage_tree_snapshot_uri if it isn't
  blank.

  19 Jan 2005; Preston Cody <codeman@gentoo.org> :
  Various fixes related to the add_users function.  Still not yet finished.
  Added things to the TODO list.  Lets start using that!

  18 Jan 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Added code to x86Template to format newly created partitions. Also added
  some error checking code. GLIStorageDevice passes 'minor' with data to
  InstallProfile. Added partition() call back in ArchTemplate. Fixed NFS
  mounting code.

  18 Jan 2005; Preston Cody <codeman@gentoo.org> :
  Took out unnecessary setting of random livecd root password. the cd already
  sets it randomly.
  
  15 Jan 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Took out an unneeded step from CC's run()

  15 Jan 2005; Preston Cody	<codeman@gentoo.org> :
  Attempt at detecting and adding windows partitions to lilo.
  
  14 Jan 2005; Preston Cody <codeman@gentoo.org> :
  Added lilo code and cleaned up lilo code.  also do_partitioning renamed to 
  partition. fixed misc exit_status => exitstatus typo.
  
  11 Jan 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Added basic code for resizing filesystems with pyparted. Fixed code for
  resizing ntfs and ext2/3.

  10 Jan 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Fixed partition() in x86Template so that it scans through logicals and deletes
  before deleting containing extended partition. Also clears partition table to
  be safe before third pass.

  08 Jan 2005; Preston Cody <codeman@gentoo.org> :
  Added mount_network_shares. not able to test it from this computer.  
  will test when i get back to school.
  also added start_portmap to the client_controller as an always-do.
  agaffney says this is needed for NFS mounts to work.
  
  08 Jan 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Partial rewrite of partitioning code in x86Template. No longer shells out to
  parted to perform actions, now uses all pyparted calls. Code "works" in a
  test, but still needs lots of TLC. Also modified tests/install.py to work
  with x86Template and GLIClientConfiguration.

  07 Jan 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Initial move of partitioning code from ArchTemplate to x86Template.

  07 Jan 2005; Preston Cody <codeman@gentoo.org> :
  Added grp_install and services to InstallProfile. forgot about the set_root_password

  07 Jan 2005; Preston Cody <codeman@gentoo.org> :
  Fixed a few more edit_configs.  fixed a chroot multicommand bug thanks to
  agaffney.  Test Install ran very well (skipping partitioning).

  05 Jan 2005; Preston Cody <codeman@gentoo.org> :
  My mid-day update.  rewrote mount_local_partitions for order of mounting.
  fixed prepare_chroot.  rewrote configure_fstab and install_bootloader for new
  partition format.  fixed a few _edit_configs. some may still have eluded me.

  05 Jan 2005; Preston Cody <codeman@gentoo.org> :
  Overhauled the entire ArchTemplate and did a lot of other misc fixes in order
  to test it.
  Just finished mount_local_partitions in GLIArchitectureTemplate

  05 Jan 2005; Andrew Gaffney <agaffney@gentoo.org> :
  Added get_num_sectors() to GLIStorageDevice.

  04 Jan 2005; Andrew Gaffney <agaffney@gentoo.org> :
  GLIStorageDevice now tracks partition boundaries in sectors instead of
  cylinders.
  Also now ignores <=100 sectors for free space. Removed remaining depends stuff
  from GLIInstallProfile.

  20 Dec 2004; Andrew Gaffney <agaffney@gentoo.org> :
  GLIStorageDevice returns "unknown" instead of "" for get_type()

  19 Dec 2004; Andrew Gaffney <agaffney@gentoo.org> :
  Added get_extended_partition() to GLIStorageDevice. Rewrote get_logicals() to
  actually work. Commented out resizability checking code for speed.

  17 Dec 2004; Andrew Gaffney <agaffney@gentoo.org> :
  Switched to using dumpe2fs to determine free space left in ext2/3 filesystem
  in GLIStorageDevice at the suggestion of plors

  10 Dec 2004; Andrew Gaffney <agaffney@gentoo.org> :
  Added a function to GLIUtility to pull a value from a make.conf-style config
  file. Minor type fix to GLIInstallProfile.py

  09 Dec 2004; Andrew Gaffney <agaffney@gentoo.org> :
  Added code in GLIArchitectureTemplate.py to write netmounts into fstab.
  Separated network mounts from partition data structure in GLIInstallProfile

  27 Nov 2004; Andrew Gaffney <agaffney@gentoo.org> :
  Changed the way GLIStorageDevice.py determines the amount a ext2/3 filesystem
  can be resized.

  27 Oct 2004; Preston Cody <codeman@gentoo.org> :
  Added some of the final functions to GLIInstallTemplate.
  Yes this project is still active despite rare use of the Changelog!

  11 Jun 2004; Nathaniel McCallum <npmccallum@gentoo.org> :
  Added the GLIPartitionTools.py file.  This is a temporary insertion of 
  partitioning tools that will eventually go into their own package.

  27 Mar 2004; Nathaniel McCallum <npmccallum@gentoo.org> :
  Added InstallProfileTODO.txt.  Added GLIClientConfiguration.py (contains
  run-time for the program).  Added __init__(install_profile,
  client_configuration) to GLI.InstallProfile.  This sets install_profile and
  client_configuration once so as to avoid constantly passing stuff every time
  we call a method.

  26 Mar 2004; Nathaniel McCallum <npmccallum@gentoo.org> :

  Added another private method to GLI.InstallTemplate.  _edit_config() modifies
  config files without messing up all the other stuff in them.  This will be
  used for making changes to make.conf, rc.conf, /etc/conf.d/net, etc...

  25 Mar 2004; Nathaniel McCallum <npmccallum@gentoo.org> :

  Added GLI.InstallTemplate framework.  This is not yet functional.  However,
  it does have a few basic things.  I added two private methods.  One is
  _depends().  This will be used for dependency checking (ie. unpacking a
  tarball requires that partitioning has been done).  The other is
  _exec_in_chroot().  This is the exact same syntax as os.system(), however,
  instead of being run in the liveCD environment, it runs in the chroot.  This
  requires a bit of fork() magic, so I isolated the code.  Hope to work more
  this week to get this class formed...

  14 Feb 2004; Eric Sammer <esammer@gentoo.org> :
  Added SAX parsing. Made GLI.InstallProfile a subclass of
  xml.sax.ContentHandler for obvious reasons. Switched kernel_modules and users
  to be lists instead of tuples to allow for easier modification (mutable,
  rather than immutable objects). Updated existing pydoc and added more.
  Implemented body of GLI.InstallProfile.parse().  Cleaned file format of
  GLI.py a bit. Fixed all accessors to use self references.
  Added initial unit test code.

  9 Feb 2004; Eric Sammer <esammer@gentoo.org> :
  Added initial changelog. Setting up the basic structure of the CVS repository
  for the project. Added the UML class diagram in docs. Added a skeletal GLI
  python module. Added misc files such news, authors, etc.
