manages simulation of security-manager
[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 - ***security-manager***
26
27 This package also requires either ***libzip*** (version >= 0.11) 
28 or the binaries ***zip*** and ***unzip***. By default, it will
29 use ***libzip***.
30
31 ### Compiling
32
33 The main scheme for compiling the project is:
34
35 > cmake .
36
37 > make
38
39 > sudo make install
40
41 By default, the installation is made in ***/usr***.
42 To change this behaviour, you should set the variable
43 CMAKE_INSTALL_PREFIX as in the below example:
44
45 > cmake -DCMAKE_INSTALL_PREFIX=/some/where .
46
47 You could check the documentation of the standard CMake module 
48 [GNUInstallDirs](https://cmake.org/cmake/help/v3.4/module/GNUInstallDirs.html).
49
50 To forbid the use of ***libzip*** and replace it with the
51 use of programs ***zip*** and ***unzip***, type:
52
53 > cmake -DUSE_LIBZIP=0 .
54
55 ## Content
56
57 This package content source files for several programs.
58 The installed programs are:
59
60 - ***afm-system-daemon***: D-Bus daemon to install,
61   uninstall, list the widgets.
62
63   It runs on the system bus.
64
65 - ***afm-user-daemon***: D-Bus daemon to list
66   available widgets, to start, pause, resume, stop it.
67
68   It runs on the user session bus.
69
70 - ***wgtpkg-info***: command line tool to display
71   informations about a widget file.
72
73 - ***wgtpkg-installer***: command line tool to
74   install a widget file.
75
76 - ***wgtpkg-pack***: command line tool to create
77   a widget file from a widget directory.
78
79 - ***wgtpkg-sign***: command line tool to add a signature
80   to a widget directory.
81
82 ## Description
83
84 The framework defined by afm-main 
85
86 ## Comparison with Tizen framework
87
88 This package is providing few less behaviour than
89 the following Tizen packages:
90
91 - platform/appfw/app-installers
92 - platform/core/security/cert-svc
93 - platform/core/appfw/ail
94 - platform/core/appfw/aul-1
95 - platform/core/appfw/libslp-db-util
96
97 ## Links
98
99 ### Details about widgets
100
101 The widgets are specified in that W3C recommandation: 
102 [Packaged Web Apps](http://www.w3.org/TR/widgets).
103 This model was initially designed for HTML applications.
104 But it is well suited for other kind of applications.
105
106 ### Details about dependencies
107
108 For details, you can dig into internet the following links:
109
110 - [libxml2](http://xmlsoft.org/html/index.html)
111 - [OpenSSL](https://www.openssl.org)
112 - [XMLSec](https://www.aleksey.com/xmlsec)
113 - [JSON-c](https://github.com/json-c/json-c)
114 - [D-Bus](http://www.freedesktop.org/wiki/Software/dbus)
115 - [libzip](http://www.nih.at/libzip)
116 - [CMake](https://cmake.org)
117 - [Security-Manager](https://wiki.tizen.org/wiki/Security/Tizen_3.X_Security_Manager)
118