Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-Crypt-SysRandom for
openSUSE:Factory checked in at 2026-11-08 19:22:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Crypt-SysRandom (Old)
and /work/SRC/openSUSE:Factory/.perl-Crypt-SysRandom.new.3759290 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Crypt-SysRandom"
Sun Nov 8 19:22:24 2026 rev:2 rq:1396141 version:0.8.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/perl-Crypt-SysRandom/perl-Crypt-SysRandom.changes
2025-07-21 20:02:01.211380094 +0200
+++
/work/SRC/openSUSE:Factory/.perl-Crypt-SysRandom.new.3759290/perl-Crypt-SysRandom.changes
2026-11-08 19:22:49.619968960 +0100
@@ -1,0 +2,10 @@
+Fri Nov 6 22:06:14 UTC 2026 - Tina Müller <[email protected]>
+
+- updated to 0.8.0 (0.008)
+ see /usr/share/doc/packages/perl-Crypt-SysRandom/Changes
+
+ 0.008 2026-11-06 17:02:33+01:00 Europe/Brussels
+ - Add random_hex, random_base64, random_base64url and
+ random_uuid functions
+
+-------------------------------------------------------------------
Old:
----
Crypt-SysRandom-0.007.tar.gz
New:
----
Crypt-SysRandom-0.008.tar.gz
README.md
_scmsync.obsinfo
build.specials.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Crypt-SysRandom.spec ++++++
--- /var/tmp/diff_new_pack.DKj8IR/_old 2026-11-08 19:22:50.604009667 +0100
+++ /var/tmp/diff_new_pack.DKj8IR/_new 2026-11-08 19:22:50.605009709 +0100
@@ -1,7 +1,7 @@
#
# spec file for package perl-Crypt-SysRandom
#
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,26 +18,30 @@
%define cpan_name Crypt-SysRandom
Name: perl-Crypt-SysRandom
-Version: 0.7.0
+Version: 0.8.0
Release: 0
-# 0.007 -> normalize -> 0.7.0
-%define cpan_version 0.007
+# 0.008 -> normalize -> 0.8.0
+%define cpan_version 0.008
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: Perl interface to system randomness
URL: https://metacpan.org/release/%{cpan_name}
Source0:
https://cpan.metacpan.org/authors/id/L/LE/LEONT/%{cpan_name}-%{cpan_version}.tar.gz
Source1: cpanspec.yml
+Source100: README.md
BuildArch: noarch
BuildRequires: perl
BuildRequires: perl-macros
+BuildRequires: perl(MIME::Base64) >= 3.11
+Requires: perl(MIME::Base64) >= 3.11
Provides: perl(Crypt::SysRandom) = %{version}
%undefine __perllib_provides
-Recommends: perl(Crypt::SysRandom::XS)
+Recommends: perl(Crypt::SysRandom::XS) >= 0.11
%{perl_requires}
%description
This module uses whatever interface is available to procure
-cryptographically random data from the system.
+cryptographically random data from the system. All functions are optionally
+exported.
%prep
%autosetup -n %{cpan_name}-%{cpan_version} -p1
++++++ Crypt-SysRandom-0.007.tar.gz -> Crypt-SysRandom-0.008.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Crypt-SysRandom-0.007/Changes
new/Crypt-SysRandom-0.008/Changes
--- old/Crypt-SysRandom-0.007/Changes 2025-02-05 21:07:18.000000000 +0100
+++ new/Crypt-SysRandom-0.008/Changes 2026-11-06 17:02:35.000000000 +0100
@@ -1,5 +1,9 @@
Revision history for Crypt-SysRandom
+0.008 2026-11-06 17:02:33+01:00 Europe/Brussels
+ - Add random_hex, random_base64, random_base64url and
+ random_uuid functions
+
0.007 2025-02-05 21:07:16+01:00 Europe/Brussels
- Put implementations into named subs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Crypt-SysRandom-0.007/LICENSE
new/Crypt-SysRandom-0.008/LICENSE
--- old/Crypt-SysRandom-0.007/LICENSE 2025-02-05 21:07:18.000000000 +0100
+++ new/Crypt-SysRandom-0.008/LICENSE 2026-11-06 17:02:35.000000000 +0100
@@ -22,7 +22,7 @@
Version 1, February 1989
Copyright (C) 1989 Free Software Foundation, Inc.
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -236,8 +236,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301
USA
+ along with this program; if not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
@@ -264,8 +263,8 @@
program `Gnomovision' (a program to direct compilers to make passes
at assemblers) written by James Hacker.
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
+ <signature of Moe Ghoul>, 1 April 1989
+ Moe Ghoul, President of Vice
That's all there is to it!
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Crypt-SysRandom-0.007/MANIFEST
new/Crypt-SysRandom-0.008/MANIFEST
--- old/Crypt-SysRandom-0.007/MANIFEST 2025-02-05 21:07:18.000000000 +0100
+++ new/Crypt-SysRandom-0.008/MANIFEST 2026-11-06 17:02:35.000000000 +0100
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest
v6.032.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.037
Changes
INSTALL
LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Crypt-SysRandom-0.007/META.json
new/Crypt-SysRandom-0.008/META.json
--- old/Crypt-SysRandom-0.007/META.json 2025-02-05 21:07:18.000000000 +0100
+++ new/Crypt-SysRandom-0.008/META.json 2026-11-06 17:02:35.000000000 +0100
@@ -4,7 +4,7 @@
"Leon Timmermans <[email protected]>"
],
"dynamic_config" : 1,
- "generated_by" : "Dist::Zilla version 6.032, CPAN::Meta::Converter version
2.150010",
+ "generated_by" : "Dist::Zilla version 6.037, CPAN::Meta::Converter version
2.150013",
"license" : [
"perl_5"
],
@@ -30,11 +30,12 @@
},
"runtime" : {
"recommends" : {
- "Crypt::SysRandom::XS" : "0"
+ "Crypt::SysRandom::XS" : "0.011"
},
"requires" : {
"Carp" : "0",
"Exporter" : "0",
+ "MIME::Base64" : "3.11",
"perl" : "5.006",
"strict" : "0",
"warnings" : "0"
@@ -53,7 +54,7 @@
"provides" : {
"Crypt::SysRandom" : {
"file" : "lib/Crypt/SysRandom.pm",
- "version" : "0.007"
+ "version" : "0.008"
}
},
"release_status" : "stable",
@@ -67,9 +68,9 @@
"web" : "https://github.com/Leont/crypt-sysrandom"
}
},
- "version" : "0.007",
- "x_generated_by_perl" : "v5.38.0",
- "x_serialization_backend" : "Cpanel::JSON::XS version 4.36",
+ "version" : "0.008",
+ "x_generated_by_perl" : "v5.44.0",
+ "x_serialization_backend" : "Cpanel::JSON::XS version 4.43",
"x_spdx_expression" : "Artistic-1.0-Perl OR GPL-1.0-or-later"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Crypt-SysRandom-0.007/META.yml
new/Crypt-SysRandom-0.008/META.yml
--- old/Crypt-SysRandom-0.007/META.yml 2025-02-05 21:07:18.000000000 +0100
+++ new/Crypt-SysRandom-0.008/META.yml 2026-11-06 17:02:35.000000000 +0100
@@ -12,7 +12,7 @@
ExtUtils::MakeMaker: '0'
perl: '5.006'
dynamic_config: 1
-generated_by: 'Dist::Zilla version 6.032, CPAN::Meta::Converter version
2.150010'
+generated_by: 'Dist::Zilla version 6.037, CPAN::Meta::Converter version
2.150013'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -21,19 +21,20 @@
provides:
Crypt::SysRandom:
file: lib/Crypt/SysRandom.pm
- version: '0.007'
+ version: '0.008'
recommends:
- Crypt::SysRandom::XS: '0'
+ Crypt::SysRandom::XS: '0.011'
requires:
Carp: '0'
Exporter: '0'
+ MIME::Base64: '3.11'
perl: '5.006'
strict: '0'
warnings: '0'
resources:
bugtracker: https://github.com/Leont/crypt-sysrandom/issues
repository: git://github.com/Leont/crypt-sysrandom.git
-version: '0.007'
-x_generated_by_perl: v5.38.0
-x_serialization_backend: 'YAML::Tiny version 1.74'
+version: '0.008'
+x_generated_by_perl: v5.44.0
+x_serialization_backend: 'YAML::Tiny version 1.76'
x_spdx_expression: 'Artistic-1.0-Perl OR GPL-1.0-or-later'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Crypt-SysRandom-0.007/Makefile.PL
new/Crypt-SysRandom-0.008/Makefile.PL
--- old/Crypt-SysRandom-0.007/Makefile.PL 2025-02-05 21:07:18.000000000
+0100
+++ new/Crypt-SysRandom-0.008/Makefile.PL 2026-11-06 17:02:35.000000000
+0100
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker
v6.032.
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker
v6.037
use strict;
use warnings;
@@ -19,6 +19,7 @@
"PREREQ_PM" => {
"Carp" => 0,
"Exporter" => 0,
+ "MIME::Base64" => "3.11",
"strict" => 0,
"warnings" => 0
},
@@ -28,7 +29,7 @@
"IPC::Open3" => 0,
"Test::More" => 0
},
- "VERSION" => "0.007",
+ "VERSION" => "0.008",
"test" => {
"TESTS" => "t/*.t"
}
@@ -41,6 +42,7 @@
"File::Spec" => 0,
"IO::Handle" => 0,
"IPC::Open3" => 0,
+ "MIME::Base64" => "3.11",
"Test::More" => 0,
"strict" => 0,
"warnings" => 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Crypt-SysRandom-0.007/README
new/Crypt-SysRandom-0.008/README
--- old/Crypt-SysRandom-0.007/README 2025-02-05 21:07:18.000000000 +0100
+++ new/Crypt-SysRandom-0.008/README 2026-11-06 17:02:35.000000000 +0100
@@ -1,5 +1,5 @@
This archive contains the distribution Crypt-SysRandom,
-version 0.007:
+version 0.008:
Perl interface to system randomness
@@ -9,4 +9,4 @@
the same terms as the Perl 5 programming language system itself.
-This README file was generated by Dist::Zilla::Plugin::Readme v6.032.
+This README file was generated by Dist::Zilla::Plugin::Readme v6.037.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Crypt-SysRandom-0.007/dist.ini
new/Crypt-SysRandom-0.008/dist.ini
--- old/Crypt-SysRandom-0.007/dist.ini 2025-02-05 21:07:18.000000000 +0100
+++ new/Crypt-SysRandom-0.008/dist.ini 2026-11-06 17:02:35.000000000 +0100
@@ -15,7 +15,7 @@
skip = Win32::API
skip = Crypt::SysRandom::XS
[Prereqs / RuntimeRecommends]
-Crypt::SysRandom::XS = 0
+Crypt::SysRandom::XS = 0.011
[MetaJSON]
[GitHub::Meta]
[Git::NextVersion]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Crypt-SysRandom-0.007/lib/Crypt/SysRandom.pm
new/Crypt-SysRandom-0.008/lib/Crypt/SysRandom.pm
--- old/Crypt-SysRandom-0.007/lib/Crypt/SysRandom.pm 2025-02-05
21:07:18.000000000 +0100
+++ new/Crypt-SysRandom-0.008/lib/Crypt/SysRandom.pm 2026-11-06
17:02:35.000000000 +0100
@@ -1,19 +1,21 @@
package Crypt::SysRandom;
-$Crypt::SysRandom::VERSION = '0.007';
+$Crypt::SysRandom::VERSION = '0.008';
use strict;
use warnings;
use Exporter 'import';
-our @EXPORT_OK = 'random_bytes';
+our @EXPORT_OK = qw/random_bytes random_hex random_base64 random_base64url
random_uuid/;
+our %EXPORT_TAGS = (all => \@EXPORT_OK);
use Carp ();
use Errno ();
+use MIME::Base64 3.11 ();
+
+my $rtl_gen_random = 'INT SystemFunction036(PVOID RandomBuffer, ULONG
RandomBufferLength)';
if (eval { require Crypt::SysRandom::XS }) {
*random_bytes = \&Crypt::SysRandom::XS::random_bytes;
-} elsif (eval { require Win32::API }) {
- my $genrand = Win32::API->new('advapi32', 'INT SystemFunction036(PVOID
RandomBuffer, ULONG RandomBufferLength)')
- or die "Could not import SystemFunction036: $^E";
+} elsif (my $genrand = eval { require Win32::API; Win32::API->new('advapi32',
$rtl_gen_random) }) {
sub random_bytes_win32 {
my ($count) = @_;
return '' if $count == 0;
@@ -22,8 +24,7 @@
return $buffer;
}
*random_bytes = \&random_bytes_win32;
-} elsif (-e '/dev/urandom') {
- open my $fh, '<:raw', '/dev/urandom' or die "Couldn't open
/dev/urandom: $!";
+} elsif (open my $fh, '<:raw', '/dev/urandom') {
sub random_bytes_urandom {
my ($count) = @_;
my ($result, $offset) = ('', 0);
@@ -37,11 +38,30 @@
}
*random_bytes = \&random_bytes_urandom;
} else {
- die "No source of randomness found";
+ die "No source of randomness found, consider installing
Crypt::SysRandom::XS";
}
delete @Crypt::SysRandom::{qw(random_bytes_win32 random_bytes_urandom)};
+sub random_hex {
+ return unpack 'H*', random_bytes(@_);
+}
+
+sub random_base64 {
+ return MIME::Base64::encode_base64(random_bytes(@_), '');
+}
+
+sub random_base64url {
+ return MIME::Base64::encode_base64url(random_bytes(@_));
+}
+
+sub random_uuid {
+ my $random = random_bytes(16);
+ vec($random, 35, 2) = 2; # Variant marker, must be 2 per RFC 9562
+ vec($random, 13, 4) = 4; # Version marker, we're doing UUIDv4
+ return join '-', unpack 'H8H4H4H4H12', $random;
+}
+
1;
# ABSTRACT: Perl interface to system randomness
@@ -58,7 +78,7 @@
=head1 VERSION
-version 0.007
+version 0.008
=head1 SYNOPSIS
@@ -67,13 +87,29 @@
=head1 DESCRIPTION
-This module uses whatever interface is available to procure cryptographically
random data from the system.
+This module uses whatever interface is available to procure cryptographically
random data from the system. All functions are optionally exported.
=head1 FUNCTIONS
=head2 random_bytes($count)
-This will fetch a string of C<$count> random bytes containing
cryptographically secure random date.
+This will fetch a string of C<$count> random bytes containing
cryptographically secure random data.
+
+=head2 random_hex($count)
+
+This will fetch a string of C<$count> random bytes containing
cryptographically secure random data and hex encode it (so the result will be
twice as many bytes).
+
+=head2 random_base64($count)
+
+This will fetch a string of C<$count> random bytes containing
cryptographically secure random data and base64 encode it (so the result will
be about 33% larger).
+
+=head2 random_base64url($count)
+
+This will fetch a string of C<$count> random bytes containing
cryptographically secure random data and base64url encode it (so the result
will be about 33% larger).
+
+=head2 random_uuid()
+
+This will generate a cryptographically random UUIDv4.
=head1 Backends
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Crypt-SysRandom-0.007/t/00-compile.t
new/Crypt-SysRandom-0.008/t/00-compile.t
--- old/Crypt-SysRandom-0.007/t/00-compile.t 2025-02-05 21:07:18.000000000
+0100
+++ new/Crypt-SysRandom-0.008/t/00-compile.t 2026-11-06 17:02:35.000000000
+0100
@@ -1,8 +1,7 @@
-use 5.006;
use strict;
use warnings;
-# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.058
+# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.059
use Test::More;
@@ -32,7 +31,7 @@
# see L<perlfaq8/How can I capture STDERR from an external command?>
my $stderr = IO::Handle->new;
- diag('Running: ', join(', ', map { my $str = $_; $str =~ s/'/\\'/g; q{'} .
$str . q{'} }
+ diag('Running: ', join(', ', map { my $str = $_; $str =~ s/'/\\'/g;
q{'}.$str.q{'} }
$^X, @switches, '-e', "require q[$lib]"))
if $ENV{PERL_COMPILE_TEST_DEBUG};
@@ -54,7 +53,6 @@
-is(scalar(@warnings), 0, 'no warnings found')
- or diag 'got warnings: ', ( Test::More->can('explain') ?
Test::More::explain(\@warnings) : join("\n", '', @warnings) ) if
$ENV{AUTHOR_TESTING};
+is(scalar(@warnings), 0, 'no warnings found') or diag 'got warnings: ', (
Test::More->can('explain') ? Test::More::explain(\@warnings) : join("\n", '',
@warnings) ) if $ENV{AUTHOR_TESTING};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Crypt-SysRandom-0.007/t/basic.t
new/Crypt-SysRandom-0.008/t/basic.t
--- old/Crypt-SysRandom-0.007/t/basic.t 2025-02-05 21:07:18.000000000 +0100
+++ new/Crypt-SysRandom-0.008/t/basic.t 2026-11-06 17:02:35.000000000 +0100
@@ -5,7 +5,7 @@
use Test::More;
-use Crypt::SysRandom 'random_bytes';
+use Crypt::SysRandom ':all';
my $first = random_bytes(16);
@@ -16,4 +16,16 @@
isnt $first, $second, "\$first isn't second";
+my $uuid = random_uuid();
+like($uuid, qr/^\w{8}-\w{4}-4\w{3}-[89ab]\w{3}-\w{12}$/, 'random_uuid looks
correct');
+
+my $hex = random_hex(16);
+like($hex, qr/^[0-9a-f]{32}$/, 'random_hex looks ok');
+
+my $base64 = random_base64(16);
+like($base64, qr/^[A-Za-z0-9+\/]{22}==$/, 'random_base64 looks ok');
+
+my $base64url = random_base64url(16);
+like($base64url, qr/^[A-Za-z0-9_-]{22}$/, 'random_base64url looks ok');
+
done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Crypt-SysRandom-0.007/xt/author/pod-coverage.t
new/Crypt-SysRandom-0.008/xt/author/pod-coverage.t
--- old/Crypt-SysRandom-0.007/xt/author/pod-coverage.t 2025-02-05
21:07:18.000000000 +0100
+++ new/Crypt-SysRandom-0.008/xt/author/pod-coverage.t 2026-11-06
17:02:35.000000000 +0100
@@ -1,5 +1,5 @@
#!perl
-# This file was automatically generated by
Dist::Zilla::Plugin::PodCoverageTests.
+# This file was automatically generated by
Dist::Zilla::Plugin::PodCoverageTests
use strict;
use warnings;
use Test::Pod::Coverage 1.08;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Crypt-SysRandom-0.007/xt/author/pod-syntax.t
new/Crypt-SysRandom-0.008/xt/author/pod-syntax.t
--- old/Crypt-SysRandom-0.007/xt/author/pod-syntax.t 2025-02-05
21:07:18.000000000 +0100
+++ new/Crypt-SysRandom-0.008/xt/author/pod-syntax.t 2026-11-06
17:02:35.000000000 +0100
@@ -1,5 +1,5 @@
#!perl
-# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests.
+# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests
use strict; use warnings;
use Test::More;
use Test::Pod 1.41;
++++++ README.md ++++++
## Build Results
Current state of perl in openSUSE:Factory is

The current state of perl in the devel project build (devel:languages:perl)

++++++ _scmsync.obsinfo ++++++
mtime: 1794002774
commit: a74c6a19f9c9e2d71016a8e4302eb2d3ad46be68ec3db0f596f2c37fea2baadb
url: https://src.opensuse.org/perl/perl-Crypt-SysRandom
revision: a74c6a19f9c9e2d71016a8e4302eb2d3ad46be68ec3db0f596f2c37fea2baadb
projectscmsync: https://src.opensuse.org/perl/_ObsPrj
++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore 1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore 2026-11-06 23:06:14.000000000 +0100
@@ -0,0 +1 @@
+.osc