]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm-perl-macros.patch
- @__PERL@ is never substituted by the build system, do not use it
[packages/rpm.git] / rpm-perl-macros.patch
index ad94c33165b6c12f3801bfc79b691ef8536dea93..a486444e4de3ad3e116469d730d84cd118bbfcc1 100644 (file)
---- rpm-3.0.3/scripts/Makefile.am.wiget        Sat Jun  5 22:52:30 1999
-+++ rpm-3.0.3/scripts/Makefile.am      Sat Oct 30 12:28:50 1999
-@@ -4,7 +4,8 @@
- EXTRA_DIST = \
-       convertrpmrc.sh find-lang.sh freshen.sh getpo.sh \
--      perl.prov perl.req vpkg-provides.sh
-+      perl.prov perl.req find-perl-requires find-perl-provides \
-+      vpkg-provides.sh
- installprefix = $(DESTDIR)
-@@ -13,5 +14,6 @@
- configdir = ${prefix}/lib/rpm
- config_SCRIPTS = \
-       convertrpmrc.sh find-lang.sh freshen.sh getpo.sh \
--      perl.prov perl.req vpkg-provides.sh
-+      perl.prov perl.req find-perl-requires find-perl-provides \
-+      vpkg-provides.sh
---- rpm-3.0.3/scripts/find-perl-provides.wiget Sat Oct 30 12:28:50 1999
-+++ rpm-3.0.3/scripts/find-perl-provides       Sat Oct 30 12:28:50 1999
-@@ -0,0 +1,8 @@
-+#!/bin/sh
-+ulimit -c 0
-+
-+filelist=`sed "s/['\"]/\\\&/g"`
-+
-+echo $filelist|/usr/lib/rpm/find-provides
-+/usr/lib/rpm/perl.prov $filelist
-+
---- rpm-3.0.3/scripts/find-perl-requires.wiget Sat Oct 30 12:28:50 1999
-+++ rpm-3.0.3/scripts/find-perl-requires       Sat Oct 30 12:28:50 1999
-@@ -0,0 +1,11 @@
-+#!/bin/sh
-+ulimit -c 0
-+
-+filelist=`sed "s/['\"]/\\\&/g"`
-+
-+requires="`echo $filelist|/usr/lib/rpm/find-requires`"
-+requires_perl="`/usr/lib/rpm/perl.req $filelist`"
-+requires_mod="`rpm -q --whatprovides --qf "%{NAME}\n"  $requires_perl 2>/dev/null`"
-+echo "$requires
-+$requires_perl
-+$requires_mod"|  sort -u
---- rpm-3.0.3/macros.in.wiget  Sat Oct 30 12:28:50 1999
-+++ rpm-3.0.3/macros.in        Sat Oct 30 12:28:50 1999
-@@ -248,6 +248,8 @@
- #     %{perl_sitearch}/Image
- #     %dir %{perl_sitearch}/auto/Image
- #
-+#
-+# NOTE: %{perl_sitearch}, %{perl_archlib} and %{perl_sitelib} macros 
-+#     has been moved to macros.perl (see info in this file for details).
-+#
- %requires_eq()        %(LC_ALL="C" rpm -q --queryformat 'Requires:%%{NAME} = %%{VERSION}' %1| grep -v "is not")
--%perl_sitearch        %(eval "`perl -V:installsitearch`"; echo $installsitearch)
--%perl_archlib %(eval "`perl -V:installarchlib`"; echo $installarchlib)
---- rpm-3.0.3/macros.perl.in.wiget     Sat Oct 30 12:28:50 1999
-+++ rpm-3.0.3/macros.perl.in   Sat Oct 30 12:28:50 1999
-@@ -0,0 +1,11 @@
-+# Perl specific macro definitions.
-+# To make use of these macros insert the following line into your spec file:
-+# %include @RPMCONFIGDIR@/macros.perl
-+
-+%define               __find_requires @RPMCONFIGDIR@/find-perl-requires
-+%define               __find_provides @RPMCONFIGDIR@/find-perl-provides
-+
-+%define               perl_sitelib    %(eval "`perl -V:installsitelib`"; echo $installsitelib)
-+%define               perl_sitearch   %(eval "`perl -V:installsitearch`"; echo $installsitearch)
-+%define               perl_archlib    %(eval "`perl -V:installarchlib`"; echo $installarchlib)
-+
---- rpm-3.0.3/configure.in.wiget       Sat Oct 30 13:17:49 1999
-+++ rpm-3.0.3/configure.in     Sat Oct 30 13:18:52 1999
-@@ -181,6 +181,7 @@
-       AC_MSG_RESULT(patch later then 2.2 found)
-     fi
-+    AC_PATH_PROG(PERL, perl, /usr/bin/perl, $MYPATH)
-     AC_PATH_PROG(PGPBIN, pgp, /usr/bin/pgp, $MYPATH)
-     AC_PATH_PROG(__RM, rm, /bin/rm, $MYPATH)
-     AC_PATH_PROG(__TAR, tar, /bin/tar, $MYPATH)
-@@ -906,8 +907,9 @@
- export LIBS INCPATH CONFIG_SITE
- AC_CONFIG_SUBDIRS(popt)
--AC_OUTPUT([Makefile rpmrc macros macros.pld lib/Makefile
--      build/Makefile tools/Makefile scripts/Makefile
-+AC_OUTPUT([Makefile rpmrc macros macros.pld macros.perl lib/Makefile
-+      build/Makefile tools/Makefile
-+        scripts/Makefile scripts/perl.req scripts/perl.prov
-       tests/Makefile tests/rpmrc tests/macros tests/hello-test/Makefile
-       misc/Makefile po/Makefile.in intl/Makefile
-       doc/Makefile doc/manual/Makefile doc/pl/Makefile doc/ru/Makefile
---- rpm-3.0.3/scripts/perl.req.pld     Sat Oct 30 17:00:59 1999
-+++ rpm-3.0.3/scripts/perl.req Sat Oct 30 17:01:08 1999
-@@ -1,4 +1,4 @@
--#!/usr/bin/perl
-+#!@PERL@
- # a simple makedepends like script for perl.
-@@ -12,7 +12,11 @@
+--- 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 
+       doc/Makefile
+       python/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
+@@ -41,7 +41,11 @@
  
  if ("@ARGV") {
    foreach (@ARGV) {
 -    process_file($_);
-+    if (m=/usr/(bin|lib|share|X11R6/(lib|bin))/=) {
-+      if (! m=(/(doc|man|info|usr/src)/|\.so$)=) {
++    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 {
-   
-@@ -20,22 +24,30 @@
+@@ -49,7 +53,11 @@ if ("@ARGV") {
    # contents of the file.
-   
    foreach (<>) {
 -    process_file($_);
-+    if (m=/usr/(bin|lib|share|X11R6/(lib|bin))/=) {
-+      if (! m=(/(doc|man|info|usr/src)/|\.(so|pl|ph)$)=) {
-+        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($_);
++       }
++     }
    }
  }
  
- foreach $module (sort keys %require) {
-   if (length($require{$module}) == 0) {
--    print "perl($module)\n";
-+    if ($module =~ /^[0-9._]+$/) {
-+      print "perl >= $module\n";
-+    } else {
-+        print "perl($module)\n";
-+    }
-   } else {
--    print "perl($module)>=$require{$module}\n";
-+    print "perl($module) >= $require{$module}\n";
-     # we need to print it without the version number until the
-     # requires syntax accepts version numbers correctly.
--    print "perl($module)\n";
-+#    print "perl($module)\n";
-   }
- }
-@@ -54,7 +66,7 @@
-   while (<FILE>) {
-     
-     # skip the documentation
--    if ( (m/^=(head1|head2|pod)/) .. (m/^=(cut)/) ) {
-+    if ( (m/^=(head1|head2|pod|item)/) .. (m/^=(cut)/) ) {
-       next;
-     }
-@@ -108,8 +120,28 @@
-       # will be included with the name sys/systeminfo.ph so only use the
+@@ -215,19 +223,41 @@ sub process_file {
+       $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;
+       };
+@@ -244,7 +274,31 @@ sub process_file {
+       #  will be included with the name sys/systeminfo.ph so only use the
        # basename of *.ph files
  
--      ($module  =~ m/\.ph$/) && ($module =~ s!.*/!!g );
+-      ($module =~ m/\.ph$/) && next;
 +      # ($module  =~ m/\.ph$/) && ($module =~ s!.*/!!g );
 +
-+      # there is no need to generate dependencies for ph and pl files
-+      # so let's just skip them
++      # there is no need to generate dependencies for ph, pl or test files
++      # so let's just skip them.
 +
-+      ($module =~ m/\.(ph|pl)$/) && next;
++      ($module =~ m/\.(ph|pl|t)$/) && next;
 +
-+      # skip all modules for oparating systems other than linux
++      # 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
++      # 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
++      # if the module ends with .pm strip it to leave only basename.
 +
-+      ($module =~ m/\.pm$/) && ($module =~ s/\.pm//g);
++      $module =~ s/\.pm$//;
 +
-+      # strip () from module name ( ex. Carp() )
-
-+      ($module =~m/\(\)$/) && ($module =~ s/\(\)//g);
-       $require{$module}=$version;
-       $line{$module}=$_;
---- rpm-3.0.3/scripts/perl.prov.pld    Sat Jun  5 22:52:31 1999
-+++ rpm-3.0.3/scripts/perl.prov        Sun Oct 31 02:17:45 1999
-@@ -1,4 +1,4 @@
--#!/usr/bin/perl
-+#!@PERL@
- # a simple script to print the proper name for perl libraries.
-@@ -13,7 +13,9 @@
- if ("@ARGV") {
-   foreach (@ARGV) {
--    process_file($_);
-+    if (! m=\.(so|gz|ph|pod)$=) {
-+      process_file($_);
-+    }
-   }
- } else {
-@@ -21,7 +23,9 @@
-   # contents of the file.
-   foreach (<>) {
--    process_file($_);
-+    if (! m=\.(so|gz|ph|pod)$=) {
-+      process_file($_);
-+    }
-   }
- }
-@@ -30,12 +34,12 @@
-   if (length($require{$module}) == 0) {
-     print "perl($module)\n";
-   } else {
--    print "perl($module)=$require{$module}\n";
-+    print "perl($module) = $require{$module}\n";
-     # we need to print it without the version number until the
-     # requires syntax accepts version numbers correctly.
--    print "perl($module)\n";
-+#    print "perl($module)\n";
-   }
- }
++      $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")) {
This page took 0.048304 seconds and 4 git commands to generate.