summaryrefslogtreecommitdiff
path: root/packaging
diff options
context:
space:
mode:
authorsangwan.kwon <sangwan.kwon@samsung.com>2016-04-04 13:24:17 +0900
committerkyungwook tak <k.tak@samsung.com>2016-05-10 22:24:59 -0700
commit6b884475b0cedb1bf67d438fd4bb01d1ac2e0680 (patch)
treee4afda2f797913561d89c81b9ffe1febedfd5557 /packaging
parent6de871c49909058a6396c8c7afc583793a46b70c (diff)
downloadcert-checker-6b884475b0cedb1bf67d438fd4bb01d1ac2e0680.tar.gz
cert-checker-6b884475b0cedb1bf67d438fd4bb01d1ac2e0680.tar.bz2
cert-checker-6b884475b0cedb1bf67d438fd4bb01d1ac2e0680.zip
Implement on-demand style about server-side
[AS-IS] * cert-checker was daemon. [TO-BE] * Change to on-demand style. * cert-svc call cert-checker. * Add common library. Change-Id: Idab160e6103cf62299b97a5485a767de9831d614 Signed-off-by: sangwan.kwon <sangwan.kwon@samsung.com>
Diffstat (limited to 'packaging')
-rw-r--r--packaging/cert-checker-common.manifest.in (renamed from packaging/cert-checker.manifest)0
-rw-r--r--packaging/cert-checker.manifest.in5
-rw-r--r--packaging/cert-checker.spec145
3 files changed, 99 insertions, 51 deletions
diff --git a/packaging/cert-checker.manifest b/packaging/cert-checker-common.manifest.in
index 75b0fa5..75b0fa5 100644
--- a/packaging/cert-checker.manifest
+++ b/packaging/cert-checker-common.manifest.in
diff --git a/packaging/cert-checker.manifest.in b/packaging/cert-checker.manifest.in
new file mode 100644
index 0000000..75b0fa5
--- /dev/null
+++ b/packaging/cert-checker.manifest.in
@@ -0,0 +1,5 @@
+<manifest>
+ <request>
+ <domain name="_"/>
+ </request>
+</manifest>
diff --git a/packaging/cert-checker.spec b/packaging/cert-checker.spec
index aef14a3..649a4a1 100644
--- a/packaging/cert-checker.spec
+++ b/packaging/cert-checker.spec
@@ -5,7 +5,6 @@ Release: 1
Group: Security/Certificate Management
License: Apache-2.0 and BSL-1.0
Source0: %{name}-%{version}.tar.gz
-Source1: %{name}.manifest
BuildRequires: cmake
BuildRequires: zip
BuildRequires: gettext-tools
@@ -24,24 +23,55 @@ BuildRequires: pkgconfig(pkgmgr)
BuildRequires: pkgconfig(pkgmgr-info)
BuildRequires: boost-devel
Requires: security-config
+Requires: lib%{name}-common = %{version}-%{release}
+%description
+Check OCSP validation at app install/uninstall time.
+
+%global SBIN_DIR /sbin
%global TZ_SYS_DB %{?TZ_SYS_DB:%TZ_SYS_DB}%{!?TZ_SYS_DB:/opt/dbspace}
%global TZ_SYS_ROOT %{?TZ_SYS_ROOT:%TZ_SYS_ROOT}%{!?TZ_SYS_ROOT:/root}
%global TZ_SYS_RO_SHARE %{?TZ_SYS_RO_SHARE:%TZ_SYS_RO_SHARE}%{!?TZ_SYS_RO_SHARE:/usr/share}
%global TZ_SYS_BIN %{?TZ_SYS_BIN:%TZ_SYS_BIN}%{!?TZ_SYS_BIN:/usr/bin}
-%global DB_INST_DIR %{TZ_SYS_DB}/cert-checker
-
-%description
-Cert-checker
-
-%package -n cert-checker-tests
+%global DB_INST_DIR %{TZ_SYS_DB}/%{name}
+
+# service macro
+%global service_name %{name}
+%global service_stream /tmp/%{service_name}.socket
+%global service_user security_fw
+%global service_group security_fw
+
+# common lib package
+%package -n lib%{name}-common
+Summary: Common Library package for %{name}
+License: Apache-2.0
+Group: Security/Libraries
+Requires: %{SBIN_DIR}/ldconfig
+
+%description -n lib%{name}-common
+cert-checker common library package.
+
+# devel package
+%package devel
+Summary: Development files for %{name}
+License: Apache-2.0
+Group: Security/Development
+BuildRequires: pkgconfig(capi-base-common)
+Requires: %{name} = %{version}-%{release}
+
+%description devel
+cert-checker development files.
+
+# test package
+%package -n %{name}-tests
Summary: Internal test for cert-checker
-Group: Development
+License: Apache-2.0 and BSL-1.0
+Group: Security/Testing
Requires: boost-test
-Requires: cert-checker = %{version}-%{release}
+Requires: %{name} = %{version}-%{release}
-%description -n cert-checker-tests
+%description -n %{name}-tests
Internal test for cert-checker implementation.
%prep
@@ -53,73 +83,86 @@ export CXXFLAGS="$CXXFLAGS"
export FFLAGS="$FFLAGS"
export LDFLAGS+="-Wl,--rpath=%{_libdir} "
-%cmake . -DVERSION=%{version} \
- -DDB_INSTALL_DIR=%{DB_INST_DIR} \
- -DCMAKE_BUILD_TYPE=%{?build_type:%build_type}%{!?build_type:RELEASE} \
- -DCMAKE_VERBOSE_MAKEFILE=ON \
- -DTEST_APP_SIGNATURES_DIR="%{TZ_SYS_ROOT}/cert-checker-test" \
- -DSYSTEMD_UNIT_DIR=%{_unitdir}
+%cmake . \
+ -DVERSION=%{version} \
+ -DCMAKE_BUILD_TYPE=%{?build_type:%build_type}%{!?build_type:RELEASE} \
+ -DMAKE_VERBOSE_MAKEFILE=ON \
+ -DSERVICE_NAME=%{service_name} \
+ -DSERVICE_STREAM=%{service_stream} \
+ -DSERVICE_USER=%{service_user} \
+ -DSERVICE_GROUP=%{service_group} \
+ -DINCLUDE_INSTALL_DIR:PATH=%{_includedir} \
+ -DTEST_APP_SIGNATURES_DIR="%{TZ_SYS_ROOT}/cert-checker-test" \
+ -DSYSTEMD_UNIT_DIR=%{_unitdir} \
+ -DBIN_DIR=%{TZ_SYS_BIN} \
+ -DDB_INSTALL_DIR=%{DB_INST_DIR}
make %{?jobs:-j%jobs}
%install
-rm -rf %{buildroot}
-mkdir -p %{buildroot}/%{DB_INST_DIR}
-mkdir -p %{buildroot}/%{TZ_SYS_RO_SHARE}/license
-cp LICENSE %{buildroot}/%{TZ_SYS_RO_SHARE}/license/%{name}
%make_install
-cp -a %{SOURCE1} %{buildroot}%{TZ_SYS_RO_SHARE}/
%find_lang %{name}
-%make_install
-mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
-ln -s ../cert-checker.service %{buildroot}%{_unitdir}/multi-user.target.wants/cert-checker.service
-
%clean
rm -rf %{buildroot}
%post
systemctl daemon-reload
+
+# install
if [ $1 = 1 ]; then
- # installation
- systemctl start cert-checker.service
+ systemctl start %{name}.socket
fi
-
+# upgrade / reinstall
if [ $1 = 2 ]; then
- # update
- systemctl restart cert-checker.service
+ systemctl stop %{name}.service
+ systemctl restart %{name}.socket
fi
+
chsmack -a System %{DB_INST_DIR}
-chsmack -a System %{DB_INST_DIR}/.cert-checker.db
+chsmack -a System %{DB_INST_DIR}/.%{name}.db
%preun
+# uninstall
if [ $1 = 0 ]; then
- # unistall
- systemctl stop cert-checker.service
+ systemctl stop %{name}.service
+ systemctl stop %{name}.socket
fi
%postun
if [ $1 = 0 ]; then
- # unistall
systemctl daemon-reload
fi
+%post -n lib%{name}-common -p %{SBIN_DIR}/ldconfig
+%postun -n lib%{name}-common -p %{SBIN_DIR}/ldconfig
%files -f %{name}.lang
-%{TZ_SYS_BIN}/cert-checker
-%{TZ_SYS_BIN}/cert-checker-popup
-%manifest %{TZ_SYS_RO_SHARE}/%{name}.manifest
-%{TZ_SYS_RO_SHARE}/license/%{name}
-%dir %attr(0700,security_fw,security_fw) %{DB_INST_DIR}
-%config(noreplace) %attr(0600,security_fw,security_fw) %{DB_INST_DIR}/.cert-checker.db
-%{_unitdir}/cert-checker.service
-%{_unitdir}/multi-user.target.wants/cert-checker.service
-
-%files -n cert-checker-tests
-%license LICENSE.BSL-1.0
-%defattr(-,security_fw,security_fw,-)
-%{TZ_SYS_BIN}/cert-checker-tests
-%{TZ_SYS_BIN}/cert-checker-tests-logic
-%{TZ_SYS_BIN}/cert-checker-popup-test
-%{DB_INST_DIR}/.cert-checker-test.db
-%{TZ_SYS_ROOT}/cert-checker-test/*/*.xml
+%manifest %{name}.manifest
+%license LICENSE
+%dir %attr(0700,%{service_user},%{service_group}) %{DB_INST_DIR}
+%config(noreplace) %attr(0600,%{service_user},%{service_group}) %{DB_INST_DIR}/.%{name}.db
+%{_unitdir}/%{name}.service
+%{_unitdir}/%{name}.socket
+%{TZ_SYS_BIN}/%{name}
+%{TZ_SYS_BIN}/%{name}-popup
+
+%files -n lib%{name}-common
+%defattr(-,root,root,-)
+%manifest %{name}-common.manifest
+%license LICENSE
+%{_libdir}/lib%{name}-common.so.*
+
+%files devel
+%defattr(-,root,root,-)
+%{_libdir}/pkgconfig/%{name}.pc
+%{_libdir}/lib%{name}-common.so
+
+%files -n %{name}-tests
+%defattr(-,%{service_user},%{service_group},-)
+%license LICENSE LICENSE.BSL-1.0
+%{TZ_SYS_BIN}/%{name}-tests
+%{TZ_SYS_BIN}/%{name}-tests-logic
+%{TZ_SYS_BIN}/%{name}-popup-test
+%{DB_INST_DIR}/.%{name}-test.db
+%{TZ_SYS_ROOT}/%{name}-test/*/*.xml