argon2/argon2.spec

115 lines
3.8 KiB
RPMSpec
Raw Normal View History

2020-06-30 20:27:47 +08:00
%define make %__make OPTFLAGS="%{optflags}" LIBRARY_REL=%{_lib}
2019-12-25 15:41:46 +08:00
Name: argon2
2020-06-30 20:27:47 +08:00
Version: 20190702
Release: 1
2019-12-25 15:41:46 +08:00
Summary: A password-hashing tool
License: Public Domain or ASL 2.0
URL: https://github.com/P-H-C/phc-winner-argon2
2020-06-30 20:27:47 +08:00
Source0: https://github.com/P-H-C/phc-winner-argon2/archive/62358ba2123abd17fccf2a108a301d4b52c01a7c/phc-winner-argon2-20190702-62358ba.tar.gz
2019-12-25 15:41:46 +08:00
BuildRequires: gcc
Requires: libargon2%{?_isa} = %{version}-%{release}
2019-12-25 15:41:46 +08:00
%description
Argon2 is a password-hashing function that summarizes the state of the art in the design of
memory-hard functions and can be used to hash passwords for credential storage, key derivation,
or other applications.
It has a simple design aimed at the highest memory filling rate and effective use of multiple
computing units, while still providing defense against tradeoff attacks (by exploiting the
cache and memory organization of the recent processors).
Argon2 has three variants: Argon2i, Argon2d, and Argon2id. Argon2d is faster and uses data-depending
memory access, which makes it highly resistant against GPU cracking attacks and suitable for
applications with no threats from side-channel timing attacks (eg. cryptocurrencies). Argon2i
instead uses data-independent memory access, which is preferred for password hashing and
password-based key derivation, but it is slower as it makes more passes over the memory to
protect from tradeoff attacks. Argon2id is a hybrid of Argon2i and Argon2d, using a combination
of data-depending and data-independent memory accesses, which gives some of Argon2i's resistance
to side-channel cache timing attacks and much of Argon2d's resistance to GPU cracking attacks.
Argon2i, Argon2d, and Argon2id are parametrized by:
- A time cost, which defines the amount of computation realized and therefore the execution
time, given in number of iterations
- A memory cost, which defines the memory usage, given in kibibytes
- A parallelism degree, which defines the number of parallel threads
%package -n libargon2-devel
2019-12-25 15:41:46 +08:00
Summary: Development library files for argon2
Requires: libargon2%{?_isa} = %{version}-%{release}
2020-03-21 15:49:23 +08:00
Obsoletes: argon2-devel < %{version}-%{release}
2019-12-25 15:41:46 +08:00
%description -n libargon2-devel
2019-12-25 15:41:46 +08:00
This package contains development library files and headers for the argon2.
%package -n libargon2
Summary: The password-hashing library for argon2
%description -n libargon2
This package contains dynamic library for argon2
2019-12-25 15:41:46 +08:00
%package_help
%prep
2020-06-30 20:27:47 +08:00
%setup -qn phc-winner-argon2-62358ba2123abd17fccf2a108a301d4b52c01a7c
2019-12-25 15:41:46 +08:00
sed -e '/^CFLAGS/s:^CFLAGS:LDFLAGS=%{build_ldflags}\nCFLAGS:' \
2020-06-30 20:27:47 +08:00
-e 's:-O3 -Wall -g:%{optflags}:' \
2019-12-25 15:41:46 +08:00
-e 's:-march=\$(OPTTARGET) :${CFLAGS} :' \
-e 's:CFLAGS += -march=\$(OPTTARGET)::' \
-i Makefile
%build
2020-06-30 20:27:47 +08:00
%make %{?_smp_mflags}
2019-12-25 15:41:46 +08:00
%install
2020-06-30 20:27:47 +08:00
%make DESTDIR=%{buildroot} install
2019-12-25 15:41:46 +08:00
%delete_la_and_a
install -Dpm 644 man/argon2.1 %{buildroot}%{_mandir}/man1/argon2.1
%check
make test
%pre
%preun
%post -n libargon2 -p /sbin/ldconfig
2019-12-25 15:41:46 +08:00
%postun -n libargon2 -p /sbin/ldconfig
2019-12-25 15:41:46 +08:00
%files
%defattr(-,root,root)
%{_bindir}/%{name}
%license LICENSE
%files -n libargon2
%defattr(-,root,root)
%license LICENSE
2019-12-25 15:41:46 +08:00
%{_libdir}/libargon2.so.*
%files -n libargon2-devel
2019-12-25 15:41:46 +08:00
%defattr(-,root,root)
%{_includedir}/%{name}.h
%{_libdir}/libargon2.so
%{_libdir}/pkgconfig/*pc
%files help
%doc *md
%{_mandir}/man1/*
%changelog
2020-06-30 20:27:47 +08:00
* Fri Jul 3 2020 wangchen <wangchen137@huawei.com> - 20190702-1
- update argon2 to 20190702
2020-03-21 15:49:23 +08:00
* Sat Mar 21 2020 openEuler Buildteam <buildteam@openeuler.org> - 20161029-9
- obsoletes argon2-devel
* Mon Feb 17 2020 openEuler Buildteam <buildteam@openeuler.org> - 20161029-8
- add libargon2 containing dynamic library for argon2; change argon2-devel to libargon2-devel
2019-12-25 15:41:46 +08:00
* Tue Sep 10 2019 openEuler Buildteam <buildteam@openeuler.org> - 20161029-7
- Package init