Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-Compress-Raw-Lzma for
openSUSE:Factory checked in at 2026-03-10 17:47:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Compress-Raw-Lzma (Old)
and /work/SRC/openSUSE:Factory/.perl-Compress-Raw-Lzma.new.8177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Compress-Raw-Lzma"
Tue Mar 10 17:47:52 2026 rev:25 rq:1337662 version:2.221.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/perl-Compress-Raw-Lzma/perl-Compress-Raw-Lzma.changes
2026-02-11 19:11:08.285745623 +0100
+++
/work/SRC/openSUSE:Factory/.perl-Compress-Raw-Lzma.new.8177/perl-Compress-Raw-Lzma.changes
2026-03-10 17:48:08.782750610 +0100
@@ -1,0 +2,58 @@
+Mon Mar 9 06:15:11 UTC 2026 - Tina Müller <[email protected]>
+
+- updated to 2.221.0 (2.221)
+ see /usr/share/doc/packages/perl-Compress-Raw-Lzma/Changes
+
+ 2.221 8 March 2026
+ * version 2.221
+ Sun Mar 8 13:54:24 2026 +0000
+ 5e439376a3fcc532b9725133f4323adff435ad22
+ * Add SECURITY.md
+ Sun Mar 8 12:20:30 2026 +0000
+ 20f7128eab9b0361a188a4edb181064a7dd85b29
+ 2.220 7 March 2026
+ * Update to version 2.220
+ Sat Mar 7 10:41:27 2026 +0000
+ 2d40b01b1233a09db7ac7ae41aa587d2ed7cacd0
+ * Remove obsolete TODO
+ Sat Mar 7 10:31:35 2026 +0000
+ Change by @michal-josef-spacek via
https://github.com/pmqs/Compress-Raw-Lzma/pull/19
+ 879037f30e47231d69c98ca6a4ae1fe27078e8bb
+ 2.219 24 February 2026
+ * Fix typo
+ Tue Feb 24 22:23:04 2026 +0000
+ 78e419f830b8abecdf9d3124d88863dc9e68e95a
+ * Add PERL_UNUSED_DECL for trace to silence clang warning
+ Tue Feb 24 22:21:38 2026 +0000
+ a63dc8460bebd2ed8d14304639375594a465fed7
+ * Fix indentation in Lzma.xs that triggers a clang warning
+ Tue Feb 24 22:12:01 2026 +0000
+ 761fbd10040f9047fa5653f482114da50b89c17b
+ * Remove vestigial references to Pod::Markdown. Fixes #14
+ Tue Feb 24 20:19:15 2026 +0000
+ 74a04c4617f6e7ea87afe0831eecf078607bf40e
+ * Refresh .github/Lzma.pod
+ Tue Feb 24 20:05:46 2026 +0000
+ a9257af3fad734582fea5f49fbf460b15b84b371
+ * Fix spelling typo
+ Tue Feb 24 19:45:06 2026 +0000
+ d01cface58ed3514a3eeeffe376b4e0224d175cc
+ * Document that flush returns LZMA_STREAM_END on success, rather then
LZMA_OK Fixes #16
+ Tue Feb 24 19:35:48 2026 +0000
+ 5364ae96d2d08ea70a96a1163b5efcd7cc7baf5d
+ * Refresh Changes
+ Tue Feb 24 16:56:49 2026 +0000
+ 659ec1a982ef2a83f959b9b4cabece23870f2e06
+ * Remove unused constants (#17)
+ Tue Feb 24 16:54:14 2026 +0000
+ Change by @michal-josef-spacek via
https://github.com/pmqs/Compress-Raw-Lzma/pull/17
+ ec9fa928e838d61fec5830fd47323ab108538735
+ * Update to version 2.219
+ Tue Feb 24 12:13:32 2026 +0000
+ b518ed8c8c0f3ad7e0af5eb9a85563e8b90432e4
+ * Improvements of documentation (#15)
+ Tue Feb 24 12:07:07 2026 +0000
+ Change by @michal-josef-spacek via
https://github.com/pmqs/Compress-Raw-Lzma/pull/15
+ 5407ee30848b8cf11ddcc40e105afc6157c1e2d2
+
+-------------------------------------------------------------------
Old:
----
Compress-Raw-Lzma-2.217.tar.gz
New:
----
Compress-Raw-Lzma-2.221.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Compress-Raw-Lzma.spec ++++++
--- /var/tmp/diff_new_pack.iE2xrY/_old 2026-03-10 17:48:09.458778515 +0100
+++ /var/tmp/diff_new_pack.iE2xrY/_new 2026-03-10 17:48:09.462778680 +0100
@@ -18,10 +18,10 @@
%define cpan_name Compress-Raw-Lzma
Name: perl-Compress-Raw-Lzma
-Version: 2.217.0
+Version: 2.221.0
Release: 0
-# 2.217 -> normalize -> 2.217.0
-%define cpan_version 2.217
+# 2.221 -> normalize -> 2.221.0
+%define cpan_version 2.221
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: Low-Level Perl Interface to lzma compression library
URL: https://metacpan.org/release/%{cpan_name}
@@ -30,7 +30,6 @@
Source100: README.md
BuildRequires: perl
BuildRequires: perl-macros
-BuildRequires: perl(Pod::Markdown)
Provides: perl(Compress::Raw::Lzma) = %{version}
%undefine __perllib_provides
%{perl_requires}
@@ -73,5 +72,5 @@
%perl_gen_filelist
%files -f %{name}.files
-%doc Changes README
+%doc Changes README SECURITY.md
++++++ Compress-Raw-Lzma-2.217.tar.gz -> Compress-Raw-Lzma-2.221.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Compress-Raw-Lzma-2.217/Changes
new/Compress-Raw-Lzma-2.221/Changes
--- old/Compress-Raw-Lzma-2.217/Changes 2026-02-01 00:37:40.000000000 +0100
+++ new/Compress-Raw-Lzma-2.221/Changes 2026-03-08 14:55:15.000000000 +0100
@@ -1,6 +1,75 @@
CHANGES
-------
+ 2.221 8 March 2026
+
+ * version 2.221
+ Sun Mar 8 13:54:24 2026 +0000
+ 5e439376a3fcc532b9725133f4323adff435ad22
+
+ * Add SECURITY.md
+ Sun Mar 8 12:20:30 2026 +0000
+ 20f7128eab9b0361a188a4edb181064a7dd85b29
+
+ 2.220 7 March 2026
+
+ * Update to version 2.220
+ Sat Mar 7 10:41:27 2026 +0000
+ 2d40b01b1233a09db7ac7ae41aa587d2ed7cacd0
+
+ * Remove obsolete TODO
+ Sat Mar 7 10:31:35 2026 +0000
+ Change by @michal-josef-spacek via
https://github.com/pmqs/Compress-Raw-Lzma/pull/19
+ 879037f30e47231d69c98ca6a4ae1fe27078e8bb
+
+ 2.219 24 February 2026
+
+ * Fix typo
+ Tue Feb 24 22:23:04 2026 +0000
+ 78e419f830b8abecdf9d3124d88863dc9e68e95a
+
+ * Add PERL_UNUSED_DECL for trace to silence clang warning
+ Tue Feb 24 22:21:38 2026 +0000
+ a63dc8460bebd2ed8d14304639375594a465fed7
+
+ * Fix indentation in Lzma.xs that triggers a clang warning
+ Tue Feb 24 22:12:01 2026 +0000
+ 761fbd10040f9047fa5653f482114da50b89c17b
+
+ * Remove vestigial references to Pod::Markdown. Fixes #14
+ Tue Feb 24 20:19:15 2026 +0000
+ 74a04c4617f6e7ea87afe0831eecf078607bf40e
+
+ * Refresh .github/Lzma.pod
+ Tue Feb 24 20:05:46 2026 +0000
+ a9257af3fad734582fea5f49fbf460b15b84b371
+
+ * Fix spelling typo
+ Tue Feb 24 19:45:06 2026 +0000
+ d01cface58ed3514a3eeeffe376b4e0224d175cc
+
+ * Document that flush returns LZMA_STREAM_END on success, rather then
LZMA_OK Fixes #16
+ Tue Feb 24 19:35:48 2026 +0000
+ 5364ae96d2d08ea70a96a1163b5efcd7cc7baf5d
+
+ * Refresh Changes
+ Tue Feb 24 16:56:49 2026 +0000
+ 659ec1a982ef2a83f959b9b4cabece23870f2e06
+
+ * Remove unused constants (#17)
+ Tue Feb 24 16:54:14 2026 +0000
+ Change by @michal-josef-spacek via
https://github.com/pmqs/Compress-Raw-Lzma/pull/17
+ ec9fa928e838d61fec5830fd47323ab108538735
+
+ * Update to version 2.219
+ Tue Feb 24 12:13:32 2026 +0000
+ b518ed8c8c0f3ad7e0af5eb9a85563e8b90432e4
+
+ * Improvements of documentation (#15)
+ Tue Feb 24 12:07:07 2026 +0000
+ Change by @michal-josef-spacek via
https://github.com/pmqs/Compress-Raw-Lzma/pull/15
+ 5407ee30848b8cf11ddcc40e105afc6157c1e2d2
+
2.217 31 January 2026
* Delete XZ environment variable before running interop tests
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Compress-Raw-Lzma-2.217/Lzma.xs
new/Compress-Raw-Lzma-2.221/Lzma.xs
--- old/Compress-Raw-Lzma-2.217/Lzma.xs 2026-01-31 12:35:44.000000000 +0100
+++ new/Compress-Raw-Lzma-2.221/Lzma.xs 2026-03-07 11:31:57.000000000 +0100
@@ -201,7 +201,7 @@
#ifdef NO_WRITEABLE_DATA
# define trace TRACE_DEFAULT
#else
- static int trace = TRACE_DEFAULT ;
+ PERL_UNUSED_DECL static int trace = TRACE_DEFAULT ;
#endif
/* Dodge PerlIO hiding of these functions. */
@@ -969,14 +969,12 @@
if (RETVAL != LZMA_OK)
break;
- /* if (RETVAL == LZMA_BUF_ERROR) { */
-
- if (s->stream.avail_out == 0)
- continue ;
- if (s->stream.avail_in == 0) {
- RETVAL = LZMA_OK ;
- break ;
- }
+ if (s->stream.avail_out == 0)
+ continue ;
+ if (s->stream.avail_in == 0) {
+ RETVAL = LZMA_OK ;
+ break ;
+ }
if (RETVAL != LZMA_OK)
@@ -1054,8 +1052,6 @@
break;
}
- /* TODO -- ??? */
- /* RETVAL = (RETVAL == LZMA_STREAM_END ? LZMA_OK : RETVAL) ; */
s->last_error = RETVAL ;
s->compressedBytes += cur_length + increment - s->stream.avail_out ;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Compress-Raw-Lzma-2.217/MANIFEST
new/Compress-Raw-Lzma-2.221/MANIFEST
--- old/Compress-Raw-Lzma-2.217/MANIFEST 2020-12-18 23:31:37.000000000
+0100
+++ new/Compress-Raw-Lzma-2.221/MANIFEST 2026-03-08 13:19:05.000000000
+0100
@@ -9,6 +9,7 @@
ppport.h
private/MakeUtil.pm
README
+SECURITY.md
t/001version.t
t/02filters.t
t/09limitoutput.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Compress-Raw-Lzma-2.217/META.json
new/Compress-Raw-Lzma-2.221/META.json
--- old/Compress-Raw-Lzma-2.217/META.json 2026-02-01 00:37:48.000000000
+0100
+++ new/Compress-Raw-Lzma-2.221/META.json 2026-03-08 14:57:23.000000000
+0100
@@ -24,8 +24,7 @@
"prereqs" : {
"build" : {
"requires" : {
- "ExtUtils::MakeMaker" : "0",
- "Pod::Markdown" : "0"
+ "ExtUtils::MakeMaker" : "0"
}
},
"configure" : {
@@ -46,6 +45,6 @@
"web" : "https://github.com/pmqs/Compress-Raw-Lzma"
}
},
- "version" : "2.217",
+ "version" : "2.221",
"x_serialization_backend" : "JSON::PP version 4.02"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Compress-Raw-Lzma-2.217/META.yml
new/Compress-Raw-Lzma-2.221/META.yml
--- old/Compress-Raw-Lzma-2.217/META.yml 2026-02-01 00:37:46.000000000
+0100
+++ new/Compress-Raw-Lzma-2.221/META.yml 2026-03-08 14:57:23.000000000
+0100
@@ -4,7 +4,6 @@
- 'Paul Marquess <[email protected]>'
build_requires:
ExtUtils::MakeMaker: '0'
- Pod::Markdown: '0'
configure_requires:
ExtUtils::MakeMaker: '0'
dynamic_config: 1
@@ -24,5 +23,5 @@
bugtracker: https://github.com/pmqs/Compress-Raw-Lzma/issues
homepage: https://github.com/pmqs/Compress-Raw-Lzma
repository: git://github.com/pmqs/Compress-Raw-Lzma.git
-version: '2.217'
+version: '2.221'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Compress-Raw-Lzma-2.217/Makefile.PL
new/Compress-Raw-Lzma-2.221/Makefile.PL
--- old/Compress-Raw-Lzma-2.217/Makefile.PL 2024-02-17 13:39:48.000000000
+0100
+++ new/Compress-Raw-Lzma-2.221/Makefile.PL 2026-02-24 21:15:25.000000000
+0100
@@ -81,7 +81,6 @@
((ExtUtils::MakeMaker->VERSION() gt '6.55_03')
? ('BUILD_REQUIRES' => {
"ExtUtils::MakeMaker" => 0,
- 'Pod::Markdown' => 0,
}
)
: ()),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Compress-Raw-Lzma-2.217/README
new/Compress-Raw-Lzma-2.221/README
--- old/Compress-Raw-Lzma-2.217/README 2026-01-31 12:32:17.000000000 +0100
+++ new/Compress-Raw-Lzma-2.221/README 2026-03-08 14:53:14.000000000 +0100
@@ -1,9 +1,9 @@
Compress-Raw-Lzma
- Version 2.217
+ Version 2.221
- 31 January 2026
+ 8 March 2026
Copyright (c) 2009-2026 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it
@@ -212,7 +212,7 @@
If you haven't installed Compress-Raw-Lzma then search
Compress::Raw::Lzma.pm
for a line like this:
- $VERSION = "2.217" ;
+ $VERSION = "2.221" ;
c. The version of lzma you have used.
If you have successfully installed Compress-Raw-Lzma, this one-liner
@@ -227,7 +227,7 @@
module into a fresh directory and keep a log of all the steps, including
the setting of configuration environment variables (if applicable).
- [edit config.in or set environment varialbes, if necessary]
+ [edit config.in or set environment variables, if necessary]
perl Makefile.PL
make
make test TEST_VERBOSE=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Compress-Raw-Lzma-2.217/SECURITY.md
new/Compress-Raw-Lzma-2.221/SECURITY.md
--- old/Compress-Raw-Lzma-2.217/SECURITY.md 1970-01-01 01:00:00.000000000
+0100
+++ new/Compress-Raw-Lzma-2.221/SECURITY.md 2026-03-08 13:17:33.000000000
+0100
@@ -0,0 +1,106 @@
+# Security Policy for the Compress::Raw::Lzma distribution.
+
+This is the Security Policy for Compress::Raw::Lzma.
+
+Security vulnerabilities can be reported via the project GitHub repository
+[Security
Advisories](https://github.com/pmqs/Compress-Raw-Lzma/security/advisories).
+(If you do not have access to GitHub, then you can report issues via email
+to <[email protected]>.)
+
+The latest version of the Security Policy can be found in the
+[git repository for
Compress::Raw::Lzma](https://github.com/pmqs/Compress-Raw-Lzma/blob/main/SECURITY.md).
+
+This text is based on the CPAN Security Group's Guidelines for Adding
+a Security Policy to Perl Distributions (version 1.3.0)
+https://security.metacpan.org/docs/guides/security-policy-for-authors.html
+
+# How to Report a Security Vulnerability
+
+Security vulnerabilities can be reported via the project GitHub repository
+[Security
Advisories](https://github.com/pmqs/Compress-Raw-Lzma/security/advisories).
+On the “Advisories” page you can click on the “Report a vulnerability”
+button. (If you do not have access to GitHub, then you can report issues
+via email to <[email protected]>.)
+
+Please include as many details as possible, including code samples or test
+cases, so that we can reproduce the issue. Check that your report does not
+expose any sensitive data, such as passwords, tokens, or personal
+information.
+
+If you would like any help with triaging the issue, or if the issue is
+being actively exploited, please copy the report to the CPAN Security Group
+(CPANSec) at <[email protected]>.
+
+Please *do not* use the public issue reporting system on RT or GitHub
+issues for reporting security vulnerabilities.
+
+Please do not disclose the security vulnerability in public forums until
+past any proposed date for public disclosure, or it has been made public by
+the maintainers or CPANSec. That includes patches or pull requests.
+
+For more information, see [Report a Security
+Issue](https://security.metacpan.org/docs/report.html) on the CPANSec
+website.
+
+## Response to Reports
+
+The maintainer(s) aim to acknowledge your security report as soon as
+possible. However, this project is maintained by a single person in their
+spare time, and they cannot guarantee a rapid response. If you have not
+received a response from them within 7 days, then please send a reminder to
+them and copy the report to CPANSec at <[email protected]>.
+
+Please note that the initial response to your report will be an
+acknowledgement, with a possible query for more information. It will not
+necessarily include any fixes for the issue.
+
+The project maintainer(s) may forward this issue to the security contacts
+for other projects where we believe it is relevant. This may include
+embedded libraries, system libraries, prerequisite modules or downstream
+software that uses this software.
+
+They may also forward this issue to CPANSec.
+
+# Which Software This Policy Applies To
+
+Any security vulnerabilities in Compress::Raw::Lzma are covered by this policy.
+
+Security vulnerabilities in versions of any libraries that are
+included in Compress::Raw::Lzma are also covered by this policy.
+
+Security vulnerabilities are considered anything that allows users
+to execute unauthorised code, access unauthorised resources, or to
+have an adverse impact on accessibility or performance of a system.
+
+Security vulnerabilities in upstream software (prerequisite modules
+or system libraries, or in Perl), are not covered by this policy
+unless they affect Compress::Raw::Lzma, or Compress::Raw::Lzma can
+be used to exploit vulnerabilities in them.
+
+Security vulnerabilities in downstream software (any software that
+uses Compress::Raw::Lzma, or plugins to it that are not included with the
+Compress::Raw::Lzma distribution) are not covered by this policy.
+
+## Supported Versions of Compress::Raw::Lzma
+
+The maintainer(s) will only commit to releasing security fixes for
+the latest version of Compress::Raw::Lzma.
+
+Note that the Compress::Raw::Lzma project only supports major versions of
+Perl since 5.8, even though Compress::Raw::Lzma will run on older versions
+of Perl. If a security fix requires us to increase the minimum version of
+Perl that is supported, then we may do so.
+
+# Installation and Usage Issues
+
+The distribution metadata specifies minimum versions of prerequisites that
+are required for Compress::Raw::Lzma to work. However, some of these
+prerequisites may have security vulnerabilities, and you should ensure that
+you are using up-to-date versions of these prerequisites.
+
+Where security vulnerabilities are known, the metadata may indicate newer
+versions as recommended.
+
+## Usage
+
+Please see the software documentation for further information.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Compress-Raw-Lzma-2.217/lib/Compress/Raw/Lzma.pm
new/Compress-Raw-Lzma-2.221/lib/Compress/Raw/Lzma.pm
--- old/Compress-Raw-Lzma-2.217/lib/Compress/Raw/Lzma.pm 2026-01-31
12:12:24.000000000 +0100
+++ new/Compress-Raw-Lzma-2.221/lib/Compress/Raw/Lzma.pm 2026-03-08
14:52:20.000000000 +0100
@@ -11,7 +11,7 @@
use bytes ;
our ($VERSION, $XS_VERSION, @ISA, @EXPORT, $AUTOLOAD);
-$VERSION = '2.217';
+$VERSION = '2.221';
$XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
@@ -103,25 +103,6 @@
LZMA_BACKWARD_SIZE_MIN
- LZMA_FILTER_SUBBLOCK
-
- LZMA_SUBFILTER_NONE
- LZMA_SUBFILTER_SET
- LZMA_SUBFILTER_RUN
- LZMA_SUBFILTER_FINISH
-
- LZMA_SUBBLOCK_ALIGNMENT_MIN
- LZMA_SUBBLOCK_ALIGNMENT_MAX
- LZMA_SUBBLOCK_ALIGNMENT_DEFAULT
-
- LZMA_SUBBLOCK_DATA_SIZE_MIN
- LZMA_SUBBLOCK_DATA_SIZE_MAX
- LZMA_SUBBLOCK_DATA_SIZE_DEFAULT
-
- LZMA_SUBBLOCK_RLE_OFF
- LZMA_SUBBLOCK_RLE_MIN
- LZMA_SUBBLOCK_RLE_MAX
-
LZMA_VERSION
LZMA_VERSION_MAJOR
LZMA_VERSION_MINOR
@@ -1291,11 +1272,113 @@
Flushes any pending compressed data to C<$output>. By default it terminates
the compressed data stream.
-Returns C<LZMA_OK> on success and an C<lzma> error code on failure.
+Returns C<LZMA_STREAM_END> on success and an C<lzma> error code on failure.
+
+=head1 Compression examples
+
+=head2 Simple compression with EasyEncoder
+
+ use strict;
+ use warnings;
+
+ use Compress::Raw::Lzma;
+
+ my ($lz, $status) = Compress::Raw::Lzma::EasyEncoder->new(
+ Preset => 6,
+ Extreme => 0,
+ );
+ die "Cannot create encoder: $status\n" unless $lz;
+
+ my $input = "This is the data to compress " x 100;
+ my $compressed = '';
+
+ $status = $lz->code($input, $compressed);
+ die "Compression failed: $status\n" unless $status == LZMA_OK;
+
+ $status = $lz->flush($compressed);
+ die "Flush failed: $status\n" unless $status == LZMA_STREAM_END;
+
+ print "Original size: ", length($input), "\n";
+ print "Compressed size: ", length($compressed), "\n";
+
+=head2 Streaming compression with AppendOutput
+
+ use strict;
+ use warnings;
+
+ use Compress::Raw::Lzma;
+
+ my ($lz, $status) = Compress::Raw::Lzma::EasyEncoder->new(
+ AppendOutput => 1,
+ Preset => LZMA_PRESET_DEFAULT,
+ );
+ die "Cannot create encoder: $status\n" unless $lz;
+
+ my $compressed = '';
+
+ # Compress data in chunks
+ for my $chunk ("Hello ", "world", "!") {
+ $status = $lz->code($chunk, $compressed);
+ die "Compression failed\n" unless $status == LZMA_OK;
+ }
+
+ # Finish compression
+ $status = $lz->flush($compressed);
+ die "Flush failed\n" unless $status == LZMA_STREAM_END;
+
+ print "Compressed: ", length($compressed), " bytes\n";
+
+=head2 Using custom filters with StreamEncoder
+
+ use strict;
+ use warnings;
+
+ use Compress::Raw::Lzma;
+
+ # Create a custom LZMA2 filter
+ my $filter = Lzma::Filter::Lzma2(
+ DictSize => 1024 * 1024 * 8, # 8MB dictionary
+ Lc => 3,
+ Lp => 0,
+ Pb => 2,
+ Mode => LZMA_MODE_NORMAL,
+ Nice => 128,
+ Mf => LZMA_MF_BT4,
+ Depth => 512,
+ );
+
+ my ($lz, $status) = Compress::Raw::Lzma::StreamEncoder->new(
+ Filter => $filter,
+ Check => LZMA_CHECK_SHA256,
+ );
+ die "Cannot create encoder: $status\n" unless $lz;
+
+ my $input = "Custom filter example data";
+ my $compressed = '';
+
+ $status = $lz->code($input, $compressed);
+ $status = $lz->flush(compressed);
+
+=head2 Using multiple filters (BCJ + LZMA2)
+
+ use strict;
+ use warnings;
+
+ use Compress::Raw::Lzma;
-=head2 Example
+ # Combine BCJ filter for x86 binaries with LZMA2 compression
+ my @filters = (
+ Lzma::Filter::X86(), # BCJ filter for x86 code
+ Lzma::Filter::Lzma2(), # LZMA2 compression
+ );
+
+ my ($lz, $status) = Compress::Raw::Lzma::StreamEncoder->new(
+ Filter => \@filters,
+ Check => LZMA_CHECK_CRC64,
+ );
+ die "Cannot create encoder: $status\n" unless $lz;
-TODO
+ # ... compress binary data ...
=head1 Uncompression
@@ -1387,9 +1470,6 @@
This option defaults to false.
-See L</The LimitOutput option> for a discussion on why C<LimitOutput> is
-needed and how to use it.
-
=back
=head2 ($z, $status) = new Compress::Raw::Lzma::AloneDecoder [OPTS] ;
@@ -1465,9 +1545,6 @@
This option defaults to false.
-See L</The LimitOutput option> for a discussion on why C<LimitOutput> is
-needed and how to use it.
-
=back
=head2 $status = $z->code($input, $output);
@@ -1490,9 +1567,83 @@
the uncompressed data will be appended to C<$output>. If not enabled,
C<$output> will be truncated before the uncompressed data is written to it.
-=head1 Filters
+=head1 Uncompression examples
+
+=head2 Simple uncompression with AutoDecoder
+
+ use strict;
+ use warnings;
-TODO - more here
+ use Compress::Raw::Lzma;
+
+ # $compressed contains xz/lzma compressed data
+ my $compressed = ...;
+
+ my ($lz, $status) = Compress::Raw::Lzma::AutoDecoder->new(
+ AppendOutput => 1,
+ ConsumeInput => 1,
+ );
+ die "Cannot create decoder: $status\n" unless $lz;
+
+ my $uncompressed = '';
+ $status = $lz->code($compressed, $uncompressed);
+ die "Decompression failed: $status\n"
+ unless $status == LZMA_STREAM_END;
+
+ print "Uncompressed size: ", length($uncompressed), "\n";
+
+=head2 Streaming uncompression with LimitOutput
+
+ use strict;
+ use warnings;
+
+ use Compress::Raw::Lzma;
+
+ my ($lz, $status) = Compress::Raw::Lzma::AutoDecoder->new(
+ LimitOutput => 1,
+ ConsumeInput => 1,
+ Bufsize => 4096,
+ );
+ die "Cannot create decoder: $status\n" unless $lz;
+
+ # Process compressed data in chunks
+ my $compressed = ...; # your compressed data
+ my $uncompressed = '';
+
+ while (length($compressed) > 0) {
+ my $output = '';
+ $status = $lz->code($compressed, $output);
+
+ $uncompressed .= $output;
+
+ last if $status == LZMA_STREAM_END;
+ die "Decompression error: $status\n" unless $status == LZMA_OK;
+ }
+
+ print "Total uncompressed: ", length($uncompressed), " bytes\n";
+
+=head2 Uncompressing specific format with AloneDecoder
+
+ use strict;
+ use warnings;
+
+ use Compress::Raw::Lzma;
+
+ # For legacy .lzma format (lzma_alone)
+ my ($lz, $status) = Compress::Raw::Lzma::AloneDecoder->new(
+ MemLimit => 128 * 1024 * 1024, # 128 MB limit
+ AppendOutput => 0,
+ );
+ die "Cannot create decoder: $status\n" unless $lz;
+
+ my $compressed = ...; # .lzma format data
+ my $output = '';
+
+ $status = $lz->code($compressed, $output);
+ die "Decompression failed: $status\n"
+ unless $status == LZMA_STREAM_END;
+
+=head1 Filters
A number of the Lzma compression interfaces (namely
C<Compress::Raw::Lzma::StreamEncoder> &
@@ -1504,7 +1655,8 @@
=head2 Lzma::Filter::Lzma
-The C<Lzma::Filter::Lzma> class is used to... TODO - more here
+The C<Lzma::Filter::Lzma> class is the primary compression filter for LZMA
+algorithms. It provides fine-grained control over compression parameters.
There are two subclasses of C<Lzma::Filter::Lzma>, namely
C<Lzma::Filter::Lzma1> and C<Lzma::Filter::Lzma2>.
@@ -1668,6 +1820,183 @@
=back
+=head1 Filter examples
+
+=head2 Using LZMA2 filter with custom dictionary size
+
+ use strict;
+ use warnings;
+
+ use Compress::Raw::Lzma;
+
+ # Create LZMA2 filter with large dictionary for better compression
+ my $filter = Lzma::Filter::Lzma2(
+ DictSize => 16 * 1024 * 1024, # 16 MB dictionary
+ Lc => 3,
+ Lp => 0,
+ Pb => 2,
+ );
+
+ my ($lz, $status) = Compress::Raw::Lzma::StreamEncoder->new(
+ Filter => $filter,
+ Check => LZMA_CHECK_CRC64,
+ );
+ die "Cannot create encoder: $status\n" unless $lz;
+
+ my $input = "Data to compress...";
+ my $output = '';
+
+ $lz->code($input, $output);
+ $lz->flush($output);
+
+=head2 Using LZMA1 filter for legacy .lzma format
+
+ use strict;
+ use warnings;
+
+ use Compress::Raw::Lzma;
+
+ # LZMA1 is used for the legacy .lzma format
+ my $filter = Lzma::Filter::Lzma1(
+ DictSize => 8 * 1024 * 1024,
+ Mode => LZMA_MODE_NORMAL,
+ Mf => LZMA_MF_BT4,
+ Nice => 273,
+ );
+
+ my ($lz, $status) = Compress::Raw::Lzma::AloneEncoder->new(
+ Filter => $filter,
+ );
+ die "Cannot create encoder: $status\n" unless $lz;
+
+=head2 Using preset-based LZMA2 filter
+
+ use strict;
+ use warnings;
+
+ use Compress::Raw::Lzma;
+
+ # Use preset instead of manually configuring parameters
+ # Preset 9 = maximum compression
+ my $filter = Lzma::Filter::Lzma2::Preset(9 | LZMA_PRESET_EXTREME);
+
+ my ($lz, $status) = Compress::Raw::Lzma::StreamEncoder->new(
+ Filter => $filter,
+ );
+ die "Cannot create encoder: $status\n" unless $lz;
+
+=head2 Combining Delta filter with LZMA2
+
+ use strict;
+ use warnings;
+
+ use Compress::Raw::Lzma;
+
+ # Delta filter is useful for data with small changes between bytes
+ # (e.g., uncompressed images, audio samples)
+ my @filters = (
+ Lzma::Filter::Delta(
+ Type => LZMA_DELTA_TYPE_BYTE,
+ Distance => 1,
+ ),
+ Lzma::Filter::Lzma2(
+ DictSize => 8 * 1024 * 1024,
+ ),
+ );
+
+ my ($lz, $status) = Compress::Raw::Lzma::StreamEncoder->new(
+ Filter => \@filters,
+ Check => LZMA_CHECK_CRC32,
+ );
+ die "Cannot create encoder: $status\n" unless $lz;
+
+ # Compress image or audio data
+ my $raw_data = ...;
+ my $compressed = '';
+
+ $lz->code($raw_data, $compressed);
+ $lz->flush($compressed);
+
+=head2 Using BCJ filter for x86 executable compression
+
+ use strict;
+ use warnings;
+
+ use Compress::Raw::Lzma;
+
+ # BCJ (Branch/Call/Jump) filter optimizes compression of x86 binaries
+ my @filters = (
+ Lzma::Filter::X86(Offset => 0),
+ Lzma::Filter::Lzma2(),
+ );
+
+ my ($lz, $status) = Compress::Raw::Lzma::StreamEncoder->new(
+ Filter => \@filters,
+ Check => LZMA_CHECK_SHA256,
+ );
+ die "Cannot create encoder: $status\n" unless $lz;
+
+ # Read and compress x86 binary
+ open my $fh, '<', 'program.exe' or die $!;
+ binmode $fh;
+ my $binary = do { local $/; <$fh> };
+ close $fh;
+
+ my $compressed = '';
+ $lz->code($binary, $compressed);
+ $lz->flush($compressed);
+
+ print "Original: ", length($binary), " bytes\n";
+ print "Compressed: ", length($compressed), " bytes\n";
+
+=head2 Using ARM filter for ARM binaries
+
+ use strict;
+ use warnings;
+
+ use Compress::Raw::Lzma;
+
+ # For ARM executables
+ my @filters = (
+ Lzma::Filter::ARM(),
+ Lzma::Filter::Lzma2(
+ DictSize => 4 * 1024 * 1024,
+ ),
+ );
+
+ my ($lz, $status) = Compress::Raw::Lzma::StreamEncoder->new(
+ Filter => \@filters,
+ );
+ die "Cannot create encoder: $status\n" unless $lz;
+
+=head2 Maximum compression with multiple filters
+
+ use strict;
+ use warnings;
+
+ use Compress::Raw::Lzma;
+
+ # Combine filters for maximum compression
+ my @filters = (
+ Lzma::Filter::Delta(Distance => 1),
+ Lzma::Filter::Lzma2(
+ DictSize => 64 * 1024 * 1024, # 64 MB
+ Lc => 4,
+ Lp => 0,
+ Pb => 2,
+ Mode => LZMA_MODE_NORMAL,
+ Nice => 273,
+ Mf => LZMA_MF_BT4,
+ Depth => 1024,
+ ),
+ );
+
+ my ($lz, $status) = Compress::Raw::Lzma::StreamEncoder->new(
+ Filter => \@filters,
+ Check => LZMA_CHECK_SHA256,
+ );
+ die "Cannot create encoder: $status\n" unless $lz;
+
=head1 Misc
=head2 my $version = Compress::Raw::Lzma::lzma_version_number();
@@ -1692,9 +2021,361 @@
=head1 Constants
-The following lzma constants are exported by this module
+The following lzma constants are exported by this module.
+
+=head2 Return/Status Codes
+
+=over 5
+
+=item LZMA_OK
+
+Operation completed successfully.
+
+=item LZMA_STREAM_END
+
+End of stream was reached. The complete compressed data has been
+decoded/encoded.
+
+=item LZMA_NO_CHECK
+
+Input stream has no integrity check.
+
+=item LZMA_UNSUPPORTED_CHECK
+
+Cannot calculate the integrity check (not supported by this build).
+
+=item LZMA_GET_CHECK
+
+Integrity check type is now available.
+
+=item LZMA_MEM_ERROR
+
+Cannot allocate memory.
+
+=item LZMA_MEMLIMIT_ERROR
+
+Memory usage limit was reached.
+
+=item LZMA_FORMAT_ERROR
+
+File format not recognized.
+
+=item LZMA_OPTIONS_ERROR
+
+Invalid or unsupported options.
+
+=item LZMA_DATA_ERROR
+
+Data is corrupt.
+
+=item LZMA_BUF_ERROR
+
+No progress is possible (stream is truncated or corrupt).
+
+=item LZMA_PROG_ERROR
+
+Programming error (should never happen in correct usage).
+
+=back
+
+=head2 Flush Modes
+
+=over 5
+
+=item LZMA_RUN
+
+Continue coding. Used for normal operation.
+
+=item LZMA_SYNC_FLUSH
+
+Make all the input available at output. Not commonly used with LZMA.
+
+=item LZMA_FULL_FLUSH
+
+Finish encoding of the current Block. Not commonly used.
+
+=item LZMA_FINISH
+
+Finish the coding operation. All input must have been given to the encoder.
+
+=back
+
+=head2 Integrity Check Types
+
+=over 5
+
+=item LZMA_CHECK_NONE
+
+No Check is calculated.
+
+=item LZMA_CHECK_CRC32
+
+CRC32 using the polynomial from IEEE-802.3.
+
+=item LZMA_CHECK_CRC64
+
+CRC64 using the polynomial from ECMA-182.
+
+=item LZMA_CHECK_SHA256
+
+SHA-256 checksum.
+
+=item LZMA_CHECK_ID_MAX
+
+Maximum valid Check ID.
+
+=item LZMA_CHECK_SIZE_MAX
+
+Maximum size of any Check algorithm.
+
+=back
+
+=head2 Preset and Compression Level
+
+=over 5
+
+=item LZMA_PRESET_DEFAULT
+
+Default compression preset (currently 6).
+
+=item LZMA_PRESET_LEVEL_MASK
+
+Mask for preset level (0-9).
+
+=item LZMA_PRESET_EXTREME
+
+Extreme compression preset flag. Can be combined with preset level
+using bitwise OR (e.g., C<6 | LZMA_PRESET_EXTREME>).
+
+=back
+
+=head2 Stream Flags
+
+=over 5
+
+=item LZMA_TELL_NO_CHECK
+
+Accept streams with no integrity check.
+
+=item LZMA_TELL_UNSUPPORTED_CHECK
+
+Accept streams with unsupported integrity check.
+
+=item LZMA_TELL_ANY_CHECK
+
+Accept any type of integrity check.
+
+=item LZMA_CONCATENATED
+
+Enable support for concatenated streams.
+
+=back
+
+=head2 Match Finder Types
+
+=over 5
+
+=item LZMA_MF_HC3
+
+Hash Chain with 3 byte hashing.
+
+=item LZMA_MF_HC4
+
+Hash Chain with 4 byte hashing.
+
+=item LZMA_MF_BT2
+
+Binary Tree with 2 byte hashing.
+
+=item LZMA_MF_BT3
+
+Binary Tree with 3 byte hashing.
+
+=item LZMA_MF_BT4
+
+Binary Tree with 4 byte hashing (default and recommended).
+
+=back
+
+=head2 Compression Mode
+
+=over 5
+
+=item LZMA_MODE_FAST
+
+Fast compression mode.
+
+=item LZMA_MODE_NORMAL
+
+Normal compression mode (default).
+
+=back
+
+=head2 Dictionary and Parameter Limits
+
+=over 5
+
+=item LZMA_DICT_SIZE_MIN
+
+Minimum dictionary size (4 KiB).
+
+=item LZMA_DICT_SIZE_DEFAULT
+
+Default dictionary size.
+
+=item LZMA_LCLP_MIN
+
+Minimum for lc and lp (0).
+
+=item LZMA_LCLP_MAX
+
+Maximum for lc and lp (4).
+
+=item LZMA_LC_DEFAULT
+
+Default number of literal context bits (3).
+
+=item LZMA_LP_DEFAULT
+
+Default number of literal position bits (0).
+
+=item LZMA_PB_MIN
+
+Minimum number of position bits (0).
-TODO - more here
+=item LZMA_PB_MAX
+
+Maximum number of position bits (4).
+
+=item LZMA_PB_DEFAULT
+
+Default number of position bits (2).
+
+=back
+
+=head2 BCJ (Branch/Call/Jump) Filters
+
+Architecture-specific filters for executable code:
+
+=over 5
+
+=item LZMA_FILTER_X86
+
+Filter for x86 (32-bit and 64-bit) binaries.
+
+=item LZMA_FILTER_POWERPC
+
+Filter for Big endian PowerPC binaries.
+
+=item LZMA_FILTER_IA64
+
+Filter for IA-64 (Itanium) binaries.
+
+=item LZMA_FILTER_ARM
+
+Filter for ARM binaries.
+
+=item LZMA_FILTER_ARMTHUMB
+
+Filter for ARM-Thumb binaries.
+
+=item LZMA_FILTER_SPARC
+
+Filter for SPARC binaries.
+
+=back
+
+=head2 Delta Filter
+
+=over 5
+
+=item LZMA_FILTER_DELTA
+
+Delta filter ID.
+
+=item LZMA_DELTA_TYPE_BYTE
+
+Byte-wise delta calculation.
+
+=item LZMA_DELTA_DIST_MIN
+
+Minimum delta distance (1).
+
+=item LZMA_DELTA_DIST_MAX
+
+Maximum delta distance (256).
+
+=back
+
+=head2 LZMA Filters
+
+=over 5
+
+=item LZMA_FILTER_LZMA2
+
+LZMA2 filter (used in .xz format).
+
+=item LZMA_FILTERS_MAX
+
+Maximum number of filters in a chain (4).
+
+=back
+
+=head2 Stream Header and Block
+
+=over 5
+
+=item LZMA_STREAM_HEADER_SIZE
+
+Size of Stream Header (12 bytes).
+
+=item LZMA_BLOCK_HEADER_SIZE_MIN
+
+Minimum size of Block Header.
+
+=item LZMA_BLOCK_HEADER_SIZE_MAX
+
+Maximum size of Block Header.
+
+=item LZMA_BACKWARD_SIZE_MIN
+
+Minimum Backward Size.
+
+=back
+
+=head2 Version Information
+
+=over 5
+
+=item LZMA_VERSION
+
+Encoded version number of liblzma.
+
+=item LZMA_VERSION_MAJOR
+
+Major version number.
+
+=item LZMA_VERSION_MINOR
+
+Minor version number.
+
+=item LZMA_VERSION_PATCH
+
+Patch version number.
+
+=item LZMA_VERSION_STABILITY
+
+Stability indicator.
+
+=item LZMA_VERSION_STABILITY_STRING
+
+Stability as string (e.g., "alpha", "beta", "stable").
+
+=item LZMA_VERSION_STRING
+
+Full version string.
+
+=back
=head1 SUPPORT
++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.iE2xrY/_old 2026-03-10 17:48:09.774791560 +0100
+++ /var/tmp/diff_new_pack.iE2xrY/_new 2026-03-10 17:48:09.790792221 +0100
@@ -1,6 +1,6 @@
-mtime: 1769926263
-commit: ab33c710f0d8fd5a82997113c4de7b2409db6e2c14a31194747b7e9517bae90e
+mtime: 1773036912
+commit: c7976df01576e40cf6aa0a56f0f3fe22addbd0bc35d7c5ced10ee681a7d3c02d
url: https://src.opensuse.org/perl/perl-Compress-Raw-Lzma.git
-revision: ab33c710f0d8fd5a82997113c4de7b2409db6e2c14a31194747b7e9517bae90e
+revision: c7976df01576e40cf6aa0a56f0f3fe22addbd0bc35d7c5ced10ee681a7d3c02d
projectscmsync: https://src.opensuse.org/perl/_ObsPrj
++++++ build.specials.obscpio ++++++
++++++ 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-03-09 13:27:23.000000000 +0100
@@ -0,0 +1 @@
+.osc