Exclude ASAN build until applying iotivity upstream patchset
[platform/upstream/iotivity.git] / packaging / iotivity.spec
old mode 100644 (file)
new mode 100755 (executable)
index 78cf331..01a20a4
@@ -1,9 +1,9 @@
 Name: iotivity
 Version: 1.2.1
 Release: 0
-Summary: IoT Connectivity sponsored by the OCF
+Summary: Samsung IoT Connectivity
 Group: Network & Connectivity / IoT Connectivity
-License: Apache-2.0 and BSD-2-Clause and (MIT or BSL-1.0) and MIT
+License: Apache-2.0
 URL: https://www.iotivity.org/
 Source0: http://mirrors.kernel.org/%{name}/%{version}/%{name}-%{version}.tar.gz
 Source1001: %{name}.manifest
@@ -27,8 +27,12 @@ Source1002: %{name}-test.manifest
 %define TARGET_TRANSPORT IP
 %endif
 
-%if "%{TARGET_OS}" == "tizen"
-%define TARGET_TRANSPORT IP
+%define JOB "-j4"
+%if 0%{?speedpython}
+%define JOB %{?_smp_mflags}
+%endif
+%if 0%{?speedpython:1} && 0%{?en_speedpython:1}
+%en_speedpython
 %endif
 
 # default is RELEASE mode.
@@ -42,11 +46,9 @@ Source1002: %{name}-test.manifest
 %endif
 
 %ifarch armv7l armv7hl armv7nhl armv7tnhl armv7thl
-BuildRequires: python-accel-armv7l-cross-arm
 %define TARGET_ARCH "armeabi-v7a"
 %endif
 %ifarch aarch64
-BuildRequires: python-accel-aarch64-cross-aarch64
 %define TARGET_ARCH "arm64"
 %endif
 %ifarch x86_64
@@ -58,6 +60,16 @@ BuildRequires: python-accel-aarch64-cross-aarch64
 
 %define ex_install_dir %{buildroot}%{_bindir}
 
+%if 0%{?tizen_version_major} < 3
+%if ! 0%{?license:0}
+%define license %doc
+%endif
+
+%if ! 0%{?manifest:0}
+%define manifest %doc
+%endif
+%endif
+
 # Default values to be eventually overiden BEFORE or as gbs params:
 %{!?ES_TARGET_ENROLLEE: %define ES_TARGET_ENROLLEE tizen}
 %{!?LOGGING: %define LOGGING 1}
@@ -67,12 +79,17 @@ BuildRequires: python-accel-aarch64-cross-aarch64
 %{!?SECURED: %define SECURED 1}
 %{!?TARGET_ARCH: %define TARGET_ARCH %{_arch}}
 %{!?TARGET_OS: %define TARGET_OS tizen}
-%{!?TARGET_TRANSPORT: %define TARGET_TRANSPORT IP,BT}
+%{!?TARGET_TRANSPORT: %define TARGET_TRANSPORT IP,BLE}
 %{!?VERBOSE: %define VERBOSE 1}
-%{!?WITH_CLOUD: %define WITH_CLOUD 0}
+%{!?WITH_CLOUD: %define WITH_CLOUD 1}
 %{!?WITH_MQ: %define WITH_MQ OFF}
 %{!?WITH_PROXY: %define WITH_PROXY 0}
 %{!?WITH_TCP: %define WITH_TCP 1}
+%{!?RD_MODE: %define RD_MODE CLIENT}
+%{!?BLE_CUSTOM_ADV: %define BLE_CUSTOM_ADV False}
+%{!?BLE_DIVISION: %define BLE_DIVISION VD}
+%{!?BLE_TIZEN_30: %define BLE_TIZEN_30 True}
+%{!?MULTIPLE_OWNER: %define MULTIPLE_OWNER 0}
 
 BuildRequires:  expat-devel
 BuildRequires:  python, libcurl-devel
