Sync from SUSE:ALP:Source:Standard:1.0 perl revision be25d643c612cda9a29bcb16b7cb2044
This commit is contained in:
commit
aa4e6a624b
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
42
README.macros
Normal file
42
README.macros
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
README for perl-macros
|
||||||
|
|
||||||
|
Author: Christian Wittmer <chris@computersalat.de>
|
||||||
|
|
||||||
|
|
||||||
|
%perl_gen_filelist generates an rpmlint happy filelist of your installed files
|
||||||
|
|
||||||
|
In most cases you only need to check the %doc part
|
||||||
|
sometimes there is a "Changes" or "ChangeLog",....
|
||||||
|
|
||||||
|
Requirements for %perl_gen_filelist
|
||||||
|
You have to define following parts inside your spec file
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
BuildRequires: perl-macros
|
||||||
|
|
||||||
|
%install
|
||||||
|
%perl_make_install
|
||||||
|
%perl_process_packlist
|
||||||
|
%perl_gen_filelist
|
||||||
|
|
||||||
|
%files -f %{name}.files
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%doc Changes README
|
||||||
|
|
||||||
|
|
||||||
|
And here an Example of the generated filelist:
|
||||||
|
|
||||||
|
%dir /usr/lib/perl5/vendor_perl/5.8.8/Algorithm
|
||||||
|
/usr/lib/perl5/vendor_perl/5.8.8/Algorithm/DiffOld.pm
|
||||||
|
/usr/lib/perl5/vendor_perl/5.8.8/Algorithm/diff.pl
|
||||||
|
/usr/lib/perl5/vendor_perl/5.8.8/Algorithm/Diff.pm
|
||||||
|
/usr/lib/perl5/vendor_perl/5.8.8/Algorithm/diffnew.pl
|
||||||
|
/usr/lib/perl5/vendor_perl/5.8.8/Algorithm/cdiff.pl
|
||||||
|
/usr/lib/perl5/vendor_perl/5.8.8/Algorithm/htmldiff.pl
|
||||||
|
%dir /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/Algorithm
|
||||||
|
%dir /usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/Algorithm/Diff
|
||||||
|
/usr/lib/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/Algorithm/Diff/.packlist
|
||||||
|
/usr/share/man/man?/*
|
||||||
|
/var/adm/perl-modules/perl-Algorithm-Diff
|
||||||
|
|
3
_multibuild
Normal file
3
_multibuild
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<multibuild>
|
||||||
|
<flavor>testsuite</flavor>
|
||||||
|
</multibuild>
|
4
baselibs.conf
Normal file
4
baselibs.conf
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
perl
|
||||||
|
+lib(64)?/perl5/.*-linux-thread-multi.*
|
||||||
|
perl-base
|
||||||
|
+lib(64)?/perl5/.*-linux-thread-multi.*
|
136
macros.perl
Normal file
136
macros.perl
Normal file
@ -0,0 +1,136 @@
|
|||||||
|
# macros.perl file
|
||||||
|
# macros for perl module building. handle with care.
|
||||||
|
|
||||||
|
# Useful perl macros (from Artur Frysiak <wiget@t17.ds.pwr.wroc.pl>)
|
||||||
|
#
|
||||||
|
%perl_sitearch %(eval "`%{__perl} -V:installsitearch`"; echo $installsitearch)
|
||||||
|
%perl_sitelib %(eval "`%{__perl} -V:installsitelib`"; echo $installsitelib)
|
||||||
|
%perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch)
|
||||||
|
%perl_vendorlib %(eval "`%{__perl} -V:installvendorlib`"; echo $installvendorlib)
|
||||||
|
%perl_archlib %(eval "`%{__perl} -V:installarchlib`"; echo $installarchlib)
|
||||||
|
%perl_privlib %(eval "`%{__perl} -V:installprivlib`"; echo $installprivlib)
|
||||||
|
|
||||||
|
# More useful perl macros (from Raul Dias <rsd@swi.com.br>)
|
||||||
|
#
|
||||||
|
%perl_version %(perl -V:version | sed "s!.*='!!;s!'.*!!")
|
||||||
|
%perl_man1ext %(perl -V:man1ext | sed "s!.*='!!;s!'.*!!")
|
||||||
|
%perl_man3ext %(perl -V:man3ext | sed "s!.*='!!;s!'.*!!")
|
||||||
|
%perl_man1dir %(perl -V:man1dir | sed "s!.*='!!;s!'.*!!")
|
||||||
|
%perl_man3dir %(perl -V:man3dir | sed "s!.*='!!;s!'.*!!")
|
||||||
|
%perl_installman1dir %(perl -V:installman1dir | sed "s!.*='!!;s!'.*!!")
|
||||||
|
%perl_installman3dir %(perl -V:installman3dir | sed "s!.*='!!;s!'.*!!")
|
||||||
|
%perl_installarchlib %(perl -V:installarchlib | sed "s!.*='!!;s!'.*!!")
|
||||||
|
%perl_prefix %{buildroot}
|
||||||
|
|
||||||
|
# Macro to encapsulate perl requires (empty for fedora)
|
||||||
|
# we keep the complicated form even here to easy sync the other macros with
|
||||||
|
# perl-macros package
|
||||||
|
#
|
||||||
|
%perl_requires() \
|
||||||
|
%if 0%{?suse_version} > 0 \
|
||||||
|
Requires: perl(:MODULE_COMPAT_%{perl_version}) \
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%libperl_requires() \
|
||||||
|
%if 0%{?suse_version} > 0 \
|
||||||
|
Requires: perl = %{perl_version} \
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# suse specific macros
|
||||||
|
#
|
||||||
|
%perl_make_install make DESTDIR=$RPM_BUILD_ROOT install_vendor
|
||||||
|
%perl_process_packlist(n:) \
|
||||||
|
if test -n "$RPM_BUILD_ROOT" -a -d $RPM_BUILD_ROOT%perl_vendorarch/auto; then \
|
||||||
|
find $RPM_BUILD_ROOT%perl_vendorarch/auto -name .packlist -print0 | xargs -0 -r rm \
|
||||||
|
if [ %{_target_cpu} == noarch ]; then \
|
||||||
|
find $RPM_BUILD_ROOT%perl_vendorarch/auto -depth -type d -print0 | xargs -0 -r rmdir \
|
||||||
|
fi \
|
||||||
|
fi \
|
||||||
|
rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod \
|
||||||
|
%nil
|
||||||
|
|
||||||
|
# macro: perl_gen_filelist (from Christian <chris@computersalat.de>)
|
||||||
|
# do the rpmlint happy filelist generation
|
||||||
|
# with %dir in front of directories
|
||||||
|
#
|
||||||
|
%perl_gen_filelist(n)\
|
||||||
|
FILES=%{name}.files\
|
||||||
|
# fgen_dir func\
|
||||||
|
# IN: dir\
|
||||||
|
fgen_dir(){\
|
||||||
|
%{__cat} >> $FILES << EOF\
|
||||||
|
%dir ${1}\
|
||||||
|
EOF\
|
||||||
|
}\
|
||||||
|
# fgen_file func\
|
||||||
|
# IN: file\
|
||||||
|
fgen_file(){\
|
||||||
|
%{__cat} >> $FILES << EOF\
|
||||||
|
${1}\
|
||||||
|
EOF\
|
||||||
|
}\
|
||||||
|
# check for files in %{perl_vendorlib}\
|
||||||
|
RES=`find ${RPM_BUILD_ROOT}%{perl_vendorlib} -maxdepth 1 -type f`\
|
||||||
|
if [ -n "$RES" ]; then\
|
||||||
|
for file in $RES; do\
|
||||||
|
fgen_file "%{perl_vendorlib}/$(basename ${file})"\
|
||||||
|
done\
|
||||||
|
fi\
|
||||||
|
\
|
||||||
|
# get all dirs into array\
|
||||||
|
base_dir="${RPM_BUILD_ROOT}%{perl_vendorlib}/"\
|
||||||
|
for dir in `find ${base_dir} -type d | sort`; do\
|
||||||
|
if [ "$dir" = "${base_dir}" ]; then\
|
||||||
|
continue\
|
||||||
|
else\
|
||||||
|
el=${dir#$base_dir}\
|
||||||
|
all_dir=(${all_dir[@]} $el)\
|
||||||
|
fi\
|
||||||
|
done\
|
||||||
|
\
|
||||||
|
# build filelist\
|
||||||
|
for i in ${all_dir[@]}; do\
|
||||||
|
# do not add "dir {perl_vendorlib/arch}/auto", included in perl package\
|
||||||
|
if [ "${i}" = "auto" ]; then\
|
||||||
|
continue\
|
||||||
|
fi\
|
||||||
|
if [ "%{perl_vendorlib}/${i}" = "%{perl_vendorarch}/auto" ]; then\
|
||||||
|
continue\
|
||||||
|
else\
|
||||||
|
if [ -d ${base_dir}/${i} ]; then\
|
||||||
|
if [ "%{perl_vendorlib}/${i}" != "%{perl_vendorarch}" ]; then\
|
||||||
|
fgen_dir "%{perl_vendorlib}/${i}"\
|
||||||
|
fi\
|
||||||
|
RES=`find "${base_dir}/${i}" -maxdepth 1 -type f`\
|
||||||
|
for file in $RES; do\
|
||||||
|
fgen_file "%{perl_vendorlib}/${i}/$(basename ${file})"\
|
||||||
|
done\
|
||||||
|
fi\
|
||||||
|
fi\
|
||||||
|
done\
|
||||||
|
# add man pages\
|
||||||
|
# if exist :)\
|
||||||
|
if [ -d "${RPM_BUILD_ROOT}%{_mandir}" ]; then\
|
||||||
|
for file in `cd "${RPM_BUILD_ROOT}%{_mandir}" && find . -type f -name "*3pm*"`; do \
|
||||||
|
if test -e "%{_mandir}/$file" -o -e "%{_mandir}/$file.gz"; then \
|
||||||
|
mv ${RPM_BUILD_ROOT}%{_mandir}/$file ${RPM_BUILD_ROOT}%{_mandir}/${file/3pm/3pmc} \
|
||||||
|
fi \
|
||||||
|
done \
|
||||||
|
fgen_file "%{_mandir}/man?/*"\
|
||||||
|
fi\
|
||||||
|
\
|
||||||
|
# add packlist file\
|
||||||
|
# generated fom perllocal.pod\
|
||||||
|
if [ -f "${RPM_BUILD_ROOT}/var/adm/perl-modules/%{name}" ]; then\
|
||||||
|
fgen_file "/var/adm/perl-modules/%{name}"\
|
||||||
|
fi\
|
||||||
|
\
|
||||||
|
# check for files in %{_bindir}\
|
||||||
|
if [ -d ${RPM_BUILD_ROOT}%{_bindir} ]; then\
|
||||||
|
RES=`find "${RPM_BUILD_ROOT}%{_bindir}" -maxdepth 1 -type f`\
|
||||||
|
if [ -n "$RES" ]; then\
|
||||||
|
for file in $RES; do\
|
||||||
|
fgen_file "%{_bindir}/$(basename ${file})"\
|
||||||
|
done\
|
||||||
|
fi\
|
||||||
|
fi
|
11
perl-5.18.2-overflow.diff
Normal file
11
perl-5.18.2-overflow.diff
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- ./sv.c.orig 2022-05-21 21:26:59.000000000 +0000
|
||||||
|
+++ ./sv.c 2022-06-23 11:53:50.561877702 +0000
|
||||||
|
@@ -2002,7 +2002,7 @@ S_sv_2iuv_common(pTHX_ SV *const sv)
|
||||||
|
#ifndef NV_PRESERVES_UV
|
||||||
|
&& SvIVX(sv) != IV_MIN /* avoid negating IV_MIN below */
|
||||||
|
&& (((UV)1 << NV_PRESERVES_UV_BITS) >
|
||||||
|
- (UV)(SvIVX(sv) > 0 ? SvIVX(sv) : -SvIVX(sv)))
|
||||||
|
+ (UV)(SvIVX(sv) > 0 ? (UV)SvIVX(sv) : -(UV)SvIVX(sv)))
|
||||||
|
/* Don't flag it as "accurately an integer" if the number
|
||||||
|
came from a (by definition imprecise) NV operation, and
|
||||||
|
we're outside the range of NV integer precision */
|
12
perl-5.22.0_wrong_rpm_provides.diff
Normal file
12
perl-5.22.0_wrong_rpm_provides.diff
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
--- ./lib/sigtrap.pm.orig 2019-10-24 20:18:05.000000000 +0000
|
||||||
|
+++ ./lib/sigtrap.pm 2019-11-19 13:38:25.304577027 +0000
|
||||||
|
@@ -80,7 +80,8 @@ sub handler_die {
|
||||||
|
}
|
||||||
|
|
||||||
|
sub handler_traceback {
|
||||||
|
- package DB; # To get subroutine args.
|
||||||
|
+ package DB # line break to prevent wrong rpm provides
|
||||||
|
+ ; # To get subroutine args.
|
||||||
|
my $use_print;
|
||||||
|
$SIG{'ABRT'} = DEFAULT;
|
||||||
|
kill 'ABRT', $$ if $panic++;
|
492
perl-5.38.0.diff
Normal file
492
perl-5.38.0.diff
Normal file
@ -0,0 +1,492 @@
|
|||||||
|
--- 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 /usr/5bin /etc /usr/gnu/bi
|
||||||
|
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"
|
||||||
|
|
||||||
|
@@ -1476,7 +1476,7 @@ loclibpth="/usr/local/lib /opt/local/lib
|
||||||
|
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"
|
||||||
|
@@ -2581,7 +2581,7 @@ uname
|
||||||
|
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
|
||||||
|
@@ -20673,14 +20673,20 @@ int main(int argc, char *argv[])
|
||||||
|
}
|
||||||
|
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 "*)
|
||||||
|
@@ -20718,7 +20724,7 @@ int main()
|
||||||
|
}
|
||||||
|
#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
|
||||||
|
@@ -20758,7 +20764,7 @@ int main()
|
||||||
|
}
|
||||||
|
#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
|
||||||
|
@@ -25564,7 +25570,7 @@ passcat='$passcat'
|
||||||
|
patchlevel='$patchlevel'
|
||||||
|
path_sep='$path_sep'
|
||||||
|
perl5='$perl5'
|
||||||
|
-perl='$perl'
|
||||||
|
+perl='perl'
|
||||||
|
perl_patchlevel='$perl_patchlevel'
|
||||||
|
perl_static_inline='$perl_static_inline'
|
||||||
|
perl_thread_local='$perl_thread_local'
|
||||||
|
--- 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
|
||||||
|
@@ -16,9 +16,9 @@
|
||||||
|
# Setting the Gzip OS Code
|
||||||
|
#
|
||||||
|
|
||||||
|
-BUILD_ZLIB = True
|
||||||
|
-INCLUDE = ./zlib-src
|
||||||
|
-LIB = ./zlib-src
|
||||||
|
+BUILD_ZLIB = False
|
||||||
|
+INCLUDE = /usr/include
|
||||||
|
+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 @@ ignore_versioned_solibs='y'
|
||||||
|
# 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 @@ if echo " $libswanted " | grep -q ' gdbm
|
||||||
|
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
|
||||||
|
@@ -147,6 +161,7 @@ case "$optimize" in
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
+ optimize="$optimize --pipe"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
@@ -234,6 +249,33 @@ case "$libc" in
|
||||||
|
;;
|
||||||
|
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.'
|
||||||
|
@@ -281,6 +323,9 @@ else
|
||||||
|
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>
|
||||||
|
@@ -391,6 +436,8 @@ $define|true|[yY]*)
|
||||||
|
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';
|
BIN
perl-5.38.2.tar.xz
(Stored with Git LFS)
Normal file
BIN
perl-5.38.2.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
44
perl-HiRes.t-timeout.diff
Normal file
44
perl-HiRes.t-timeout.diff
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
--- ./dist/Time-HiRes/t/alarm.t.orig 2020-06-14 23:01:25.000000000 +0000
|
||||||
|
+++ ./dist/Time-HiRes/t/alarm.t 2020-10-27 10:52:36.824741858 +0000
|
||||||
|
@@ -8,7 +8,7 @@ BEGIN { require_ok "Time::HiRes"; }
|
||||||
|
|
||||||
|
use Config;
|
||||||
|
|
||||||
|
-my $limit = 0.25; # 25% is acceptable slosh for testing timers
|
||||||
|
+my $limit = 0.60; # 25% is acceptable slosh for testing timers
|
||||||
|
|
||||||
|
my $xdefine = '';
|
||||||
|
if (open(XDEFINE, "<", "xdefine")) {
|
||||||
|
--- ./dist/Time-HiRes/t/clock.t.orig 2020-06-14 23:01:25.000000000 +0000
|
||||||
|
+++ ./dist/Time-HiRes/t/clock.t 2020-10-27 10:52:36.824741858 +0000
|
||||||
|
@@ -29,7 +29,7 @@ printf("# have_clock = %d\n",
|
||||||
|
# completes fine with (say) 30% slosh, and fail otherwise. If you do that,
|
||||||
|
# consider changing over to test.pl at the same time.
|
||||||
|
# --A.D., Nov 27, 2001
|
||||||
|
-my $limit = 0.25; # 25% is acceptable slosh for testing timers
|
||||||
|
+my $limit = 0.60; # 25% is acceptable slosh for testing timers
|
||||||
|
|
||||||
|
SKIP: {
|
||||||
|
skip "no clock_gettime", 1
|
||||||
|
--- ./dist/Time-HiRes/t/itimer.t.orig 2020-06-14 23:01:25.000000000 +0000
|
||||||
|
+++ ./dist/Time-HiRes/t/itimer.t 2020-10-27 10:52:36.824741858 +0000
|
||||||
|
@@ -29,7 +29,7 @@ use Test::More tests => 2;
|
||||||
|
BEGIN { push @INC, '.' }
|
||||||
|
use t::Watchdog;
|
||||||
|
|
||||||
|
-my $limit = 0.25; # 25% is acceptable slosh for testing timers
|
||||||
|
+my $limit = 0.60; # 25% is acceptable slosh for testing timers
|
||||||
|
|
||||||
|
my $i = 3;
|
||||||
|
my $r = [Time::HiRes::gettimeofday()];
|
||||||
|
--- ./dist/Time-HiRes/t/usleep.t.orig 2020-06-14 23:01:25.000000000 +0000
|
||||||
|
+++ ./dist/Time-HiRes/t/usleep.t 2020-10-27 10:52:36.824741858 +0000
|
||||||
|
@@ -16,7 +16,7 @@ eval { Time::HiRes::usleep(-2) };
|
||||||
|
like $@, qr/::usleep\(-2\): negative time not invented yet/,
|
||||||
|
"negative time error";
|
||||||
|
|
||||||
|
-my $limit = 0.25; # 25% is acceptable slosh for testing timers
|
||||||
|
+my $limit = 0.60; # 25% is acceptable slosh for testing timers
|
||||||
|
|
||||||
|
my $one = CORE::time;
|
||||||
|
Time::HiRes::usleep(10_000);
|
39
perl-incfix.diff
Normal file
39
perl-incfix.diff
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
diff -ur perl-5.34.0/perl_inc_macro.h perl-5.34.0_fix/perl_inc_macro.h
|
||||||
|
--- perl-5.34.0/perl_inc_macro.h 2021-01-21 00:04:44.000000000 +0100
|
||||||
|
+++ perl-5.34.0_fix/perl_inc_macro.h 2021-08-28 14:20:24.781533820 +0200
|
||||||
|
@@ -83,10 +83,12 @@
|
||||||
|
# define INCPUSH_PRIVLIB_EXP S_incpush_use_sep(aTHX_ STR_WITH_LEN(PRIVLIB_EXP), INCPUSH_CAN_RELOCATE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#if 0
|
||||||
|
#ifdef PERL_OTHERLIBDIRS
|
||||||
|
# define INCPUSH_PERL_OTHERLIBDIRS S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_OTHERLIBDIRS), \
|
||||||
|
INCPUSH_ADD_VERSIONED_SUB_DIRS|INCPUSH_NOT_BASEDIR|INCPUSH_CAN_RELOCATE);
|
||||||
|
#endif
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
|
||||||
|
/* submacros for INCPUSH_PERL5LIB */
|
||||||
|
@@ -133,19 +135,19 @@
|
||||||
|
#if defined(SITELIB_STEM) && defined(PERL_INC_VERSION_LIST)
|
||||||
|
/* Search for version-specific dirs below here */
|
||||||
|
# define INCPUSH_SITELIB_STEM S_incpush_use_sep(aTHX_ STR_WITH_LEN(SITELIB_STEM), \
|
||||||
|
- INCPUSH_ADD_OLD_VERS|INCPUSH_CAN_RELOCATE);
|
||||||
|
+ INCPUSH_ADD_OLD_VERS|INCPUSH_NOT_BASEDIR|INCPUSH_CAN_RELOCATE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(PERL_VENDORLIB_STEM) && defined(PERL_INC_VERSION_LIST)
|
||||||
|
/* Search for version-specific dirs below here */
|
||||||
|
# define INCPUSH_PERL_VENDORLIB_STEM S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_VENDORLIB_STEM), \
|
||||||
|
- INCPUSH_ADD_OLD_VERS|INCPUSH_CAN_RELOCATE);
|
||||||
|
+ INCPUSH_ADD_OLD_VERS|INCPUSH_NOT_BASEDIR|INCPUSH_CAN_RELOCATE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef PERL_OTHERLIBDIRS
|
||||||
|
# define INCPUSH_PERL_OTHERLIBDIRS_ARCHONLY S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_OTHERLIBDIRS), \
|
||||||
|
- INCPUSH_ADD_OLD_VERS|INCPUSH_ADD_ARCHONLY_SUB_DIRS|INCPUSH_CAN_RELOCATE);
|
||||||
|
+ INCPUSH_CAN_RELOCATE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
26
perl-netcmdutf8.diff
Normal file
26
perl-netcmdutf8.diff
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
Index: cpan/libnet/lib/Net/Cmd.pm
|
||||||
|
===================================================================
|
||||||
|
--- cpan/libnet/lib/Net/Cmd.pm.orig
|
||||||
|
+++ cpan/libnet/lib/Net/Cmd.pm
|
||||||
|
@@ -290,6 +290,10 @@ sub command {
|
||||||
|
$str = $cmd->toascii($str) if $tr;
|
||||||
|
$str .= "\015\012";
|
||||||
|
|
||||||
|
+ # encode to individual utf8 bytes if
|
||||||
|
+ # $str is a string (in internal UTF-8)
|
||||||
|
+ utf8::encode($str) if utf8::is_utf8($str);
|
||||||
|
+
|
||||||
|
$cmd->debug_print(1, $str)
|
||||||
|
if ($cmd->debug);
|
||||||
|
|
||||||
|
@@ -525,6 +529,10 @@ sub rawdatasend {
|
||||||
|
return 0
|
||||||
|
if $cmd->_is_closed;
|
||||||
|
|
||||||
|
+ # encode to individual utf8 bytes if
|
||||||
|
+ # $line is a string (in internal UTF-8)
|
||||||
|
+ utf8::encode($line) if utf8::is_utf8($line);
|
||||||
|
+
|
||||||
|
return 1
|
||||||
|
unless length($line);
|
||||||
|
|
19
perl-nroff.diff
Normal file
19
perl-nroff.diff
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
--- ./cpan/Pod-Perldoc/lib/Pod/Perldoc/ToMan.pm.orig 2017-04-19 13:37:05.000000000 +0000
|
||||||
|
+++ ./cpan/Pod-Perldoc/lib/Pod/Perldoc/ToMan.pm 2017-08-30 12:12:38.967184117 +0000
|
||||||
|
@@ -64,7 +64,7 @@ sub _roffer_candidates {
|
||||||
|
my( $self ) = @_;
|
||||||
|
|
||||||
|
if( $self->is_openbsd || $self->is_freebsd || $self->is_bitrig ) { qw( mandoc groff nroff ) }
|
||||||
|
- else { qw( groff nroff mandoc ) }
|
||||||
|
+ else { qw( nroff groff mandoc ) }
|
||||||
|
}
|
||||||
|
|
||||||
|
sub _find_roffer {
|
||||||
|
@@ -232,6 +232,7 @@ sub _collect_nroff_switches {
|
||||||
|
# don't have a -c switch, so that unconditionally adding it here
|
||||||
|
# would presumably be a Bad Thing -- sburke@cpan.org
|
||||||
|
push @render_switches, '-c' if( $self->_is_roff and $self->is_cygwin );
|
||||||
|
+ push @render_switches, '-c' if( $self->_is_nroff );
|
||||||
|
|
||||||
|
return @render_switches;
|
||||||
|
}
|
24
perl-reproducible.patch
Normal file
24
perl-reproducible.patch
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
PATCH-FIX-OPENSUSE
|
||||||
|
Author: Bernhard M. Wiedemann <bwiedemann suse de>
|
||||||
|
Date: 2017-12-04
|
||||||
|
|
||||||
|
replace hostname, username, time with fixed values
|
||||||
|
|
||||||
|
Index: perl-5.26.1/Configure
|
||||||
|
===================================================================
|
||||||
|
--- perl-5.26.1.orig/Configure
|
||||||
|
+++ perl-5.26.1/Configure
|
||||||
|
@@ -9234,6 +9234,13 @@ esac
|
||||||
|
set $myhostname
|
||||||
|
myhostname=$1
|
||||||
|
|
||||||
|
+if test -n "$SOURCE_DATE_EPOCH" ; then
|
||||||
|
+ cf_time="`LC_ALL=C LANGUAGE=C $date -u -d@$SOURCE_DATE_EPOCH`"
|
||||||
|
+ cf_by="reproducible"
|
||||||
|
+ myhostname="reproducible"
|
||||||
|
+ myuname="reproducible"
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
: verify guess
|
||||||
|
if $test "$myhostname" ; then
|
||||||
|
dflt=y
|
13
perl-reproducible2.patch
Normal file
13
perl-reproducible2.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
--- ./dist/Storable/stacksize.orig 2020-06-14 23:01:25.000000000 +0000
|
||||||
|
+++ ./dist/Storable/stacksize 2020-10-27 10:57:33.147900085 +0000
|
||||||
|
@@ -164,8 +164,8 @@ my $max_depth_hash = $n;
|
||||||
|
# be fairly aggressive in trimming this, smoke testing showed
|
||||||
|
# several apparently random failures here, eg. working in one
|
||||||
|
# configuration, but not in a very similar configuration.
|
||||||
|
-$max_depth = int(0.6 * $max_depth);
|
||||||
|
-$max_depth_hash = int(0.6 * $max_depth_hash);
|
||||||
|
+$max_depth = int(0.6 * $max_depth) & ~31;
|
||||||
|
+$max_depth_hash = int(0.6 * $max_depth_hash) & ~31;
|
||||||
|
|
||||||
|
my $stack_reserve = $^O eq "MSWin32" ? 32 : 16;
|
||||||
|
if ($] ge "5.016" && !($^O eq "cygwin" && $ptrsize == 8)) {
|
5
perl-rpmlintrc
Normal file
5
perl-rpmlintrc
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# This line is mandatory to access the configuration functions
|
||||||
|
from Config import *
|
||||||
|
|
||||||
|
addFilter("perl.* devel-file-in-non-devel-package")
|
||||||
|
|
28
perl-saverecontext.diff
Normal file
28
perl-saverecontext.diff
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
Index: regcomp.c
|
||||||
|
===================================================================
|
||||||
|
--- regcomp.c.orig
|
||||||
|
+++ regcomp.c
|
||||||
|
@@ -19959,8 +19959,21 @@ Perl_save_re_context(pTHX)
|
||||||
|
|
||||||
|
if (gvp) {
|
||||||
|
GV * const gv = *gvp;
|
||||||
|
- if (SvTYPE(gv) == SVt_PVGV && GvSV(gv))
|
||||||
|
- save_scalar(gv);
|
||||||
|
+ if (SvTYPE(gv) == SVt_PVGV && GvSV(gv)) {
|
||||||
|
+ /* this is a copy of save_scalar() without the GETMAGIC call, RT#76538 */
|
||||||
|
+ SV ** const sptr = &GvSVn(gv);
|
||||||
|
+ SV * osv = *sptr;
|
||||||
|
+ SV * nsv = newSV(0);
|
||||||
|
+ save_pushptrptr(SvREFCNT_inc_simple(gv), SvREFCNT_inc(osv), SAVEt_SV);
|
||||||
|
+ if (SvTYPE(osv) >= SVt_PVMG && SvMAGIC(osv)) {
|
||||||
|
+ if (SvGMAGICAL(osv)) {
|
||||||
|
+ SvFLAGS(osv) |= (SvFLAGS(osv) &
|
||||||
|
+ (SVp_IOK|SVp_NOK|SVp_POK)) >> PRIVSHIFT;
|
||||||
|
+ }
|
||||||
|
+ mg_localize(osv, nsv, (bool)1);
|
||||||
|
+ }
|
||||||
|
+ *sptr = nsv;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
1711
perl.changes
Normal file
1711
perl.changes
Normal file
File diff suppressed because it is too large
Load Diff
389
perl.spec
Normal file
389
perl.spec
Normal file
@ -0,0 +1,389 @@
|
|||||||
|
#
|
||||||
|
# spec file
|
||||||
|
#
|
||||||
|
# Copyright (c) 2023 SUSE LLC
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
%define flavor @BUILD_FLAVOR@%{nil}
|
||||||
|
%if "%{?flavor}" != "" && "%{?flavor}" != ("@BUILD_" + "FLAVOR@")
|
||||||
|
%define name_suffix -%{flavor}
|
||||||
|
%else
|
||||||
|
%define name_suffix %{nil}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%define pversion 5.38.2
|
||||||
|
# set to nil when equal to pversion
|
||||||
|
%global versionlist 5.38.0
|
||||||
|
Name: perl%{?name_suffix}
|
||||||
|
Version: 5.38.2
|
||||||
|
Release: 0
|
||||||
|
Summary: The Perl interpreter
|
||||||
|
License: Artistic-1.0 OR GPL-1.0-or-later
|
||||||
|
Group: Development/Languages/Perl
|
||||||
|
URL: https://www.perl.org/
|
||||||
|
Source: https://www.cpan.org/src/5.0/perl-%{version}.tar.xz
|
||||||
|
Source1: perl-rpmlintrc
|
||||||
|
Source2: macros.perl
|
||||||
|
Source3: README.macros
|
||||||
|
Source4: baselibs.conf
|
||||||
|
Patch0: perl-5.38.0.diff
|
||||||
|
Patch3: perl-nroff.diff
|
||||||
|
Patch4: perl-netcmdutf8.diff
|
||||||
|
Patch5: perl-HiRes.t-timeout.diff
|
||||||
|
Patch6: perl-saverecontext.diff
|
||||||
|
# PATCH-FIX-OPENSUSE perl-5.22.0_wrong_rpm_provides.diff Prevent generating bad RPM provides
|
||||||
|
Patch7: perl-5.22.0_wrong_rpm_provides.diff
|
||||||
|
Patch8: skip_time_hires.patch
|
||||||
|
Patch9: perl-incfix.diff
|
||||||
|
Patch11: perl-5.18.2-overflow.diff
|
||||||
|
# PATCH-FIX-OPENSUSE prevent changing package when rebuilding
|
||||||
|
Patch12: perl-reproducible.patch
|
||||||
|
# PATCH-FIX-OPENSUSE skip flaky tests powerpc as bypass https://bugzilla.suse.com/show_bug.cgi?id=1063176
|
||||||
|
Patch13: perl_skip_flaky_tests_powerpc.patch
|
||||||
|
# PATCH-FIX-UPSTREAM unmerged https://www.nntp.perl.org/group/perl.perl5.porters/2018/12/msg253240.html
|
||||||
|
Patch18: perl-reproducible2.patch
|
||||||
|
BuildRequires: db-devel
|
||||||
|
BuildRequires: gdbm-devel
|
||||||
|
BuildRequires: libbz2-devel
|
||||||
|
BuildRequires: ncurses-devel
|
||||||
|
# For t/op/magic and dist/threads/t/join - but because perl is a bootstrap package don't use it
|
||||||
|
#BuildRequires: procps
|
||||||
|
BuildRequires: xz
|
||||||
|
BuildRequires: zlib-devel
|
||||||
|
Requires: perl-base = %{version}
|
||||||
|
Suggests: perl-doc = %{version}
|
||||||
|
Provides: perl-500
|
||||||
|
Provides: perl-Archive-Tar = 2.40
|
||||||
|
Provides: perl(:MODULE_COMPAT_%{pversion})
|
||||||
|
%if "%{versionlist}" != ""
|
||||||
|
Provides: perl(:MODULE_COMPAT_%{versionlist})
|
||||||
|
%endif
|
||||||
|
Obsoletes: perl-Archive-Tar <= 2.40
|
||||||
|
Provides: perl-autodie = 2.36
|
||||||
|
Obsoletes: perl-autodie <= 2.36
|
||||||
|
Provides: perl-Compress-Raw-Zlib = 2.204
|
||||||
|
Obsoletes: perl-Compress-Raw-Zlib <= 2.204
|
||||||
|
Provides: perl-Compress-Zlib = 2.204
|
||||||
|
Obsoletes: perl-Compress-Zlib <= 2.204
|
||||||
|
Provides: perl-CPAN-Meta = 2.150010
|
||||||
|
Obsoletes: perl-CPAN-Meta <= 2.150010
|
||||||
|
Provides: perl-CPAN-Meta-YAML = 0.018
|
||||||
|
Obsoletes: perl-CPAN-Meta-YAML <= 0.018
|
||||||
|
Provides: perl-ExtUtils-CBuilder = 0.280238
|
||||||
|
Obsoletes: perl-ExtUtils-CBuilder <= 0.280238
|
||||||
|
Provides: perl-ExtUtils-ParseXS = 3.51
|
||||||
|
Obsoletes: perl-ExtUtils-ParseXS <= 3.51
|
||||||
|
Provides: perl-Filter-Simple = 0.96
|
||||||
|
Obsoletes: perl-Filter-Simple <= 0.96
|
||||||
|
Provides: perl-I18N-LangTags = 0.45
|
||||||
|
Obsoletes: perl-I18N-LangTags <= 0.45
|
||||||
|
Provides: perl-IO-Compress-Base = 2.204
|
||||||
|
Obsoletes: perl-IO-Compress-Base <= 2.204
|
||||||
|
Provides: perl-IO-Compress-Zlib = 2.204
|
||||||
|
Obsoletes: perl-IO-Compress-Zlib <= 2.204
|
||||||
|
Provides: perl-IO-Socket-IP = 0.41
|
||||||
|
Obsoletes: perl-IO-Socket-IP <= 0.41
|
||||||
|
Provides: perl-IO-Zlib = 1.14
|
||||||
|
Obsoletes: perl-IO-Zlib <= 1.14
|
||||||
|
Provides: perl-libnet = 3.15
|
||||||
|
Obsoletes: perl-libnet <= 3.15
|
||||||
|
Provides: perl-Locale-Maketext-Simple = 0.21
|
||||||
|
Obsoletes: perl-Locale-Maketext-Simple <= 0.21
|
||||||
|
Provides: perl-MIME-Base64 = 3.16
|
||||||
|
Obsoletes: perl-MIME-Base64 <= 3.16
|
||||||
|
Provides: perl-Parse-CPAN-Meta = 2.150010
|
||||||
|
Obsoletes: perl-Parse-CPAN-Meta <= 2.150010
|
||||||
|
Provides: perl-PathTools = 3.88
|
||||||
|
Obsoletes: perl-PathTools <= 3.88
|
||||||
|
Provides: perl-Pod-Escapes = 1.07
|
||||||
|
Obsoletes: perl-Pod-Escapes <= 1.07
|
||||||
|
Provides: perl-Pod-Simple = 3.43
|
||||||
|
Obsoletes: perl-Pod-Simple <= 3.43
|
||||||
|
Provides: perl-Storable = 3.32
|
||||||
|
Obsoletes: perl-Storable <= 3.32
|
||||||
|
Provides: perl-Test-Harness = 3.44
|
||||||
|
Obsoletes: perl-Test-Harness <= 3.44
|
||||||
|
Provides: perl-Test-Simple = 1.302194
|
||||||
|
Obsoletes: perl-Test-Simple <= 1.302194
|
||||||
|
Provides: perl-Text-Balanced = 2.06
|
||||||
|
Obsoletes: perl-Text-Balanced <= 2.06
|
||||||
|
Provides: perl-Time-HiRes = 1.9775
|
||||||
|
Obsoletes: perl-Time-HiRes <= 1.9775
|
||||||
|
Provides: perl-version = 0.9929
|
||||||
|
Obsoletes: perl-version <= 0.9929
|
||||||
|
%if "%{version}" != "%{pversion}"
|
||||||
|
Provides: perl = %{pversion}-%{release}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description
|
||||||
|
perl - Practical Extraction and Report Language
|
||||||
|
|
||||||
|
Perl is optimized for scanning arbitrary text files, extracting
|
||||||
|
information from those text files, and printing reports based on that
|
||||||
|
information. It is also good for many system management tasks. Perl is
|
||||||
|
intended to be practical (easy to use, efficient, and complete) rather
|
||||||
|
than beautiful (tiny, elegant, and minimal).
|
||||||
|
|
||||||
|
Some of the modules available on CPAN can be found in the "perl"
|
||||||
|
series.
|
||||||
|
|
||||||
|
%package base
|
||||||
|
Summary: The Perl interpreter
|
||||||
|
Group: Development/Languages/Perl
|
||||||
|
Provides: perl-Digest
|
||||||
|
Provides: perl-Digest-MD5 = 2.55
|
||||||
|
%if "%{version}" != "%{pversion}"
|
||||||
|
Provides: perl-base = %{pversion}-%{release}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description base
|
||||||
|
perl - Practical Extraction and Report Language
|
||||||
|
|
||||||
|
Perl is optimized for scanning arbitrary text files, extracting
|
||||||
|
information from those text files, and printing reports based on that
|
||||||
|
information. It is also good for many system management tasks.
|
||||||
|
|
||||||
|
Perl is intended to be practical (easy to use, efficient, and complete)
|
||||||
|
rather than beautiful (tiny, elegant, and minimal).
|
||||||
|
|
||||||
|
This package contains only some basic modules and the perl binary
|
||||||
|
itself.
|
||||||
|
|
||||||
|
%package doc
|
||||||
|
Summary: Perl Documentation
|
||||||
|
Group: Development/Languages/Perl
|
||||||
|
Requires: perl = %{version}
|
||||||
|
Provides: perl-macros = 2.0
|
||||||
|
Provides: perl:%{_mandir}/man3/CORE.3pm.gz
|
||||||
|
Obsoletes: perl-macros < 2.0
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description doc
|
||||||
|
Perl man pages and pod files.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q -n perl-%{pversion}
|
||||||
|
cp -p %{SOURCE3} .
|
||||||
|
%patch0
|
||||||
|
%patch3
|
||||||
|
%patch4
|
||||||
|
%patch5
|
||||||
|
%patch6
|
||||||
|
%patch7
|
||||||
|
%ifarch ppc ppc64 ppc64le
|
||||||
|
%patch8 -p1
|
||||||
|
%patch13
|
||||||
|
%endif
|
||||||
|
%patch9 -p1
|
||||||
|
%patch11
|
||||||
|
%patch12 -p1
|
||||||
|
%patch18
|
||||||
|
|
||||||
|
%build
|
||||||
|
%define _lto_cflags %{nil}
|
||||||
|
cp -a lib savelib
|
||||||
|
export BZIP2_LIB=%{_libdir}
|
||||||
|
export BZIP2_INCLUDE=%{_includedir}
|
||||||
|
export BUILD_BZIP2=0
|
||||||
|
options="-Doptimize='%{optflags} -Wall -pipe'"
|
||||||
|
%ifarch alpha
|
||||||
|
# -mieee needed for bad alpha gcc optimization
|
||||||
|
options="-Doptimize='%{optflags} -Wall -pipe -mieee'"
|
||||||
|
%endif
|
||||||
|
# Use 64-bit integers everywhere
|
||||||
|
options="$options -Duse64bitint"
|
||||||
|
# this needs an installed perl, sorry
|
||||||
|
archname=%(perl -V:archname | sed "s!.*='!!;s!'.*!!")
|
||||||
|
test -n "$archname"
|
||||||
|
versionlist=
|
||||||
|
for v in %{?versionlist} ; do
|
||||||
|
test "$v" == none || versionlist="$versionlist $v/$archname $v"
|
||||||
|
done
|
||||||
|
test -n "$versionlist" || versionlist=none
|
||||||
|
versionlist=${versionlist# }
|
||||||
|
options="$options -Dotherlibdirs=/usr/lib/perl5/site_perl -Dinc_version_list='$versionlist'"
|
||||||
|
chmod 755 ./configure.gnu
|
||||||
|
./configure.gnu --prefix=%{_prefix} -Dvendorprefix=%{_prefix} -Dinstallusrbinperl -Dusethreads -Di_db -Di_dbm -Di_ndbm -Di_gdbm -Dd_dbm_open -Duseshrplib=\'true\' $options
|
||||||
|
make %{?_smp_mflags}
|
||||||
|
cp -p libperl.so savelibperl.so
|
||||||
|
cp -p lib/Config.pm saveConfig.pm
|
||||||
|
cp -p lib/Config_heavy.pl saveConfig_heavy.pl
|
||||||
|
make -j1 clobber
|
||||||
|
rm -rf lib
|
||||||
|
mv savelib lib
|
||||||
|
./configure.gnu --prefix=%{_prefix} -Dvendorprefix=%{_prefix} -Dinstallusrbinperl -Dusethreads -Di_db -Di_dbm -Di_ndbm -Di_gdbm -Dd_dbm_open $options
|
||||||
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
|
%check
|
||||||
|
%if 0%{?qemu_user_space_build}
|
||||||
|
# Disable tests that are difficult to emulate
|
||||||
|
echo 'print "1..0\n";' > t/op/fork.t
|
||||||
|
echo 'print "1..0\n";' > t/op/magic.t
|
||||||
|
%endif
|
||||||
|
%if "%{name}" == "perl-testsuite"
|
||||||
|
TEST_JOBS="%{jobs}" make %{?_smp_mflags} test
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%install
|
||||||
|
%if "%{name}" != "perl-testsuite"
|
||||||
|
%make_install
|
||||||
|
cp -a %{buildroot}/usr/lib/perl5/site_perl %{buildroot}/usr/lib/perl5/vendor_perl
|
||||||
|
cpa=`echo %{buildroot}/usr/lib/perl5/*/*/CORE | sed -e 's@/CORE$@@'`
|
||||||
|
cp=`echo "$cpa" | sed -e 's@/[^/]*$@@'`
|
||||||
|
vpa=`echo $cpa | sed -e 's@/perl5/@/perl5/vendor_perl/@'`
|
||||||
|
vp=`echo "$vpa" | sed -e 's@/[^/]*$@@'`
|
||||||
|
install -d $vp/auto
|
||||||
|
install -d $vpa/auto
|
||||||
|
install -m 555 savelibperl.so $cpa/CORE/libperl.so
|
||||||
|
install -m 444 saveConfig.pm $cpa/Config.pm
|
||||||
|
install -m 444 saveConfig_heavy.pl $cpa/Config_heavy.pl
|
||||||
|
# install macros.perl file
|
||||||
|
install -D -m 644 %{SOURCE2} %{buildroot}%{_rpmconfigdir}/macros.d/macros.perl
|
||||||
|
pushd %{_includedir}
|
||||||
|
( rpm -ql glibc-devel | grep -F '.h'
|
||||||
|
find %{_includedir}/asm/ -name \*.h
|
||||||
|
find %{_includedir}/asm-generic -name \*.h
|
||||||
|
find %{_includedir}/linux -name \*.h
|
||||||
|
) | while read f; do
|
||||||
|
%{buildroot}%{_bindir}/perl -I$cp -I$cpa %{buildroot}%{_bindir}/h2ph -d $vpa ${f/\/usr\/include\//} || :
|
||||||
|
done
|
||||||
|
popd
|
||||||
|
d="`gcc -print-file-name=include`"
|
||||||
|
test -f "$d/stdarg.h" && (cd $d ; %{buildroot}%{_bindir}/perl -I$cp -I$cpa %{buildroot}%{_bindir}/h2ph -d $vpa stdarg.h stddef.h float.h)
|
||||||
|
# remove broken pm - we don't have the module
|
||||||
|
rm -f %{buildroot}/usr/lib/perl5/*/Pod/Perldoc/ToTk.pm
|
||||||
|
# we don't need this in here
|
||||||
|
rm -f %{buildroot}/usr/lib/perl5/*/*/CORE/libperl.a
|
||||||
|
# test CVE-2007-5116
|
||||||
|
%{buildroot}%{_bindir}/perl -e '$r=chr(128)."\\x{100}";/$r/'
|
||||||
|
# test perl-regexp-refoverflow.diff, should not crash or hang
|
||||||
|
%{buildroot}%{_bindir}/perl -e 'eval "/\\6666666666/"'
|
||||||
|
cat << EOF > perl-base-filelist
|
||||||
|
/usr/lib/perl5/%{pversion}/B/Deparse.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/Carp.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/Carp/
|
||||||
|
/usr/lib/perl5/%{pversion}/Class/
|
||||||
|
/usr/lib/perl5/%{pversion}/Config/
|
||||||
|
/usr/lib/perl5/%{pversion}/Digest.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/Digest/
|
||||||
|
/usr/lib/perl5/%{pversion}/English.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/Exporter.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/Exporter/
|
||||||
|
/usr/lib/perl5/%{pversion}/File/
|
||||||
|
/usr/lib/perl5/%{pversion}/Getopt/
|
||||||
|
/usr/lib/perl5/%{pversion}/IPC/
|
||||||
|
/usr/lib/perl5/%{pversion}/Text/
|
||||||
|
/usr/lib/perl5/%{pversion}/Tie/Hash.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/XSLoader.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/warnings.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/warnings/
|
||||||
|
/usr/lib/perl5/%{pversion}/AutoLoader.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/FileHandle.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/SelectSaver.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/Symbol.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/base.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/builtin.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/bytes.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/bytes_heavy.pl
|
||||||
|
/usr/lib/perl5/%{pversion}/constant.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/fields.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/feature.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/integer.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/locale.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/overload.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/overloading.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/parent.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/strict.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/utf8.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/vars.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/version.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/Data/
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/Digest/
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/File/
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/List/
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/Scalar/
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/IO.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/IO/Dir.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/IO/File.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/IO/Handle.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/IO/Pipe.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/IO/Poll.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/IO/Seekable.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/IO/Select.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/IO/Socket.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/IO/Socket/
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/B.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/Config.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/Config_heavy.pl
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/Cwd.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/DynaLoader.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/Errno.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/Fcntl.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/POSIX.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/Socket.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/attributes.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/auto/Data/
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/auto/Digest/
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/auto/Fcntl/
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/auto/File/
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/auto/IO/
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/auto/List/
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/auto/Cwd/
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/auto/Socket/
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/auto/POSIX/POSIX.so
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/lib.pm
|
||||||
|
/usr/lib/perl5/%{pversion}/*-linux-thread-multi*/re.pm
|
||||||
|
EOF
|
||||||
|
{
|
||||||
|
sed -e 's/^/%%exclude /' perl-base-filelist
|
||||||
|
(cd %{buildroot}
|
||||||
|
for i in usr/lib/perl5/*/pod/*; do
|
||||||
|
case $i in */perldiag.pod) ;;
|
||||||
|
*) echo "%%exclude /$i" ;;
|
||||||
|
esac
|
||||||
|
done)
|
||||||
|
} > perl-base-excludes
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{name}" == "perl"
|
||||||
|
%files base -f perl-base-filelist
|
||||||
|
%license Copying Artistic
|
||||||
|
%dir /usr/lib/perl5
|
||||||
|
%dir /usr/lib/perl5/%{pversion}
|
||||||
|
%dir /usr/lib/perl5/%{pversion}/B
|
||||||
|
%dir /usr/lib/perl5/%{pversion}/*-linux-thread-multi*
|
||||||
|
%dir /usr/lib/perl5/%{pversion}/*-linux-thread-multi*/auto
|
||||||
|
%dir /usr/lib/perl5/%{pversion}/*-linux-thread-multi*/auto/POSIX
|
||||||
|
%{_bindir}/perl
|
||||||
|
%{_bindir}/perl%{pversion}
|
||||||
|
%{_mandir}/man1/perl.1%{?ext_man}
|
||||||
|
|
||||||
|
%files -f perl-base-excludes
|
||||||
|
%exclude %{_bindir}/perl
|
||||||
|
%exclude %{_bindir}/perl%{pversion}
|
||||||
|
%{_bindir}/*
|
||||||
|
/usr/lib/perl5/*
|
||||||
|
%{_rpmconfigdir}/macros.d/macros.perl
|
||||||
|
|
||||||
|
%files doc
|
||||||
|
%doc README.macros
|
||||||
|
%exclude %{_mandir}/man1/perl.1.gz
|
||||||
|
%exclude /usr/lib/perl5/*/pod/perldiag.pod
|
||||||
|
%{_mandir}/man1/*
|
||||||
|
%{_mandir}/man3/*
|
||||||
|
%doc /usr/lib/perl5/*/pod
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%changelog
|
93
perl_skip_flaky_tests_powerpc.patch
Normal file
93
perl_skip_flaky_tests_powerpc.patch
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
--- cpan/Memoize/t/expmod_t.t.orig 2023-05-26 01:05:34.000000000 +0000
|
||||||
|
+++ cpan/Memoize/t/expmod_t.t 2023-07-19 14:04:47.663312737 +0000
|
||||||
|
@@ -1,4 +1,7 @@
|
||||||
|
use strict; use warnings;
|
||||||
|
+
|
||||||
|
+use Test::More skip_all => "ppc workers are too busy";
|
||||||
|
+
|
||||||
|
use Memoize;
|
||||||
|
use Memoize::Expire;
|
||||||
|
|
||||||
|
--- dist/Time-HiRes/t/alarm.t.orig 2023-07-19 13:59:43.995753782 +0000
|
||||||
|
+++ dist/Time-HiRes/t/alarm.t 2023-07-19 14:00:51.687655436 +0000
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
use strict;
|
||||||
|
|
||||||
|
-use Test::More tests => 10;
|
||||||
|
+use Test::More skip_all => "ppc workers are too busy";
|
||||||
|
BEGIN { push @INC, '.' }
|
||||||
|
use t::Watchdog;
|
||||||
|
|
||||||
|
--- dist/Time-HiRes/t/clock.t.orig 2023-07-19 13:59:43.995753782 +0000
|
||||||
|
+++ dist/Time-HiRes/t/clock.t 2023-07-19 14:00:51.687655436 +0000
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
use strict;
|
||||||
|
|
||||||
|
-use Test::More tests => 5;
|
||||||
|
+use Test::More skip_all => "ppc workers are too busy";
|
||||||
|
BEGIN { push @INC, '.' }
|
||||||
|
use t::Watchdog;
|
||||||
|
|
||||||
|
--- dist/Time-HiRes/t/nanosleep.t.orig 2020-12-28 16:57:44.000000000 +0000
|
||||||
|
+++ dist/Time-HiRes/t/nanosleep.t 2023-07-19 14:00:51.687655436 +0000
|
||||||
|
@@ -8,7 +8,7 @@ BEGIN {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-use Test::More tests => 4;
|
||||||
|
+use Test::More skip_all => "ppc workers are too busy";
|
||||||
|
BEGIN { push @INC, '.' }
|
||||||
|
use t::Watchdog;
|
||||||
|
|
||||||
|
--- dist/Time-HiRes/t/usleep.t.orig 2023-07-19 13:59:43.995753782 +0000
|
||||||
|
+++ dist/Time-HiRes/t/usleep.t 2023-07-19 14:00:51.687655436 +0000
|
||||||
|
@@ -8,7 +8,7 @@ BEGIN {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-use Test::More tests => 6;
|
||||||
|
+use Test::More skip_all => "ppc workers are too busy";
|
||||||
|
BEGIN { push @INC, '.' }
|
||||||
|
use t::Watchdog;
|
||||||
|
|
||||||
|
--- t/op/alarm.t.orig 2022-05-28 15:29:53.000000000 +0000
|
||||||
|
+++ t/op/alarm.t 2023-07-19 14:00:51.687655436 +0000
|
||||||
|
@@ -11,6 +11,7 @@ use Config;
|
||||||
|
if ( !$Config{d_alarm} ) {
|
||||||
|
skip_all("alarm() not implemented on this platform");
|
||||||
|
}
|
||||||
|
+skip_all("ppc workers are too busy");
|
||||||
|
|
||||||
|
plan tests => 5;
|
||||||
|
my $Perl = which_perl();
|
||||||
|
--- t/op/sigsystem.t.orig 2019-02-18 09:59:23.000000000 +0000
|
||||||
|
+++ t/op/sigsystem.t 2023-07-19 14:00:51.687655436 +0000
|
||||||
|
@@ -11,6 +11,7 @@ use strict;
|
||||||
|
use constant TRUE => ($^X, '-e', 'exit 0');
|
||||||
|
use Data::Dumper;
|
||||||
|
|
||||||
|
+skip_all("ppc workers are too busy");
|
||||||
|
plan tests => 4;
|
||||||
|
|
||||||
|
SKIP: {
|
||||||
|
--- t/op/sselect.t.orig 2023-05-26 01:05:34.000000000 +0000
|
||||||
|
+++ t/op/sselect.t 2023-07-19 14:02:28.583514670 +0000
|
||||||
|
@@ -13,6 +13,8 @@ BEGIN {
|
||||||
|
skip_all("Win32 miniperl has no socket select")
|
||||||
|
if $^O eq "MSWin32" && is_miniperl();
|
||||||
|
|
||||||
|
+skip_all("ppc workers are too busy");
|
||||||
|
+
|
||||||
|
plan (23);
|
||||||
|
|
||||||
|
my $blank = "";
|
||||||
|
--- t/op/stat.t.orig 2022-05-28 15:29:53.000000000 +0000
|
||||||
|
+++ t/op/stat.t 2023-07-19 14:00:51.687655436 +0000
|
||||||
|
@@ -9,6 +9,7 @@ BEGIN {
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use Config;
|
||||||
|
+skip_all("ppc workers are too busy");
|
||||||
|
|
||||||
|
my ($Null, $Curdir);
|
||||||
|
if(eval {require File::Spec; 1}) {
|
12
skip_time_hires.patch
Normal file
12
skip_time_hires.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
Index: perl-5.18.0/dist/Time-HiRes/t/itimer.t
|
||||||
|
===================================================================
|
||||||
|
--- perl-5.18.0.orig/dist/Time-HiRes/t/itimer.t
|
||||||
|
+++ perl-5.18.0/dist/Time-HiRes/t/itimer.t
|
||||||
|
@@ -1,5 +1,7 @@
|
||||||
|
use strict;
|
||||||
|
|
||||||
|
+use Test::More skip_all => "ppc workers are too busy";
|
||||||
|
+
|
||||||
|
sub has_symbol {
|
||||||
|
my $symbol = shift;
|
||||||
|
eval "use Time::HiRes qw($symbol)";
|
Loading…
Reference in New Issue
Block a user