Fix application of Tizen 3.0 security model
[platform/core/account/account-manager.git] / packaging / account-manager.spec
1
2 Name:       account-manager
3 Summary:    Account Manager
4 Version:    0.0.1
5 Release:    1
6 Group:      Social & Content/Other
7 License:    Apache-2.0
8 Source0:    account-manager-%{version}.tar.gz
9 Source1:    accounts-service.service
10
11 BuildRequires:  cmake
12 BuildRequires:  pkgconfig(glib-2.0)
13 BuildRequires:  pkgconfig(dlog)
14 BuildRequires:  pkgconfig(db-util)
15 BuildRequires:  pkgconfig(capi-base-common)
16 BuildRequires:  pkgconfig(pkgmgr-info)
17 BuildRequires:  pkgconfig(aul)
18 BuildRequires:  pkgconfig(glib-2.0) >= 2.26
19 BuildRequires:  pkgconfig(gio-2.0)
20 BuildRequires:  pkgconfig(gio-unix-2.0)
21 BuildRequires:  pkgconfig(cynara-client)
22 BuildRequires:  pkgconfig(cynara-session)
23 BuildRequires:  pkgconfig(cynara-creds-gdbus)
24 BuildRequires:  pkgconfig(accounts-svc)
25 BuildRequires:  python-xml
26 BuildRequires:  python-devel
27
28 Requires(post): /sbin/ldconfig
29 Requires(post): /usr/bin/sqlite3
30 Requires(postun): /sbin/ldconfig
31
32 %description
33 Account Daemon: no
34
35 %package devel
36 Summary:    Development files for %{name}
37 Group:      Development/Libraries
38 Requires:   %{name} = %{version}-%{release}
39 %description devel
40 Development files for %{name}
41
42 %prep
43 %setup -q
44
45 %build
46 #export   CFLAGS+=" -Wextra -Wcast-align -Wcast-qual -Wshadow -Wwrite-strings -Wswitch-default"
47 #export CXXFLAGS+=" -Wextra -Wcast-align -Wcast-qual -Wshadow -Wwrite-strings -Wswitch-default -Wnon-virtual-dtor -Wno-c++0x-compat"
48 #export   CFLAGS+=" -Wno-unused-parameter -Wno-empty-body"
49 #export CXXFLAGS+=" -Wno-unused-parameter -Wno-empty-body"
50
51 #export   CFLAGS+=" -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-strict-aliasing -fno-unroll-loops -fsigned-char -fstrict-overflow -fno-common"
52 #export CXXFLAGS+=" -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-strict-aliasing -fno-unroll-loops -fsigned-char -fstrict-overflow"
53
54 export CFLAGS="${CFLAGS} -fPIC -fvisibility=hidden"
55 cmake . -DCMAKE_INSTALL_PREFIX=/usr
56
57 make %{?jobs:-j%jobs}
58
59 %install
60 rm -rf %{buildroot}
61 %make_install
62
63 mkdir -p %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants
64 install -m 0644 %SOURCE1 %{buildroot}%{_libdir}/systemd/system/accounts-service.service
65 ln -s ../accounts-service.service %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/accounts-service.service
66
67 rm -rf %{buildroot}/usr/lib/account-manager
68
69 %post
70 /sbin/ldconfig
71 #if [ ! -d /opt/usr/dbspace ]
72 #then
73 #        mkdir -p /opt/usr/dbspace
74 #fi
75 if [ ! -f %{TZ_SYS_DB}/.account.db ]
76 then
77         sqlite3 %{TZ_SYS_DB}/.account.db 'PRAGMA journal_mode = PERSIST;
78         CREATE TABLE if not exists label (AppId TEXT, Label TEXT, Locale TEXT);
79         CREATE TABLE if not exists account_type (_id INTEGER PRIMARY KEY AUTOINCREMENT, AppId TEXT,
80         ServiceProviderId TEXT, IconPath TEXT, SmallIconPath TEXT, MultipleAccountSupport INT);
81         CREATE TABLE if not exists account_custom (AccountId INTEGER, AppId TEXT, Key TEXT, Value TEXT);
82         CREATE TABLE if not exists account (id INTEGER PRIMARY KEY AUTOINCREMENT, user_name TEXT, email_address TEXT, display_name TEXT, icon_path TEXT,
83         source TEXT, package_name TEXT, access_token TEXT, domain_name TEXT, auth_type INTEGER, secret INTEGER, sync_support INTEGER,
84         txt_custom0 TEXT, txt_custom1 TEXT, txt_custom2 TEXT, txt_custom3 TEXT, txt_custom4 TEXT,
85         int_custom0 INTEGER, int_custom1 INTEGER, int_custom2 INTEGER, int_custom3 INTEGER, int_custom4 INTEGER);
86         CREATE TABLE if not exists capability (_id INTEGER PRIMARY KEY AUTOINCREMENT, key TEXT, value INTEGER,
87         package_name TEXT, user_name TEXT,  account_id INTEGER, FOREIGN KEY (account_id) REFERENCES account(id));
88         CREATE TABLE if not exists provider_feature (app_id TEXT, key TEXT);
89 '
90 fi
91
92 chown system:system %{TZ_SYS_DB}/.account.db
93 chown system:system %{TZ_SYS_DB}/.account.db-journal
94
95 chmod 600 %{TZ_SYS_DB}/.account.db
96 chmod 600 %{TZ_SYS_DB}/.account.db-journal
97
98 #set message key value to NULL
99 #vconftool set -t string db/account/msg '' -g 6514
100 vconftool set -tf string db/account/msg '' -s libaccounts-svc -u 200 -g 5000
101
102 #smack labeling
103 chsmack -a 'System' %{TZ_SYS_DB}/.account.db-journal
104 chsmack -a 'System' %{TZ_SYS_DB}/.account.db
105
106
107 %postun -p /sbin/ldconfig
108
109
110
111 %files
112 %manifest libaccounts-svc.manifest
113 %defattr(-,root,root,-)
114 %attr(0755,root,root) %{_bindir}/account-svcd
115 %attr(-,root,root) %{_unitdir}/accounts-service.service
116 %attr(-,root,root) %{_unitdir}/multi-user.target.wants/accounts-service.service
117
118 %files devel
119 %defattr(-,root,root,-)
120 %attr(0755,root,root) %{_bindir}/account-svcd
121 %attr(-,root,root) %{_unitdir}/accounts-service.service
122 %attr(-,root,root) %{_unitdir}/multi-user.target.wants/accounts-service.service