- update Storable to 2.21
This commit is contained in:
parent
905f4872bf
commit
97185e1635
@ -1,57 +0,0 @@
|
||||
diff -up perl-5.10.0/ext/Storable/Storable.xs.old perl-5.10.0/ext/Storable/Storable.xs
|
||||
--- perl-5.10.0/ext/Storable/Storable.xs.old 2007-12-18 11:47:07.000000000 +0100
|
||||
+++ perl-5.10.0/ext/Storable/Storable.xs 2008-09-30 14:03:38.000000000 +0200
|
||||
@@ -4561,7 +4561,13 @@ static SV *retrieve_overloaded(pTHX_ stc
|
||||
* WARNING: breaks RV encapsulation.
|
||||
*/
|
||||
|
||||
- sv_upgrade(rv, SVt_RV);
|
||||
+ if (cname) {
|
||||
+ /* No need to do anything, as rv will already be PVMG. */
|
||||
+ assert (SvTYPE(rv) >= SVt_RV);
|
||||
+ } else {
|
||||
+ sv_upgrade(rv, SVt_RV);
|
||||
+ }
|
||||
+
|
||||
SvRV_set(rv, sv); /* $rv = \$sv */
|
||||
SvROK_on(rv);
|
||||
|
||||
diff -up perl-5.10.0/ext/Storable/t/overload.t.old perl-5.10.0/ext/Storable/t/overload.t
|
||||
--- perl-5.10.0/ext/Storable/t/overload.t.old 2007-12-18 11:47:07.000000000 +0100
|
||||
+++ perl-5.10.0/ext/Storable/t/overload.t 2008-09-30 14:05:04.000000000 +0200
|
||||
@@ -25,7 +25,7 @@ sub ok;
|
||||
|
||||
use Storable qw(freeze thaw);
|
||||
|
||||
-print "1..16\n";
|
||||
+print "1..20\n";
|
||||
|
||||
package OVERLOADED;
|
||||
|
||||
@@ -59,6 +59,14 @@ sub make {
|
||||
return $self;
|
||||
}
|
||||
|
||||
+package SCALAR_REF_TO_OVER;
|
||||
+
|
||||
+sub create {
|
||||
+my ($class) = @_;
|
||||
+my $over = bless {}, 'OVER';
|
||||
+return bless \$over, $class;
|
||||
+}
|
||||
+
|
||||
package OVER;
|
||||
|
||||
use overload
|
||||
@@ -103,4 +111,11 @@ ok 13, $@ eq "";
|
||||
ok 14, ref ($t) eq 'REF';
|
||||
ok 15, ref ($$t) eq 'HAS_OVERLOAD';
|
||||
ok 16, $$$t eq 'snow';
|
||||
+$c = SCALAR_REF_TO_OVER->create();
|
||||
+# Don't segfault here
|
||||
+$d = thaw freeze $c;
|
||||
+ok 17, ref($c) eq 'SCALAR_REF_TO_OVER';
|
||||
+ok 18, ref($d) eq 'SCALAR_REF_TO_OVER';
|
||||
+ok 19, ref($$c) eq 'OVER';
|
||||
+ok 20, ref($$d) eq 'OVER';
|
||||
1;
|
389
perl-update-Storable.patch
Normal file
389
perl-update-Storable.patch
Normal file
@ -0,0 +1,389 @@
|
||||
Storable-2.21
|
||||
|
||||
diff -urpN perl-5.10.0.orig/MANIFEST perl-5.10.0/MANIFEST
|
||||
--- perl-5.10.0.orig/MANIFEST 2007-12-18 11:47:07.000000000 +0100
|
||||
+++ perl-5.10.0/MANIFEST 2009-10-01 13:18:44.000000000 +0200
|
||||
@@ -1028,6 +1028,7 @@ ext/Socket/t/Socket.t See if Socket wor
|
||||
ext/Storable/ChangeLog Storable extension
|
||||
ext/Storable/hints/gnukfreebsd.pl Hint for Storable for named architecture
|
||||
ext/Storable/hints/gnuknetbsd.pl Hint for Storable for named architecture
|
||||
+ext/Storable/hints/hpux.pl Hint for Storable for named architecture
|
||||
ext/Storable/hints/linux.pl Hint for Storable for named architecture
|
||||
ext/Storable/Makefile.PL Storable extension
|
||||
ext/Storable/MANIFEST Storable extension
|
||||
diff -urpN perl-5.10.0.orig/ext/Storable/ChangeLog perl-5.10.0/ext/Storable/ChangeLog
|
||||
--- perl-5.10.0.orig/ext/Storable/ChangeLog 2007-12-18 11:47:07.000000000 +0100
|
||||
+++ perl-5.10.0/ext/Storable/ChangeLog 2009-10-01 13:17:50.000000000 +0200
|
||||
@@ -1,3 +1,18 @@
|
||||
+Thu Aug 6 10:55:50 IST 2009 Abhijit Menon-Sen <ams@toroid.org>
|
||||
+
|
||||
+ Version 2.21
|
||||
+
|
||||
+ Includes hints/hpux.pl that was inadvertently left out of 2.20.
|
||||
+
|
||||
+Mon May 18 09:38:20 IST 2009 Abhijit Menon-Sen <ams@toroid.org>
|
||||
+
|
||||
+ Version 2.20
|
||||
+
|
||||
+ Fix bug handling blessed references to overloaded objects, plus
|
||||
+ other miscellaneous fixes.
|
||||
+
|
||||
+ (Version 2.19 was released with 5.8.9.)
|
||||
+
|
||||
Thu Nov 22 13:24:18 IST 2007 Abhijit Menon-Sen <ams@toroid.org>
|
||||
|
||||
Version 2.18
|
||||
diff -urpN perl-5.10.0.orig/ext/Storable/MANIFEST perl-5.10.0/ext/Storable/MANIFEST
|
||||
--- perl-5.10.0.orig/ext/Storable/MANIFEST 2007-12-18 11:47:07.000000000 +0100
|
||||
+++ perl-5.10.0/ext/Storable/MANIFEST 2009-10-01 13:17:50.000000000 +0200
|
||||
@@ -4,6 +4,7 @@ Makefile.PL Generic Makefile templa
|
||||
Storable.pm The perl side of Storable
|
||||
Storable.xs The C side of Storable
|
||||
ChangeLog Changes since baseline
|
||||
+hints/hpux.pl Hint file to drop to -O1 on HPUX
|
||||
hints/linux.pl Hint file to drop gcc to -O2
|
||||
hints/gnukfreebsd.pl Hint file to drop gcc to -O2
|
||||
hints/gnuknetbsd.pl Hint file to drop gcc to -O2
|
||||
diff -urpN perl-5.10.0.orig/ext/Storable/Makefile.PL perl-5.10.0/ext/Storable/Makefile.PL
|
||||
--- perl-5.10.0.orig/ext/Storable/Makefile.PL 2007-12-18 11:47:07.000000000 +0100
|
||||
+++ perl-5.10.0/ext/Storable/Makefile.PL 2009-10-01 13:17:58.000000000 +0200
|
||||
@@ -11,7 +11,6 @@ use Config;
|
||||
WriteMakefile(
|
||||
NAME => 'Storable',
|
||||
DISTNAME => "Storable",
|
||||
- MAN3PODS => {},
|
||||
# We now ship this in t/
|
||||
# PREREQ_PM => { 'Test::More' => '0.41' },
|
||||
INSTALLDIRS => $] >= 5.007 ? 'perl' : 'site',
|
||||
diff -urpN perl-5.10.0.orig/ext/Storable/Storable.pm perl-5.10.0/ext/Storable/Storable.pm
|
||||
--- perl-5.10.0.orig/ext/Storable/Storable.pm 2007-12-18 11:47:07.000000000 +0100
|
||||
+++ perl-5.10.0/ext/Storable/Storable.pm 2009-10-01 13:17:58.000000000 +0200
|
||||
@@ -23,7 +23,7 @@ use AutoLoader;
|
||||
use FileHandle;
|
||||
use vars qw($canonical $forgive_me $VERSION);
|
||||
|
||||
-$VERSION = '2.18';
|
||||
+$VERSION = '2.21';
|
||||
*AUTOLOAD = \&AutoLoader::AUTOLOAD; # Grrr...
|
||||
|
||||
#
|
||||
@@ -1177,7 +1177,7 @@ Storable was written by Raphael Manfredi
|
||||
Maintenance is now done by the perl5-porters F<E<lt>perl5-porters@perl.orgE<gt>>
|
||||
|
||||
Please e-mail us with problems, bug fixes, comments and complaints,
|
||||
-although if you have complements you should send them to Raphael.
|
||||
+although if you have compliments you should send them to Raphael.
|
||||
Please don't e-mail Raphael with problems, as he no longer works on
|
||||
Storable, and your message will be delayed while he forwards it to us.
|
||||
|
||||
diff -urpN perl-5.10.0.orig/ext/Storable/Storable.xs perl-5.10.0/ext/Storable/Storable.xs
|
||||
--- perl-5.10.0.orig/ext/Storable/Storable.xs 2007-12-18 11:47:07.000000000 +0100
|
||||
+++ perl-5.10.0/ext/Storable/Storable.xs 2009-10-01 13:17:58.000000000 +0200
|
||||
@@ -151,7 +151,7 @@ typedef double NV; /* Older perls lack
|
||||
|
||||
#define TRACEME(x) \
|
||||
STMT_START { \
|
||||
- if (SvTRUE(perl_get_sv("Storable::DEBUGME", TRUE))) \
|
||||
+ if (SvTRUE(perl_get_sv("Storable::DEBUGME", GV_ADD))) \
|
||||
{ PerlIO_stdoutf x; PerlIO_stdoutf("\n"); } \
|
||||
} STMT_END
|
||||
#else
|
||||
@@ -401,7 +401,7 @@ typedef struct stcxt {
|
||||
|
||||
#if (PATCHLEVEL <= 4) && (SUBVERSION < 68)
|
||||
#define dSTCXT_SV \
|
||||
- SV *perinterp_sv = perl_get_sv(MY_VERSION, FALSE)
|
||||
+ SV *perinterp_sv = perl_get_sv(MY_VERSION, 0)
|
||||
#else /* >= perl5.004_68 */
|
||||
#define dSTCXT_SV \
|
||||
SV *perinterp_sv = *hv_fetch(PL_modglobal, \
|
||||
@@ -1682,7 +1682,7 @@ static SV *pkg_fetchmeth(
|
||||
pTHX_
|
||||
HV *cache,
|
||||
HV *pkg,
|
||||
- char *method)
|
||||
+ const char *method)
|
||||
{
|
||||
GV *gv;
|
||||
SV *sv;
|
||||
@@ -1722,7 +1722,7 @@ static void pkg_hide(
|
||||
pTHX_
|
||||
HV *cache,
|
||||
HV *pkg,
|
||||
- char *method)
|
||||
+ const char *method)
|
||||
{
|
||||
const char *hvname = HvNAME_get(pkg);
|
||||
(void) hv_store(cache,
|
||||
@@ -1738,7 +1738,7 @@ static void pkg_uncache(
|
||||
pTHX_
|
||||
HV *cache,
|
||||
HV *pkg,
|
||||
- char *method)
|
||||
+ const char *method)
|
||||
{
|
||||
const char *hvname = HvNAME_get(pkg);
|
||||
(void) hv_delete(cache, hvname, strlen(hvname), G_DISCARD);
|
||||
@@ -1756,7 +1756,7 @@ static SV *pkg_can(
|
||||
pTHX_
|
||||
HV *cache,
|
||||
HV *pkg,
|
||||
- char *method)
|
||||
+ const char *method)
|
||||
{
|
||||
SV **svh;
|
||||
SV *sv;
|
||||
@@ -2332,7 +2332,7 @@ static int store_hash(pTHX_ stcxt_t *cxt
|
||||
if (
|
||||
!(cxt->optype & ST_CLONE) && (cxt->canonical == 1 ||
|
||||
(cxt->canonical < 0 && (cxt->canonical =
|
||||
- (SvTRUE(perl_get_sv("Storable::canonical", TRUE)) ? 1 : 0))))
|
||||
+ (SvTRUE(perl_get_sv("Storable::canonical", GV_ADD)) ? 1 : 0))))
|
||||
) {
|
||||
/*
|
||||
* Storing in order, sorted by key.
|
||||
@@ -2619,7 +2619,7 @@ static int store_code(pTHX_ stcxt_t *cxt
|
||||
if (
|
||||
cxt->deparse == 0 ||
|
||||
(cxt->deparse < 0 && !(cxt->deparse =
|
||||
- SvTRUE(perl_get_sv("Storable::Deparse", TRUE)) ? 1 : 0))
|
||||
+ SvTRUE(perl_get_sv("Storable::Deparse", GV_ADD)) ? 1 : 0))
|
||||
) {
|
||||
return store_other(aTHX_ cxt, (SV*)cv);
|
||||
}
|
||||
@@ -3397,7 +3397,7 @@ static int store_other(pTHX_ stcxt_t *cx
|
||||
if (
|
||||
cxt->forgive_me == 0 ||
|
||||
(cxt->forgive_me < 0 && !(cxt->forgive_me =
|
||||
- SvTRUE(perl_get_sv("Storable::forgive_me", TRUE)) ? 1 : 0))
|
||||
+ SvTRUE(perl_get_sv("Storable::forgive_me", GV_ADD)) ? 1 : 0))
|
||||
)
|
||||
CROAK(("Can't store %s items", sv_reftype(sv, FALSE)));
|
||||
|
||||
@@ -3434,7 +3434,9 @@ static int sv_type(pTHX_ SV *sv)
|
||||
{
|
||||
switch (SvTYPE(sv)) {
|
||||
case SVt_NULL:
|
||||
+#if PERL_VERSION <= 10
|
||||
case SVt_IV:
|
||||
+#endif
|
||||
case SVt_NV:
|
||||
/*
|
||||
* No need to check for ROK, that can't be set here since there
|
||||
@@ -3442,7 +3444,11 @@ static int sv_type(pTHX_ SV *sv)
|
||||
*/
|
||||
return svis_SCALAR;
|
||||
case SVt_PV:
|
||||
+#if PERL_VERSION <= 10
|
||||
case SVt_RV:
|
||||
+#else
|
||||
+ case SVt_IV:
|
||||
+#endif
|
||||
case SVt_PVIV:
|
||||
case SVt_PVNV:
|
||||
/*
|
||||
@@ -3683,7 +3689,7 @@ static int magic_write(pTHX_ stcxt_t *cx
|
||||
length = sizeof (network_file_header);
|
||||
} else {
|
||||
#ifdef USE_56_INTERWORK_KLUDGE
|
||||
- if (SvTRUE(perl_get_sv("Storable::interwork_56_64bit", TRUE))) {
|
||||
+ if (SvTRUE(perl_get_sv("Storable::interwork_56_64bit", GV_ADD))) {
|
||||
header = file_header_56;
|
||||
length = sizeof (file_header_56);
|
||||
} else
|
||||
@@ -4444,7 +4450,7 @@ static SV *retrieve_hook(pTHX_ stcxt_t *
|
||||
* into the existing design. -- RAM, 17/02/2001
|
||||
*/
|
||||
|
||||
- sv_magic(sv, rv, mtype, Nullch, 0);
|
||||
+ sv_magic(sv, rv, mtype, (char *)NULL, 0);
|
||||
SvREFCNT_dec(rv); /* Undo refcnt inc from sv_magic() */
|
||||
|
||||
return sv;
|
||||
@@ -4497,7 +4503,7 @@ static SV *retrieve_ref(pTHX_ stcxt_t *c
|
||||
|
||||
if (cname) {
|
||||
/* No need to do anything, as rv will already be PVMG. */
|
||||
- assert (SvTYPE(rv) >= SVt_RV);
|
||||
+ assert (SvTYPE(rv) == SVt_RV || SvTYPE(rv) >= SVt_PV);
|
||||
} else {
|
||||
sv_upgrade(rv, SVt_RV);
|
||||
}
|
||||
@@ -4561,7 +4567,7 @@ static SV *retrieve_overloaded(pTHX_ stc
|
||||
* WARNING: breaks RV encapsulation.
|
||||
*/
|
||||
|
||||
- sv_upgrade(rv, SVt_RV);
|
||||
+ SvUPGRADE(rv, SVt_RV);
|
||||
SvRV_set(rv, sv); /* $rv = \$sv */
|
||||
SvROK_on(rv);
|
||||
|
||||
@@ -4641,7 +4647,7 @@ static SV *retrieve_tied_array(pTHX_ stc
|
||||
|
||||
sv_upgrade(tv, SVt_PVAV);
|
||||
AvREAL_off((AV *)tv);
|
||||
- sv_magic(tv, sv, 'P', Nullch, 0);
|
||||
+ sv_magic(tv, sv, 'P', (char *)NULL, 0);
|
||||
SvREFCNT_dec(sv); /* Undo refcnt inc from sv_magic() */
|
||||
|
||||
TRACEME(("ok (retrieve_tied_array at 0x%"UVxf")", PTR2UV(tv)));
|
||||
@@ -4669,7 +4675,7 @@ static SV *retrieve_tied_hash(pTHX_ stcx
|
||||
return (SV *) 0; /* Failed */
|
||||
|
||||
sv_upgrade(tv, SVt_PVHV);
|
||||
- sv_magic(tv, sv, 'P', Nullch, 0);
|
||||
+ sv_magic(tv, sv, 'P', (char *)NULL, 0);
|
||||
SvREFCNT_dec(sv); /* Undo refcnt inc from sv_magic() */
|
||||
|
||||
TRACEME(("ok (retrieve_tied_hash at 0x%"UVxf")", PTR2UV(tv)));
|
||||
@@ -4701,7 +4707,7 @@ static SV *retrieve_tied_scalar(pTHX_ st
|
||||
}
|
||||
|
||||
sv_upgrade(tv, SVt_PVMG);
|
||||
- sv_magic(tv, obj, 'q', Nullch, 0);
|
||||
+ sv_magic(tv, obj, 'q', (char *)NULL, 0);
|
||||
|
||||
if (obj) {
|
||||
/* Undo refcnt inc from sv_magic() */
|
||||
@@ -4768,7 +4774,7 @@ static SV *retrieve_tied_idx(pTHX_ stcxt
|
||||
RLEN(idx); /* Retrieve <idx> */
|
||||
|
||||
sv_upgrade(tv, SVt_PVMG);
|
||||
- sv_magic(tv, sv, 'p', Nullch, idx);
|
||||
+ sv_magic(tv, sv, 'p', (char *)NULL, idx);
|
||||
SvREFCNT_dec(sv); /* Undo refcnt inc from sv_magic() */
|
||||
|
||||
return tv;
|
||||
@@ -4907,7 +4913,7 @@ static SV *retrieve_utf8str(pTHX_ stcxt_
|
||||
#else
|
||||
if (cxt->use_bytes < 0)
|
||||
cxt->use_bytes
|
||||
- = (SvTRUE(perl_get_sv("Storable::drop_utf8", TRUE))
|
||||
+ = (SvTRUE(perl_get_sv("Storable::drop_utf8", GV_ADD))
|
||||
? 1 : 0);
|
||||
if (cxt->use_bytes == 0)
|
||||
UTF8_CROAK();
|
||||
@@ -4936,7 +4942,7 @@ static SV *retrieve_lutf8str(pTHX_ stcxt
|
||||
#else
|
||||
if (cxt->use_bytes < 0)
|
||||
cxt->use_bytes
|
||||
- = (SvTRUE(perl_get_sv("Storable::drop_utf8", TRUE))
|
||||
+ = (SvTRUE(perl_get_sv("Storable::drop_utf8", GV_ADD))
|
||||
? 1 : 0);
|
||||
if (cxt->use_bytes == 0)
|
||||
UTF8_CROAK();
|
||||
@@ -5267,7 +5273,7 @@ static SV *retrieve_flag_hash(pTHX_ stcx
|
||||
if (hash_flags & SHV_RESTRICTED) {
|
||||
if (cxt->derestrict < 0)
|
||||
cxt->derestrict
|
||||
- = (SvTRUE(perl_get_sv("Storable::downgrade_restricted", TRUE))
|
||||
+ = (SvTRUE(perl_get_sv("Storable::downgrade_restricted", GV_ADD))
|
||||
? 1 : 0);
|
||||
if (cxt->derestrict == 0)
|
||||
RESTRICTED_HASH_CROAK();
|
||||
@@ -5336,7 +5342,7 @@ static SV *retrieve_flag_hash(pTHX_ stcx
|
||||
#else
|
||||
if (cxt->use_bytes < 0)
|
||||
cxt->use_bytes
|
||||
- = (SvTRUE(perl_get_sv("Storable::drop_utf8", TRUE))
|
||||
+ = (SvTRUE(perl_get_sv("Storable::drop_utf8", GV_ADD))
|
||||
? 1 : 0);
|
||||
if (cxt->use_bytes == 0)
|
||||
UTF8_CROAK();
|
||||
@@ -5437,14 +5443,14 @@ static SV *retrieve_code(pTHX_ stcxt_t *
|
||||
*/
|
||||
|
||||
if (cxt->eval == NULL) {
|
||||
- cxt->eval = perl_get_sv("Storable::Eval", TRUE);
|
||||
+ cxt->eval = perl_get_sv("Storable::Eval", GV_ADD);
|
||||
SvREFCNT_inc(cxt->eval);
|
||||
}
|
||||
if (!SvTRUE(cxt->eval)) {
|
||||
if (
|
||||
cxt->forgive_me == 0 ||
|
||||
(cxt->forgive_me < 0 && !(cxt->forgive_me =
|
||||
- SvTRUE(perl_get_sv("Storable::forgive_me", TRUE)) ? 1 : 0))
|
||||
+ SvTRUE(perl_get_sv("Storable::forgive_me", GV_ADD)) ? 1 : 0))
|
||||
) {
|
||||
CROAK(("Can't eval, please set $Storable::Eval to a true value"));
|
||||
} else {
|
||||
@@ -5459,7 +5465,7 @@ static SV *retrieve_code(pTHX_ stcxt_t *
|
||||
SAVETMPS;
|
||||
|
||||
if (SvROK(cxt->eval) && SvTYPE(SvRV(cxt->eval)) == SVt_PVCV) {
|
||||
- SV* errsv = get_sv("@", TRUE);
|
||||
+ SV* errsv = get_sv("@", GV_ADD);
|
||||
sv_setpvn(errsv, "", 0); /* clear $@ */
|
||||
PUSHMARK(sp);
|
||||
XPUSHs(sv_2mortal(newSVsv(sub)));
|
||||
@@ -5771,7 +5777,7 @@ static SV *magic_check(pTHX_ stcxt_t *cx
|
||||
if (cxt->accept_future_minor < 0)
|
||||
cxt->accept_future_minor
|
||||
= (SvTRUE(perl_get_sv("Storable::accept_future_minor",
|
||||
- TRUE))
|
||||
+ GV_ADD))
|
||||
? 1 : 0);
|
||||
if (cxt->accept_future_minor == 1)
|
||||
croak_now = 0; /* Don't croak yet. */
|
||||
@@ -5808,7 +5814,7 @@ static SV *magic_check(pTHX_ stcxt_t *cx
|
||||
#ifdef USE_56_INTERWORK_KLUDGE
|
||||
/* No point in caching this in the context as we only need it once per
|
||||
retrieve, and we need to recheck it each read. */
|
||||
- if (SvTRUE(perl_get_sv("Storable::interwork_56_64bit", TRUE))) {
|
||||
+ if (SvTRUE(perl_get_sv("Storable::interwork_56_64bit", GV_ADD))) {
|
||||
if ((c != (sizeof (byteorderstr_56) - 1))
|
||||
|| memNE(buf, byteorderstr_56, c))
|
||||
CROAK(("Byte order is not compatible"));
|
||||
@@ -5942,7 +5948,7 @@ static SV *retrieve(pTHX_ stcxt_t *cxt,
|
||||
if (cxt->accept_future_minor < 0)
|
||||
cxt->accept_future_minor
|
||||
= (SvTRUE(perl_get_sv("Storable::accept_future_minor",
|
||||
- TRUE))
|
||||
+ GV_ADD))
|
||||
? 1 : 0);
|
||||
if (cxt->accept_future_minor == 1) {
|
||||
CROAK(("Storable binary image v%d.%d contains data of type %d. "
|
||||
diff -urpN perl-5.10.0.orig/ext/Storable/hints/hpux.pl perl-5.10.0/ext/Storable/hints/hpux.pl
|
||||
--- perl-5.10.0.orig/ext/Storable/hints/hpux.pl 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ perl-5.10.0/ext/Storable/hints/hpux.pl 2009-10-01 13:17:58.000000000 +0200
|
||||
@@ -0,0 +1,10 @@
|
||||
+# HP C-ANSI-C has problems in the optimizer for 5.8.x (not for 5.11.x)
|
||||
+# So drop to -O1 for Storable
|
||||
+
|
||||
+use Config;
|
||||
+
|
||||
+unless ($Config{gccversion}) {
|
||||
+ my $optimize = $Config{optimize};
|
||||
+ $optimize =~ s/(^| )[-+]O[2-9]( |$)/$1+O1$2/ and
|
||||
+ $self->{OPTIMIZE} = $optimize;
|
||||
+ }
|
||||
diff -urpN perl-5.10.0.orig/ext/Storable/t/overload.t perl-5.10.0/ext/Storable/t/overload.t
|
||||
--- perl-5.10.0.orig/ext/Storable/t/overload.t 2007-12-18 11:47:07.000000000 +0100
|
||||
+++ perl-5.10.0/ext/Storable/t/overload.t 2009-10-01 13:17:58.000000000 +0200
|
||||
@@ -25,7 +25,7 @@ sub ok;
|
||||
|
||||
use Storable qw(freeze thaw);
|
||||
|
||||
-print "1..16\n";
|
||||
+print "1..19\n";
|
||||
|
||||
package OVERLOADED;
|
||||
|
||||
@@ -103,4 +103,17 @@ ok 13, $@ eq "";
|
||||
ok 14, ref ($t) eq 'REF';
|
||||
ok 15, ref ($$t) eq 'HAS_OVERLOAD';
|
||||
ok 16, $$$t eq 'snow';
|
||||
+
|
||||
+
|
||||
+#---
|
||||
+# blessed reference to overloded object.
|
||||
+{
|
||||
+ my $a = bless [88], 'OVERLOADED';
|
||||
+ my $c = thaw freeze bless \$a, 'main';
|
||||
+ ok 17, ref $c eq 'main';
|
||||
+ ok 18, ref $$c eq 'OVERLOADED';
|
||||
+ ok 19, "$$c" eq "88";
|
||||
+
|
||||
+}
|
||||
+
|
||||
1;
|
16
perl.spec
16
perl.spec
@ -7,7 +7,7 @@
|
||||
|
||||
Name: perl
|
||||
Version: %{perl_version}
|
||||
Release: 82%{?dist}
|
||||
Release: 83%{?dist}
|
||||
Epoch: %{perl_epoch}
|
||||
Summary: Practical Extraction and Report Language
|
||||
Group: Development/Languages
|
||||
@ -63,10 +63,6 @@ Patch16: perl-5.10.0-accessXOK.patch
|
||||
# fix function pos to handle unicode correctly
|
||||
Patch20: perl-5.10.0-pos.patch
|
||||
|
||||
# Storable segfaults when objects are reblessed rt#33242
|
||||
# patches module Storable
|
||||
Patch24: perl-5.10.0-Storable.patch
|
||||
|
||||
# Fix crash when localizing a symtab entry rt#52740
|
||||
Patch26: perl-5.10.0-stlocal.patch
|
||||
|
||||
@ -252,6 +248,9 @@ Patch121: perl-update-Scalar-List-Utils.patch
|
||||
%define Scalar_List_Utils 1.21
|
||||
Patch122: perl-update-Module-Pluggable.patch
|
||||
%define Module_Pluggable_version 3.90
|
||||
# Also fixes segfault when objects are reblessed (rt#33242, rhbz#459918)
|
||||
Patch123: perl-update-Storable.patch
|
||||
%define Storable_version 2.21
|
||||
|
||||
# Fedora uses links instead of lynx
|
||||
# patches File-Fetch and CPAN
|
||||
@ -975,7 +974,6 @@ upstream tarball from perl.org.
|
||||
%patch15 -p1
|
||||
%patch16 -p1
|
||||
%patch20 -p1
|
||||
%patch24 -p1
|
||||
%patch26 -p1
|
||||
%patch28 -p1
|
||||
%patch29 -p1
|
||||
@ -1035,6 +1033,7 @@ upstream tarball from perl.org.
|
||||
%patch120 -p1
|
||||
%patch121 -p1
|
||||
%patch122 -p1
|
||||
%patch123 -p1
|
||||
# 0-byte files and patch don't seem to agree
|
||||
mkdir t/Module_Pluggable/lib/Zot/
|
||||
touch t/Module_Pluggable/lib/Zot/.Zork.pm
|
||||
@ -1265,7 +1264,6 @@ perl -x patchlevel.h \
|
||||
'Fedora Patch15: Adopt upstream commit for assertion' \
|
||||
'Fedora Patch16: Access permission - rt49003' \
|
||||
'Fedora Patch20: pos function handle unicode correct' \
|
||||
'Fedora Patch24: Storable fix' \
|
||||
'Fedora Patch26: Fix crash when localizing a symtab entry - rt52740' \
|
||||
'33640 Integrate Changes 33399, 33621, 33622, 33623, 33624' \
|
||||
'33881 Integrate Changes 33825, 33826, 33829' \
|
||||
@ -1322,6 +1320,7 @@ perl -x patchlevel.h \
|
||||
'Fedora Patch120: Update Compress::Raw::Zlib to %{Compress_Raw_Zlib}' \
|
||||
'Fedora Patch121: Update Scalar-List-Utils to %{Scalar_List_Utils}' \
|
||||
'Fedora Patch122: Update Module-Pluggable to %{Module_Pluggable_version}' \
|
||||
'Fedora Patch123: Update Storable to %{Storable_version}' \
|
||||
'Fedora Patch201: Fedora uses links instead of lynx' \
|
||||
%{nil}
|
||||
|
||||
@ -1948,6 +1947,9 @@ TMPDIR="$PWD/tmp" make test
|
||||
|
||||
# Old changelog entries are preserved in CVS.
|
||||
%changelog
|
||||
* Thu Oct 1 2009 Stepan Kasal <skasal@redhat.com> - 4:5.10.0-83
|
||||
- update Storable to 2.21
|
||||
|
||||
* Mon Aug 31 2009 Chris Weyl <cweyl@alumni.drew.edu> - 4:5.10.0-82
|
||||
- update our Test-Simple update to 0.92 (patch by Iain Arnell), #519417
|
||||
- update Module-Pluggable to 3.9
|
||||
|
Loading…
Reference in New Issue
Block a user