tags 628500 + patch
tags 628500 + pending
thanks

Dear maintainer,

I've prepared an NMU for prima (versioned as 1.28-1.1) and
uploaded it to DELAYED/2. Please feel free to tell me if I
should delay it longer.

Regards.

-- 
 .''`.   Homepage: http://info.comodo.priv.at/ - OpenPGP key ID: 0x8649AA06
 : :' :  Debian GNU/Linux user, admin, & developer - http://www.debian.org/
 `. `'   Member of VIBE!AT & SPI, fellow of Free Software Foundation Europe
   `-    NP: Rolling Stones: Summertimeblues
diff -u prima-1.28/debian/changelog prima-1.28/debian/changelog
--- prima-1.28/debian/changelog
+++ prima-1.28/debian/changelog
@@ -1,3 +1,16 @@
+prima (1.28-1.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix "FTBFS with perl 5.14: error: 'sv_undef' undeclared":
+    replace all occurences of sv_yes, sv_no, sv_undef, errgv with PL_*.
+    The former relies on PERL_POLLUTE which was removed in perl 5.13.3; cf.
+    http://perl5.git.perl.org/perl.git/commitdiff/cfef31b
+    This is the same change as in upstream 1.30.
+    Closes: #628500
+  * Set urgency to medium (RC bug fix, perl 5.14 transition).
+
+ -- gregor herrmann <gre...@debian.org>  Wed, 16 Nov 2011 20:16:45 +0100
+
 prima (1.28-1) unstable; urgency=low
 
   * New upstream release:
only in patch2:
unchanged:
--- prima-1.28.orig/Utils.c
+++ prima-1.28/Utils.c
@@ -95,7 +95,7 @@
          }
          plist_destroy( dirlist);
       } else {
-         XPUSHs( &sv_undef);
+         XPUSHs( &PL_sv_undef);
       }
    }
    PUTBACK;
only in patch2:
unchanged:
--- prima-1.28.orig/primguts.c
+++ prima-1.28/primguts.c
@@ -251,7 +251,7 @@
 
    if ( !( flags & G_EVAL)) { OPEN_G_EVAL; }
    ret = perl_call_method( methname, flags | G_EVAL);
-   if ( SvTRUE( GvSV( errgv))) {
+   if ( SvTRUE( GvSV( PL_errgv))) {
       PUB_CHECK;
       if (( flags & (G_SCALAR|G_DISCARD|G_ARRAY)) == G_SCALAR) {
          dSP;
@@ -260,7 +260,7 @@
       }
       if ( flags & G_EVAL) return ret;
       CLOSE_G_EVAL;
-      croak( SvPV_nolen( GvSV( errgv)));
+      croak( SvPV_nolen( GvSV( PL_errgv)));
    }
 
    if ( !( flags & G_EVAL)) { CLOSE_G_EVAL; }
@@ -276,7 +276,7 @@
 
    if ( !( flags & G_EVAL)) { OPEN_G_EVAL; }
    ret = perl_call_pv( subname, flags | G_EVAL);
-   if ( SvTRUE( GvSV( errgv))) {
+   if ( SvTRUE( GvSV( PL_errgv))) {
       PUB_CHECK;
       if (( flags & (G_SCALAR|G_DISCARD|G_ARRAY)) == G_SCALAR) {
          dSP;
@@ -285,7 +285,7 @@
       }
       if ( flags & G_EVAL) return ret;
       CLOSE_G_EVAL;
-      croak( SvPV_nolen( GvSV( errgv)));
+      croak( SvPV_nolen( GvSV( PL_errgv)));
    }
 
    if ( !( flags & G_EVAL)) { CLOSE_G_EVAL; }
@@ -398,7 +398,7 @@
       {
          XPUSHs( sv_mortalcopy((( PAnyObject) _c_apricot_res_)-> mate));
          --SvREFCNT( SvRV((( PAnyObject) _c_apricot_res_)-> mate));
-      } else XPUSHs( &sv_undef);
+      } else XPUSHs( &PL_sv_undef);
       /* push_hv( ax, sp, items, mark, 1, hv); */
       sv_free(( SV *) hv);
    }
@@ -882,7 +882,7 @@
       if (  c_decl && !query_method          ( self, subName, 0))
          return toReturn;
       if ( !c_decl && !sv_query_method(( SV *) self, subName, 0))
-         return &sv_undef;
+         return &PL_sv_undef;
    }
 
    if ( format[ 0] == '<')
