[Pkg-puppet-devel] [SCM] Puppet packaging for Debian annotated tag, upstream/0.24.6, created. upstream/0.24.6

Micah Anderson micah at riseup.net
Thu Nov 27 18:14:17 UTC 2008


The annotated tag, upstream/0.24.6 has been created
        at  408ce6b4be505a673303d335aca6a6b5f8b7c93f (tag)
   tagging  4a78bb39c1b18d81890832892dafa4b89aed897e (commit)
 tagged by  Micah Anderson
        on  Thu Nov 27 13:12:31 2008 -0500

- Shortlog ------------------------------------------------------------
Upstream version 0.24.6

(no author) (9):
      Ignore the pkg directory if it exists, and fix up a couple of tests that were erroring out, which also will help the confinement of package types a bit more.
      Guard the rpm command suitability confine better so we hopefully stop seeing all of the 'Command not available' errors
      Fix the ral:providers:host:parsed tests so they run successfully
      Upgrade mocha to 0.5.1, which gives much better error messages
      Highlight what I think is a problem in the test suite that I just can't solve
      Trivial mock cleanups
      Change the service name so that it is less likely to trip on a common word and spuriously fail
      Broaden assert_absent so that it thinks that :purged is equivalent to :absent
      Actually honour :namevar => true on newparam calls

Andreas Rogge (1):
      Extend workaround from 56aad69f8cdf8b0b08fdb7985014986223fa4455 to not only fix UIDs but also GIDs

Andrew Shafer (2):
      Fix tests depending on the Puppet[:localcert] file existing using stubs
      Ticket #1041

Bart Vanbrabant (2):
      Fix bug #997, only evaluate non-virtual definitions
      Store a resource before adding relations to it otherwise activerecord will

Blake Barnett (7):
      * Add migration for "created_at" (hobo expects it)
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
      * Tweaks for puppetshow UI cleanup
      Cache the same type we check for, hopefully fixes #1116
      Revert "Cache the same type we check for, hopefully fixes #1116"
      Cache the same type we check for, hopefully fixes #1116
      Add a bunch of directives, allows a full parse of stanford's huge nagios config

Brenton Leanhardt (1):
      Flat file now does writing to a tempfile.

Dan Peterson (4):
      fix socket argument to AR and add rails spec
      fix spacing
      mock all use of Puppet[] in Puppet::Rails.database_arguments
      change up rails specs again with Luke's help

David Lutterkort (9):
      Sync to latest specfile in Fedora
      Use external helper script to talk to yum; should avoid any more trouble with "yum list". Fixes trac #836
      Merge branch 'master' of git://reductivelabs.com/puppet
      Updated for 0.24.0
      Updated for 0.24.0-2
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
      Uninstalling packages through 'ensure => absent' works again for the rpm and yum providers.
      Updated for 0.24.1
      Trac #1038: not a fix, just an attempt at improving the situation.

David Schmitt (16):
      fix #731: add exported=true to collect_exported
      fix #760: property_fix has to be called after creating a symlink
      fix #891: create a plugins mount which collects all modules' plugins/ subdirs
      remove obsolete runners variable
      fix #815: add :main to all use() for :reporting and :metrics
      tests for #872: check interaction between "replace" and "content"
      fix #872: improve property(:content).insync?
      fix a testfailure when running spec tests as root
      fix crontests depending on ENV[USER] by using Etc.getpwuid(Process.uid) instead
      fix the underlying dependency on the environment in the cron type
      fix failing CA test, when testing with incomplete setup (no ssldir, no DNS)
      fix dependency on $HOME, which causes massive failures when running without environment
      tests for #903: fail when no logoutput is generated on failure
      fix #903: add patch from hrvojehr
      Add Exec{ logoutput=> on_failure }
      simplify PluginsMount

Digant Kasundra (1):
      Added k5login type written by Digant Kasundra.  This is for ticket #759.

