README: more documentation
[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 > make
36 > sudo make install
37
38 By default, the installation is made in ***/usr***.
39 To change this behaviour, you should set the variable
40 CMAKE_INSTALL_PREFIX as in the below example:
41
42 > cmake -DCMAKE_INSTALL_PREFIX=$(pwd)/root .
43
44 You could check the documentation of the standard CMake module 
45 [GNUInstallDirs](https://cmake.org/cmake/help/v3.4/module/GNUInstallDirs.html).
46
47 To forbid the use of ***libzip*** and replace it with the
48 use of programs ***zip*** and ***unzip***, type:
49
50 > cmake -DUSE_LIBZIP=0 .
51
52 ## Content
53
54 This package content source files for several programs.
55 The installed programs are:
56
57 - ***afm-system-daemon***: D-Bus daemon to install,
58   uninstall, list the widgets.
59
60   It runs on the system bus.
61
62 - ***afm-user-daemon***: D-Bus daemon to list
63   available widgets, to start, pause, resume, stop it.
64
65   It runs on the user session bus.
66
67 - ***wgtpkg-info***: command line tool to display
68   informations about a widget file.
69
70 - ***wgtpkg-installer***: command line tool to
71   install a widget file.
72
73 - ***wgtpkg-pack***: command line tool to create
74   a widget file from a widget directory.
75
76 - ***wgtpkg-sign***: command line tool to add a signature
77   to a widget directory.
78
79 ## Comparison with Tizen framework
80
81 This package is providing few less behaviour than
82 the following Tizen packages:
83
84 - platform/appfw/app-installers
85 - platform/core/security/cert-svc
86 - platform/core/appfw/ail
87 - platform/core/appfw/aul-1
88 - platform/core/appfw/libslp-db-util
89
90 ## Links
91
92 ### Details about widgets
93
94
95 ### Details about dependencies
96
97 For details, you can dig into internet the following links:
98
99 - [libxml2](http://xmlsoft.org/html/index.html)
100 - [OpenSSL](https://www.openssl.org)
101 - [XMLSec](https://www.aleksey.com/xmlsec)
102 - [JSON-c](https://github.com/json-c/json-c)
103 - [D-Bus](http://www.freedesktop.org/wiki/Software/dbus)
104 - [libzip](http://www.nih.at/libzip)
105 - [CMake](https://cmake.org)
106
107