File perl-5.38.0.diff of Package perl

--- Configure.orig	2023-06-02 01:12:22.000000000 +0000
+++ Configure	2023-07-19 12:31:54.415128119 +0000
@@ -114,7 +114,7 @@
 paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin"
 paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb"
 paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /opt/ansic/bin /usr/ccs/bin"
-paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib"
+paths="$paths /etc /usr/lib /usr/lib64 /usr/ucblib /lib /usr/ccs/lib"
 paths="$paths /sbin /usr/sbin /usr/libexec"
 paths="$paths /system/gnu_library/bin"
 
@@ -1480,7 +1480,7 @@
 loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib"
 
 : general looking path for locating libraries
-glibpth="/lib /usr/lib $xlibpth"
+glibpth="/lib /usr/lib /lib64 /usr/lib64 $xlibpth"
 glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
 test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth"
 test -f /shlib/libc.so     && glibpth="/shlib $glibpth"
@@ -2585,7 +2585,7 @@
 zip
 "
 pth=`echo $PATH | sed -e "s/$p_/ /g"`
-pth="$pth $sysroot/lib $sysroot/usr/lib"
+pth="$pth $sysroot/lib $sysroot/usr/lib $sysroot/lib64 $sysroot/usr/lib64"
 for file in $loclist; do
 	eval xxx=\$$file
 	case "$xxx" in
@@ -20913,14 +20913,20 @@
 }
 EOCP
 	set try
+	# this is really stupid, but we have to link in the -ldb to have
+	# the above program succeed
+	_old_libs="$libs"
+	libs="$libs -ldb"
 	if eval $compile_ok && $run ./try; then
 		echo 'Looks OK.' >&4
+		libs="$_old_libs"
 		set `$run ./try 1`
 		db_version_major=$1
 		db_version_minor=$2
 		db_version_patch=$3
 	else
 		echo "I can't use Berkeley DB with your <db.h>.  I'll disable Berkeley DB." >&4
+		libs="$_old_libs"
 		i_db=$undef
 		case " $libs " in
 		*"-ldb "*)
@@ -20958,7 +20964,7 @@
 }
 #endif
 EOCP
-	if $cc $ccflags -c try.c >try.out 2>&1 ; then
+	if $cc $ccflags -c try.c -ldb >try.out 2>&1 ; then
 		if $compiler_warning try.out >>/dev/null 2>&1 ; then
 			db_hashtype='int'
 		else
@@ -20998,7 +21004,7 @@
 }
 #endif
 EOCP
-	if $cc $ccflags -c try.c  >try.out 2>&1 ; then
+	if $cc $ccflags -c try.c -ldb >try.out 2>&1 ; then
 		if $compiler_warning try.out >>/dev/null 2>&1 ; then
 			db_prefixtype='int'
 		else
@@ -25806,7 +25812,7 @@
 patchlevel='$patchlevel'
 path_sep='$path_sep'
 perl5='$perl5'
-perl='$perl'
+perl='perl'
 perl_lc_all_category_positions_init='$perl_lc_all_category_positions_init'
 perl_lc_all_separator='$perl_lc_all_separator'
 perl_patchlevel='$perl_patchlevel'
