fix boot device detection. was only looking at drives with mounts b4. untested.
fixed silly bug in save filename
adding back in set_etc_portage to install process.
putting an exit(0) back in trunk just because.

multiple gli-dialog changes:
removed a bunch of commented-out partitioning code.
add xorg-x11 to package list if not already there if
the user selects a windowmanager.
kde => kde-meta
reworked save_install_profile to save to /tmp/installprofile.xml
this is used by finishing_cleanup.
add the potential use of do_recommended_partitioning to the
load-profile steps.
moved the finishing gauge step to its own function.

moving a few more things around.
took out remaining pre-install steps from ClientController
put most of the code in Utility.
simplified the networking setup code (not sure if it ever worked b4)
add call to the networking setup code from gli-dialog

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.

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.

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

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

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/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

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 :/

ExtraPackages.py: Fix bug where leaving and going back to a screen causes package to be listed twice. add support for detecting GRP packages from grppkgs.txt on the livecd only if the grp checkbox is checked on the stage screen. Add new property called displayname to Package object for grp support.

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

Users.py: disable password fields if loading from profile, fix issue where if uid is blank, get error when loading from profile. fix issue where password box is disabled after modifying and accepting changes for a user loaded from a profile. re-enable switching notebook page when selecting user from list. Move buttons to upper right.

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.

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
TODO lists updated.
src/fe/dialog/gli-dialog.py
spelling mistook.

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.

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.

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).

Networking.py: complete overhaul. added in gui support ( no backend support yet ) for wireless, added in hardware identification for ethernet devices, added a new tab that will hold proxy and other networking information. Timezone.py: changed error if timezone is bad. RcDotConf.py: stopped printing KeyError in loading phase.

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.

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.

changed InstallProfile to remove is_uri check on kernel, stage, and
portage
URIs. The blank uri check has been commented out.
added another patch from zahna for portage tarball selection.
Added a choice for local_install which determines error checking on
tarballs
and whether to use existing partitions by default.

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)

Loading an install
profile uses a temporary GLIInstallProfile object to parse and then assigns
it to the main object so the master object doesn't get left in an
inconsistent state after a failed profile load.

ExtraPackages.py - Added a lot of UI reaction details. It now
reacts in a reasonable way that users will expect. Added support
for each section to have default packages selected when you
select the category.

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.