Add version table for upgrading via FOTA
[platform/framework/web/data-provider-master.git] / packaging / data-provider-master.spec
1 Name: data-provider-master
2 Summary: Master service provider for liveboxes
3 Version: 0.25.21
4 Release: 1
5 Group: HomeTF/Livebox
6 License: Flora
7 Source0: %{name}-%{version}.tar.gz
8 Source1001: %{name}.manifest
9 BuildRequires: cmake, gettext-tools, smack, coreutils
10 BuildRequires: pkgconfig(ail)
11 BuildRequires: pkgconfig(dlog)
12 BuildRequires: pkgconfig(aul)
13 BuildRequires: pkgconfig(vconf)
14 BuildRequires: pkgconfig(sqlite3)
15 BuildRequires: pkgconfig(db-util)
16 BuildRequires: pkgconfig(glib-2.0)
17 BuildRequires: pkgconfig(gio-2.0)
18 BuildRequires: pkgconfig(libsmack)
19 BuildRequires: pkgconfig(bundle)
20 BuildRequires: pkgconfig(ecore-x)
21 BuildRequires: pkgconfig(ecore)
22 BuildRequires: pkgconfig(evas)
23 BuildRequires: pkgconfig(ecore-evas)
24 BuildRequires: pkgconfig(com-core)
25 BuildRequires: pkgconfig(heynoti)
26 BuildRequires: pkgconfig(libxml-2.0)
27 BuildRequires: pkgconfig(x11)
28 BuildRequires: pkgconfig(libdri2)
29 BuildRequires: pkgconfig(libdrm)
30 BuildRequires: pkgconfig(libtbm)
31 BuildRequires: pkgconfig(xfixes)
32 BuildRequires: pkgconfig(dri2proto)
33 BuildRequires: pkgconfig(xext)
34 BuildRequires: pkgconfig(xdamage)
35 BuildRequires: pkgconfig(pkgmgr)
36 BuildRequires: pkgconfig(livebox-service)
37 BuildRequires: pkgconfig(notification)
38 BuildRequires: pkgconfig(badge)
39 BuildRequires: pkgconfig(shortcut)
40 BuildRequires: pkgconfig(security-server)
41 Requires(post): sys-assert
42 Requires(post): dbus
43
44 %description
45 Manage the 2nd stage livebox service provider and communicate with the viewer application.
46 Keep trace on the life-cycle of the livebox and status of the service providers, viewer applications.
47
48 %prep
49 %setup -q
50 cp %{SOURCE1001} .
51
52 %build
53 export ENGINEER=false
54 %if 0%{?tizen_build_binary_release_type_eng}
55 export CFLAGS="${CFLAGS} -DTIZEN_ENGINEER_MODE"
56 export CXXFLAGS="${CXXFLAGS} -DTIZEN_ENGINEER_MODE"
57 export FFLAGS="${FFLAGS} -DTIZEN_ENGINEER_MODE"
58 export ENGINEER=true
59 %endif
60
61 %if 0%{?sec_product_feature_livebox_shm}
62 export LIVEBOX_SHM=baltic
63 %else
64 export LIVEBOX_SHM=private
65 %endif
66
67 %cmake . -DPRODUCT=${LIVEBOX_SHM} -DENGINEER_BINARY=${ENGINEER}
68
69 CFLAGS="${CFLAGS} -Wall -Winline -Werror" LDFLAGS="${LDFLAGS}" make %{?jobs:-j%jobs}
70
71 %install
72 rm -rf %{buildroot}
73 %make_install
74 mkdir -p %{buildroot}/%{_datarootdir}/license
75 mkdir -p %{buildroot}/opt/usr/share/live_magazine
76 mkdir -p %{buildroot}/opt/usr/share/live_magazine/log
77 mkdir -p %{buildroot}/opt/usr/share/live_magazine/reader
78 mkdir -p %{buildroot}/opt/usr/share/live_magazine/always
79 mkdir -p %{buildroot}/opt/usr/devel/usr/bin
80 mkdir -p %{buildroot}/opt/dbspace
81 #mkdir -p %{buildroot}/%{_sysconfdir}/rc.d/rc3.d
82 mkdir -p %{buildroot}%{_unitdir_user}/tizen-middleware.target.wants
83 mkdir -p %{buildroot}%{_unitdir_user}/sockets.target.wants
84 touch %{buildroot}/opt/dbspace/.livebox.db
85 touch %{buildroot}/opt/dbspace/.livebox.db-journal
86 #ln -sf %{_sysconfdir}/rc.d/init.d/data-provider-master %{buildroot}/%{_sysconfdir}/rc.d/rc3.d/S99data-provider-master
87 ln -sf %{_unitdir_user}/data-provider-master.service %{buildroot}%{_unitdir_user}/tizen-middleware.target.wants/data-provider-master.service
88 ln -sf %{_unitdir_user}/data-provider-master.socket %{buildroot}%{_unitdir_user}/sockets.target.wants/data-provider-master.socket
89 if [ ! -s %{buildroot}/opt/dbspace/.livebox.db ]; then
90 echo "LiveBox DB file is not exists, initiate it"
91 sqlite3 %{buildroot}/opt/dbspace/.livebox.db <<EOF
92 CREATE TABLE version ( version INTEGER );
93 CREATE TABLE box_size ( pkgid TEXT NOT NULL, size_type INTEGER, preview TEXT, touch_effect INTEGER, need_frame INTEGER, FOREIGN KEY(pkgid) REFERENCES pkgmap(pkgid) ON DELETE CASCADE);
94 CREATE TABLE client (pkgid TEXT PRIMARY KEY NOT NULL, icon TEXT, name TEXT, auto_launch TEXT, pd_size TEXT, content TEXT, nodisplay INTEGER, setup TEXT, mouse_event INTEGER, FOREIGN KEY(pkgid) REFERENCES pkgmap(pkgid) ON DELETE CASCADE);
95 CREATE TABLE groupinfo ( id INTEGER PRIMARY KEY AUTOINCREMENT, cluster TEXT NOT NULL, category TEXT NOT NULL, pkgid TEXT NOT NULL, FOREIGN KEY(pkgid) REFERENCES pkgmap(pkgid) ON DELETE CASCADE);
96 CREATE TABLE groupmap (option_id INTEGER PRIMARY KEY AUTOINCREMENT, id INTEGER, pkgid TEXT NOT NULL, ctx_item TEXT NOT NULL, FOREIGN KEY(id) REFERENCES groupinfo(id), FOREIGN KEY(pkgid) REFERENCES pkgmap(pkgid) ON DELETE CASCADE);
97 CREATE TABLE i18n ( pkgid TEXT NOT NULL, lang TEXT COLLATE NOCASE, name TEXT, icon TEXT, FOREIGN KEY(pkgid) REFERENCES pkgmap(pkgid) ON DELETE CASCADE);
98 CREATE TABLE option ( pkgid TEXT NOT NULL, option_id INTEGER, key TEXT NOT NULL, value TEXT NOT NULL, FOREIGN KEY(option_id) REFERENCES groupmap(option_id), FOREIGN KEY(pkgid) REFERENCES pkgmap(pkgid) ON DELETE CASCADE);
99 CREATE TABLE pkgmap ( pkgid TEXT PRIMARY KEY NOT NULL, appid TEXT, uiapp TEXT, prime INTEGER );
100 CREATE TABLE provider ( pkgid TEXT PRIMARY KEY NOT NULL, network INTEGER, abi TEXT, secured INTEGER, box_type INTEGER, box_src TEXT, box_group TEXT, pd_type INTEGER, pd_src TEXT, pd_group TEXT, libexec TEXT, timeout INTEGER, period TEXT, script TEXT, pinup INTEGER, FOREIGN KEY(pkgid) REFERENCES pkgmap(pkgid) ON DELETE CASCADE);
101 EOF
102 fi
103
104 %pre
105 # Executing the stop script for stopping the service of installed provider (old version)
106 if [ -x %{_sysconfdir}/rc.d/init.d/data-provider-master ]; then
107         %{_sysconfdir}/rc.d/init.d/data-provider-master stop
108 fi
109
110 %post
111 chown 5000:5000 /opt/usr/share/live_magazine
112 chmod 750 /opt/usr/share/live_magazine
113 chown 5000:5000 /opt/usr/share/live_magazine/log
114 chmod 750 /opt/usr/share/live_magazine/log
115 chown 5000:5000 /opt/usr/share/live_magazine/reader
116 chmod 750 /opt/usr/share/live_magazine/reader
117 chown 5000:5000 /opt/usr/share/live_magazine/always
118 chmod 750 /opt/usr/share/live_magazine/always
119 chown 0:5000 /opt/dbspace/.livebox.db
120 chmod 640 /opt/dbspace/.livebox.db
121 chown 0:5000 /opt/dbspace/.livebox.db-journal
122 chmod 640 /opt/dbspace/.livebox.db-journal
123 vconftool set -t bool "memory/data-provider-master/started" 0 -i -u 5000 -f -s system::vconf_system
124 vconftool set -t int "memory/private/data-provider-master/restart_count" 0 -i -u 5000 -f -s data-provider-master
125 vconftool set -t string "db/data-provider-master/serveraddr" "/opt/usr/share/live_magazine/.client.socket" -i -u 5000 -f -s system::vconf_system
126 echo "Successfully installed. Please start a daemon again manually"
127 echo "%{_sysconfdir}/init.d/data-provider-master start"
128
129 %files -n data-provider-master
130 %manifest %{name}.manifest
131 %defattr(-,root,root,-)
132 %{_sysconfdir}/rc.d/init.d/data-provider-master
133 #%{_sysconfdir}/rc.d/rc3.d/S99data-provider-master
134 %{_bindir}/data-provider-master
135 %{_prefix}/etc/package-manager/parserlib/*
136 %{_datarootdir}/data-provider-master/*
137 %{_unitdir_user}/data-provider-master.service
138 %{_unitdir_user}/data-provider-master.socket
139 %{_unitdir_user}/tizen-middleware.target.wants/data-provider-master.service
140 %{_unitdir_user}/sockets.target.wants/data-provider-master.socket
141
142 %{_datarootdir}/license/*
143 /opt/usr/share/live_magazine/*
144 %if 0%{?tizen_build_binary_release_type_eng}
145 /opt/usr/devel/usr/bin/*
146 %endif
147 /opt/dbspace/.livebox.db
148 /opt/dbspace/.livebox.db-journal
149 /opt/etc/smack/accesses.d/*
150
151 # End of a file