Bug#722332: libcommon-sense-perl: common::sense runs into trouble with Perl 5.18, eg. no say().

gregor herrmann gregoa at debian.org
Tue Sep 10 15:12:53 UTC 2013


On Tue, 10 Sep 2013 12:35:16 +0200, Hagen Fuchs wrote:

> Package: libcommon-sense-perl
> Version: 3.72-1
> Severity: grave
> Justification: renders package unusable
> 
> I just noticed that, upon upgrading to Perl 5.18.1-3 (Debian testing),
> common::sense stopped having some:
> 
>     $ perl -Mcommon::sense -e 'say "hi";'
>     syntax error at -e line 1, near "say "hi""
>     Execution of -e aborted due to compilation errors.

I can confirm this behaviour.
 
> On another machine with Perl 5.14 still installed and the same version
> of libcommon-sense-perl (3.72-1) it's still the same friendly response:
> 
>     $ perl -Mcommon::sense -e 'say "hi";'
>     hi

Confirmed (on a stable machine with common-sense 3.6-1 and perl
5.14.2.)
 
> So, *something* happened upon upgrading, although I'm currently at a
> loss (of time, mainly) to specify what exactly.  Surely I messed
> something up and everything's working fine for everybody else?

I rebuilt common-sense now in unstable; as expected, the contents of
the resulting /usr/lib/perl5/common/sense.pm changes:

Before (as: in the package, built with 5.14 in August):

#v+
package common::sense;

our $VERSION = 3.72;

# overload should be included

sub import {
   local $^W; # work around perl 5.16 spewing out warnings for next statement
   # use warnings
   ${^WARNING_BITS} ^= ${^WARNING_BITS} ^ "\x3c\x3f\x33\x00\x0f\xf0\x0f\xc0\xf0\xfc\x33\x00\x00";
   # use strict, use utf8; use feature;
   $^H |= 0x820f00;
   @^H{qw(feature_unicode feature_say feature_state feature_switch)} = (1) x 4;
}
 
1
#v-

After:

#v+
package common::sense;

our $VERSION = 3.72;

# overload should be included

sub import {
   local $^W; # work around perl 5.16 spewing out warnings for next statement
   # use warnings
   ${^WARNING_BITS} ^= ${^WARNING_BITS} ^ "\x3c\x3f\x33\x00\x0f\xf0\x0f\xc0\xf0\xfc\x33\x00\x00\x00";
   # use strict, use utf8; use feature;
   $^H |= 0x1c820fc0;
   @^H{qw(feature_state feature_fc feature___SUB__ feature_switch feature_say feature_evalbytes feature_unicode)} = (1) x 7;
}
 
1
#v-

But feature_say is, also as expected, there in both cases. Hm.


If I install the rebuilt package:

% perl -Mcommon::sense -e 'say "hi";'
hi


Oh.

Seems we
- need to set lower and upper bounds of the perl version in Depends (not
  only the lower, as it's now)
- hope that all buildds have perl 5.18 when we upload the fixed
  package by now or request binNMUs with a dep-wait on perl 5.18.1-x
- add it to our mental list of packages that needs rebuilds on new
  perl releases

I've committed the changes for the first point; reviews welcome!


Cheers,
gregor
  
  
-- 
 .''`.  Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06
 : :' : Debian GNU/Linux user, admin, and developer  -  http://www.debian.org/
 `. `'  Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe
   `-   NP: Bettina Wegner: Ikarus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-perl-maintainers/attachments/20130910/cb888e44/attachment.sig>


More information about the pkg-perl-maintainers mailing list