commit 70441bb6bed06142f8fc5bbc848544f2bc841bf7
Author: Jan RÄ™korajski <[email protected]>
Date:   Mon Nov 25 02:19:09 2024 +0100

    - perl macros moved to perl-rpm-packaging

 perl-heredoc-matching.patch |  39 ------------
 perl.prov                   | 142 --------------------------------------------
 rpm-perl-macros.patch       | 124 --------------------------------------
 rpm-perl-req-perlfile.patch | 123 --------------------------------------
 rpm-perl_req-INC_dirs.patch |  34 -----------
 5 files changed, 462 deletions(-)
---
diff --git a/perl-heredoc-matching.patch b/perl-heredoc-matching.patch
deleted file mode 100644
index 8ad0160..0000000
--- a/perl-heredoc-matching.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 73419594af15e94e77bae413d9754d3775cf0280 Mon Sep 17 00:00:00 2001
-From: Jan Palus <[email protected]>
-Date: Tue, 12 Dec 2023 19:45:54 +0100
-Subject: [PATCH] perl.req: make heredoc block matching more generic
-
-match any <<MARKER providing:
-
-- it is not in comment (not preceded by #)
-- it can't be string literal (not preceded by ' or ")
-- as a sanity check it must be preceded by either whitespace, comma or
-  equals sign
-
-adds support for
-
-   return <<"EOS";
-
-   fun(arg, <<"EOS");
----
- scripts/perl.req | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/scripts/perl.req b/scripts/perl.req
-index 1b50c50847..8bfa38771e 100755
---- a/scripts/perl.req
-+++ b/scripts/perl.req
-@@ -102,10 +102,10 @@ sub process_file {
- 
-   while (<FILE>) {
- 
--    # skip the "= <<" block
-+    # skip the heredoc block
- 
--    if (m/^\s*(?:my\s*)?\$(?:.*)\s*=\s*<<\s*(["'`])(.+?)\1/ ||
--        m/^\s*(?:my\s*)?\$(.*)\s*=\s*<<(\w+)\s*;/) {
-+    if (m/^[^'"#]+[\s,=(]<<\s*(["'`])(.+?)\1/ ||
-+        m/^[^'"#]+[\s,=(](<<)(\w+)\s*;/) {
-       $tag = $2;
-       while (<FILE>) {
-         chomp;
diff --git a/perl.prov b/perl.prov
deleted file mode 100644
index 6e98f9a..0000000
--- a/perl.prov
+++ /dev/null
@@ -1,142 +0,0 @@
-#!/usr/bin/perl
-use strict;
-
-# perl.prov - find information about perl modules for RPM
-# $Id$
-
-# It's questionable if we should provide perl(Foo::Bar) for modules
-# from outside @INC (possibly shipped with some applications).
-# I think we should not, and provide them only for the perl.req script,
-# while it scans files in that particular application.
-
-
-# check if we are called directly
-if ($0 =~ m#(?:^|/)perl.prov$#) {
-       my $prov = new RPM::PerlReq;
-       # process @ARGV or STDIN
-       foreach ( @ARGV ? @ARGV : <> ) {
-               chomp;
-               next if -l || !-f _;                # skip non-files and 
symlinks
-               next if m#/usr/(?:share/doc|src)/#; # lot of false alarms; 
warning: we omit ^ here
-               next if !m#\.p[ml]$#;               # we only care about *.pm 
and *.pl files
-               $prov->process_file($_);
-       }
-       $prov->print_result;
-}
-
-
-package RPM::PerlReq;
-use Safe;
-
-sub new {
-       my $class = shift;
-       my $self = {
-               inc => [
-                       sort { length $b cmp length $a } grep m#^/#,
-                       map { y#/#/#s; s#/$##; $_ } @INC
-               ],
-               provide => {},
-               safe    => Safe->new,
-               @_,
-       };
-       bless $self, $class;
-}
-
-# print out what we found
-sub print_result {
-       my $self = shift;
-       for (sort keys %{ $self->{provide} }) {
-               print "perl($_)"
-                 . (length $self->{provide}->{$_} ? " = 
$self->{provide}->{$_}" : '')
-                 . "\n";
-       }
-}
-
-sub process_file {
-       my $self = shift;
-       my $file = shift;
-       my ( $package, $version );
-
-       # if the file lives under @INC, we can
-       # obtain the package name from it's path
-       for (@{ $self->{inc} }) {
-               if ($file =~ m#\Q$_\E/(.+)$#) {    # we can't use ^ here
-                       $package = $1;
-
-                       if ($package !~ s/\.pm$//) {    # it's a *.pl
-                       #       $package =~ m#([^/]+)$#;
-                       #       $provide{$1} = '';
-                               return 1;
-                       }
-
-                       $package =~ s#/#::#g;
-                       last;
-               }
-       }
-
-       # it can be a *.pl oustide @INC
-       return if /\.pl$/;
-
-       local *FILE;
-       open FILE, $file or die "$0: cannot open file `$file': $!";
-
-       while (<FILE>) {
-
-               # skip the documentation
-               next
-                 if m/^=(?:head1|head2|pod|item|begin|for|over)\b/
-                    ... ( m/^=(?:cut|end)\b/ || $. == 1 );
-
-               # skip the data section
-               last if m/^__(?:DATA|END)__$/;
-
-               # search for the package name
-               if (
-                       (!defined $package || !defined $version)
-                       && ( my ($pack, $ver) = 
m/^\s*(?:\{\s*)?package\s+([_:a-zA-Z0-9]+?)\s*(?:v?([0-9_.]+)\s*)?[;{]/)
-                       && $1 ne 'main'
-                       && match_the_path( $file, $1 )
-                 )
-               {
-                       $package = $pack;
-                       $version = $ver;
-               }
-
-               if ( !defined $version && /([\$*])(([\w\:\']*)\bVERSION)\b.*\=/ 
) {
-                       ( $version = $self->{safe}->reval($_) ) =~ 
s/^\s+|alpha|beta|\s+$//g;
-                       if ( defined $version
-                               && length $version
-                               && ($version =~ /[^\d\._abcdefgh]/
-                                       || $version =~ /^[^\d]*$/ ))
-                       {
-                               warn "$0: weird version number in $file: 
[$version]\n";
-                               $version = '';
-                       }
-               }
-       }
-
-       unless ( defined $package ) {
-               warn "$0: weird, cannot determine the package name for 
`$file'\n";
-               return 0;
-       }
-
-       $self->{provide}->{$package} = $version;
-
-       close FILE or die "$0: cannot close file `$file': $!";
-
-       1;
-}
-
-
-# Returns C<true> if the package name matches the path,
-# so you can use() it.  C<false> otherwise.
-sub match_the_path {
-       my ( $file, $pack ) = @_;
-       $pack =~ s#::#/#g;
-       $file =~ /\Q$pack\E(?:\.pm)?$/;
-}
-
-
-1;
-
-# vim: ts=4 sw=4 noet noai nosi cin
diff --git a/rpm-perl-macros.patch b/rpm-perl-macros.patch
deleted file mode 100644
index bd04c59..0000000
--- a/rpm-perl-macros.patch
+++ /dev/null
@@ -1,124 +0,0 @@
---- rpm-5.3.1/configure.ac.wiget       2010-05-22 17:15:11.000000000 +0200
-+++ rpm-5.3.1/configure.ac     2010-05-30 16:37:59.526924459 +0200
-@@ -1100,7 +1100,7 @@ AC_CONFIG_FILES([ po/Makefile.in
- 
- AC_CONFIG_FILES([Makefile
-       rpmio/Makefile lib/Makefile build/Makefile sign/Makefile
--      po/Makefile.in scripts/Makefile fileattrs/Makefile
-+      po/Makefile.in scripts/Makefile scripts/perl.req scripts/perl.prov 
fileattrs/Makefile
-       misc/Makefile 
-       docs/Makefile
-       docs/man/Makefile
---- rpm-5.3.1/scripts/perl.req.wiget   2008-10-26 10:50:53.000000000 +0100
-+++ rpm-5.3.1/scripts/perl.req 2010-05-30 16:35:36.999438206 +0200
-@@ -45,7 +45,11 @@
- 
- if ("@ARGV") {
-   foreach (@ARGV) {
--    process_file($_);
-+    if (m=/usr/(sbin|bin|lib|share|X11R6/(lib|bin))/=) {
-+      if (! m=(/(doc|man|info|usr/src)/|\.(so|ph|h|html|pod)$)=) {
-+        process_file($_);
-+      }
-+    }
-   }
- } else {
- 
-@@ -53,7 +57,11 @@
-   # contents of the file.
- 
-   foreach (<>) {
--    process_file($_);
-+     if (m=/usr/(sbin|bin|lib|share|X11R6/(lib|bin))/=) {
-+       if (! m=(/(doc|man|info|usr/src)/|\.(so|ph|h|html|pod)$)=) {
-+         process_file($_);
-+       }
-+     }
-   }
- }
- 
-@@ -261,19 +269,41 @@
- 
-       $module =~ s/\(\s*\)$//;
- 
--      if ( $module =~ m/^v?([0-9._]+)$/ ) {
-+      if ( $module =~ m/^(v?)([0-9._]+)$/ ) {
-       # if module is a number then both require and use interpret that
-       # to mean that a particular version of perl is specified
- 
--      my $ver = $1;
--      if ($ver =~ /5.00/) {
--        $perlreq{"0:$ver"} = 1;
--        next;
--      }
--      else {
--        $perlreq{"1:$ver"} = 1;
--        next;
--      }
-+      my $ver=$2;
-+      if (($1 eq 'v') or ($ver =~ /[0-9]+\.[0-9]+\.[0-9]+/)) {
-+        # $V-style
-+        if ($ver =~ m/5\.([0-5])(\.([0-9]+))?$/) {
-+          if (defined $3) {
-+            print "perl-base >= 0:5.00$1_$3\n";
-+          } else {
-+            print "perl-base >= 0:5.00$1\n";
-+          }
-+        } else {
-+          print "perl-base >= 1:$ver\n";
-+        }
-+      } else {
-+        # $]-style
-+        if ($ver =~ m/5\.(00[0-5])_?([0-9]+)?$/) {
-+          if (defined $2) {
-+            print "perl-base >= 0:5.$1_$2\n";
-+          } else {
-+            print "perl-base >= 0:5.$1\n";
-+          }
-+        } else {
-+          # expand to M.NNN_nnn form
-+          $ver =~ s/^([0-9])$/$1./;
-+          $ver =~ 
s/^([0-9]\.[0-9]{0,5}|[0-9]\.[0-9]{3}_[0-9]{0,2})$/${1}000000/;
-+          $ver =~ s/^([0-9]\.[0-9]{3})_?([0-9]{3})0*$/$1_$2/;
-+          # match trimming leading 0s
-+          $ver =~ m/^([0-9])\.0*([1-9][0-9]*|0)_0*([1-9][0-9]*|0)$/;
-+          print "perl-base >= 1:$1.$2.$3\n";
-+        }
-+      }
-+      next;
- 
-       };
- 
-@@ -290,7 +320,31 @@
-       # will be included with the name sys/systeminfo.ph so only use the
-       # basename of *.ph files
- 
--      ($module =~ m/\.ph$/) && next;
-+      # ($module  =~ m/\.ph$/) && ($module =~ s!.*/!!g );
-+
-+      # there is no need to generate dependencies for ph, pl or test files
-+      # so let's just skip them.
-+
-+      ($module =~ m/\.(ph|pl|t)$/) && next;
-+
-+      # skip all modules for platforms other than linux.
-+
-+      ($module =~ m/Mac|OS2|MSDOS|Win32|VMS|vmsish/) && next;
-+
-+      # if the module name starts in a dot it is not a module name.
-+
-+      ($module =~ m/^\./) && next;
-+
-+      # if the module ends with .pm strip it to leave only basename.
-+
-+      $module =~ s/\.pm$//;
-+
-+      $module =~ s/\//::/;
-+
-+      # trim off trailing parenthesis if any.  Sometimes people pass
-+      # the module an empty list.
-+
-+      $module =~ s/\(\s*\)$//;
- 
-       # use base|parent qw(Foo) dependencies
-       if ($statement eq "use" && ($module eq "base" || $module eq "parent")) {
diff --git a/rpm-perl-req-perlfile.patch b/rpm-perl-req-perlfile.patch
deleted file mode 100644
index 16ad595..0000000
--- a/rpm-perl-req-perlfile.patch
+++ /dev/null
@@ -1,123 +0,0 @@
---- rpm-4.2/scripts/perl.req.wigperl   Tue Apr  1 13:33:52 2003
-+++ rpm-4.2/scripts/perl.req   Tue Apr  1 13:39:47 2003
-@@ -39,28 +39,19 @@
- eval { require version; $HAVE_VERSION = 1; };
- 
- 
--if ("@ARGV") {
--  foreach (@ARGV) {
-+foreach ( @ARGV ? @ARGV : <> ) {
-+      chomp;
-     if (m=/usr/(sbin|bin|lib|share|X11R6/(lib|bin))/=) {
-       if (! m=(/(doc|man|info|usr/src)/|\.(so|ph|h|html|pod)$)=) {
--        process_file($_);
-+        process_file($_) if -f;
-       }
-     }
--  }
--} else {
--
--  # notice we are passed a list of filenames NOT as common in unix the
--  # contents of the file.
--
--  foreach (<>) {
--     if (m=/usr/(sbin|bin|lib|share|X11R6/(lib|bin))/=) {
--       if (! m=(/(doc|man|info|usr/src)/|\.(so|ph|h|html|pod)$)=) {
--         process_file($_);
--       }
--     }
--  }
- }
- 
-+foreach (sort keys %provide) {
-+    delete $require{$_};
-+}
-+delete $require{the}; # don't count "use the sth" as perl module  
- 
- foreach $perlver (sort keys %perlreq) {
-   print "perl >= $perlver\n";
-@@ -82,6 +74,53 @@
-   }
- }
- 
-+sub is_perlfile {
-+    my $file = shift;
-+    my $fh = shift;
-+
-+    my $fl = <$fh>;
-+
-+    my $is_perl = 0;
-+
-+    my $nw = 0;
-+
-+    if ($file =~ /\.(so|ph|h|html|pod|gz|bz2|png|gif|jpg|xpm|a|patch|o|mo)$/) 
{
-+      $is_perl = 0;
-+      
-+      # .al, .pl, .pm and .plx (perl-Font-TTF contains *.plx files)
-+    } elsif ($file =~ /\.p[lm]x?$/ || $file =~ /\.al$/) {     
-+      $is_perl = 1;
-+      #print STDERR "$file PERL by ext\n";
-+    } elsif ($fl =~ m|bin/perl| or $fl =~ m|env\s+perl| or $fl =~ 
m|exec\s+perl|) {
-+      $is_perl = 1;
-+      #print STDERR "$file PERL by perl\n";
-+    } elsif ($fl =~ m|bin/sh|) {
-+      while (<$fh>) {
-+          if (/eval/ && /perl/) {
-+              $is_perl = 1;
-+              last;
-+          }
-+          $nw++ if (/^\s*BEGIN/); 
-+          $nw++ if (/^\s*sub\s+/);
-+          $nw++ if (/^\s*package\s+/);
-+          $nw++ if (/^\s*use\s+strict\s+;/);
-+          $nw++ if (/^\s*use\s+vars\s*qw/);
-+          last if ($. > 30);
-+      }
-+    }
-+
-+    seek($fh, 0, 0);
-+
-+    $is_perl = 1 if ($nw > 1);  # propably perl file
-+
-+    #if (!$is_perl) {
-+    #   print STDERR "NOPERL $file\n";
-+    #   return 0;
-+    #}        
-+    #print STDERR "PERL $file\n" if ($is_perl);
-+    return $is_perl;
-+}
-+
- sub process_file {
- 
-   my ($file) = @_;
-@@ -90,6 +129,8 @@
-     return;
-   }
- 
-+  return if (!is_perlfile($file, \*FILE));
-+
-   while (<FILE>) {
- 
-     # skip the "= <<" block
-@@ -111,6 +152,10 @@
-       last;
-     }
- 
-+    if (m/^\s*package\s+([_:a-zA-Z0-9]+)\s*;/) {
-+      $provide{$1} = 1;
-+    }
-+
-     # Each keyword can appear multiple times.  Don't
-     #  bother with datastructures to store these strings,
-     #  if we need to print it print it now.
-@@ -236,6 +281,10 @@
- 
-       ($module =~ m/^\./) && next;
- 
-+      # name starts in a non alphanumeric character it is not a module 
-+      # name.
-+      ($module =~ m/^\W/) && next;
-+
-       # if the module ends with .pm strip it to leave only basename.
- 
-       $module =~ s/\.pm$//;
diff --git a/rpm-perl_req-INC_dirs.patch b/rpm-perl_req-INC_dirs.patch
deleted file mode 100644
index f15d401..0000000
--- a/rpm-perl_req-INC_dirs.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- scripts/perl.req~  2004-04-16 13:27:10.000000000 +0200
-+++ scripts/perl.req   2004-04-26 23:54:42.128568344 +0200
-@@ -39,9 +39,18 @@
- eval { require version; $HAVE_VERSION = 1; };
- 
- 
-+# *inc variables are used to track dependencies on directories for modules.
-+# These directories (especially arch-dependent) are likely to change some day.
-+my @inc = sort { length $b cmp length $a }
-+          map { s#/*$##; $_ }
-+          grep m#^/.#, @INC;
-+my %inc = map { $_ => 0 } @inc;
-+my $inc = join '|', map "\Q$_\E", @inc;
-+
- foreach ( @ARGV ? @ARGV : <> ) {
--      chomp;
--    if (m=/usr/(sbin|bin|lib|share|X11R6/(lib|bin))/=) {
-+    chomp;
-+    $inc{$1}++ if m#($inc)/#;  # can't anchor on ^
-+    if 
(m=/usr/(sbin|bin|lib|lib64|libx32|share|X11R6/(lib|lib64|libx32|bin))/=) {
-       if (! m=(/(doc|man|info|usr/src)/|\.(so|ph|h|html|pod)$)=) {
-         process_file($_) if -f;
-       }
-@@ -53,7 +64,9 @@
- foreach $perlver (sort keys %perlreq) {
-   print "perl >= $perlver\n";
- }
-+print "$_\n" for sort grep $inc{$_}, keys %inc;
-+
--foreach $module (sort keys %require) {
-+foreach my $module (sort grep length, keys %require) {
-   if (length($require{$module}) == 0) {
-     print "perl($module)\n";
-   } else {
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/rpm.git/commitdiff/56f242e3a926c2e4d64b7a83a5adf3d277d814b7

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to