@@ -977,12 +977,12 @@
             perl_call_sv(( SV *) subName, G_SCALAR|G_EVAL) :
             perl_call_method( subName, G_SCALAR|G_EVAL);
          SPAGAIN;
-         if ( SvTRUE( GvSV( errgv)))
+         if ( SvTRUE( GvSV( PL_errgv)))
          {
             (void)POPs;
             PUB_CHECK;
             CLOSE_G_EVAL;
-            croak( SvPV_nolen( GvSV( errgv)));    /* propagate */
+            croak( SvPV_nolen( GvSV( PL_errgv)));    /* propagate */
          }
          CLOSE_G_EVAL;
 #else
@@ -1009,11 +1009,11 @@
          OPEN_G_EVAL;
          if ( coderef) perl_call_sv(( SV *) subName, G_DISCARD|G_EVAL);
             else perl_call_method( subName, G_DISCARD|G_EVAL);
-         if ( SvTRUE( GvSV( errgv)))
+         if ( SvTRUE( GvSV( PL_errgv)))
          {
             PUB_CHECK;
             CLOSE_G_EVAL;
-            croak( SvPV_nolen( GvSV( errgv)));    /* propagate */
+            croak( SvPV_nolen( GvSV( PL_errgv)));    /* propagate */
          }
          CLOSE_G_EVAL;
 #else
@@ -1190,7 +1190,7 @@
 {
     char * error = apc_last_error();
     if ( error == NULL) error = "unknown system error";
-    sv_setpv( GvSV( errgv), error);
+    sv_setpv( GvSV( PL_errgv), error);
 }
 
 Bool appDead = false;
@@ -1249,7 +1249,7 @@
 #endif
    prima_init_ok = 0;
 
-   ST(0) = &sv_yes;
+   ST(0) = &PL_sv_yes;
    XSRETURN(1);
 }
 
@@ -1313,7 +1313,7 @@
 #define TYPECHECK(s1,s2) \
   if (sizeof(s1) != (s2)) { \
       printf("Error: type %s is %d bytes long (expected to be %d)", #s1, (int)sizeof(s1), s2); \
-      ST(0) = &sv_no; \
+      ST(0) = &PL_sv_no; \
       XSRETURN(1); \
   }
    TYPECHECK( uint8_t,  1);
@@ -1365,7 +1365,7 @@
    register_Timer_Class();
    register_Printer_Class();
 
-   ST(0) = &sv_yes;
+   ST(0) = &PL_sv_yes;
    XSRETURN(1);
 }
 
@@ -1722,7 +1722,7 @@
    hv_iterinit( h);
    while (( he = hv_iternext( h)) != nil) {
       if ( killAll) free( HeVAL( he));
-      HeVAL( he) = &sv_undef;
+      HeVAL( he) = &PL_sv_undef;
    }
    sv_free(( SV *) h);
 }
@@ -1754,7 +1754,7 @@
    ksv_check;
    if ( !he) return nil;
    val = HeVAL( he);
-   HeVAL( he) = &sv_undef;
+   HeVAL( he) = &PL_sv_undef;
    (void) hv_delete_ent( h, ksv, G_DISCARD, 0);
    if ( kill) {
       free( val);
@@ -1769,10 +1769,10 @@
    HE *he;
    ksv_check;
    if ( he) {
-      HeVAL( he) = &sv_undef;
+      HeVAL( he) = &PL_sv_undef;
       (void) hv_delete_ent( h, ksv, G_DISCARD, 0);
    }
-   he = hv_store_ent( h, ksv, &sv_undef, 0);
+   he = hv_store_ent( h, ksv, &PL_sv_undef, 0);
    HeVAL( he) = ( SV *) val;
    return true;
 }
@@ -1871,7 +1871,7 @@
    while (( he = hv_iternext( hash)) != nil) {
       DOLBUG( "%s\n", (char *)HeVAL( he));
       free( HeVAL( he));
-      HeVAL( he) = &sv_undef;
+      HeVAL( he) = &PL_sv_undef;
    }
    DOLBUG( "=========================== Report done ===========================\n");
    sv_free(( SV *) hash);
only in patch2:
unchanged:
--- prima-1.28.orig/Component.c
+++ prima-1.28/Component.c
@@ -618,7 +618,7 @@
       if ( eventHook)
          XPUSHs( sv_2mortal( newSVsv(( SV *) eventHook)));
       else
