Blame README

Packit 06dd63
[![Build Status](https://travis-ci.org/hercules-team/augeas.svg?branch=master)](https://travis-ci.org/hercules-team/augeas)
Packit 06dd63
Packit 06dd63
Introduction
Packit 06dd63
------------
Packit 06dd63
Packit 06dd63
  Augeas is a library and command line tool that focuses on the most basic
Packit 06dd63
  problem in handling Linux configurations programmatically: editing actual
Packit 06dd63
  configuration files in a controlled manner.
Packit 06dd63
Packit 06dd63
  To that end, Augeas exposes a tree of all configuration settings (well,
Packit 06dd63
  all the ones it knows about) and a simple local API for manipulating the
Packit 06dd63
  tree. Augeas then modifies underlying configuration files according to
Packit 06dd63
  the changes that have been made to the tree; it does as little modeling
Packit 06dd63
  of configurations as possible, and focuses exclusivley on transforming
Packit 06dd63
  the tree-oriented syntax of its public API to the myriad syntaxes of
Packit 06dd63
  individual configuration files.
Packit 06dd63
Packit 06dd63
  This focus on editing sets Augeas apart from any other configuration tool
Packit 06dd63
  I know of. Hopefully, Augeas will form a more solid foundation on which
Packit 06dd63
  these tools can be built; with a clean, simple API these tools should
Packit 06dd63
  be able to focus more on their core concerns and less on the mechanics
Packit 06dd63
  of running sed, grep, awk, etc. to tweak a config file.
Packit 06dd63
Packit 06dd63
  If all you need is a tool to edit configuration files, you only need to
Packit 06dd63
  concern yourself with the handful of public API calls that Augeas exposes
Packit 06dd63
  (or their equivalent language bindings). However, to teach Augeas about a
Packit 06dd63
  new file format, you need to describe that file format in Augeas's domain
Packit 06dd63
  specific language (a very small subset of ML) Documentation for that
Packit 06dd63
  language can be found on the Augeas website at http://augeas.net/ If you
Packit 06dd63
  do that, please contribute the description if at all possible, or include
Packit 06dd63
  it in the distribution of your software - all you need to do for that is
Packit 06dd63
  add a couple of text files, there is no need to change existing
Packit 06dd63
  code. Ultimately, Augeas should describe all config files commonly found
Packit 06dd63
  on a Linux system.
Packit 06dd63
Packit 06dd63
Non-goals
Packit 06dd63
---------
Packit 06dd63
Packit 06dd63
Augeas is as much defined by the things it does _not_ try to accomplish
Packit 06dd63
as by its goals:
Packit 06dd63
Packit 06dd63
* No abstraction from native config format, i.e. the organization of
Packit 06dd63
  the tree mirrors closely how the native config files are organized
Packit 06dd63
* No cross-platform abstraction - what is logically the same value may
Packit 06dd63
  live in different places in the tree on different
Packit 06dd63
  distributions. Dealing with that should be left to a higher-level
Packit 06dd63
  tool
Packit 06dd63
* No remote management support. Augeas is a local API, other ways of
Packit 06dd63
  access to Augeas should be built on top of it
Packit 06dd63
* No (or very little) modelling. Augeas is focused on syntax
Packit 06dd63
  transformation, not on any higher-level understanding of
Packit 06dd63
  configuration.
Packit 06dd63
Packit 06dd63
The above non-goals are of course important concerns in
Packit 06dd63
practice. Historically though, too many config mgmt projects have failed
Packit 06dd63
because they set their sights too high and tried to address syntax
Packit 06dd63
transformation, modelling, remote support, and scalable management all in
Packit 06dd63
one. That leads to a lack of focus, and to addressing each of those goals
Packit 06dd63
unsatisfactorily.
Packit 06dd63
Packit 06dd63
Building
Packit 06dd63
--------
Packit 06dd63
Packit 06dd63
These instructions apply to building a released tarball. If you want to
Packit 06dd63
build from a git checkout, see the file HACKING.
Packit 06dd63
Packit 06dd63
See the generic instructions in INSTALL. Generally,
Packit 06dd63
Packit 06dd63
      ./configure
Packit 06dd63
      make && make install
Packit 06dd63
should be all that is needed.
Packit 06dd63
Packit 06dd63
You need to have readline-devel installed. On systems that support
Packit 06dd63
SELinux, you should also install libselinux-devel.
Packit 06dd63
Packit 06dd63
Documentation
Packit 06dd63
-------------
Packit 06dd63
Packit 06dd63
Documentation can be found on Augeas' website http://augeas.net/ The site
Packit 06dd63
also contains information on how to get in touch, what you can do to help
Packit 06dd63
etc.
Packit 06dd63
Packit 06dd63
License
Packit 06dd63
-------
Packit 06dd63
Packit 06dd63
Augeas is released under the [Lesser General Public License, Version 2.1](http://www.gnu.org/licenses/lgpl-2.1.html)
Packit 06dd63
See the file COPYING for details.