diff --git a/HACKING.md b/HACKING.md index df1d61a39..4adcc4d43 100644 --- a/HACKING.md +++ b/HACKING.md @@ -1,10 +1,6 @@ Hacking on Calamares ==================== -Join #calamares on Freenode. - -Patches go to [github.com/calamares](https://github.com/calamares/calamares). - Licensing --------- Calamares is released under the terms of the GNU GPL, version 3 or later. Every source file must have a license header, with a list of copyright holders and years. @@ -78,7 +74,7 @@ Naming ------ * Use CamelCase for everything. * Local variables should start out with a lowercase letter. -* Class names are captialized +* Class names are capitalized * Prefix class member variables with `m_`, e.g. `m_queue`. * Prefix static member variables with `s_`, e.g. `s_instance`. * Functions are named in the Qt style, like Java's, without the 'get' prefix. @@ -128,7 +124,7 @@ The use of `nullptr` is preferred over the use of `0` or `NULL`. For Qt containers it is better to use Qt's own `foreach`. For all other containers, the range-based `for` syntax introduced with C++11 is preferred ([see this blog post][1]). -When reimplementing a virtual method, always add the `override` keyword. +When re-implementing a virtual method, always add the `override` keyword. Try to keep your code const correct. Declare methods const if they don't mutate the object, and use const variables. It improves safety, and also makes it easier to diff --git a/README.md b/README.md index 66e700b15..81ec06621 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,17 @@ -Calamares -========= +### Calamares: Distribution-Independent Installer Framework +--------- -Distribution-independent installer framework - -[Report bugs here](http://calamares.io/bugs/) - - -[![Build Status](http://calamares.io/ci/buildStatus/icon?job=calamares-master)](http://calamares.pangea.pub/ci/job/calamares-master/) +| [![Build Status](http://calamares.io/ci/buildStatus/icon?job=calamares-master)](http://calamares.pangea.pub/ci/job/calamares-master/) | [Report a Bug](http://calamares.io/bugs/) | [Contribute](https://github.com/calamares/calamares/blob/master/HACKING.md) | Freenode (IRC): #calamares | +|:-----------------------------------------:|:--------------------------:|:--------------------------:|:--------------------------:| ### Dependencies -* CMake >= 2.8.12 -* Qt >= 5.3 -* yaml-cpp >= 0.5.1 -* Python >= 3.3 -* Boost.Python >= 1.55.0 - -Additional dependencies, only for the partitioning module: -* extra-cmake-modules -* kconfig (part of KF5) -* solid (part of KF5) -* kcoreaddons (part of KF5) -* ki18n (part of KF5) +| Main | Partitioning Module | +|:----:|:-------------------:| +| CMake >= 2.8.12 | extra-cmake-modules | +| Qt >= 5.3 | kconfig (part of KF5) | +| yaml-cpp >= 0.5.1 | solid (part of KF5) | +| Python >= 3.3 | kcoreaddons (part of KF5) | +| Boost.Python >= 1.55.0 | ki18n (part of KF5) | ### Building ``` @@ -32,16 +23,16 @@ $ cmake -DCMAKE_BUILD_TYPE=Debug .. $ make ``` -### Design notes +### Design Notes Calamares is currently split as follows: -* libcalamares - the backend library, - * only depends on QtCore, yaml-cpp, Python and Boost.Python, - * provides a job queue and generic jobs, - * comes with 3 job interfaces: C++, Python and process (the latter is very limited); -* libcalamaresui - the frontend library, - * same dependencies as libcalamares, plus QtWidgets and other Qt modules, - * comes with a module loading system, for different kinds of plugins, - * themeable so branding can be done easily (plugin-based, TBD), - * presents a bunch of pages in a scripted order, enqueues jobs in the backend library; -* calamares - the main executable, - * a thin wrapper around libcalamaresui, starts up and plugs together all the parts. + 1. __libcalamares__ - The back-end library. + * Only depends on QtCore, yaml-cpp, Python and Boost.Python. + * Provides a job queue and generic jobs. + * Comes with 3 job interfaces: C++, Python and process (the latter is very limited). + 2. __libcalamaresui__ - The front-end library. + * Same dependencies as libcalamares, plus QtWidgets and other Qt modules. + * Comes with a module loading system, for different kinds of plugins. + * Themeable, so branding can be done easily (plugin-based, TBD). + * Presents a bunch of pages in a scripted order, enqueues jobs in the back-end library. + 3. __calamares__ - The main executable. + * A thin wrapper around libcalamaresui; starts up and plugs together all the parts.