@@ -137,24 +154,7 @@ developing applications that use %{name}.
 %setup -q
 chmod g-w %_sourcedir/*
 
-find . \
-     -iname "LICEN*E*"  \
-     -o -name "*BSD*" \
-     -o -name "*COPYING*" \
-     -o -name "*GPL*" \
-     -o -name "*MIT*" \
-     | sort | uniq \
-     | grep -v 'libcoap-4.1.1/LICENSE.GPL'  \
-     | while read file ; do \
-          dir=$(dirname -- "$file")
-          echo "Files: ${dir}/*"
-          echo "License: ${file}"
-          sed 's/^/ /' "${file}"
-          echo ""
-          echo ""
-     done > tmp.tmp && mv tmp.tmp LICENSE
-
-cat LICENSE
+cp LICENSE.md LICENSE
 
 cp %{SOURCE1001} .
 %if 0%{?tizen_version_major} < 3
@@ -163,9 +163,12 @@ cp %{SOURCE1002} .
 cp %{SOURCE1001} ./%{name}-test.manifest
 %endif
 
-
 %build
-scons --prefix=%{_prefix} \
+# Exclude ASAN build
+# After applying github patchset, we will remove this line
+%{?asan:/usr/bin/gcc-unforce-options}
+
+scons %{JOB} --prefix=%{_prefix} \
     ES_TARGET_ENROLLEE=%{ES_TARGET_ENROLLEE} \
     LIB_INSTALL_DIR=%{_libdir} \
     LOGGING=%{LOGGING} \
@@ -181,11 +184,20 @@ scons --prefix=%{_prefix} \
     WITH_MQ=%{WITH_MQ} \
     WITH_PROXY=%{WITH_PROXY} \
     WITH_TCP=%{WITH_TCP} \
+    RD_MODE=%{RD_MODE} \
+    BLE_CUSTOM_ADV=%{BLE_CUSTOM_ADV} \
+    BLE_DIVISION=%{BLE_DIVISION} \
+    BLE_TIZEN_30=%{BLE_TIZEN_30} \
+    MULTIPLE_OWNER=%{MULTIPLE_OWNER} \
     #eol
 
 
 
 %install
+%if 0%{?tizen_version_major} < 3
+mkdir -p %{buildroot}/%{_datadir}/license
+cp LICENSE %{buildroot}/%{_datadir}/license/%{name}
+%endif
 rm -rf %{buildroot}
 CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ;
 scons install --install-sandbox=%{buildroot} --prefix=%{_prefix} \
@@ -204,32 +216,38 @@ scons install --install-sandbox=%{buildroot} --prefix=%{_prefix} \
     WITH_MQ=%{WITH_MQ} \
     WITH_PROXY=%{WITH_PROXY} \
     WITH_TCP=%{WITH_TCP} \
+    RD_MODE=%{RD_MODE} \
+    BLE_CUSTOM_ADV=%{BLE_CUSTOM_ADV} \
+    BLE_DIVISION=%{BLE_DIVISION} \
+    BLE_TIZEN_30=%{BLE_TIZEN_30} \
+    MULTIPLE_OWNER=%{MULTIPLE_OWNER} \
     #eol
 
 mkdir -p %{ex_install_dir}
-cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/examples/OICMiddle/OICMiddle %{ex_install_dir}
-cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/devicediscoveryclient %{ex_install_dir}
-cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/devicediscoveryserver %{ex_install_dir}
-cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/fridgeclient %{ex_install_dir}
-cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/fridgeserver %{ex_install_dir}
-cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/garageclient %{ex_install_dir}
-cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/garageserver %{ex_install_dir}
-cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/groupclient %{ex_install_dir}
-cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/groupserver %{ex_install_dir}
-cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/lightserver %{ex_install_dir}
-cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/presenceclient %{ex_install_dir}
-cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/presenceserver %{ex_install_dir}
-cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/roomclient %{ex_install_dir}
-cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/roomserver %{ex_install_dir}
-cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/simpleclient %{ex_install_dir}
-cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/simpleclientHQ %{ex_install_dir}
-cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/simpleclientserver %{ex_install_dir}
-cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/simpleserver %{ex_install_dir}
-cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/simpleserverHQ %{ex_install_dir}
-cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/threadingsample %{ex_install_dir}
-cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/oic_svr_db_server.dat %{ex_install_dir}
-cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/oic_svr_db_client.dat %{ex_install_dir}
-cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/libcoap.a %{buildroot}%{_libdir}
+#cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/examples/OICMiddle/OICMiddle %{ex_install_dir}
+#cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/devicediscoveryclient %{ex_install_dir}
+#cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/devicediscoveryserver %{ex_install_dir}
+#cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/fridgeclient %{ex_install_dir}
+#cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/fridgeserver %{ex_install_dir}
+#cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/garageclient %{ex_install_dir}
+#cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/garageserver %{ex_install_dir}
+#cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/groupclient %{ex_install_dir}
+#cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/groupserver %{ex_install_dir}
+#cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/lightserver %{ex_install_dir}
+#cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/presenceclient %{ex_install_dir}
+#cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/presenceserver %{ex_install_dir}
+#cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/roomclient %{ex_install_dir}
+#cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/roomserver %{ex_install_dir}
+#cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/simpleclient %{ex_install_dir}
+#cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/simpleclientHQ %{ex_install_dir}
+#cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/simpleclientserver %{ex_install_dir}
+#cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/simpleserver %{ex_install_dir}
+#cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/simpleserverHQ %{ex_install_dir}
+#cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/threadingsample %{ex_install_dir}
+#cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/oic_svr_db_server.dat %{ex_install_dir}
+#cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/examples/oic_svr_db_client.dat %{ex_install_dir}
+#cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/libcoap.a %{buildroot}%{_libdir}
+cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/lib*.a  %{buildroot}%{_libdir}
 
 %if 0%{?WITH_PROXY} == 1
 mkdir -p %{ex_install_dir}/proxy-sample
@@ -240,26 +258,31 @@ cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/service/coap-http-proxy/samples
 mkdir -p %{ex_install_dir}/provisioning
 mkdir -p %{ex_install_dir}/provision-sample
 
-
+cp -R ./extlibs/mbedtls/mbedtls/include/mbedtls/ %{buildroot}%{_includedir}/mbedtls
 cp ./resource/csdk/security/include/*.h %{buildroot}%{_includedir}
 cp ./resource/csdk/connectivity/api/*.h %{buildroot}%{_includedir}/
 cp ./resource/csdk/security/include/internal/*.h %{buildroot}%{_includedir}/
 cp ./resource/csdk/security/provisioning/include/oxm/*.h %{buildroot}%{_includedir}
 cp ./resource/csdk/security/provisioning/include/internal/*.h %{buildroot}%{_includedir}
 cp ./resource/csdk/security/provisioning/include/*.h %{buildroot}%{_includedir}
-cp ./resource/csdk/security/provisioning/sample/oic_svr_db_server_justworks.dat %{buildroot}%{_libdir}/oic_svr_db_server.dat
 cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/csdk/security/provisioning/sample/sampleserver_justworks %{ex_install_dir}/provision-sample/
 cp ./resource/csdk/security/provisioning/sample/oic_svr_db_server_justworks.dat %{ex_install_dir}/provision-sample/
 cp out/%{TARGET_OS}/%{TARGET_ARCH}/%{build_mode}/resource/csdk/security/provisioning/sample/sampleserver_randompin %{ex_install_dir}/provision-sample/
 cp ./resource/csdk/security/provisioning/sample/oic_svr_db_server_randompin.dat %{ex_install_dir}/provision-sample/
+
 %endif
 
 cp resource/c_common/*.h %{buildroot}%{_includedir}
+cp resource/c_common/ocrandom/include/*.h %{buildroot}%{_includedir}
+cp resource/c_common/oic_string/include/*.h %{buildroot}%{_includedir}
+cp resource/c_common/oic_malloc/include/*.h %{buildroot}%{_includedir}
 cp resource/csdk/stack/include/*.h %{buildroot}%{_includedir}
 cp resource/csdk/logger/include/*.h %{buildroot}%{_includedir}
 
 cp service/easy-setup/inc/*.h %{buildroot}%{_includedir}
 cp service/easy-setup/enrollee/inc/*.h %{buildroot}%{_includedir}
+cp service/easy-setup/mediator/richsdk/inc/*.h %{buildroot}%{_includedir}
+cp service/easy-setup/enrollee/inc/samsung/*.h %{buildroot}%{_includedir}
 
 install -d %{buildroot}%{_includedir}/iotivity
 ln -fs ../resource %{buildroot}%{_includedir}/iotivity/
@@ -276,31 +299,40 @@ rm -rfv out %{buildroot}/out %{buildroot}/${HOME} ||:
 %files
 %manifest %{name}.manifest
 %defattr(-,root,root,-)
+%if 0%{?tizen_version_major} < 3
+%{_datadir}/license/%{name}
+%else
 %license LICENSE
+%endif
 %{_libdir}/liboc.so
 %{_libdir}/liboc_logger.so
 %{_libdir}/liboc_logger_core.so
 %{_libdir}/liboctbstack.so
 %{_libdir}/libconnectivity_abstraction.so
 %if 0%{?SECURED} == 1
+%{_libdir}/libmbedtls.so
 %{_libdir}/libocpmapi.so
 %{_libdir}/libocprovision.so
-%{_libdir}/oic_svr_db_server.dat
 %endif
 
 %files service
 %manifest %{name}.manifest
 %defattr(-,root,root,-)
+%if 0%{?tizen_version_major} < 3
+%{_datadir}/license/%{name}
+%else
 %license LICENSE
-%{_libdir}/libBMISensorBundle.so
-%{_libdir}/libDISensorBundle.so
-%{_libdir}/libHueBundle.so
+%endif
+#%{_libdir}/libBMISensorBundle.so
+#%{_libdir}/libDISensorBundle.so
+#%{_libdir}/libHueBundle.so
 %{_libdir}/librcs_client.so
 %{_libdir}/librcs_common.so
-%{_libdir}/librcs_container.so
+#%{_libdir}/librcs_container.so
 %{_libdir}/librcs_server.so
 %{_libdir}/libresource_directory.so
 %{_libdir}/libESEnrolleeSDK.so
+%{_libdir}/libESMediatorRich.so
 %{_libdir}/libnotification*.so
 %if 0%{?WITH_PROXY} == 1
 %{_libdir}/libcoap_http_proxy.so
@@ -312,12 +344,23 @@ rm -rfv out %{buildroot}/out %{buildroot}/${HOME} ||:
 %files test
 %manifest %{name}-test.manifest
 %defattr(-,root,root,-)
+%if 0%{?tizen_version_major} < 3
+%{_datadir}/license/%{name}
+%else
 %license LICENSE
+%endif
 %{_bindir}/*
 
 %files devel
 %defattr(-,root,root,-)
+%if 0%{?tizen_version_major} < 3
+%{_datadir}/license/%{name}
+%else
 %license LICENSE
-%{_libdir}/lib*.a
+%endif
+%if 0%{?SECURED} == 1
+%{_libdir}/libmbedtls.so
+%endif
+%{_libdir}/*.a
 %{_libdir}/pkgconfig/%{name}.pc
 %{_includedir}/*