# FOR COMMENTING DEFINITION, MUST USE %% instead of %
%global use_autostart "-DUSE_AUTOSTART=1"
#%%global test_client "-DTEST_CLIENT=1"
+%global bindir /usr/apps/%{name}
+################################################################################
+# package : smartcard-service #
+################################################################################
Name: smartcard-service
-Summary: Smartcard Service
-Version: 0.1.28
+Summary: Smartcard Service FW
+Version: 0.1.54
Release: 0
-Group: Network & Connectivity/Service
+Group: Network & Connectivity
+Requires: %{name}-common = %{version}-%{release}
License: Apache-2.0
Source0: %{name}-%{version}.tar.gz
%if 0%{!?use_autostart:1}
-Source1: smartcard-service-server.init
+Source1: %{name}.init
%endif
BuildRequires: cmake
-Source1001: %{name}.manifest
-Source1002: %{name}-devel.manifest
-Source1003: smartcard-service-common.manifest
-Source1004: smartcard-service-common-devel.manifest
-Source1005: smartcard-service-server.manifest
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gio-unix-2.0)
-BuildRequires: pkgconfig(security-server)
BuildRequires: pkgconfig(dlog)
BuildRequires: pkgconfig(aul)
BuildRequires: pkgconfig(libssl)
+BuildRequires: pkgconfig(libcrypto)
BuildRequires: pkgconfig(pkgmgr)
BuildRequires: pkgconfig(pkgmgr-info)
+BuildRequires: pkgconfig(cynara-client)
+BuildRequires: pkgconfig(cynara-creds-gdbus)
+BuildRequires: pkgconfig(cynara-session)
+
BuildRequires: python
BuildRequires: python-xml
+BuildRequires: hash-signer
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
-Requires: smartcard-service-common = %{version}-%{release}
+Requires: %{name}-common = %{version}-%{release}
+Requires: security-config
%description
-A library for Smartcard applications.
-
-
-%prep
-%setup -q
-cp %{SOURCE1001} %{SOURCE1002} %{SOURCE1003} %{SOURCE1004} %{SOURCE1005} .
-
-
-%package devel
-Summary: Smartcard service
-Group: Network & Connectivity/Development
-Requires: %{name} = %{version}-%{release}
-
-%description devel
-For developing Smartcard applications.
-
-
-%package -n smartcard-service-common
-Summary: Common smartcard service
-Group: Network & Connectivity/Service
-
-%description -n smartcard-service-common
-Common smartcard service for developing internally
-
-
-%package -n smartcard-service-common-devel
-Summary: Common smartcard service
-Group: Network & Connectivity/Development
-Requires: smartcard-service-common = %{version}-%{release}
-
-%description -n smartcard-service-common-devel
-For developing smartcard services internally.
-
-
-%package -n smartcard-service-server
-Summary: Smartcard service server
-Group: Network & Connectivity/Service
-Requires: smartcard-service-common = %{version}-%{release}
+Smartcard Service FW.
-%description -n smartcard-service-server
-Server for smartcard service
-
-%build
-MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
-%cmake . %{?use_autostart} %{?test_client} -DFULLVER=%{version} -DMAJORVER=${MAJORVER}
-
-%install
-%make_install
-%if 0%{!?use_autostart:1}
- %__mkdir -p %{buildroot}/etc/init.d/
- %__mkdir -p %{buildroot}/etc/rc.d/rc3.d/
- %__mkdir -p %{buildroot}/etc/rc.d/rc5.d/
- %__cp -af %SOURCE1 %{buildroot}/etc/init.d/smartcard-service-server
- chmod 755 %{buildroot}/etc/init.d/smartcard-service-server
+%files
+%manifest %{name}.manifest
+%license LICENSE.APLv2
+%defattr(-,root,root,-)
+%{bindir}/bin/smartcard-daemon
+%if 0%{?test_client:1}
+ %{bindir}/bin/smartcard-test-client
+%endif
+%if 0%{?use_autostart:1}
+ %{_datadir}/dbus-1/system-services/org.tizen.SmartcardService.service
+%else
+ %{_sysconfdir}/init.d/%{name}
%endif
+%{bindir}/%{name}
+%{bindir}/author-signature.xml
+%{bindir}/signature1.xml
+/etc/dbus-1/system.d/org.tizen.SmartcardService.conf
+
%post
-/sbin/ldconfig
+/usr/bin/signing-client/hash-signer-client.sh -a -d -p platform %{bindir}
%if 0%{!?use_autostart:1}
- ln -sf /etc/init.d/smartcard-service-server /etc/rc.d/rc3.d/S79smartcard-service-server
- ln -sf /etc/init.d/smartcard-service-server /etc/rc.d/rc5.d/S79smartcard-service-server
+ ln -sf /etc/init.d/%{name} /etc/rc.d/rc3.d/S79%{name}
+ ln -sf /etc/init.d/%{name} /etc/rc.d/rc5.d/S79%{name}
+%endif
+ln -sf /usr/apps/%{name}/bin/smartcard-daemon /usr/bin/smartcard-daemon
+%if 0%{?test_client:1}
+ ln -sf /usr/apps/%{name}/bin/smartcard-test-client /usr/bin/smartcard-test-client
%endif
%postun
-/sbin/ldconfig
%if 0%{!?use_autostart:1}
- rm -f /etc/rc.d/rc3.d/S79smartcard-service-server
- rm -f /etc/rc.d/rc5.d/S79smartcard-service-server
+ rm -f /etc/rc.d/rc3.d/S79%{name}
+ rm -f /etc/rc.d/rc5.d/S79%{name}
%endif
+rm -f /usr/bin/smartcard-daemon
-%post -n smartcard-service-common
-/sbin/ldconfig
-%postun -n smartcard-service-common
-/sbin/ldconfig
+################################################################################
+# package : smartcard-service-common #
+################################################################################
+%package common
+Summary: common smartcard service
+Group: Development/Libraries
-%files
-%manifest %{name}.manifest
-%defattr(-,root,root,-)
-%{_libdir}/libsmartcard-service.so.*
-%license LICENSE.APLv2
+%description common
+common smartcard service.
-%files devel
-%manifest smartcard-service-devel.manifest
+%files common
+%manifest %{name}-common.manifest
+%license LICENSE.APLv2
%defattr(-,root,root,-)
-%{_includedir}/%{name}/*
-%{_libdir}/libsmartcard-service.so
-%{_libdir}/pkgconfig/%{name}.pc
+%{_libdir}/lib%{name}-common.so.*
-%files -n smartcard-service-common
-%manifest smartcard-service-common.manifest
-%defattr(-,root,root,-)
-%{_libdir}/libsmartcard-service-common.so.*
-%license LICENSE.APLv2
+################################################################################
+# package : smartcard-service-common-devel #
+################################################################################
+%package common-devel
+Summary: common smartcard service
+Group: Development/Libraries
+Requires: %{name}-common = %{version}-%{release}
-%files -n smartcard-service-common-devel
-%manifest smartcard-service-common-devel.manifest
-%defattr(-,root,root,-)
-%{_includedir}/smartcard-service-common/*
-%{_libdir}/libsmartcard-service-common.so
-%{_libdir}/pkgconfig/smartcard-service-common.pc
+%description common-devel
+common smartcard service.
-%files -n smartcard-service-server
-%manifest smartcard-service-server.manifest
+%files common-devel
+%manifest %{name}-common-devel.manifest
%defattr(-,root,root,-)
-%{_bindir}/smartcard-daemon
-%{_datadir}/packages/smartcard-service-server.xml
-%if 0%{?test_client:1}
- %{_bindir}/smartcard-test-client
+%{_includedir}/%{name}-common/*
+%{_libdir}/lib%{name}-common.so
+%{_libdir}/pkgconfig/%{name}-common.pc
+
+###
+
+################################################################################
+# common... #
+################################################################################
+%prep
+%setup -q
+
+
+%build
+%if 0%{?sec_build_binary_debug_enable}
+export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
+export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
+export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
%endif
-%if 0%{?use_autostart:1}
- %{_datadir}/dbus-1/system-services/org.tizen.smartcard_service.service
-%else
- %{_sysconfdir}/init.d/smartcard-service-server
+export LDFLAGS+="-Wl,-Bsymbolic-functions"
+mkdir obj-arm-limux-qnueabi
+cd obj-arm-limux-qnueabi
+%cmake .. -DCMAKE_INSTALL_PREFIX=%{_prefix} %{?use_autostart} %{?use_gdbus} %{?test_client}
+
+%install
+cd obj-arm-limux-qnueabi
+%make_install
+%if 0%{!?use_autostart:1}
+ %__mkdir -p %{buildroot}/etc/init.d/
+ %__mkdir -p %{buildroot}/etc/rc.d/rc3.d/
+ %__mkdir -p %{buildroot}/etc/rc.d/rc5.d/
+ %__cp -af %SOURCE1 %{buildroot}/etc/init.d/%{name}
+ chmod 755 %{buildroot}/etc/init.d/%{name}
%endif
-%license LICENSE.APLv2
+
+mkdir -p %{buildroot}/etc/dbus-1/system.d/
+cp -af %{_builddir}/%{name}-%{version}/packaging/%{name} %{buildroot}%{bindir}
+cp -af %{_builddir}/%{name}-%{version}/packaging/org.tizen.SmartcardService.conf %{buildroot}/etc/dbus-1/system.d/
+
+%define tizen_sign 1
+%define tizen_sign_base %{bindir}
+%define tizen_sign_level platform
+%define tizen_author_sign 1
+%define tizen_dist_sign 1