James Turnbull (85):
      Fixed ticket #978 - logcheck/puppet
      Fixed ticket #979 - pkgdmg.rb documentation
      Fixed ticket #979 - code configuration option doco
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
      Fixed #980 - minor wiki formatting error in nagios_maker.rb
      Fixed #984 - Added Debian to reponsefile doco
      Fixes ticket #993 - tagmail with smtpserver specified does not add To/From/Subject header
      Updated tagmail documentation fixing ticket #996
      Fixes ticket #1004 - documentation fixes for ralsh and puppetrun
      Fixed ticket #1005 - added additional logcheck lines
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
      Fixed #1019 - made libshadow available for non-Linux users
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
      Fixes ticket #151 - host type now validates IP addresses and hostnames/FQDNs - the regex for the latter is quite complex but I have found it bullet-proof in the past
      Revert "Fixes ticket #151 - host type now validates IP addresses and hostnames/FQDNs - the regex for the latter is quite complex but I have found it bullet-proof in the past"
      Second attempt to fix ticket #151 - host type now validates IP addresses and hostnames/FQDNs
      Fixed #1006 - changed ldapnodes to node_terminus
      Removed womble-specific Debian build section
      Fixed #1028 - examples incorrect for 0.24.x
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
      Fixed #1001
      Fixed tickt #1034 - doco typo
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
      Updated fix for ticket #151 and added a test
      Added hostname test for hosts type
      Fixed #1052 - fixed gentoo service management
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
      Fixed #1060 - Debian service removal and addition
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
      Fixed ticket #1068 - Minor documentation fix
      Fixed ticket #1065 - Solaris SMF manifests
      Fixed ticket #1069 - removed remaining references to multiple configuration files
      Fixed ticket #1070 - puppetrun configuration parse problem
      Fixed ticket #1072 - Debian directory updates
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
      Attempt to fix #1040 - catching errors in compilation
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
      Second attempt fix address ticket #1040
      Fixed test for #1040
      Fixed #1073 - moved show_diff and other logic post config parse
      Fixed minor documentation error
      Fixes #1078 and includes new test
      Fixes ticket #1079 - added . support for tags
      Fixes ticket #1080
      Corrected #1040 fix - this should now be right - trace was after raise
      Fixes #1099 - use of -m option with -d option for home directories
      Revert "Fixes #1099 - use of -m option with -d option for home directories"
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
      Applies patches from #1111 and #1112
      Applied patch in #1134
      Fix for ticket #1136 --verbose cancels out --debug
      Second fix to #1136 - fixed --test problem
      Final fix to #1136 - further changes to --test setting
      Added more detail about the requirement for ruby-libshadow for useradd password management
      Fixed ports documentation error
      Ported #198 man page creation functionality to 0.24.x branch
      Added man pages and man page creation logic to install.rb
      Disabled man page creation by default and updated CHANGELOG
      I think this will include the man pages in the build but overall the Rakefile needs a rewrite
      Added check_puppet.rb Nagios check plugin (See #1162)
      Added updated fix for #1020
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
      Fixed duplicate oid for parentnode and environment in schema - addresses #1170
      Revert "Added updated fix for #1020"
      Better fix for #1020
      Updates to rrdgraph documentation
      Pushed patch to fix #1174
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
      Committed patch from #1160
      Fixes debian service enabled/disable issue as detailed in #1161.
      Changed some non-standard Ruby locations to env ruby shebangs
      Additional fix to emacs for ticket #1160
      Revert "Additional fix to emacs for ticket #1160"
      Additional fix for emacs syntax for ticket #1160

Jeffrey J McCune (15):
      Added optional per-module lib directory.
      Merge branch 'master' of git://reductivelabs.com/puppet
      Merge branch 'master' of git://reductivelabs.com/puppet
      Merge commit 'aabad8e'
      Merge branch 'master' of git://reductivelabs.com/puppet
      Merge branch 'master' of git://reductivelabs.com/puppet
      Fixed hdiutil syntax for ticket 812
      Fixed #906 - Augmented Cert DN regexp check to work with Pound and Apache.
      Fix #896 - Always disable DNS checking of certificate when making https connections.
      As per lutter; augmented fix for #896 to be configurable and defaulting to validate the server certificate, honoring CVE-2007-5162.
      Fixed test case for http_enable_post_connection_check
      Better test to match the behavior of the code.
      Updated tests for http_enable_post_connection_check configuration setting.
      Really minor change to user creation in Leopard.
      Fixed Ticket 1009 - problem with plist xml parser.  We do not need the plist parser for pkgdmg.

Jesse Koontz (8):
      Updated install script to include all bin files.
      Updated doc/big-picture doc/structures, Added rst formating to puppetdoc, and added doc strings for types, states, params, and metaparams.
      Updated README, moved the old one to documentation/
      Moved documentation to project website.
      Added rake for Puppet, '--version' to puppet and test case for Puppet.version
      updated version number to allow gem install
      Added GPL license
      UPdated rakefile

John Ferlito (1):
      Regression in :node_name functionality

Karl Fogel (5):
      * ext/emacs/puppet-mode.el: Untabify, in preparation for substantive changes.
      * ext/emacs/puppet-mode.el (puppet-comment-line-p, puppet-in-array): New helper functions. (puppet-indent-line): Rewrite to handle three more situations: indent elements in an array, indent single-line blocks, and ignore previous comment content when indenting non-comment lines.
      Fix bug mentioned in commit f814e23eab140ad01df4a4a3b187fcbf20da02be:
      * puppet/ext/emacs/puppet-mode.el (puppet-indent-line): Be more sophisticated about what we do at the beginning of the buffer, so that the first expression after an block-opening statement that happens to begin at the beginning of the buffer gets indented correctly. This may need some cleanup, but I wanted to get the correct behavior committed first.
      * puppet/ext/emacs/puppet-mode.el (puppet-indent-line): Clean up the code somewhat after commit 738d275f41f3eaf015800021dd2dfe6c42a1ae79, as promised.

Luke Kanies (893):
      adding structure
      reorganizing
      reorganizing
      reorganizing
      reorganizing
      reorganizing
      returning value instead of fact
      adding package source, initially including only files as a source
      updates so i can rename
      renaming
      functions mostly work
      renaming tc_functions.rb, and adding to ts_other.rb
      adding operatingsystemrelease
      fixing [] method in function.rb
      moving client.rb to the library tree
      moving client.rb to the library tree
      adding
      adding comments
      reorganizing tests
      adding client stuff to the library tree
      okay, all tests pass again
      copy test script
      adding readme
      removing execute bit
      creating extra message methods
      temporarily removing inclusion of time in output
      removing output, and fixing path so it is not hardcoded
      removing bogus output
      removing evaluate test
      cleaning up a bit
      cleaning up the start script
      removing some excess libs from blink.rb
      testing keyword
      adding class collection and naming stuff
      removing link when done
      updates
      updates
      renaming objects to types
      renaming objects to types
      renaming objects to types
      renaming attributes to states
      renaming state, and adding modification class
      renaming "value" to "is"
      moving state.rb to types/
      making fact a real type
      the client is now successfully creating objects from the hashes passed by the server
      fixing most of the function call stuff
      adding some comments
      renaming oparse to filetype
      renaming oparse to filetype
      renaming oparse to filetype
      renaming oparse to filetype
      changing type[param] to return the state instead of the value
      adding markers
      moving some methods around
      adding name information and a FileRecordState class
      adding an fqpath method to state.rb
      final changes before deprecating
      deprecating interface.rb
      adding
      changing Types to Type
      renaming types.rb to type.rb
      moving types to type
      changing types to type internally
      renaming types to type everywhere; all tests now pass
      renaming objects to types, since they are just subclasses of Blink::Type
      adding some tests on the interface methods in Blink::Type
      type.rb: adding methods to simplify type initialization, and adding eachtype() to simplify testing
      fixing filetype and component to take into account changes type interface.rb and type.rb
      fact.rb is no longer a subclass of Blink::Type
      adding typegenerator baseclass
      reorganizing the FileType/FileRecord into a base class (TypeGenerator) and basing them off it
      filerecord.rb: duh, fixing a small debug string printing bug
      the client now executes "evaluate", which might not be a good thing -- i am getting failures if files do not exist, for instance
      completed the first step to enabling multiple record types in filetypes
      filetypes now support multiple record types, and newlines can be escaped
      adding some example debian configs
      using the example syslog.conf instead of the one in /etc
      noop seems to basically be working, but i need to reorganize the whole type/state structure -- that is starting after this commit
      first version of finalized base classes
      renaming statetree to elements
      preparing to remove elements.rb
      removing elements.rb
      moving event info out of type.rb
      adding transactions
      cleaning up object tree and adding a simple virtual base class for both types and states
      finishing reorganization of base classes and such; there is now a clear tree heirarchy, with parents and children -- all tests pass on the types, but there are still some issues with client/server stuff
      removing most functionality, since type.rb already has it
      moving component.rb to type/
      making components work
      everything works again, including components
      moving to the language tree
      dealing with having moved the examples to the language area
      initializing @noop in element.rb
      simplifying argument parsing in Blink#message
      we now have nested scopes, and we've got the beginnings of components, although many tests are currently failing
      basic components now work
      adding lots of verbosity, and starting to actually make sure things execute -- tests are failing, tho
      moving
      i can basically actually do work now
      i can now execute simple scripts manually!
      file recursion now works
      switched to just passing scopes around, instead of passing the interpreter object around
      moving
      moving
      updates
      unmoving
      transformations from the client through to the transactional execution now works!
      the tree transformations work throughout the whole system now
      typesettings now correctly pass all the way through and can only run specified methods, using "allowedmethods"
      final fixes on passing methods through to types
      yep, arrays are always passed
      enabling mucking with debug and noop
      okay, implicit iteration now occurs at least at object definition time
      we now have networking
      okay, bin/blinker works again, and i have modified both client and server to be a bit easier to use non-networked
      i am giving up on fileparsing for now; it does not work yet
      okay, everything works again, although it still might be a touch fragile
      All tests pass again, and i have added Type.allclear to remove all existing type instances, thus making it much easier to run all of the parser and lexer and then server tests; i have also added remove server tests
      intermediate; no extra functionality yet, but moving away from discussing namevars outside of a given class
      update before rename
      renaming events to event
      i now have basic events: you can only specify simple object types as requirements, but hey, it works -- refresh() gets called
      adding simple query syntax stuff
      there are now explicit tests for transactions, including rollback, and more tests involving querying
      dependencies now work, although you cannot yet specify them for components
      done some more work on making components act like normal objects, but now i need to figure out how to spread events up the tree, rather than just point to point
      adding some more tests for Blink::Type
      everything passes all of the tests, but i do not think the component-level metaparams are working
      Rahh! component dependencies now work!
      checksums now work, but not all the way through yet
      md5 summing now works, all the way through!
      adding new classes and tests
      updates
      updates
      fixing file.rb so it works on Darwin, also
      adding validparam() to Blink::Type
      you can now at least test for whether a package is installed, although you still cannot do anything if it is not -- the barrier is knowing how to get the package
      renaming blink to puppet
      renaming blink to puppet
      renaming blink to puppet
      puppetest.rb should probably be puppettest.rb
      temporary changes to prepare for a rename
      renaming message.rb to log.rb
      logging now exactly supports the list of levels that syslog supports, and multiple destinations (syslog, files, and console) are now supported
      adding rpm as RedHat package manager
      adding some more tests for loglevel stuff
      metric testing and graphing now works in the library, although nothing has been done in the language
      correctly returning events
      fixing metrics tests to work with everything else
      basic rpm stuff now works
      changing warnings to debug
      fixing debugging to severely reduce output but allow it when debugging a specific service
      further output cleanup, and fixed the problem with tc_server.rb leaving sleeper processes lying around
      renaming to remove naming conflicts
      finishing rename of file class
      adding the exec stuff
      changing Log.destination to Log.destination=()
      disabling debug by default
      changing Log.destination to Log.destination=()
      adding logdest config
      adding string vs. symbol testing
      fixing some nasty bugs related to parameter checking
      fixing a nasty bug related to recursion and nonexistent files
      fixing some nasty bugs related to parameter checking
      exec stuff all works now, end to end
      adding cwd parameter to exec
      duh, somehow added Blink calls in there...
      ok, verbose => info
      adding some more tests for recursion plus checksumming, because they are somewhat incompatible for directories
      adding Puppet#recmkdir utility function, and making sure Log and Storage create their own files and directories as necessary
      fixing storage class; it was not actually correctly retrieving state from disk
      adding a to_s method
      found a bunch of bugs in Puppet::Storage, plus some bugs in how file recursion was being tested and thus some real bugs in the system
      adding refreshonly parameter
      cleaning up bugs in the tests, and adding more error checking around the bugs
      changing comments
      swapping console colors
      moving namevar translation to a method
      hopefully, finally resolving recursive file creation problems
      converting to "include Puppet" and not qualifing output methods
      doing some refactoring
      in the middle of a bunch of refactoring; committing so that others can try to replicate the segfault i am seeing
      lots of refactoring
      removing some debugging
      removing an obsolete VERBOSE setting
      toying with some doc stuff
      adding link functionality
      adding path stuff everywhere, although i had to keep component names kind of funky
      disabling metrics tests on machines missing RRD
      fully qualifying warning method, because it is not being imported for some reason
      using old name method, since it is required to make names unique given how classes currently work
      updates
      adding rpm as the default type for Fedora
      defaulting to rpm for everyone i don't know anything about
      making rpm the default package manager for all linuxes, with exceptions allowed
      adding methods callable from language
      converting debug() back to Puppet.debug()
      converting debug() back to Puppet.debug()
      converting debug() back to Puppet.debug()
      converting debug() back to Puppet.debug()
      reducing to one statefile definition
      adding more validation methods
      modifying failer stuff
      changing path stuff to be service-specific
      removed type.method() syntax, and replaced it with Type { default => value} syntax -- i still need to add test cases
      switching facts to be auto-provided by the client
      downcasing the values of all facts
      removing, since pfile now has link functionality
      removing, since pfile now has link functionality
      temp commit before i change the whole way that i am doing source + recursion
      adding "=" to metaparam methods, and allowing types to use methods for params
      moving setpath to parampath=, as a param method
      checkpoint commit
      okay, file sourcing actually seems to work now
      recursive file copying now works even with some limited number of errors
      reducing debugging
      reducing debugging
      first versions
      redoing how arguments are handled in type.rb -- it is much cleaner now
      Ha! finally got recursion and sourcing working together
      everything seems to actually be working now, including getting the correct file list back
      sources now pass all tests
      not dump/loading for local client/server
      adding some error checking
      okay, sources seem to be much more understandable here -- only the recursion function is recursive
      fixing exec tests to work with new event stuff
      fixing package listing
      okay, last try on sources hopefully -- no failures, and basic functionality all seems to be working
      making the console output slightly less redundant
      removing silly message
      adding symlink back as a separate object
      adding symlink back as a separate object
      adding some attributes to errors
      creating FileTesting module in puppettest.rb, and getting recursion working with symlinks
      fixing packaging to work with rpm, too
      fixing solaris packaging
      making changes necessary to pass tests on all available platforms
      fixing lib loading test
      fixing statefile creation
      dpkg/apt package installation and removal now works
      working on documentation
      more changes to documentation
      basic filebucketing is now working
      local filebuckets are now tested with files
      all tests pass again
      renaming to avoid name conflicts
      uh
      adding tests for puppet defaults
      adding some consistency and tests to the whole puppet defaults system
      cleaning up the defaults system even more
      oops; removing errant notice msg
      certificate management; yay
      moving
      okay, switch all cert management to the library, instead of using the openssl binary
      a bit of refactoring, and a bit more functionality
      committing recent changes for testing
      adding a bit more output
      passing state, so more info can be extracted
      fixing verbose output to be better and easier to manage
      adding better error handling for missing paths
      all tests now pass on os x
      returning transaction from client.config()
      adding creation rollback
      fixing error output
      removing comments and making @csr a class attribute
      renaming openssl to certauthority
      renaming again
      fixing directory mode creation
      function.rb is obsolete
      fact.rb is obsolete
      removing obsolete files
      done a lot of work on certificates; all tests except one puppetca test pass
      adding daemon helper module
      renaming
      setting up http to log to a separate file
      setting up http to log to a separate file
      more progress towards a functional daemon
      all tests pass except those related to puppetd; i am going to significantly reorganize how serving is done
      further progress towards passing tests
      all non-executable tests pass now
      a basic first test of puppetmasterd now passes
      all tests pass except a certificate test i do not know how to fix
      adding
      moving
      trying to create a testing base class
      passing file and line to all objects
      just fixed an incredibly ugly bug where @parent meant both parent array and parent class
      fixing test base class
      Execution order is now based on dependency relationships, and those relationships correctly propagate up and descend into components.  There is also an event test suite now, along with a (currently simple) component test suite.
      adding test to verify require does not kick off an event
      Moving all files into a consolidated trunk.  All tests pass except the known-failing certificate test, but there appear to be some errors that are incorrectly not resulting in failurs.  I will track those down ASAP.
      moving rake file to the trunk dir
      removing obsolete file
      moving all server handlers into a specific server subdirectory
      ignoring remote file owner when not running as root
      splitting normal file tests and source tests into different files
      Created a Handler base class for all of the server handlers, which allows a lot of the manual work to now be automatic
      small comment change
      fixing checksum generation -- i was causing some weird bugs by using the same indicator in different cases, and i added a test for invalid checksum types
      Have done a significant reorganization of how clients work, also, along with some interesting trouble shooting on components
      remote filecopying now works
      replacing if statements with case statement, and adding defaults for both selectors and case statements
      Certificates now verify!
      making array-as-name work in the language, and adding some more test snippets
      recompiling parser after removing extraneous debugging
      adding config file parsing
      Adding authorization store, initially just used for file serving but eventually for all authorization, most likely
      This should be the commit that brings us to Beta 1.  All tests pass, although I get some (gracefully handled) failures in tc_metrics.rb, and there is now a config file for the fileserver module, including authorization specification for it.  I have also reworked error handling in the xmlrpc client and server so errors should propagate more correctly.
      adding RDoc::usage documentation to all executables
      disabling print of library warnings, since webrick and openssl have far too many warnings for comfort
      I did not have good puppetd tests, so I missed the fact that I was calling the wrong class in puppetd.  Fixed.
      bumping up the default log level for changes from info to notice
      As Christian requested, I am no longer downcasing facts I receive from Facter.  Also, removing some outdated files
      Updating more milestone names
      Revert "Updating more milestone names"
      Applying patch by Adam Jacob to make external node tools able to handle command-line arguments
      An intermediate commit in the work towards adding multi-environment support.
      Fixing documentation string on the file "ensure" property to remove the confusing mention of "exists"
      Merge /opt/rl/git/puppet
      Finalizing the node handler.  It now correctly uses the different node sources
      Merge /home/michael/git/puppet
      Merge branch 'master' of http://northstarlabs.net/git/puppet
      Adding a "none" node source, which will be the default node source and will just return an empty node.
      Adding the necessary name/ip fields to the node methods
      The new configuration handler looks to be ready for usage.  Now I just need to convert the interpreter to use SimpleNode objects, then continue with the Configuration object.
      Requiring mocha in all cases in the test tree
      Refactoring a small part of the interface between the configuration handler and the interpreter.
      Keeping the node names in the node object, so that they are available to the interpreter
      Adding node caching, so that node sources are not spammed during file serving and such
      Fixing the spec library so it correctly can see its version
      The new parser configuration object works now,
      The first pass where at least all of the snippet tests pass.  I have unfortunately had to stop being so assiduous in my rewriting of tests, but I am in too much of a time crunch to do this "right".  The basic structure is definitely in place, though, and from here it is a question of making the rest of the tests work and hopefully writing some sufficient new tests, rather than making the code itself work.
      All language tests now pass.  I expect there are other failures elsewhere, but I want to commit this before delving into them.  My method for fixing the tests was to do as little as possible, keeping the tests as bad or as good as they were before I started.  Mostly this was about changing references to the interpreter into references to the parser (since that is where the new* methods are now for ast containers) and then dealing with the new config object and its relationship to scopes.
      A round of bugfixing.  Many more tests now pass -- I think we are largely down to tests that (yay!) fail in trunk.
      Adding the topscope metadata to the configuration being returned to the client, just like it expects, and fixing how the resource handler calls the master type.
      The last commits before I actually start on the multi-environment support.  There are still failing tests, but apparently only those that are also failing in trunk.
      Merge branch 'multi_env'
      Merging the multi_env branch with master.  There are not actually any conflicts, so this commit might only be necessary because I did not pull sufficiently often.
      Merge branch 'master' of ssh://reductivelabs.com/home/michael/git/puppet
      Merge branch 'master' of git://git.et.redhat.com/puppet
      Fixing the integration test between interpreter and configuration -- the interpreter was not passing on that the config should use ast nodes
      Adding environment information to the client fact list.  The environment is retrieved from the normal Puppet configuration, so it is set via puppet.conf or the cli, rather than being a normal fact.
      Upgrading rspec to version 1.0.8.  This only includes the contents of the lib directory, and even then only the spec-related stuff, not the autotest stuff.
      Adding the second half of the rspec upgrade -- apparently the "git add" thing I used did not remove the old files, only add the new ones.
      Building a stand-alone spec directory for creating the new spec-based tests.
      Oops, left out the spec rake file from the main spec commit
      Everything up to the parser (and the Modules) is ready to support multiple environments, including the parser having an environment setting.  I have also created my first spec-based tests, for the interpreter (and deleted the old test/unit tests).
      Adding some rspec tests for Config.rb, because I am planning on significantly changing its internals and the current tests, I think, will be harder to migrate than just writing rspec tests from scratch.
      I have added basic support for a search path, altho not yet with any ability to manipulate it.  All config tests pass in both the old tests and the new ones, so it is time to add the hooks for manipulating the search path.
      The config class now has support for add an environment to its search path.  Now I just need to go through the whole system and use the search path in addition to the parameter name itself.
      Modules are now tested with spec, and they now can handle environment-specific module paths.
      Oops, created a test directory in the main spec dir, rather than in the unit/ subdir
      Renaming the "configuration" object to "compile", because it is only a transitional object and I want the real "configuration" object to be the thing that I pass from the server to the client; it will be a subclass of GRATR::Digraph.
      Removing this test for now; I do not have time to port it from test/unit to rspec
      And we have multiple environment support in the parser.  The only remaining piece to make this complete is to add multiple environment support to the fileserver.  I also renamed Configuration.rb to Compile.rb (that is, I fixed all the classes that used to know it as a configuration).
      Moving the node tests to rspec, and cleaning up the spec of the node, especially WRT the environment.
      Moving the node tests to rspec, and cleaning up the spec of the node, especially WRT the environment.
      Adding a bit of testing for node names.
      The fileserver now uses an environment-specific module path.  I also made various bug fixes around the network tree.
      Multiple environment support now works, and I have even tested it in real life.  This commit is mostly a bug-fix commit, resulting from the difference between real-life testing and unit testing.
      Adding support for providing a diff when files are being changed.  Currently uses a local diff binary, but could easily be changed to use the ruby diff/lcs library.  Modified puppet and puppetd to automatically show file diffs when in noop mode, but can otherwise be enabled using --show_diff.  This only works when running interactively, because the diffs are printed on stdout.
      Making a couple of small bugfixes in the configuration subsystem
      Fixing some failing unit tests.
      Renaming the file containing all of the configuration defaults to "defaults.rb", since I am going to create a separate "configuration" top-level directory to contain all of the classes related to managing the configuration for a given node.
      Deleting old documentation that somehow made it back into the tree in the switch to git, and refactoring the evaluate_classes method on the compile object so I can use resources as intermediaries, thus making classes do late-binding evaluation.
      Doing a small amount of refactoring, toward being able to use Parser resources to evaluate classes and nodes, not just definitions.  This will hopefully simplify some of the parsing work, and it will enable the use of a Configuration object that more completely models a configuration.
      Removing the Scope#setresource method, since it was essentially redundant.  The work is done in either AST::ResourceDef#evaluate or Compile#store_resource.
      More refactoring.  I have removed a few more extraneous methods from Scope, mostly just pointing directly to the compile, and I have begun (but commented out) the move to having resources to model each of the classes and nodes, in addition to the definitions.  This will, again, enable a real Configuration object, and it will enable class versioning and similar features.
      We now have a real configuration object, as a subclass of GRATR::Digraph, that has a resource graph including resources for the container objects like classes and nodes.  It is apparently functional, but I have not gone through all of the other tests to fix them yet.  That is next.
      Successfully modified all tests and code so that all language tests pass again.  This is the majority of the work necessary to make the separate "configuration" object work.
      Flipped the switch so that compiles now return a Configuration instance instead of pre-extracting the configuration.
      Adding my indirector class before i rewrite it.  I am probably not going to keep any of this, but i wanted to store a copy before i got much further.
      A small change to the indirector, moving it to a module instead of a class.  I still do not really know how i will use it, though.
      Fixing #806.  Resources correctly look up their fully qualified definition type, just like resource references do, which causes the resource and reference to again agree on the full name of a given defined type.
      Renaming some ast resource classes and files so they make a lot more sense.
      Fixing #807.  The exception handling should more closely resemble how it used to be done.
      Fixing #802 -- tags are now applied before parent classes are evaluated, so parent classes can use tagged() to test if a node is a member of a subclass.
      Fixing #795 -- configuration elements now make sure all file paths are fully qualified by prepending the wd to unqualified path names.
      Fixing some broken tests in the master client, and adding a test for #800 but it is unfortunately disabled because we cannot realistically fix it using the current design.  It will be easy after the REST refactor, though.
      Fixing #801 -- resources that have changes when running in noop mode do not record that they were checked, so that they will be scheduled on the next run.  This is a somewhat murky solution, but considering that no one had submitted this bug before, I expect it will not hit many people.
      Fixing a path test.  I have now made the path stuff a lot cleaner, but it apparently broke this test.
      Fixing some failed tests.  Mostly cleanup.  Next is to make all of the user tests pass again, dammit.
      *Finally* fixing the tests that were failing around users and groups.  The problem was that the autoload tests were somehow clearing all loaded classes, including the providers.  This is fixed now.
      Removing extraneous logging from the node handler
      Merge branch 'master' of http://northstarlabs.net/git/puppet
      Renaming the instance loader method to "instance_load".  It was previously autoload, which could class with Kernel.autoload.
      Doing an intermediate commit so rick can look at the work I have done so far.
      The Node handler is now obsolete.  Node searching is handled through the indirector.  I have not yet added the tests for the node handlers themselves, which is next.
      Merge branch 'testing'
      Refactoring the feature support so it loads libraries when a feature is asked about, rather than when it is defined.
      Adding setup/teardown hooks to rspec, so we can use test/unit methods
      Another intermediate commit.  The node and fact classes are now functional and are used instead of the network handlers, which have been removed.  There are some failing tests as a result, but I want to get this code committed before I massage the rest of the system to make it work again.
      Adding a to_graph method to TransBuckets, so that the buckets can directly generate a graph, rather than having to first convert to RAL types and then have them convert to a graph.  This allows us to make it so components do not need a @children array at all.  This was all done because I am having the "already a parent of" problem again, and I have gotten far enough that it is relatively easy to just make this problem go away once and for all.
      Moving the resource container behaviour to the Configuration object, rather than the base PGraph class.  I expect I will just do away with PGraph, but for now, I am at least going to keep configuration-related code in that class.
      Removing the completely obsolete passwd2puppet and the obsolete component.rb
      The whole system now uses Configuration objects instead of
      Configurations now set a "configuration" instance variable in resources that are inside a configuration, so the resources can interact with the configuration to get things like relationships.
      This is basically another intermediate commit.  I feel like
      Merge branch 'indirection' of http://git.rickbradley.com/puppet into indirection
      An intermediate commit so I can start working on a different
      Merge branch 'indirection' of http://git.rickbradley.com/puppet into indirection
      Fixing all existing spec tests so that they now
      The unit tests for the newly-resurrected indirection class
      The indirector specs now all pass.  I think I need
      Adding a couple more tests to the indirector, talking about
      Moving the Puppet::Indirector::Terminus class into its
      Adding the first top-level terminus (yaml).  It works
      Adding automatic association between terminus subclasses and
      It looks like the new indirection setup is complete.
      All indirections are working, and they have all
      Adding the last tests for the ldap node terminus.  I managed
      The structure for handling resource generation is now
      All tests now pass in this configuration branch, which means
      Merge branch 'configurations' into indirection
      Adding the base file terminus.  This will, at the least,
      Renaming the 'Puppet::Util::Config' class to
      Adding the first version of checksum support, which will
      Adding my first integration test, verifying that
      Fixing the spec for the checksum terminus to match
      Adding a "memory" node terminus, which will
      Taking a first stab at moving configuration compiling
      Removing obsolete fact stores and node sources.  The functionality has been moved into the indirector.
      I changed the Terminus class to switch camelcase
      Fixing a small problem with the mailman type
      Merge branch 'indirection' of git://reductivelabs.com/puppet-luke
      Demoting the "file does not exist" log to debug from notice
      Fixing ralsh to use a configuration instead of a component
      Merge branch 'master' of git://michaelobrien.info/puppet
      Merge branch 'master' of ssh://reductivelabs.com/opt/rl/git/puppet into indirection
      Adding cache support to indirection.  If you have
      Adding more indirection termini, mostly focused on caching
      Adding more behaviours to the Puppet::Module spec,
      Merge branch 'master' of ssh://reductivelabs.com/opt/rl/git/puppet
      Fixing #814 -- when files are missing, the exceptions should
      Merge branch 'master' of git://michaelobrien.info/puppet
      Fixing #813 -- empty configurations again work.
      Merge branch 'master' of git://michaelobrien.info/puppet
      Fixing the yaml path so that it is correctly
      I finally tracked down the problem that was causing providers
      Removing the Id tags from all of the files
      Merge branch 'master' of ssh://reductivelabs.com/opt/rl/git/puppet
      Fixing #817, mostly using the patch by DavidS.  I could
      Merge branch 'master' of ssh://reductivelabs.com/opt/rl/git/puppet
      Merge branch 'routing' of http://git.rickbradley.com/puppet into routing
      Fixing tests for the Configuration object, since I
      Attempting to reproduce and fix #829 by applying patch by Paul.  I could not
      Switching the indirection from using settings for configuration
      Fixing some terminology so some ldap tests are easier to read.
      Adding another test to the ldap node source -- we make
      Merge branch 'master' of git://michaelobrien.info/puppet
      Adding the integration tests to the Rakefile for spec,
      This commit is focused on getting the 'puppet' executable
      Merge branch 'routing' of http://git.rickbradley.com/puppet into routing
      Making "null" the default node source, so nodes are at least created easily
      Adding a :code setting for specifying code to run
      Another round of test-fixing around the changes I made
      Removing obsolete comment
      Fixing error thrown when the end of the file is encountered unexpectedly
      Adding support for versions and freshness-checking
      All tests should now pass again.
      Merge branch 'master' of git://michaelobrien.info/puppet
      Merge branch 'routing' of http://git.rickbradley.com/puppet into routing
      Merge branch 'master' of git://michaelobrien.info/puppet into michael
      Merge branch 'master' of git://michaelobrien.info/puppet into michael
      Fixing some small spec failures resulting from test fixes.
      Adding version handling through most of the indirection work.
      Translating the report handler to an indirected model.
      Fixing failing tests, including making the debian service
      Reorganizing the file structure for indirection terminus types.
      Adding the first pass at modifying file serving
      Oops, forgot this file in my last commit.
      Adding spec stubs for authorization in the indirection
      This is the first mostly functional commit of the
      Renaming the file_serving/{content,metadata} indirections
      I'm working on making file serving work in the indirector now, so I
      Renaming the file serving indirection termini to match
      Fixing all of the classes that I just renamed, and adding
      I've now split the file-serving termini into two separate types (in
      Adding this test stub that's been sitting
      File serving now works.  I've tested a couple of ways to
      Renaming the 'mounts' terminus to 'file_server', and renaming
      Adding authorization hooks to the file_server and
      Merge branch 'master' of git://michaelobrien.info/puppet into michael
      Adding a Fileset class for managing sets of files.  This
      Adding searchability to the fileserving termini, using the
      Link handling is now in the file serving classes.
      Renaming the :local termini for metadata and content
      Renaming the FileServing TerminusSelector module to IndirectionHooks,
      Adding the calls to the authorization hooks in the Indirection.
      Adding post- hooks for :find and :search in the indirection class.
      File serving should work now, both recursive and
      Changing the test/ classes so that they work from the main
      Adding patch from #879 by tim
      Fixing a bit of indentation and commenting in the xmlrpc/client file
      The configurations should now be functional again --
      Caching the 'parent' value, which resulted in
      Adding a new graphing base class, because the GRATR stuff
      Switching the graph base class from GRATR::Digraph
      Splitting the puppetd tests into two tests.  It is still not a very good test, but I do not know of a good way to test this, really.
      Merge branch 'rest'
      Switching the base class for the Relationship class.
      Classes once again get evaluated immediately when the
      Switching the class resource evaluation to only happen
      Merge commit 'davids-bugfixes/rest/fix-731'
      Merge commit 'davids-bugfixes/rest/fix-760'
      Fixing the 'mount' tests so that they no longer
      Merge branch 'master' of ssh://reductivelabs.com/opt/rl/git/puppet
      Adding unit tests for the module that handles the
      Commenting out the time debugging I was using
      Merge branch 'routing' into test_routing
      Adding a memory terminus for facts, which is really only used for testing
      Changing the 'main' class to no longer be lazy-evaluated.
      Moving some compile tests to the spec/ directory, and
      Fixing #800 by refactoring how configurations are retrieved
      Merge branch 'master' of ssh://reductivelabs.com/opt/rl/git/puppet-luke
      Fixing a parser test -- really, just removing tests
      This commit is the first run at removing all global
      Modifying how default resources are created; they are now
      Fixed most failing tests, but there are still over thirty failing.
      Fixing a SimpleGraph unit test so it doesn't depend
      Merge commit 'davids-bugfixes/rest/fix-815-by-using-main-explicitly'
      Merge commit 'davids-bugfixes/rest/tests-for-872'
      Applying fix by Jeff McCune from #905
      Reverting the changes I'd made toward removing the global
      Merge commit 'davids-bugfixes/tests/fix-HOME-dependency'
      Merge commit 'davids-bugfixes/tests/fix-cron-tests'
      Merge commit 'davids-bugfixes/tests/fix-settings-fail-as-root'
      Fixing #446.  I ended up largely not using porridge's patch,
      Fixing #896 by applying DerekW's patches, with slight
      Merge commit 'davids-bugfixes/rest/fix-903'
      Fixing a few test suites that passed when run as
      Fixing a failing test from my fix for #446 -- I had changed
      Merge commit 'davids-bugfixes/tests/fix-test-client-ca'
      Removing the manual ssldir setting by David in 59626cb3907d36e4fd762277daa76f523faf0908
      Fixing #911 and #912 -- there's a default environment (development)
      The Puppet settings instance now validates environments when
      Using the Environment class to determine the default environment,
      Fixing the exec spec so it works when non-root and is a bit cleaner
      Fixing the last failing test relating to the environment changes
      Moving the exec test into the types/ directory
      Fixing #762.  The main problem was that I accepted the patch
      fixing the path to the spec helper in the exec test
      Removing the bootproto and broadcast attributes from the redhat interface provider, since they are not needed
      Applying patch from #834, apparently fixing a problem
      Fixing the first part of #787.  Not all collections were
      Adding some unit tests for the interface type before i go messing around with it
      Adding unit tests for the sunos interface provider.
      Rewriting the sunos interface provider to manually parse and
      Adding more tests to the redhat interface provider.  It no
      Obviating targets in interfaces; they now just generate a warning.
      Applying patch from #896 by whaymond_home, adding more
      Added calls to endgrent/endpwent in util/posix.rb to
      Fixing #886 -- the problem was the I had changed the base
      Accepting a modified form of the patch from #885 by immerda.
      Fixing a couple of tests that were failing because of the environment changes.
      Merge branch 'master' of ssh://reductivelabs.com/opt/rl/git/puppet
      Patching a bit for #804 by making the maximum much higher UID
      Fixing #882 -- I just added a quick hook to the
      Merge commit 'davids-bugfixes/rest/fix-891' into plugins_mount
      Adding the debian directory via patch 20070831052721-6856b-b90bb56a4ed37ea420f10352a0a366068cddc7e4.patch from womble
      Adding patch 20070831053637-6856b-dd0fddab681485ce7cea0b57336d0c48fa33f7f8.patch from womble; updates changelog
      Adding patch 20070905004837-6856b-2e7b8d8595ee0883537620c46424a4bf6174dc6a.patch from womble -- Add an attr_accessor for @http#ca_file, since older versions of libopenssl-ruby only provides ca_file=, not ca_file
      Adding patch 20070913003810-6856b-cdc8b2e8c6c46eb8d6d073f86291a0fc5a59f429.patch from womble -- Only set the hostname and password if we want them; this allows pgsql ident auth to work it's magic
      Applying patch 20070913004017-6856b-cdbbba99de0b33b64874205a27833b5114fcc6b9.patch by womble -- Allow empty config settings
      Adding patch 20070913005414-6856b-db5ea77e10ec6869ad01a4bd6483912c337f3a70.patch from womble -- NEWS for the ssldir transition
      Adding patch 20070913010926-6856b-eb64be3b5169b7af674388124b406a1db7470880.patch from womble -- More restrictive permissions on some puppet-related directories
      Adding patch 20070913011122-6856b-98bf03f09c8e19679390d73fdddc2e4d1273f698.patch from womble -- Add changelog entries for the pulled pgsql patches
      Adding patch 20070913032546-6856b-0de200e8450920e7f712c54bf287ae43c7fda8af.patch from womble -- Only set dbuser if explicitly asked for
      Adding patch 20070913032650-6856b-b1cca1c249415c6076ffcecb9df1525a728457c7.patch from womble -- Fix annoying database deletion error for ParamValue objects.
      Adding patch 20070926214630-6856b-edd313b08555033710c90a94d9d8beaf889d6cf4.patch from womble -- Fix spelling mistake in debian control files
      Adding patch 20070926235454-6856b-079fc12a9b63d59afd59aa205bc8bfeb350b097a.patch from womble -- Recycle the connection if we're presented with an EPIPE
      Adding patch 20070927042000-6856b-38a0c82fd0a0d950937e7fe5a38b9901743402b3.patch from womble -- Recycle the connection more aggressively, to stop problems with clients that are newly requesting certificates
      Adding patch 20070927050018-6856b-7fa134180aceb9cee2e667630345f5f8467a9d0c.patch from womble -- Catch more retryable errors in the XMLRPC call wrapper
      Adding part of patch 20071020011907-6856b-05b59120fdb90ab4a5842f91613247b07206a4ba.patch from womble -- Fix for Debian#447314, by fiddling with /var/run/puppet.  This does not accept the whole patch, because the change needs to be tested around other platforms.
      Adding patch 20071020015958-6856b-69efa7868cf3df3f2a2da6fcfc3b794bbb532c7f.patch from womble -- Remove rundir from puppet.conf, and add a NEWS entry to document these changes
      Adding patch 20071020020745-6856b-dbc63ff3f137a4039fb997b9978202d52f621e8c.patch from womble -- Fix some residual instances of /var/run fever
      Adding patch 20071030035457-6856b-bd1c45ed5ecd753b2cb4f05347061f7245cc175a.patch from womble -- Force removal of directories during pluginsync
      Hopefully fixing #698 -- fixing the markup for the pkgdmg package provider
      Integrating most of Matt Palmer's from
      Merge branch 'wombles-patches'
      Incorporating patch 20071030034736-6856b-6004090b3968cdbf7d366a03ee1c44e2160a3fe0.patch
      Merge commit 'danp/rails_socket_and_tests'
      Implementing the test for setting the Rails
      Applying the rest of Matt Palmer's patches
      Integrating Matt Palmer's patch to provide a 'plugins'
      Merge branch 'plugins_mount', fixing #891.
      Merge commit 'mccune/pending/fix-906'
      Applying patch by trombik from #756.
      Fixing #921, mostly by just deleting the existing test.  I had
      Rewriting the tests for the package resource type, fixing #930.
      Fixing a test that was erroneously testing for the wrong feature
      Fixing #919 -- installed packages used for testing are just ignored,
      Fixing #920 -- I have replaced the existing mount test with an
      Fixing the breakage that I caused when I added the 'declared_feature?'
      Fixing #924 -- clearing the configuration cache before and
      Fixing the persistent and periodic schedule test failures
      Fixing #927 -- rewriting the test to actually test what it's
      Fixing #931 by keeping track in configurations of
      Merge commit 'mccune/pending/fix-896r2'
      Fixing the asuser method in Puppet::Util::SUIDManager
      Fixing #796 -- the fileserver can now start with no
      Fixing #810 -- I catch the error and prefix it with something
      Fixing #781, from what I can tell.  I'm leaving it with
      Fixing the markup on the pkgdmg provider so it is a bit better
      Applying patches from #823 by wyvern
      Fixing the error message as requested in #893.
      Applying fix to xmlrpc client tests by Matt Palmer
      Fixing the first half of #917 -- the ResourcReference
      Adding a top-level ResourceReference class that everything
      Fixing puppetca so it passes its tests, duh.  Apparently
      Theoretically, this patch is to fix #917 (which it does), but
      Making a few changes to the transportable class to enhance backward compatibility
      Another backward compatibility patch, this time helping with a new server and old client
      Merge branch 'master' of ssh://reductivelabs.com/opt/rl/git/puppet
      Fixing #527 (rewrote service tests), #766 (services only restart when they
      Fixing #892 -- filesystem mounts are no longer remounted.
      Fixing a couple of tests that were failing on a different platform or with a different version of ruby
      Renaming @model to @resource in a provider
      Fixing another failing test I somehow missed in my last big commit
      Applying patch by whaymond_home to further fix part of #896.
      Merge commit 'mccune/pending/fix-896r3'
      Fixing #923.  Resources that are collected on the local
      Adding basic unit tests for type/user by DavidS from #948.
      Fixing #923 (again).  The host storage method was not
      Fixing #941 -- calling pkg_info instead of info
      Fixing part of #948 -- per-setting hooks are now called
      Fixing the rest of #948.  My previous work was sufficient,
      Fixing #951 -- external nodes work again, but you have to
      Updating the changelog with external node info.
      Adding an Indirection reference, along with the work
      Fixing some further failing tests resulting from the fix for
      Fixing #946.
      Fixing #937 -- I had not ported the dot methods at all,
      Adding paludis package support as provided by KillerFox
      Replacing freebsd service provider with the one
      Applying patch for portage package support from thansen
      Applying patch by raj in #881.
      Applying patch by josb in #884 to provide pattern
      Removing the recently-commited paludis provider,
      Merge commit 'davids-bugfixes/rest/fix-plugins-mount'
      Removing the 'addpath' commands from the freebsd service
      Adding what is hopefully the last commit for #896.  Here's the
      Applying patch by whaymond to fix #955.
      Merge branch 'master' of ssh://reductivelabs.com/opt/rl/git/puppet
      Copying the fact-loading code from the network client to
      Renaming the 'null' terminus type to 'plain', as
      Renaming 'configuration' to 'catalog', fixing #954.
      Removing extraneous debugging from the schedule resource type.
      Not using the main section when running the store report, since it is unneeded and can cause conflicts within puppetmasterd
      This should be the last fix for exported resources.
      Hopefully finally fixing #959.  Loading the stored cache
      Changing the statefile to only being managed by clients,
      Fixing the webrick test to provide a correct host
      Merge branch 'master' of ssh://reductivelabs.com/opt/rl/git/puppet
      Adding changelog update for misspiggy/0.24.0
      Updated to version 0.24.0
      Updated to version 0.24.0
      Fixing the Rakefile to include the yumhelper.py file in
      Remove the warning about an explicit plugins mount.
      Updating changelog to reflect the fact that we no
      Fixing #961 -- closing existing, open connections when
      Fixing some tests that were failing with the recent ruby that has
      Fixing #967 -- relationships now work when running 0.23.x clients
      Merge branch '0.24.x' of ssh://reductivelabs.com/opt/rl/git/puppet into 0.24.x
      Entirely refactoring http keep-alive.  There's now
      Removing the ability to disable http-keep alive,
      Adding a --print option to puppetca that just prints the full-text version of a
      Fixing #967 -- default resources no longer conflict with
      Updating filetype detection for vim, and changing
      Fixing parseonly with a modified version of jay's
      Updating the failure when the CRL is missing, so it's
      Further fixes toward #965.  Turned out that the previous fix
      Attempting to fix #952 -- catching any exceptions thrown
      Updating an exception message a bit.
      Updated to version 0.24.1
      Updated to version 0.24.1
      Adding 0.24.1 tag to the changelog.
      Merge branch '0.24.x' of git://git.et.redhat.com/puppet into 0.24.x
      Adding the first round of Nagios code.  There are no
      Fixing the inability to manage '/' directly.  It was a result
      Adding the metaprogramming to create the Nagios types
      Removing the one-off naginator provider for nagios_command.
      Added builtin support for all Nagios resource types.
      Merge branch 'nagios' into 0.24.x
      Removing the requirement in the parsed mount provider
      Fixing the unit tests for nagios_maker; I could swear I'd already
      Fixing #971 -- classes can once again be included multiple
      Fixing #982 -- I have completely removed the GRATR graph library
      Adding a parse test to puppet-test.
      Updating docs for ssh.
      Fixing #977 -- rundir is again set to 1777.
      Applying a fix for #998 -- I used a patch equivalent to
      Merge commit 'turnbull/0.24.x' into 0.24.x
      Wrapping the Resolv call in the mongrel server so if it
      Fixing #995 -- puppetd no longer dies at startup if the
      Fixing #1008 -- Puppet no longer throws an exception
      Fixing #976 -- both the full name of qualified classes and
      Removing the line that marked fink as the default package
      Fixing #794 -- consolidating the gentoo configuration files.
      I think I've finally fixed #959, by having the Settings
      Merge commit 'turnbull/0.24.x' into 0.24.x
      Fixing a couple of tests, one related to recent tagging changes
      Removing tons of unnecessary calls to "nil?" from the lexer.
      Significantly refactoring the lexer, including adding Token and TokenList
      Fixing #1017 -- environment-specific modulepath is no
      Merge commit 'turnbull/0.24.x' into 0.24.x
      Updating the docs for the cron type
      Merge commit 'bartv/pending/fix-933' into 0.24.x
      Merge branch '0.24.x' of git://wormwood.lovedthanlost.net/puppet into 0.24.x
      Merge commit 'plathrop/fix-1007' into 0.24.x
      Fixing the Settings class so that it correctly handles
      Applying patch by Jay to fix #989 -- missing crl files are
      Adding more information to dependencies that do not resolve
      Stubbing Facter during the snippet tests, so they are faster and work with no network
      Ceasing autoloading ast files; loading them manually instead
      Removing some obsolete code from the AST base class
      Refactoring the AST classes just a bit.  I realized that
      More AST refactoring -- each of the code wrapping classes
      Moving all of the tests for Puppet::Parser::Compile to
      Converting the Compile class to use a Node::Catalog instance
      Fixed #1030 - class and definition evaluation has been significantly
      Changing some methods in the Compile class to
      Refactoring the interface between the Compile class
      Changing the name of the Compile class to Compiler,
      Switching the Node Catalog to using a separate method
      Added a 'tagged?' method to the Tagging module.
      Switching the Node catalog to use the Tagging module
      Removing the last remaining vestiges of GRATR --
      Moving the ast node tests to rspec (which I could have
      Merge commit 'bartv/pending/fix-997' into 0.24.x
      Fixed #997 -- virtual defined types are no longer evaluated.
      Adding an inflection util class.
      Copying over Rick's work from the master branch supporting autotest and
      Trying to upgrade rspec, but not having much luck.
      Fixing the puppet_rspec autotest plugin to use the modern interface
      'rake' within the spec dir works now, anyway, which is
      Fixing the Rakefile so all tests run in one task instead
      Loading the mocha gem from the puppettest.rb file.
      Removing obsolete references (they're in the indirection
      Removing the last vestiges of GRATR from the PGraph class
      Fixed #1021 -- the problem was that my method of determining
      Renaming the 'pfile' and 'pfilebucket' files to plain
      Fixed #968 again, this time with tests -- parseonly works,
      Fixed #992 -- Puppet is now compatible with gems 1.0.1.
      Fixed #1003 -- Applying DavidS's patch to fix searching for
      Fixed #1043 -- autoloading now searches the plugins directory
      removing "lib" deprecation notice from autoloader
      Fixing #1064 -- providers et al are now autoloaded
      Fixing comment -- ticket #1027 instead of #1064
      Changing portage to use Puppet::Error instead of Puppet::PackageError,
      Enhancing the stand-alone checksums utility module
      Refactoring the incremental checksum generation
      Merge commit 'turnbull/ticket_1024' into 0.24.x
      Fixing the directory service provider's behaviour
      Fixing a failing test that resulted from a change
      Fixed #1037 -- remote unreadable files no longer have the
      Fixed #1018 -- resources now have their namevars added as
      Removing some extraneous debugging from a test.
      Hasstatus in the init service provider; it was just
      Quashed commit of my fixes for #1010.
      updating checksum for #1010 fix
      Fixing a test that was actually reading in keys
      Removing a test I never migrated from test/unit.
      Fixing a test that was failing when a user-specific
      Somewhat refactored fileserving so that it no longer caches
      Merge commit 'turnbull/0.24.x' into 0.24.x
      Making a couple of other small fixes, requiring
      Adding an example namespaceauth.conf
      adding a comment to the namespaceauth.conf file
      Fixing #1084 -- the node catalog asks the individual
      Fixing #1085, I think -- I was not returning a resource
      Removing the validation on package sources, since
      Fixing a typo in the mailalias resource type
      replacing tabs with spaces in the redhat interface provider
      Removed the loglevels from the valid values for 'logoutput'
      Adding a 'control' parameter to services, for those
      testing automatic commit emails
      Fixing #1093 -- 0.23.2 clients are again compatible
      Merge branch '0.24.x' of ssh://reductivelabs.com/opt/rl/git/puppet into 0.24.x
      Fixing #1101 -- puppetrun works again.
      Fixing an integration test so it cleans up after itself
      Fixing #1092 by no longer using the resource reference to
      Merge branch '0.24.x' of ssh://reductivelabs.com/opt/rl/git/puppet into 0.24.x
      Fixed #1063 -- the master correctly logs syntax errors when
      Merge commit 'lutter/0.24.x' into 0.24.x
      Fixed #1047 -- Puppet's parser no longer changes the order
      Fixing #1062 by moving the yamldir setting to its own yaml
      renaming ral/types to ral/type in the tests
      Fixing a test that changed the environment for all later tests,
      Fixing tests that did not work with Rails 2.
      Fixing a few more loading order issues.
      Fixing the fact that resources that model defined resources
      Fixing #1110 -- transactions now always make sure
      Fixing a few tests
      Merge branch '0.24.x' of ssh://reductivelabs.com/opt/rl/git/puppet into 0.24.x
      Merge commit 'shadoi/0.24.x' into 0.24.x
      Merge branch '0.24.x' of ssh://reductivelabs.com/opt/rl/git/puppet into 0.24.x
      Applying patch by DavidS to fix #1083.
      updating changelog for 0.24.2
      Updated to version 0.24.2
      Updated to version 0.24.2
      Updating version number
      Merge branch '0.24.x' of /opt/rl/git/puppet into 0.24.x
      Changed name of method for clarity per code review
      Always duplicating resource defaults in the parser, so that
      Merge commit 'turnbull/0.24.x' into 0.24.x
      Merge commit 'andrew/0.24.x' into 0.24.x
      Fix for 1094
      Partially fixing #1113: LDAP nodes now support environments,
      Fixing the rest of #1113: External node commands can specify
      Merge commit 'shadoi/fix1116' into 0.24.x
      Merge commit 'andrew/0.24.x' into 0.24.x
      updating changelog for already-closed tickets
      Fixing the "tidy" type to use an option hash for specifying its parent class
      Fixing the service-stop on debian, using the patch provided by DavidS
      Fixing #1118 -- downloading plugins and facts now ignores noop.
      Fixing #1132 -- host names can now have dashes anywhere.
      Using the indirected facts rather than master.getfacts, so no factsync is used
      Adding a test for local compiling
      Adding a filebucket test to puppet-test
      Merge commit 'johnf/0.24.x' into 0.24.x
      Modifying the yaml terminus base class to use the timestamp
      Caching node information in yaml (I figured caching in memory will
      Modified the ldap node terminus to also use the facts version
      Downgrading the "Using cache" message from the indirection to debug
      Removing a Settings.use that is unnecessary
      Merge branch '0.24.x' of ssh://reductivelabs.com/opt/rl/git/puppet into 0.24.x
      Updating changelog for 0.24.3
      Updated to version 0.24.3
      Updated to version 0.24.3
      Adding a rake taks for updating the trac docs
      Hopefully *finally* fixed the "already being managed" problem
      updating resource references in the docs
      Removing obsolete code from the fileserving handler.
      Removing explicit requires of types and providers,
      Settings now (again?) do not use a section more than
      Fixing a unit test for node integration
      Removing extra debugging
      Refactoring how the catalog creation handles errors.
      Fixing some tests that only failed under certain
      fixing another failing test
      Adding another commit for #1136 -- Consolidated
      Applying patch by wyvern to fix #1142.
      Fixed #1147: Cached nodes are correctly considered out of
      Fixing a test I broke with my fix to #1147
      Found an array that leaked pretty quickly between reparsing
      Found all instances of methods where split() is used without
      Applying patch by Ryan McBride to fix OpenBSD package
      Disabling http keep-alive as a means of preventing #1010.
      Fixing #1138 -- the yamldir is automatically created by the
      Modifying the way ensure is handled so that it supports
      Merge commit 'turnbull/0.24.x' into 0.24.x
      Moved the configuration of the Node cache to the puppetmasterd
      Fixing a couple of tests.
      Fixing #571 -- provider suitability is now checked at resource
      Updated to version 0.24.4
      Updated to version 0.24.4
      Merge branch '0.24.x' of git://wormwood.lovedthanlost.net/puppet into 0.24.x
      Adding 0.24.4 header to the changelog
      Fixing a duplicate word in the mount docs
      Adding the report reference back; I don't really know
      Merge commit 'turnbull/0.24.x' into 0.24.x
      Making a test executable
      Merge commit 'turnbull/0.24.x' into 0.24.x
      Adding validation to the user type to confirm that the
      Changing the default environment to production.
      Adding an envelope module to handle indirected instance
      Removing unused code from the file_serving/metadata class.
      Reworking the caching layer to use TTLs instead of versions
      Changing how destroy works, just a bit -- it now accepts
      Fixing one other test that was failing because of the change
      Fixing the integration tests related to the destroy fix.  Yay.
      Adding a Request class to the Indirection layer.  This
      Fixing the tests that were failing because of the use
      Fixing an errant comment
      Adding the ability for indirection requests to be created
      Fixing some tests that were failing because new base types
      Intermediate commit.
      Ported the rest of the indirection terminuses over to
      Fixing the executables to use the new indirection api.
      Making the log messages around caching better.
      Moved the request creation into the Indirection
      Fixing the expire method (it wasn't using a request
      Fixing #1173 -- classes and definitions can now have the same
      Fixing #1173 -- classes and definitions can now have the same
      Removed the code from the client that tries to avoid recompiling
      Fixed #1184 -- definitions now autoload correctly all of the time.
      Modified the 'master' handler to use the Catalog class to
      Resources now return the 'should' value for properties from
      The 'destroy' method in the indirection now returns
      Making the changes necessary to get the REST support
      Fixishing some pending tests, including filling in

Marcin Owsiany (2):
      Make it apparent that absent fields in a record have a value of :absent, which is different from what appears in a line.
      Somewhat better documentation of the :absent field feature in fileparsing.

Micah Anderson (1):
      Imported Upstream version 0.24.6

Michael V. O'Brien (28):
      Added shortname support to config.rb and refactored addargs
      Merge ssh://michael@reductivelabs.com/home/michael/git/puppet
      Fixed CA race condition (#693)
      Fixed #774, which fixed fully qualified collection statements
      Removed TYPE token, replacing it with CLASSREF token, in the grammar and lexer.  Updated CLASSREF token regex in the lexer.
      Fixed #784 by applying patch by vvidic.
      Merge branch 'master' of git://reductivelabs.com/puppet
      Fixed #797.  Removed the warning message about specifying 'enable' or 'ensure' when initializing a service.
      Partial fix for #772.  The SIGHUP now produces a EOPNOTSUPP instead of NameError.
      Renamed princs to principals in the k5login type.
      Merge branch 'master' of git://reductivelabs.com/puppet
      Updated the configuration doc to more clearly explain where puppet.conf is expected to be by default.
      Merge branch 'master' of git://reductivelabs.com/puppet
      Merge branch 'master' of git://reductivelabs.com/puppet
      Merge branch 'master' of git://reductivelabs.com/puppet
      Merge branch 'master' of git://reductivelabs.com/puppet
      Fixed #832.  Added the '--no-daemonize' option to puppetd and puppetmasterd.
      Merge branch 'master' of git://reductivelabs.com/puppet
      Updated CHANGELOG.
      Fixed #854.
      Fixed #827.  Applied a form of the patch provided by porridge and
      Fixed #855, but I didn't add any tests.
      Fixed #837.  Added freebsd service provider by trombik.
      Fixed #838.  Applied patch provided by DavidS to add more robust
      Fixed #822.  Applied patch provided by DavidS.
      Fixed #819.  Applied patch provided by matsuu.
      Merge branch 'parser-absent' of http://marcin.owsiany.pl/tmp/puppet into porridge
      Partial work done for ssl certificates.

Paul Lathrop (15):
      Updated documentation for builtin cron type; added information about range and step syntaxes.
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
      fix bug 974 - filenames with opening bracket characters generate exceptions
      Fujin's patch for ticket #1007 - consistent use of 'environment' instead of 'env'
      Added :env parameter for backwards-compatibility, with warning about deprecation. :env parameter sets new :environment parameter. Changed instances of :env to :environment for consistency with other types. Added tests for new parameters. This cimmit fixes ticket 1007.
      Fix ticket 974. My original "fix" wasn't. This actually fixes the problem by using a regular expression that matches only up to the first square bracket.
      Added rspec tests for loadedfile
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
      Added some more tests for loadedfile, based off the old unit tests.
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into 0.24.x
      Fixes #1148 - replaces #!/usr/bin/ruby with #!/usr/bin/env ruby.
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into unit-tests
      Merge branch '0.24.x' of git://reductivelabs.com/puppet into unit-tests
      Used stubs to decouple our code behavior from the behavior of the underlying filesystem, as well as removing the need to sleep (which caused the tests to take a long time).

Rick Bradley (108):
      Updates to indirection stuffs.  Making a better spec and migrating to it.
      Reworking the Indirector code.  Continuing to fight the classgen and instance_loader "utilities".
      Finally, some progress.  Closing the loops and delegating registered class calls out to the actual Terminus.
      More spec and indirector updates.
      Whitespace and comment commit.
      Fixed a test which was secretly sneaking off and pulling certs from ~ if they were there: Added set_mygroup method, removed duplicate setme method.  Included PuppetTest in the  XMLRPC servlect test.
      Fixed a failing test where we presumed that non-string Fact values would have type preserved across a P::N::Client.master.facts call, which is not true.
      Added partial spec for the serving of REST information, as well as some client-side REST terminus behavior.
      Interpreting "hidden" class from spec drafts as a REST Controller.  This name, functionality, and/or location in the tree is subject to change, but it's down now somewhere so we can move forward on it.
      Merge branch 'master' of git://reductivelabs.com/puppet into routing
      Merge branch 'master' of git://reductivelabs.com/puppet into routing
      Merge branch 'master' of git://reductivelabs.com/puppet into routing
      Merge branch 'master' of git://reductivelabs.com/puppet into routing
      Updating first portion of the Network RESTServer spec with example code, getting the added examples to pass.
      Spec'd a reset() method for clearing out known routes.  Uses the unregister method so that any hooks there will be run.  Probably a violation of YAGNI, but I'm willing to suffer it :-)
      Added .listening to REST server, handle listen states and transitions.
      Allow for multiple REST servers to be active; some terminology changes in spec; fleshing out more behavior, implementing.
      Minor tweaks.
      Merge branch 'master' of git://reductivelabs.com/puppet into routing
      Moving the webrick/mongrel "servers" over to HTTPServer module instead of Server.  Using Server as the master class for client connections.  Server (former RESTServer) will instantiate the appropriate subclass based upon Puppet configurator setting.  There are now tests broken in the network section which I can't seem to figure out yet.  Not a happy place to be.
      Trivial tweak on HTTPServer module file
      Homing in on a clean separation of concerns for a low-coupling, high-cohesion "server" model that will handle REST and/or XMLRPC on webrick and/or mongrel.
      Merge branch 'master' of git://reductivelabs.com/puppet into routing
      Merge branch 'master' of git://reductivelabs.com/puppet into routing
      Merge branch 'master' of git://reductivelabs.com/puppet into routing
      interim checkin of network stuffs
      more stuff for the interim commit
      Merge branch 'master' of git://reductivelabs.com/puppet into routing
      Pushing functionality down to webrick/mongrel classes now; cleanup in the base server / http server classes + specs.
      More unit specs for mongrel and webrick; more code to make them work, yo.
      Implementing listening state tracking for webrick and mongrel.
      trivial: WEBRick -> WEBrick, to be more consistent with how the WEBrick ruby classes are named.
      Hooking up address/port support for the various servers w/ specs.  Still need to start up a webrick server w/ address + port (this is far too incestuous with Puppet lib & Puppet.start at the moment).
      Implementing address & port support for new webrick server.
      Partial support for building Handlers for all handler-protocol pairs.
      Merge branch 'master' of git://reductivelabs.com/puppet into routing
      Bringing in initial handlers for server+protocol pairs.
      Finish front end of delegation to server+protocol helper classes ("handlers").
      Minor tweaks to make the ::Server initialization a bit more robust.  Fail on unknown HTTP Server types; fail fast.
      First pass through initializers of {mongrel, webrick} REST handlers; hooks into Indirection to look up models from indirected names.
      Going back to each server+protocol object being responsible for only one indirection, as the REST vs. XMLRPC models are different enough that the object must register itself on initialization and handle the request when it comes in.
      Registration now built for {webrick,mongrel} REST handlers.
      Inlined the controller, eliminating a class.  Mongrel+REST has the right bits for request handling prior to the encode/decode/exception-handling bits.  Refactored to make the common logic extractable to a base class.
      Refactored to use a Handler base class for server+protocol handlers.  Finally eliminated dependency on Puppet.start, etc., from WEBrick HTTP server class.  {webrick,mongrel}+REST now support request handling uniformly; need encode/decode next.
      Tweak to move model lookup functionality into the Handler base class where it belongs.  Robustifying the request sanitization a bit more.
      Refactoring, argument processing for model methods.
      Make it possible to run all tests even if mongrel isn't installed.  Shouldn't "confine" produce some output when running spec?  Who knows.
      Make the actual runtime be more robust when mongrel is not installed.
      Argument passing now supported on {webrick,mongrel}+REST.
      getting more fine-grained with the response specs -- the target is always moving.
      More specs, fleshing out the returns from REST
      Fix test which is conditional on mongrel installation.
      Merge branch 'master' of git://reductivelabs.com/puppet into routing
      Merge branch 'master' of git://reductivelabs.com/puppet into routing
      REST handlers now properly returning 200 status on success.
      Finish serializing successful results (via calls to to_yaml, etc.) for REST handlers.  Refactor request building in REST handler specs.
      Exceptions on requests are now captured, exceptions are serialized, and exception text is passed back via REST.
      Merge branch 'master' of git://reductivelabs.com/puppet into routing
      One significant step closer to getting autotest running properly on the Puppet specs.
      This won't be perfect by any stretch, but put in a moderately reasonable autotest config file.
      reordering spec binaries to prefer the local vendor/gems/rspec/bin/spec option
      Merge branch '0.24.x' into my24
      moving setup() methods to before :each, so that the tests will run with rspec, as opposed to just rake (which calls them directly with ruby, as opposed to any spec binary)
      converting indirection specs away from setup/teardown to rspec compatible before/after usage
      converting ral/types/schedule specs away from setup/teardown
      converting indirector/module_files specs from setup/teardown to before/after
      converting fileserving/configuration/parser specs from setup/teardown to before/after
      converting package type specs from setup/teardown to before/after
      converting indirector file specs from setup/teardown to before/after
      converting mount type specs from setup/teardown to before/after
      converting parsed mount provider specs from setup/teardown to before/after
      converting indirector direct file server specs from setup/teardown to before/after
      converting indirector ldap node specs from setup/teardown to before/after
      converting file serving configuration specs from setup/teardown to before/after
      converting indirector terminus specs from setup/teardown to before/after
      converting mount provider specs from setup/teardown to before/after
      converting parser compilerspecs from setup/teardown to before/after
      converting indirector checksum file specs from setup/teardown to before/after
      converting facter indirector specs from setup/teardown to before/after
      converting indirector yaml specs from setup/teardown to before/after
      converting node catalog specs from setup/teardown to before/after
      converting parser ast host class specs from setup/teardown to before/after
      converting parser ast node specs from setup/teardown to before/after
      Merge branch 'my24' into 0.24.x
      puppet-compliant indentation
      removing obsolete TODO comment
      the indirector will not serve xmlrpc (this is the responsibility of the legacy networking code; it was a mistake to include stubbed support for it in the new code); removing
      This is the first version where mongrel and webrick are reliably startable and stoppable via Puppet::Network::Server.
      fixing Puppet::Node::REST class name to work with autoloader inflection (Puppet::Node::Rest), so we can do Puppet::Node.terminus_class = :rest
      a trivial integration test to test whether the RESTful indirection terminus has a remote shot at working; will need to be upgraded to actually be useful
      Much larger commit than I would like to land at once.  This is all REST-related code.  Two specs are failing related to how Mongrel is initialized for REST; will fix those shortly.
      exceptions on remote end now properly passed to local end via REST and re-raised (integration-tested)
      Make mongrel happy like WEBrick.
      bringing Indirector::REST specs to mongrel-land as well.
      ensure that we only run the mongrel specs when mongrel is available as a feature
      placeholders for integration specs on final REST methods
      unit specs and implementation for Indirector::REST#search method
      making search work over REST, w/ unit & integration specs
      updating search integration specs to include webrick
      Added support for destroy/DELETE over REST (including units & integrations on both webrick & mongrel).
      work-in-progress; playing with refactoring network_* methods inside Indirector::REST
      disabling caching for Puppet::Indirector::Indirection as it was causing hella problems with testing save without caching; judging my luke's blog this is going to be rewritten somehow anyway
      adding REST save support, with integration tests.  A handful of unit tests in that area now need to be updated.
      updating mongrel/webrick unit tests to match integration-tested version of REST save functionality
      removed a debugging helper from the Indirector::Rest#save method
      make sure unit indirector specs are working with #save; fill out network_put pending specs
      adding rest_connection_details helper to Indirector::REST -- will need to be overridden to lookup the real connection details
      fill out specs for network_* methods; refactor lowest-level network hooks

Ryan McBride (1):
      Pass source to pkg_add via the PKG_PATH environment variable if

Sam Quigley (1):
      tweak the (already applied) patch in 388cf7c3df7ce26e953949ed6fe63d76cbbb3691 to resolve #1137; also, add tests which detect the problem.

ajax (41):
      Fixed a minor typo
      Typo: As stood had "remove" for "remote"
      Harded-coded pathname to OSX's ssh_known_hosts as a work-around until the ssh pathnames are user-configurable.
      Expanded documentation of command-line arguments for the puppet executables.
      Expanded documentation of command-line arguments for the puppet executables.
      Expanded documentation of command-line arguments for the puppet executables. (Tweak)
      Added some documentation to the security page to offer some example invocations useful for generating/signing certificates for clients and servers.
      File types were dying silently on OS X when the group specified in the manifest was not a valid group.
      Just fixed some RCS/CVS id tags.
      Rephrased a short section about finalizing the object dependence hierarchy.
      Changing warnonce to Puppet::Util::Warnings.warnonce.
      - New type Notify for sending client-side log messages
      - New type Notify for sending client-side log messages
      Added parameter 'withpath' to toggle printing of the object path.
      Messages will now be at current loglevel, regardless of whether the object path is displayed.
      Adding some documentation on reports.
      Missing tick.
      Another minor formatting fix.
      Changed document priority.
      Documented signals the puppet daemons accept
      More specific configuration and argument documentation.
      Expanded documentation for rrdgraph report.
      Adding a document to outline the use of tags
      Documentation edit
      Added a section about testing.
      New documentation hierarchy.
      New documentation hierarchy.
      New documentation hierarchy: adding indexes.
      New documentation hierarchy: fixing indexes.
      New documentation hierarchy: fixing indexes.
      New documentation hierarchy: fixing indexes.
      Adding some documentation to the programmer's documentation introducing the concept of providers.
      Adding some documentation to the programmer's documentation introducing the concept of providers.
      Adding a summary of using facter and using imported facter facts with puppet.
      Format tweak for fact tutorial.
      hoo
      pointing documentation to the wiki now
      Adding explicit umasks to these tests.
      fixing a documentation bug
      this is a spurious commit to test the trac site
      documentation fix

ballman (15):
      Merging of refactor-transacton to the trunk.  This work removes the :is attribute from properties and relies on the provider to cache or return the current value of the property.
      Removed the testing method: checknewinsync.
      Removed calls to is.
      Removed override of change_to_s since it is the same as the overridden method in EnsureProperty.
      Removed override of change_to_s since it is the same as the overridden method in EnsureProperty.
      Removed FIXARB's from a file that will be going away.
      Removed FIXARB's from the pfile stuff.  These have been resolved.
      Removed acts_as_taggable from the rails stuff.  I haven't removed the tables from the schema nor the indexes yet.
      Updated the CHANGELOG with changes for retrieve and acts_as_taggable.
      Major rework of the rails feature.  Changed the relationship between
      Revert unintentional change.
      Added the teardown of the database back to the tests.
      Changed the host to "eager fetch" all the resources and their associated
      Added to_s to the values to ensure the check versus the database will be
      Updated the CHANGELOG.

christian (4):
      Refactor SUIDManager tests to run without root, change SUIDManager's behavior to not silently fail when it's not root and fix all other tests that broke as a result.
      Changes to lib/ corresponding to test refactoring from r2759, was unaware that subversion only commited in the CWD
      Constants in provider/interface/redhat.rb are getting redifined as they are dynamically assigned, changing them to instance variables
      Fix for setting global exit code ($?) in SUIDManager tests

erikh (5):
      Merged test framework into trunk - still not ready until tests are converted to use it.
      Rake::TestTasks were running the test suite inadvertantly against the installed tree instead of the development tree due to a botched "libs" setting.
      + Puppet::SUIDManager - This replaces all calls to the built-in ruby 'Process' library for uid/gid/euid/egid operations, including (not surprisingly) Puppet::Util#asuser and a method to run commands and capture output. This is due to many inconsistencies (through bugfixes) between ruby versions in the 1.8.x branch. This is included in the core puppet library and can be used by all puppet types and providers.
      + New assertion: assert_uid_gid will check that the UID and GID have been changed to the proper values. This uses a fork and a FIFO to achieve it's checking.
      ! rename file because rake_test_loader is dumb.

josb (1):
      The result of .compact.join("\n") isn't assigned to anything. Fix.

luke (1705):
      removing need for zip in rakefile
      changing version number for beta
      changing default manifest location to /etc/puppet/manifests/site.pp
      fixing puppet to use correct method and adding a real test case for it
      changing default hostname to "puppet", and adding --parseonly option along with a test case for it
      adding a "--noop" option along with a test case for it
      catching a potential security problem -- requiring that "path" always be set for a fileserver mount
      correcting documentation on autosign in puppetmasterd, and switching the autosign.conf file to use the same authstore as fileserver.conf
      fileserver config file now reloads when it is more than 60 seconds out of date
      adding file reread to master, although it is plenty hackish
      fixing documentation for file source state
      Fixed small bug that caused the config files to be parsed on every connection
      fixing bug where remote server name is ignored
      fixing error calls
      removing if-related keywords
      defining configstatted
      defining $name in each component scope, and adding test case
      cleaning up obviated methods
      committing initial tidy stuff, so i can move to the laptop
      rearranging puppetdoc to not separate states and parameters, and to allow undocumented states
      changing some documentation methods around
      fixing small bug in setting default port
      removing DEFAULTPORT stuff
      adding all of the work necessary for tidying
      adding simple newcomp() method to base test class
      changing rollback() to do event handling also
      adding user and group classes (although user class is not yet functional), and added "is(state)" and "should(state)" methods for retrieving the respective values on a specified state
      adding scopetest
      rearranging some documentation
      finishing up user and group support for now
      adding a break if randomization takes too long
      all tests now pass on solaris 10x86; i had to do some stupid hacking with base64 for it to work, and i am working getting a much better base class for all test classes
      making states capable of being the namevar
      removing debugging
      reverting changes in the reverse order of what i executed them
      adding debug setting to the top-level test class
      group management now works on os x, although it is six shades of really nasty.  Netinfo is a nightmare.
      fixing groups again after getting them to work with netinfo
      adding cfengine to puppet parser, but it is not even remotely close to functional yet
      small updates
      some small fixes
      incorporating comments from talking to andrew
      incorporating comments from talking to andrew
      adding more comments from talking to andy
      intermediate commit so cron is not loaded
      adding snippet test to verify correct behaviour with missing exec path; also, adding "creates" parameter to exec
      fixing component flattening and sorting; it was not working for cases where objects inside of components had dependencies from other components
      fixing error handling so that failed objects are completely destroyed; they were receiving events even though they were supposed to be gone
      tracked down some sticky bugs related to having false values and empty strings; all fixed now, and all tests pass again, including the new tests that cover the bugs i found
      adding example configs
      adding globbing to import
      adding cron stuff; it does not work at all yet
      switching groups back to having namevar be a parameter instead of a state
      preparations for supporting netinfo in users
      modifications to eliminate code duplication in state creation, mostly to support cron
      fixing non-netinfo group
      fixing non-netinfo group
      moving some testing and debugging around
      fixing some tests
      cleaning up tests a bit; mostly just making sure tests clean up after themselves, but also doing some rearrangement and fixing a list() call
      adding extra checks to make sure networking is secure, and refactoring a heckuva lot of test
      switching FileTesting to a class, and modifying test suites as appropriate
      making "Type.new" private, and switching to "Type.create", so that i can merge new objects with existing objects and such; converted all files, and tested them
      finishing up merge method
      small fixing to merge(), and changing output of statechange
      cron is working, but i want to write quite a few more test cases
      adding keywords
      adding keywords
      Cron is now fully functional and tested on 3 platforms.  In order to make it work, I had to do some modifications to TransObject#to_type and Type.create, but all tests pass now.  Type.create is now handling errors on creating objects, so if you try to create an invalid object you will just get nil returned, rather than receiving an error.
      Creating a "change_to_s" method on State, so individual states can override and and determine how they get printed
      temporary commit so i can move to my workstation; groups and users are way b0rked
      all tests for users and groups pass again on fedora, debian, and solaris
      Users and groups now nearly work on normal machines and on os x, and I think I have a decent platform for expansion to some of the other important elements like hosts (probably most important after users and groups).  Some tests are still failing on os x, because netinfo sucks, but I will hopefully be able to figure out a solution soon.  Stupid OS X and NetInfo.
      fixing users on normal machines
      Users and groups now work on OS X.  I had to make some key changes to how transactions and state changes work -- the most important is that it is no longer an error to try to sync a state that is already in sync.  I could not find another way to handle all user states being out of sync but the first state actually syncs everything.
      Successfully parsed my entire converted cfengine configuration; these are all fixes for bugs i found as a result.  I have not tried to execute the configuration yet.
      adding --noop to puppet executable, and removing some extraneous comments
      My cfengine2puppet config now entirely parses.  The biggest problem I ran into is that my glob-based parsing was only returning the results of the last parsed file, instead of collecting all of the results.
      switching log.rb to raise Puppet::DevError events
      adding some new language tests
      adding stinkloads of comments to ast.rb (I am trying to go through and better comment my code over time), refactoring some of the AST classes, and working towards a more sensible class/definition/node distinction
      Okay, significant change -- classes no longer accept arguments (which makes things simpler but encourages the user of global variables, which is bad), and classes are finally singletons, meaning they will only ever be evaluated for each node a single time.  I still need to make nodes work correctly, but that is going to involve modifying the parsing system and a bit more
      converting tc_relationships.rb to the test base class
      adding a ParsedFile class to handle figuring out whether a file has changed
      I am still somewhat in mid-change, but I have made the biggest changes to making nodes work correctly.  The core code works, but I still need to fix my various test cases
      Okay, all tests pass again.  The work done on nodes will take a little while to clarify and such, but it should work pretty well.
      fixing "ignore" documentation to parse RST correctly.
      The new "include" syntax works now.
      Nodes now support inheritance, for better or for worse.
      Many, many changes toward a completely functional system.  The only current problems with my home config are that apache's stupid init script does not do status and that packages are not working as non-root users (which makes sense).
      Rearranging the packaging support a bit -- it is now more clear and significantly easier to understand, maintain, and enhance.
      fixing output in noop
      fixing behaviour when files are missing
      moving specific packaging support into separate files
      adding a test for includes
      Okay, services are now managed, um, entirely differently.  I have the beginnings of a system for supporting different service management frameworks, although I currently only support <nothing> and init scripts
      switching all relationships to be centrally maintained and to use symbolic references, rather than literal ones; also going through and making all tests pass again after mucking with services
      added overrides ability
      Switched @should to an array, so all objects can now handle that.  I have not yet gone through and done the other cool things that can result, but that will have to wait until tomorrow.  Also, I moved all of the pfile states into separate files, since the file was getting unweildy.
      removing the redundant pfile from the pfile state file names
      switching test classes back to modules -- making them classes causes too many empty tests to run every time
      adding tag support to scopes and the transportable class
      Adding some semantic tagging.  It is not exactly full-featured yet, and it is not used at all, but it was sufficient for some proof-of-concept stuff in preparation for the conference
      making service changes; it is still basically non-functional except in the degenerate case of using "init"
      "latest" is now a valid value for packages, and yum support is also included
      adding better docs to packages
      Made tweaks here and there to get it running better on my local network.  I am inches away from that happening.  All tests pass.
      Apt-cache was showing more information that I thought, so I had to redo how I was collecting the most recent package version
      fixing path to facter
      general cleanup, as i move towards running it locally
      Getting rid of the tc_ prefix to test cases
      fixing certmgr tests
      The Puppet::Util.asuser function now works; had to slightly modify user.rb to make checking work.  In addition, exec.rb now takes advantage of it.  I also decided to make a small change to type.rb -- validstates now only returns state names, not names and states.
      files and directories are now created as the correct user and group if they are set
      fixing sources so that they always have a corresponding checksum state
      Further small bug fixes towards running puppet on my network
      adding tags and path accessors
      Adding logging methods to all Puppet::Element instances, and converting all instance log statements to use those methods.  Additionally modified logging to take advantage of this by including the path of the logging object in the output.  Logs will still need some cleanup to avoid duplicate information.
      Central logging now works, although there appear to be a few kinks to work out.
      central logging is fully functional now, but it is painfully slow, so it is disabled by default
      Protecting from bug in Syslog, and fixing some more log messages
      Fixed merging of state values, but I have not yet solved merging of parameter or metaparam values, since they are quite different.
      The language now verifies some resemblance to closurehood.  I now only need to fix the library to expect this behaviour.
      Cleaning up tests resulting from the changes to the parser
      adding config file stuff, but not using it yet.  I have decided to release the next version without them.
      Making paths work a little more intelligently
      Further progress towards the next release.  Lots of small bugs fixed, the paths look much better now, and Transportable is much cleaner.
      Adding "isomorphic?" method to classes, and testing for isomorphism before throwing a conflict
      Lots of refactoring, and added the capture_stderr method
      Mostly fixing exec so it either captures stderr or runs as a user; Process.euid was not working correctly
      fixing puppet to default to using the console for output
      fixing filesources so that the first found file is copied, and adding a test case
      adding cfengine module, which required passing the cfengine classes all the way through the stack to the scope
      updates
      updates from os x
      fixing incredibly annoying bug where os x returns stupidly large uid when uid is below 0
      fixing tests to work from any CWD
      removing marks
      updates
      final updates for 0.9.2
      removing ruby shebang at the top of all of the files
      fixing files being put directly into tmp
      removing any direct references to /tmp in tests
      adding Util.lock, and switching storage to using it
      converting storage from Marshal to YAML
      removing "host" as a keyword; it was an alias for "node"
      adding some comments
      Fixing two reported bugs in cron jobs.  Cron jobs correctly change when fields other than the command are updated, and they do not continually refresh when the command has trailing spaces
      some updates to the typegen stuff, even though i may still not use it
      Updated to version 0.9.3
      Disabling most documentation generation except for the API docs, and wrapping the StatusServer in the xmlrpc check
      adding things to the change log, and modifying the order of the steps
      adding some better readme stuff
      Removing tests from the list of tasks
      Updated to version 0.9.4
      fixing rakefile
      renaming the module, so it behaves better with people's svn clients
      Adding a host test task
      adding ftools require statement to install.rb
      converting waitforcert to an int
      updates
      Merging in refactoring from version 774 into version 784
      Undoing the merge that happened in 785
      Merging changes from the head of the rework1 branch, r 784
      updates
      All tests pass now, although the lack of service support on os x means that i have now disabled services on it
      Modifying hosttest
      Describing 0.10.0 changes
      Updated to version 0.10.0
      Updating Puppet to work with the new Facter
      Adding some consistencies to the executable tests.  All exe tests now pass on OpenBSD, although the only real problem was that ruby was in /usr/local/bin.
      Fixing init path default
      Adding some extra feedback
      Supporting puppetmasterd running as a non-root user, and doing some basic message cleanup
      Adding Sun support and fixing the last remaining bugs related to the daemon changes i just made
      modifying changelog for 0.10.1
      Updated to version 0.10.1
      Adding a requires? method to types, fixed the bug where exec fail when Puppet is downloading the script to execute, and modified "exec" to autorequire any managed scripts
      Adding generic autorequire mechanism, and thus removing it from exec
      Adding autorequire to files, and added the cwd to the list of files to be required for exec. Also, exec catches inline files and autorequires them.
      Adding "alias" metaparam; you can now create as many aliases as you want for any of your objects.
      Fixing documentation generation, and fixing aliasing so that objects can safely be aliased to themselves
      Fixing dependencies to not depend on file order.  Added Puppet::Type.{finalize,mkdepends,builddepends}
      Services now work at least somewhat on solaris 10, and service testing is pretty different.
      Updated to version 0.10.2
      Adding 0.10.2 stuff
      Adding "content" state to files, and string interpolation handles escaped whitespace characters.
      Fixed a couple of warnings, fixed a critical bug having to do with case statements (where there is only one listed option), and did a couple of other cleanups.
      Adding further notes about openssl
      Converting transport format to YAML instead of Marshal, and caching the file in a YAML format, also.  This required a significant rework of both Transportable classes.  Lastly, I am also now caching the list of classes in a class file in /etc/puppet.
      Adding initial host support.  I can promise that this will soon (hopefully almost immediately) be abstracted to make it easy to add new file types.
      Abstracting host support so it should easily support other types
      Abstracting host support so it should easily support other types
      finalizing cron and host management, hopefully
      Adding /etc/services support
      Fixing up the parsedtypes, fixing Type.eachtype to ignore structure types
      Changing host and port aliases to also create Puppet aliases.  This involved futzing around with the attr* methods in Type.rb, to make sure states are always checked first.
      Added "finish" method, using it in Type.finalize, and moved autorequire and setdefaults to it.
      Moving ast classes into separate files
      Adding a bit better logging and checking to file access
      Adding another host to the test lists, adding some test data, and modifying how hosts parse
      Adding sshkey class plus tests, and adding "aggregatable" methods to type.rb
      Added "ensure" state to some classes, and added infrastructure for it to work elsewhere.
      Adding an "ensure" state where appropriate, and significantly reworking the builtin docs.
      Updated to version 0.11.0
      Fixing problems where objects were passing @parameters[:param] objects, instead of specifically retrieving the value
      Adding openbsd packaging support
      modifying changelog for 0.11.1
      Updated to version 0.11.1
      Fixing most types to allow no statements
      Made lots of small changes, mostly to help usability but also fixed a couple of key bugs
      modding changelog for 0.11.2
      Updated to version 0.11.2
      Fixing a small checksumming bug, reorganizing the client stuff a bit, and adding freshness checking for the configuration, so the config is recompiled every time nor is it downloaded unless it has been recompiled
      Modifying docs, and adding scheduling hooks
      Committing most of the scheduling stuff.  There is still a bit of work to do in terms of how puppetd interacts with scheduling, but the bulk of the work is done.
      Adding the event-loop stuff to the repository and switching to using it.  Also, breaking many classes out into their own class files.
      Fixing some logging issues
      RPM release is almost entirely there, it just needs to be integrated into release management
      Small mods to the packaging stuff
      Updated to version 0.12.0
      Updated to version 0.12.0
      Adding release tag REL_0_12_0
      Fixing waitforcert so that the client can actually add the certs once it receives them
      Caching Time objects instead of numbers, since Bignum does not seem to be YAMLable
      Fixing class storage -- it was not working for nodescopes
      Fixing a significant performance bug in file recursion, and trying to help performance a bit in attribute handling on types
      a couple small changes; the most significant is the addition of a class-level "eachattr" method, to avoid all of the calls to attrclass and attrtype
      committing test code for bug lutter found
      Config files now seem to work, so I am ready to start incorporating them.
      Temporary commit; configs now can be converted to manifests
      Committing both the finalization of the config code, plus all of the code necessary to get basic isomorphism from code to transportables and back.  Mostly keyword and autoname stuff.
      Configuration parameters now require (and have) descriptions, and a set of configuration parameters can be converted to a configuration file, a manifest, or a component.  All I have to do now is integrate them into the executables.
      There is now full support for configuration files, and the entire system has been modified to expect their new behaviour.  I have not yet run the test across all test hosts, though.
      adding vim syntax stuff
      adding initial ldap schema
      wrapping all work in a single rescue clause
      Fixing bug that occurs with only one argument
      replacing all occurences of "is_a?" in the parser with "instance_of?"
      adding keyword
      adding keyword
      first bug fixed, where sources were not updating the checksum
      Checksums now get correctly updated for both the ensure and content state when those states are used
      Fixing the conflict between ensure and source.  Ironically I had already made sure there was no conflict with "content", but I had forgotten "source".
      Fixing small problem where checksum retrieving did not look in the cache; this was only ever a problem in cases where checksums have no "should" value set, which is generally only the case on the fileserver, but it caused the fileserver to replace checksum values on every retrieval.
      removing errant warning
      adding some documentation
      Adding answerfile support to sun pkgs.
      Updating changelog for 0.13.0
      Updated to version 0.13.0
      Making the language name a real alias.  Now all objects in Puppet support specifying both the name and the namevar, or just a name and having the namevar set.
      Fixing locking.  It apparently was not working on OS X, and I was not syncronizing access in threads -- i assumed locks themselves were a sufficient sync point.
      Fixing some problems with cron tab management, and creating Puppet::Util.{u,g}id methods.
      updating changelog and docs for :alias
      updating alias docs to pass ReST checks
      Updated to version 0.13.1
      Correcting some path problems with symlink, and changing "target" state to "ensure"
      Fixing :target reference in pfile.rb
      Correcting some path problems with symlink, and changing "target" state to "ensure"
      Adding --loadclasses option to puppet
      Adding a general "check" mechanism to :exec, so it is now terribly easy to define a new check to perform, converted :creates and :refreshonly to use that mechanism, and then added :onlyif and :unless as new checks.  Also added any files they mention as autorequire files.
      Adding --enable/--disable locking for puppetd.  You can now disable puppetd from running by creating a lock file, which is useful if you are testing a configuration and want puppetd not to run for a bit.
      Committing the initial ldap support -- puppet can now look up node configurations in ldap.  The test scripts currently only work on my home network.
      Some important bug fixes in the parsedtypes types; this all started from the submitted bug today, but I added :absent support to most params.
      Fixing the order of arguments when using admin files with sun packages
      Fixing users so that they can use a group created by Puppet, and they also now autorequire that group.  To do so, I modified Puppet::Util.gid, which required that I fix Puppet::Type#merge to support merging managed and umanaged objects, which required fixing a bug in Puppet::Type#managed?, and I also changed the ensure state to only default to a value, when the object is managed, which required that I change the defaults system to support default procs that do not return a value.  In other words, lots of fixes for a smallish problem, but we are much better off now.
      Changing "answerfile" to "adminfile", adding "responsefile", and autorequiring both.
      Tracked down a few other bugs; everything now passes on debian in preparation for 0.13.2
      Changed the parsedtype definition of exists(), and fixed a few smaller bugs.  Last code commit before 0.13.2
      Updated to version 0.13.2
      Fixing symbolic naming bug where symbolic names were being ignored in some cases
      Adding logoutput parameter to :exec
      Duh, removing some debugging
      Removed some of the autorequire stuff from :exec because it created untenable require loops, and created a test case for some complicated exec + file recursion.  The test case fails, and I want to have a clean committed repository before i mess much more in trying to fix it, which might actually not be possible.
      Changing transactions to be one-stage instead of two, and changing most of the type classes to use "obj[:name]" instead of "obj.name" where appropriate, because "obj.name" might be a symbolic name (e.g., File.unlink(file.name) will not do what you want if file.name == "sshdconfig" but file[:path] == "/etc/ssh/sshd_config")
      Adding single-quote syntactical element
      Fixing bug when creating containers with parents
      Adding a bit more logging
      updates
      updating changelog for 0.13.4
      Updated to version 0.13.4
      adding passwd converter
      removing extra error statement
      Fixing package types so you can specify the package type manually in a manifest
      Adding redhat service type, to support enabling and disabling a service
      adding changelog for 0.13.5
      Updated to version 0.13.5
      removing the initial syslog dest setting
      adding commas to each line
      Fixing bug #72, where trailing slashes break file sourcing
      Adding TERM to the signals being trapped
      Fixing output when user/group are not found
      Removing timestamp debugging
      Fixing nodes so that their paths are printed correctly
      Adding some debugging to list the states being changed when in debug mode
      Fixing scopes and AST so that definitions and classes are looked for in the scopes, instead of in a global list
      Switching setclass to use object_ids instead of class names, and adding some comments.
      Mostly, this is a refactoring commit.  There is one significant new feature,
      Removing all of the autoname code
      Fixing bug #75, providing support for unnecessary end commas.
      Fixing bug #73; node names now appear only once in the path
      Fixing #64; multiple class definitions in the same scope is now an error, although using the same class name in different scopes is not an error.
      Fixing bug #60.  Converting nodes to use types everywhere instead of names, and adding a localobjectable to keep track of what parameters have been defined locally.
      Fixing #70.  We now have user and group management on FreeBSD.
      adding a connect log to the master server
      Fixing user and group management in the config handling.
      Intermediate commit; setdefaults now accepts both hashes and arrays
      Changing the setdefaults input format somewhat.  It is always a hash of some kind now.
      Adding metadata to defaults
      Okay, Puppet is now almost entirely capable of configuring itself.  I have not yet added the extra tests to puppetmasterd to make sure it can start as a normal user, and the executables still fail some simple tests because they are producing output when they start (I will get rid of the output), but overall things look pretty good.
      Fixing #68.  After tons and tons and tons of work, everything successfully configures itself, and the --genmanifest argument should actually work.  User and group creation will not necessarily work everywhere (in particular, Puppet uses dependencies to create the group first, but Fedora complains on user creation if the group already exists), but file and directory creation should.  The only downside is that there is a decent amount of extra information printed on daemon startup, as the daemon checks its config; this could maybe be seen as a bonus, though, I guess.
      Fixing tests so they do not chmod /dev/null to 640 (stupid tests).
      updating changelog for 0.13.6
      Updated to version 0.13.6
      upgrading to warning the message about using a cached copy
      Definitions now always create their own context, which means that they cannot override elements in the containing scopes.
      logging config changes at debug, instead of the normal log level
      Only setting group or owner on config files when running as root
      renaming
      Supporting variables as the test value in both case statements and selectors.
      fixing the mode of the yaml file
      removing extraneous debugging
      fixing deprecation notice about services using "ensure" instead of "running"
      Fixing logging in the fileserver so it is always obvious where the logs are originating, and fixing a bit of debugging elsewhere.
      Switching from using "evaluate" to using "retrieve" when getting checksum values, since retrieval is sufficient, and evaluate keeps printing messages about changes.
      removing group ownership of the state file; I realized that the server does not ever actually write to it.
      Adding "links" parameter to files, and adding support for following or ignoring links to all of the states it can matter to.  I still need to modify "source" so that it behaves correctly when managing links.
      Committing the last changes, for now, to handling links.  You still cannot copy remote links, but you can either ignore or follow them.  I do not think we will be able to copy remote links until I have merged symlinks and files to be the same object type again.
      Fixing yum listing bug, and caching the "latest" value so it is not asked for so many times; this fixes #90.
      Updated to version 0.14.0
      Making some logging changes, and fixing a small bug in group management on missing files
      fixing some more logging issues
      making case statements not create a new scope
      updating changelog for 0.14.1
      Updated to version 0.14.1
      lowering the log output for nonexistent files
      Fixing #97.  I was wrong about the object type I had, so I was calling "type" with no arguments, which was causing the bug.
      Fixing #96.  Defaults are now set when the object is passed out by the scope, rather than when the object is created.  This is nice because it also moves awareness of the scope internals out of the AST object and back into the scope.
      Creating a single, constistent method for writing files, instead of having :ensure, :content, and :source each have a slightly different mechanism.  This method also makes sure that the owner, group, and mode are always set on file creation, so extra runs are not necessary to make it work.
      Fixing #95.  I had to redesign how events were triggered; the transaction now individually triggers each subscription, so that it has control in how to respond to failures.  Eventually, this will lead the way to error handling within puppet, but for now, it just allows us to trigger every appropriate subscription, whether some have failed or not.
      Parameters and states can now register regexes as allowed values.  Also, there are (finally) tests associated with params and states, although they should be much more comprehensive.
      Merging symlinks back into files.  Symlinks still exist but with a warning about deprecation.  Fixes #93.  Also the first time I have run any tests on OS X, so there are some bug fixes related to that.
      There was a critical design flaw in the link recursion work I did previously, and fixing it required a decently large reorganization.  Everything is much, much cleaner now.
      Fixing small bug when autorequire returns an object instead of a string
      Using undefined variables is no longer an exception, it just returns an empty string.
      Supporting rpm installs when a package source is specified
      Fixing #82.  You can now specify comma-separated tags to get run in puppet or puppetd: puppetd --onetime --tags "enhost, facter" -v.  You cannot specify classes explicitly, but tags map well to classes and have the benefit of being more generic.
      fixing broken test from my previous change
      Fixing rpms so they will automatically upgrade when you point Puppet to a new package file
      Fixing bug related to recursion testing
      Adding enhancement #92.  Unfortunately, I was not able to write test code to consistently verify that this works, because there is too much caching internally.  I verified it personally using my own configurations, but that is as good as I could do.  This indicates that caching should probably be rethought, so that there is some kind of global "do not cache anything" mechanism.
      reducing the log level for checksum warning about symlinks
      reducing the log level for checksum warning about symlinks, really this time
      Fixing #98.  Filebuckets now work throughout the system, and the puppetmasterd creates one by default.  I have also updated the :backup docs, adding an example.
      Ooops, did not save the docs before committing.
      Fixing #94.  When "ensure" is synced, it syncs the "enable" state at the same time.
      Fixing small bug in symlink recursion
      Fixing fileserver tests; apparently they were still broken from when i changed the fileserving interface to handle links.
      adding some extra info to the ldap test
      Changing the way the hosttest output is handled
      Adding upgrade ability to sun packages.  Currently it removes the old package and installs the new one.
      fixing small bug in the test code when there are no packages to test
      Updating changelog for 0.15.0.
      Updated to version 0.15.0
      Adding EPM package building.
      Committing the EPM support.  I am in the process of moving this to a common library that all of my projects can use.
      adding sbin directory
      removing dos EOL chars
      This version appears to work well with epm stuff
      Converted everything over for Puppet.  The Rakefile is, um, a *lot* shorter. :)
      Fixing service enable/disable on solaris 10, and fixing some problems with the tests
      Removing ruby as a dependency, since too many packaging systems will have installed it differently
      Using differents commands with yum depending on whether the package is currently installed or not.
      Fixing #100.  I just added a bit of a hack to configuration parsing -- if a group is specified in a section that matches the name of the process, then it is assumed to be the group that the process should run as.  The problem is that we are reusing the term "group" here for both the run-group and the file-group.  Oh well.
      updating changelog for 0.15.1
      commiting package test fix that i thought i committed ages ago
      Committing support for group membership management.  Currently only works on Linuxes and other OSes that use "useradd" that support -G.
      Adding os x group management support
      Adding filesystem support, and modifying parsedtypes a bit to fix a bug where non-instance lines were being duplicated
      renaming filesystem to mount
      fixing a bug that appeared somehow in port.rb, and adding mount and sshkey to the types being autoloaded
      Adding a "write" method to config objects, so that files can be easily written with the correct owner, group, and modes
      adding mkdir equivalent of Config#write
      Added a test for Type#remove, and fixed the method so it actually works. I was missing every other object, because i was iterating over the array being modified.  This caused the Config stuff to often fail, because objects were not correctly being removed.  All fixed now, though.
      making a small change to the test, so failures are more informative
      Adding apple package support, but it is very limited -- packages can only be installed, not upgraded or removed.
      Fixing a logging bug that apparently resulted from logging changes a while ago.
      changing ssldir perms to 771, so non-root users can write to subdirs if they have permissions
      Bugfixes for OS X.  I had to do some shenanigans on type/file/ensure.rb -- it was testing whether the parent dir was writeable on object creation, and if not it was not setting ownership and such, so i added some post-creation checks that will fix ownership if it was not set correctly at creation time.
      Fixing authstore to use an array for ordering, rather than a hash, duh.
      eliminating some debugging, and removing a small redundancy bug in nameserver.rb
      Adding netinfo type and some tests
      Finally!  We now have mount support in OS X.  Ouch.
      Fixing the class file to actually store class names, not object ids.  Also added tests to make sure it all stays that way.
      adding -e ability to puppet executable
      Fixing #108
      Fixing a couple of bugs in preparation for 0.15.2; mostly they were in the testing system and resulted from changing :File to :Manifest in server/master
      loading yumrepo in the test, since it is not being loaded in the main code
      getting rid of the parser tree, and moving everything into the language dir
      removing the parser dir
      Fixing #103.  There are now no such things as node scopes; the entire tree is evaluated on every node connection, and node facts are set at the top-level scope.
      Fixing #103.  There are now no such things as node scopes; the entire tree is evaluated on every node connection, and node facts are set at the top-level scope.  This includes,um, the code; the last commit was accidentally just test changes.
      renaming; i hate bsd
      adding some docs
      adding deprecation notice
      fixing Config#mkdir test to not check gid on any BSD, since they appear to ignore egid when making directories or files
      fixing a couple small bugs in doc generation
      differentiating openbsd from freebsd, adding freebsd, and autoloading package types instead of manually loading them
      Adding darwinport type.
      updating changelog in preparation for 0.15.2
      removing patch from spec file
      Fixing a small bug in type.rb that ignored false values (instead of nil values), another small bug in value setting that resulted in the file and line appearing twice in errors, and added validation to all of the checks in :exec (along with testing for all of it).
      moving cwd existence check into "sync" instead of "validate"
      adding a bit of debugging
      Fixing checks so that they can run even if the set cwd does not exist
      And, one more time.  My test for the last bug did not actually retrieve, so it did not enounter the problem, and i had also forgotten to add the "check" boolean to the checks.  Hopefully this will be the end of exec bugs for the day.
      Okay, last one, hopefully.  Modifying checks to support arrays.
      Adding autoloading for types and service types, also.
      updating changelog for 0.15.3; I need these exec fixes for my client
      Committing an important fix to mounts; since i am sure no one has downloaded 0.15.3, i am just going to rerelease 0.15.3 with this fix in it
      committing version changes
      another small mount fix; this time, for stupid os x
      Fixing #117. If only one value was provided, then it was not placed in an array, yet AST::Selector expected an array.  The grammar needs to have some abstraction added or something, because I seem to have encountered this bug for every ast type that supports arrays internally.
      Adding simple benchmarking, and using it in a few of the more obvious places.  Also, fixed a bug in Scope#gennode.
      Adding a "tag" metaparam
      Adding the puppet client version to the fact list as "clientversion"
      Adding the puppet client version to the fact list as "clientversion"
      Adding a few informative facts on the server side: serverversion, servername, serverip. And only printing the parse time in the interpreter if it is not a local connection.
      Fixing the language side of #109.  Added a "set" keyword.
      Modifying "setclass" on scope to check the validity of class names, now that "set" can be used to set them manually, and added a test for it.
      Adding the host name as a tag (stripped of the domain name)
      Changing "set" to "tag"
      Adding locking to the master client, so that only one copy of puppetd will be running.  This should make it safe to run puppetd manually while it is also running normally.
      Adding --test option to puppetd (it enables --onetime, --no-usecacheonfailure, and --verbose), and modifying the docs a bit.
      Oops, typo in client/master.rb
      Adding doc generation for exe arguments
      Fixing puppetca so it does not call chuser; instead, it is configured to create all of the files with the correct permissions and ownership (using Config#write and Config#writesub).
      changing set to tag in the tests
      Fixing a bunch of small bugs, mostly found by testing on solaris, and added a check to the test system that points out memory growth
      Changing the log level of the "defaulting to base service type" message
      Fixing #118; the hash is now always 8 hex characters, 0-padded.  Also changed the CA cert name to the FQDN of the host serving the CA, rather than "CAcert".
      Fixin #102.  The syslog name is now either the name if the process (if that name includes "puppet" in it) or "puppet-" and the name of the process.  Also removing the "alert" test messages, since they result in a wall.
      Fixing service stopping; I had the %x{} command quoted
      fixing test to know that i skipped alerts
      Adding freebsd ports support
      Actually adding the ports file that provides freebsd port support
      A simple first version of an object (called "pelement") server is now in place.  There is not yet a client, and the tests are pretty simple so far -- only files have been tested yet.  I had to make a significant number of modifications to the file object in order to get this all to work, and one of the big changes I made is to the internals of the checksum state.
      Adding a "list" class method to most types, and using it in the tests for the pelement server to verify that objects can be copied using it.  I expect that most package types other than apt/dpkg are not yet working with these tests.
      Added a list class method to just about all types, and it seems to actually work for everyone.  Now just to add a list method to the pelement server.
      pelement listing now works
      Go some work started on developing authorization, but I have made little progress.  I might wait on this for the next point release.
      making corrections to pass tests on freebsd
      Final commit before 0.16.0
      removing patch from red hat spec file
      Modifying non-existent-package test to make sure syncing fails, and modified ports package type to check the error output instead of the return code, because the portinstall command returns 0 even on failure.
      Creating a simplistic, generic function framework in the parser, so it is now very easy to add new functions.  There is a pretty crappy, hardwired distinction between functions that return values and those that do not, but I do not see a good way around it right now.  Functions are also currently responsible for handling their own arity, although I have plans for fixing that.
      Adding "defined" functino to puppet, so you can now test whether a given class or definition is defined.
      removing unnecessary debugging
      Adding sum type to the retrieved sum if it is not already there.  This provides backwards compatibility for existing cache files.
      This should have been in 0.16.1.  Moving the "setclass" statements around so that classes are set before a given class's code is evaluated, so it can be tested within the code, within node defs, components, or classes.
      adding "clean" mode to puppetca
      updating changelog for 0.16.1 and 0.16.2
      Trying to track down the bugs reported this morning, so I added some more test cases.  I did find a bug in the filebuckets, fixed it, and added a test case.
      Adding in all of the patches necessary to make a prototype rails interface to puppet nodes work.  The biggest change is that there is now a separate NetworkClient class for every Client subclass, because otherwise you get namespace collisions.  Most everything other change is a relatively minor patch.
      Adding in all of the patches necessary to make a prototype rails interface to puppet nodes work.  The biggest change is that there is now a separate NetworkClient class for every Client subclass, because otherwise you get namespace collisions.  Most everything other change is a relatively minor patch.
      Fixing #128.  md5lite was being used instead of full md5.  At this point, md5lite cannot be used for source copies.
      Making file copying significantly faster -- i found an extra call to "describe" in file sources and an extra read/checksumming of the dest file
      Puppetd now has an option for listening -- just run the --listen option, and it will start up with a pelement server.  It will fail to start if the authconfig file (defaulting to /etc/puppet/namespaceauth.conf) is missing, since it defaults to access at this point.
      Fixing the docs a bit for the executables, adding a --daemonize option to puppetd and puppetmasterd so they can still be daemonized with debugging or verbosity enabled, and causing puppetd to fail to start if a PID file exists (and not setting a pid file if running with --onetime enabled).
      Adding a check to make sure the mode is copied over.
      Added some code that could be used later to make sure the user and mode are also copied on backups.
      Changing test for service paths; only testing if it is a directory if it is present.
      Fixing TransObject#to_type so that it does not modify the object being converted
      Fixing tests looking for pmap
      Hopefully final bug fixes in preparation for 0.16.3
      Bug fixes from OS X for 0.16.3
      updating changelog
      Updated to version 0.16.3
      Fixing #132, which involved creating a separate CA client and using it to retrieve the certificates.  There was more work to do because of the weird client/daemon/server heirarchy.
      updating changelog for 0.16.4
      Updated to version 0.16.4
      Switching to just using "preserve" for file copying in file#handlebackups
      Allowing dashes in class names, although grammar rules restrict it from working anywhere except node names or in tag().  They are valid in host names, and many companies have them in the host names; in fact, this fix is for a company with this exact problem -- they cannot use puppet with their nodes because all their hosts have dashes in the host names.
      Fixing some naming problems with crons, and adding appropriate tests
      Fixing a stupid bug i managed to introduce in 0.16.2 (probably) involving importing files with classes in them.  This is a better solution than what I had before the bug, anyway.  Also, some documentation fixes.
      updating changelog for 0.16.5
      Updated to version 0.16.5
      fixing log messages
      fixing log messages
      Fixing the problem that lutter ran into; the issue seems to be that Facter could not find the ipaddress on the server.
      Small bug fixes
      Changing default for pattern to include the binary if it is included
      Changing how events work.  Events are now responded to inline, while an object is being applied.
      Making trigger logs much clearer -- you now get info logs indicating how many dependencies changed, and debug logs indicating what those dependencies are
      making a test to verify that the functionality womble is looking for now works
      Preliminary commit of the first phase of the parser redesign.  The biggest difference is that overrides should now work for definitions (although i do not yet have a test case -- i will add one on the next commit).  The way this is implemented is by having scopes translate themselves at eval time, but in two phases -- the first phase does the overrides, and the second phase does the evaluation of definitions and classes.
      It is just a snippet test, and thus a functional test but not a coverage test, but definition overrides officially work.  This was important because it enables definitions to be collectable, which was not possible without the mechanism that enables this.
      Slight modifications to package parsing on *bsd.  It should be better about catching the version number, and unparseable lines are now just warnings, not errors.
      Updating doc system to add the list of valid values to the doc string, and tweaking a few docs.
      removing some extraneous logging
      Fixing #141.  It was a problem related to the recent parser changes I made.
      Adding some small changes towards fixing #140 and #83, but this work needs to take a back seat to object collection, so i will come back to it later.
      Adding initial rails support.  One can now store host configurations using ActiveRecord into a database (I have only tested sqlite3).  Tomorrow will be the grammars used to retrieve those records for object collection.
      adding a few more fields to the host table
      The "collectable" syntax now works end-to-end -- the parser correctly recognizes it, the AST objects retain the settings, the scopes do the right conversion, the interpreter stores them all in the database, and then it strips the collectable objects out before sending the object list to the client
      I appear to have object collection working, incredibly.  This commit does the collection from the database up to adding the objects to the current scope, which is what sends it to the client.
      Made a *huge* performance difference in storing hosts -- down from about 25 seconds per host to about 5 seconds on my machine.  I will almost definitely still use forking or something to make this not affect the clients
      I had to redo how the scopes handled collectable objects (which I will soon change to being called "exported objects").  All seems to work now, though.
      I believe I have finalized export/collection support.  I still want to go through all of the code and s/collectable/exported/g (thanks to womble for that term).
      removing extraneous logging
      Making sure yum fails on unknown packages
      failing more intelligently in init if ActiveRecord is missing
      only performing collection tests if activerecord is available
      Adding code to try for the rails gem if the library cannot be found normally, and adding some protections in case there are problems
      adding a test to make sure that defaults get taken up by components
      Wrapping the host storage into a transaction.  It might have a slight performance improvement, but, ah, unlikely.
      Updated to version 0.17.0
      updating version on spec file
      Making sure file recursion works for all valid inputs
      fixing stupid debian rails mistake
      Fixing #146.  I think I mostly just fixed the error message; I do not think there was another bug there.
      Allowing empty files
      updating changelog for 0.17.1 and 0.17.0
      Updated to version 0.17.1
      fixing user[:groups] management when the user is absent
      Adding a lot of structure to puppet.rb to make it easier to manage multiple objects in a single process, including making it easy to add threads.  Added some testing for all of that.
      Added the last of the tests for the runner, along with the necessary work in puppetd to be able to start it.
      First version of puppetrun.  It seems to mostly work, but I need to test it with greater parallelization.
      slight ldap fixes in puppetrun
      Adding a small fix to cron tabs; they will at least parse tabs that have env settings in them, although you still cannot, at this point, set them.
      Fixing #138, all of it, I think.  Environment settings are now allowed, although all bets are off in terms of parsing existing environment settings in crontabs.
      updating changelog for 0.17.2
      Updated to version 0.17.2
      adding puppetrun to the red hat spec file
      Reworking cron; adding many unit tests, and making it much more like a ParsedType (although still not quite the same).  Too many of my tests were invalid; I think those are all fixed now, and it appears to work as desired.
      Did some work on making sure object removal actually works, thus stopping some potential memory leaks.  Also explicitly removed objects in more places, again hopefully forestalling memory leaks.
      fixing destdir in installer, and adding solaris conf stuff
      adding zone management stub; switching to my home vm for testing
      Adding an "execute" method to Puppet::Util, and including the module in element.rb
      Fixing #162.  Node names must now be comma-separated.
      Fixing #161.  Basically, AST::ObjectDef now catches when users specify a name as a parameter instead of the name before the colon and modify the results accordingly.  This catches this kind of problem, and the normal name handling picks up everything else.
      Fixing #160.  Fixing the error in Puppet::Type#[]= and scope.newobject
      temporary commit so i can transfer my testing to a faster, sparc box
      Fixing node tests to handle comma separation
      Intermediate commit; most of the core zone functions now work, and some of the configuration functions work.
      Fixing #163.  Strings can now correctly escape dollar signs.
      removing one of the stack traces from error output
      Committing largely complete Solaris zone support.  I still need to add static filesystem support, but everything else should work.
      copying all documentation from the plone site
      adding rakefile for the docs
      Fixing #159 -- packages now have a default value for ensure (:installed).
      Fixing #155.  It is now valid to have arrays with no values, although you will still likely get erratic behaviour elsewhere in the system, depending on what you do with this.
      Applied patch from #153.
      Fixing #154.  Basically just accepted the patch that fixes master.rb and added a test case for it.
      adding faq to docs
      Fixing #158.  I did not add a force option, since I always back files up before I replace them.
      Fixing #166.  Function names are no longer reserved words.
      Fixing #157.  Objects are no longer allowed to be their own parents, and there are checks in both directions to stop this.
      Fixing #167.  Started with the submitted patch and made a few more modifications, and added a regression test.
      Fixing #168.  Reworked the regex to allow matching TLDs.
      modifying rakefile to specify the package hosts; they were previously hard-coded in the build library
      Found a bug where single-value selectors can fail on a second compile.  Fixed it, and am now compiling all snippets twice.
      Fixing #135.  I was setting the object to the result of an include? test, instead of just "obj = ary[val]", so all but the first bucket-backed files were getting errors.
      Adding support for following referrals
      turning on output flushing
      Fixing ldap node lookup.  The test was set up badly, in that it did not actually provide a way to enable ldap node support, even though there was a config option that should have worked.  All works now.
      adding nothing test to zone tests
      A round of bug-fixing in preparation for the next release.
      adding noop marker as requested
      Fixing the main bug reported on the list today relating to file sourcing truncating linked-to files.
      Fixing #169.  Tags are ignored during config.
      changing puppetclient schema to descend from top instead of iphost
      Adding support for default nodes as requested in #136.
      Correcting puppetrun docs and fixing a test so it works with older versions of facter
      Fixing packaging to deal with the fact that yum exits with 0 exit code even when it is told to install a non-existent package.
      fixing parallelization to match the docs
      Fixing #173.  At this point, I am just calling both "--add" and "on", or "--del" and "off".  This should probably be broken up into other states, but....
      Fixing installer; it somehow got broken with recent DESTDIR fixes
      removing extraneous debugging
      Fixing ldap usage when ldap libs are not available
      adding ssl usage to puppetrun
      abstracting out ldap connections so that there is a single method responsible for all of them and a single connection can be shared in all classes if necessary
      Adding fixes for solaris zones
      adding namespaceauth and --listen docs to puppetrun
      Adding fqdn, an --all flag, and --test mode to puppetrun
      Just logging host failures, not exiting
      Changing statechange noop message so it's a bit clearer
      Fixing some logging issues with puppetmasterd when daemonized with verbose mode on, and fixing ldap support when daemonizing
      Setting options and the facility for syslog
      fixing transaction tests to just warn when the user is not in more than one group, rather than failing.
      updating documentation for sshkey
      updating changelog for 0.18.0
      Updated to version 0.18.0
      Updated to version 0.18.0
      Updated to version 0.18.0
      making links even if the target does not exist
      fixing interpreter to initialize ldap in the nodesearch_ldap method, which really only matters for testing (since it is already being inited in the nodesearch method
      Adding test and fix for empty execs being ignored
      fixing autorequire message to include the object type
      Fixing my autorequire fix; oops
      updating docs to work with webgen
      removing the old rst index file
      updating some docs and puppetdoc in preparation for a move to webgen instead of plone
      further work on converting from rst to markdown
      further work on converting from rst to markdown
      further work on converting from rst to markdown
      adding id tags to all of the docs
      More documentation changes.
      documentation updates
      Adding plugins and plugin management.  The Master Client will now automatically download plugins if pluginsync is enabled, and they will be automatically sourced.
      Fixing broken symlink behaviour mentioned on the list
      Setting pluginsync default to false, and (hopefully) fixing autosign problem when the file exists and autosign is set to true (#180).  The problem was that the puppetmasterd script was redundantly setting autosign in the CA, when the CA already knows how to deal with autosigning, which meant that autosign was being set before the config was parsed.  Thus, there was no bug when autosign was set on the command line but there was when it was set in the config.
      Fixing #182.  Added a retry section to try reconnecting to ldap.  Only one reconnect is attempted in a given search, and LDAP produces bad enough error messages that we reconnect regardless of the error thrown.
      Fixing #175.  The setpidfile setting was being ignored.
      Fixing #178.  I just added URI escaping and unescaping to file names.
      Adding HUP and USR1 hooks
      Adding a "latest" test for rpms, since I have been told this is not working.  It seems to be working fine, but the test cannot hurt.
      Updating init scripts to use HUP for restarting
      adding - to HUP in init scripts
      Adding more docs to puppetrun, and fixing bug that can cause hosts to get skipped
      Fixing some more small problems in puppetrun
      Largely refactored how log destinations are handled, although it is not exposed externally.  Most of this work is related to handling a large number of small problems related to threading.
      switching puts to print, so the carriage returns are always included in the messages
      Adding support for special freebsd @schedule crap.  Also making sure that cron listing works as expected.
      Adding info messages about errors loading plugins
      removing that info message, duh; it produces a lot of spurious output during parsing
      adding hooks for ignoring files in the plugins directory, and defaulting to ignoring cvs and svn files
      Catching errors thrown during object evaluation and marking the objects as failed.
      Adding "fail" function, which will raise a ParseError if it is encountered.
      Making sure fail function converts everything to strings
      Converting Parameter#proxymethods from using eval to using define_method
      Fixing backgrounding in puppetrun; I had the bit flipped between the client and the server, such that setting --foreground caused the clients to go into the background.
      Moving the timer monitoring to after the services are created (because they actually create the timers), and adding a sleep statement to give the threads enough time to create the timers.
      updating CHANGELOG for 0.18.1
      adding message about retrieving plugins
      Fixing zone tests
      Cleaning up plugin handling a bit -- they can now be colon-separated paths, and I added a separate "plugindest" setting for determining where plugins are synchronized to.  The major feature I added, though, is that Puppet::Type now knows how to load plugins, and treats :pluginpath as a search path for plugins.
      For each type, adding a "new<type>" method to Puppet::Type, so instead of typing Puppet::Type.type(:file).create(...) you can now type Puppet::Type.newfile(...).
      Updated to version 0.18.1
      Updated to version 0.18.1
      Updated to version 0.18.1
      Adding report collection to both statechange and transaction.
      Adding reporting client, server, and tests.  At this point, the server just stores the report in a file as YAML.
      changing the #!ruby lines to #!env ruby
      First commit of complete reporting support.  The only existing report at this point is the tagmail report.  I expect reporting to get significantly modified from here, but it is a good start.
      Adding initial template support.  It is just a function, and a method_missing method on Scope.
      adding some tests for the template function
      Moving the template handling into a simple wrapper object so templates don't have full access to the scope object without some real hacking.
      Fixing #133.  Added a "notify" and a "before" metaparam; notify is the opposite of subscribe, and before is the opposite of require.
      Accepting patch #189, although I am just putting the environment statement in the main part of the class, since there are two apt commands
      adding a "thinmark" method, which does a simple benchmark with no logging
      Trying to merge metrics and reports.  There is now a separate transaction report class, and it works throughout the previously existing system.  I will next go through trying to make a metric report that graphs the metrics in rrd.
      oops; adding transaction report class
      committing tests for previous changes
      Significantly redoing metrics.  There are now no class variables for metrics, nor no class methods for it.
      More report and metrics manipulations.  This should be the last of it.
      documentation updates
      Adding minimal update checking for templates.  It will only check the templates that have been parsed in this process, but it is better than nothing.
      Adding Ruby Gem support to packaging
      Some updates resulting from trying to track down a segfault introduced when I upgraded to 1.8.4-5 in Debian.  I never found the segfault and had ot downgrade to 1.8.4-1.  I expect it will not be encountered in real life, only in testing.
      Adding blastwave packaging, and doing some fixes on gem and sun packaging
      fixing a small but important typo, and adding sunfreeware as a dupe of blastwave packages
      fixing some smallish bugs in preparation for 0.18.2
      Redoing reporting a bit, so that reports are now defined as methods.  If they are not methods, then they cannot use return, which makes things a bit uglier.
      renaming tagmail config file
      adding host information to reports and tagmail report
      small fixes towards 0.18.2
      Updated to version 0.18.2
      Updated to version 0.18.2
      Updated to version 0.18.2
      removing cf2puppet from rpm
      Accepting the patch from #190.
      updating changelog for 0.18.2
      removing faq.rst file
      Fixing rakefile so it generates docs from markdown, and adding big-picture.page to the menu
      More documentation updates.  I think this is sufficient for replacement of the plone site.
      Adding the newly generated docs
      adding another state that is equivalent to "stopped" for smf services
      adding rake targets
      changing default plugin host to be $server
      changing plugin owner to root
      Fixing reports server so it refers to the main server
      Fixing misstated error name ExecutionError in blastwave packaging support
      Fixing error when template does not exist
      Reducing log level of missing file
      Fixing templating bug that can result in what looks like an infinite loop, and changing default timeout to 2 minutes instead of 30 seconds
      adding sysidcfg param to zones
      Fixing weird cases where configs might think non-files could be files
      Fixing weird case involving interpolating config params in a URL
      Fixing templating so it immediately fails when a variable is not found, as opposed to passing up the method_missing heirarchy, which was causing a nasty memory leak and some kind of weird, long-running search
      Fixing reports so that multiple host report directories can be created.  There was a config conflict before.
      Adding tests for previous config bugfixes, and updating changelog
      Fixing filebucket server so that paths are not added multiple times
      Updated to version 0.18.3
      Updated to version 0.18.3
      Updated to version 0.18.3
      fixing index page in the docs
      fixing html markup
      fixing html markup
      Adding a unit test for plain "nodesearch"
      Fixing bug in scope/interpreter where nodes found in ldap must have parent nodes.  The problem was that the the scope was using the presence of a parent node to determine whether a node was found.  Instead I added a flag in the arguments to "Scope#evaluate" to mark nodes as found.
      Fixing #191.  I was only testing for parsed cron instances, not for created ones.
      Adding Solaris SMF manifests and methods
      committing docs before i move all of them into a separate subdirectory
      All docs moved over now, and the real index page exists again
      Updating some docs, and renaming configuration reference page
      more doc modifications
      removing message about the statefile not existing
      adding all mailing lists to index
      Fixing puppetdoc's output
      moving plugin evaluation into a begin/rescue block
      Fixing #201; users now autorequire extra groups
      Applied patch in #203
      Fixing #202.  Just bumped the log level to notice and changed the wording slightly
      Fixing #200.  I basically just moved the daemonize statement before most other code.  This makes things a little less nice when starting puppetd manually, since it might still fail and the user would not know without checking logs, but it is the only real option at this point.
      Fixing #176.  You can now do duplicate UIDs (or GIDs on most platforms) with :allowdupe.
      Fixing #185.  Added a check for cdrom sources, and added an override parameter.
      Apparently objects were legal rvalues, which does not make any sense.  Fixed this, and added a test verify.
      Adding timeout functionality to the ParsedFile class, in preparation to adding config reloading to the Config class.
      Fixing #77.  As I feared, this was a pretty complicated fix; I had to add a lot of infrastructure to both ParsedFile and Config.  All config files now have a timer created for them, and by default they check for file changes every 15 seconds.  If there is a change, they get rid of values set by the file (but not set on the cli) and set the new values, then the re-use all of the sections, so that any changed directories or whatever get recreated.
      First round of bugfixes in preparation for 0.18.4
      Another batch of bug fixes, this time focused on OS X patches.  Looks like I did not test on os x last time.
      updating changelog for 0.18.4
      Updated to version 0.18.4
      Updated to version 0.18.4
      Updated to version 0.18.4
      doc updates
      fixing more doc links
      adding DSL class.  Sorry, not much in the way of docs.
      fixing faq links
      updating links after a link validator
      Fixing the master server so that it always uses the Facter hostname, not the cert or IP hostname.
      fixing puppetdoc to add ordering info
      adding ordering information
      more ordering info
      documentation updates, pointing to the suse yum repository and specifically mentioning package locations
      Adding some documentation for the cfengine module
      removing classing example, since it involves parameterized classes
      Committing changes that require dollar signs in prototypes
      Merging r1468 from the implementations branch with r1438 from when the branch was first created.
      A first pass of changing one of the types of names to titles.  I still have to fix a lot of tests, but the core itself is now working.
      Finishing changes to support titles instead of two types of names.  This is basically a bug-fix commit.
      Making some of the metaprogramming a bit more explicit and a bit easier to manage.  In the process, I have created multiple Util modules, only one of which is used for this current commit.
      Adding a link to the cookbook
      adding cookbook into to the docs index page
      Fixing #228.  The real problem was that "present" should match any type of file existence, whereas it was just matching files.  If the file was a directory, as in this case, Puppet considered it to be out of sync.  Now, "present" matches files, links, or directories, but still creates an empty file if the path is missing.
      Fixing #225.  Normal file copying worked with spaces, but recursive file copying did not.  I modified one of the support methods so it works now.
      Accepting patch from #220, thus fixing the bug.
      adding faq item about ipv6 support
      Adding warnings and error throwing for #218 -- metaparams in prototypes are treated specially.
      Function autoloading now works as requested in #214.
      Adding "if/else" constructs.  No operators, no elsif, but it is a good start, anyway.
      Committing definition inheritance.  I have not yet written tests yet, but my last commit pretty seriously broke some things without me realizing it, so I wanted to get this in.
      Adding up2date support, as submitted by Kostas Georgiou (with some modifications to support providers).
      Changing permissions on the cert file and the ca cert file, since it is no problem for them to be readable and sometimes it is required
      Demoting the xmlrpc access logs to debug from info
      Fixing #231.
      Committing the other half of the fix for #231; oops
      Committing some changes to the %h expansion in fileserving.  This change makes the expansion entirely isolated in the Mount class, which makes it much easier to test.  Also, switched the fileserver config to use ParsedFile, which makes it a bit easier to understand and handle reparsing.
      Tracking down some weird bugs that managed to creep into the parser.  I expect that the main ones were a result of the If support.
      Adding a little more validation to the schedule, and documenting the source search-path stuff in files
      Adding a "configprint" option for printing out the local config state
      adding first draft of templating doc
      adding notice that "$" is now required in definition prototypes
      Adding pointer to templating docs into the file[content] documentation
      Updating generated docs
      Adding provider docs for required binaries
      Modifying providers so that docs generate better
      Last commit of puppet docs for the night
      Adding a module specifically for making doc generation easier, and adding defaults info to provider docs.
      Upgrading Triggering line from info to notice
      Fixing report autoloading; I was calling the wrong method, and they were never getting loaded
      Fixing location of ca cert
      Fixing reports error reporting
      Fixing tagmail config processing so it fails when appropriate
      Changing autosign mode to 644
      Fixing report lookup so it looks up by name, not method
      Skipping blank lines and comments in autosign.conf
      fixing provider commands; I broke them when making them easier to document
      disabling chuser on os x, since it is broken with < ruby 1.8.5
      Adding automatic stacktrace printing to deverror.  I need to go through and remove the redundant puts in the rest of the code, but I need this now for some client debugging
      Adding back in the code to change the euid.  I removed this yesterday because I thought it was redundant.  It is absolutely clear that I need to add tests for running as separate users.
      downgrading the template interpolation message
      Fixing service refreshing -- there was a problem persisting from the provider work
      Fixing array printing in to_manifest
      Setting both "report" to true by default; I am going to enable pluginsync by default once I have plugins well-documented
      Fixing the state so it tries to call provider methods and only checks for errors, rather than checking with respond_to?
      disabling reporting until i can find a way to make reporting only work with puppetd, not puppet -- clearly puppet should not try to report
      adding notes about the libruby deb package
      Removing type/provider references on type removal
      Making sure that the svn bin directory is at the beginning of PATH, rather that at the end, so the svn-versions of the exes are being tested.
      batch of small bug fixes
      Fixing #257, where host aliases were not being retained.  The problem was that the "should" method was returning an empty array if it was not set, and it should instead return nil.
      Adding zone patches
      Adding note about configprint, indicating what versions include it
      Updating templating docs with more about usage, and adding installation notes about ruby segfaults on Debian
      Applying the patch from #253 plus tests.
      Adding SuSE files from #252.
      Applying patch from #251, and switching "confine" to "commands", so we can document the command requirements.
      Adding logcheck script from #244.
      Specifying true/false allowed values for file[:replace].
      Adding a "force" parameter in files to fix #242.  Currently only used when replacing directories with links, but should probably be used in other places.
      Adding support for file purging, as requested in #250.  Any unmanaged files in a purge-enabled directory will be removed.
      Fixing #239 -- missing checks now throw an ArgumentError.  This will break if any command purposefully returns 127, but that would be a bug anyway, I suppose.
      Adding pre- and post-hooks, as requested in #233.
      Adding eat-last-line support in ERB
      Adding Gentoo support from #224.
      Renaming parsedfile to loadedfile, which makes much more sense and reduces some naming conflicts
      This is the initial commit of the changes to sync and retrieve.  The
      Beginning the process of moving parsedtypes to a provider.  Each parsed
      Fixing SSHKey support.
      Intermediate commit; ports are not working yet
      Ports now work with a provider
      Adding first version of the portage provider, as contributed by Jose Gonzalez Gomez
      Committing functional mount support.  All that's left in this chunk of work is cron.
      Committing a small amount of work in cron.  I have decided that this is too last-minute, and not important enough to hold up the release.  I want to get this refactoring done, but it is clearly not the 4 hour job I hoped it was.  It will have to be in another release, I think.
      Removing all of the changes I made towards refactoring in the last couple of days.  They have all been moved into the sync-retrieve-refactor branch.  This branch will soon become 0.19.0, and will not include that refactoring.
      Adding portage support again, since it was added in the branch i reverted
      Applying a patch from Jose Gonzalez Gomez; apparently this makes package updating work
      updating documentation for how to specify versions
      Fixing the package type so that :ensure is always used for version specification, rather than :version, which is now deprecated.  This provides much more consistency.  I have not tested on all platforms yet, but I want to enable testing on Gentoo, also.
      A small fix to the install/update aspects of packaging.
      Adding the ability to download facts from the central server.  This allows facts to be available before the configuration is compiled.
      Adding an "ignoretags" attribute to transaction, and setting it for downloading plugins or facts, and for creating config directories
      Adding the Daemon module back into the Client class, which fixes #247.
      Adding further gentoo support -- finalized portage support, plus conf and init info for puppetd
      Fixing small bug in cron where removed fields are not deleted from the file
      Fixing #230.  If the first line in the cron tab, before the header, starts with TZ= then the header will be inserted after the TZ line.
      Adding a "withenv" execution util method, and using it in :exec for path handling.  Next will be other env handling.
      Adding an "env" parameter to exec, for providing extra environment settings, as requested in #236.
      Adding hasrestart parameter to services
      Adding aptitude support, including a new util::package module that provides a method for package version sorting, and a couple of smaller bug fixes.  This fixes #237.
      Modifying the provider base class so that it defines a method for every used command (e.g., you call "commands :rpm => 'rpm'", and it defines an "rpm" method.  I then pushed this throughout the package providers, which are the heaviest users of commands.
      Updated to version 0.19.0
      Updated to version 0.19.0
      Updated to version 0.19.0
      Adding a module for helping with warnings, starting only with the "warnonce" method
      Fixing #261.  Applied patch, with small modifications.
      Adding test code for providers that makes sure the default and confine mechanisms work internally.
      Adding a :trace config option that prints stack traces of DevErrors, and using that in DevError instead of :debug
      adding gentoo notes
      fixing typo
      Fixing the interpreter to nodesearch across all listed names, just like is done in the manifests.  Also fixing a comment in type.rb
      Fixing the problem with fileserver expansions, and doing a bit of refactoring to make things clearer
      adding note about david's yum repo
      Catching all errors encountered during loading, not just LoadError, to fix ongoing problems with rdoc/usage.
      Fixing #269.  I was aliasing every case where the title and name were different, where I should only have been aliasing isomorphic types, which does not include exec
      Fixing spelling of retrieve, to fix ##268
      Raising element creation errors up outside the "create" method, so that tests can more easily tell when an object is invalid.
      Updating changelog for 0.19.0
      Fixing #267.  The problem was that the user provider was retrieving the @is value instead of the @should value, because it was using [] instead of the should method.  I fixed the FakeModel to behave a bit more like real types, so that it keeps track of the is/should values, and also to keep track of which attributes are valid, since I immediately ran into another problem stemming from the use of the fakemodel.
      Fixing the "Adding aliases" message, so it is clear when an alias with spaces in it is used
      collecting output from blastlist, for later use
      Specifically rescuing Exception, since apparently the default does not rescue LoadErrors and everything else
      This commit adds two important features (but which probably were not
      Removing a test in the parser that is no longer necessary because of how imports work now, and fixing a snippet not to interfere with a local fact
      Fixing #262.  I somehow lost the line that only added a given user's jobs to each tab.
      Applying patch in #160.
      Adding the feature from #259.  I had to rework the Scope#lookupvar a bit, but everything now works as expected when variables are either undefined or set to empty strings.
      Reverting the work done in [1605] and [1606].  I have added it as a patch in #271.
      Fixing docs, as mentioned in #271.
      Adding patch from #235
      Using the "trace" configuration parameter to determine whether a stack trace should be printed, rather than just using "debug".  I added the param a little while ago and was using it internally in Puppet::DevError, but I just now went through the whole configuration and switched to using it.
      Adding testing for the default? method, and fixing it to support arrays and returning false when no defaults are specified
      Updating changelog for 0.19.1
      Updated to version 0.19.1
      Updated to version 0.19.1
      Updated to version 0.19.1
      Trying to fix a bug where files other than site.pp do not get noticed for reparsing
      Removing the no-longer-necessary type/nameservice info -- it is all in the provider tree now
      applying patch from #275.  aptitude -q works fine on my testing release, but apparently stable does not support it
      Fixing #280; added a warning and exiting if no hosts are specified to clean
      Fixing the same bug in the netinfo provider -- it was retrieving the "is" value instead of the "should" value
      Fixing case of silly states on os x, where files are owned by "nobody" and File.stat returns a huge number.  I thought i had already fixed this, but apparently not.  I added a test, and it is definitely fixed now.
      going through all of the other providers and making sure any reference to a state uses the :should value, not the :is value.
      updating changes from the trunk
      Small modification so i can make more changes
      Reworking test/lib structure a bit, and renaming all of the files so that their file names match their module names
      Converting to using the Rakefile for testing.  The old 'test' script is
      Small update to the fileserver tests; it was apparently not making some test dirs correctly
      Regenerating docs, and correcting some markup mistakes
      Fixing provider commands and Util#execute so they always include the command output when possible, as mentioned on the list
      adding an extra make target for debugging, rather than defaulting to always creating the debug file
      Fixing #292 (A bug in tagmail that causes any tag other than 'all' to fail)
      Fixing #293, I think.  The problem was that the groups state was not correctly passing strings in all cases, which caused some very strange problems internally.
      Fixing #288.
      Fixing #285, opened by ericb.
      Fixing #283, opened by luke.
      Fixing #274.  I just set :ensure to be :link when :target is set.
      Fixing #278, opened by Digant, with patch.
      Fixing #245, opened by marthag.
      Doc updates
      doc updates
      more fixes to the zone examples
      Adding an Autoload instance to Type.rb so that I can load all known types for documentation purposes.  And, of course, loading all types in puppetdoc.  Also updating zone.rb to fix markdown's stupidity in trying to interpret the ERB template, and adding some timeouts to puppettest.rb
      Adding class list method to group.  Also added a test to verify every type responds to "list", but it does not pass right now so it is disabled.
      Small test fixes in preparation for 0.19.2
      Disabling a test on solaris, since apparently sh on solaris is different than everywhere else
      Fixing error in tagmail when there are no messages to report
      Switching Autoload#loadall from using "load" to using "require", so it will not reload already-loaded files.  Also updating the checksum docs a bit.
      Adding trace information to autoload.rb
      Adding some error handling for when a non-existent report is asked for, and adding a bit more testing.
      As requested by Christian Warden, triggering an object now results in
      Updated to version 0.19.2
      Updated to version 0.19.2
      Updated to version 0.19.2
      Updating CHANGELOG for 0.19.2
      Adding some test reports
      adding note about the irc channel
      Some small housekeeping things that I saw while doing other bug hunting
      Merging the fix to server/master.rb
      Updating changelog for 0.19.3, and merging the version changes over.
      regenning configref with the fixed spacing
      Adding a note about another error
      Fixing SUIDManager#asuser so that it only resets egid and euid if they were changed
      Adding flush functionality as requested by Scott Seago
      Fixing what I hope are the last batch of problems caused by the addition of the suidmanager module.  Also fixing a couple of other small issues that somehow cropped up.  All tests should now pass again.
      Fixing reported problem of crons rewriting every time when the environment is set
      Fixing suidmanager so it uses warnonce instead of using a variable that only existed in Util
      adding a note about single-quoting node names
      adding links to the real deb pkgs
      Adding configurability to the syslog facility, using the "logfacility" parameter.
      Renaming logfacility to syslogfacility as recommended by lutter.
      Merging the changes from the override-refactor branch.  This is a significant rewrite of the parser, but it has little affect on the rest of the code tree.
      Removing some left-over debugging
      updating install docs with new suse pkgs
      Fixing ldap nodes -- they were always returning true because i was returning an empty array for missing nodes.
      Fixing weird case where the default node is in one node source and the real node is in a different one
      Fixing the rrdgraph report so that it creates a separate rrd directory for each host
      adding id tag to reports
      Many, many, many performance improvements in the compiler (I hope).  I did not change functionality anywhere, but I did some profiling and significantly reduced the runtime of many methods, and especially focused on some key methods that run many times.
      adding id tag to tags.page
      Adding a "genmodule" equivalent to classgen, which we will use for reporting
      Refactoring reporting.  Reports are now modules instead of simple methods.
      Fixing #310 -- users no longer autorequire their homedirs, and files now autorequire their owner and group.
      Fixing #301 -- s/logfile/logdest/g
      Fixing #309 -- files now correctly replace any number of slashes with a single slash.  Also, trailing slashes are removed, since that is how Puppet expects to find files internally.
      Fixing #305 -- logs now reopen when Puppet restarts, and there is also now an autoflush mechanism available so logs will flush to disk immediately.  I also now trap USR2 and reopen logs when it is sent, so if you just want to reopen logs you do not have to restart the whole process.
      Fixing #298 - refreshonly now correctly deals with specified false values
      Adding patch from #308.
      Adding modified patch from #256 -- apt now uses "responsefile" for the preseed file.  This is untested, though, since I do not know how to test it.
      Applying patch from #234 from David Schmitt.  This is also untested, and the patch is slightly modified.
      Fixing code from [1754] -- I stupidly did not even do a parse check, and I had to refactor the patch because parameters do not have code associated with their values.
      Fixing the problem reported by Adnet Ghislain where facts do not load on later runs.
      Catching missing ldap correctly in puppetrun
      Committing the metatype branch -- this is just splitting the type.rb code into multiple files for readability
      Moving methods around so they are alphabetical
      I was stupidly creating an error but not raising it.
      adding explicit load of ast/branch to its subclasses
      Adding patch from Jeff McCune, #317
      correcting warning about spaces before parens
      Adding the ability to have hooks for configuration parameters.  This will simplify things like setting the shell path.
      Moving all of the configuration parameters out of puppet.rb into puppet/configuration.rb, and adding a PATH setting as requested in #307, although it does not include a default.
      Fixing #291 -- the problem was that instead of throwing an error on a missing server, puppet was just exiting.
      Making all test suites executable, adding some tests for handling changing files from one type to another, and fixing #304.  The problem with #304 was only occurring when backing up to a filebucket (I can only think the example code was wrong)
      Adding a ruby header to all of the tests so that they can now be executed as normal ruby scripts.
      Adding a ruby header to all of the tests so that they can now be executed as normal ruby scripts.  Using multiple commits because I am having some svn problems.
      Adding a ruby header to all of the tests so that they can now be executed as normal ruby scripts.  Using multiple commits because I am having some svn problems.
      Adding a ruby header to all of the tests so that they can now be executed as normal ruby scripts.  Using multiple commits because I am having some svn problems.
      Adding a ruby header to all of the tests so that they can now be executed as normal ruby scripts.  Using multiple commits because I am having some svn problems.
      Fixing gennode; it was not actually adding the class code to the generated node.
      Fixing the test scripts so that the library path
      Rewriting nearly all of the tests for the tidy type, and redoing the internals of the testing.
      Switching from calling "up" on the migration directly to using the "migrate" method.  It is still not checking versions or allowing external forcing of migration, but it is a start.
      Fixing sbindir path, thus fixing #302.
      First batch of fixes from running tests.
      Fixing puppetmodule to use env to find ruby
      Working on migrating the parsedtypes to using providers for the parsing aspects.  This just converts the hosts; I will convert the others next.  This is all work from the sync-retrieve-refactor branch, modified to work with trunk.
      Fixing ports to now use a provider
      Ported mount over to using providers
      sshkey now uses a provider
      Fixing a bug that only occurred if a defined resource was already defined in memory.
      Fixing doc generation for objects w/out their own docs
      Fixing virtual object collection.  I apparently broke it when I added rails collection back, and I never created any end-to-end tests.
      Adding prefetch of providers to transactions.  Nothing is using it yet.  I wrote it for cron jobs, but it is too much work to fix this for cron jobs right now.
      Hacking cron so that it works even though I have changed ParsedType.  The whole stupid thing needs to be rewritten from scratch, but this is the best i can do for 0.20.
      Adding a "realize" function that can be used to make one or more resource non-virtual.  It is just syntactic sugar for a collection by title.
      adding docs for virtual resources
      Changing the realize() function to be just syntactic sugar for a collection -- it literally creates a collector object now.  The benefit of this is that it is late-binding, so file order does not affect whether a resource is available.
      Applying patch from #319.
      Applying patch from #318.
      Another round of bug-fixes in preparation for 0.20.0
      Doing some work on the DSL.  It behaves a little more like the real language now, although overrides use the same syntax as normal resources, and there is no facility for specifying defaults
      A round of bug-fixing on OS X
      Another round of bugfixing, including finding out that the tagmail report was leaving zombie processes lying around
      Updating changelog for 0.20
      Updated to version 0.20.0
      Updated to version 0.20.0
      Updated to version 0.20.0
      Mostly rewrote intro doc
      Fixing some Class.to_s handling
      Making some documentation changes
      Merging the code over from the oscar branch.  I will now be doing all development in the trunk again, except for larger changes, which will still get their own branch.  This is a merge of the changes from revision 1826 to revision 1834.
      Fixing some sticky problems with checksums when just using the "check" metaparam.
      Fixing rrdgraph report (as marked in #334); also, expanding the docs on all of the existing reports.
      Updating documentation
      Refactoring the doc generator a big
      Updating docs
      Small fixes here and there.  The rails changes needs to be pushed through the collection code, so I am committing so Blake can take a look at that.
      More doc updates -- I moved the doc headers into separate files, rather than having them in the code
      Slightly more doc updates
      Adding a simple report that just duplicates client logs onto the server
      fixing #327; debian packages now correctly register their "latest" status
      Fixing #326 -- parseonly now just creates a simple Master without opening a port
      Updating docs with correct links for the doc restructuring, as mentioned in #322.
      Fixing #324.  Mkusers was not specifically ignoring the root user, and it is now.
      Mostly small changes toward 0.20.1
      Fixing some warnings
      Adding module for parsing files.  This module is only included into the parsedfile provider base class, but it is cleaner to have it broken out like this.
      An intermediate commit.  All of the classes that use parsedfile are assuredly broken, since I have basically completely rewritten it.  These classes have been a thorn in my side almost since I created them, yet they have been significantly less functional that I wanted.  So, I decided to do the rewrite I have been putting off, just to spend all of the maintenance time now so I do not spend 3 days on them every release.
      Fixing the state class so that blocks are optional for values.  This is useful for cases where you want to specify values for validation but you want a method called on the provider instead.
      Doing some refactoring in how state values are set.  The primary motivation was to provide the ability for the "newvalue" method to specify whether the provider should still be called, and if so, in what order (e.g., before or after).
      Mounts work again, at least with the parsedfile provider.  I still need to create a netinfo provider, but it should be short and easy.  And, painfully, I still need to port the other six or so subclasses to this new provider.
      Trying to get a netinfo provider for mounts working, but i give up.  I am leaving it in place but marked as highly experimental.
      adding up-to-date example configs
      adding a comment to namespaceauth.conf
      Ports are still broken, but I need to work on something else while I am thinking about how to fix them.  Stupid /etc/services.
      Hosts now work again, and it should be straightforward to create a netinfo provider, too.
      Adding a NetInfo provider for hosts.  Yay!
      Ported sshkey over, yay.
      Removing some debugging, and trying to track down a bug where symlinks get recreated for now reason
      Applying patch from #335
      Fixing #339, and the bigger problem it concealed.  Metaparams are now only added to resources that do not explicitly set them.
      Fixing #339 for real this time -- fixing the log message
      Removing the caveat so that the log message is always provided during a run.
      adding svn keyword to notify type and reindenting
      Temporarily reverting all of the recent rails work so that I can release 0.20.1
      Fixing a small syntax error in the port provider
      Fixes to the test system, and a couple of small fixes to the main code.  Also, disabled the "port" type, because I cannot seem to model it correctly.
      Fixing more tests
      Another testing fix
      Another small fix, just for solaris
      Updating changelog for 0.20.1
      Updated to version 0.20.1
      Updated to version 0.20.1
      Updated to version 0.20.1
      updating syntax matcher to highlight dollar signs in prototypes
      Fixing configuration storage -- there was a check being done that caused false values to get converted to nil values, which failed in the database
      Fixing #346 -- on some scripts I accidentally used "feature" instead of "features"
      Fixing #347 (I hope).  Doing a provisional require of rubygems.
      Fixing backwards compatibility in mounts -- they were not correctly copying the path over to the name
      Fixing mount tests after fixing the backward compatibility
      Fixing #342.  Classes needed to have their namespaces set to their fully qualified names, so that contained code and definitions looked for definitions starting with that fq name.
      fixing typo
      Adding GRATR and the beginnings of graph integration.
      Intermediate commit -- I am ready to start pushing the graph stuff into the types and transactions, which will break everything for a little while.
      Fixing link to fsconfig reference
      Most of the graphing work is now done.  I have also added the generator work in transactions, but I need to migrate files to using it.  Until that migration is done, files will not work correctly for many cases.
      adding note about --no-client
      Another intermediate commit.  Most of the graphing work itself is now done, but I am in the middle of converting files to use the graphs and at the same time am writing some actually decent tests for the file recursion stuff.
      Removing the symlink type finally.
      Most of the graph handling is now done, and all of the recursive types (basically just file, tidy, and component) now correctly use the generation mechanisms in the transactions, instead of sticking them in their @children array.  Now I just need to go through the rest of the tests and make sure everything passes.
      Removing the reference to the symlink type
      Removing the explicit load for most types in type.rb
      Most tests now pass in the whole system, but there are still about 8 cases that do not work.  I am working on those now.
      Almost all tests now pass.  I have basically reached the point where I was before I integrated graphing, except that all of the relationship handling is now inside the transaction, and any kind of recursion (including file) is *tons* easier to model and manage.
      All tests should now pass, with the possible exception of some tests that might fail when all tests are run in one process.
      Adding a bit of clarity about file locations
      Adding a short note on variable interpolation
      Working some on the export/collect problem.  It actually works now, but there are not yet sufficient tests for it, so I will leave the bug open until we have got the new work in place.  I also added a "rails" feature, so I do not have to keep testing whether ActiveRecord is defined.
      Adding a metatype to manage resources of a specified type.  For now, this metatype just supports purging unmanaged resources.  Also, fixed a few tests here and there
      adding a note about facter to the faq
      You can now use the "resources" type to purge resources.  I still need to modify transactions so they do not purge resources that have relationships.  Also, apparently the noop metaparam was never actually working; now it is, and there is a test for it.
      Fixing the next round of bugs, mostly little things but I had to modify transactions so they are willing to delete implicit resources even if they have dependencies, else we would often not be able to purge files at all.
      Another round of bug fixing.  Now everything passes except mounts, at least on OS X.
      Rewriting the test rakefile so test directories can be more than one directory deep.  This will be particularly useful for providers.
      Reworking the package tests.  Now providers are tested individually
      Fixing painfully difficult to find bug in defining exported resources
      Small changes to the test rakefile.  This rakefile still is not completely satisfactory, as I cannot use it to load all libs but only run on test method, which is often important when trying to track down a bug that only occurs when multiple files are loaded.
      Moving the mount provider tests into a subdir, and fixing the basedir calculation in tests so it does not matter where the test is called from
      Some rails modifications
      Adding some selectability to host creation for testing.  Using find_or_create_by results in lots of saves instead of one big one at the end, which causes initial saving to be much slower.  To switch between them, just modify the value of "create" at the top of Host.store.
      Adding unit test for #364.  It passes on OS X.
      Changing some of the error output.  This gets rid of the duplicated information that occurred when definitions or nodes were duplicately defined, and it tightens the error output a bit.
      Modifying rails test
      Redoing the benchmarking a little bit
      Simplifying the the Puppet::Type[] method
      Simplifying the splitpath method a bit, altho it is still strangely slow
      Getting rid of the db init stdout and reindenting
      Requiring puppet/rails in the interpreter before Rails.init
      Adding a simpler and *much* faster tree_from_vertex method, and using it instead of the default one
      Some more graph optimizations; I think I am now close enough that I am basically just going to spend a bit more time making sure the modeling is right in the transactions, and then walk away for now.
      Adding daily snapshot tasks, altho they only work at my site
      Fixing most of the rails stuff.  I think everything basically works now, and now I am just going through and making sure things get deleted when they are supposed (i.e., you remove a resource and it gets deleted from the host's config).
      All rails *and* language tests now pass, with the exception of a language/resource test that passes by itself but fails when run as part of the whole suite.  Also, I added deletion where appropriate, so that unspecified resources, parameters, and facts are now deleted, as one would expect.
      Adding :replace aliases, as requested in #366.
      Fixing #372 and #374.  All is not perfect, since OS X still cannot set UID, but it is much better.  There is still plenty of bug-fixing to do on other platforms, I expect.
      Fixing #385.  Puppetca correctly exits with non-zero exit code if there are no certs to sign.
      Applying patch from #384, by jgonzalez
      Fixing #361, I think.  It appears to be a problem with missing a setting for realname.
      Adding test for the fix to #361
      Adding some defaults to users, mostly for darwin because it is kinda stupid when it comes to this info
      Fixing #380.  The problem was that a method was sometimes returning :absent when I expected it to return nil when the group was not found.  All fixed, yay.
      *whew* Fixing the vast majority of the graph-related performance problems.  I found a simple solution to handling events produced by generated resources, and that basically fixed all of the performance problems.  Transaction tests still fail, but I wanted to get the fix in now so I do not forget it.
      Fixing test to work with new style of graphing.
      Not downcasing facts any longer, closing #210 (although not using the patch from mpalmer, since I had not noticed the patch was there).  Also, making all nodes, classes, and definitions case insensitive, closing #344.  Finally, I added case insensitivity to the language in general, which should preserve backwards compatibility and probably makes the most sense in the long run anyway.
      Fixing #66.  The "defined" function previously checked for definitions and types, but since types and classes can't have the same name anyway, the function now works for classes.
      Fixing #349.  Doing some hackery so defined types can now (again) be used as dependencies.
      Fixing #343.  Collections and definition evaluation both now happen on every iterative evaluation, with collections being evaluated first.  This way collections can find resources that either are inside defined types or are the types themselves.
      Loading the rails lib early on, so that the rails configuration parameters are accepted on the CLI, as noted in #357.
      Fixing #348.  Overrides now support an extra end-comma.
      Hopefully fixing #355.  I could not actually reproduce the specific problem, but I found a couple of issues around the problem and they are all gone now.
      Closing #362.  Case-insensitivity is handled by downcasing all host names.
      Fixing #365.  I am not sure what the problem was in previous versions, because the new graphing stuff changed the solution to this problem, but it all works now.
      Switching files to use a filebucket named "puppet" by default.  Also, set up MasterClient to create that default filebucket.
      Fixing #386.
      Fixing #353.  It was as simple as exiting with a different error code depending on the results of the call.
      A couple of small bug-fixes
      Fixing #388.  Paths now look a lot cleaner.
      Fixing #387, hopefully.
      I have not yet finished testing, but most of the providers now successfully pass arrays to execute() instead of strings, which means that the vast majority of execution problems are now gone.  I will finish testing tomorrow, hopefully, and will also hopefully be able to verify that the execution-related bugs are fixed.
      Looks like providers work again on Solaris.
      Some tweaks to graph splicing, although I do not think it will be enough to handle some of the edge cases.
      A couple of small bug fixes
      Did a short-cut on the graphing, since we currently only support one type of subscription.  This solution still will not scale to all that many edges, but it works, although it will fail if we need to support different types of subcriptions.
      *whew* Okay, simplified the splice method a bit, and I am actually somewhat confident that the stronger testing is correct.  I have had a lot of problems with tests usually passing but sometimes failing, mostly because of ordering problems related to multiple edges.
      Finally writing unit tests for Transaction#trigger, and drastically simplifying the method in the process.
      Adding a bit more testing to mounts, and pulling a bit of the transaction into a separate method to shorten the apply() method.
      Features now load dynamically using method_missing, so that undefined features never throw errors.
      Supporting arrays for the backup parameter
      Trying to clean up how rails is loaded
      Adding carriage returns to output of puppetrun
      Moving the tagging stuff to an "external" directory, instead of "lib".
      exiting sleeper after no more than two minutes
      adding a bit better error reporting when tags are bad
      Still trying to track down the tagging problem
      Hopefully fixing tagging problem
      Removing debugging
      Applying patch by rainhead from #392.
      Fixing #390.  You can now add --graph to produce dot files, and you can then produce pngs or whatever from those.
      Fixing #369.  I was not flushing changes to disk when ensure was out of sync.  This is going to become a common problem, and should probably be addressed by the framework rather than by individual types, but for now, it works.
      Fixing graphing tests, and correctly only using storeconfigs in tests where rails is available
      Enabling debugging except when running under rake.
      Fixing some failing tests on fedora.
      A couple of small fixes to pass existing tests.
      Modifying the "Resource#set" method to simplifying adding new parameters
      Fixing #396.  Using the provider command instead of a direct exec, which automatically captures stderr.
      Fixing the error thrown when a dependency cannot be retrieved, WRT to #395.
      Adding sourcematch parameter to file.
      Changing "sourcematch" to "sourceselect"
      Adding postgres as a dbadapter option
      Using text for parameter values, instead of string, so the fields support larger amounts of text
      Not setting the graphdir to the puppet user, since it is only used by puppetd
      Fixing #401.  Transactions were trying to trigger every resource, even those that did not respond to the specified callback.
      Adding a check to the rakefile to throw a warning if the test task is missing
      Not saving tags right away.  This seems to cause postgres to explode.
      Fixing #394.  LoadedFile was not checking to see if files went missing.
      Adding extra connection statements and enabling concurrency support in rails, hopefully fixing #399.
      Setting up specific allowed types for sshkey
      Fixing #391.  Keeping track of times of compile and freshness checks.
      #398 is already fixed, but this will fix things so it cannot happen again
      Fixing #403.
      Creating two filebuckets by default, one for the client and one for the server
      Fixing tests so they now include descriptions with all config options, which is now required.
      fixing filebuckets so that only the client bucket is created on clients
      Trying to fix #364.  Somewhat used the patch provided by nslm.
      Re-enabling the dirchmod test and fixing its syntax
      Fixing module_puppet to use the usage? feature.
      Throwing warnings instead of exceptions when dpkg-query produces info we cannot understand
      Regressing to always creating files/directories as root, rather than trying to do it as the right user.
      Applying patch by mccune from #409.
      Using Puppet.settraps in puppet executable, instead of old ad-hoc code.
      Adding a timeout to execs.  This is not really a sufficient solution, since it needs to be added throughout the system, but this is a good start.  The default timeout is 5 minutes.
      Fixing #407.  You can use external_node to specify a command to retrieve your node information.
      Further work on #407.  I forgot to actually connect it to the interpreter internals.
      Fixing #411.
      Fixing a few testing bugs that have crept in, and fixing a self-reference problem when configuring, graphing, and setting graphdir manually.
      Adding a bit more comments to the :template function
      Messing around a bit with how tests work
      Adding #408.
      Fixing rake test so it works with the new puppet loader
      Fixing puppet test task for older ruby versions
      Last round of fixes before the next release
      Updated to version 0.22.0
      Updated to version 0.22.0
      Updated to version 0.22.0
      Updating docs for 0.22.0
      updates
      Moving the reference docs to the top level
      updating docs with new location for reference info
      Fixing #416.  There is now an option (downcasefacts) that determines whether facts are downcased by the client.
      Fixing #421 by changing the rundir to /var/puppet/run.
      Fixing #436.  Also finally renamed pfile/uid.rb to match the state name.
      Fixing #437.  Transactions now check whether graphs are cyclic, with a somewhat-useful error message if they are.
      Fixing rundir so that it does not throw an error when not running as root
      Fixing #424.  The configuration compile time is now cached in the yaml cache file.
      Fixing #415.  Configuration parsing now removes trailing whitespace.
      Updating changelog for 0.22, which fixes #429.
      Fixing error-catching in resources.rb
      Wrapping the resource generation methods in begin/rescue blocks so that failures cannot kill the transaction.
      making yum the default packager for centos
      Applying patch from #457, as submitted by Jeff McCune.
      Removing an extraneous debug message, and fixing the case where the server compile fails in --test mode -- it resulted in an extra warning message.
      reworking the selector case-insensitivity test
      changing selector error message
      Fixing #445.  Nodes can now inherit from default.
      adding client name to processing line
      Using Time instead of Time.to_i for compile time, because some versions of ruby have trouble converting Bignum to yaml
      Fixing #418.  The problem was that multiple objects might include Daemon, which means that Daemon#shutdown can be called multiple times.
      Fixing #423.  Configurations now default to timing out after 30 seconds (tunable with configtimeout).  This only happens for remote configurations, not local configs compiled using puppet.
      Fixing #434.
      Fixing #442.  You can now do: defined(File[...]) to see if a resource is defined.
      Fixing documentation references to refer to the wiki
      Updating reference docs
      Fixing #455.  A simple fix, fortunately.
      Changing how transactions check whether a resource is being deleted.  This is a small step towards fixing #428.
      Fixing #431.  Collection was always returning an array, even when only a single value was passed.
      Fixing #441.
      Fixing #454.
      Adding a "self_refresh" option, so resources can refresh themselves if they have changed in the current transaction.
      Fixing #113.  I added support in the transaction for self-refreshing, which just creates a special trigger for resources that have self-refreshing enabled.  Logging is a bit different for them, so it is clear why they are refreshing.  I still need to verify the remount methods work in the providers.
      Fixing info around newtype options
      Doing more work on #113.  Mostly, just making sure remounts do not happen spuriously very often.  They will still have extra remounts when changing the value of "ensure", but that is not currently avoidable (similar to #199).
      A couple small bug-fixes
      Fixing #444.  I was losing the list of sources when creating new children.
      Fixing #438.
      Fixing #463.  I redid all the autogen stuff so it can handle autogenerating string values for stupid os x.
      Fixing a problem that occurs when puppetd starts with an up-to-date configuration -- the default schedules and filebucket were not being created.
      Fixing the warning message related to namespaceauth.conf
      Fixing #433.  I basically just added checks to all the places where I add edges, to make sure automatic relationships lose out to explicit ones.
      Moving the switch that disables the certificate authority into the main library, so they can be disabled in the configuration file.
      Moving code from external sources into an external/ directory
      Fixing #440, albeit with a slightly hackish fix.
      Not creating the listening server at all if --onetime is enabled.
      splitting the tagmail report into multiple methods and adding test code
      fixing #427. Facts now timeout, both in loading and downloading
      Applying patch in #465.
      Fixing #462.  The package sort order was always resulting in the lowest-version package being first, rather than highest, so I inverted the sort order.
      Partially fixing #460 -- fully-qualified class names can be used as parent classes.
      Partially fixing #460, take 2 -- fully-qualified definitions can now be used.
      Partially fixing #460, take 3 -- fully-qualified classes can now be included.
      Providing a partial fix for #428.  Resources can now be deleted as long as all of their dependencies are also being deleted.  This, combined with the fix to #433, means that you can now explicitly specify the order of deletion, and everything will work as long as all required objects are being removed, too.
      Puppet can now read files on stdin.  This means you can put "#!/usr/bin/env puppet" in the first line of a puppet manifest and then execute the manifest normally.  Yay!
      Updating changelog for 0.22.1, although I am not quite ready to commit yet.
      Removing all remnants of the old symlink type
      Fixing rundir so that it is only set to be in /var if the process is named puppetd or puppetmasterd.  Otherwise the unit tests set it to /var/run/puppet, which has the chance to cause hangs.
      Fixing Files to work with the Resource server.  Basically I just remove the "target" value if it is a nullop, so that it does not cause a conflict with "contents" on the far side.
      Renaming "pelement" to "resource".  The old name is a holdover from before we had settled on "resource" as a term.
      Deleting the file even if a source is specified, as mentioned by Robert Nickel.
      Fixing a purging bug introduced by [2138].  I had to move the purge check to the recurse method, rather than the localrecurse method, because the purge check needs to happen after sourcerecurse.
      Fixing autogen so it passes on non-Darwin systems.
      fixing rails test to take into account the fact that resources now do not always return arrays
      Fixing selector tests to get rid of a lame hash ordering bug in the tests.
      Fixing executable tests to take new rundir into account
      Trying to get the functionality I had in previous tests.  Mostly I want
      Oops, that last commit seems to have broken the rakefile.  Works again.
      Adding note about removing mounts netinfo provider
      The resolve functionality in "test" is almost working...
      Fixing #470, I think.  I basically just threw away the validation and let suidmanager do it all when running commands.
      Updated to version 0.22.1
      Updated to version 0.22.1
      Updated to version 0.22.1
      Fixing exec so it actually works when path is specified as an array
      changing the cookbook link
      Removing the default value for :ensure on mounts.
      fixing the cookbook link fix
      Merging the state-rename branch.  This includes the diff from version 2156 to 2168.  All states should now be properties, with backward compatibility for the types that restricted themselves to the methods.
      Reorganizing some of the tests.
      Disabling the netinfo mount provider
      Changing exec so that the checks apply to whether an exec is refreshed.
      Adding a parameter to allow you to override how an exec refreshes itself.
      Adding a libdir setting for puppet, so you can store your modifications to puppet in a separate directory.  This probably will still be somewhat limited because it will always depend somewhat on load order.  For instance, if you add a new provider, it might not be available when you expect, since providers are all loaded as soon as a type is loaded, which might happen before the libdir is set.  It should always work fine if you do not override it, but if you do override it, things might behave a bit strange.
      Moving some of the stand-alone classes into the util/ subdirectory, to clean up the top-level namespace a bit.  This is a lot of file modifications, but most of them just change class names and file paths.
      Moving all of the client and server code into a single network/ directory.  In other words, more code structure cleanup.
      Okay, last file moves for the night.  The test code has been moved to match the lib directory, and I have moved a couple of things into network/ instead of network/server, since they did not belong as much.
      Fixing #484.  Moving unit tests at the same time.
      Applying doc patch from #494.
      Fixing #493.
      Fixing #482.
      Applying patch from #474 by David Schmitt.
      Applying patch by Jeff McCune from #496
      Applying patch from #497 by Jose Gonzalez
      Applying patch from #502 by Jose
      Fixing features to use the new feature location
      Revamping collections to get what is hopefully more reasonable behaviour when they are used in combination with defined resource types.  You should now be able to combine them in just about any way and get "correct" behaviour, which in this case means that you can have virtual definitions or definitions wrapping virtual resources and the resources will still all get realized.
      Adding hook to update timestamp when a report is run
      Trying to fix problem of locks lying around
      Changing date to datetime in the database
      Applying patch from #510 by curzonj.  Note that the right solution to this problem is to use the ruby API, but it does not appear to be stable yet.
      Fixing the default dbadapter back to sqlite3
      Fixing a problem in collecting exported resources.  Virtual resources worked fine, but exported resources resulted in an essentially infinite loop.
      Removing extraneous debugging
      Applying patch from #495.
      Fixing #505, #508, and #513.
      Fixing #472.  Apparently this has been broken since I did the parser redesign.  I had to fix the scope trees so that subclass scopes are subscopes of the parent scopes, which used to be the case but was far more complicated.
      Fixing #524.  Functions, both statements and rvalues, now support no arguments as long as you use parens.
      Fixing #517 and more.  Classes now support more than one namespace in their search path, parent classes automatically have their namespaces added to subclass namespaces, and (huzzah) there is a "search" function that can be used to add new namespaces into their search path.
      More code related to #517.  Oops.
      Changing the log messages for source and content properties to mention the md5 sum of the new content
      Fixing file backup defaults to correctly use the puppet filebucket by default.
      Redoing some aspects of the graphing in hopes of helping hte performance a bit.
      Applying patch by DavidS from #522, along with test code and a small bit of code cleanup.
      Fixing #142.  As expected, trivial.
      Making the package provider tests able to be executed separately, and using "clear" instead of resetting @objects in the types.
      Applying patch by cstorey from #521
      Fixing #199 and moving service tests (which are completely atrocious) around.
      Fixing #477.  setvar() can now accept the file and line info from callers.
      Fixing #526.  Implemented as a period of "never", rather than adding a new parameter.
      Applying a modified form of the patch by cstorey from #523.  The modifications were mostly around the fact that Strscan does not set $1 and its ilk.
      Fixing a problem with the splice! method on the graphing.  The problem was another issue with hash ordering, where it would usually work but sometimes start failing.  The solution was to splice the containers in topological-sort order.
      Fixing at least part of #514.  This does not get rid of all errors, but at least it fixes the spurious warning
      Fixing #467.  It is a hackish solution, because I just reordered the definition of the params, but it works for now, anyway.
      Applying patch in #528 by ask.
      Fixing #464 and #515.
      Adding "ignorecache" option to always force a recompile of the configuration
      Committing patch by Dennis Jacobfeuerborn to only use the domain name if it is set.
      Allowing trailing commas in selectors
      Apparently the include function was not failing when it could not find asked-for classes.  Now it does.
      Merging the webserver_portability branch from version 2182 to version 2258.
      Turning a failure into an error when, for some reason, pfiles do not have paths set.
      Fixing #531 and #414.  This includes pretty much a complete redesign
      Flushing out the ability to have a stand-alone CA server, specified using ca_server and ca_port.  This is just a final unit test, since the code was done and lutter fixed the rest in [2261].
      Adding some changelog info for the next release, which is still a ways away, probably.
      Fixing #489.  I was unnecessarily converting to octal in config.rb
      Putting the final touches on #144, most of which I had provided in the mongrel work.
      Adding some more testing on the @should values for :groups on users, and fixing a bug that often made :groups think it was out of sync.
      Looks like [2265] was not a complete solution -- it resulted in failures when the config set modes via integers.  Everything is working now, and tested more completely.
      Fixing a bug related to link recursion that caused link directories
      Oops, forgot a file in the commit
      Fixing the config path to use Puppet[:name] rather than Puppet.name
      One last try at getting the config and mode stuff working.  The tests were passing because "mode" is a valid config option in the tests, but not in the real configuration.  So, now the Config class correctly only tries to set the meta params if they are valid options, otherwise they get skipped.
      Adding a bit more testing to the config stuff
      Fixing a few of the log messages so file content changes always include the md5 sum
      Adding support for a prefetch hook on individual providers, rather than only supporting it for the whole class.
      Significantly reworking the internals of the fileparsing code.  It now
      Clarifying that the ruby RRD support is provided by a binary library
      Adding spec libs, so we can use them some day
      Fixing cron support (I hope).  It now uses providers, and seems to work, at least on my os x box.
      Fixing #540.  I modified Puppet::Network::Client::Master so that it disables noop during its run, so that facts and plugins will always be downloaded.
      Fixing #542.  Transactions now cause services to warn when they would have gotten restarted by a noop resource.  Also fixing #549 -- transactions now only refuse to delete required resources if they are being purged.  All other resources can be deleted just fine.
      Trying to clean up the error message from #490.  It looks like the problem is just a failure in one of the types, and it has nothing to do with the state file.
      Fixing #491 -- the client correctly realizes when the cache file is missing and only considers the config to be in sync if that is not the case.
      Fixing #533 -- puppetd now exits in onetime mode.
      Fixing #529 -- specified targets keep their values.  The problem was that I was using model[:target] instead of model.should(:target) and model.is(:target).  The real problem was that my tests were using a parameter for tests but all of the real code uses properties.
      Adding example cron tab from #492 and making the read/write tests ignore whitespace.  This cron now parses successfully, as I thought it would with the move to providers.
      Getting rid of a warning in the rpm provider
      Removing the cycle checks from the splice! method in pgraph, which *considerably* speeds up splicing of very large graphs.
      Removing bogus log message in file parsing
      More work on #542 -- services in noop now produce noop events so that they can themselves trigger further changes
      The first round of fixes for failing tests.
      Looks like I already accidentally committed the switch from using system() to exec().  I am hoping this will fix the many problems people are having with processes hanging around (e.g., #509).  This change just removes the attempts at closing TCPServer instances, which should now be fixed from using exec instead of system.
      Fixing #538.  There is now a simple file() function to read in file contents.
      Adding #541.  There is now a "generate" function.
      Adding test to make sure ensure does not conflict with any of the creating types.
      Adding #539.  Definitions can now have titles, and both $title and $name are guaranteed to be set within any definition.
      Fixing #544 -- there is now an --ignoreimport option for commit hooks.
      Fixing #519.  The facts are now cached in the state file and changes to them force a recompile.
      Fixing the fact caching so that facts are only downloaded and retrieved once, rather than once during fresh checking and once during config compile.
      Oops.  Fixing the other tests to now past the facts to "fresh?", as required by the fact checking.
      Fixing #447 - filebuckets now use deeply nested paths
      Changing the "found a bug" message to something a bit more informative.
      A slight fix for #507.  This should at least provide better information if this problem crops up, although I cannot reproduce it.
      Taking another crack at #504 -- I was using Pidlock incorrectly.  I should have been using "locked?" but was using "lock".
      Fixing #487.  I know use "apt-cache policy", instead of apt-cache showpkg, because it clearly shows which version will be installed.  This is basically impossible to test well, so I just added a test that verifies we always get a value back, although I cannot really test that it is the "right" value.  Also, I modified the logging of packages so if there is a latest version, you will get the new version number, along with the old, in the log.
      Updating changelog for #487
      Following Russ Allbery's advice and using the Candidate field in the apt-cache output.  Apparently I'm blind.
      Adding provider features. Woot!
      Adding a provider feature table to the provider feature docs
      Fixing the spelling of David Schmitt's name and giving credit to Chris McEniry in the changelog.
      Another round of bug-fixes, prompted by test logs from David Schmitt
      Changing notify to default to its message being its name
      Changing execution to reopen stdin to /dev/null
      Adding context to the warning message about unknown escapes
      Changing the config cache location to the state dir
      Updating the config generation stuff a bit, mostly just cleanup, but also changing the servername fact to be the fqdn of the server.
      Adding the "ralsh" executable (formerly known as x2puppet).
      Clarifying the errors a bit when nodes come from external sources.
      cleaning up an error message a bit
      Finally fixing #504, I think; I even have tests to prove it.  It was a little thing, in the end.
      Adding a "has_feature" method, so a provider can just declare that it has a given feature
      Fixing #432 - you can now manage home dirs with users.  You cannot yet purge home directories, because there is still controversy over how that should be done.  Also, allowdupe is now handled like a feature, which is, um, better.
      Absolutely guaranteeing that the provider is always created before anything else.  Previously, it could get created later if it were using a default.
      Reverting changeset [2243]; this apparently causes chkconfig not to work
      Hopefully the last batch of commits before I release 0.22.2.  Mostly just get tests to pass.
      Updated to version 0.22.2
      Updated to version 0.22.2
      Fixing a small bug in testing whether instance methods are already defined.
      Fixing the Metric class old clients can still refer to the Puppet::Metric class.
      Fixing the same bug as the Metric stuff, but for logs this time.
      Fixing #553; -M is no longer added when home directories are managed
      Adding a migration to create indexes
      Rails is now significantly faster.  I refactored all of the queries; they are mostly reduced to three queries, each of which is relatively fast, although there are still a ton of file- and tag-related queries that I cannot find the source of.  Note that this speedup requires indexes, which will only get added if you start puppetmasterd with --dbmigrate (although you cannot always start with that, as there is an error in the init code).  I expect that the indexes will not help unless you forcibly reindex your database, but after that you should see significant speed improvements.
      Moving the authconfig setting to configuration.rb instead of network/authconfig.rb, as mentioned by Koen Vereeken
      Fixing the "readcert" method after getting the signed cert; the method got refactored, and essentially renamed in the process
      Adding filebucket client app
      Finalizing the filebucket client, with test code.
      Renaming pbucket to filebucket
      Refactoring some of the rails code.  The speed is now pretty good, but the tagging stuff does not seem to be working and is certainly working very ineffficiently.  Blake says he is going to take a look at that.
      Applying patch by Ian Burrell from #559
      Fixing #562; I had to fix how the client class was loaded
      Updating changelog and adding filebucket to the exluded file list in the Rakefile
      Updating changelog and adding filebucket to the exluded file list in the Rakefile
      Changing gems to automatically include dependencies
      Trying to fix the problem that occurs when noop somehow manages to be nil when downloading files
      Fixing the documentation to match reality, as reported in #548.
      Fixing a bug I apparently introduced in the testing that would have made user management not work with netinfo.  In the process, I am enabling validation on the nameservice subclasses.
      Fixing puppetdoc with the recent changes to the networking code
      Updated to version 0.22.3
      Updated to version 0.22.3
      Updated to version 0.22.3
      Adding last bits to the change log for 0.22.3
      Enhancing the report docs a bit
      Fixing #567.  I overrode the propertychanges method to only return changes if the file exists or if the file has a property that could create the file.
      Renaming some methods so that we can generate a report on a transaction and then retrieve it later
      Updating the docs for the sourceselect parameter
      Fixing Client.read_cert so that it automatically adds the certificate information to the driver when the certificate is correctly read.  This makes sure the Net::Http instance has the cert all set up.
      Changing the date that certs are valid to start one day before the cert is created, so clocks that are off by a little bit can still be used.
      Hah!  Finally fixing the problem where mount tests would fail when run as part of the whole suite.  The real problem was that I was changing the filetype of the provider without setting it to change back after the test, but the key change that made it straightforward to fix this problem was that my test loader was not exiting with a non-zero code when there was a failure, which mean that the ./test script never thought anything failed.  I fixed the former, then fixed the test script to work fine with -n method_name stuff, and quickly found the problem.  *whew*
      Changing the test package for debian
      Adding a --version argument to puppetca
      Only caching the configuration when it has been successfully turned into Puppet objects
      Adding the functionality requested in http://mail.madstop.com/pipermail/puppet-users/2007-April/002398.html .
      Fixing fileserver doc links
      Adding init script by apowerrs from #546.
      Adding patch by apowers from #545.
      Adding support for aptrpm from #227 as added by Ian Burrell
      Adding support for aptrpm from #227 as added by Ian Burrell, the rest of the commit
      Enhancing the docs a bit for the apple package provider.
      adding note about the class variables in the change log
      Removing the stubs for nodevar; I did not mean to commit them
      Fixing #591 -- puppetd now correctly restarts itself when it receives a HUP
      Fixing #587 -- just defaulting to root when there is no USER set in the environment.
      Fixing #588 - the parser correctly ignores directories in globbing now
      Removing the naming restrictions on cron names
      Translating all of the docs except the type docs to RST
      Adding a :block_eval option to FileRecords in FileParsing, so ParsedFile providers can have records just define a bunch of methods at once, rather than using lots of hooks.  This is cleaner when custom parse and generate methods are used.
      Mostly done with the conversion to restructured text, but there are still some tweaks to perform on the typedocs output.
      All conversions to RST are done, but I did not quite succeed at making puppetdoc able to generate a single PDF with all of the references in them.
      Last modifications to rst conversion before bedtime
      Refactoring puppetdoc so it is a bit cleaner and is actually object-oriented.  PDF output still fails miserably (there has to be some kind of markup problem, but I have no idea what), but other output now successfully varies on the pages.
      Adding a note to the references indicating that they are autogenerated.
      Adding the ability for parameters to declare that they require a given feature, and resources will not instantiate that parameter if required features are missing.  This is mostly useful for properties.
      Adding the ability to manage passwords with the useradd provider
      Possibly adding the ability to manage passwords on os x.  I expect it does not work, since there is probably no way to set up an encrypted password, but at least it now creates a user that can not log in by default.
      Adding extra info to the "Parameter already set" error, as requested in #573
      Fixing #574; puppetmasterd now exits with non-zero error code when there is a failure
      Fixing #603 -- I had to add a special case for escaped carriage returns.  I am not entirely sure this is the right solution, but so be it.
      Closing #585 -- providers can now have optional commands, which only differ from normal commands in that they do not affect a provider's suitability
      Apparently I messed up providers a bit; binaries were not having their full paths returned, which made most providers suddenly unsuitable.  This fixes that, and adds tests to verify behaviour.
      Okay, one last try -- the Util#binary command was not returning a path in all true cases, and the provider tests were poorly written and missed it.
      I managed to put those provider tests in the wrong file -- the file meant to test the resource type interactions with providers, rather than the provider file.  Fixing that, and the failed test resulting from that silly mistake.
      Adding "rug" package provider from #609
      Fixing the tests for the aptrpm provider.
      Switching the mount command to always add the mount options, so that the parsed provider can be used even in cases where /etc/fstab is ignored, like it is on OS X.
      Not stripping domain info from the ldap node, as requested
      Changing the resource handler to return the whole object, rather than just type and title
      Allowing "-" in fileserver module names, #617
      Adding purge => true to downloading of facts and plugins, and removing some extraneous logging from the provider base class
      Fixing #594 -- Files on the local machine but not remote machine now purge.  Note that this introduces a difference in behaviour between recursing locally and recursing remotely.
      Updating the changelog for #594
      Fixing a bug in the tests introduced a while back when I switched to using "generate_report"
      Working a little bit on rails failures, with no real progress
      Fixing cron to correctly match blank lines, fixing #602
      Switching the simpler features to a single file, so it is easier to add new features
      Fixing #430 (I hope) -- execs now autorequire the specified user
      Fixing the fileserver naming tests after the change to allow "-" in fileserver module names.
      Adding a "supports_parameter?" method to test whether a given provider supports the features required by a given parameter.  This is used during attribute instance creation, but its creation was necessicated by test code.
      Changing the remount stuff back to not repeating the mount options.
      Updated to version 0.22.4
      Updated to version 0.22.4
      Updated to version 0.22.4
      updating changelog with version number
      Adding --serve back in as an option to puppetd, and failing when a handler is specified but missing
      Fixing class name for Handler in puppetd
      Applying patch to puppetd from Jos Backus
      Committing all the work that josb did, plus a couple of small changes
      Adding a fact handler, along with an abstract interface for fact stores and a simple yaml fact store, towards the Node Classification work.
      Fixing #615 (subclasses with similar names) by getting rid of the class "type" and "fqname", and instead using "classname" everywhere.  You should no longer see unqualified class/definition names anywhere.  Also, rewriting how snippet tests work, to avoid creating all of the files, since the point was the parsing tests, not functional tests.
      Adding a --summarize option, to get a transaction summary
      adding --summarize option to the changelog
      Applying patch to puppetrun docs from JosB
      Correcting function reference markup
      Consolidating all of the configuration parameter declarations into configuration, at least partially just because then the docs for each parameter have to be a bit better.  Also, I have gotten rid of the "puppet" section, replacing it with "main", and changed, added, or removed a couple of other sections.  In general, we should now prefer more sections, rather than fewer.
      Fixing #206 and #422.  Executables will still look for the deprecated config files and load them using the old parse method, but they now prefer a single configuration file, and files can set parameters (owner, mode, group) in brackets on the same line.
      Fixing the time-cleaning in the rrdgraph report
      Adding a module to abstract using Autoload to load and manage instances
      First run at moving references to lib/puppet instead of puppetdoc
      Removing the obsolete logger network interface
      Lots of work related to generating more reference.  Moving all of the individual references out of puppetdoc and into an external "reference" class, which itself can autoload, so it is now easy to add new types of references.  Also adding a network reference, along with an unfinished provider reference.
      Adding a dynamic? option for references, so those are not stored in trac
      Sorting the network handlers in the network reference
      Fixing configprint so it fails correctly when an invalid parameter is provided, rather than throwing a stack trace
      Intermediate commit of more reference work, including making provider suitable more introspectable.  I am about to significantly change the output format of the providers reference, so i want to get this committed before that change.
      Hopefully final version of the providers reference
      Fixing the ability to fail correctly in the fileserver -- a constant was not defined correctly for it
      Adding default provider info to the providers report
      The TODO file has never really meant anything, and it hasn't been modified in 2.5 years
      Getting rid of the last vestiges of the logger tests
      Fixing #606 -- now only components mention @children.
      Fixing #607 -- parameters and properties now refer to a @resource rather than a @parent.  The @parent parameter is still set for now, for backward compatibility.
      Fixing #605 -- providers now refer to @resource or @resource_type.
      correcting some of the function reference docs
      Fixing the to_trans method and ralsh a bit so ralsh now works with the new lack of "is" method
      Not parsing old versions of puppet.conf -- otherwise, puppet parses the whole configuration.
      Fixing a path problem that resulted from the changes I made to internal variable names -- the pathbuilder method in file referred to @resource instead of @parent
      Fixing a weird bug that occurred because I was changing @parentclass in the AST stuff the first time it was called, from a string to a the actual instance of the parent.  This worked fine as long as the parentclass was only called when parsing was complete, such as during evaluation, but if anything resulted in it being called earlier (e.g., attempting to add to the class during parsing), then things behaved, um, badly.   This commit fixes the method so that the variable is not modified; there is now @parentclass and @parentobj.
      fixing some problems with the config timeout -- I am not sure it ever actually worked
      Attempting to fix the fact that the yum package provider calls [] on the ensure property, and making the resulting error more readable
      Removing obsolete parsedtype
      Fixing the "is" related problems in yum and rpm support, but there are still some package providers that use the "is" method (grep for "\.is[^_a-zA-Z]" in the package providers), and the util/posix.rb module has a call to obj.is.  I will fix those soon.
      Fixing #569 - I have added a dynamic facts option to choose which facts will be ignored.
      A round of fixes so unit tests pass; most of the failures were from the merging of the transaction-refactor branch
      Redoing autoload a bit in preparation for adding a plugindir
      Making sure there is an editor set for ralsh
      Using the method for retrieving the dipper class, in case it has not been loaded
      Fixing #507 (behaviour in cycles) by changing the topsort algorithm.
      Adding #629 -- an undef keyword now exists
      Fixing #566 -- definitions, tags, and classes can now be single characters
      Fixing #568
      Changing the notify type so that it always uses the loglevel for logging
      Adding the execute bit to install.rb and fixing #473 -- there was a /win/ regex that matched darwin but was just supposed to match windows
      Fixing #501 -- there is now a splay option, disabled by default and when running under --test
      Fixing #323 -- puppetd and puppetmasterd are now in sbin; packages still need to be fixed
      Updating the exec docs to specify that the timeout is in seconds
      Adding better error reporting on unmatched brackets -- you will now get notification of what was expected in most cases
      Adding more detail to the per-host reports dirs, since it was not setting mode or ownership.
      Changing the location of the classes.txt to the state dir
      fixing the method to check for hostdir writability in the rrdgraph report
      Adding a debug statement describing why restarts are skipped on services
      Adding a warning for when no properties are specified on services
      Changing the resource title to be text instead of a string, because some title are > 255 chars
      Fixing up2date name matching, as mentioned by Jeremy Dreese on the list
      Changing --show-available to --showall, as requisted by Jeremy Dreese on the list
      Fixing #532 -- reparsing config files no longer throws an exception.  The problem only occurred when reparsing a configuration file that was also being managed (which was common) and only whent the manifest was up to date (the combination was uncommon).  Reparsing would find the existing file object and use it to check permissions and such, then it would remove all of the internal data in the object, for cleanup; the problem is, the client still had a reference to the object, so when it went to run its configuration, this broken reference was used.
      Adding a "source" attribute to providers, so eventually types will be able to avoid duplication during listing by only listing one provider for each source (e.g., dpkg and aptitude should not both be listed).
      Significantly reworked the type => provider interface with respect to
      Fixing the few test failures that resulted from the changes to provider listing
      Applying patches from Valentin Vidic to fix open file discriptor and open port problems
      Fixing the "Server is not a class" problem with mongrel
      Finishing off the type/provider interface work, including adding package prefetch for all packages.  The only not-done one is yum -- prefetch is set up for rpm, but not yum.  We need to modify prefetching so that it also prefetches latest information, to avoid having to run yum so many times.
      Adding (slightly modified) urpmi support from #592 by Devin
      Fixing error when commands fail -- the error code is now printed, instead of the inspection of it
      Adding a simple unit test for mongrel, and adding the ability to select the header used to store the client SSL dn.
      Oops; I forgot to add the base class for package providers.  Also, cleaning up the package provider code a touch
      Fixing #660 by applying patch by freiheit.  Looks like this is another problem with yaml on 1.8.1.
      Removing old line from the fix for #660 -- I had strangely just commented it out, rather than removing it
      Fixing #637 -- defined resources can now correctly be virtual or exported
      Fixing #112 - mounts now default to 0 for dump and pass
      Fixing #550 -- I had to list pass and dump as optional fields.
      Applying patch from #666 by Rainhead and monachus
      Fixing mongrel test so it does not try to load the mongrel server class on machines without mongrel
      Updating ralsh with more functionality:  You can now perform work on the command line, with commands like "sudo ralsh file /etc/passwd ensure=absent".  This makes ralsh a bit more interactive.
      Removing the indexes migration, since the indexes are now in the main db schema
      Adding indexes for the rails tables
      Fixing #655 -- Solaris zones are again fully functional, from what I can tell
      A few small fixes here and there, and the rest of the zones commit
      Fixing a typo in the docs
      Applying metrics patch from #659 by thijs
      Fixing #644 -- the install.rb file works again
      Fixing sun package provider
      Fixing (hopefully) the last two providers that had "resource.is" calls
      adjusting the rrd color stack as requested by thijs
      Significantly optimizing the database queries -- I am getting about 40% better times now.  See http://www.madstop.com/optimizing_the_activerecord_integration.html.
      Fixing error about non-puppet protos
      Significantly reworking both external_nodes and ldapnodes support (see changelog).
      Trying to load ruby gems, in case needed libraries are installed that way, and fixing a warning in the provider
      Removing erroneous debug message
      Fixing the type/title index for mysql
      Modifying the check metaparam so that it just silently ignores metaparams and parameters, since they're uncheckable, and only tries to check properties
      Adding ralsh and filebucket to the rpm and the rakefile, and changing the url in the rpm
      Moving puppetd and puppetmasterd back to bin.  Damn. Reverting the fix to #323.
      Fixing the yum provider, and fixing the unit tests so the failures people were experiencing will result in failed tests.  This fixes #672.
      Fixing #673, but I have not written a test case for it.  I moved all rails-related unit tests into the rails/ dir, because they keep getting missed.
      All rails and language tests now pass again.  All of the rails tests should now be in the rails/ directory, and I have modified resource translation so that it always converts single-member arrays to singe values, which means the rails collection does not need to worry about it.
      Fixing #643 -- replacing the get_posix_field method with a more degenerate version that works even on broken systems
      Fixing #548, and making functions support other rvalues, too, including other functions.
      Adding patch by Ghislain from #670, with slight modifications.
      Adding puppet-test, which is useful for performance testing
      Reverting the change I just made to the config handler; it was only there for testing.
      Updating rrdgraph documentation with a pointer to the new rrd package.
      Applying the patch by wyvern from #662.  This should hopefully kill the client hanging problems.
      Adding the output_file.close, as wyvern recommended
      Adding appdmg package provider from #641.
      updating changelog for #641
      Adding puppetrun as an executable in the gem, along with ralsh (#313).
      fixing the appdmg provider to load the package provider base class, and trying to clean up the log-file opening in rails
      Fixing #578 -- Invalid certs are no longer written to disk.
      Modifying the CA server so that it will not send back a cert whose public key does not match the csr.  We have been getting a lot of instances of this, so this should cut down that problem.
      Applying patch by trombik from #624.
      Applying patch by trombik to fix #628.
      Updating the has_version work that Matt did -- the only thing he missed was that the :versionable feature depends on the :latest method, and when that is present we can safely assume that a package is versionable.  Also, created the :latest method on the dpkg provider, as requested in #647.
      Fixing some failing tests.
      Adding fink package provider.
      Fixing my stupid fix of Matt's work.  I conflated :versionable and :upgradeable.  I have now added back all of the "has_feature :versionable" lines.
      Applying patch in #572 by trombik
      The other half of fixing the versionable stuff -- removing "latest" as a requirement.
      Adding tracing to prefetch failures, and Fixing the environment support in the cron type (#669).
      Refactoring puppet-test -- it now supports specifying a fork level (so you can get multiple tests running in parallel from one host), and tests are modeled explicitly, so it will be easier to add new tests.
      More test fixes.  I seem to be getting very close.
      Updating error message during test failure.
      Removing extra debugging from the interpreter
      Updating puppet-test with clearer options around describe and retrieve
      More updates to puppet-test
      Modified the fileserver to cache file information, so that
      Changing the paths to match laeg, instead of culain.
      Updated to version 0.23.0
      Updated to version 0.23.0
      Updated to version 0.23.0
      Updating build files to support laeg
      Updating trac location for laeg
      Updating reference docs
      Adding a reference to the LDAPNodes wiki page in the ldapnodes config item
      Fixing #620 - class names and node names now throw an error when they conflict
      Removing the long-obsolete Element base class.  The Parameter and Type classes no longer have the same base class.
      Fixing #704 -- Puppet was not failing correctly when schedules were missing, I think
      Applying patch by daikinee from #690.  I was not able to reproduce the problems, but it did not seem to hurt anything, either.
      Fixing #689, although I have not added unit tests.  The problem was that a tag name was being removed, rather than the tag object itself.
      Removing extraneous debugging
      Fixing logging of module mounts; it was using the module as the name, rather than the module name
      Fixing the dpkg querying so that it works for packages that are in "config-files" state rather than just missing entirely.  Also fixing logging so that the package version is visible, instead of a dumped object
      Fixing #596 -- classes in modules now autoload
      Applying patch by DavidS from #697 to allow host names to be double quoted
      Applying further tests to double-quoted hostnames by Valentin Vidic
      Hopefully fixing #685 -- I added a wrapper around the call to getconfig(), so any timeouts will just throw an error and skip the run, rather than failing and killing the daemon.  This is not the best approach, since really, each method should be wrapped, but it is sufficient.
      Making sure that #686 is fixed -- I specifically included the Daemon module in the Puppet mongrel server, and I call daemonize on the Puppet class, rather than the Mongrel http server
      The parser now throws an error when a resource reference is created for an unknown type.  Also, resource references look up defined types and translate their type accordingly.
      Applying patch by David Schmitt from #701.
      Fixing #687.
      Changing the log message when a resource type cannot be found
      Changing "element" to "resource" in the documentation, which just aligns with a terminology change we made almost a year ago.
      Fixing a typo in a log message
      Fixing #710 -- you can now specify the rails_loglevel
      Changing some of the internals of autoloading so that there is a class-level method to query whether a given file has been loaded.
      Fixing #621 -- plugins are now downloaded directly into the $libdir, and autoload looks for them there.  You can now easily download any reloadable file to your clients.
      Adding patch by Valentin Vidic to add the "+>" syntax for adding values to parameters
      Adding benchmark info to fact retrieval in the config client
      Cleaning up a log message in the transaction
      Always setting a to_s value in authstore, so we do not get dumped objects
      Adding support in Property for declarating whether a given property type will match all @should values or just the first.
      Adding line/file info to parsing errors in ParsedFile
      Adding support for a "mailalias" type, with /etc/aliases support initially.  I have not yet figured out how to best rebuild the aliases file when necessary.
      Adding a maillist type, with support for mailman.  It is not as flexible as I would like, partially because of how mailman is implemented (the "mailman" command is never in the search path), but at least it is working for mailman on debian.
      Fixing transactions so that they do not flush resources that are in noop
      Having FileType instances automatically back their contents up to a filebucket, so it is much harder to lose content.  This does not yet back up crontab contents, though.
      Fixing the first half of #705 -- matching no longer fails.  I think this also fixes #648.
      Applying a version of the diff to the defined() docs from David Schmitt
      Applying docs patch by David Schmitt from #713
      removing the test for a method I removed yesterday
      Fixing the :check metaparam so it does not try to check unsupported parameters
      Fixing the instances method.  It now works when there are already managed resources.
      Fixing the interpreter autoloading so that it correctly loads classes even when being loaded from a namespace
      Removing extraneous debugging
      Fixing the mailman provider so it correctly matches case.  Apparently mailman helpfully autocapitalizes list names.
      Applying patch from #714 -- aptrpm now loads on RHEL
      Fixing #468 -- fully qualified resources can now be specified as dependencies
      Fixing #589
      Adding rpm as a specific command to :rug
      Fixing error message when a parameter is getting redefined
      Removing notice about "import loop", which was happening constantly when autoloading module files
      Reordering some of the type docs
      Fixing #691 -- I added "refreshable" features to the types that can restart, although exec does not have providers (yet), so I just made the docs a bit clearer
      Fixing the rest of #705, except for the env stuff, which I was not able to reproduce.
      Fixing some logging in cron
      Updating the docs to mention that you can use the file server with no server name
      Applying a slightly modified patch by Dean Wilson -- puppetca now exits with a non-zero code when it cannot find certs to clean.
      Trying to get rid of the warning from #724
      Fixing #719 -- the filebucket docs now only mention filebucket, not pbucket
      Fixing #703, mostly.  You still cannot do multi-condition queries, but you can at least query against any parameter, and matching any value is sufficient for a match, so the tags work fine.
      Fixing #695 -- resource references will correctly serialize and unserialize in the db
      Fixing #702, hopefully.  As suggested, I switched to "mount" instead of "df" to determine whether an fs is mounted.
      Applying patch by DavidS to fix #711.
      Fixing #716 -- the package type was considering anything that was not "absent" to be installed, but that included "purged", thus the problem
      Hopefully fixing #640, and maybe some warnings at the same time.  I added a call to Process.setsid after the fork, and I chdir'd to /.
      Removing the chdir from util.rb, I forgot that the directory often matters
      Adding documentation to the "test" script
      The first round of bug-fixes in preparation for beaker
      Adding the ability to specify relationships to classes, using Class[name] resource references.
      Converting mount test to use mount everywhere instead of df
      Hopefully fixing #720 -- I added tests and a lame back-off system to give the child process time to write
      Fixing #725.  I was apparently not deleting the alias I was creating to the components.
      Fixing the mail aliases generated by the mailman list provider; it was generating capitalized list names
      Caching whether a given file or module has been loaded, because the loading was greedy and was causing files to get loaded every time a class or module was asked for
      Attempting to clean up the mount documentation as in #727.
      Adding some code in an attempt to fix #728, but it is all commented out since I could not get it fixed in time for beaker
      Fixing #726 -- mounts can now correctly handle mounted but absent filesystems.
      Updated to version 0.23.1
      Updated to version 0.23.1
      Applying a modification of the patch from Marcin Owsiany, allowing Mongrel to be a CA
      Adding the requirement that the cert dn have /CN= in it, thus hopefully catching clients without certs
      Applying patch my emerose to fix #652.
      Removing test that ended up being redundant
      Adding a test for rails
      Adding interface implementations, as written by Paul Rose
      Applying patch by stick to the linux interface provider
      Renaming the linux interface provider to redhat
      Fixing #734.  The problem was that when I switched how the configs were parsed, I managed to lose the ability to keep values set on the cli from being overridden by values set in config files.
      Fixing #314 and #729; here's the changelog:
      Fixing #735 -- gen_config now uses a single heading, matching the name of the process
      Adding a file that should have been in a commit from yesterda
      Fixing #730 -- mounts now call flush() before trying to mount
      Fixing #731 - we are now correctly only collecting exported resources
      Fixing #751 -- the interface providers now have basic tests, at least to verify that prefetching and listing works.  I think these resource types need to be largely rewritten, though, and they currently have no relationship to ifconfig, which seems strange.
      Adding syslog support by devdas (#745).
      Removing the code from #745 until it can pass some basic tests
      Fixing #749 -- environment settings no longer accumulate.  Significantly adding to the cron tests at the same time, such that hopefully we will no longer have these recurring bugs.  I now do every combinatorial of multi-line cron jobs, including doing them all in one file.  There are, unfortunately, still edge cases, but maybe we will have some peace in cron space for a while, anyway.
      Copying the "commands" and "confine" statements to the actual dscl providers, since they need to be there to determine where the providers are suitable.  Otherwise base classes could unnecessarily affect how subclasses work.
      Adding test support for the other mongrel configuration header
      The last set of bug-fixes before the next release.  This commit just fixes a couple of problems that resulted when I changed the Provider#initialize method to not duplicate its argument, which was necessary for ParsedFile.
      Updated to version 0.23.2
      Updated to version 0.23.2
      Removing extraneous debugging from crontab
      Adding milestone names to changelog
      Updating more milestone names
      Revert "Updating more milestone names"
      Merge /opt/rl/git/puppet

lutter (119):
      Fix rpm packaging; include conf/ in tar ball, use conf files from tarball in spec file
      Install bin/puppet into /usr/bin/puppet, not /usr/sbin/puppet, since normal users are supposed to be able to run it
      Rewrote client init script since puppetd is now a proper demon.
      Allow passing of options with 'once'; fix processname tag, add config tag.
      Fix processname tag
      Changes in lie with Fedora Extras requirements
      Fix snippet_componentmetaparams test
      Simple emacs mode for editing manifests; only does pretty colors right now
      Fix version in last changelog entry (makes rpmlint happy)
      Adapt specfile to the fact that puppetmaster now automatically runs as user puppet. Add default config files that send logs to /var/log/puppet.
      Set the Release tag in the spec file to 1 when the version is changed
      Change in how logging is defaulted: by default logs go to :syslog, unless the user explicitly gives at least one --logdest argument, in which case logs only go to the destinations the user gave.
      Enable passing --parseonly from the command line
      Fix failure of test_importglobbing in test/parser/parser.rb
      Incorporate initial feedback from FE review
      Properly figure out when updates are available. Previously, packages would neverbe updated because 'yum list foo' first prints the currently installed package. Now we use 'yum list updates foo'
      Generate an error if the pattern for an import statement matches no file.
      Remove hte fedora-usermgmt stuff. As it turns out, it's not a Fedora Extras requirement to use it; so we'll just have useradd/groupadd allocate id's dynamically
      Add little snippet on passing an additional option during system boot, but leave it commented out
      Don't mark puppetmaster for start by default; makes rpmlint happier
      Minor changes from Fedora Extras review
      Simplified as yum install can be used for both install and update
      New yumrepo type for basic management of the yum configuration of
      Disbale running puppetmaster as puppet until we've sorted out which files
      Remove unused should method; add more yum parameters to the type
      Accept a single file as a test to run in addition to a directory
      Manifests can now specify node names with fully qualified domain names, too.
      Change how names for nodes are specified: the 'node' keyword can be followed by a NAME or by single quoted text, i.e. fully qualified names for nodes must be enclosed in single quotes
      Disable yumrepo type since it won't work with the FC5 repo files
      Revamp the yumrepo type to deal with repositories defined anywhere in yum's
      Don't create empty log files in %post (based on report by soul916 at gmail.com)
      Fix handling of run files so services can't be started twice (reported with patch by soul916 at gmail.com)
      Fix ownership on server files (trac #122) Change ownership on /var/puppet
      require the very latest facter to avoid problems because facter changed iphostnumber to ipaddress
      Small fix to include puppetrun in /usr/bin
      Test that setting a state to 'absent' really deletes it from the config
      Delete entries from the config file if their should is 'absent'
      Changes to make puppet package more LSB compliant. Update specfile for very latest Fedora ruby packaging guidelines. lsb-config.patch only checked in for documentation purposes, since changes are part of this checkin.
      Fix a small bug in mount where parsing fails if dump and pass are missing (they are optional on Linux) Revamp the tests slightly so that they parse fstabs provided in svn rather than relying on the fstab on the system the test is running on.
      Updates; remove mention of patches from specfile completely
      Doc change: explain what the values for ensure do
      Default the passno to 2, defaulting to 0 is a bad idea since it disables fsck
      Added comments to stay in sync with the spec file checked into Fedora Extras CVS
      Fix shebang lines in executables
      Fix problem when --fqdn is used
      Support for certificate revocation and checking connections on the server against the CRL
      Certificate revocation through puppetca. Keep a simple text inventory of all certificates ever issued.
      Try this; seems to work for machines with both ActiveSupport installed and not. MissingSourceFile is an AS thing, though it subclasses LoadError.
      Support for %h and %H replacement in the path of fileserver modules.
      Disable the sample fileserver module by default, otherwise users get spurious warnings about nonexisting directories
      Sync with FE repo
      Use Pupet.warning instead of nonexistant 'warning'
      Add config parameter ca_ttl and deprecate ca_days; ca_ttl makes it possible to generate certs that are valid for < 1 day
      Expanding the Fedora/RHEL instructions some
      Fix test_host_specific to not depend on the path of the test directory and reenable it
      Brute force fix for trac #266
      Let puppetd listen (when given --listen) without a CRL
      Better documentation around certificate revocation and mgmt
      Add config option 'node_name' to control what puppetmaster considers the proper name of a client (name in the SSL cert or name uploaded with facter) Default to name from the cert
      Fix trac #282 (Change URL to configref, mention --genconfig)
      Comment out the setting of PUPPET_LOG, so that puppetd uses its default
      Do restart as stop + start, since sending HUP to puppetmaster doesn't work (see trac #289)
      Syncing up with FE repo specfile (only mandatory changelog entries)
      Fix silly regexp mistake where lines with values containing '=' were parsed improperly.
      Make spec file work for Fedora < 5 and RHEL < 5
      Fix bug in example code: all resources now must have names
      Never default to rpm provider; use up2date on RedHat. This also works on RHEL5, which does not have up2date, the provider properly fails over to using yum
      Fix service.list, in particular for the redhat provider
      Allow execution of bare strings as long as there's no attempt to change uid/gid
      Fix trac #354, and some other oddities around installing multiple versions of the same package.
      The package name must match at the beginning of a line; otherwise we might get fooled by other yum spewage
      Tone down the debug spewage from yum
      Fix yum update breakage - query should not change the name the user gave us; instead, the fully versioned pacakge name is now stored in the instance parameter
      Simple script to produce type info
      Explicitly require puppet/filetype; otherwise, tests for this module fail
      Handle continuation lines in inifiles properly; stick a little closer to how python's ConfigParser parses
      Don't rely on the type to store the actual NVR of the package; breaks in the provider tests since they call the provider slightly differntly
      Add indentation written by Mario Martelli
      Minor cleanup, leave cursor at beginning of indented line, not its end
      Sync with latest in Fedora repo
      Allow listing of yumrepos
      Enclose values in single, not double quotes; otherwise if values have $ in them, the manifest will be incorrect
      Clear existing yumrepo instances befoer listing - assumes list should only return "is" instances
      Make rpm operations much faster by suppressing unneeded verification
      Fix to make running tests work in ruby 1.8.5
      Filenames for test must _end_ with '.rb'
      Allow 'key=' to be the only thing on a line (livna uses this)
      Print stacktrace in debug mode when catchign a signal - useful for understanding client hangs
      Make up2date the default for RHEL <= 4, and confine it to RHEL; make yum the default for RHEL >= 5. Fixes trac #478
      Don't include bin/pi in distributed tarball (and hence fix trac #471)
      Sync with latest Fedora specfile
      Fix typo in default config and add simple test to check default config sanity
      The basic plumbing for modules: a modulepath config parameter, and a new
      The template function now tries to first find a template within a module
      Introduces a new implicit 'modules' fileserver module, whose allow/deny can
      Search manifests first within modules, and if no module is found, search in
      Don't blow up when PUPPETLIB isn't set
      Apply patch from Ian Burrel (trac #479)
      Don't clobber an explicitly given waitforcert
      Change puppet's homedir to /var/lib/puppet
      Remove no-lockdir patch. Clean changelog
      Update to latest shipped for Fedora/RHEL
      Fix trac #601: wrong location for client pidfile
      Add protect and priority properties; patch provided by Matt Hyclak
      Change pi to list properties instead of states
      Move ralsh and filebucket into /usr/bin
      Fix #657: allow puppet URL's with no server; 'puppet' looks those up on hte local modulepath, whereas 'puppetd' goes to the default server
      Use single config file
      Get rid of using silly macros in %install
      Rename puppet.conf to puppetd.conf
      Fix name of main section
      Create the right puppet.conf; make sure old config files get preserved and stay functional
      Fix trac #684 - set exit code for status properly (patch by abnormaliti)
      Fix #696. (patch by Jason Kohles)
      Changes for 0.23.1
      Do not set any options if they aren't set in /etc/sysconfig/puppetmaster - otherwise we clobber settings from puppet.conf
      Undo previous commit, which was an error
      Apply fix for typo provided by Toshio Kuratomi (bz250870)
      trac #763: Make redhat provider default for CentOS (patch by jtimberman)

mccune (7):
      Fix for #565: Final merge of changes from source:branches/execute-refactor into source:trunk
      Forgot to change Puppet::Util::SUIDManager#run_and_capture arguments to execute
      Allow Darwin to remount rather than unmount / mount, as per puppet-users discussion "mount type and ensure => present on OS X" (Message-Id: <C44C8E86-DF31-4344-9B74-937325A03F5F at madstop.com>)
      Added documentation for pkgdmg provider in the provider desc accessor as per request in #641  It stil might not be crystal clear, but should be better than the one liner it replaces.
      Fixed #680 puppet should handle internet enabled image files correctly.
      DirectoryService provider for users and groups.  Alternative to netinfo, as apple has indicated NetInfo may go away at some point in the future.  It might happen in October.
      Removed stray debugger method.

mpalmer (25):
      Add external Rake task file as an svn:external, and modify the Rakefile to add lib to the load path
      Add a task to build Debian packages more-or-less 'directly' out of SVN.
      Change the filelist slightly so that the externally-included lib/rake doesn't end up in the gem
      Fix up the filelist for gems, so that all of lib/puppet gets put into the gem, not just the top-level .rb files
      Fix up a problem with initialising an sqlite3 data store, presumably only with older versions of Rails
      Add system library directories directly in puppettest.rb, so you don't have to do it by hand in every single underlying directory; also change the debug check slightly so that we actually put debug stuff only when we really want it
      Add a Puppet::Util::Pidlock class, for use by locks and PID files
      Make Pidlock#lock return true if we currently hold the lock
      Switch the run-lock to use Pidlock instead of the ad-hoc code
      Switch puppet/daemon.rb to use Pidlock
      Create rundir in a test that needs it
      Fix a syntax error in lib/puppet/daemon.rb (That'll teach me to not run the test suite before committing)
      Use Puppet::Util.sync instead of MonitorMixin to ensure that only one thread runs the executor at once
      Make the version string optional in the dpkg-query output parsing regex (Fixes: #425)
      Use a specific ActiveRecord subclass to check for the proper existence of AR in the Rails feature test, so that we don't kill everything if the machine has Rails installed, but it's an old version that doesn't support polymorphic associations
      Revert 2125, and instead change the way the 'latest' version is selected from the sorted list of versions
      Fix #516, 'Cached manifests get unescaped twice'
      Partially complete #241.  Add a 'purged' value for Package.ensure, and add a handler for all of the Debian providers.  Also wrote sensible test cases, and so we've now got Mocha running around in our source tree.
      Actually commit the changes to lib/puppet that were supposed to be part of [2223] (Fuck svn and it's partial-repository-by-default behaviour)
      Set LANG/LC_ALL/LC_MESSAGES/LANGUAGE to 'C' whenever we execute things, so that the output that comes back is more easily parsed, without needing to understand all sorts of foreign languages
      Correct a problem with the dpkg provider's handling of the :purged state, and expand the package type's understanding of what purged actually means.  Fixes #644
      Mark all package providers that don't currently report themselves as being versionable as not supporting versioning; this way we get a more sensible error message when people try to specify a package version.  See #647 for some discussion.
      Clean up a really hairy code construct in the useradd provider
      Add a grammatically correct 'has_feature' alias, and switch to using it where appropriate in existing code
      Switch the package type to use a :versionable feature, and convert all providers to use the feature.  Hope it doesn't break anything.

shadoi (28):
      Rails stuff part 1
      The new rails files.
      New rails stuff redux.
      acts_as_taggable plugin
      Rename some stuff I missed when it was reverted
      Don't symbolize the param names
      Don't dump out debugging stuff.
      These are the same versions from changeset 1837
      Remove old files, don't require pp anymore
      Don't use find_or_create_by_title since titles aren't unique.
      I like to checkin one-liners a lot.  I'm cool.
      Go back to restype and remove STI classes, they were more trouble than they were worth.
      Re-add support for tags and file/lines
      Add updated_at for all tables
      Merge fact_names & fact_values, and param_names & param_values.
      Apparently using "gem" requires an environment we don't have.
      This works for me.  Probably not the most universal fix.
      Update relationships
      Change Puppet.name to Puppet.execname so rails 1.2 won't freak out.
      Undo the params & facts stuff
      Undo the param_names param_values changes
      Renamed Puppet.name to Puppet.execname so rails 1.2 doesn't freak out
      Undo the param_name param_value merge
      Re-add the files
      I believe this fixes the issues in ticket #469
      Initial configuration storage abstraction layer stuff.
      First try at the REST config_store
      Use @http in store, add filterhost

shafer (10):
      added ignore to pfile
      added test case for ignore
      removed comp.sync and replaced system mkdir -p
      added ignore to fileserver and pfile
      fileserver still has a bug
      debugged ignore in fileserver, added tests to ignore tc and fixed server.list in tc for filesources and fileserver
      fixed problem using arrays
      removed directory output
      added log, metaloglevel and @metaparams to support setting loglevels
      Hoping this will get rid of the directory being printed

-----------------------------------------------------------------------

-- 
Puppet packaging for Debian



More information about the Pkg-puppet-devel mailing list