-         XPUSHs( &sv_undef);
+         XPUSHs( &PL_sv_undef);
       PUTBACK;
       return;
    }
@@ -688,11 +688,11 @@
       OPEN_G_EVAL;
       perl_call_sv( eventHook, G_SCALAR | G_EVAL);
       SPAGAIN;
-      if ( SvTRUE( GvSV( errgv))) {
+      if ( SvTRUE( GvSV( PL_errgv))) {
          (void)POPs;
          PUB_CHECK;
          CLOSE_G_EVAL;
-         croak( SvPV_nolen( GvSV( errgv)));
+         croak( SvPV_nolen( GvSV( PL_errgv)));
       } 
       CLOSE_G_EVAL;
       SPAGAIN;
@@ -806,13 +806,13 @@
       PUTBACK;
       OPEN_G_EVAL;
       perl_call_sv(( SV*) sequence[ i + 1], G_DISCARD | G_EVAL);
-      if ( SvTRUE( GvSV( errgv))) {
+      if ( SvTRUE( GvSV( PL_errgv))) {
          PUB_CHECK;
          CLOSE_G_EVAL;
          if ( privMethod) sv_free( privMethod);
          free( argsv);
          free( sequence);
-         croak( SvPV_nolen( GvSV( errgv)));
+         croak( SvPV_nolen( GvSV( PL_errgv)));
       } 
       CLOSE_G_EVAL;
       SPAGAIN;
only in patch2:
unchanged:
--- prima-1.28.orig/Object.c
+++ prima-1.28/Object.c
@@ -88,12 +88,12 @@
 
       OPEN_G_EVAL;
       PERL_CALL_METHOD( "init", G_VOID|G_DISCARD|G_EVAL);
-      if ( SvTRUE( GvSV( errgv))) {
+      if ( SvTRUE( GvSV( PL_errgv))) {
          CLOSE_G_EVAL;
          OPEN_G_EVAL;
          Object_destroy( self);
          CLOSE_G_EVAL;
-         croak( SvPV_nolen( GvSV( errgv)));
+         croak( SvPV_nolen( GvSV( PL_errgv)));
       }
       CLOSE_G_EVAL;
       SPAGAIN;
only in patch2:
unchanged:
--- prima-1.28.orig/Image.c
+++ prima-1.28/Image.c
@@ -667,22 +667,22 @@
             if (( Handle) o != self)
               --SvREFCNT( SvRV( o-> mate));
          } else {
-            XPUSHs( &sv_undef);    
+            XPUSHs( &PL_sv_undef);    
             err = true;
          }   
       }
       plist_destroy( ret);
    } else {
-      XPUSHs( &sv_undef);   
+      XPUSHs( &PL_sv_undef);   
       err = true;
    }   
 
    /* This code breaks exception propagation chain
       since it uses $@ for its own needs  */
    if ( err)
-      sv_setpv( GvSV( errgv), error);
+      sv_setpv( GvSV( PL_errgv), error);
    else
-      sv_setsv( GvSV( errgv), nilSV);
+      sv_setsv( GvSV( PL_errgv), nilSV);
 
    PUTBACK;
    return;
@@ -762,9 +762,9 @@
    /* This code breaks exception propagation chain
       since it uses $@ for its own needs  */
    if ( ret <= 0)
-      sv_setpv( GvSV( errgv), error);
+      sv_setpv( GvSV( PL_errgv), error);
    else
-      sv_setsv( GvSV( errgv), nilSV);
+      sv_setsv( GvSV( PL_errgv), nilSV);
    PUTBACK;
    return;
 }   
only in patch2:
unchanged:
--- prima-1.28.orig/include/apricot.h
+++ prima-1.28/include/apricot.h
@@ -417,7 +417,7 @@
 #define nil       Null(void*)
 #endif
 #define nilHandle Null(Handle)
-#define nilSV     &sv_undef
+#define nilSV     &PL_sv_undef
 #define true TRUE
 #define false FALSE
 
@@ -1321,7 +1321,7 @@
 #define pexist( key) hv_exists( profile, # key, strlen( #key))
 #define pdelete( key) (void) hv_delete( profile, # key, strlen( #key), G_DISCARD)
 #define dPROFILE  SV ** temporary_prf_Sv
