Summary(zh_TW.UTF-8): 用於決定檔案類型的一個工具程式。
Name: file
Version: 5.44
-Release: 2
+Release: 3
License: distributable
Group: Applications/File
Source0: ftp://ftp.astron.com/pub/file/%{name}-%{version}.tar.gz
Patch1: automake.patch
Patch2: %{name}-gettext-no-random-translations.patch
Patch3: name-use-count.patch
+Patch4: perl-package-version.patch
URL: http://www.darwinsys.com/file/
BuildRequires: autoconf >= 2.50
BuildRequires: automake
%patch1 -p1
%patch2 -p1
%patch3 -p1
+%patch4 -p1
%if "%{_ver_lt '%{cc_version}' '3.4'}" == "1"
%{__sed} -i -e 's,-Wextra,,' configure.ac
--- /dev/null
+From c5a6327f5c95eae5537f0de8b1b6e62b03146cb1 Mon Sep 17 00:00:00 2001
+From: Jan Palus <jpalus@fastmail.com>
+Date: Wed, 5 Jul 2023 12:09:50 +0200
+Subject: [PATCH 1/2] perl: use [:space:] class instead of fixed spaces
+
+---
+ magic/Magdir/perl | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/magic/Magdir/perl b/magic/Magdir/perl
+index c391d4a7..db1d633e 100644
+--- a/magic/Magdir/perl
++++ b/magic/Magdir/perl
+@@ -34,12 +34,12 @@
+ # by Dmitry V. Levin and Alexey Tourbin
+ # check the first line
+ 0 search/8192 package
+->0 regex \^package[\ \t]+[0-9A-Za-z_:]+\ *; Perl5 module source text
++>0 regex \^package[[:space:]]+[0-9A-Za-z_:]+[[:space:]]*; Perl5 module source text
+ !:strength + 40
+ # not 'p', check other lines
+ 0 search/8192 !p
+->0 regex \^package[\ \t]+[0-9A-Za-z_:]+\ *;
+->>0 regex \^1\ *;|\^(use|sub|my)\ .*[(;{=] Perl5 module source text
++>0 regex \^package[[:space:]]+[0-9A-Za-z_:]+[[:space:]]*;
++>>0 regex \^1[[:space:]]*;|\^(use|sub|my)[[:space:]].*[(;{=] Perl5 module source text
+ !:strength + 75
+
+ # Perl POD documents
+--
+2.41.0
+
+From b99012a91068e255c2e3fa7c42eafc27dedccdc4 Mon Sep 17 00:00:00 2001
+From: Jan Palus <jpalus@fastmail.com>
+Date: Wed, 5 Jul 2023 12:12:06 +0200
+Subject: [PATCH 2/2] perl: detect files with version after package name
+
+as per https://perldoc.perl.org/functions/package perl allows to give
+version after package name so in addition to:
+
+package <package-name>;
+
+add support for detecting:
+
+package <package-name> <version>;
+
+where <version> is version string consisting of numbers and dotts,
+optionally prefixed with 'v'. Examples:
+
+1.2.3
+v1.0
+---
+ magic/Magdir/perl | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/magic/Magdir/perl b/magic/Magdir/perl
+index db1d633e..d4e8080e 100644
+--- a/magic/Magdir/perl
++++ b/magic/Magdir/perl
+@@ -34,11 +34,11 @@
+ # by Dmitry V. Levin and Alexey Tourbin
+ # check the first line
+ 0 search/8192 package
+->0 regex \^package[[:space:]]+[0-9A-Za-z_:]+[[:space:]]*; Perl5 module source text
++>0 regex \^package[[:space:]]+[0-9A-Za-z_:]+[[:space:]]*([[:space:]]v?[0-9][0-9.]*)?[[:space:]]*; Perl5 module source text
+ !:strength + 40
+ # not 'p', check other lines
+ 0 search/8192 !p
+->0 regex \^package[[:space:]]+[0-9A-Za-z_:]+[[:space:]]*;
++>0 regex \^package[[:space:]]+[0-9A-Za-z_:]+[[:space:]]*([[:space:]]v?[0-9][0-9.]*)?[[:space:]]*;
+ >>0 regex \^1[[:space:]]*;|\^(use|sub|my)[[:space:]].*[(;{=] Perl5 module source text
+ !:strength + 75
+
+--
+2.41.0
+