--- SuSE/SuSEconfig.perl.orig	2023-07-19 12:31:54.415128119 +0000
+++ SuSE/SuSEconfig.perl	2023-07-19 12:31:54.415128119 +0000
@@ -0,0 +1,76 @@
+#! /bin/bash
+#
+# Copyright (c) 1996 S.u.S.E. Gmbh Fuerth, Germany.  All rights reserved.
+#
+# Author: Burchard Steinbild <bs@suse.de>, 1996
+#         Martin Scherbaum <maddin@suse.de>, 5/1997         
+#         Ruediger Oertel <ro@suse.de>, 7/1998
+
+#
+# Variables in /etc/sysconfig/suseconfig used by this script are: 
+#   CREATE_PERLLOCAL_POD
+#
+# This script calls the scripts:
+#   /usr/sbin/perllocal.suse which comes from the package perl
+#
+
+#
+# check if we are started as root
+# only one of UID and USER must be set correctly
+#
+if test "$UID" != 0 -a "$USER" != root; then
+    echo "You must be root to start $0."
+    exit 1
+fi
+
+#
+# SuSEconfig sometimes sets the variable CHECK_NEWPACKAGE. If it is set
+# to false, we don't have to do anything.
+# 
+test "$CHECK_NEWPACKAGE" = false && exit 0
+
+test -f /etc/sysconfig/suseconfig || { echo "No /etc/sysconfig/suseconfig found." && exit 1 ; }
+. /etc/sysconfig/suseconfig
+
+# this skript only works in a running system.
+
+test -n "$ROOT" && exit 0
+
+perl -e 'exit 0' 2>/dev/null || { echo "Perl not found." && exit 0 ; }
+
+#
+# see if we may do any work
+#
+test -n "$CREATE_PERLLOCAL_POD" -a "$CREATE_PERLLOCAL_POD" = "yes" \
+	|| { echo "disabled in sysconfig/suseconfig" && exit 1 ; }
+	
+#
+# check if anything to add
+#
+PERLLOCAL_PATH=`perl -V:installarchlib | sed -e "s/.*='\(.*\)'.*/\1/"`
+
+NEEDED="false"
+
+if test -d /var/adm/perl-modules ; then 
+	if test /var/adm/perl-modules -nt $PERLLOCAL_PATH/perllocal.pod ; then
+		NEEDED="true"
+	elif test ! -f $PERLLOCAL_PATH/perllocal.pod ; then
+		NEEDED="true"
+	fi
+fi
+
+#
+# now call the working script
+#
+if "$NEEDED" = "true" ; then
+	if test -x /usr/lib/perl5/perllocal.SuSE ; then
+		/usr/lib/perl5/perllocal.SuSE
+		pod2man $PERLLOCAL_PATH/perllocal.pod | gzip > /usr/share/man/man3/perllocal.3pm.gz
+	else
+		echo "SuSEconfig.perl: /usr/lib/perl5/perllocal.SuSE not found!"
+	fi
+fi
+
+#
+# end of file SuSEconfig.perl
+#
--- SuSE/perllocal.SuSE.orig	2023-07-19 12:31:54.415128119 +0000
+++ SuSE/perllocal.SuSE	2023-07-19 12:31:54.415128119 +0000
@@ -0,0 +1,83 @@
+#!/usr/bin/perl
+# Copyright (c) 1998 S.u.S.E. Gmbh Fuerth, Germany.  All rights reserved.
+#
+# Author: Ruediger Oertel <ro@suse.de>, 1998
+#
+
+use Config;
+
+sub ReadFile {
+  local (*IF,*modules) = @_;
+
+  while(<IF>) {
+	chomp ($_);
+	next if (/^$/);
+	if (/^=head2.*$/) {
+		($front,$rear) = split (': ',$_);
+		$front =~ s/^=head2\s*//; 
+		$modules{$rear} = "$front";
+	} elsif (/^=over [0-9]*$/) {
+		($dummy,$num) = split ('\s',$_);
+		$curnum = 0;
+	} elsif (/^C<.*:.*>$/) {
+		$entry = $_;
+		$curnum++;
+		$modules{$rear} .= "\0$entry";
+	} elsif (/^=back$/) {
+		;
+	} elsif (/^=item \*$/) {
+		;
+	} else {
+		print "SuSEconfig.perl: parsing perllocal:\n";
+		print "ignoring line: $_\n";
+	}
+  }  
+  return %modules;
+}
+
+local (%allmodules);
+
+if (open (IF, "<$Config{'installarchlib'}/perllocal.pod")) {
+	%allmodules = ReadFile(*IF,*allmodules);
+}
+close (IF);
+
+opendir (DIR, "/var/adm/perl-modules");
+while ($dirent = readdir(DIR)) {
+	next if ($dirent =~ /^\./);
+	open (IF , "/var/adm/perl-modules/$dirent");
+	%allmodules = ReadFile(*IF,*allmodules);
+	close (IF);
+}
+closedir (DIR);
+
+
+if (open (OF, ">$Config{'installarchlib'}/perllocal.pod")) {
+  foreach $key (keys(%allmodules)) {
+	$name = $key;
+	$name =~ s/^.*L\<//;
+	$name =~ s/.*\|//;
+	$name =~ s/>$//;
+	$name =~ s/::/\//;
+	@entries = split ('\0',$allmodules{$key});
+	$ipath = $entries[1];
+	$ipath =~ s/^.*\:\s//;
+	$ipath =~ s/>$//;
+
+	# test if the module is really there, else skip	
+	if ( -d "$ipath/$Config{'archname'}/auto/$name" ||
+	     -d "$Config{'installarchlib'}/auto/$name" ) {
+	  $num = $#entries;
+	  print OF "=head2 ",shift(@entries),": $key\n\n";
+	  print OF "=over $num\n\n";
+	  while ($_ = shift(@entries)) {
+	    print OF "=item *\n\n";
+	    print OF "$_\n\n";
+	  }
+	  print OF "=back\n\n";
+	}
+  }
+  close (OF);
+} else {
+	print "SuSEconfig.perl: Can't write to file $Config{'installarchlib'}/perllocal.pod !\n\n";
+}
--- SuSE/sysconfig.suseconfig-perl.orig	2023-07-19 12:31:54.415128119 +0000
+++ SuSE/sysconfig.suseconfig-perl	2023-07-19 12:31:54.415128119 +0000
@@ -0,0 +1,8 @@
+## Path:	System/SuSEconfig
+## Type:	yesno
+## Default:	yes
+## Config:	perl
+#
+# May SuSEconfig modify your perllocal.pod? (yes/no)
+#
+CREATE_PERLLOCAL_POD="yes"
--- cpan/Compress-Raw-Zlib/config.in.orig	2023-05-26 01:05:34.000000000 +0000
+++ cpan/Compress-Raw-Zlib/config.in	2023-07-19 12:31:54.415128119 +0000
@@ -11,9 +11,9 @@
 #    Setting the Gzip OS Code
 #
 