-#define pget_sv( key) ((( temporary_prf_Sv = hv_fetch( profile, # key, strlen( # key), 0)) == nil) ? croak( "Panic: bad profile key (``%s'') requested in ``%s'', line %d\n", # key, __FILE__, __LINE__ ), &sv_undef : *temporary_prf_Sv)
+#define pget_sv( key) ((( temporary_prf_Sv = hv_fetch( profile, # key, strlen( # key), 0)) == nil) ? croak( "Panic: bad profile key (``%s'') requested in ``%s'', line %d\n", # key, __FILE__, __LINE__ ), &PL_sv_undef : *temporary_prf_Sv)
 #define pget_i( key)  ( pget_sv( key), SvIV( *temporary_prf_Sv))
 #define pget_f( key)  ( pget_sv( key), SvNV( *temporary_prf_Sv))
 #define pget_c( key)  ( pget_sv( key), SvPV_nolen( *temporary_prf_Sv))
only in patch2:
unchanged:
--- prima-1.28.orig/include/guts.h
+++ prima-1.28/include/guts.h
@@ -45,10 +45,10 @@
 
 #define dG_EVAL_ARGS SV * errSave = nil
 #define OPEN_G_EVAL \
-  errSave = SvTRUE( GvSV( errgv)) ? newSVsv( GvSV( errgv)) : nil;\
-  sv_setsv( GvSV( errgv), nilSV)
+  errSave = SvTRUE( GvSV( PL_errgv)) ? newSVsv( GvSV( PL_errgv)) : nil;\
+  sv_setsv( GvSV( PL_errgv), nilSV)
 #define CLOSE_G_EVAL \
- if ( errSave) sv_catsv( GvSV( errgv), errSave);\
+ if ( errSave) sv_catsv( GvSV( PL_errgv), errSave);\
  if ( errSave) sv_free( errSave)
 
 extern long   apcError;
only in patch2:
unchanged:
--- prima-1.28.orig/pod/Prima/internals.pod
+++ prima-1.28/pod/Prima/internals.pod
@@ -342,7 +342,7 @@
 The caller checks if the exception was taken place by
 evaluating
 
-        SvTRUE( GvSV( errgv))
+        SvTRUE( GvSV( PL_errgv))
 
 statement. It is guaranteed to be false if there was no
 exception condition. But in some situations, namely,
@@ -355,16 +355,16 @@
     OPEN_G_EVAL;                        // open brackets
     // call code
     perl_call_method( ... | G_EVAL);    // G_EVAL is necessary
-    if ( SvTRUE( GvSV( errgv)) {
+    if ( SvTRUE( GvSV( PL_errgv)) {
         CLOSE_G_EVAL;                   // close brackets
-        croak( SvPV_nolen( GvSV( errgv)));// propagate exception
+        croak( SvPV_nolen( GvSV( PL_errgv)));// propagate exception
         // no code is executed after croak
     }
     CLOSE_G_EVAL;                       // close brackets
     ...
 
 This technique provides workaround to a "false alarm" situation, if
-SvTRUE( GvSV( errgv)) is true before perl_call_method().
+SvTRUE( GvSV( PL_errgv)) is true before perl_call_method().
 
 =head2 Object protection
 
only in patch2:
unchanged:
--- prima-1.28.orig/Prima/Gencls.pm
+++ prima-1.28/Prima/Gencls.pm
@@ -1179,7 +1179,7 @@
 	if ( ref $type) {
 		return "sv_$type->[PROPS]->{name}2HV(&($name))";
 	} elsif ( $type eq 'Handle') {
-		return "( $name ? (( $incInst)$name)-> $hMate : &sv_undef)";
+		return "( $name ? (( $incInst)$name)-> $hMate : &PL_sv_undef)";
 	} elsif ( $type eq 'SV*') {
 		return $name;
 	} else {
@@ -1867,7 +1867,7 @@
 				print HEADER "\t\tif ( $incRes && (( $incInst) $incRes)-> $hMate && ((( $incInst) $incRes)-> $hMate != nilSV))\n";
 				print HEADER "\t\t{\n";
 				print HEADER "\t\t\tXPUSHs( sv_mortalcopy((( $incInst) $incRes)-> $hMate));\n";
-				print HEADER "\t\t} else XPUSHs( &sv_undef);\n";
+				print HEADER "\t\t} else XPUSHs( &PL_sv_undef);\n";
 			} elsif ($resSub eq "SV*") {
 				print HEADER "\t\tXPUSHs( sv_2mortal( $incRes));\n";
 			} else {

Attachment: signature.asc
Description: Digital signature

Reply via email to