Migrate from 2.4 code repo
[platform/core/context/context-service.git] / packaging / context-service.spec
1 Name:       context-service
2 Summary:    Context-Service
3 Version:    0.4.4
4 Release:    1
5 Group:      Framework/system
6 License:    Apache-2.0
7 Source0:    %{name}-%{version}.tar.gz
8 Source1:        context-service.service
9 Source2:        org.tizen.context.service
10
11 BuildRequires: cmake
12 BuildRequires: sed
13 BuildRequires: pkgconfig(vconf)
14 BuildRequires: pkgconfig(libxml-2.0)
15 BuildRequires: pkgconfig(sqlite3)
16 BuildRequires: pkgconfig(capi-system-info)
17 BuildRequires: pkgconfig(capi-appfw-app-manager)
18 BuildRequires: pkgconfig(appsvc)
19 BuildRequires: pkgconfig(pkgmgr-info)
20 BuildRequires: pkgconfig(capi-security-privilege-manager)
21 BuildRequires: pkgconfig(vasum)
22 BuildRequires: pkgconfig(alarm-service)
23 BuildRequires: pkgconfig(notification)
24
25 BuildRequires: pkgconfig(clips)
26 BuildRequires: pkgconfig(context-common)
27 BuildRequires: pkgconfig(context)
28 BuildRequires: context-internal
29
30 BuildRequires: pkgconfig(device-context-provider)
31 BuildRequires: pkgconfig(statistics-context-provider)
32 BuildRequires: pkgconfig(place-context-provider)
33
34 Requires(preun): /usr/bin/systemctl
35 Requires(post): sys-assert
36 Requires(post): /usr/bin/systemctl
37 Requires(post): /usr/bin/sqlite3
38 Requires(postun): /usr/bin/systemctl
39
40 %ifarch %{arm}
41 %define ARCH arm
42 %else
43 %define ARCH i586
44 %endif
45
46 %description
47 Context-Service
48
49 %prep
50 %setup -q
51
52 %build
53 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
54
55 export   CFLAGS+=" -Wextra -Wcast-align -Wcast-qual -Wshadow -Wwrite-strings -Wswitch-default"
56 export CXXFLAGS+=" -Wextra -Wcast-align -Wcast-qual -Wshadow -Wwrite-strings -Wswitch-default -Wnon-virtual-dtor -Wno-c++0x-compat"
57
58 export   CFLAGS+=" -Wno-unused-parameter -Wno-empty-body"
59 export CXXFLAGS+=" -Wno-unused-parameter -Wno-empty-body"
60
61 export   CFLAGS+=" -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-strict-aliasing -fno-unroll-loops -fsigned-char -fstrict-overflow -fno-common"
62 export CXXFLAGS+=" -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-strict-aliasing -fno-unroll-loops -fsigned-char -fstrict-overflow"
63 #export CXXFLAGS+=" -std=c++0x"
64
65 export   CFLAGS+=" -DTIZEN_ENGINEER_MODE"
66 export CXXFLAGS+=" -DTIZEN_ENGINEER_MODE"
67 export   FFLAGS+=" -DTIZEN_ENGINEER_MODE"
68
69 cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DARCH=%{ARCH} -DMAJORVER=${MAJORVER} -DFULLVER=%{version} -DPROFILE=%{?tizen_profile_name}
70 make %{?jobs:-j%jobs}
71
72 %install
73 rm -rf %{buildroot}
74 %make_install
75
76 mkdir -p %{buildroot}%{_unitdir}
77 #mkdir -p %{buildroot}%{_datadir}/dbus-1/services
78 mkdir -p %{buildroot}%{_datadir}/license
79 mkdir -p %{buildroot}%{_datadir}/packages
80 mkdir -p %{buildroot}/opt/dbspace
81 mkdir -p %{buildroot}/opt/data/context-service
82 sqlite3 %{buildroot}/opt/dbspace/.context-service.db "PRAGMA journal_mode = PERSIST;"
83 sqlite3 %{buildroot}/opt/dbspace/.context-service.db "CREATE TABLE VERSION (VERSION TEXT);"
84 sqlite3 %{buildroot}/opt/dbspace/.context-service.db "INSERT INTO VERSION VALUES ('%{version}');"
85 install -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}
86 #install -m 0644 %{SOURCE2} %{buildroot}%{_datadir}/dbus-1/services/
87 cp LICENSE %{buildroot}%{_datadir}/license/%{name}
88 sed -i "s/^\tversion=\".*\"/\tversion=\"%{version}\"/g" packaging/context-service.xml
89 cp packaging/context-service.xml %{buildroot}%{_datadir}/packages/
90 cp data/access-config.xml %{buildroot}/opt/data/context-service/
91 cp data/trigger-template.json %{buildroot}/opt/data/context-service/
92 sh data/template-json-to-sql.sh data/trigger-template.json > %{buildroot}/opt/data/context-service/trigger-template.sql
93
94 %post
95 sqlite3 -echo /opt/dbspace/.context-service.db < /opt/data/context-service/trigger-template.sql
96 mkdir -p %{_unitdir}/graphical.target.wants
97 ln -s ../context-service.service %{_unitdir}/graphical.target.wants/
98 /sbin/ldconfig
99 systemctl daemon-reload
100 #if [ $1 == 1 ]; then
101 #    systemctl restart context-service
102 #fi
103
104 %preun
105 if [ $1 == 0 ]; then
106     systemctl stop context-service
107 fi
108
109 %postun
110 rm -f %{_unitdir}/graphical.target.wants/context-service.service
111 systemctl daemon-reload
112 /sbin/ldconfig
113
114 %files
115 %manifest packaging/%{name}.manifest
116 %defattr(-,root,root,-)
117 %{_bindir}/*
118 %{_unitdir}/context-service.service
119 #%{_datadir}/dbus-1/services/org.tizen.context.service
120 %{_datadir}/license/%{name}
121 %{_datadir}/packages/*.xml
122 %defattr(0600,system,system,-)
123 /opt/data/context-service/*
124 %config(noreplace) /opt/dbspace/.context-service.db*