README: improves the formatting
[src/app-framework-main.git] / README.md
1 # afm-main
2
3 ## Overview
4
5 This repository is named **afm-main** because
6 it stands for **AGL Framework Master - Main**.
7
8 It contains programs and services to create widgets,
9 to install widgets, to run widgets.
10
11 ## How to compile?
12
13 This project uses CMAKE and C compiler suite to be compiled.
14
15 ### Dependencies
16
17 This package requires the following libraries or modules:
18
19 - ***libxml-2.0***
20 - ***openssl***
21 - ***xmlsec1***
22 - ***xmlsec1-openssl***
23 - ***json-c***
24 - ***dbus-1***
25
26 This package also requires either ***libzip*** (version >= 0.11) 
27 or the binaries ***zip*** and ***unzip***. By default, it will
28 use ***libzip***.
29
30 ### Compiling
31
32 The main scheme for compiling the project is:
33
34 > cmake .
35
36 > make
37
38 > sudo make install
39
40 By default, the installation is made in ***/usr***.
41 To change this behaviour, you should set the variable
42 CMAKE_INSTALL_PREFIX as in the below example:
43
44 > cmake -DCMAKE_INSTALL_PREFIX=/some/where .
45
46 You could check the documentation of the standard CMake module 
47 [GNUInstallDirs](https://cmake.org/cmake/help/v3.4/module/GNUInstallDirs.html).
48
49 To forbid the use of ***libzip*** and replace it with the
50 use of programs ***zip*** and ***unzip***, type:
51
52 > cmake -DUSE_LIBZIP=0 .
53
54 ## Content
55
56 This package content source files for several programs.
57 The installed programs are:
58
59 - ***afm-system-daemon***: D-Bus daemon to install,
60   uninstall, list the widgets.
61
62   It runs on the system bus.
63
64 - ***afm-user-daemon***: D-Bus daemon to list
65   available widgets, to start, pause, resume, stop it.
66
67   It runs on the user session bus.
68
69 - ***wgtpkg-info***: command line tool to display
70   informations about a widget file.
71
72 - ***wgtpkg-installer***: command line tool to
73   install a widget file.
74
75 - ***wgtpkg-pack***: command line tool to create
76   a widget file from a widget directory.
77
78 - ***wgtpkg-sign***: command line tool to add a signature
79   to a widget directory.
80
81 ## Comparison with Tizen framework
82
83 This package is providing few less behaviour than
84 the following Tizen packages:
85
86 - platform/appfw/app-installers
87 - platform/core/security/cert-svc
88 - platform/core/appfw/ail
89 - platform/core/appfw/aul-1
90 - platform/core/appfw/libslp-db-util
91
92 ## Links
93
94 ### Details about widgets
95
96
97 ### Details about dependencies
98
99 For details, you can dig into internet the following links:
100
101 - [libxml2](http://xmlsoft.org/html/index.html)
102 - [OpenSSL](https://www.openssl.org)
103 - [XMLSec](https://www.aleksey.com/xmlsec)
104 - [JSON-c](https://github.com/json-c/json-c)
105 - [D-Bus](http://www.freedesktop.org/wiki/Software/dbus)
106 - [libzip](http://www.nih.at/libzip)
107 - [CMake](https://cmake.org)
108
109