Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-File-Unpack2 for
openSUSE:Factory checked in at 2026-10-31 23:08:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-File-Unpack2 (Old)
and /work/SRC/openSUSE:Factory/.perl-File-Unpack2.new.1255 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-File-Unpack2"
Sat Oct 31 23:08:45 2026 rev:2 rq:1393995 version:2.30.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-File-Unpack2/perl-File-Unpack2.changes
2023-12-02 17:13:20.889733076 +0100
+++
/work/SRC/openSUSE:Factory/.perl-File-Unpack2.new.1255/perl-File-Unpack2.changes
2026-10-31 23:10:45.728862051 +0100
@@ -1,0 +2,46 @@
+Fri Oct 23 10:05:19 UTC 2026 - Tina Müller <[email protected]>
+
+- updated to 2.30.0 (2.03)
+ see /usr/share/doc/packages/perl-File-Unpack2/Changes
+
+ 2.03 kraih Thu Oct 22 17:30:00 CEST 2026
+ - Fixed the cached cpio command being returned as an array reference on
+ every lookup after the first, which broke unpacking cpio archives when an
+ rpm had been unpacked before them in the same run.
+
+-------------------------------------------------------------------
+Wed Jul 29 07:53:53 UTC 2026 - Tina Müller <[email protected]>
+
+- updated to 2.20.0 (2.02)
+ see /usr/share/doc/packages/perl-File-Unpack2/Changes
+
+ 2.02 kraih Mon Jul 28 14:00:00 CEST 2026
+ - Clean release tarball.
+
+-------------------------------------------------------------------
+Tue Jul 28 07:47:33 UTC 2026 - Tina Müller <[email protected]>
+
+- updated to 2.10.0 (2.01)
+ see /usr/share/doc/packages/perl-File-Unpack2/Changes
+
+ 2.01 kraih Mon Jul 27 15:48:00 CEST 2026
+ - Require BSD::Resource and Filesys::Statvfs again, so the maxfilesize and
+ free-space safeguards are always enforced (they were silently disabled
when
+ the modules were only recommended and thus absent from build
environments).
+ - Skip the PDF tests when pdftotext (poppler-tools) is not installed, so
the
+ test suite passes in minimal build environments.
+ 2.0 kraih Thu Jul 23 13:50:00 CEST 2026
+ - Big module cleanup to make packaging for Linux distributions easier.
+ - Removed bundled mime helper scripts.
+ 1.5 kraih Tue Jul 22 14:30:00 CEST 2026
+ - Fixed non-portable tests failing.
+ 1.4 kraih Tue Jul 22 14:00:00 CEST 2026
+ - Improved service restart handling.
+ 1.3 kraih Tue Jul 16 14:00:00 CEST 2026
+ - Improved handling of malicious archives.
+ 1.2 kraih Tue May 22 14:00:00 CEST 2026
+ - Fixed a race condition that could create invalid JSON files.
+ 1.1 kraih Tue Apr 28 17:00:00 CEST 2026
+ - Fixed a problem where temporary archives created during unpacking were
not cleaned up.
+
+-------------------------------------------------------------------
Old:
----
File-Unpack2-1.0.tar.gz
New:
----
File-Unpack2-2.03.tar.gz
README.md
_scmsync.obsinfo
build.specials.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-File-Unpack2.spec ++++++
--- /var/tmp/diff_new_pack.9BgJmH/_old 2026-10-31 23:10:46.676901303 +0100
+++ /var/tmp/diff_new_pack.9BgJmH/_new 2026-10-31 23:10:46.678901385 +0100
@@ -1,7 +1,7 @@
#
# spec file for package perl-File-Unpack2
#
-# Copyright (c) 2023 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
@@ -16,241 +16,100 @@
#
+%define cpan_name File-Unpack2
Name: perl-File-Unpack2
-Version: 1.0
-Release: 0%{?dist}
-Summary: An strong archive file unpacker, based on mime-types
-License: GPL-1.0-or-later OR Artistic-1.0
-Group: Development/Libraries/Perl
-Source:
http://search.cpan.org/CPAN/authors/id/K/KR/KRAIH/File-Unpack2-%{version}.tar.gz
-URL: https://github.com/openSUSE/perl-File-Unpack2
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-
-BuildRequires: perl(Test::CheckManifest)
-BuildRequires: perl(Test::More)
-BuildRequires: perl(Test::Pod)
-BuildRequires: perl(Test::Pod::Coverage)
-
-BuildRequires: perl(Carp)
-BuildRequires: perl(Cwd)
-BuildRequires: perl(File::Compare)
+Version: 2.30.0
+Release: 0
+# 2.03 -> normalize -> 2.30.0
+%define cpan_version 2.03
+License: Artistic-1.0 OR GPL-1.0-or-later
+Summary: Aggressively unpack any archive, recursively, by mime type
+URL: https://metacpan.org/release/%{cpan_name}
+Source0:
https://cpan.metacpan.org/authors/id/K/KR/KRAIH/%{cpan_name}-%{cpan_version}.tar.gz
+Source100: README.md
+BuildArch: noarch
+BuildRequires: perl
+BuildRequires: perl-macros
+BuildRequires: perl(BSD::Resource)
+BuildRequires: perl(ExtUtils::MakeMaker) >= 7.12
BuildRequires: perl(File::LibMagic)
BuildRequires: perl(File::MimeInfo::Magic)
-BuildRequires: perl(File::Path)
-BuildRequires: perl(File::Temp)
-
-# SLES11 does does not have this:
-BuildRequires: perl(Compress::Raw::Lzma)
-# (provider perl-Compress-Raw-Zlib is obsoleted by installed perl)
-BuildRequires: perl(BSD::Resource)
-BuildRequires: perl(Compress::Raw::Bzip2)
-BuildRequires: perl(Compress::Raw::Zlib) >= 2.024
BuildRequires: perl(Filesys::Statvfs)
BuildRequires: perl(IPC::Run)
BuildRequires: perl(JSON)
BuildRequires: perl(String::ShellQuote)
+BuildRequires: perl(Test::More) >= 0.98
BuildRequires: perl(Text::Sprintf::Named)
-# shared-mime-info is a dependency of perl-File-MimeInfo
-# file is a dependency of perl-File-LibMagic
-BuildRequires: fdupes
-BuildRequires: file >= 5.03
-BuildRequires: shared-mime-info >= 0.60
-
-Requires: perl(Carp)
-Requires: perl(Cwd)
+Requires: perl(BSD::Resource)
Requires: perl(File::LibMagic)
Requires: perl(File::MimeInfo::Magic)
-Requires: perl(File::Path)
-Requires: perl(File::Temp)
-
-%if 0%{?suse_version} >= 1110
-# SLES11 does does not have this:
-Requires: perl(Compress::Raw::Lzma)
-%endif
-Requires: perl(Compress::Raw::Bzip2)
-Requires: perl(Compress::Raw::Zlib)
-# 2.024 is provided by perl-5.12.1 in 11.3
-Requires: file >= 5.03
-Requires: shared-mime-info >= 0.60
-Requires: perl(BSD::Resource)
-Requires: perl(Compress::Raw::Zlib) >= 2.024
Requires: perl(Filesys::Statvfs)
Requires: perl(IPC::Run)
Requires: perl(JSON)
+Requires: perl(String::ShellQuote)
Requires: perl(Text::Sprintf::Named)
-# App-cpanminus provides a bogus String::ShellQuote. We need to go by package
name here.
-# Requires: perl(String::ShellQuote)
-Requires: perl-String-ShellQuote
-
-## refer to Unpack.pm:@builtin_mime_handlers and to the helper subdirectory
-## to see what we might need:
-# grep '# Requires: ' Unpack.pm helper/*
-
-%if 0%{?suse_version} > 1110
-# 11.1 and SLES11 say: unresolvable: nothing provides xz
-BuildRequires: xz
-Requires: xz
-%else
-Recommends: xz
-%endif
-
-%if 0%{?suse_version} > 1320
-BuildRequires: lzip
-Requires: lzip
-%else
-Recommends: lzip
-%endif
-
-BuildRequires: poppler-tools
-Requires: poppler-tools
-
-## The following BuildRequires is for testing existance only.
-## If you cannot provide a package, you may remove it from both BuildRequires
-## and Requires, and move it over to Recommends.
-BuildRequires: binutils
-BuildRequires: bzip2
-BuildRequires: cabextract
-BuildRequires: cpio
-%if 0%{?suse_version} >= 1500
-BuildRequires: mkisofs
-%else
-BuildRequires: genisoimage
-%endif
-BuildRequires: gzip
-# Remove when p7zip-full is in all products
-%if 0%{suse_version} > 1500
-BuildRequires: p7zip-full
-%else
-BuildRequires: p7zip
-%endif
-BuildRequires: rpm
-BuildRequires: sharutils
-BuildRequires: tar
-BuildRequires: unzip
-Requires: binutils
-Requires: bzip2
-Requires: cabextract
-Requires: cpio
-%if 0%{?suse_version} >= 1500
-Requires: mkisofs
-%else
-Requires: genisoimage
-%endif
-Requires: gzip
-# Remove when p7zip-full is in all products
-%if 0%{suse_version} > 1500
-Requires: p7zip-full
-%else
-Requires: p7zip
-%endif
-Requires: rpm
-Requires: sharutils
-Requires: tar
-Requires: unzip
-Recommends: unrar poppler-tools xz upx antiword xar
-
-%if 0%{?suse_version} < 1140
-Requires: perl = %{perl_version}
-%else
+Provides: perl(File::Unpack2) = %{version}
+%undefine __perllib_provides
+Recommends: perl(Compress::Raw::Bzip2)
+Recommends: perl(Compress::Raw::Lzma)
+Recommends: perl(Compress::Raw::Zlib) >= 2.024
%{perl_requires}
-%endif
-Requires: file-unpack2 == %version
%description
-File::Unpack2 is an unpacker for archives and files
-(bz2/gz/zip/tar/cpio/iso/rpm/deb/cab/lzma/7z/rar/...). We call
-it strong, because it is not fooled by file suffixes, or multiply wrapped
packages.
-It reliably detects mime-types and recursivly descends into each archive found
-until it finally exposes all unpackable payload contents.
-A precise logfile can be written, describing mimetypes and unpack actions.
-Most of the known archive file formats are supported. Shell-script-style
-plugins can be added to support additinal formats.
-
-%package -n file-unpack2
-Summary: Command line tool to unpack anything
-Group: Productivity/Archiving/Compression
-Requires: perl(File::Unpack2) == %version
-
-%description -n file-unpack2
-/usr/bin/file-unpack2 is a trivial command line frontend that
-ships with the File::Unpack2 perl module.
+File::Unpack2 unpacks archives and compressed files of essentially any
+common type - 'bz2', 'gz', 'xz'/'lzma', 'zip', 'tar', 'cpio', 'iso', 'rpm',
+'deb', 'cab', '7z', 'rar', and more, down to 'pdf' and 'odf' - and it does
+so _aggressively_: it identifies each file by its *mime type* rather than
+its name, and it recursively descends into everything it produces, so a
+tar-inside-zip-inside-rpm is peeled apart to the last layer without being
+fooled by misleading (or absent) file suffixes.
+
+It was built for, and is primarily developed as a dependency of, at
+https://github.com/openSUSE/cavil, openSUSE's legal review system, whose
+job is to extract every scrap of readable text from a source package so it
+can be scanned for license information. That goal - _expose as much
+readable payload as possible_ - shapes the whole design: unpacking
+continues as deep as it can, and individual failures are logged and stepped
+over rather than aborting the run.
+
+Unpacking is dispatched to per-mime-type *helpers*. Many are built in
+(wrapping the usual command line tools such as 'tar', 'unzip' and
+'rpm2cpio'). Support for further formats is an optional extension: register
+a helper command programmatically with 'mime_helper', or point
+'mime_helper_dir' (or the 'FILE_UNPACK2_HELPER_DIR' environment variable)
+at a directory of executable helper scripts named after the mime types they
+handle. File::Unpack2 itself ships no external helpers. See unpack for the
+helper calling protocol.
+
+Because Cavil feeds it whole distributions - including binaries,
+deliberately malformed samples and archive "bombs" - File::Unpack2 is
+hardened against hostile input: it enforces optional caps on file count,
+total bytes and per-helper runtime, watches helpers for stalls, and passes
+memory limits to the 'xz'/'lzma' decoders. See new for the relevant knobs.
+
+A logfile (JSON, or a plain listing) precisely records every mime type
+detected and every unpack action taken.
+
+See the 'docs/Architecture.md' document in the distribution for a prose
+overview of how it all fits together.
%prep
-%setup -q -n File-Unpack2-%{version}
+%autosetup -n %{cpan_name}-%{cpan_version} -p1
+
+find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path
"*/script/*" ! -path "*/scripts/*" ! -name "configure" -print0 | xargs -0 chmod
644
%build
-%{__perl} Makefile.PL INSTALLDIRS=vendor
-%{__make} %{?_smp_mflags}
+perl Makefile.PL INSTALLDIRS=vendor
+%make_build
-(cd contrib && %{__make} stringsx)
+%check
+make test
%install
-%{__make} pure_install PERL_INSTALL_ROOT=%{buildroot}
-mv $RPM_BUILD_ROOT/usr/bin/{file_unpack2,file-unpack2} || :
-install -d $RPM_BUILD_ROOT/usr/share/File-Unpack2/helper/
-install helper/* $RPM_BUILD_ROOT/usr/share/File-Unpack2/helper/
-
-%fdupes $RPM_BUILD_ROOT/usr/share/File-Unpack2/
-
-ln -s /usr/bin/file-unpack2 $RPM_BUILD_ROOT/usr/bin/file_unpack2
-ln -s /usr/bin/file-unpack2 $RPM_BUILD_ROOT/usr/bin/unpack-file2
-ln -s /usr/bin/file-unpack2 $RPM_BUILD_ROOT/usr/bin/unpack-file-deep2
-ln -s /usr/bin/file-unpack2 $RPM_BUILD_ROOT/usr/bin/unpack-deep2
-ln -s /usr/bin/file-unpack2 $RPM_BUILD_ROOT/usr/bin/file-unpack-deep2
-
-## CAUTION: a line beginning with . is a macro-expanded by nroff.
-# echo .nf > file-unpack2.1
-# perl -Iblib/lib file-unpack2.pl --help >> file-unpack2.1 && true
-# rm -rf file-unpack2.1
-
-cat <<EOF> file-unpack2.pod
-=pod
-
-=head1 SYNOPSIS
-EOF
-perl file-unpack2.pl --help >> file-unpack2.pod && true
-cat <<EOF1>> file-unpack2.pod
-=head1 REFERENCES
-
-See also C<perldoc File::Unpack2>
-EOF1
-pod2man file-unpack2.pod > file-unpack2.1
-rm file-unpack2.pod
-echo file-unpack2.1 >> MANIFEST
-
-install -m0644 -D file-unpack2.1 $RPM_BUILD_ROOT/%_mandir/man1/file-unpack2.1
-ln -s %_mandir/man1/file-unpack2.1 $RPM_BUILD_ROOT/%_mandir/man1/unpack_file2.1
-install -m0755 -D contrib/stringsx $RPM_BUILD_ROOT/%_bindir/stringsx2
-rm contrib/stringsx # so that the Manifest in make check is not confused.
-
-# FIXME: use ./Build install destdir=$RPM_BUILD_ROOT create_packlist=0
-# maybe then we would not need to remove the .packlist files :-)
-find %{buildroot} -type f -name .packlist -exec rm -f {} ';'
-
-find %{buildroot} -depth -type d -exec rmdir {} 2>/dev/null ';'
-
-%{_fixperms} %{buildroot}/*
+%perl_make_install
%perl_process_packlist
%perl_gen_filelist
-## seperate bin man from the main package
-mv %{name}.files /tmp/%{name}.files
-sed -ie '/\/man\?/d' /tmp/%{name}.files
-sed -ie '/\/bin\//d' /tmp/%{name}.files
-
-%check
-export RELEASE_TESTING=1
-#%{__make} test
-
-%files -f /tmp/%{name}.files
-%defattr(-,root,root,-)
-%doc README Changes
-%dir /usr/share/File-Unpack2
-/usr/share/File-Unpack2/*
-%doc %_mandir/man3/*
-
-%files -n file-unpack2
-%defattr(-,root,root)
-/usr/bin/*
-%doc %_mandir/man1/*
+%files -f %{name}.files
+%doc Changes docs README.md
++++++ File-Unpack2-1.0.tar.gz -> File-Unpack2-2.03.tar.gz ++++++
++++ 9330 lines of diff (skipped)
++++++ 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: 1792749920
commit: e9cb79ddc5084842d32c2190d59567ca3ec959e89242b6b8038e6034ecaca4f3
url: https://src.opensuse.org/perl/perl-File-Unpack2
revision: e9cb79ddc5084842d32c2190d59567ca3ec959e89242b6b8038e6034ecaca4f3
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-10-23 12:05:20.000000000 +0200
@@ -0,0 +1 @@
+.osc