From a36b22fc9844228a85aae93fb8b08509309de32e Mon Sep 17 00:00:00 2001 From: Daniel Bugl Date: Tue, 8 Sep 2015 17:51:30 +0200 Subject: [PATCH 1/4] make README.md more attractive, add cmake cache to .gitignore --- .gitignore | 5 ++ README.md | 140 ++++++++++++++++++++++++------------------- src/tools/.gitignore | 5 ++ 3 files changed, 88 insertions(+), 62 deletions(-) create mode 100644 src/tools/.gitignore diff --git a/.gitignore b/.gitignore index 11766b92503..2b7a9cf458d 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,8 @@ build* #ignore emacs backup files \#*# + +#ignore cmake cache files +CMakeFiles +CMakeCache.txt +DartConfiguration.tcl diff --git a/README.md b/README.md index 0f914a03932..b4b36c97f9d 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,74 @@ -Elektra provides a universal and secure framework to store configuration -parameters in a global, hierarchical key database. The core is a small -library implemented in C. The plugin-based framework fulfills many +# libelektra # + +_Elektra provides a universal and secure framework to store configuration +parameters in a global, hierarchical key database._ + +![Elektra](doc/images/circle.jpg) + +The core is a small library implemented in C. The plugin-based framework fulfills many configuration-related tasks to avoid any unnecessary code duplication across applications while it still allows the core to stay without any external dependency. Elektra abstracts from cross-platform-related issues with an consistent API, and allows applications to be aware of other applications' configurations, leveraging easy application integration. -![Elektra](doc/images/circle.jpg) +[Why should I use Elektra?](#goals) + + +## Quickstart ## + +If you want to use Elektra for your application, [read the application integration tutorial](doc/tutorials/application-integration.md). + +### Installation ### + +The preferred way to install Elektra is by using packages provided for +your distribution: + - [Fedora](https://admin.fedoraproject.org/pkgdb/package/elektra/) + - [Gentoo](http://packages.gentoo.org/package/app-admin/elektra) + - [Arch Linux](https://aur.archlinux.org/packages/elektra/) + - [Debian](https://packages.debian.org/de/jessie/libelektra4) + - [Ubuntu](https://launchpad.net/ubuntu/+source/elektra) + +Available, but not up-to-date (Version 0.7): + - [Mageia](http://svnweb.mageia.org/packages/updates/1/elektra/) + - [Linux Mint](http://community.linuxmint.com/software/view/elektra) + +For [OpenSUSE, CentOS, Fedora, RHEL and SLE](https://build.opensuse.org/package/show/home:bekun:devel/elektra) +Kai-Uwe Behrmann kindly provides packages [for download](http://software.opensuse.org/download.html?project=home%3Abekun%3Adevel&package=libelektra4). +For Debian stable amd64 we provide latest builds. Just add following lines to +sources.list in wheezy: + + deb [trusted=yes] ftp://markus-raab.org/wheezy wheezy main + deb-src [trusted=yes] ftp://markus-raab.org/wheezy wheezy main + +If there are no packages available for your distribution, see the +[installation document](doc/INSTALL.md). + +### Download ### + +Elektra's uses a [git repository at github](https://github.com/ElektraInitiative/libelektra). + +You can clone the latest version of Elektra by running: `git clone https://github.com/ElektraInitiative/libelektra.git` + +Releases can be downloaded from [http](http://www.libelektra.org/ftp/elektra/releases/) and + + ftp://ftp.libelektra.org/elektra/releases/ + +### Compiling ### + +After downloading or cloning Elektra, `cd` to the directory and run the +following commands to compile it: + + * `mkdir -p build` + * `cd build` + * `cmake ..` + * `make` + +Then you can use `sudo make install` to install it. + +You can also use the [`./configure`](configure) command to generate a `cmake` +command with special options. + ## Goals ## @@ -28,7 +89,8 @@ And in terms of quality, we want: 2. Extensibility (gain control over configuration access) and 3. Simplicity (make configuration tasks simple) -[Read here more about the Goals of Elektra ..](doc/GOALS.md) +[Read more about the goals of Elektra](doc/GOALS.md) + ## Facts and Features ## @@ -51,6 +113,17 @@ And in terms of quality, we want: * Elektra provides powerful [Code Generation Techniques](src/tools/gen) for high-level configuration access. +## News ## + + - [12 Jul 2015 0.8.12](http://doc.libelektra.org/news/98770541-32a1-486a-98a1-d02f26afc81a.html) adds dir namespace + - [03 Apr 2015 0.8.11](http://doc.libelektra.org/news/7d4647d4-4131-411e-9c2a-2aca39446e18.html) adds spec namespace + - [02 Dec 2014 0.8.10](http://doc.libelektra.org/news/6ce57ecf-420a-4a31-821e-1c5fe5532eb4.html) adds XDG/OpenICC compatibility + - [04 Nov 2014 0.8.9](http://doc.libelektra.org/news/38640673-3e07-4cff-9647-f6bdd89b1b08.html) adds qt-gui + - [02 Sep 2014 0.8.8](http://doc.libelektra.org/news/eca69e19-5ddb-438c-ac06-57c20b1a9160.html) adds 3-way merging + +Also see [News](doc/NEWS.md) and its [RSS feed](http://www.libelektra.org/news/feed.rss). + + ## Further Information ## To get an introduction, it is best to take a look at the @@ -69,68 +142,12 @@ The API documentation can be found [here](http://doc.libelektra.org/api/current/html). -## News ## - -- [12 Jul 2015 0.8.12](http://doc.libelektra.org/news/98770541-32a1-486a-98a1-d02f26afc81a.html) adds dir namespace -- [03 Apr 2015 0.8.11](http://doc.libelektra.org/news/7d4647d4-4131-411e-9c2a-2aca39446e18.html) adds spec namespace -- [02 Dec 2014 0.8.10](http://doc.libelektra.org/news/6ce57ecf-420a-4a31-821e-1c5fe5532eb4.html) adds XDG/OpenICC compatibility -- [04 Nov 2014 0.8.9](http://doc.libelektra.org/news/38640673-3e07-4cff-9647-f6bdd89b1b08.html) adds qt-gui -- [02 Sep 2014 0.8.8](http://doc.libelektra.org/news/eca69e19-5ddb-438c-ac06-57c20b1a9160.html) adds 3-way merging - -Also see [News](doc/NEWS.md) and its [RSS feed](http://www.libelektra.org/news/feed.rss). - - ## Contact ## Do not hesitate to ask any question on [github issue tracker](https://github.com/ElektraInitiative/libelektra/issues), [Mailing List](https://lists.sourceforge.net/lists/listinfo/registry-list) or one of the [authors](doc/AUTHORS). -# Get Started # - -If you want to use Elektra for your application, [read the application integration tutorial](doc/tutorials/application-integration.md). - -## Download ## - -Elektra's uses a [git repository at github](https://github.com/ElektraInitiative/libelektra). - -Releases can be downloaded from [http](http://www.libelektra.org/ftp/elektra/releases/) and - - ftp://ftp.libelektra.org/elektra/releases/ - -## Compile ## - -See this [document](doc/COMPILE.md) for documentation how to compile the software. -You might find [configure](configure) useful: It will print the cmake -commando you need. - - -## Install ## - -The preferred way to install Elektra is by using packages provided for -your distribution: - - [Fedora](https://admin.fedoraproject.org/pkgdb/package/elektra/) - - [Gentoo](http://packages.gentoo.org/package/app-admin/elektra) - - [Arch Linux](https://aur.archlinux.org/packages/elektra/) - - [Debian](https://packages.debian.org/de/jessie/libelektra4) - - [Ubuntu](https://launchpad.net/ubuntu/+source/elektra) - -Available, but not up-to-date (Version 0.7): - - [Mageia](http://svnweb.mageia.org/packages/updates/1/elektra/) - - [Linux Mint](http://community.linuxmint.com/software/view/elektra) - -For [OpenSUSE, CentOS, Fedora, RHEL and SLE](https://build.opensuse.org/package/show/home:bekun:devel/elektra) -Kai-Uwe Behrmann kindly provides packages [for download](http://software.opensuse.org/download.html?project=home%3Abekun%3Adevel&package=libelektra4). -For Debian stable amd64 we provide latest builds. Just add following lines to -sources.list in wheezy: - - deb [trusted=yes] ftp://markus-raab.org/wheezy wheezy main - deb-src [trusted=yes] ftp://markus-raab.org/wheezy wheezy main - -If there are no packages available for your distribution, see the -[installation document](doc/INSTALL.md). - - ## Build Server ## The [build server](http://build.libelektra.org:8080/) builds @@ -158,4 +175,3 @@ To start development, just clone the repo and start hacking! design relevant decisions. - You can always peek into the [TODOs](doc/todo), if you don't know what to do. - diff --git a/src/tools/.gitignore b/src/tools/.gitignore new file mode 100644 index 00000000000..21b0c59786d --- /dev/null +++ b/src/tools/.gitignore @@ -0,0 +1,5 @@ +#ignore cmake cache files +CMakeFiles +CMakeCache.txt +Makefile +cmake_install.cmake From 91d4be6fe2aea5df537541e73135e583c57b7b7e Mon Sep 17 00:00:00 2001 From: Daniel Bugl Date: Mon, 14 Sep 2015 13:46:24 +0200 Subject: [PATCH 2/4] restructure README.md, better quickstart section, revert .gitignore changes --- README.md | 119 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 78 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index b4b36c97f9d..628cdf43593 100644 --- a/README.md +++ b/README.md @@ -15,59 +15,49 @@ applications' configurations, leveraging easy application integration. [Why should I use Elektra?](#goals) -## Quickstart ## - -If you want to use Elektra for your application, [read the application integration tutorial](doc/tutorials/application-integration.md). - -### Installation ### +## Contact ## -The preferred way to install Elektra is by using packages provided for -your distribution: - - [Fedora](https://admin.fedoraproject.org/pkgdb/package/elektra/) - - [Gentoo](http://packages.gentoo.org/package/app-admin/elektra) - - [Arch Linux](https://aur.archlinux.org/packages/elektra/) - - [Debian](https://packages.debian.org/de/jessie/libelektra4) - - [Ubuntu](https://launchpad.net/ubuntu/+source/elektra) +Do not hesitate to ask any question on [github issue tracker](https://github.com/ElektraInitiative/libelektra/issues), [Mailing List](https://lists.sourceforge.net/lists/listinfo/registry-list) +or one of the [authors](doc/AUTHORS). -Available, but not up-to-date (Version 0.7): - - [Mageia](http://svnweb.mageia.org/packages/updates/1/elektra/) - - [Linux Mint](http://community.linuxmint.com/software/view/elektra) -For [OpenSUSE, CentOS, Fedora, RHEL and SLE](https://build.opensuse.org/package/show/home:bekun:devel/elektra) -Kai-Uwe Behrmann kindly provides packages [for download](http://software.opensuse.org/download.html?project=home%3Abekun%3Adevel&package=libelektra4). -For Debian stable amd64 we provide latest builds. Just add following lines to -sources.list in wheezy: +## Quickstart ## - deb [trusted=yes] ftp://markus-raab.org/wheezy wheezy main - deb-src [trusted=yes] ftp://markus-raab.org/wheezy wheezy main +### Installation ### -If there are no packages available for your distribution, see the -[installation document](doc/INSTALL.md). +If you want to use Elektra for your application, [read the application integration tutorial](doc/tutorials/application-integration.md). -### Download ### +The preferred way to install Elektra is by using packages provided for +your distribution. On Debian/Ubuntu, this can be done by running the following +command: -Elektra's uses a [git repository at github](https://github.com/ElektraInitiative/libelektra). +```bash +sudo apt-get install elektra-bin libelektra-dev +``` -You can clone the latest version of Elektra by running: `git clone https://github.com/ElektraInitiative/libelektra.git` +This will install the Elektra tools as well as everything needed to develop +with Elektra. -Releases can be downloaded from [http](http://www.libelektra.org/ftp/elektra/releases/) and +If you're not running Debian/Ubuntu, check out the [package list](#packages), +[download elektra directly](#download) or [compile it yourself](#compile). - ftp://ftp.libelektra.org/elektra/releases/ +### Usage ### -### Compiling ### +Now that we have Elektra installed, we can start using the `kdb` command and +the `qt-gui`. -After downloading or cloning Elektra, `cd` to the directory and run the -following commands to compile it: +The easiest way to use Elektra is running the `qt-gui`: - * `mkdir -p build` - * `cd build` - * `cmake ..` - * `make` +```bash +kdb qt-gui +``` -Then you can use `sudo make install` to install it. +Or you can use the `kdb` command to configure your applications: -You can also use the [`./configure`](configure) command to generate a `cmake` -command with special options. +```bash +kdb set user/test "something" +kdb get user/test +``` ## Goals ## @@ -142,10 +132,57 @@ The API documentation can be found [here](http://doc.libelektra.org/api/current/html). -## Contact ## +## Sources ## -Do not hesitate to ask any question on [github issue tracker](https://github.com/ElektraInitiative/libelektra/issues), [Mailing List](https://lists.sourceforge.net/lists/listinfo/registry-list) -or one of the [authors](doc/AUTHORS). +### Packages ### + +The preferred way to install Elektra is by using packages provided for +your distribution: + - [Fedora](https://admin.fedoraproject.org/pkgdb/package/elektra/) + - [Gentoo](http://packages.gentoo.org/package/app-admin/elektra) + - [Arch Linux](https://aur.archlinux.org/packages/elektra/) + - [Debian](https://packages.debian.org/de/jessie/libelektra4) + - [Ubuntu](https://launchpad.net/ubuntu/+source/elektra) + +Available, but not up-to-date (Version 0.7): + - [Mageia](http://svnweb.mageia.org/packages/updates/1/elektra/) + - [Linux Mint](http://community.linuxmint.com/software/view/elektra) + +For [OpenSUSE, CentOS, Fedora, RHEL and SLE](https://build.opensuse.org/package/show/home:bekun:devel/elektra) +Kai-Uwe Behrmann kindly provides packages [for download](http://software.opensuse.org/download.html?project=home%3Abekun%3Adevel&package=libelektra4). +For Debian stable amd64 we provide latest builds. Just add following lines to +sources.list in wheezy: + + deb [trusted=yes] ftp://markus-raab.org/wheezy wheezy main + deb-src [trusted=yes] ftp://markus-raab.org/wheezy wheezy main + +If there are no packages available for your distribution, see the +[installation document](doc/INSTALL.md). + +### Download ### + +Elektra's uses a [git repository at github](https://github.com/ElektraInitiative/libelektra). + +You can clone the latest version of Elektra by running: `git clone https://github.com/ElektraInitiative/libelektra.git` + +Releases can be downloaded from [http](http://www.libelektra.org/ftp/elektra/releases/) and + + ftp://ftp.libelektra.org/elektra/releases/ + +### Compiling ### + +After downloading or cloning Elektra, `cd` to the directory and run the +following commands to compile it: + + * `mkdir -p build` + * `cd build` + * `cmake ..` + * `make` + +Then you can use `sudo make install` to install it. + +You can also use the [`./configure`](configure) command to generate a `cmake` +command with special options. ## Build Server ## From dc1e1ced856128f9926ef637d1b76e60088f1461 Mon Sep 17 00:00:00 2001 From: Daniel Bugl Date: Mon, 14 Sep 2015 13:48:04 +0200 Subject: [PATCH 3/4] revert .gitignore changes --- .gitignore | 5 ----- src/tools/.gitignore | 5 ----- 2 files changed, 10 deletions(-) delete mode 100644 src/tools/.gitignore diff --git a/.gitignore b/.gitignore index 2b7a9cf458d..11766b92503 100644 --- a/.gitignore +++ b/.gitignore @@ -19,8 +19,3 @@ build* #ignore emacs backup files \#*# - -#ignore cmake cache files -CMakeFiles -CMakeCache.txt -DartConfiguration.tcl diff --git a/src/tools/.gitignore b/src/tools/.gitignore deleted file mode 100644 index 21b0c59786d..00000000000 --- a/src/tools/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -#ignore cmake cache files -CMakeFiles -CMakeCache.txt -Makefile -cmake_install.cmake From 19acee180453ebabde0c2cb39ff114018c81a446 Mon Sep 17 00:00:00 2001 From: Daniel Bugl Date: Mon, 14 Sep 2015 13:51:13 +0200 Subject: [PATCH 4/4] README.md: move integration tutorial link --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 628cdf43593..30afccfccc9 100644 --- a/README.md +++ b/README.md @@ -23,10 +23,10 @@ or one of the [authors](doc/AUTHORS). ## Quickstart ## -### Installation ### - If you want to use Elektra for your application, [read the application integration tutorial](doc/tutorials/application-integration.md). +### Installation ### + The preferred way to install Elektra is by using packages provided for your distribution. On Debian/Ubuntu, this can be done by running the following command: