tizen 2.4 release
[framework/context/context-service.git] / packaging / context-service.spec
1 Name:       context-service
2 Summary:    Context-Service
3 Version:    0.6.3
4 Release:    1
5 Group:      System/Service
6 License:    Apache-2.0
7 Source0:    %{name}-%{version}.tar.gz
8 Source1:        context-service.service
9
10 # For active window hooking, we need to use 'ecore' mainloop instead of the 'glib' mainloop.
11 %define MAINLOOP ecore
12
13 BuildRequires: cmake
14 BuildRequires: sed
15 BuildRequires: pkgconfig(vconf)
16 BuildRequires: pkgconfig(libxml-2.0)
17 BuildRequires: pkgconfig(sqlite3)
18 BuildRequires: pkgconfig(libsmack)
19 BuildRequires: pkgconfig(capi-system-info)
20 BuildRequires: pkgconfig(capi-appfw-app-manager)
21 BuildRequires: pkgconfig(appsvc)
22 BuildRequires: pkgconfig(alarm-service)
23 BuildRequires: pkgconfig(notification)
24 BuildRequires: pkgconfig(capi-system-system-settings)
25
26 %if "%{MAINLOOP}" == "ecore"
27 BuildRequires: pkgconfig(ecore)
28 %endif
29
30 BuildRequires: pkgconfig(security-server)
31
32 BuildRequires: pkgconfig(clips)
33 BuildRequires: pkgconfig(context-common)
34 BuildRequires: pkgconfig(context)
35
36 BuildRequires: pkgconfig(device-context-provider)
37 BuildRequires: pkgconfig(statistics-context-provider)
38 BuildRequires: pkgconfig(place-context-provider)
39
40 Requires(preun): /usr/bin/systemctl
41 Requires(post): sys-assert
42 Requires(post): /usr/bin/systemctl
43 Requires(post): /usr/bin/sqlite3
44 Requires(postun): /usr/bin/systemctl
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} -DMAJORVER=${MAJORVER} -DFULLVER=%{version} -DMAINLOOP=%{MAINLOOP}
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}/license
78 mkdir -p %{buildroot}%{_datadir}/packages
79 mkdir -p %{buildroot}/opt/usr/dbspace
80 mkdir -p %{buildroot}/opt/data/context-service
81 install -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}
82 cp LICENSE %{buildroot}%{_datadir}/license/%{name}
83 sed -i "s/^\tversion=\".*\"/\tversion=\"%{version}\"/g" packaging/context-service.xml
84 cp packaging/context-service.xml %{buildroot}%{_datadir}/packages/
85
86 %post
87 sqlite3 /opt/usr/dbspace/.context-service.db "PRAGMA journal_mode = PERSIST;"
88 sqlite3 /opt/usr/dbspace/.context-service.db "CREATE TABLE IF NOT EXISTS VERSION (VERSION TEXT);"
89 sqlite3 /opt/usr/dbspace/.context-service.db "INSERT OR IGNORE INTO VERSION VALUES ('%{version}');"
90 chsmack -a "context-service" /opt/usr/dbspace/.context-service.db*
91 chown system:system /opt/usr/dbspace/.context-service.db*
92 mkdir -p %{_unitdir}/graphical.target.wants
93 ln -s ../context-service.service %{_unitdir}/graphical.target.wants/
94 /sbin/ldconfig
95 systemctl daemon-reload
96
97 %preun
98 if [ $1 == 0 ]; then
99     systemctl stop context-service
100 fi
101
102 %postun
103 rm -f %{_unitdir}/graphical.target.wants/context-service.service
104 systemctl daemon-reload
105 /sbin/ldconfig
106
107 %files
108 %manifest packaging/%{name}.manifest
109 %defattr(-,root,root,-)
110 %{_bindir}/*
111 %{_unitdir}/context-service.service
112 %{_datadir}/license/%{name}
113 %{_datadir}/packages/*.xml