[PushService] Update daemon & library to 2.4 version
[platform/core/appfw/sppc.git] / packaging / push.spec
index 1459fa1..d17f12c 100755 (executable)
+%global _support_weblog 0
+
 Name:       push
 Summary:    Push services and client library
-Version:    0.2.42
-Release:    3
-Group:      Application Framwork/Service
-License:    Flora
+Version:    0.4.09
+Release:    1
+Group:      Application Framework/Service
+License:    Apache-2.0
 Source0:    %{name}-%{version}.tar.gz
-Source1001:    libpush.manifest
-Source1002:    libpush-devel.manifest
-Source1003:    %{name}-bin.manifest
-Source1004:    %{name}-tool.manifest
-Source1005:    init_push_DB.sh
-BuildRequires: pkgconfig(libtzplatform-config)
-
+Source1:    pushd.service
+Requires(post): /sbin/ldconfig
+Requires(post): /usr/bin/sqlite3
+Requires(postun): /sbin/ldconfig
+
+%if %{_support_weblog}
+BuildRequires:  pkgconfig(zlib)
+BuildRequires:  pkgconfig(json-glib-1.0)
+%endif
 
 %description
 Push services and client library.
 
 %package -n libpush
 Summary:    Push service client library
-Group:      Application Framwork/Libraries
+Group:      Application Framework/Libraries
+Requires:   %{name}-bin = %{version}-%{release}
 Provides:   libpush.so.0
 
 %description -n libpush
 Push service client library
 
-
 %package -n libpush-devel
 Summary:    Push service client library (DEV)
-Group:      devel
+Group:      Development/Libraries
 Requires:   libpush = %{version}-%{release}
 Requires:   capi-appfw-application-devel
 
 %description -n libpush-devel
 Push service client library (DEV)
 
-
 %package bin
 Summary:    Push service daemon
-Group:      Application Framwork/Service
-Requires:   badge
+Group:      Application Framework/Service
+Requires(post): telephony-daemon
 
 %description bin
 Push service daemon
 
-
 %package tool
 Summary:    Push service tool
-Group:      devel
+Group:      Development/Tools
 Requires:   libpush = %{version}-%{release}
 Requires:   %{name}-bin = %{version}-%{release}
 
 %description tool
 Push service tool
 
-
-
 %prep
 %setup -q
-cp %{SOURCE1001} %{SOURCE1002} %{SOURCE1003} %{SOURCE1004} .
 
 %build
 
 %install
 rm -rf %{buildroot}
+mkdir -p %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants
+install -m 0644 %{SOURCE1} %{buildroot}%{_libdir}/systemd/system/pushd.service
+ln -s ../pushd.service %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/pushd.service
 
+mkdir -p %{buildroot}%{_libdir}/systemd/user/tizen-middleware.target.wants
+cp %{SOURCE1} %{buildroot}%{_libdir}/systemd/user/pushd.service
+ln -s ../pushd.service %{buildroot}%{_libdir}/systemd/user/tizen-middleware.target.wants/
+
+mkdir -p %{buildroot}/usr/share/license
+cp -f LICENSE %{buildroot}/usr/share/license/%{name}
+
+%if %{_support_weblog}
+cp -a share/push/push_sslkey.pem %{buildroot}/usr/share/push/
+cp -a share/push/prd-dl-key.pem %{buildroot}/usr/share/push/
+%endif
 
-mkdir -p %{buildroot}%{_bindir}
-mkdir -p %{buildroot}%{_libdir}/pkgconfig
 mkdir -p %{buildroot}%{_includedir}
-mkdir -p %{buildroot}/usr/share/push
-mkdir -p %{buildroot}%{_sysconfdir}/init.d
-mkdir -p %{buildroot}%{_sysconfdir}/rc.d/{rc3.d,rc5.d}
-mkdir -p %{buildroot}/usr/lib/systemd/user/tizen-middleware.target.wants
+cp -a include/push-service.h %{buildroot}%{_includedir}
+cp -a include/push.h %{buildroot}%{_includedir}
+%if %{_support_weblog}
+       include/pushlog.h %{buildroot}%{_includedir}
+%endif
 
