Migrate to openssl3
[platform/core/security/drm-service-core-tizen.git] / packaging / drm-service-core-tizen.spec
old mode 100644 (file)
new mode 100755 (executable)
index 8a82346..d606340
+%define test_build_drm_service_core_tizen 0
+
 Name:       drm-service-core-tizen
-Summary:    The plugin library for installing drm-service-core-tizen.so
-Version:    0.2.9
+Summary:    Tizen Application DRM library (Shared Object)
+Version:    0.3.9
 Release:    0
-Group:      TO_BE/FILLED_IN
-License:    Flora
+Group:      System/Security
+License:    Flora-1.1 and Apache-2.0
 Source0:    %{name}-%{version}.tar.gz
 BuildRequires:  cmake
+BuildRequires:  pkgconfig(dlog)
+BuildRequires:  pkgconfig(sqlite3)
+BuildRequires:  pkgconfig(glib-2.0)
+BuildRequires:  pkgconfig(openssl3)
+BuildRequires:  pkgconfig(cryptsvc)
+BuildRequires:  pkgconfig(libtzplatform-config)
+
+%global ro_share_dir %{?TZ_SYS_RO_SHARE:%TZ_SYS_RO_SHARE}%{!?TZ_SYS_RO_SHARE:%_datadir}
+%global bin_dir %{?TZ_SYS_BIN:%TZ_SYS_BIN}%{!?TZ_SYS_BIN:%_bindir}
+%global ro_data_dir %{ro_share_dir}/tizen_app_drm
 
-Provides: libdrm-service-core-tizen.so.0
+%global sys_home %{?TZ_SYS_HOME:%TZ_SYS_HOME}%{!?TZ_SYS_HOME:/opt/usr/home}
+%global test_data_dir %{sys_home}/drm_test
 
-Requires(post): /sbin/ldconfig  
-Requires(postun): /sbin/ldconfig
+%global db_dir %{?TZ_SYS_DB:%TZ_SYS_DB}%{!?TZ_SYS_DB:/opt/dbspace}
 
 %description
-The plugin library for installing drm-service-core-tizen.so
+Description: Tizen Application DRM library (Shared Object)
 
 %package devel
-Summary:    The plugin library for drm-service-core-tizen (Development)
-Group:      TO_BE/FILLED_IN
+Summary:    Tizen Application DRM library (Shared Object)
+Group:      Development/Libraries
 Requires:   %{name} = %{version}-%{release}
 
 %description devel
-The plugin library for installing drm-service-core-tizen.so and header files.
+Description: Tizen Application DRM library (Shared Object)
+
+%if 0%{?test_build_drm_service_core_tizen}
+%package test
+Summary:    Tizen Application DRM library (test)
+Group:      System/Misc
+Requires:   %{name} = %{version}-%{release}
+
+%description test
+Description: Tizen Applicationi DRM library (test)
+%endif
 
 %prep
 %setup -q
 
 %build
-%ifarch %{arm}
-cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DARCH=arm
-%else
-cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DARCH=ix86
+export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
+export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
+export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
+export LDFLAGS="$LDFLAGS -Wl,--rpath=%{_litdir}"
+# To suppress the build warning in test code
+%if 0%{?test_build_drm_service_core_tizen}
+export CFLAGS="$CFLAGS -Wno-stringop-truncation -Wno-stringop-overflow -Wno-format-overflow"
+export CXXFLAGS="$CXXFLAGS -Wno-stringop-truncation -Wno-stringop-overflow -Wno-format-overflow"
 %endif
-make
-#make %{?jobs:-j%jobs}
 
-%install
-rm -rf %{buildroot}
+MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
+%cmake .  -DFULLVER=%{version} \
+        -DMAJORVER=${MAJORVER} \
+%if 0%{?test_build_drm_service_core_tizen}
+        -DBUILD_TEST_DRM_SERVICE_CORE_TIZEN=1 \
+        -DTEST_DATA_DIR=%{test_data_dir} \
+%endif
+        -DBIN_DIR=%{bin_dir} \
+        -DRO_DATA_DIR=%{ro_data_dir} \
+        -DDB_DIR=%{db_dir} \
+        -DCMAKE_BUILD_TYPE=%{?build_type:%build_type}%{!?build_type:RELEASE}
+
+make %{?_smp_mflags}
 
+%install
 %make_install
 
 %post
-/bin/rm -f /etc/ld.so.cache
+%{bin_dir}/rm -f /etc/ld.so.cache
 /sbin/ldconfig
-
-%{_bindir}/drm_tizen_initialize
-
-ln -s -f %{_libdir}/libdrm-service-core-tizen.so.0.2.9 %{_libdir}/libdrm-service-core-tizen.so.0
-ln -s -f %{_libdir}/libdrm-service-core-tizen.so.0 %{_libdir}/libdrm-service-core-tizen.so
+%{bin_dir}/drm_tizen_initialize
+chsmack -a "System" %{db_dir}/.dtapps.db*
+chown app_fw:app_fw %{db_dir}/.dtapps.db*
+chmod 600 %{db_dir}/.dtapps.db*
 
 %postun -p /sbin/ldconfig
 
 %files
-%manifest drm-service-core-tizen.manifest
-%defattr(-,root,root,-)
-%{_libdir}/libdrm-service-core-tizen.so*
-%{_bindir}/drm_tizen_initialize
+%manifest %{name}.manifest
+%license LICENSE.*
+%{_libdir}/lib%{name}.so.*
+%{bin_dir}/drm_tizen_initialize
+%{ro_data_dir}/root_certs/ro_root_cert.pem
 
 %files devel
-%defattr(-,root,root,-)
-%{_libdir}/pkgconfig/drm-service-core-tizen.pc
-%{_includedir}/drm-tizen/drm-oem-sapps.h
-
-%clean
-rm -rf drm_tizen_initialize
-rm -rf libdrm-service-core-tizen.so*
+%{_libdir}/pkgconfig/%{name}.pc
+%{_libdir}/lib%{name}.so
+%{_includedir}/drm-tizen/drm-tizen-apps.h
+%{_includedir}/drm-tizen/drm-tizen-error.h
+
+%if 0%{?test_build_drm_service_core_tizen}
+%files test
+%{bin_dir}/drm_test_tizen
+%{test_data_dir}/RO
+%{test_data_dir}/DCF
+%{test_data_dir}/DecryptedApp
+%{test_data_dir}/Key
+%{ro_data_dir}/root_certs/ro_test_root_ca.pem
+%endif