-BUILD_ZLIB      = True
-ZLIB_INCLUDE    = ./zlib-src
-ZLIB_LIB        = ./zlib-src
+BUILD_ZLIB      = False
+ZLIB_INCLUDE    = /usr/include
+ZLIB_LIB        = /usr/lib
 OLD_ZLIB        = False
 GZIP_OS_CODE    = AUTO_DETECT
 USE_ZLIB_NG     = False
--- cpan/Encode/bin/enc2xs.orig	2022-05-28 15:29:53.000000000 +0000
+++ cpan/Encode/bin/enc2xs	2023-07-19 12:31:54.419128114 +0000
@@ -1080,7 +1080,7 @@ sub make_configlocal_pm {
 	    $LocalMod{$enc} ||= $mod;
 	}
     };
-    File::Find::find({wanted => $wanted}, @INC);
+    File::Find::find({wanted => $wanted}, grep {$_ ne '.'} @INC);
     $_ModLines = "";
     for my $enc ( sort keys %LocalMod ) {
         $_ModLines .=
--- cpan/ExtUtils-Install/lib/ExtUtils/Packlist.pm.orig	2023-05-26 01:05:34.000000000 +0000
+++ cpan/ExtUtils-Install/lib/ExtUtils/Packlist.pm	2023-07-19 12:31:54.419128114 +0000
@@ -206,8 +206,11 @@ foreach my $key (sort(keys(%{$self->{dat
    {
    if (! -e $key)
       {
-      push(@missing, $key);
-      delete($self->{data}{$key}) if ($remove);
+      if (($key !~ m!/man/!) || ! -e "$key.gz")
+	{
+        push(@missing, $key);
+        delete($self->{data}{$key}) if ($remove);
+	}
       }
    }
 return(@missing);
--- cpan/File-Temp/lib/File/Temp.pm.orig	2020-12-28 16:57:43.000000000 +0000
+++ cpan/File-Temp/lib/File/Temp.pm	2023-07-19 12:31:54.419128114 +0000
@@ -151,7 +151,7 @@ use Fcntl 1.03;
 use IO::Seekable;               # For SEEK_*
 use Errno;
 use Scalar::Util 'refaddr';
-require VMS::Stdio if $^O eq 'VMS';
+#require VMS::Stdio if $^O eq 'VMS';
 
 # pre-emptively load Carp::Heavy. If we don't when we run out of file
 # handles and attempt to call croak() we get an error message telling
--- cpan/Sys-Syslog/t/syslog.t.orig	2020-12-28 16:57:43.000000000 +0000
+++ cpan/Sys-Syslog/t/syslog.t	2023-07-19 12:31:54.419128114 +0000
@@ -222,6 +222,7 @@ SKIP: {
         }
     }
     else  {
+	$r = 1 unless -e '/dev/log';
         ok( $r, "setlogsock() should return true: '$r'" );
     }
 
--- cpan/libnet/lib/Net/Config.pm.orig	2023-05-26 01:05:34.000000000 +0000
+++ cpan/libnet/lib/Net/Config.pm	2023-07-19 12:31:54.419128114 +0000
@@ -51,7 +51,7 @@ our %NetConfig = (
 {
 ## no critic (BuiltinFunctions::ProhibitStringyEval)
 $^O eq 'MacOS' and eval <<TRY_INTERNET_CONFIG;
-use Mac::InternetConfig;
+#use Mac::InternetConfig;
 
 {
 my %nc = (
--- ext/DynaLoader/hints/linux.pl.orig	2017-06-16 19:49:10.000000000 +0000
+++ ext/DynaLoader/hints/linux.pl	2023-07-19 12:31:54.419128114 +0000
@@ -2,4 +2,7 @@
 # Some Linux releases like to hide their <nlist.h>
 $self->{CCFLAGS} = $Config{ccflags} . ' -I/usr/include/libelf'
 	if -f "/usr/include/libelf/nlist.h";
+# Some silly modules like mod_perl use DynaLoader.a in a shared
+# module, so add cccdlflags if we're going for a shared libperl
+$self->{CCFLAGS} = ($self->{CCFLAGS} || $Config{ccflags}) . " $Config{cccdlflags}" if $Config{'useshrplib'} eq 'true';
 1;
--- ext/ODBM_File/Makefile.PL.orig	2019-02-18 09:59:22.000000000 +0000
+++ ext/ODBM_File/Makefile.PL	2023-07-19 12:31:54.419128114 +0000
@@ -1,7 +1,7 @@
 use ExtUtils::MakeMaker;
 WriteMakefile(
     NAME	=> 'ODBM_File',
-    LIBS => ["-ldbm -lucb"],
+    LIBS => ["-lgdbm -lucb"],
     XSPROTOARG => '-noprototypes', 		# XXX remove later?
     VERSION_FROM => 'ODBM_File.pm', 
 );
--- ext/ODBM_File/hints/linux.pl.orig	2019-02-18 09:59:22.000000000 +0000
+++ ext/ODBM_File/hints/linux.pl	2023-07-19 12:31:54.419128114 +0000
@@ -1,5 +1,5 @@
 # uses GDBM dbm compatibility feature - at least on SuSE 8.0
-$self->{LIBS} = ['-lgdbm'];
+$self->{LIBS} = ['-lgdbm -lgdbm_compat'];
 
 # Debian/Ubuntu have libgdbm_compat.so but not this file,
 # so linking may fail
--- hints/linux.sh.orig	2023-05-26 01:05:34.000000000 +0000
+++ hints/linux.sh	2023-07-19 12:31:54.419128114 +0000
@@ -53,7 +53,7 @@
 # BSD compatibility library no longer needed
 # 'kaffe' has a /usr/lib/libnet.so which is not at all relevant for perl.
 # bind causes issues with several reentrant functions
-set `echo X "$libswanted "| sed -e 's/ bsd / /' -e 's/ net / /' -e 's/ bind / /'`
+set `echo X "$libswanted "| sed -e 's/ bsd / /' -e 's/ net / /' -e 's/ bind / /' -e 's/ db / /' -e 's/ gdbm / /' -e 's/ ndbm / /'`
 shift
 libswanted="$*"
 
@@ -64,6 +64,20 @@
     libswanted="$libswanted gdbm_compat"
 fi
 
+if test -e /lib64/libc.so.6 ; then
+    libc=`ls -l /lib64/libc.so.6 | awk '{print $NF}'`
+    libc=/lib64/$libc
+    glibpth='/lib64 /usr/lib64 /usr/local/lib64'
+    libspath='/usr/local/lib64 /lib64 /usr/lib64'
+    loclibpth='/usr/local/lib64'
+    lddlflags='-shared -L/usr/local/lib64'
+    ldflags=' -L/usr/local/lib64'
+    libs='-lm -ldl -lcrypt'
+elif test -L /lib/libc.so.6; then
+    libc=`ls -l /lib/libc.so.6 | awk '{print $NF}'`
+    libc=/lib/$libc
+fi
+
 # Configure may fail to find lstat() since it's a static/inline
 # function in <sys/stat.h>.
 d_lstat=define
@@ -173,6 +187,7 @@
             esac
         ;;
     esac
+    optimize="$optimize --pipe"
     ;;
 esac
 
@@ -260,6 +275,33 @@
     ;;
 esac
 
+man1dir=/usr/share/man/man1
+man3dir=/usr/share/man/man3
+man3ext=3pm
+
+case `uname -m` in
+i?86) archname='i586-linux';;
+*)    archname=`uname -m`-linux;;
+esac
+
+case $archname in
+sparc64-linux) glibpth="/lib64 /usr/lib64";;
+esac
+
+cf_email='none'
+#libs='-lgdbm -ldb -ldl -lm -lc'
+#libs='-ldl -lm -lc'
+
+usedl='true'
+dlsrc='dl_dlopen.xs'
+d_dosuid='undef'
+d_bincompat3='y'
+
+# We don't want to add /usr/local/include and /usr/local/lib to the search
+# paths, they are already searched by default.
+locincpth=
+loclibpth=
+
 if ${sh:-/bin/sh} -c exit; then
   echo ''
   echo 'You appear to have a working bash.  Good.'
@@ -307,6 +349,9 @@
 	echo "Couldn't find tcsh.  Csh-based globbing might be broken."
     fi
 fi
+csh=''
+d_csh='undef'
+full_csh=''
 
 # Shimpei Yamashita <shimpei@socrates.patnet.caltech.edu>
 # Message-Id: <33EF1634.B36B6500@pobox.com>
@@ -417,6 +462,8 @@
 	d_localtime_r_proto="$define"
 	d_random_r_proto="$define"
 
+	test -e /lib64/libc.so.6 && libs='-lm -ldl -lcrypt -lpthread'
+
 	;;
 esac
 EOCBU
--- installperl.orig	2022-05-28 15:29:53.000000000 +0000
+++ installperl	2023-07-19 12:31:54.419128114 +0000
@@ -650,7 +650,7 @@ sub installlib {
     return if $name eq 'ExtUtils/MakeMaker/version/regex.pm';
 
     my $installlib = $installprivlib;
-    if ($dir =~ /^auto\// ||
+    if (($dir =~ /^auto\// && $dir ne 'auto/Compress/Zlib') ||
 	  ($name =~ /^(.*)\.(?:pm|pod)$/ && $archpms{$1}) ||
 	  ($name =~ /^(.*)\.(?:h|lib)$/i && $Is_W32) ||
 	  $name=~/^Config_(heavy|git)\.pl\z/
--- lib/perl5db.pl.orig	2023-05-26 01:05:34.000000000 +0000
+++ lib/perl5db.pl	2023-07-19 12:31:54.419128114 +0000
@@ -2369,6 +2369,8 @@ sub _DB__handle_run_command_in_pager_com
                 open( OUT, ">&STDOUT" )    # XXX: lost message
                 || _db_warn("Can't restore DB::OUT");
             }
+	    # tell readline the new OUT handle
+	    $term->Attribs()->{outstream} = *OUT if defined &Term::ReadLine::Gnu::readline;
             next CMD;
         } ## end unless ($piped = open(OUT,...
 
@@ -2473,6 +2475,9 @@ sub _DB__at_end_of_every_command {
             $obj->selected("");
         }
 
+	# tell readline the new OUT handle
+	$term->Attribs()->{outstream} = *OUT if defined &Term::ReadLine::Gnu::readline;
+
         # No pipes now.
         $obj->piped("");
     } ## end if ($piped)
--- utils/perlbug.PL.orig	2023-05-26 01:05:34.000000000 +0000
+++ utils/perlbug.PL	2023-07-19 12:31:54.419128114 +0000
@@ -1066,6 +1066,7 @@ sub _message_headers {
     $headers{'Cc'}         = $cc        if ($cc);
     $headers{'Message-Id'} = $messageid if ($messageid);
     $headers{'Reply-To'}   = $from      if ($from);
+    $headers{'X-Webfrontend'} = 'perlbug';
     $headers{'From'}       = $from      if ($from);
     if ($have_attachment) {
         $headers{'MIME-Version'} = '1.0';
openSUSE Build Service is sponsored by