File credentials_obfuscation.spec of Package credentials_obfuscation
%def_enable check
%define tname credentials-obfuscation
%define bname credentials_obfuscation
Name: %bname
Version: 3.4.0
Release: 4
Summary: Tiny library/OTP app for credential obfuscation
License: Apache-2.0 and MPL-2.0
Group: Development/Tools/Other
URL: https://github.com/rabbitmq/%tname
Source: %tname-%version.tar.xz
Patch0: %tname-%version-git.patch
Patch1: %tname-3.4.0-test.patch
BuildArch: noarch
Provides: erlang-%bname = %version-%release
Provides: %tname = %version-%release
BuildRequires: rpm-macros-erlang rpm-build-erlang
BuildRequires: rebar >= 2.6.1-7
BuildRequires: erlang-otpbp-devel >= 6.12.0
%if_enabled check
BuildRequires: epmd ct_run
BuildRequires: erlang-otpbp >= 6.12.0
%endif
%description
This is a small library OTP application that acts as a helper. It encrypts and
decrypts sensitive data typically stored in processes state with a one-off key
(key material must be provided on node start). One example of such sensitive data
is credentials used to access remote services.
This is necessary to avoid the sensitive values logged when process state
is dumped by the Erlang runtime (error_logger).
%package doc
Summary: Documentation of %bname
Group: Documentation/HTML
Provides: erlang-%bname-doc = %version-%release
Provides: %tname-doc = %version-%release
%description doc
This is a small library OTP application that acts as a helper. It encrypts and
decrypts sensitive data typically stored in processes state with a one-off key
(key material must be provided on node start). One example of such sensitive data
is credentials used to access remote services.
This package contains documentation of %bname.
%prep
%setup -q -n %tname-%version
%patch -p1 -P0
%patch -p1 -P1
%build
erl -noshell -eval '
{ok, L} = file:consult("rebar.config"),
file:write_file("%bname.rebar.config", [[io_lib:print(E), ".\n"] || E <- lists:keydelete(deps, 1, L)], [raw]),
init:stop().'
%if %_otp_release < 22
ERL_COMPILER_OPTIONS="[inline,verbose,{parse_transform,otpbp_pt}]" \
%else
ERL_COMPILER_OPTIONS="[inline,verbose]" \
%endif
rebar %{?_smp_mflags} -C %bname.rebar.config compile -v
rebar %{?_smp_mflags} -C %bname.rebar.config doc -v
%install
install -d -m 0755 %buildroot%_otplibdir/%bname-%version/ebin
install -p -m 0644 ebin/* %buildroot%_otplibdir/%bname-%version/ebin/
install -d -m 0755 %buildroot%_otplibdir/%bname-%version/doc
install -p -m 0644 doc/*.{css,html,png} %buildroot%_otplibdir/%bname-%version/doc/
install -d -m 0755 %buildroot%_docdir/%name
ln -sf %_otplibdir/%bname-%version/doc %buildroot%_docdir/%name/html
install -p -m 0644 *.md %buildroot%_docdir/%name/
%if_enabled check
%check
%if %_otp_release < 22
ERL_COMPILER_OPTIONS="[inline,verbose,{parse_transform,otpbp_pt}]" \
%else
ERL_COMPILER_OPTIONS="[inline,verbose]" \
%endif
rebar -C %bname.rebar.config ct -v
%endif
%files
%defattr(-,root,root)
%_otplibdir/*
%exclude %_otplibdir/%bname-*/doc
%files doc
%defattr(-,root,root)
%doc %_docdir/%name
%doc %dir %_otplibdir/%bname-*
%doc %_otplibdir/%bname-*/doc
%changelog
* Sat Apr 27 2024 Led <ledest@gmail.com> 3.4.0-5
- compatibility for Erlang/OTP < 22
* Sat Apr 27 2024 Led <ledest@gmail.com> 3.4.0-4
- add patches:
+ credentials-obfuscation-3.4.0-test.patch
- update BuildRequires
- enable check
* Sat Apr 27 2024 Led <ledest@gmail.com> 3.4.0-3
- update Provides
* Sat Apr 27 2024 Led <ledest@gmail.com> 3.4.0-2
- fix build on Erlang/OTP < 21
* Sat Apr 27 2024 Led <ledest@gmail.com> 3.4.0-1
- 3.4.0
- git abdb04b