97 lines
3.8 KiB
RPMSpec
97 lines
3.8 KiB
RPMSpec
#
|
|
# spec file for package perl-Bytes-Random-Secure
|
|
#
|
|
# 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/
|
|
#
|
|
|
|
|
|
%define cpan_name Bytes-Random-Secure
|
|
Name: perl-Bytes-Random-Secure
|
|
Version: 0.290.0
|
|
Release: 0
|
|
# 0.29 -> normalize -> 0.290.0
|
|
%define cpan_version 0.29
|
|
License: Artistic-1.0 OR GPL-1.0-or-later
|
|
Summary: Perl extension to generate cryptographically-secure random bytes
|
|
URL: https://metacpan.org/release/%{cpan_name}
|
|
Source0: https://cpan.metacpan.org/authors/id/D/DA/DAVIDO/%{cpan_name}-%{cpan_version}.tar.gz
|
|
Source100: README.md
|
|
BuildArch: noarch
|
|
BuildRequires: perl
|
|
BuildRequires: perl-macros
|
|
BuildRequires: perl(Crypt::Random::Seed)
|
|
BuildRequires: perl(ExtUtils::MakeMaker) >= 6.56
|
|
BuildRequires: perl(Math::Random::ISAAC)
|
|
BuildRequires: perl(Scalar::Util) >= 1.21
|
|
BuildRequires: perl(Test::More) >= 0.98
|
|
Requires: perl(Crypt::Random::Seed)
|
|
Requires: perl(Math::Random::ISAAC)
|
|
Requires: perl(Scalar::Util) >= 1.21
|
|
Provides: perl(Bytes::Random::Secure) = %{version}
|
|
%undefine __perllib_provides
|
|
%{perl_requires}
|
|
|
|
%description
|
|
Bytes::Random::Secure provides two interfaces for obtaining crypto-quality
|
|
random bytes. The simple interface is built around plain functions. For
|
|
greater control over the Random Number Generator's seeding, there is an
|
|
Object Oriented interface that provides much more flexibility.
|
|
|
|
The "functions" interface provides functions that can be used any time you
|
|
need a string of a specific number of random bytes. The random bytes are
|
|
available as simple strings, or as hex-digits, Quoted Printable, or MIME
|
|
Base64. There are equivalent methods available from the OO interface, plus
|
|
a few others.
|
|
|
|
This module can be a drop-in replacement for Bytes::Random, with the
|
|
primary enhancement of using a cryptographic-quality random number
|
|
generator to create the random data. The 'random_bytes' function emulates
|
|
the user interface of Bytes::Random's function by the same name. But with
|
|
Bytes::Random::Secure the random number generator comes from
|
|
Math::Random::ISAAC, and is suitable for cryptographic purposes. The harder
|
|
problem to solve is how to seed the generator. This module uses
|
|
Crypt::Random::Seed to generate the initial seeds for Math::Random::ISAAC.
|
|
|
|
In addition to providing 'random_bytes()', this module also provides
|
|
several functions not found in Bytes::Random: 'random_string_from',
|
|
'random_bytes_base64()', 'random_bytes_hex', and 'random_bytes_qp'.
|
|
|
|
And finally, for those who need finer control over how Crypt::Random::Seed
|
|
generates its seed, there is an object oriented interface with a
|
|
constructor that facilitates configuring the seeding process, while
|
|
providing methods that do everything the "functions" interface can do
|
|
(truth be told, the functions interface is just a thin wrapper around the
|
|
OO version, with some sane defaults selected). The OO interface also
|
|
provides an 'irand' method, not available through the functions interface.
|
|
|
|
%prep
|
|
%autosetup -n %{cpan_name}-%{cpan_version}
|
|
|
|
%build
|
|
perl Makefile.PL INSTALLDIRS=vendor
|
|
%make_build
|
|
|
|
%check
|
|
make test
|
|
|
|
%install
|
|
%perl_make_install
|
|
%perl_process_packlist
|
|
%perl_gen_filelist
|
|
|
|
%files -f %{name}.files
|
|
%doc Changes examples README
|
|
|
|
%changelog
|