revise spec file
[platform/upstream/iotivity.git] / packaging / iotivity.spec
1 Name: iotivity
2 Version: 0.9.2
3 Release: 0
4 Summary: IoTivity Base Stack & IoTivity Services
5 Group: Network & Connectivity/Other
6 License: Apache-2.0
7 URL: https://www.iotivity.org/
8 Source0: %{name}-%{version}.tar.bz2
9 Source1001: %{name}.manifest
10 Source1002: %{name}-test.manifest
11 BuildRequires:  gettext, expat-devel
12 BuildRequires:  python, libcurl-devel
13 BuildRequires:  scons
14 BuildRequires:  openssl-devel
15 BuildRequires:  boost-devel
16 BuildRequires:  boost-thread
17 BuildRequires:  boost-system
18 BuildRequires:  boost-filesystem
19 BuildRequires:  pkgconfig(dlog)
20 BuildRequires:  pkgconfig(uuid)
21 BuildRequires:  pkgconfig(capi-network-wifi)
22 BuildRequires:  pkgconfig(capi-network-bluetooth)
23 BuildRequires:  pkgconfig(capi-appfw-app-common)
24 Requires(postun): /sbin/ldconfig
25 Requires(post): /sbin/ldconfig
26
27 %define release_mode true
28
29 %description
30 IoTivity Base (RICH & LITE) Stack & IoTivity Services
31
32 %package service
33 Summary: Development files for %{name}
34 Group: Network & Connectivity/Service
35 Requires: %{name} = %{version}
36
37 %description service
38 The %{name}-service package contains service libraries files for
39 developing applications that use %{name}-service.
40
41 %package test
42 Summary: Development files for %{name}
43 Group: Network & Connectivity/Testing
44 Requires: %{name} = %{version}
45
46 %description test
47 The %{name}-test package contains example files to show
48 how the iotivity works using %{name}-test
49
50 %package devel
51 Summary: Development files for %{name}
52 Group: Network & Connectivity/Development
53 Requires: %{name} = %{version}
54
55 %description devel
56 The %{name}-devel package contains libraries and header files for
57 developing applications that use %{name}.
58
59 %prep
60 %setup -q -n %{name}-%{version}
61 cp LICENSE.md LICENSE.APLv2
62 cp %{SOURCE1001} .
63 %if 0%{?tizen_version_major} < 3
64 cp %{SOURCE1002} .
65 %else
66 cp %{SOURCE1001} ./%{name}-test.manifest
67 %endif
68
69 %build
70 %define RPM_ARCH %{_arch}
71
72 %ifarch armv7l armv7l armv7hl armv7nhl armv7tnhl armv7thl
73 %define RPM_ARCH "armeabi-v7a"
74 %endif
75
76 %ifarch aarch64
77 %define RPM_ARCH "arm64"
78 %endif
79
80 %ifarch x86_64
81 %define RPM_ARCH "x86_64"
82 %endif
83
84 %ifarch %{ix86}
85 %define RPM_ARCH "x86"
86 %endif
87
88
89 scons -j 4 TARGET_OS=tizen TARGET_ARCH=%{RPM_ARCH} TARGET_TRANSPORT=IP RELEASE=%{release_mode}
90
91 %install
92 rm -rf %{buildroot}
93 mkdir -p %{buildroot}%{_includedir}
94 mkdir -p %{buildroot}%{_libdir}
95 mkdir -p %{buildroot}%{_bindir}
96
97 %if %{release_mode} == "true"
98 %define out_mode release
99 %else
100 %define out_mode debug
101 %endif
102
103 cp out/tizen/*/%{out_mode}/resource/examples/devicediscoveryclient %{buildroot}%{_bindir}
104 cp out/tizen/*/%{out_mode}/resource/examples/devicediscoveryserver %{buildroot}%{_bindir}
105 cp out/tizen/*/%{out_mode}/resource/examples/fridgeclient %{buildroot}%{_bindir}
106 cp out/tizen/*/%{out_mode}/resource/examples/fridgeserver %{buildroot}%{_bindir}
107 cp out/tizen/*/%{out_mode}/resource/examples/garageclient %{buildroot}%{_bindir}
108 cp out/tizen/*/%{out_mode}/resource/examples/garageserver %{buildroot}%{_bindir}
109 cp out/tizen/*/%{out_mode}/resource/examples/groupclient %{buildroot}%{_bindir}
110 cp out/tizen/*/%{out_mode}/resource/examples/groupserver %{buildroot}%{_bindir}
111 cp out/tizen/*/%{out_mode}/resource/examples/lightserver %{buildroot}%{_bindir}
112 cp out/tizen/*/%{out_mode}/resource/examples/presenceclient %{buildroot}%{_bindir}
113 cp out/tizen/*/%{out_mode}/resource/examples/presenceserver %{buildroot}%{_bindir}
114 cp out/tizen/*/%{out_mode}/resource/examples/roomclient %{buildroot}%{_bindir}
115 cp out/tizen/*/%{out_mode}/resource/examples/roomserver %{buildroot}%{_bindir}
116 cp out/tizen/*/%{out_mode}/resource/examples/simpleclient %{buildroot}%{_bindir}
117 cp out/tizen/*/%{out_mode}/resource/examples/simpleclientHQ %{buildroot}%{_bindir}
118 cp out/tizen/*/%{out_mode}/resource/examples/simpleclientserver %{buildroot}%{_bindir}
119 cp out/tizen/*/%{out_mode}/resource/examples/simpleserver %{buildroot}%{_bindir}
120 cp out/tizen/*/%{out_mode}/resource/examples/simpleserverHQ %{buildroot}%{_bindir}
121 cp out/tizen/*/%{out_mode}/resource/examples/threadingsample %{buildroot}%{_bindir}
122 cp out/tizen/*/%{out_mode}/lib*.so %{buildroot}%{_libdir}
123 cp out/tizen/*/%{out_mode}/libSSMSDK.a %{buildroot}%{_libdir}
124 cp out/tizen/*/%{out_mode}/libppm.a %{buildroot}%{_libdir}
125 cp out/tizen/*/%{out_mode}/service/protocol-plugin/plugins/mqtt-fan/*.so %{buildroot}%{_libdir}
126 cp out/tizen/*/%{out_mode}/service/protocol-plugin/plugins/mqtt-light/*.so %{buildroot}%{_libdir}
127
128 cp resource/csdk/stack/include/*.h %{buildroot}%{_includedir}
129 cp resource/csdk/logger/include/*.h %{buildroot}%{_includedir}
130 cp resource/csdk/ocrandom/include/*.h %{buildroot}%{_includedir}
131 cp -r resource/oc_logger/include/* %{buildroot}%{_includedir}
132 cp resource/include/*.h %{buildroot}%{_includedir}
133
134 cp service/things-manager/sdk/inc/*.h %{buildroot}%{_includedir}
135 cp service/soft-sensor-manager/SDK/cpp/include/*.h %{buildroot}%{_includedir}
136 cp service/protocol-plugin/plugin-manager/src/*.h %{buildroot}%{_includedir}
137
138 %if 0%{?tizen_version_major} < 3
139 mkdir -p %{buildroot}/%{_datadir}/license
140 cp LICENSE.APLv2 %{buildroot}/%{_datadir}/license/%{name}
141 cp LICENSE.APLv2 %{buildroot}/%{_datadir}/license/%{name}-service
142 cp LICENSE.APLv2 %{buildroot}/%{_datadir}/license/%{name}-test
143 %endif
144
145 %post -p /sbin/ldconfig
146
147 %postun -p /sbin/ldconfig
148
149 %files
150 %manifest %{name}.manifest
151 %defattr(-,root,root,-)
152 %{_libdir}/liboc.so
153 %{_libdir}/liboc_logger.so
154 %{_libdir}/liboc_logger_core.so
155 %{_libdir}/liboctbstack.so
156 %{_libdir}/libconnectivity_abstraction.so
157 %if 0%{?tizen_version_major} < 3
158 %{_datadir}/license/%{name}
159 %else
160 %license LICENSE.APLv2
161 %endif
162
163 %files service
164 %manifest %{name}.manifest
165 %defattr(-,root,root,-)
166 %{_libdir}/libBMISensor.so
167 %{_libdir}/libDiscomfortIndexSensor.so
168 %{_libdir}/libmosquittopp.so
169 %{_libdir}/libpmimpl.so
170 %{_libdir}/libSSMCore.so
171 %{_libdir}/libTGMSDKLibrary.so
172 %{_libdir}/fanserver*.so
173 %{_libdir}/lightserver*.so
174 %if 0%{?tizen_version_major} < 3
175 %{_datadir}/license/%{name}-service
176 %else
177 %license LICENSE.APLv2
178 %endif
179
180 %files test
181 %manifest %{name}-test.manifest
182 %defattr(-,root,root,-)
183 %{_bindir}/devicediscoveryclient
184 %{_bindir}/devicediscoveryserver
185 %{_bindir}/fridgeclient
186 %{_bindir}/fridgeserver
187 %{_bindir}/garageclient
188 %{_bindir}/garageserver
189 %{_bindir}/groupclient
190 %{_bindir}/groupserver
191 %{_bindir}/lightserver
192 %{_bindir}/presenceclient
193 %{_bindir}/presenceserver
194 %{_bindir}/roomclient
195 %{_bindir}/roomserver
196 %{_bindir}/simpleclient
197 %{_bindir}/simpleclientHQ
198 %{_bindir}/simpleclientserver
199 %{_bindir}/simpleserver
200 %{_bindir}/simpleserverHQ
201 %{_bindir}/threadingsample
202 %if 0%{?tizen_version_major} < 3
203 %{_datadir}/license/%{name}-test
204 %else
205 %license LICENSE.APLv2
206 %endif
207
208 %files devel
209 %defattr(-,root,root,-)
210 %{_libdir}/lib*.a
211 %{_includedir}/*