From e07fd4422f718c1ae128c486a583e591ca44d238 Mon Sep 17 00:00:00 2001 From: Jan Palus Date: Wed, 5 Jul 2023 13:03:17 +0200 Subject: [PATCH] detect perl modules with package version; rel 3 submitted upstream in https://bugs.astron.com/view.php?id=464 --- file.spec | 4 +- perl-package-version.patch | 76 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 perl-package-version.patch diff --git a/file.spec b/file.spec index 1edd4e7..d06f62a 100644 --- a/file.spec +++ b/file.spec @@ -35,7 +35,7 @@ Summary(zh_CN.UTF-8): 判定文件类型的工具。 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 @@ -49,6 +49,7 @@ Patch0: searchpath.patch 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 @@ -290,6 +291,7 @@ Wiązania Pythona 3 do biblioteki libmagic. %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 %if "%{_ver_lt '%{cc_version}' '3.4'}" == "1" %{__sed} -i -e 's,-Wextra,,' configure.ac diff --git a/perl-package-version.patch b/perl-package-version.patch new file mode 100644 index 0000000..f8f39bf --- /dev/null +++ b/perl-package-version.patch @@ -0,0 +1,76 @@ +From c5a6327f5c95eae5537f0de8b1b6e62b03146cb1 Mon Sep 17 00:00:00 2001 +From: Jan Palus +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 +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 ; + +add support for detecting: + +package ; + +where 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 + -- 2.44.0