+%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