+mkdir -p %{buildroot}%{_libdir}/pkgconfig
+cp -a push.pc %{buildroot}%{_libdir}/pkgconfig/
+
+mkdir -p %{buildroot}/usr/share/push/
+mkdir -p %{buildroot}%{_bindir}
+
+%ifarch aarch64
+#libpush
+cp -a aarch64/lib64/libpush.so.* %{buildroot}%{_libdir}
+#libpush-devel
+cp -a aarch64/lib64/libpush.so %{buildroot}%{_libdir}
+#push-bin
+cp -a aarch64/bin/pushd %{buildroot}%{_bindir}
+cp -a aarch64/bin/push_tool %{buildroot}%{_bindir}
+cp -a aarch64/share/push/*.cer %{buildroot}/usr/share/push/
+%if %{_support_weblog}
+       aarch64/bin/pushlog_tool
+%endif
+%endif
 
 %ifarch %{arm}
 #libpush
 cp -a arm/lib/libpush.so.* %{buildroot}%{_libdir}
-#libpush-devel
-cp -a arm/include/push.h %{buildroot}%{_includedir}
-cp -a arm/lib/pkgconfig/push.pc %{buildroot}%{_libdir}/pkgconfig/push.pc
+#libpus-devel
 cp -a arm/lib/libpush.so %{buildroot}%{_libdir}
 #push-bin
 cp -a arm/bin/pushd %{buildroot}%{_bindir}
-cp -a arm/share/push/PushServerTrust.cer %{buildroot}/usr/share/push/PushServerTrust.cer
-cp -a arm/etc/init.d/pushd %{buildroot}%{_sysconfdir}/init.d/pushd
-cp -a arm/etc/rc.d/rc3.d/S90pushd %{buildroot}%{_sysconfdir}/rc.d/rc3.d/S90pushd
-cp -a arm/etc/rc.d/rc5.d/S90pushd %{buildroot}%{_sysconfdir}/rc.d/rc5.d/S90pushd
-cp -a arm/lib/systemd/user/pushd.service %{buildroot}%{_libdir}/systemd/user/pushd.service
-cp -a arm/lib/systemd/user/tizen-middleware.target.wants/pushd.service \
-    %{buildroot}%{_libdir}/systemd/user/tizen-middleware.target.wants/pushd.service
-#push-tool
 cp -a arm/bin/push_tool %{buildroot}%{_bindir}
-%else
+cp -a arm/share/push/*.cer %{buildroot}/usr/share/push/
+%if %{_support_weblog}
+       arm/bin/pushlog_tool
+%endif
+%endif
+
+%ifarch %{ix86} x86_64
 #libpush
 cp -a x86/lib/libpush.so.* %{buildroot}%{_libdir}
-#libpush-devel
-cp -a x86/include/push.h %{buildroot}%{_includedir}
-cp -a x86/lib/pkgconfig/push.pc %{buildroot}%{_libdir}/pkgconfig/push.pc
+#libpus-devel
 cp -a x86/lib/libpush.so %{buildroot}%{_libdir}
 #push-bin
 cp -a x86/bin/pushd %{buildroot}%{_bindir}
-cp -a x86/share/push/PushServerTrust.cer %{buildroot}/usr/share/push/PushServerTrust.cer
-cp -a x86/etc/init.d/pushd %{buildroot}%{_sysconfdir}/init.d/pushd
-cp -a x86/etc/rc.d/rc3.d/S90pushd %{buildroot}%{_sysconfdir}/rc.d/rc3.d/S90pushd
-cp -a x86/etc/rc.d/rc5.d/S90pushd %{buildroot}%{_sysconfdir}/rc.d/rc5.d/S90pushd
-cp -a x86/lib/systemd/user/pushd.service %{buildroot}/usr/lib/systemd/user/pushd.service
-cp -a x86/lib/systemd/user/tizen-middleware.target.wants/pushd.service \
-    %{buildroot}/usr/lib/systemd/user/tizen-middleware.target.wants/pushd.service
-#push-tool
 cp -a x86/bin/push_tool %{buildroot}%{_bindir}
+cp -a x86/share/push/*.cer %{buildroot}/usr/share/push/
+%if %{_support_weblog}
+       x86/bin/pushlog_tool
+%endif
 %endif
 
-#if [ -f /usr/lib/rpm-plugins/msm.so ]
-#then
-#      chsmack -a "_" -e "_" %{buildroot}/etc/init.d/pushd
-#      chsmack -a "_" -e "_" %{buildroot}/etc/rc.d/rc3.d/S90pushd
-#      chsmack -a "_" -e "_" %{buildroot}/etc/rc.d/rc5.d/S90pushd
-#fi
-
-install -D -m 0750 %{SOURCE1005} %{buildroot}%{_datadir}/%{name}/init_push_DB.sh
 
 %post bin
-%{_datadir}/%{name}/init_push_DB.sh
+mkdir -p /opt/usr/dbspace
+sqlite3 /opt/usr/dbspace/.push.db "PRAGMA journal_mode = PERSIST; create table a(a); drop table a;" > /dev/null
+chown system:5000 /opt/usr/dbspace/.push.db
+chown system:5000 /opt/usr/dbspace/.push.db-journal
+chmod 660 /opt/usr/dbspace/.push.db
+chmod 660 /opt/usr/dbspace/.push.db-journal
+
+chsmack -a 'push-service::db' /opt/usr/dbspace/.push.db
+chsmack -a 'push-service::db' /opt/usr/dbspace/.push.db-journal
 
 %post -n libpush
 /sbin/ldconfig
 
 %postun -n libpush -p /sbin/ldconfig
 
-
 %files -n libpush
 %manifest libpush.manifest
-%attr(644,-,-) %{_libdir}/libpush.so.*
+%attr(644,system,system)%{_libdir}/libpush.so.*
 
 %files -n libpush-devel
-%manifest libpush-devel.manifest
-%attr(644,-,-) %{_includedir}/*.h
+%{_includedir}/*.h
 %{_libdir}/pkgconfig/*.pc
 %{_libdir}/libpush.so
 
 %files bin
-%manifest %{name}-bin.manifest
-%{_bindir}/pushd
-/usr/share/push/*.cer
-/etc/init.d/pushd
-/etc/rc.d/rc3.d/S90pushd
-/etc/rc.d/rc5.d/S90pushd
-/usr/lib/systemd/user/pushd.service
-/usr/lib/systemd/user/tizen-middleware.target.wants/pushd.service
-%{_datadir}/%{name}/init_push_DB.sh
+%manifest push-bin.manifest
+%attr(755,system,system)%{_bindir}/pushd
+%attr(644,system,system)/usr/share/push/*.cer
+%attr(644,system,system)/usr/share/license/%{name}
+
+# This is a certificate file to access to logging server by HTTPS.
+%if %{_support_weblog}
+%attr(644,system,system)/usr/share/push/push_sslkey.pem
+%attr(644,system,system)/usr/share/push/prd-dl-key.pem
+%endif
+
+%attr(755,system,system)%{_libdir}/systemd/user/pushd.service
+%attr(755,system,system)%{_libdir}/systemd/user/tizen-middleware.target.wants/pushd.service
+%attr(755,system,system)%{_libdir}/systemd/system/multi-user.target.wants/pushd.service
+%attr(755,system,system)%{_libdir}/systemd/system/pushd.service
 
 %files tool
-%manifest %{name}-tool.manifest
+%manifest push-tool.manifest
 %{_bindir}/push_tool
 
+%if %{_support_weblog}
+       %{_bindir}/pushlog_tool
+%endif
+
 %changelog
+* Sat Nov 3 2012 Jooseok Park <jooseok.park@samsung.com> - 0.2.26
+- Prevent bug fixed(out-of bounds read, dead code,..)
 * Mon Oct 22 2012 Jooseok Park <jooseok.park@samsung.com> - 0.2.25
 - bundle null check added & protobuf null check added
 * Wed Sep 19 2012 Jooseok Park <jooseok.park@samsung.com> - 0.2.24