text:
Directory Listing
preserve permissions when copying from image dir to chroot
add another field to parttest.py
add '(or no network)' text to checkbox and update help on Pre-install config screen
whoops...used the wrong object
log and output tailing functions before notification polling
stop performing pre-install steps after failure
bah, no step names in pre-install
src/GLIClientController.py: slightly better error handling for pre-install failures
add null and none to allowed network types
src/templates/x86ArchitectureTemplate.py: proper return code checking for ext2/3 resizing
properly check ntfsresize return value
2 spacing typos
str() a list in debug output
updating todo list. don't want to forget
change essid max length to 30
src/GLIClientController.py: write dns servers to /etc/resolv.conf
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/GLIArchitectureTemplate.py: ignore extended partitions in mount_local_partitions()
don't try to add blank service entries
explicitly set 'none' for network type if not dhcp/static
src/GLIClientController.py: accept 'none' as well as 'null' for network type
remove realplayer from suggested package list
remove grsec-sources and references to 'hoser'
src/GLIPortage.py: copy_pkg_to_chroot() uses compile_output.log for command output
only keep a 1000 line 'scrollback' buffer for the compile output and log file
destroy gtkfe screen instances when starting the install
grp code fixups
print instead of sys.stdout.write()
display progress of stage3 generation
remove old dialogfe file so people don't confuse it
len() instead of .length
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
src/GLIPortage.py: ignore blank packages passed to get_deps() and emerge()
add get_chosts() function
don't freak out if partition can't be deleted
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
update changelogs to reflect 0.3 release
help text for the partitioning screen
networkmounts help
src/GLIPortage.py: run env-update at the end of copy_pkg_to_chroot()
check for partitions of 'unknown' type and warn user
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 :/
copy /etc/{passwd,group,shadow} from livecd to chroot sans 'gentoo'
use tmppart_new['origminor'] instead of new minor to get old part info
whoops...those weren't supposed to disappear
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
make symlink without /
/lib -> lib64 symlink has no beginning /
src/GLIArchitectureTemplate.py: pre-create /lib64 dir and /lib -> /lib64 symlink if it exists on livecd
short circuit for chroot as well
forgot to return a value
src/GLIPortage.py: short circuit and check vdb directly if package begins with '='
added more packages to extra_packages list in IP
help text updates
rest of gtkfe help texts from codeman
don't create etc_files['conf.d/consolefont'] until we're sure it's needed
src/GLIPortage, src/GLIArchitectureTemplate.py: ignore_missing flag for copy_pkg_to_chroot()
KEYMAP and CONSOLEFONT default to blank in OtherSettings.py
src/templates/x86ArchitectureTemplate.py: 10 tries to create filesystem instead of 3
actually add HelpDialog.py
add help text for ClientConfig, MakeDotConf, PortageTree, and Stage from codeman
dont store displaymanager if it is blank
fix 2 typos
added Othersettings to gtkfe
OtherSettings.py: new screen to replace rc.conf
missing slash
src/GLIPortage.py: copy_pkg_to_chroot() uses /vdb for ROOT= installs
initial working help help text for Welcome add TextBufferMarkup.py
if user doesn't add any interfaces for post-install, confirm
fix alignment of top text on partitioning screen
updated Welcome text for gtkfe
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'
fix image paths
images to go along with the css changes and partition slider widget code in top.pyhtml
css changes and partition slider widget code
added cgi.escape() to output
src/GLIClientController.py: add debugging statements to pre-install steps
src/GLIStorageDevice.py: initial support for % if this breaks partitioning, blame codeman...he wanted this :)
src/SimpleXMLParser.py: initial support for 'include' in XML files
lets try this a different way
more updates to add/edit_client.pyhtml
webgli/extrapackages: list-type fix webgli/services: same glimd: add/edit_client updates.
webgli/configfiles: check for key in etc_files['rc.conf'] to fix key error webgli/timezone: small fix.
actually add the file this time
add warning to ExtraPackages about fetch-restricted and interactive ebuilds
added execute.pyhtml changed register clients line in gliserv for name->hostname. updated TODO.
add execute page
added configure.pyhtml to glimd. minor changes to top and add_client. fixed up showargs. short-circuited gliclient just to be safe :)
add logo
src/net/server/*: added add/del/edit client/profile.pythml for glimd. updated templates, showclients, and gliserv.
src/net/server/*: stupid threading module...
shell code for nfs mount searching
fix NFS mount listing
updated comparison
AT: rc.conf -> conf.d/clock
cosmetic changes
debug code in spawn() use lower-level os.read() instead of file.read() because python sucks
add --progress=dot
rearrange bash-fu
missing space
add an 'if cc:'
modify fetch_and_unpack_tarball() and get_uri() to allow fetch subprogress
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.
total_steps was 1 too high
load extra kernel args on Bootloader.py
float lovin'
remove _quickpkg_deps() and _portage_best_{visible,version}()
src/templates/x86ArchitectureTemplate.py: basic subprogress reporting for partitioning
spacing error
src/GLIUtility.py: fail immediately in validate_uri() if provided URI can't be parsed
warn user when choosing the GRP option and not Dynamic
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
ignore 'dir' entries in CONTENTS call tar with -p
src/GLIUtility.py: move parse_vdb_contents() to GLIPortage src/GLIPortage.py: remove all symlink fixups
AT: bootsplash is now gensplash gliserv: add advanced_mode to shared_info webgli: Added advanced mode. mostly just disables a few screens.
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.
Timezone.py: fix loading of timezones from installprofile due to race condition.
apparently that code *was* important
remove link if it exists before moving content into place
bah, python--
call copy_pkg_to_chroot() directly for livecd-kernel
scroll to bottom of output tab on failure
small hack in get_deps() for packages that are in host vdb but not snapshot
call get_best_version_vdb() instead of get_best_version_vdb_chroot()
runtimedeps.py still sucks
missing 'if'
all kinds of fun stuff...see the Changelog
missing colon
src/GLIPortage.py: get_deps() calls 'emerge -p' and then removed packages that aren't in vdb added emerge() src/GLIArchitectureTemplate.py: install_packages() now calls emerge() in GLIPortage
figure PORTAGE_TMPDIR properly
spawn() takes any False argument for chroot instead of just None change copy_pkg_to_chroot() to work properly with use_root=False
copy installer.log to installer.log.failed on install failure
bah, transposed_arguments--
bah, typos--
src/GLIArchitectureTemplate.py: remove add_pkg_to_world() and copy_pkg_to_chroot() src/GLIPortage.py: copy_pkg_to_chroot() chroot's to run ebuild is use_root=False src/GLIUtility.py: added get_keymaps()
src/net/server/html/*: converted showclients, load/saveprofile
src/runtimedeps.py: accept ROOT via commandline instead of env
chroot to use best_version for chroot's vdb
src/GLIPortage.py: exclude packages already in chroot vdb from binary deplist
stupid =, stupid portage
darn typos
remove passing of ROOT
remove depgraph class add debugging code to get_deps()
modify get_deps() to get deptree for each package and merge into final list src/GLIArchitectureTemplate.py: combine code for GRP/compile in install_packages() into one block
call runtimedeps.py with python
convert to string
remove calls to portage module
src/GLIPortage.py: use separate script for GRP deps src/runtimedeps.py: initial commit
flipped around a few function args
move some of portage function from GLIAT src/GLIArchitectureTemplate.py: revamp install_packages() for new GLIPortage
src/GLIPortage.py: initial commit
src/GLIArchitectureTemplate.py: extract /usr/livecd/metadata.tar.bz2 to chroot if it exists
don't use cgi.escape() for <% %>
src/GLIUtility.py: change /sbin/lspci to just lspci
src/net/server/html/webgli/*: load/save profile
src/net/server/gliserv.py: wrap generated code in a class to isolate it a bit better 302 redirects work
Updated gimli-glms diagram, added GLRD and GLMD descriptions
add install_mode support to Misc tab of CC screen
src/GLIArchitectureTemplate.py: removed redundant bind mounts
src/GLIClientController.py: change ordering of statements in CC run() while loop to not go past the end of the array
added a diagram by blackace from last night. added the glossary in RTF format.
update changelog. str() fix to AT
REMOVING dialogfe.py because it's totally obsolete
another stupid bug
lilo fix
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.
add top and bottom
src/GLIArchitectureTemplate.py, src/GLIClientController.py, src/GLIClientCongifuration.py: install mode magic
src/net/server/gliserv.py: call generated code in a function src/net/server/html/webgli/*: include top/bottom
src/GLIArchitectureTemplate.py: add _portage_best_version() function updated gtkfe TODO
modify gli-dialog to allow editing of the install_profile after loading XML.
proper path this time: ../../templates
added debug code to show install_steps
change call to .get_active_text() set arch properly in CF
src/templates/amd64ArchitectureTemplate.py: add . to import path
src/GLIClientController.py: use GLIException when there's an import problem
update with example
added initial glossary and gimli diagram to the docs directory.
src/GLIInstallProfile.py: allow set_{rsync,ftp,http}_proxy() to accept empty values convert daemons, extrapackages, networking, review, services, timezone, users
converted kernel and bootloader work around python's sucky regexes
moved saveconfigfiles into config files converted etc_portage and makedotconf src/net/server/gliserv.py: proper 404 handling for .pyhtml extension HTML escape <% %> stuff
moved saveclientconfig stuff into clientconfig
src/net/server/html/webgli/: converted globaluse, localuse, networkmounts, portagetree, and stageselection
302 redirects partitioning[2-4] done
src/net/server/gliserv.py: initial commit of Gimli (tentative name) templating engine 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 Gimli goodness
webgli: etc/portage/* and distcc support added. not too-well tested.
webgli: dhcp options in CC and post-install. updated comparison chart.
post-install proxies fixed
webgli: CC proxy done. post-install proxy in progress.
updated comparison
rewrote Kernel.py to be more modular and added hardened- and grsec-sources
updated comparison
bootsplash option on Kernel screen
Bootloader screen allows for selection of boot_device if bootloader in MBR Bootloader screen allows user to specify extra kernel args
webgli_template.html: valign=top on left side. webgli: fix bootloader boot_device. now working. webgli: CC proxy in progress.
code cleanup for StartupServices
only add interface to IP if type is 'dhcp' or 'static' StartupServices screen now works move StartupServices after ExtraPackages
added StartupServices screen fixed some typos introduced by the CC-to-IP networking code
gli-d small touchups trying a different color for the web template
src/net/server/webgli_template.html: increase padding for content cell to 7px and add colspan=2
webgli template changes
added graphic bar on top and hover effects for the links on the left
updated to stretch better
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.
update comparison
added CC networking pre-loading to Networking screen
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.
update comparison
added DHCP options to CC screen
added debug mode question to gli-dialog added CC proxies to CC networking for gli-dialog
added comparison.html
clean up loaded module list
check 'Network already setup' if gentoo.org can be pinged change ping count to 2
root back to boot
add scrollbar to module list
list currently loaded modules on the right side of the client config screen
rename Client Config screen to Pre-install Config
move livecd-kernel to top of kernel lists. fix proto bug in rc.conf added comparison list and updated TODO!
src/templates/x86ArchitectureTemplate.py: fix map() issue with grub code replace kernel_names and initrd_names loops with one-liners
codeman: try that
more bootloader fixes
boot->root in root(hd0,0)
that should do it
cleanup (still commented) autoscroll code with vadjustment
failure cleanup now an option for gli-dialog.
lets see if i can follow directions initial gli-dialog support for recommended partitioning layout and clear.
scrollbars suck...autoscrolling the old way
wrap text in log and output view add vertical scrollbars scroll with scrollbars instead of textbuffer iter crap
gli-dialog won't let you dynamic stage3 without systempkgs.txt.
move partition debug button to top row so it's always visible add bit about installer version to failure message spread out filesystem types in key
added a space
fix to stage2() debug code
src/GLIArchitectureTemplate.py: fix to stage1() debug code
some more bootloader code fixes. forgot boot_device != mbr_device.
src/GLIStorageDevice.py: fix to unallocated space merging when last one is after part 4
don't let part_size less than min-size be entered
typo fix
don't allow MB sizes out of bounds to be entered
fix unalloc->part size
allow partition size less than 1/<width of slider>*<drive size MB>
show mountpoint in partition summary on main screen
src/GLIArchitectureTemplate.py: small fix to debugging code in copy_pkg_to_chroot()
more fixes
more bugfixes with bootloader code gli-dialog side appears to work
indent fix
would help if i saved before committing
fix _debug
some fixes of my poor coding
two immediate fixes. indent and :
initial boot_device support added to gli-dialog.
help button launches firefox to view handbook
new paragraph on welcome screen
initial commit of new bootloader device stuff.. still not finished.
new way working in gli-dialog now and added to webgli.
converted gli-dialog to use the install_package_list.
ExtraPackages.py: use new method get_install_package_list() from installprofile.
get_install_package_list added to InstallProfile. This can be used by the FEs
help screens
preload network devices added to agaffney's TODO list.
src/templates/x86ArchitectureTemplate.py: call ls with '-1 --color=no'
added warning message (#9) to gli-dialog for GRP ppl about stage3 tarballs
src/GLIArchitectureTemplate.py: change fat32/fat16 to vfat in mount_local_partitions() so mount doesn't get confused
checkbox fixups and isinstances
removed protocols from rc.conf screens finished initial rc.conf and make.conf in webgli
just use IP instead of trying to do a reverse lookup
show client IP in debug mode
show time and request URI in debug mode
src/net/server/gliserv.py: add -h option to usage()
rc.conf stuff
src/net/server/gliserv.py: 'classier' 401 message proper commandline parsing help via -h user/pass can be specificed via commandline option
src/net/server/gliserv.py: basic HTTP auth
send 'Last-Modified' header for real files respond to HEAD with just headers
src/net/server/gliserv.py: dynamic module reloading (yipee!) src/net/server/handlers/WebGLIHandler.py: icons for drives
testing secondary progress
update .cvsignore
new copy_pkg_to_chroot() actually works now
more generic of symlink crappiness
create image_dir with -p in copy_pkg_to_chroot()
whoops...that shouldn't have been commented ou
src/GLIArchitectureTemplate.py: replace preinst, copy, postinst, rm steps with qmerge
move and update banner image
properly catch exceptions from do_recommended()
'Recommended layout' and 'Clear drive' functions
move 'Edit Partition' button inside table so it disappears on newer browsers
radio buttons and pretty display work together META redirect instead of javascript pretty display stretches across entire screen
clicking partition in 'pretty' display works instead of radio buttons
src/net/server/handlers/WebGLIHandler.py: initial 'pretty' partition table display support
save and delete partitions
fixes for add_partition() code add new partition working
editpart = int(editpart) for display in partitioning3
src/net/server/handlers/WebGLIHandler.py: added support for creating generic disks
src/GLIStorageDevice.py: initial generic disk support
Everybody loves Hypnotoad..err...Futurebar!
New futurebar widget.
webgli: Partitioning making progress.
update Changelogs to reflect 0.2 release date
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
webgli: lots of updates. preliminary partitioning. extra packages works.
make fallback actually work
src/net/server/gliserv.py: httpd now supports HTTPS and falls back to HTTP if not available src/net/server/SecureXMLRPCServer.py: SecureSocketServer is now threaded
client pretend mode server: pass name of certificate
src/net/server/gliserv.py, src/net/server/SecureXMLRPCServer.py: HTTPS XMLRPC goodness from samyron
src/net/client/gliclient.py: try to use HTTPS for XMLRPC first and fallback to HTTP
wegli: daemons and services screens done.
webgli timezone screen done
initial timezone
loading and saving install/client profiles works for webgli now Review also done
webgli: networking and users screens added return_redirect to handler.py
users updates and networking updates
preliminary networking
moved folder.gif to html/
new gtkfe banner from blackace
A few updates.
Added the SecureXMLRPCServer.
remove print statement from exitsuccess() comment out second -pk run for GRP
grubinstallstring only gets logged if debug is on
src/GLIUtility.py: update progress bar to 100% when process finishes
add --batch --no-floppy to grub command
log output of grub install command
src/templates/x86ArchitectureTemplate.py: properly check for bootloader emerge exist status with exitsuccess()
disable Dynamic option if systempkgs.txt not present
added add_pkg_to_world()
above disabled because it sucks
kernelpkgs.txt support code
bump buffer size up to 16384 only report progress in 5% increments
doubled the buffer size in spawn()
added debugging code for the interaction between the 2 threads via Event()
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
add Verbose option to ClientConfig
switch dynamic-stage3 to new method lots of bug fixes from adding debug code
src/GLIUtility.py: added parse_vdb_contents() src/GLIArchitectureTemplate.py: added copy_pkg_to_chroot() added debug code to dynamic-stage3
small fix
DEBUGGING ADDED TO AT. verbose field added to CConfig.
template updates
updated Changelog
/ maps to index.html
rename frame.html to index.html
change image path
add files for new template
add tab for tailing the log file
more updates. saving kernel and bootloader works.
updates r good
updated default values in IP. webgli work on kernel screen
more updates
webgli initial bootloader support + changed make.conf.
use read() instead of readlines() in spawn() only update progress bar for whole percents
add unpack progress to portage snapshot
src/GLIUtility.py, src/GLIArchitectureTemplate.py: horrible tangled mess of code that is tarball unpacking subprogress display
turn GRP 'fix' back on
add a few .cvsignore files
src/GLIArchitectuctureTemplate.py: comment out 2 lines that try to quickpkg again in install_packages() add definition of 'build_mode' in _configure_lilo()
src/templates/x86ArchitectureTemplate.py: change call to 'grub' to use GLIUtility.exitsuccess() src/misc/updategtkfe, src/misc/updateglid: fix so subshell is called in root shell
src/net/server/handlers/WebGLIHandler.py: stage screen launches URI browser in sized window with various properties set
src/templates/x86ArchitectureTemplate.py: fixed bug where grub code was looking for 'root+root+file_name2'
src/misc/updateglid: updated to actually work
remove previous snapshot and extracted dir before downloading
src/misc/updategtkfe: updated to actually work
added mirror selection
src/GLIUtility.py: ls via ssh strips off ending *
URI browser
more updates to webgli. preliminary make.conf
more updates
more updates to webgli. stage selection.
clean up some tab/space messes
clean up some tab/space messes
fix indentation issues
updated webgli with preliminary Network Mounts support.
more updates. starting on Network Mounts
put logo in /server dir
Utility: remove exception for non-existant grppkgs.txt until the new livecd goes public. network interface detection for webgli CC
updates to the ClientConfig webgli page and related handlers
add Welcome and Clients handlers
it's not the 10th yet
oops wrong function
modify for webgli_template
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.
absolute image link in template
move handlers into subdirectory
src/net/server/ProfileHandler.py, handler.py, gliserv.py: main server now loads separate module to handle requests split out profile URLs into separate handler function
src/net/server/gliserv.py: override dict to not be so anal
changelog 'typo'
stage tarball URI entry is disabled when entering the screen if not snapshot
fix all calls to get_active_text() in URIBrowser.py
src/GLIUtility.py: raise exception if password prompt received twice
removed rot13ify()
fix GET request parsing so the list creation for multiple values works
modify POST request parsing to only create a list if needed
no XMLRPC functions return None src/net/client/gliclient.py: various typo and type mismatch fixes exit after exception
more typos
whoops...forgot to increment counter in option parsing
start option parsing at sys.argv[1]
src/net/server/gliserv.py: allow for param to be passed multiple times in GET
pass MAC to XMLRPC functions src/net/server/GLIServerProfile.py: rename GLIClientsProfiles to GLIServerProfile
src/net/client/gliclient.py: initial commit
allow handler functions to add/change headers save profile
profile loading client reg via XMLRPC goes into SharedInfo() /showclients redesign template fixes
src/net/server/gliserv.py: now handles POST requests move majority of request handling code to common_handler() to reduce code duplication
src/net/server/GLIClientsProfiles.py: initial commit src/net/server/template.html: initial commit src/net/server/gliserv.py: add template mojo
XMLRPC mojo
added gliserv.py
automatically calculate swap size for recommended layout
new sizes for recommended partition layout
add clear_partitions() function
move 'Recommended layout' button up to top add 'Clear partitions' button
small _edit_config() cleanup
insert new line under previous definition of variable if it exists
src/GLIArchitectureTemplate.py: add code in _edit_config() to comment line where variable is defined previously
fat16 mojo
src/GLIArchitectureTemplate.py: rework _edit_config() to not write duplicate entries
rewrite do_recommended() to be more robust
remove debugging print statements from PartProperties.py
prevent do_recommended() from being run twice
add 'network is already setup and running' checkbox on ClientConfig screen
added do_recommended() function to automatically created 256M/1G/* layout
changed AT spawn command for distcc for nodeps.
more missed tabs
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
add rot13ify() function
unchecking support added for extra_packages.
src/GenDialog.py added a sentence of text.
small change
transformed the list to new format. added GRP indication to list. untested.
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.
get_snapshot_from_cd() returns '' instead of 'file://' if nothing found browse button is disabled along with URI entry field
add various files to the repository
forgot to add the file :P
FileBrowser is now URIBrowser change URIBrowser to take gtk.Entry object as an argument add URIBrowser to PortageTree.py
fixes on CFLAGS code.
coded make.conf advanced menus.
hide TreeView column header
add scp support to above
ftp support in URI browser
"0" instead of 0 for key of single-element dict passed to _edit_config()
file list is refreshed on Refresh or set host from mirror list
add get_directory_listing_from_uri() add http support to above
add mirror list browsing
value_only -> only_value
additional fix from agaffney
stupid fix for non-defined etc_files.
add FileBrowser.py and modify Stage.py to use it.
set subprogress bar text to Working... after each pulse change pulse rate to 0.03
pass 'self' to AT instead of 'self._pretend'
gutted out all of etc_portage structure since it is now all handled by etc_files
only pulse when it's supposed to
fixed make.conf for etc_files and hopefully fixed up etc_portage code. does not use cdata() yet.
change 'etc_files' to 'self.etc_files' in RcDotConf
change pulse rate to 0.05 instead of 0.5
increase sleep to 5s between format tries
missing )
install_packages() sends progress update notifications sub-progress bar in gtkfe
logger -> logger.log in x86AT
do the same fix for make.conf
hack to fix gtkfe to write rc.conf in the etc_files structure.
added set_etc_portage to IP. debugging gli-d's support for it.
switch to 3 tries for mkfs instead of looping waiting for dev node to exist
comment out hack
run _get_packages_to_emerge() again with -pk
remove extra =
quickpkg hokey pokey
use = when emerging also
uncomment logger line
tracked down and fixed missing = causing empty install extra packages
debug code
Use best_visible instead of best_version
another damn typo
missing colon
add _portage_best_version() function and rework install_packages() to allow for future X of Y tracking
Adding webgli to CVS for help from others
echo ${provide} to PROVIDE
updated todo list
remove ancient rootpasswd script
updated all core files with new GPL notice and copyright statement.
added updateglid to /src/misc
src/ArchTemplate: removed install_xorg_x11, and put the xorg.conf copying at the end of install_packages.
automatically call CC.start_failure_cleanup() on failure
change calls to extra package special case functions to 'self.blah'
changed GNOME to gnome in ExtraPackages
add GPL header to all files
fix missing 'self'
get_snapshot_from_cd() adds file:// at the beginning
adding /mnt/tmp to snapshot find command for testing
condense command
fix get_snapshot_from_cd() to look in /mnt/livecd/snapshots/ if it can't find a snapshot in /mnt/cdrom/snapshots/
src/GenDialog: added a bunch of code for dealing with x11-based packages. awaiting testing.
remove adding of xdm to runlevel. this will now be handled in the FEs.
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
make OK button in PartProperties default
begin readying for gettext stuff
being readying for gettext stuff
Overhaul of ExtraPackages.py. Now fully integrated into the backend.
changed order of portage sync methods. made a fallback to webrsync if normal emerge sync fails.
src/ArchTemplate: changed "voodoo".
fixed timezone loading
install-failed cleanup function
add ability to create reiserfs, xfs, and jfs
global try/except block around fs resizable detection code
x86ArchTemplate: updated lilo code. separated out THREE commands. untested.
disable USE selection if GRP install
change finish to Install on InstallSummary.py
single quotes when setting livecd password
force sync method to snapshot and snapshot URI on CD for dynamic-stage3
CD snapshot URI automaticaly filled in for PortageTree.py
add validate_uri() checks to Stage.py and PortageTree.py
add file:/// support to validate_uri()
add beginning of validate_uri() function
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
copy /etc/inittab.old to /etc/inittab in chroot
src/GLIGenDialog.py add drive choices for loaded configs.
manually call MAKEDEV in stage3-dynamic code
give tmp_minor an initial value in mount_local_partitions so that the value remain from the previous drive
fix _configure_lilo_add_windows() for IP -> GLISD stuff
committed script to automatically download latest snapshot and run gtkfe
change getmountpoint() to get_mountpoint()
install_cron_daemon() treats 'none' specially
Fix _configure_lilo() for IP using GLISD stuff
disable set_etc_portage until fully-written.
ChangeLog src/GLIGenDialog.py fix all three parts of bug 102291
src/GLIGenDialog.py numerous asthetic changes to GenDialog, no real functionality changes though. strings renamed for global use if necessary.
src/GLIArchitectureTemplate.py old patch from Steven Mertens to resolve bug #96642
add check for 0MB partition
lower-case http/ftp proxy envvars
change set_flag(flag) to set_flag(flag, True)...*stab* *stab*
log end of pre_install steps to aid in debugging
set kernel_build_method to genkernel as default
check to make sure that the device node we're wait for to exist isn't of type 'free'
*actually* fix the first problem
check return code of checklist() call in Manual section
src/GLIGenDialog.py: convert install_packages to list in set_extra_packages()
Changelog update...and Linux_whore needs to leave
"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).
re-fix net.eth1+ symlink code...wtf is wrong with cvs?
update Changelogs to show 0.1 release
Add CDATA support to SimpleXMLParser and add utility functions for it.
Fix specific case for vixie-cron crontab call.
Determine HPaned handle-width dynamically in order to work properly on all GTK themes.
put back fix that disappeared somehow
fix stupid mistake in show_settings. fix another stupid mistake for grp_install.
updated fix minus typos :P
Add partitioning wait-for-device-to-exist code to mount_local_partitions
fix ArchTemplate for broken mountpoint creation. fix GenDialog part showing.
Disable chost_combo if stage > 1
comment out above fix
fix IP for dynamic_stage3.
SimpleXMLParser handles True/False/None correctly now
Reduce spacing on Stage screen. Don't prompt about blank stage tarball URI if dynamic stage3
remove stray comment in IP
change bootloader to allow for both initrd and initramfs.
slight typo
Add 2>dev/null to emerge call in _get_packages_to_emerge()
added a bit of debugging code to _quickpkg_deps()
fixed livecd-kernel bug in bootloader code.
Fix post-install network code to create net.eth1+ symlink correctly
Change scp code to check for 'assword: ' instead of 'Password:'
Remove networkless from dynamic stage3 if locic. Remove print statement from scp:// code.
changed if logic for dynamic stage3 code
add scp to list of is_uri() so GenDialog doesn't complain.
Added full scp:// URI support to get_uri() in GLIUtility
Removed a FIXME in the GLIClientConfiguration that was no longer needed in set_network_broadcast.
Typo in build-a-stage3 code. Remove MAKEDEV call in build-a-stage3 postscript.
default to x86 in ClientConfig
updated TODO
changed rc.conf list_heights 'cause they keep crashing dialog.py for no reason
Rewrote init of IP for gli-d. Other GenDialog updates. allow network_type to be None in CConfig. Changed IP init procedure. fix has_key bug w/ make.conf remove enemy-territory from extra_packages b/c it has a licence issue. added show_settings.
Add proxy and kernel module fields to CC screen. CC screen pulls values from self.controller.client_profile. CC screen saves values to self.controller.client_profile. Fix code to determine default route in get_eth_info() in GLIUtility. Fix serialization of dns-servers in ClientConfig.
Add _dynamic_stage3 option to IP. Add check for that option to dynamic stage3 code in ArchTemplate. Add option to Stage.py for dynamic stage3
moved GenDialog IP init out to the individual files. gli-dialog's version will change quite a bit. changed default values of cron/logger in IP. changed stable/unstable to advanced_mode only.
fixed extra-packages and groups prechecking.
skeleton implementation of _configure_yaboot.
modified ArchTemplate for amd64 and ppc custom kernels. skeleton implementation of _configure_yaboot. small fixes to other templates.
added ppcArchTemplate. blank now. working on yaboot.
fixed width of stage3. converting install_packages to a list instead of a string.
reordered IP functions to match menu.
GenDialog updates. changed comment in IP. changed "Use Local" on portage and tarball selection to none for portage and stage3-on-the-fly for tarball selection. lowercase fix on portage sync type. fixed some more widths. fixed USE list_heights.
Fix one more corner case with the x86ArchitectureTemplate.py, as we might need to wait for it to disappear.
Add serializing testcase for some debug work. Note that we do not actually reuse the serialized data yet.
changes from before the weekend. see changelog. did somethign with advanced mode.
Fix service seperator stuff so that serialize/parse match up again.
Aren't python types fun? Casting is important\!
TEMP UGLY HACK of time.sleep(5).
Bootloader fixups.
changed extrapackages to load from profile. added error checking to rc.conf. added disp_manager to rc.conf
fix global USE flags to not include the arch types at the end. updates to GenDialog and gli-d. fixed more heights/widths. fixed missing use_local_desc in set_make_conf
Add strip() to list_mirrors(), list_subarch_from_mirror() and list_tarball_from_mirror() to eliminate blank last item.
Allow optional exclusion of HTTP, FTP, and/or RSYNC mirrors in list_mirrors()
Use URI instead of local path for file, allows easy remote specification of configs.
fixing bootloader code for no initrd and initrd->initramfs naming change.
Proper comments and parameters to GLIException in install_mta()
Starting detailed changelog for glid. Changed height and width of stable/unstable yesno. Modified Files: src/GLIGenDialog.py src/fe/dialog/Changelog
Added stage3 generation code
Added sleep(5) to partitioning code, temp got rid of the NOCOLOR in _emerge Mild changes to GenDialog.
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.
Check in _quickpkg_deps() to ignore blank package names returned from _get_packages_to_emerge()
Removed explicit emerging of hotplug and no longer add it to the runlevel.
Missing \ in sed in _get_packages_to_emerge()
fixed agaffney's missing = and extra : in x86AT. commented out crashing line in the dialog.py gauge code.
Only use float() in partition xml parsing code if type == 'free'
added dialog.py to the fe/dialog directory so it actually gets used.
fixed self bug.
Check to see that _etc_files['make.conf'] exists in get_make_conf()
Add code to update_config_files() to go through etc_files and update stuff.
attempt at fixing rc.conf function. moved 3 generate functions out of fe/gtk/RcDotConf and put them in Utility.
finished almost all internationalization of GenDialog.
added comments to new functions
Roll rc_conf and make_conf into master etc_files structure in InstallProfile.
fix extra entry in list_mirrors() beginning internationalization runthrough.
fix for unused value in form in dialog.py and changed heights. fix GenDialog forms.
added dialog.py to /src temporarily until it gets accepted upstream.
complete rewrite of GenDialog networking among other updates.
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.
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.
24 Jun 2005; Christopher Hotchkiss <email@example.com> Fixed the password checks when setting the root password. Fixed Changelog formatting.
trying to get GenDialog to compile.
Add dhcp_options to the CC, CConfig, and GenDialog. More overall changes to GenDialog as it gets closer to completion.
Add --debug flag for gtkfe.py. Add fields to Advanced screen of Client Config screen.
float() instead of int() in add_partition_device_partition() for minor (closes 96804)
Modify get_eth_info() to take a full interface name (eth0 fex) Actually commit ClientConfig screen with working pre-install net setup
setup_network_post() writes custom DHCP options to /etc/conf.d/net
Changed setup_network_post to check for 'interfaces[interface][0] != dhcp' instead of 'interfaces[interface][1]' since DHCP uses that field for its options
Fix undefined variable 'output' issue in spawn()
Fix space vs. tab issue
Fix small error with <pipe>.close() returning None.
Make sure the return value from all spawn() calls is checked with GLIUtility.exitsuccess()
Add new screen for ClientConfig (nothing in it yet) Apply modified version of patch from #96644
more updates to GenDialog and gli-dialog
Modify list_mirrors() to return a list of mirror URL/name pairs.
Adding gli-dialog.py. Updates to GenDialog. Added function to GLIUtility to get subarch.
mount_local_partitions() cleanups and add else block to log unsupported netmount types to mount_network_shares()
Fix for mount_local_partitions() to remember device along with minor in the parts_to_mount dict (closes #96319).
Backend partitioning will create disklabel is none exists. Installprofile defaults to "" now instead of "msdos" for disklabel type.
Add notes about recent stuff.
Refactor kernel_compile common stuff, fix 2.4 build process.
Logging system.
add notes about 2.4 support.
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.
fixed up build_kernel in ArchTemplate for build_mode as well as in dialogfe and GenDialog. other gendialog updates as well. kernel updates untested.
Fixed set_kernel for new kernel_build_method parameter.
Users.py: bugfix to not check if uid is an int if its not set.
Turn off a line of debug code.
Add stub note in build_kernel, to remind myself about it for tommorow.
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.
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.
use /var/tmp instead of /root for tempfiles.
Clean up commenting used by _edit_config(), and fix bug where wrong comment was repeatedly appended to make.conf.
cvsignore goodness.
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).
Use proper main() block.
avoid namespace collision on "file".
Remove '/usr/share/zoneinfo/' part from timezone.
Change _emerge('sync') call to direct call to spawn to avoid 'emerge -k sync'
Added list_mirrors() and list_stage_tarballs_from_mirror() functions to GLIUtility
Add check for blank stage tarball URI and ask user if they want to continue
Fix typos: get_extended() instead of get_extended_partition()
GLIInstallProfile.py: add missing set for dhcp_options if a tuple is passed in add_network_interface.
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.
Mount /dev, /dev/shm, /dev/pts and /sys during prepare_chroot.
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.
Add in my documentation for work done today.
Add null type to network config, for cases where the interface is already up and should not be touched (netboot).
Add CLI frontend.
Put the scripts used for calling frontends into the CVS tree.
Try to use binary packages if available by default.
pcmcia is not a variable name for a call to _add_to_runlevel, it should be a string!.
remove a line of debug code I commited by mistake.
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.
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.
forgot a make_conf item.
Forgot get_mta in one spot.
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.
Factor out MEGABYTE and make sure its used. Change pass to return for null bootloader.
Rename mta vars to match syslog/cron vars.
Refactor partition formatting again to include error checking. Allow 'none' for kernel and bootloader specifications. Add .cvsignore files for .py[co].
Refactor code using spawn to reduce duplication.
refixed samyron's fix of set_architecture_template.
Move /tmp/spawn.sh and /tmp/post-install to /var/tmp since that should always be executable
10 June 2005; Christopher Hotchkiss <email@example.com Redid the file naming convention for the netbe. Files are now searched for via the pxe standard. This allows for more flexible server setups. Example: 005070E808D0 005070E808 005070E8 005070 0050 00 default
Changed the error checking that set_architecture_template uses.
Fixed set_architecture_template().
Added documentation for trim_ip.
moved the mkfsopts input to the partition options menu instead of the during the creation process. updated GenDialog to say it supports reiserfs v3.
Fix call to get_partition_at()
Change from .1 and .9 to constants for partitioning. Fix free space overwriting bug. Remove a few unused functions from rewrite.
patch for mkfsopts for dialogfe and GenDialog from bug 95541
Update ChangeLog with my changes as accepted by agaffney.
Apply latest long/mkfsopts patch from robbat2
Change '_parser' to 'self._parser' in GLIClientConfiguration.
'mkfsopts' parameter is now used and support for creating xfs, jfs, and reiserfs is now in (patch from robbat2)
missed a bit of code
Removed start/end from XML output and added mkfsopts to partitioning info.
Updates to GenDialog and dialogfe. updated TODO too
Minor changes as suggested by pychecker
Minor fix recommended by pychecker
Typo (%$^&#$!) fix in GLIStorageDevice
more GenDialog updates to partitioning.
Indenting issue in GLISD/get_ordered_partition_list. updates to GenDialog partitioning and added default UTC for timezone in IP.
Added GLISD.get_model()
Added get_eth_devices() to GLIUtility. Updated netfe.py to newest version. More updates to GenDialog :)
Added get_interface_realname() function.
wrong date in changelog
Fix text running off the side of the window on all screens.
removed development-sources and gentoo-dev-sources from list.
Added auto-save of CConfig and copying to new /root after install. yet even more GenDialog updates.
Added DNS server selection for CConfig static IP
removed print statement from GLISD. more updates to GenDialog.
Changed 'data' to 'self.data' in a few places in GLIClientConfiguration.
another small fix for race condition in timezone_map_gui.py
Add back error message on partition load error.
timezone_map_gui: Small fix to prevent race condition on area_expose.
Fix typo in GLIStorageDevice causing mountopts to be loaded from XML as ['mountopts']
Chroot wrapper passes along exit code.
Added more detail to the error message
Not being able to fetch the stage tarball is now an exception
get rid of testing testing crap in output text field
Cause install to *actually* fail on a failure
timezone_map_gui.py: small update to fix refresh on area expose.
recommit of Timezone.py due to previous removal of gnomecanvas dep in timezone_map_gui.py.
Rewrite of set_partitions() for new GLIStorageDevice API
more gendialog updates
A few more fixes for templates/x86Archtemplate
A few more fixes for same.
Fix mount_local_partitions(), configure_fstab(), and install_filesystem_tools() to use GLISD directly
Typo fix, WARNING instead of WARN
Removed more unused code from CConfig. Updated GLIGenDialog, but it is still a work in progress.
Changes in IP, GLISD, and templates/x86Archtemplate for IP using GLISD directly. GLISD can now handle data imported from XML.
Missing colon in GLIClientConfiguration. Add fix to GLIStorageDevice to handle blank (no disklabel) disks.
HUGE Reorganization of the InstallProfile. All sections alphabetized, cleaned up, documented, and separated out serialization and grouped all sections.
Reorganization of ClientConfiguration and gutting of unused functions. Removed verbose option from CC. Moved import statement in IP and CConfig up.
added codemap.dia
Fix use of /mnt/gentoo instead of _chroot_dir in finishing_cleanup
CC serializes install profile to disk and prepare_chroot() copies it into /mnt/gentoo/root
Fix a late-night coding error in partitioning
Fixed bug in finishing_cleanup()
undo accidental (apparently) paste in middle of comment
Added code to deactivate() in Partitioning.py to make sure there is a partition with the mountpoint /
Moved URI parsing into new function parse_uri()
Removed dependency on gnomecanvas for timezone_map_gui.py by re-implementing anything needed in pure gtk.
Added XMLParser module
Changed Welcome screen message and disabled setting of root password
Minor fix to is_uri() regex to allow hyphens in hostname
Fix is_realstring() and rewrite is_uri() to use a regex to parse the URI
Add unicode support to is_realstring()
Fix minor bug in finishing_cleanup()
Updated finishing_cleanup for new unmounting method from agaffney.
Fix _edit_config() to properly comment out variables.
Fix GLILogger to use correct time format string.
Use NOCOLOR=yes instead of --nocolor.
Add code to output a traceback to the install log in the event of a GLI or non-GLI exception.
Fix is_eth_device to test for zero return value instead of non-zero.
Added --nocolor to all emerge calls
Networking.py returns True in deactivate() to get around some b0rkage
put old Timezone.py back until dependency on gnomecanvas can be removed
fix tabs/space mixing in format_mac() in GLIUtility
updated both for new filename. date changes. 2004->2005.
adding in the generic dialog function files.
Added a Changelog and updated netfe and netbe with new files from chotchki
Removed 'quiet=True' from spawn() calls
Updated GLIUtility with patches from chotchki. Also added documentation
unfix SimpleXMLParser
Minor fixes from bug #90823
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.
updated TODO again
updated TODO
Complete overhaul of Timezone.py.
GLIStorageDevice cleanup patch from bug #91761
More idiot-proofing: mountpoint/opts fields disables for swap and mountopts defaults to 'defaults' if blank and a mountpoint is specified
updated TODO
Error logging casts 'error' to str
Missing colons
Fixed timezone code to not link to /mnt/gentoo/usr/share/zoneinfo/blah. Fix _edit_config()
removed dead file GLIPartitionTools
Added code to CC to handle exceptions *not* thrown by the installer itself.
Exceptions received in CC are logged before being passed to the FE
modify path
added netfe
remove duff import
Readded resizing support.
Additional manual size entry validation code.
get_max_mb_for_resize() returns -1 if not self.resizeable PartProperties gets cur_size parameter. PartProperties allows sliding bar when a partition is resizeable.
Remove craptastic split partitioning screen stuff
Add 'Format' to PartProperties
More dirty rsync hacks :-/
Fix _quickpkg_deps() to call _get_packages_to_emerge()
Fix _quickpkg_deps()
Fix minor bug in _get_packages_to_emerge()
Minor fixes to GLIStorageDevice as suggested by pychecker.
Split 'custom' sync option into 'snapshot' and 'none'
Split 'custom' sync option into 'none' and 'snapshot'
Patches from chotchki (bug #90325) to improve CC networking. untested.
reenable error-checking code
Fixed missing int()s
Fixed == instead of = typos in GLIStorageDevice (pointed out by chotchki)
Proxies patch from chotchki (bug #90147)
comma bug
Added group-adding code to set_users in ArchTemplate
added post-install script code
Fixed encapsulation issues in GLIClientController (bug #90141)
Update resizing code in GLIStorageDevice
Update AUTHORS, NEWS, TODO. Added documentation to GLILogger.
Reverted change to ArchTemplate and added support for commented line in old code.
reverted changes to GLIArchitectureTemplate.py
Integrated RcDotConf into the backend.
_edit_config() changes value in-place and supports ##commented##
Complete overhaul of RcDotConf.
documented GLINotification.py
documented GLIClientController.py
finish documentation in GLIStorageDevice.py
partial documentation in GLIStorageDevice.py
Back. Did the docuementation thang for ArchTemplate and ClientConfiguration. Also updated TODO list.
removed self from all function descriptions since pythondoc doesn't show it
Use blackace's one-liner to add comments for all function for use with pythondoc.
moved the logger line
End point of logical is now adjusted along with start.
Partitioning code now tracks start/end of extended for placing logicals.
Fix >4 primary partitions on non-x86.
Moved 'end >= device_sectors' check out of loop to check for next partition's start point.
Add int() around access to minor key in partition information due to new partition code leaving them as float.
Fixed all bugs that stood in the way of partitioning from a blank disk.
yet another typo
another typo fix
typo fix
Finish overhaul of backend partitioning code.
Bunch of cosmetic and behavior UI changes.
tweaks to tidy code
tidy_partitions() function in GLIStorageDevice and remove debug statements (gtkfe also)
removed a few old banner images
Major GLIStorageDevice overhaul...all MB now instead of sectors.
Added comments to the ChangeLog.
Added DHCP options to add_network_interface.
Added support for MAC addresses to the GLIInstallProfile. Added two helpers to GLIUtility: format_mac and is_mac.
Patch from zahna to have default option increment in main menu.
Minor modifications to set_timezone() from zahna
New timezone function
Fixed 2 bugs in Users.py.
Pipe emerge through sed to properly strip out junk.
check for non-blank PORTDIR and PORTAGE_TMPDIR
try to suppress error output from _quickpkg_deps()
Changed mountopts check to work for blank and whitespace
updated TODO list
fixed ethx not being added to runlevel defalt.
little bug w/ partition format option
added hotplug/coldplug for livecd-kernel added --emptytree to stage2.
fixed the way set_timezone works.
set mountopts to 'defaults' if empty
change " to ' in set_users()
change " to ' in set_root_password()
Removed reiserfs from the supported filesystems
Users.py - put in password field for user adding, loading from saved xml profile implemented. Networking.py, Timezone.py, fixed tab spacings.
Added format and type options to existing partitions.
added --provide to mkvardb
Fixed indent problem in GLICController
backwards if/else
Cleanup deactivate() in Users
Users.py is now half integrated into the backend. ( Saving only )
Check for disklabel type loop and use the device name without a minor.
Slightly modified patch from zahna to default to current architecture.
kernel_args -> bootloader_kernel_args
Remove most of content in amd64ArchTemplate and make it inherit from x86Archtemplate.
Added code to detect when the output logfile is moved and temporarily disabled the done/error dialogs.
Patch from zahna to add get_eth_info() function.
Patch from zahna for extra arguments to the kernel.
Added code to (hopefully) keep 2nd thread running after install.
Complete overhaul of Users.py. UI is smart, but not yet integrated into the backend.
debugging code in RunInstall.py
Remove /tmp/compile_output.log and /var/log/install.log when install is complete.
append to log when unpacking tarball
Added 'append_log=True' to all spawn() calls using logfile=
Change /tmp/install.log back to /var/log/install.log
stupid typos
debug code cleanups since it works now
one more time everybody\!
looks like it works so ripping out all the old filesystem_tools code.
forgot a line
let's try this again
rewrote filesystem_tools
[] instead of None
wrong variable name
added code to actually display tail output
fix a whitespace booboo
Added install complete/error message boxes and a TextView for displaying output.
removing GLIInstallTemplate.py
whitespace cleanup
rem'd a print line i missed
undid previous change
added a fix to the logger from BenUrban
Added the finishing_cleanup function.
fix typo
removed /usr/local/zoneinfo from gtkfe b/c it's already being added on the BE.
fixed comma on users. changed kernel to not ask for genkernel if doing livecd
added GENTOO_MIRRORS and SYNC options to make.conf
Changed the print statements to logging in the partitioning BE code. the logger may need to be imported to the x86archtemplate. unknown yet.
ripped out error checking of set_services. this is done by _add_to_runlevel.
Blank entry won't get added with Update in Networking.py
fixing agaffney's spelling error
fixed prompts in partitioning
ow my colon was missing!
local_install also checks the custom_kernel_config_uri
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.
set_stage_tarball_uri() doesn't raise an exception on a blank string.
changed all gtk.TRUE/FALSE to True/False
gentoo-sources is default option in Kernel.py
Commented out spawn() debugging prints
GRP-ish quickpkg code pulls PKGDIR and PORTAGE_TMPDIR from make.conf info in the install profile if available.
livecd-kernel code pulls PKGDIR and PORTAGE_TMPDIR from make.conf info in the install profile if available.
another bug fix to the livecd-kernel code
Switch _emerge() call to spawn() call in livecd-kernel code to pass environment variables.
fix typo in mkvardb
added getgli script to misc
small changes to setup_network_post. moved adding to runlevel of net.x to after the device gets symlinked. added domainname runlevel command.
Removed call to mkvardb in livecd-kernel code as it's now done by catalyst.
Added hostname, domainname, and nisdomainname to networking list. Added a stage_tarball selection patch from zahna.
remove need for PORTDIR_OVERLAY in mkvardb
new banner from blackace
minor fix (hopefully) to livecd-kernel code
minor fix (hopefully) to livecd-kernel code
minor fix (hopefully) to livecd-kernel code
lots of stuff in both FEs and backend...read the ChangeLogs :P
removed sigunmask.c as the workaround is no longer necessary
creates misc directory and added mkvardb script
Fixed crash bug if you cancel from the partition type selection menu.
switch append_log lines
debugging code in spawn()
should emerge hotplug and coldplug before adding them to runlevel.
Remove command to 'rm /tmp/spawn.sh' as it breaks the piping.
Removed get_random_salt() function and replaced calls to crypt.crypt() with calls to GLIUtility.hash_password() in dialogfe and gtkfe
added new hash_password() function to GLIUtility
added logfile parameter to spawn() calls
took chroot out of grub_install command. added back sync to dialogfe
Changed chroot wrapper code in spawn() to write the wrapper the python way instead of the bash way to avoid quote conflicts.
reenabled 'emerge sync' option in gtkfe
Added the amd64ArchitectureTemplate, mostly a copy of x86 without lilo.
Added 'origminor' parameter to GLIStorageDevice and GLIInstallProfile
Added _get_packages_to_emerge() to GLIArchitectureTemplate and calls in stage1() and stage2()
spawn() outputs to the actual tty8 with display_on_tty8 flag. Compile output logfile moved into /mnt/gentoo in prepare_chroot(). Removed fifo code in gtkfe
updated gtkfe TODO
Updated TODO list to show our progress towards alpha release
Temporarily disabled 'emerge sync' option due to python threading bug.
Temporarily disabled 'emerge sync' option in PortageTree due to python threading bug.
Fixed a couple bugs in add_netmount() in GLIInstallProfile. Fixed netmounts code in dialogfe
updated partition code
added code to convert MB/%/* to start/end sectors
updated TODO
Add sigunmask.c contributed by d_m (on freenode) to counteract python's retarted behavior regarding threads and signals.
add 2>&1 to cmd in spawn()
chmod a+x generated script in spawn()
change exitsuccess() back
spawn() automatically creates wrapper script for commands run inside chroot so multiple commands and redirection can be used.
added debugging code to GLIUtility.exitsuccess()
Modified GLIUtility.exitsuccess() to work with return value from commands.getstatusoutput instead of os.waitpid()
proper indentation please
but some debugging code in GLIUtility.exitsuccess()
but some debugging code in GLIUtility.exitstatus()
subtract 1 from end value
PartitioningMain's desctivate() returns a value
PartitioningMain calls deactivate() in active notebook page in its deactivate()
Fixing more bugs. added dns server support.
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)
second try on set gateway code.
Small fix for setting the default gateway. Also added feature to dialogfe.
Added a custom package bar where you can fill in custom packages to emerge (space seperated list)
switch spawn() over to using commands.getstatusoutput instead of fork/waitpid
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.
try/except block for set_portage_snapshot_uri()
Networking.py fix
file cleanup
more file cleanup
cleaned up a few unneeded files
added help label
slider/entry field sync
added gtkfe TODO
only write new resolv.conf if there are dns servers listed.
more true -> True typos
Fixed a bunch of true -> True typos.
fix another true instead of True
quick fix for fifo
spelling error
added progress bar to dialogfe and fix logger bug in ArchTemplate.
small modification to GLILocalization.py
moved lang to __init__
renamed GLISayWhat to GLILocalization
created GLISayWhat module
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.
ugly screen is auto-selected on error
PartitioningMain calls activate() in child screens
split partitioning screen
updates to TODO list and small change to ArchTemplate
updated the TODO list
typo fix
tiny fixes to set_networking()
Updated the ChangeLog
Updated set_networking().
Finally added the set_networking() function. *** THIS IS UNTESTED ***
updated TODO
fix 'emerge -p blah' loop and add GRP option to Stage.py
updated TODO
initial code for quickpkg GRP support
updated TODO
added quickpkg to TODO list
check for dhcp in the network stuff and emerge it if it is
Changed the raising of 'warning' exceptions to a simple log of the error so that the installer can continue.
added custom kernel and bootsplash options.
added header.png to repository
updates from AllanonJL
mildly big changes. First, changed most output to display_on_tty8. Second, added log lines to all templates. small cleanups of old commented lines.
escape fix
undo change with fix
minor GLIStorageDevice fix from BenUrban
changed tty8 output to a fifo
minor code cleanup
bottom buttons are dynamically generated
minor gtkfe.py modifications
more updates to TODO list. hopefully we'll soon start removing items instead of adding them.
fixed logical logic issue in PartProperties
removed another image
switched to dynamically creating color key blocks
fixed some nastiness with swap
GLIStorageDevice fixes and finished moving stuff to PartProperties
lots more partition code moved
began moving code from Partitioning to PartProperties
more PartProperties additions
added a few images
shell for partition properties dialog
updated TODO list again to keep everyone in sync on remaining tasks.
added 2.6 kernels
updated TODO list
fixed the len(sys.argv) check with a few parentheses
add len(sys.argv) check
updated Widgets.py from AllanonJL
updates from AllanonJL
small fix. see changelog
fixed custom kernels and added runtime pretend to dialogfe
changed output of portmap start to display_on_tty8. fixed bootloader for udev and multiple kernels
updates from AllanonJL
fixed additional users in dialogfe
--pretend for gtkfe.py
added code to allow custom kernel .config.
more changes. nothing big.
Finished initital coding of additional_users.
fixed bug that caused last partition to go past the end of the drive
partition booboo
is_uri() only checked if portage_tree_snapshot_uri isn't blank
portage snapshot uri field
undo last change
swapon failure isn't an error for now
todo update
Added things to the TODO list. and forgot a /
Various fixes related to the add_users function. Still not yet finished.
testing something
fixed NFS mounting code
partition data fix
create filesystems
Took out unnecessary setting of random livecd root password.
removed the training wheels (among other things)
uhh, blah...changelog or something
updates from AllanonJL
/me kicks pygtk in the junk
updates from AllanonJL
install progress worky!
breaking everything
updates from AllanonJL
CHOST, MAKEOPTS, ACCEPT_KEYWORDS, and FEATURES in MakeDotConf.py
CFLAGS in MakeDotConf.py
USE editor generates proper USE
fixed double spacing issue
USE editor in MakeDotConf.py
Attempt at detecting and adding windows partitions to lilo.
rewrote Bootloader.py
updates from allanonjl
added sysklogd to Daemons.py
rewrote Daemons.py
change title on PortageTree
rewrote Kernel.py
aligned columns in Stage and PortageTree
rewrote PortageTree
new Stage.py
Welcome.py cleanups and added Template.py
small misc fixes. typos and such.
NetworkMounts cleanups and field validation
Added lilo code and cleaned up lilo code. also do_partitioning renamed to partition
added description to NetworkMounts
updates from allanonjl
more resizing updates
basic pyparted resize code
clear partition table before third pass
partition() fixes
updates from allanonjl
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.
install.py updates and partition code fixes
fix ChangeLog
forgot about the set_root_password
Added grp_install and services
partition code move
one more fix + changelog b/c i am a good listener
miniscule updates
found a few more _edit_configs
rewrote configure_fstab and install_bootloader for new partition format.
my midday update on GLI
changes to mount_local_partitions
added mount_local_partitions
more sectors instead of cylinders changes
thanks to spy for pointing out i forgot to cvs add this
thanks to spy for pointing out i forgot to cvs add this
sure hope i didn't screw anything up this time
removed depends stuff from Installprofile
GLIStorageDevice ignores freespace <=100 sectors
so help me i'm on a commit streak
sectors instead of cylinder for partitioning
you like the fixes? ok i'll keep em coming.
removed dummy partition() from x86ArchTemplate
oops forgot to click save
ok large update here. first: removed _depends. second: fixed spawn()s. third: moved _ functions from Utility back to ArchTemplate 4: moved bootloader to x86Template 5: lots of misc other fixes
gettin back in my groove. lots more fixes here.
added clientconfig barebones stuff to dialogfe. just enough to make it work
undo geometry change
attempting to fix geometry issues
workin out the kinks
my bad, put it in the wrong spot.
stupid fixes. little stuff.
updated README for gtkfe
more updates from AllanonJL
he forgot a few files
updates from AllanonJL
The Install Profile now throws GLIExceptions.
GLIStorageDevice fix
Partition screen updates
Changed the way exceptions work...
minor partition screen changes
Partition screen...yea!
GLIStorageDevice mods and major enhancements to Partitioning screen in gtkfe
NetworkMounts fixes
Save button works
Exit and Load buttons working
NetworkMounts reorginization
new refresh image
trying again
added Load/Save buttons
more button images
switched to dumpe2fs to determine the free space for a ext2/3 filesystem in GLIStorageDevice
cleaned up dulpicate code and fixed GTK assertion error
updates from AllanonJL
finished rough working NetworkMounts.py
NetworkMounts.py lists NFS exports on a particular host
removed a few unneeded, already commented lines
screen updates from AllanonJL
Changelog type
added ChangeLog for gtkfe
NetworkMounts with working column sorting
added NetworkMounts screen
typo fix and gtkfe updates
Added a function to GLIUtility to pull a value from a make.conf-style config file
Added code in GLIArchitectureTemplate.py to write netmounts into fstab
split network mounts from partition data and updated ChangeLog (in case spyderous is looking over my shoulder :P)
added stock_exec.png
minor changes to gtkfe layout and welcome screen text
moved part screen to backup
added deactivate() to GLIScreen and gtkfe.py now calls it on screen switch
Small bug fix, noticed by AllanonJL.
added default snapshot because its impossible to remember offhand
forgot the images :-/
initial import of 'working' version
added initial gtkfe.py
moved dialog frontend into installer/src/fe/dialog
Removed a few print statements.
Added support for different architecture templates.
changed the way GLIStorageDevice.py gets ext2/3 free space
minor bugfix
removed no longer needed signal handler from dialogfe.py
bye bye signals
simplify install loop in dialogfe.py
switch to constants for notification values
working notifications and FE control of install process
dialogfe.py updates
added _pretend to ClientController
added start_pre_install() to GLIClientController.py
CC creates ArchTemplate object and gets install_steps from it
add get_install_steps() to ArchTemplate
CC sends notification to FE on install step completion
update install.py to reflect split up preinstall() in ArchTemplate
split ArchTemplate's preinstall() into unpack_stage_tarball() and prepare_chroot()
typo in dialogfe.py
new size passed to ntfsresize in bytes instead of KiB
fix to partitioning code to strip .0 from end of number sent to ntfsresize
more partition code fixes
install.py fix
Python's handling of int vs. string sucks
minor ArchTemplate fixes
spelling errors are such a pain
committed 'ebuild'-like script for testing install code
added code to preserve lba flag on partitions
shell code in dialogfe.py for controlling install via ClientController
more notification stuff in GLIClientController and dialogfe.py
GLIClientController now intercepts Exceptions from ArchTemplate functions and passes them to the frontend via a notification
added install step control from FE
moved some partition helper function code into main partitioning function
modifications to GLIStorageDevice for determining ext2/3 freespace
I should really test before I commit :-/
fix to GLIStorageDevice.py
minor modification to dialogfe.py
GLIStorageDevice can determine minimum safe size for ext2/3 and NTFS
minor fix (extra tab) in GLIStorageDevice
added partitioning code to GLIArchitectureTemplate
using thread-safe Queue module in GLIClientController for notifications
added notification queue locking for GLIClientController
update to GLIArchitectureTemplate to refer back to GLIClientController
committed my GLIStorageDevice.py module
Added the GLINotification.py. Updates to the client controller
Added some Notification code to the ClientController. Also fixed a small bug in GLIUtility.
hacked spawn() to optionally return command output
added append_log flag to spawn() function in GLIUtility
Started porting GLIInstallTemplate to the GLIArchitectureTemplate
a few more fixes for the new pythondialog
Added an MTA option in the InstallProfile
additional fixes from the pythondialog-2.7 changes
updated dialogfe.py to work with pythondialog-2.7
committed my dialog-based frontend
cron and logging now won't barf if not defined. tho logging SHOULD be required.
Patch from agaffney.
Applied and tested patches submitted by agaffney. The partition data is now added to the GLIInstallProfile.
some material here no longer relevant
DANGER: These scripts are just samples of stuff I test from. I do not recommend using them unless you know what you are doing!
We're supposed to update this way more often :)
Adding the bootloader code and many other various fixes. This file will now be split up for the ArchTemplates.
Added more options in GLIInstallProfile
Added SimpleXMLParser and modified GLIClientConfiguration and GLIInstallProfile to use it.
Various updates.
Cleanups and updates...
Simple update to GLIException.
Major code cleanup on set_network_type().. this will probably get renamed to set_network()
A few cleanups.. more to come.
Bugfixes from codeman.
Added set_proxys to GLIClientController. Added a few new exceptions to GLIException. Rewrote edit_config and added it to GLIUtility.
Added GLIArchitectureTemplate
Added a few exceptions.
run_cmd has been fixed in GLIUtility. All of the exceptions raised in these 3 files are now subclasses of GLIException.
Updated GLIClientController. It's now a subclass of Thread. Furthermore all of the configuration and profile generation will now happen in the frontend.
Added GLIException.
Fixed a missing ':'
Various updates.
*** empty log message ***
Some useful comments added.
Another small update to GLIUtility
Removed all of the pre/post stuff from GLIInstallProfile. None of this is needed as all of the "pre" stuff is handled in GLIClientConfiguration. run_cmd has been rewritten in GLIUtility.
Updates to both GLIClientConfiguration and GLIUtility
Initial version of GLIClientController.
More updates to GLIClientConfiguration and GLIUtility. GLIClientConfiguration now supports a default gateway.
Update to GLIClientConfiguration. It now will serialize itself as well as load itself from an xml file. A few more options added, for networking. Minor GLIUtility updates.
Added a few fixes sent in by codeman.
- Fixed bug that would have messed up the dependency chain. (Thanks to codeman for the catch)
Updates to GLIUtility. run_cmd() and run_bash() were added.
- Fixed bug where self was being passed as file_name (first argument).
added the detect_devices function, probably needs more work
Added GLIPartitionTools.py
Updates to the methods set_kernel_modules & serialize. kernel module's should now work fine.
Updated GLIUtility. Added an is_nfs() method. Also fixed is_hostname
Updates to GLIInstallProfile. add_network_interface added. set_network_interfaces modified.
Added some docs to make intent clearer.
Made ClientConfiguration into a full blown singleton class. Will add usage pydocs shortly.
fixed references to method names that were changed (the hyphen issue).
Fixed binding scope issues for instance variables (they were being rebound each time). InstallTemplate had syntax errors - fixed. Hyphens are not allowed in method names. Removed an unused variable or two.
Updates to GLIInstallProfile.py
added _fetch_and_unpack_tarball(), _add_to_runlevel() completed setup_network_pre(), unpack_tarball() finished the custom section of install_portage_tree() a few little code cleanups (nothing big, just readability stuff)
changed all referances of "custom_stage3_tarball_uri" to "stage_tarball_uri". This will be the uri to the stage tarball. It is no longer a "custom" thing, but a "standard" thing
completed the set_network_post() method. Basically everything else at this point depends on partitioning info.
added coding guidelines.
added firstboot root password script
Drastically simplified _run(), because of this, _log() was no longer needed, so it was removed.
completed methods for set_users() and set_root_password()
added unit tests for new logger singleton.
updated unit test file to actually work.
added GLILogger - a singleton (semi-)generic logger that can be used throughout the GLI to centralize all logging.
broke up install_system_utils() and fixed some dependency issues
fixed exitstatus issue
Many functions added to the InstallProfile. Also, all methods in GLIUtility.py were changed from _<method> to just <method> because they are not considered private.
small stuff...
Lots of stuff...
started fleshing out depends and even some smaller methods
see ChangeLog
moved GLI.py to GLIInstallProfile.py for consistancy
first import
samyron's patch
small stuff...
added _edit_config() to InstallTemplate
ChangeLog update
added a private _exec_in_chroot() method. To run a program in chroot requires a bit of fork() magic. This gives us handy referance.
more diagram updates
Updates to class diagram
added authors list... hope no one was left out. :(
Added patches submitted by Scott Myron - The New Guy(tm). Some generic functions moved into GLIUtility and touched up.
Added a prototype InstallTemplate
added some useful info in the otherwise barron readme file.
fixed a bunch of syntax errors
fixed missing \n's
fixed a typo on line 164 and 169
fixed formatting issue
Added network_interfaces accessors and strict type checking for all accessors.
added network_interfaces variable and accessors
fixed indenting issue.
updated methods for set_ and get_ partition_tables.
Added code for partitioning_tables
make sure we run tests from src (for now).
added cvs and copyright headers to new test files.
updated changelog. added sax parsing to InstallProfile, fixed accessors, clean up, added pydoc, and more. added initial unit test code current tests pass but need a lot of work.
Added a bunch of instance variables and documented them.
added timezone with accessors to act as a point of reference.
added skeleton misc files
added super skeletal GLI module.
added gli class diagram. dia file - binary.
New repository initialized by cvs2svn.
|ViewVC Help
|Powered by ViewVC 1.1.20


text:
A complex of sucking bugs has become a significant pest issue in Texas cotton over the past ten years, according to a Texas Extension entomologist.
"Over the past decade, boll-feeding sucking bugs have become a pest to Texas, especially in central and south Texas," says Michael Brewer, Texas AgriLife field crops research entomologist. The pest is actually "a complex of several species of stink bugs and a plant bug (verde plant bug)."
Stink bugs are difficult to detect with the usual insect monitoring techniques, he says, but the plant bug can be monitored using a "beat bucket." Damage from the complex can be significant — up to 18 percent yield loss "at relatively low infestation levels." Yield loss estimates up to 25 percent have been observed in commercial fields and experiments where bugs and cotton boll rot have been observed.
Brewer says damage may be determined accurately at harvest, "but we need to make application decisions before damage appears." He recommends in-season "cracking of green bolls to obtain an estimate of the frequency of bolls with internal injury" due stink bugs.
"Combining beat bucket insect monitoring with cracking green bolls improves estimation of harvest damage for the verde plant bug," he says. Basing pesticide applications on that combination "can get pressure down, and that's the ultimate goal. Cracking green bolls is a must. We have a lot more work to do, but we do have a decision-making tool."

subset: commoncrawl


text:
Fenix Lights
The Fenix Flashlights are remarkable. Since appearing on the market, Fenix has produced an outstanding product line which includes tactical lights, key ring lights, flashlights for everyday use and are all water resistant. From the first L1 flashlight produced to the latest multi-level, processor controlled lights, Fenix strives to produce only the most innovative products.


text:
The BlueMountain.com Oil Spill Response team leaves for Bayou La Batre, Alabama Friday morning. Follow the team LIVE as they spread a little Christmas joy to families of Bayou La Batre!
Once an hour, the team will be posting an update on what they're doing, what they're seeing, who they're with, and more! If you look at the top right of the blog, you will see a "Follow us in Alabama" link. Under this, you will be able to read the most recent updates the team is posting via Twitter.
If you would like to read more, you can click through the link to go to the team's Twitter page to see all the posts.
Come along for the experience – it will be a Merry one!


text:
I am so pleased to announce that I am now part owner of Scraps From the Heart!!
It was a real honor for Raps of Up Your Art to ask me to partner up with her!
There are lots of positive changes going on for 2014 so be sure to drop by.
We hope to make Scraps from the Heart your favorite place to sell as well as shop
for your scrapping needs.
We would be honored if you would display our blinkie on your blog/site!


text:
Lance Armstrong giving Oprah exclusive interview: Is this it?
Lance Armstrong is sitting down with Oprah Winfrey.
In what's billed as the controversial athlete's "first no-holds-barred interview," Armstrong is expected to address the doping scandal, accusations of cheating, and charges of lying about the use of performance-enhancing drugs throughout his storied cycling career. It will mark Armstrong's first interview since seven-time Tour de France winner was stripped of his titles and dropped from millions of dollars in endorsement deals after the U.S. Anti-Doping Agency released an extensive report accusing the renown cyclist of doping throughout his career.
The interview follows a New York Times report that said Armstrong is considering a doping confession.
The special 90-minute Thursday night episode of Oprah's Next Chapter will air Thursday, January 17 on Winfrey's cable network OWN. The interview will also be streamed live on Oprah.com.


text:
Exquisite, voluptuous heart drops, pure tokens of love designed to be treasured forever. Chic and curvaceous, our iconic sterling silver Lust heart headlines the collection in classic style and modern lines — lustrous pearl strands, lariats, bold T-bar toggles and beautifully delicate bobble chains with hints of 18ct rose gold plate.
Desire products total 1


text:
A giant thank you to those who voted for me in Round 1 of Project Food Blog. Whether you voted because you liked the post or just felt bad that I was a horribly nerdy-looking child with pink flying-saucer glasses, know that I am forever indebted to you. I will never ask you for anything again. Oh, except your vote for Round 2. In Round 2, contestants are required to make a classic dish from another culture. You can vote for me by clicking "Vote For This Entry" on this page
My friend Betulia's dad told me I am his hero for making chilaquiles on national television. That coming from a man who came from Mexico with nothing in his pockets and built a life for his family in the U.S. He ensured his children got a good education and became self-sufficient, contributing members of society. The last time I saw B's dad, he was wearing a baseball cap at a fourth of July BBQ, and ribbing his kids about when they were going to make him a grandfather. I was comforted to know the quest for grand-parenthood transcends ethnicities. He looked relaxed and content. He had clearly succeeded. If anyone's the hero, it's him. In talking chilaquiles, he said they have been a source of consistency throughout his life. His grandmother made them when he was younger, he made them when he was a bachelor, and his wife makes them on the rare occasion that he successfully convinces her that the doctor is wrong about his cholesterol. I tried to remind him that my version of chilaquiles got me kicked off of MasterChef but he didn't care. He was just glad I chose to honor the dish he grew up eating.
Chilaquiles, derived from the word for "broken-up, old sombrero," are popular all the way from the U.S. border, through to Mexico, and down to Guatemala because they're a good way to use stale tortillas. Regional variations abound. In Sinaloa, Mexico, they are topped with a white sauce and in cosmopolitan Mexico City, they are served with a deep, roasted red salsa. And in late summer (like now!), when the tomatillos are ripe for the picking, chilaquiles verde is the dish of choice.
I couldn't help but think about B's dad and what his favorite dish meant months later when I found myself standing on the side of the road, eating a plate of steaming hot chilaquiles, served on a flimsy paper plate and prepared by a woman oddly reminiscent of my grandmother (if my grandmother barked orders in Spanish and ran a shiny food truck with a ruthless efficiency that would put the Soup Nazi to shame). It's a strangely communal experience standing with mothers pushing strollers, construction workers in hard hats, and businessmen with briefcases, eating a dish that is unpretentious, uncomplicated, and down right delicious.
That's when I realized there's something special about this humble Mexican dish of leftover tortillas, eggs, and salsa. At first glance, it seems rather simple. Fried tortillas soaked in salsa, topped with eggs, salsa, cheese and sour cream. In times of plenty, it's served with poached, shredded chicken. In times of naught, the chicken is replaced by refried beans. But either way, it's a dish designed to bring a family to the table so they can eat a warm, nutritious meal together even when times are tough. And that's where I went wrong on MasterChef. I took the quintessential, Mexican comfort food and crazily tried to make it sophisticated.
So this time, I decided to make chilaquiles verde like the Mexican classic they are. Corn tortillas, creamy scrambled eggs, homemade tomatillo salsa, and homemade Mexican crema. While frying the tortilla wedges into crunchy chips, I recognized that although the components on their own are not particularly spectacular, something about combining them in one dish is uber-spectacular. And then I had to fry another batch of chips because well, I ate the first batch with salsa verde during my period of introspection. The true magic of the dish hit me once I finally managed to stop eating the chips and salsa and actually plate the dish. The tortillas absorb the bright flavors of the salsa while retaining the right amount of crunch, the scrambled eggs provide a creamy contrast, and the crema cools an otherwise caliente dish.
Sunday morning, the hubster and I sat down to a brunch of classic, Mexican comfort food. And I knew B's dad was proud.
|B's dad, ready for his chilaquiles!
Three corn tortillas, cut in wedges
Three eggs
Salsa verde
Mexican crema
Oil for frying
Salt & Pepper
Heat oil and fry tortilla wedges until golden. Drain on paper towel and sprinkle with salt. Heat salsa in a skillet and add tortilla wedges. While tortillas are softening, heat oil in another pan and scramble eggs. Remove tortillas from heat once they are soaked with salsa but still retain some crunch. Top with scrambled eggs, more salsa, crema and cilantro.
1 pound tomatillos, husked
1 onion, finely chopped
2 teaspoons minced garlic
2 jalapeno peppers, minced
4 tablespoons cilantro, chopped
1 teaspoon ground cumin
chicken stock or water
salt, to taste
Boil tomatillos in salted water until tender. Add to blender.
Heat oil and brown onions. Add remaining ingredients once onion is soft. Cook for one minute.
Add to blender. Puree with chicken stock or water until desired consistency. Add pureed sauce back to pan and cook for five minutes.


text:
The Kirklees Light Railway is rich in history, running along the old Clayton West Branch Line and – with links to the local textile and mining industries – makes an ideal venue for an educational visit.
Whether you are looking for a visit tailored around a specific curriculum topic, or just looking for a fun day out, the railway can assist with your requirements.
What do our educational visits involve?
Our educational visits include the following as standard:
- A return train ride behind a steam locomotive between Clayton West and Shelley
- A visit to the engine shed and accompanying talk
- An opportunity for the children to watch the engine turn on the turntable
- A chance to "let off some steam" in our outdoor adventure play area
- An indoor/outdoor space to eat packed lunches
- A miniature train ride around the duck pond (subject to availability)
- A visit to the Gift Shop
- A free ticket for each child to return for a future visit
The following optional extras can be added onto the standard package:
- Ice creams or lollies for staff and children (additional charge)
- Lunches for staff and children (additional charge)
- Pre-packed gift shop bundles (additional charge)
- On non-operational days (Feb-May & Sep-Nov), the cafe can be opened for drink purchases from 10.15am to 1.30pm (additional charge + cost of drinks purchased)
If you have any other requirements, we will always try and meet them where possible. Please be sure to mention any special requests at the time of booking.
When can we offer educational visits?
We are able to offer educational visits as follows:
Monday to Friday from 10 February 2020 to 26 June 2020, and 7 September 2020 to 20 November 2020
Wednesday to Friday from 1 July 2020 to 17 July 2020.
Please see below for costs.
How much do educational visits cost?
Railway Operational Day 2020
- Child: £5.75
- Adult: One free adult for every four paying children
- Additional Adults: £6
Railway Non-Operational Day 2020
You can charter a train for a visit and the following minimum costs apply:
- Steam locomotive: £210
- Diesel locomotive: £160
How do I book an educational visit?
Please call the office with your requirements on 01484 865727.
Other Information
Our current risk assessment for educational visits can be downloaded here.
If you would like to book please contact us


text:
by Sara Davies, Public Relations Manager, Game Rangers International
—Our thanks to IFAW and the author for permission to republish this essay, which first appeared on their site on August 14, 2014.
A milestone event was witnessed at Kafue National Park in Zambia last month.
The 9-year-old rehabilitated orphaned elephant named Chodoba, one of the Elephant Orphanage Project herd, was seen socialising with wild elephants near a waterhole named Chintumba Pool, which is situated close to Camp Phoenix.
Wild elephants frequent this area at night, but we were lucky enough to capture this encounter in the late afternoon light.
A wild herd of 3 adult females, 2 subadult males (both with longish splayed tusks) and 3 calves approached the pool at 18:00 hrs, with one of the females moving ahead to be the first to drink. This young adult female was drinking alone at Chintumba pools and then turned around to move up the bank a few metres.
At that moment, Chodoba appeared at the top of the bank coming from the direction of Camp Phoenix, and without hesitating, he moved quickly down the embankment towards her.
She stood with her ears out as he approached and when he was about 5 metres away, he reduced his speed and approached slowly and raised his trunk.
He reached out with his trunk, as did she, and their trunks overlapped as they greeted for 10 seconds.
Then he noticed a subadult male half-way between the herd and the pools and moved deliberately towards him.
When he reached him he immediately engaged in sparring and was dominant to the smaller male.
By this time it was just on dark, with viewing only possible through binoculars. The herd had increased to more than 20 elephants, and Chodoba approached the group without hesitation, immediately engaging with a group of 4 male subadult/calves who were on the periphery of the group.
There were no reactions to him by any members of the large herd – it was as if he himself was a herd member. He sparred with the smaller males for a while and then backed away from them, shaking his head and then lifting his trunk high.
He was last seen in the middle of the herd, sparring with an elephant of equal size.
This is an exciting event for Game Rangers International as we have seen that Chodoba already has social ties with the wild breeding herds that are resident in the area, and he is accepted by them.
This will improve his potential to breed with wild females as he matures.
The Elephant Orphanage Project (EOP) is a project of Game Rangers International, which works in close collaboration with the Zambia Wildlife Authority and is supported by the International Fund for Animal Welfare (IFAW) and the David Shepherd Wildlife Foundation.


text:
Another Botched Nasdaq IPO
Nasdaq said it erroneously postponed an initial public offering set for Wednesday morning, marking another bungled IPO launch this year by an exchange. Telis Demos reports on the News Hub. Photo: Bloomberg News.
This transcript has been automatically generated and may not be 100% accurate.
... the ... key that ... the euro actually speaking of March to markets affecting her accident Nasdaq led to another botched IPO yesterday and tell esteem those who covers IPO's for the Journal is here to tells about it ... Ellis were talkin about ... white worse I Whitehorse Financial financier much time when we're spite and so ... does catch people up we had Facebook software glitch on Nasdaq at BATS Global Markets doing its own IPO has an excuse ... to hold ... Splunk Edson trades are cancelled on the NYC you know we have another problem as a threat to what what what happened with with my course went so yesterday was human error ... there was ... a person ... working at Nasdaq who ... accidentally canceled what was supposed to be a brief ... delay in the pricing of the IPO it's pretty standard in Ikea takes about ... fifteen minutes to get all of the ... year before it starts trading a lot people say ok Alice Ellison is it opens on a bye this is it opens takes a few minutes to calculate ... in a way to price will and ethics not fifteen minutes ... sometimes three typically might ask for an extra five minutes when they ask for these five minutes the company and its bankers ... of the person as it was supposed to say OK click ... five more minutes XLE did click ... cancel the IPO so ... he just you know this is the Isabel's Antrim I mean I'm thinking ... of taking the Simpsons and thinking homer in his in his seat the office he's like got up let me show you know that is what is that really Trudy just one but no lighting my eye then it shuts down from for hours I'm just surprised by that low I mean I think that you know the date the Nasdaq as you know over the years aam if people it said that sometimes the light the human element in markets which is why some people prefer NYC for their ... listings because there's a specialist on the floor who ... it was nominally in charge of of of trading in a particular stock and an IPO ... aam but I missed a copy seat all electronic market ... um so you know what they've done is they've brought in some people I think they have the staff called MarketWatch no relation to the ... Dow Jones Park to watch but ... they are the sort of feel to it pick up the phone to answer questions for company about how the stock is trading ... in a so so that there are some people there who have ... some control of what happens on the market which is something that I think a lot of customers and traders wanted ... of course ... is the flipside of that people don't like automation well you know it continued his emails with helping when it did finally open around three got out the door and fell was that related to this particular fat finger incident I ate I mean I I doubt it has been a tough market for IPO's Sal oddities financial companies to handle public tech companies to say that this on you too okay I mean how big a deal is this that did ... well actually we ask a different question IPO's ... it's never been an easy process that is is rationed ... you know small to medium sized errors ... emblematic of of some sort of a ... problem with the plumbing that we are now ... facing really for the first time well it's it's it's one of things that there's not one particular problem that unites ... each of these situations and their occasional Kano inspecting what it ... drives home ... for a lot of people were concerned the market structure ... is that they're just so many different links to this isn't so many different chains that if one of them breaks ... people really worried about what is that what else to spill over to inspect the dishes there's a sense that it did something ... kind of different and new goes wrong ... Yelp every once in awhile and it is just a string of these types of things they really just ... it's making people nervous I think it is already a sense that you know because there is no longer just one stock Exchange symbol for markets to know exchange dark pools it's not just ... in a specialist in ... institutions and banks the was high for conceit traders in retail traders The powerful tool to promote of ... this complexity scares people I think that's that these mistakes are ... you know in the villas and linking them together I think that they just eat the sense that like wild things are necessarily working that well ... okay thanks so much for joining us ouster ...


text:
Back to School Makeup: Quick & Easy Natural Eye
Quick & Easy Natural Smoky Eye
This is a super quick, super easy smoky eye that's not too dramatic and still natural.
You will need the following…
- Eyes: NARS Smudgeproof Eyeshadow Base (neutral eyeshadow base), MAC Satin Taupe Eyeshadow (dark brown), MAC Soft Brown Eyeshadow (medium brown), MAC Shroom Eyeshadow (highlighter), Urban Decay Zero 24/7 Liner (black), MAC Plushlash Mascara (black)
- Face: Make Up For Ever HD Foundation (140), Laura Mercier Loose Setting Powder (translucent)
- Cheeks: Korres #15 Natural Blush (natural brown)
- Lips: MAC Velvet Teddy Lipstick (nude), MAC Nymphette Lipglass (soft pink)
- Brushes: 249 (flat, firm brush), 239 (fluffy shadow brush), 226 (fluffy crease brush), 219 (pointed crease brush), 116 (dense blush brush)
For eyes, start by applying Smudgeproof as your eyeshadow base all over the eye area with the 249. Using the 239, apply Satin Taupe eyeshadow on the bottom third of the lid along the upper lash line. Lightly blend Soft Brown eyeshadow on the middle of the lid with the 239 and blend into and above the crease. Blend Shroom eyeshadow with the crease shade and highlight the brow bone. Bring everything together by applying Zero liner on the lower lash line. Finish by sweeping lashes with Plushlash mascara.
For cheeks, apply #15 Natural blush on the apples of the cheeks and sweep upwards towards the temple with the 116.
For lips, apply Velvet Teddy lipstick first, and then layer Nymphette lipglass for a complementing lip.
Check out more photos!