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

![Factory build 
results](https://br.opensuse.org/status/openSUSE:Factory/perl-File-Unpack2/standard)

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

![Devel project build 
results](https://br.opensuse.org/status/devel:languages:perl/perl-File-Unpack2)



++++++ _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

Reply via email to