# ChangeLog for Gentoo Linux Installer # Copyright 2004 Gentoo Technologies, Inc. # $Header: /var/cvsroot/gentoo/src/installer/ChangeLog,v 1.163 2005/05/03 02:17:46 agaffney Exp $ *GLI-0.1_alpha (4 Apr 2005) 2 May 2005; Andrew Gaffney 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 get_max_mb_for_resize() returns -1 if not self.resizeable 30 Apr 2005; Andrew Gaffney More dirty rsync hacks :-/ 29 Apr 2005; Preston Cody Patches from chotchki (bug #90325) to improve CC networking. untested. 29 Apr 2005; Andrew Gaffney 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 Added group-adding code to set_users in ArchTemplate 27 Apr 2005; Andrew Gaffney Added post-install script code 23 Apr 2005; Andrew Gaffney Fixed encapsulation issues in GLIClientController (bug #90141) 22 Apr 2005; Andrew Gaffney Update resizing code in GLIStorageDevice 17 Apr 2005; Preston Cody Update AUTHORS, NEWS, TODO. Added documentation to GLILogger. 17 Apr 2005; Andrew Gaffney Reverted change to ArchTemplate and added support for commented line in old code. 16 Apr 2005; Andrew Gaffney 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 Back. Did the docuementation thang for ArchTemplate and ClientConfiguration. Also updated TODO list. 14 Apr 2005; Andrew Gaffney Use blackace's one-liner to add comments for all function for use with pythondoc. 13 Apr 2005; Andrew Gaffney 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 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 tidy_partitions() function in GLIStorageDevice. Tweaks to tidy code 9 Apr 2005; Andrew Gaffney Major GLIStorageDevice overhaul...all MB now instead of sectors. 8 Apr 2005; Scott Myron Added support for DHCP options and MAC addresses in the InstallProfile. 3 Apr 2005; Andrew Gaffney Changed mountopts check to work for blank and whitespace. Pipe emerge through sed to properly strip out junk. 2 Apr 2005; Preston Cody 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 Fixed indent problem in GLICController 30 Mar 2005; Andrew Gaffney Check for disklabel type "loop" and use the device name without a minor. 29 Mar 2005; Andrew Gaffney 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 Added 'append_log=True' to all spawn() calls using logfile=. Append to log when unpacking tarball. 28 Mar 2005; Preston Cody rewrote filesystem_tools. looks like it works so ripping out all the old filesystem_tools code. 26 Mar 2005; Preston Cody 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 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 set_stage_tarball_uri() doesn't raise an exception on a blank string. 24 Mar 2005; Andrew Gaffney 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 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 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 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 should emerge hotplug and coldplug before adding them to runlevel. 21 Mar 2005; Preston Cody took chroot out of grub_install command. 21 Mar 2005; Andrew Gaffney 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 Added the amd64ArchitectureTemplate, mostly a copy of x86 without lilo. 20 Mar 2005; Andrew Gaffney 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 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 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 Add 2>&1 to cmd in spawn() 16 Mar 2005; Andrew Gaffney 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 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 Small fix for setting the default gateway. Also added feature to dialogfe. 7 Mar 2005; Andrew Gaffney Switched spawn() over to commands.getstatusoutput() instead of fork/waitpid 1 Mar 2005; Preston Cody 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 Commented out 'display_on_tty8=True' in start_portmap() 18 Feb 2005; Preston Cody added progress bar to dialogfe and fix logger bug in ArchTemplate. 18 Feb 2005; Andrew Gaffney Created GLISayWhat module. Renamed GLISayWhat to GLILocalization. Moved lang parameter to __init__() 10 Feb 2005; Preston Cody updates to TODO list. 6 Feb 2005; Andrew Gaffney Initial code for quickpkg GRP support. Fix loop to grab packages from 'emerge -p blah' 6 Feb 2005; Preston Cody check for dhcp in the network stuff and emerge it if it is. added quickpkg to TODO list 5 Feb 2005; Preston Cody Changed the raising of 'warning' exceptions to a simple log of the error so that the installer can continue. 3 Feb 2005; Preston Cody 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 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 more updates to TODO list. hopefully we'll soon start removing items instead of adding them. 29 Jan 2005; Andrew Gaffney Changed the way GLIStorageDevice.get_max_sectors_for_resize() works 27 Jan 2005; Preston Cody updated TODO list. (again) 25 Jan 2005; Preston Cody 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 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 partition() now waits until after it checks for partition flags before delete the partitions :P 19 Jan 2005; Andrew Gaffney 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 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 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 Took out unnecessary setting of random livecd root password. the cd already sets it randomly. 15 Jan 2005; Andrew Gaffney Took out an unneeded step from CC's run() 15 Jan 2005; Preston Cody Attempt at detecting and adding windows partitions to lilo. 14 Jan 2005; Preston Cody 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 Added basic code for resizing filesystems with pyparted. Fixed code for resizing ntfs and ext2/3. 10 Jan 2005; Andrew Gaffney 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 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 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 Initial move of partitioning code from ArchTemplate to x86Template. 07 Jan 2005; Preston Cody Added grp_install and services to InstallProfile. forgot about the set_root_password 07 Jan 2005; Preston Cody 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 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 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 Added get_num_sectors() to GLIStorageDevice. 04 Jan 2005; Andrew Gaffney 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 GLIStorageDevice returns "unknown" instead of "" for get_type() 19 Dec 2004; Andrew Gaffney Added get_extended_partition() to GLIStorageDevice. Rewrote get_logicals() to actually work. Commented out resizability checking code for speed. 17 Dec 2004; Andrew Gaffney 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 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 Added code in GLIArchitectureTemplate.py to write netmounts into fstab. Separated network mounts from partition data structure in GLIInstallProfile 27 Nov 2004; Andrew Gaffney Changed the way GLIStorageDevice.py determines the amount a ext2/3 filesystem can be resized. 27 Oct 2004; Preston Cody 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 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 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 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 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 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 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.