perl/perl-5.18.0.dif

582 lines
18 KiB
Plaintext
Raw Normal View History

--- ./Configure.orig 2013-05-10 14:13:56.000000000 +0000
+++ ./Configure 2013-06-06 12:51:27.000000000 +0000
@@ -112,7 +112,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"
@@ -1346,7 +1346,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"
@@ -2394,7 +2394,7 @@ uname
zip
"
pth=`echo $PATH | sed -e "s/$p_/ /g"`
-pth="$pth /lib /usr/lib"
+pth="$pth /lib /usr/lib /lib64 /usr/lib64"
for file in $loclist; do
eval xxx=\$$file
case "$xxx" in
@@ -11233,7 +11233,7 @@ void xxx(int n, ...)
va_start(args, n);
exit((unsigned long)vsprintf(buf,"%s",args) > 10L);
}
-int main() { xxx(1, "foo"); }
+int main() { xxx(1, "foo"); return 0; }
#else /* I_VARARGS */
@@ -11245,7 +11245,7 @@ va_dcl
va_start(args);
exit((unsigned long)vsprintf(buf,"%s",args) > 10L);
}
-int main() { xxx("foo"); }
+int main() { xxx("foo"); return 0; }
#endif
@@ -19335,14 +19335,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 "*)
@@ -19385,7 +19391,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 $contains warning try.out >>/dev/null 2>&1 ; then
db_hashtype='int'
else
@@ -19430,7 +19436,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 $contains warning try.out >>/dev/null 2>&1 ; then
db_prefixtype='int'
else
@@ -23736,7 +23742,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'
perladmin='$perladmin'
--- ./SuSE/SuSEconfig.perl.orig 2013-06-06 12:51:27.000000000 +0000
+++ ./SuSE/SuSEconfig.perl 2013-06-06 12:51:27.000000000 +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 2013-06-06 12:51:27.000000000 +0000
+++ ./SuSE/perllocal.SuSE 2013-06-06 12:51:27.000000000 +0000
@@ -0,0 +1,84 @@
+#!/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 2013-06-06 12:51:27.000000000 +0000
+++ ./SuSE/sysconfig.suseconfig-perl 2013-06-06 12:51:27.000000000 +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/CPAN/lib/CPAN.pm.orig 2013-05-01 02:52:54.000000000 +0000
+++ ./cpan/CPAN/lib/CPAN.pm 2013-06-06 12:51:27.000000000 +0000
@@ -65,7 +65,7 @@ sub _uniq;
no lib ".";
-require Mac::BuildTools if $^O eq 'MacOS';
+#require Mac::BuildTools if $^O eq 'MacOS';
if ($ENV{PERL5_CPAN_IS_RUNNING} && $$ != $ENV{PERL5_CPAN_IS_RUNNING}) {
$ENV{PERL5_CPAN_IS_RUNNING_IN_RECURSION} ||= $ENV{PERL5_CPAN_IS_RUNNING};
my @rec = _uniq split(/,/, $ENV{PERL5_CPAN_IS_RUNNING_IN_RECURSION}), $$;
--- ./cpan/Compress-Raw-Zlib/config.in.orig 2013-05-01 02:52:54.000000000 +0000
+++ ./cpan/Compress-Raw-Zlib/config.in 2013-06-06 12:51:27.000000000 +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
--- ./cpan/Encode/bin/enc2xs.orig 2013-05-01 02:52:54.000000000 +0000
+++ ./cpan/Encode/bin/enc2xs 2013-06-06 12:51:27.000000000 +0000
@@ -1005,13 +1005,13 @@ 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 .=
qq(\$Encode::ExtModule{'$enc'} = "$LocalMod{$enc}";\n);
}
- warn $_ModLines;
+ warn $_ModLines if $_ModLines ne '';
$_LocalVer = _mkversion();
$_E2X = find_e2x();
$_Inc = $INC{"Encode.pm"};
--- ./cpan/File-Temp/lib/File/Temp.pm.orig 2013-05-01 02:52:55.000000000 +0000
+++ ./cpan/File-Temp/lib/File/Temp.pm 2013-06-06 12:58:21.000000000 +0000
@@ -149,7 +149,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 2013-05-01 02:52:55.000000000 +0000
+++ ./cpan/Sys-Syslog/t/syslog.t 2013-06-06 12:51:27.000000000 +0000
@@ -220,6 +220,7 @@ SKIP: {
}
}
else {
+ $r = 1 unless -e '/dev/log';
ok( $r, "setlogsock() should return true: '$r'" );
}
--- ./cpan/libnet/Net/Config.pm.orig 2013-05-01 02:52:55.000000000 +0000
+++ ./cpan/libnet/Net/Config.pm 2013-06-06 12:51:27.000000000 +0000
@@ -37,7 +37,7 @@ eval { local $SIG{__DIE__}; require Net:
# Try to get as much configuration info as possible from InternetConfig
#
$^O eq 'MacOS' and eval <<TRY_INTERNET_CONFIG;
-use Mac::InternetConfig;
+#use Mac::InternetConfig;
{
my %nc = (
--- ./dist/ExtUtils-Install/lib/ExtUtils/Packlist.pm.orig 2013-05-01 02:52:55.000000000 +0000
+++ ./dist/ExtUtils-Install/lib/ExtUtils/Packlist.pm 2013-06-06 12:51:27.000000000 +0000
@@ -207,8 +207,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);
--- ./ext/DynaLoader/hints/linux.pl.orig 2013-02-26 21:28:27.000000000 +0000
+++ ./ext/DynaLoader/hints/linux.pl 2013-06-06 12:51:27.000000000 +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 2013-02-26 21:28:27.000000000 +0000
+++ ./ext/ODBM_File/Makefile.PL 2013-06-06 12:51:27.000000000 +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 2013-05-01 02:52:55.000000000 +0000
+++ ./ext/ODBM_File/hints/linux.pl 2013-06-06 12:51:27.000000000 +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 2013-05-01 02:52:55.000000000 +0000
+++ ./hints/linux.sh 2013-06-06 12:51:27.000000000 +0000
@@ -53,12 +53,14 @@ 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="$*"
# Debian 4.0 puts ndbm in the -lgdbm_compat library.
-libswanted="$libswanted gdbm_compat"
+#libswanted="$libswanted gdbm_compat"
# If you have glibc, then report the version for ./myconfig bug reporting.
# (Configure doesn't need to know the specific version since it just uses
@@ -66,7 +68,18 @@ libswanted="$libswanted gdbm_compat"
# We don't use __GLIBC__ and __GLIBC_MINOR__ because they
# are insufficiently precise to distinguish things like
# libc-2.0.6 and libc-2.0.7.
-if test -L /lib/libc.so.6; then
+if test -e /lib64/libc.so.6; then
+ libc=`ls -l /lib64/libc.so.6 | awk '{print $NF}'`
+ libc=/lib64/$libc
+ #plibpth='/usr/local/lib64 /usr/lib64 /lib64'
+ glibpth='/lib64 /usr/lib64 /usr/local/lib64'
+ libspath='/usr/local/lib64 /lib64 /usr/lib64'
+ #libpth='/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
@@ -151,6 +164,7 @@ case "$optimize" in
esac
;;
esac
+ optimize="$optimize --pipe"
;;
esac
@@ -174,7 +188,7 @@ else
fi
case "$plibpth" in
-'') plibpth=`LANG=C LC_ALL=C $gcc -print-search-dirs | grep libraries |
+'UBUNTU') plibpth=`LANG=C LC_ALL=C $gcc -print-search-dirs | grep libraries |
cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
set X $plibpth # Collapse all entries on one line
shift
@@ -182,6 +196,10 @@ case "$plibpth" in
;;
esac
+man1dir=/usr/share/man/man1
+man3dir=/usr/share/man/man3
+man3ext=3pm
+
# Are we using ELF? Thanks to Kenneth Albanowski <kjahds@kjahds.com>
# for this test.
cat >try.c <<'EOM'
@@ -266,6 +284,29 @@ EOM
esac
fi
+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=
+
rm -f try.c a.out
if /bin/sh -c exit; then
@@ -315,6 +356,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>
@@ -387,6 +431,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 2013-05-01 02:52:55.000000000 +0000
+++ ./installperl 2013-06-06 12:51:27.000000000 +0000
@@ -739,7 +739,7 @@ sub installlib {
return if $name eq 'ExtUtils/XSSymSet.pm' and !$Is_VMS;
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 || $Is_NetWare)) ||
$name=~/^Config_(heavy|git)\.pl\z/
--- ./lib/perl5db.pl.orig 2013-05-01 02:52:55.000000000 +0000
+++ ./lib/perl5db.pl 2013-06-06 12:57:15.000000000 +0000
@@ -2325,6 +2325,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,...
@@ -2426,6 +2428,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)
--- ./locale.c.orig 2013-05-01 02:52:55.000000000 +0000
+++ ./locale.c 2013-06-06 12:51:27.000000000 +0000
@@ -354,9 +354,15 @@ Perl_init_i18nl10n(pTHX_ int printwarn)
if (setlocale_failure) {
char *p;
+#if 0
const bool locwarn = (printwarn > 1 ||
(printwarn &&
(!(p = PerlEnv_getenv("PERL_BADLANG")) || atoi(p))));
+#else
+ const bool locwarn = (printwarn > 1 ||
+ (printwarn &&
+ ((p = PerlEnv_getenv("PERL_BADLANG")) && atoi(p))));
+#endif
if (locwarn) {
#ifdef LC_ALL
--- ./t/op/numconvert.t.orig 2013-05-01 02:52:56.000000000 +0000
+++ ./t/op/numconvert.t 2013-06-06 12:51:27.000000000 +0000
@@ -47,7 +47,7 @@ my $max_chain = $ENV{PERL_TEST_NUMCONVER
# Bulk out if unsigned type is hopelessly wrong:
my $max_uv1 = ~0;
-my $max_uv2 = sprintf "%u", $max_uv1 ** 6; # 6 is an arbitrary number here
+my $max_uv2 = sprintf "%lu", $max_uv1 ** 6; # 6 is an arbitrary number here
my $big_iv = do {use integer; $max_uv1 * 16}; # 16 is an arbitrary number here
my $max_uv_less3 = $max_uv1 - 3;
--- ./utils/perlbug.PL.orig 2013-05-01 02:52:56.000000000 +0000
+++ ./utils/perlbug.PL 2013-06-06 12:51:27.000000000 +0000
@@ -1017,6 +1017,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);
return \%headers;
}