[Tizen] Remove profile build dependencies
[platform/core/pim/calendar-service.git] / packaging / calendar-service.spec
1 # Do not create provides fro extension-tv because the main package
2 # should anchor any reverse-dependencies
3 %global __provides_exclude_from ^(.*\\.tv)$
4
5 Name:       calendar-service
6 Summary:    DB library for calendar
7 Version:    0.1.175
8 Release:    1
9 Group:      System/Libraries
10 License:    Apache-2.0
11 Source0:    %{name}-%{version}.tar.gz
12 Source1:    %{name}d.service
13 Source2:    org.tizen.CalendarService.dbus.service
14 Source1001: %{name}.manifest
15 Source1002: %{name}.conf.in
16 Source2001: ALARM.a%{name}.service
17 BuildRequires: cmake
18 BuildRequires: pkgconfig(db-util)
19 BuildRequires: pkgconfig(sqlite3)
20 BuildRequires: pkgconfig(glib-2.0)
21 BuildRequires: pkgconfig(dlog)
22 BuildRequires: pkgconfig(vconf)
23 BuildRequires: pkgconfig(icu-i18n)
24 BuildRequires: pkgconfig(alarm-service)
25 BuildRequires: pkgconfig(libtzplatform-config)
26 BuildRequires: pkgconfig(capi-base-common)
27 BuildRequires: pkgconfig(capi-appfw-application)
28 BuildRequires: pkgconfig(libsmack)
29 BuildRequires: pkgconfig(capi-system-info)
30 Requires(post): /sbin/ldconfig
31 Requires(postun): /sbin/ldconfig
32
33 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
34 # TV profile does not have contacts-service2.
35 # if wearable, ivi, common, mobile ||"undefined"
36 %if "%{?profile}" != "tv"
37 BuildRequires: pkgconfig(accounts-svc)
38 BuildRequires: pkgconfig(contacts-service2)
39 %endif
40
41 %description
42 Calendar Service for using Calendar DB
43
44 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
45 # Dummy contacts for TV product optimization.
46 # Note that even if it includes contacts-service2, the behavior is not chanaged
47 # because the code determines profile at runtime.
48 # if tv ||"undefined"
49 %if "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common" && "%{?profile}" != "mobile"
50 %package extension-tv
51 Summary:        Extension for TV
52 Requires:       %{name} = %{version}-%{release}
53 Source3:        dummy_account.h
54 Source4:        dummy_contacts.h
55 %description extension-tv
56 Calendar Service for using Dummy contacts for TV
57 %endif
58
59 %define _dbus_interface org.tizen.CalendarService.dbus
60 %define upgrade_script_path /usr/share/upgrade/scripts
61
62
63 %package devel
64 Summary:    DB library for calendar
65 Group:      Development/Libraries
66 Requires:   %{name} = %{version}-%{release}
67 Requires:   pkgconfig(alarm-service)
68
69 %description devel
70 Calendar Service for using Calendar DB(development Kit)
71
72
73 %prep
74 %setup -q
75 chmod g-w %_sourcedir/*
76 cp %SOURCE1001 .
77
78
79 %build
80
81 export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
82 export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
83 export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
84
85 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
86
87 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
88 # if tv ||"undefined"
89 %if "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common" && "%{?profile}" != "mobile"
90 # extension-tv
91 cp %SOURCE3 server/account.h
92 cp %SOURCE4 server/contacts.h
93 %cmake . -DMAJORVER=${MAJORVER} -DFULLVER=%{version} -DBIN_INSTALL_DIR:PATH=%{_bindir} \
94                 -DDBUS_INTERFACE=%{_dbus_interface} \
95                 -DTIZEN_WITHOUT_CONTACTS="1"
96
97 make %{?jobs:-j%jobs}
98
99 %make_install
100 mkdir -p build_tv
101 mv %{buildroot}%{_bindir}/calendar-serviced* build_tv/
102 mv %{buildroot}%{_libdir}/lib%{name}2.so.* build_tv/
103 %endif
104
105 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
106 # TV profile does not have contacts-service2.
107 # if wearable, ivi, common, mobile ||"undefined"
108 %if "%{?profile}" != "tv"
109 # non-TV
110 %cmake . -DMAJORVER=${MAJORVER} -DFULLVER=%{version} -DBIN_INSTALL_DIR:PATH=%{_bindir} \
111                 -DDBUS_INTERFACE=%{_dbus_interface} \
112                 -DTIZEN_WITHOUT_CONTACTS="0"
113
114 make %{?jobs:-j%jobs}
115 %endif
116
117 %install
118 rm -rf %{buildroot}
119 %make_install
120
121 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
122 # if tv ||"undefined"
123 %if "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common" && "%{?profile}" != "mobile"
124 # extension-tv
125 cp -f build_tv/calendar-serviced %{buildroot}%{_bindir}/calendar-serviced.tv
126 pushd build_tv
127 for FILE in lib%{name}2.so.*; do cp -f "$FILE" "%{buildroot}%{_libdir}/$FILE.tv"; done
128 popd
129 %endif
130
131 mkdir -p %{buildroot}%{upgrade_script_path}
132 cp -f scripts/500.%{name}.sh %{buildroot}%{upgrade_script_path}
133
134 mkdir -p %{buildroot}%{_unitdir_user}/default.target.wants
135 install -m 0644 %SOURCE1 %{buildroot}%{_unitdir_user}
136
137 mkdir -p %{buildroot}%{_datadir}/dbus-1/services
138 install -m 0644 %SOURCE2 %{buildroot}%{_datadir}/dbus-1/services
139
140 mkdir -p %{buildroot}/%{_sysconfdir}/dbus-1/session.d
141 sed -i 's/@DBUS_INTERFACE@/%{_dbus_interface}/g' %SOURCE1002
142 install -m 0644 %SOURCE1002 %{buildroot}%{_sysconfdir}/dbus-1/session.d/%{name}.conf
143
144 # alarm dbus service file
145 mkdir -p %{buildroot}%{_datadir}/dbus-1/services
146 install -m 0644 %SOURCE2001 %{buildroot}%{_datadir}/dbus-1/services
147
148
149 %post -p /sbin/ldconfig
150
151
152 %postun -p /sbin/ldconfig
153
154
155 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
156 # if tv ||"undefined"
157 %if "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common" && "%{?profile}" != "mobile"
158
159 %post extension-tv
160 pushd %{_bindir}
161 for FILE in calendar-serviced*.tv; do ln -sf "$FILE" "${FILE%.tv}"; done
162 popd
163 pushd %{_libdir}
164 for FILE in lib%{name}2.so.*.tv; do ln -sf "$FILE" "${FILE%.tv}"; done
165 popd
166 /sbin/ldconfig
167
168 %preun extension-tv
169 case "$1" in
170   0)
171     # This is an un-installation.
172         rm %{_bindir}/calendar-serviced*
173         rm %{_libdir}/lib%{name}2.so.*
174         /sbin/ldconfig
175   ;;
176   1)
177     # This is an upgrade.
178     # Do nothing.
179     :
180   ;;
181 esac
182
183 %files extension-tv
184 %manifest %{name}.manifest
185 %defattr(-,root,root,-)
186 %{_bindir}/calendar-serviced*.tv
187 %{_libdir}/lib%{name}2.so.*.tv
188 %endif
189
190
191 %files
192 %manifest %{name}.manifest
193 %defattr(-,root,root,-)
194 %{_bindir}/calendar-serviced*
195 %{_libdir}/lib%{name}2.so.*
196 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
197 # if tv ||"undefined"
198 %if "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common" && "%{?profile}" != "mobile"
199 # extension-tv
200 %exclude %{_bindir}/calendar-serviced*.tv
201 %exclude %{_libdir}/lib%{name}2.so.*.tv
202 %endif
203 %{_unitdir_user}/%{name}d.service
204 %{_datadir}/dbus-1/services/%{_dbus_interface}.service
205 %config %{_sysconfdir}/dbus-1/session.d/%{name}.conf
206 %{_datadir}/dbus-1/services/ALARM.acalendar-service.service
207 %license LICENSE.APLv2
208 %{upgrade_script_path}/500.%{name}.sh
209
210 %files devel
211 %defattr(-,root,root,-)
212 %{_includedir}/calendar-service2/*.h
213 %{_libdir}/*.so
214 %{_libdir}/pkgconfig/calendar-service2.pc