|
|
1380a22 |
%bcond_without check
|
|
|
1380a22 |
%global __cargo_skip_build 0
|
|
|
1380a22 |
%global __cargo_is_lib() false
|
|
|
1380a22 |
|
|
|
5366933 |
# mbed-crypto-provider, pkcs11-provider, tpm-provider, all-providers
|
|
|
ca1b941 |
%global __cargo_parse_opts --features=all-providers
|
|
|
1380a22 |
|
|
|
1380a22 |
%global custom_cargo_build /usr/bin/env PROTOC=%{_bindir}/protoc PROTOC_INCLUDe=%{_includedir} CARGO_HOME=.cargo RUSTC_BOOTSTRAP=1 %{_bindir}/cargo build %{_smp_mflags} -Z avoid-dev-deps --release
|
|
|
1380a22 |
%global custom_cargo_test /usr/bin/env PROTOC=%{_bindir}/protoc PROTOC_INCLUDe=%{_includedir} CARGO_HOME=.cargo RUSTC_BOOTSTRAP=1 %{_bindir}/cargo test %{_smp_mflags} -Z avoid-dev-deps --release --no-fail-fast
|
|
|
1380a22 |
|
|
|
1380a22 |
Name: parsec
|
|
|
7188d5c |
Version: 0.6.0
|
|
|
7188d5c |
Release: 1%{?dist}
|
|
|
1380a22 |
Summary: The PARSEC daemon
|
|
|
1380a22 |
|
|
|
1380a22 |
License: ASL 2.0
|
|
|
1380a22 |
URL: https://github.com/parallaxsecond/parsec
|
|
|
1380a22 |
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
|
|
|
1380a22 |
Source1: parsec.service
|
|
|
0fe92b5 |
Source2: config.toml
|
|
|
5366933 |
Source3: parsec.tmpfile.conf
|
|
|
ca1b941 |
Patch: pkcs11-libloading-issue.patch
|
|
|
1380a22 |
|
|
|
1380a22 |
ExclusiveArch: %{rust_arches}
|
|
|
1380a22 |
# rhbz 1869980
|
|
|
1380a22 |
ExcludeArch: s390x %{power64}
|
|
|
1380a22 |
|
|
|
1380a22 |
BuildRequires: protobuf-compiler
|
|
|
1380a22 |
BuildRequires: rust-packaging
|
|
|
1380a22 |
BuildRequires: systemd
|
|
|
1380a22 |
Requires: tpm2-tss >= 3.0.0-3
|
|
|
1380a22 |
Requires(pre): shadow-utils
|
|
|
1380a22 |
Requires(pre): tpm2-tss >= 3.0.0-3
|
|
|
1380a22 |
%{?systemd_requires}
|
|
|
1380a22 |
|
|
|
1380a22 |
%description
|
|
|
1380a22 |
PARSEC is the Platform AbstRaction for SECurity, an open-source initiative to
|
|
|
1380a22 |
provide a common API to hardware security and cryptographic services in a
|
|
|
1380a22 |
platform-agnostic way. This abstraction layer keeps workloads decoupled from
|
|
|
1380a22 |
physical platform details, enabling cloud-native delivery flows within the data
|
|
|
1380a22 |
center and at the edge.
|
|
|
1380a22 |
|
|
|
1380a22 |
%prep
|
|
|
1380a22 |
%autosetup -p1
|
|
|
1380a22 |
export PROTOC=%{_bindir}/protoc
|
|
|
1380a22 |
export PROTOC_INCLUDE=%{_includedir}
|
|
|
1380a22 |
%cargo_prep
|
|
|
1380a22 |
|
|
|
1380a22 |
%generate_buildrequires
|
|
|
1380a22 |
%cargo_generate_buildrequires
|
|
|
1380a22 |
|
|
|
1380a22 |
%build
|
|
|
ca1b941 |
%custom_cargo_build --features=all-providers
|
|
|
1380a22 |
|
|
|
1380a22 |
%install
|
|
|
1380a22 |
export PROTOC=%{_bindir}/protoc
|
|
|
1380a22 |
export PROTOC_INCLUDE=%{_includedir}
|
|
|
1380a22 |
%cargo_install
|
|
|
1380a22 |
|
|
|
1380a22 |
install -D -p -m0644 %{SOURCE1} %{buildroot}%{_unitdir}/parsec.service
|
|
|
0fe92b5 |
install -D -p -m0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/parsec/config.toml
|
|
|
5366933 |
install -D -p -m0644 %{SOURCE3} %{buildroot}%{_tmpfilesdir}/parsec.conf
|
|
|
1380a22 |
install -d -m0755 %{buildroot}%{_localstatedir}/lib/parsec
|
|
|
1380a22 |
install -d -m0755 %{buildroot}%{_libexecdir}
|
|
|
1380a22 |
mv %{buildroot}%{_bindir}/parsec %{buildroot}%{_libexecdir}/
|
|
|
1380a22 |
|
|
|
1380a22 |
%if %{with check}
|
|
|
1380a22 |
%check
|
|
|
1380a22 |
export PROTOC=%{_bindir}/protoc
|
|
|
1380a22 |
export PROTOC_INCLUDE=%{_includedir}
|
|
|
1380a22 |
%custom_cargo_test -- -- --skip real_ --skip loop_ --skip travis_
|
|
|
1380a22 |
%endif
|
|
|
1380a22 |
|
|
|
1380a22 |
%pre
|
|
|
1380a22 |
getent group parsec >/dev/null || groupadd -r parsec
|
|
|
0fe92b5 |
# For PARSEC consumers
|
|
|
0fe92b5 |
getent group parsec-clients >/dev/null || groupadd -r parsec-clients
|
|
|
1380a22 |
getent passwd parsec >/dev/null || \
|
|
|
0fe92b5 |
useradd -r -g parsec -G tss -G parsec-clients -d /var/lib/parsec -s /sbin/nologin \
|
|
|
1380a22 |
-c "PARSEC service" parsec
|
|
|
1380a22 |
exit 0
|
|
|
1380a22 |
|
|
|
1380a22 |
%post
|
|
|
1380a22 |
%systemd_post parsec.service
|
|
|
1380a22 |
|
|
|
1380a22 |
%preun
|
|
|
1380a22 |
%systemd_preun parsec.service
|
|
|
1380a22 |
|
|
|
1380a22 |
%postun
|
|
|
1380a22 |
%systemd_postun_with_restart parsec.service
|
|
|
1380a22 |
|
|
|
1380a22 |
%files
|
|
|
1380a22 |
%license LICENSE
|
|
|
0fe92b5 |
%doc README.md config.toml
|
|
|
1380a22 |
%attr(0750,parsec,parsec) %dir %{_sysconfdir}/parsec/
|
|
|
1380a22 |
%attr(0750,parsec,parsec) %dir %{_localstatedir}/lib/parsec/
|
|
|
1380a22 |
%config(noreplace) %{_sysconfdir}/parsec/config.toml
|
|
|
1380a22 |
%{_libexecdir}/parsec
|
|
|
5366933 |
%{_tmpfilesdir}/parsec.conf
|
|
|
1380a22 |
%{_unitdir}/parsec.service
|
|
|
1380a22 |
|
|
|
1380a22 |
%changelog
|
|
|
7188d5c |
* Thu Oct 22 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 0.6.0-1
|
|
|
7188d5c |
- Update to 0.6.0
|
|
|
7188d5c |
|
|
|
ca1b941 |
* Wed Oct 21 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 0.5.0-2
|
|
|
ca1b941 |
- Enable pkcs11 provider
|
|
|
ca1b941 |
|
|
|
5366933 |
* Fri Oct 02 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 0.5.0-1
|
|
|
5366933 |
- Update to 0.5.0
|
|
|
5366933 |
|
|
|
0dacfad |
* Thu Sep 17 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 0.4.0-5
|
|
|
0dacfad |
- Enable the MBed provider
|
|
|
0dacfad |
|
|
|
0fe92b5 |
* Thu Sep 17 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 0.4.0-4
|
|
|
0fe92b5 |
- User fixess, service file fixes, include default config
|
|
|
0fe92b5 |
|
|
|
f7926a3 |
* Wed Sep 16 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 0.4.0-3
|
|
|
f7926a3 |
- Minor fixes
|
|
|
f7926a3 |
|
|
|
1380a22 |
* Wed Sep 16 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 0.4.0-2
|
|
|
504ffdc |
- Add service user creation, enable TPM2 provider, other fixes
|
|
|
1380a22 |
|
|
|
1380a22 |
* Tue Sep 01 2020 Peter Robinson <pbrobinson@fedoraproject.org> 0.4.0-1
|
|
|
1380a22 |
- Initial package
|