Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
security
parsec
parsec.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File parsec.spec of Package parsec
# # spec file for package parsec # # Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %global rustflags '-Clink-arg=-Wl,-z,relro,-z,now' %define archive_version 1.4.0 %{?systemd_ordering} Name: parsec Version: 1.4.0 Release: 0 Summary: Platform AbstRaction for SECurity License: Apache-2.0 URL: https://parallaxsecond.github.io/parsec-book Source0: https://github.com/parallaxsecond/parsec/archive/%{archive_version}.tar.gz#/parsec-%{archive_version}.tar.gz Source1: vendor.tar.xz Source3: parsec.service Source4: config.toml Source5: parsec.conf Source6: system-user-parsec.conf Source10: https://git.trustedfirmware.org/TS/trusted-services.git/snapshot/trusted-services-389b506.tar.gz BuildRequires: cargo >= 1.66 BuildRequires: clang-devel BuildRequires: cmake BuildRequires: llvm-devel %if 0%{?suse_version} == 1500 # Fix build with GCC13 on Backports SLE15-SPx - Avoid to get -lstdc++ not found BuildRequires: libstdc++6-devel-gcc13 %endif BuildRequires: cargo-packaging BuildRequires: pkgconfig BuildRequires: protobuf-devel BuildRequires: python3 # jwt-svid-authenticator (SPIFFE-based authenticator) needs rust >= 1.53 BuildRequires: rust >= 1.53 BuildRequires: sysuser-tools BuildRequires: pkgconfig(tss2-esys) >= 2.3.3 # opensc is used to initialize HSM keys (PKCS#11 backend) Recommends: opensc # /dev/tpm* are owned by tss user Requires(pre): system-user-tss # tpm2-0-tss holds the udev rule to make /dev/tpm* owned by tss user Requires: tpm2-0-tss # Without libtss2-tcti-device0 parsec fails to start TPM properly Requires: libtss2-tcti-device0 ExcludeArch: %{ix86} armv6l armv6hl %description PARSEC is the Platform AbstRaction for SECurity, an open-source initiative to provide a common API to hardware security and cryptographic services in a platform-agnostic way. This abstraction layer keeps workloads decoupled from physical platform details, enabling cloud-native delivery flows within the data center and at the edge. %package -n system-user-parsec Summary: System user and group parsec %sysusers_requires %description -n system-user-parsec Package to install system user 'parsec' %prep %setup -q -a1 -a10 -n parsec-%{archive_version} rmdir trusted-services-vendor mv trusted-services-389b506 trusted-services-vendor # Enable all providers sed -i -e 's#default = \["unix-peer-credentials-authenticator"\]##' Cargo.toml # Features available in 1.2.0-rc1: # all-providers = ["tpm-provider", "pkcs11-provider", "mbed-crypto-provider", "trusted-service-provider"] # all-authenticators = ["direct-authenticator", "unix-peer-credentials-authenticator", "jwt-svid-authenticator"] %if 0%{?suse_version} > 1550 # But disable "jwt-svid-authenticator"/SPIFFE with gcc13 until build fixed upstream - https://github.com/parallaxsecond/parsec/issues/672 sed -i -e 's#all-authenticators = \["direct-authenticator", "unix-peer-credentials-authenticator", "jwt-svid-authenticator"\]#all-authenticators = \["direct-authenticator", "unix-peer-credentials-authenticator"\]#' Cargo.toml %endif # But disable "trusted-service-provider" until we have a trusted-services package echo 'default = ["tpm-provider", "pkcs11-provider", "mbed-crypto-provider", "all-authenticators"]' >> Cargo.toml %build export PROTOC=%{_bindir}/protoc export PROTOC_INCLUDE=%{_includedir} %cargo_build %sysusers_generate_pre %{SOURCE6} parsec %install export PROTOC=%{_bindir}/protoc export PROTOC_INCLUDE=%{_includedir} %cargo_install mkdir -p %{buildroot}%{_sysusersdir} install -m 0644 %{SOURCE6} %{buildroot}%{_sysusersdir}/ install -D -p -m0644 %{SOURCE3} %{buildroot}%{_unitdir}/parsec.service install -D -p -m0644 %{SOURCE4} %{buildroot}%{_sysconfdir}/parsec/config.toml install -D -p -m0644 %{SOURCE5} %{buildroot}%{_tmpfilesdir}/parsec.conf install -d -m0755 %{buildroot}%{_localstatedir}/lib/parsec # Move parsec to _libexecdir mkdir -p %{buildroot}%{_libexecdir} mv target/release/parsec %{buildroot}%{_libexecdir} # currently delete it from bin if there rm -f %{buildroot}%{_bindir}/parsec # Clean-up find %{buildroot} -name .crates2.json -delete rm -rf %{buildroot}%{_datadir}/cargo/registry %check export PROTOC=%{_bindir}/protoc export PROTOC_INCLUDE=%{_includedir} %cargo_test -- --lib %pre -n system-user-parsec -f parsec.pre %service_add_pre parsec.service %post %service_add_post parsec.service %tmpfiles_create %_tmpfilesdir/parsec.conf %preun %service_del_preun parsec.service %postun %service_del_postun parsec.service %files %license LICENSE %doc README.md config.toml %attr(0750,parsec,parsec) %dir %{_sysconfdir}/parsec/ %attr(0750,parsec,parsec) %dir %{_localstatedir}/lib/parsec/ %attr(0644,parsec,parsec) %config(noreplace) %{_sysconfdir}/parsec/config.toml %{_libexecdir}/parsec %{_tmpfilesdir}/parsec.conf %{_unitdir}/parsec.service %files -n system-user-parsec %{_sysusersdir}/system-user-parsec.conf %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor