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

version graph

Package: libcommon-sense-perl; Maintainer for libcommon-sense-perl is Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>; Source for libcommon-sense-perl is src:libcommon-sense-perl.

Reported by: Hagen Fuchs <code@hfuchs.net>

Date: Tue, 10 Sep 2013 11:12:02 UTC

Severity: grave

Tags: confirmed

Found in version libcommon-sense-perl/3.72-1

Fixed in version libcommon-sense-perl/3.72-2

Done: Axel Beckert <abe@debian.org>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>:
Bug#722332; Package libcommon-sense-perl. (Tue, 10 Sep 2013 11:12:06 GMT) Full text and rfc822 format available.

Acknowledgement sent to Hagen Fuchs <code@hfuchs.net>:
New Bug report received and forwarded. Copy sent to Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>. (Tue, 10 Sep 2013 11:12:06 GMT) Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: Hagen Fuchs <code@hfuchs.net>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: libcommon-sense-perl: common::sense runs into trouble with Perl 5.18, eg. no say().
Date: Tue, 10 Sep 2013 12:35:16 +0200
Package: libcommon-sense-perl
Version: 3.72-1
Severity: grave
Justification: renders package unusable

Dear maintainer,

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.

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

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?

Thank you!

Regards,
  Hagen



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>:
Bug#722332; Package libcommon-sense-perl. (Tue, 10 Sep 2013 15:15:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to gregor herrmann <gregoa@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>. (Tue, 10 Sep 2013 15:15:04 GMT) Full text and rfc822 format available.

Message #10 received at 722332@bugs.debian.org (full text, mbox):

From: gregor herrmann <gregoa@debian.org>
To: Hagen Fuchs <code@hfuchs.net>, 722332@bugs.debian.org
Subject: Re: Bug#722332: libcommon-sense-perl: common::sense runs into trouble with Perl 5.18, eg. no say().
Date: Tue, 10 Sep 2013 17:12:53 +0200
[Message part 1 (text/plain, inline)]
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
[signature.asc (application/pgp-signature, inline)]

Added tag(s) confirmed. Request was from Axel Beckert <abe@debian.org> to control@bugs.debian.org. (Tue, 10 Sep 2013 16:24:04 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>:
Bug#722332; Package libcommon-sense-perl. (Wed, 11 Sep 2013 05:57:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Niko Tyni <ntyni@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>. (Wed, 11 Sep 2013 05:57:04 GMT) Full text and rfc822 format available.

Message #17 received at 722332@bugs.debian.org (full text, mbox):

From: Niko Tyni <ntyni@debian.org>
To: gregor herrmann <gregoa@debian.org>, 722332@bugs.debian.org
Subject: Re: Bug#722332: libcommon-sense-perl: common::sense runs into trouble with Perl 5.18, eg. no say().
Date: Wed, 11 Sep 2013 08:56:09 +0300
On Tue, Sep 10, 2013 at 05:12:53PM +0200, gregor herrmann wrote:
> On Tue, 10 Sep 2013 12:35:16 +0200, Hagen Fuchs wrote:

> > I just noticed that, upon upgrading to Perl 5.18.1-3 (Debian testing),
> > common::sense stopped having some:

> - need to set lower and upper bounds of the perl version in Depends (not
>   only the lower, as it's now)

The new perl-base also needs to Break the old libcommon-sense-perl
versions, for partial upgrades from wheezy. Please clone a bug for that
when there's a fixed libcommon-sense-perl package in the archive.

> - add it to our mental list of packages that needs rebuilds on new
>   perl releases

The dependencies should make it possible to detect this automatically
in the future, but there's also a list at
 https://wiki.debian.org/PerlMaintenance

Feel free to update that. 

Not sure if all the internals that common::sense fiddles with are under
the 'no ABI changes in minor Perl version updates' promise. I suspect they
are, but we might still be best off rebuilding it even for minor updates.

Last, I note that autopkgtest and a good test suite in common::sense
would have caught this :)
-- 
Niko



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>:
Bug#722332; Package libcommon-sense-perl. (Wed, 11 Sep 2013 07:45:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Axel Beckert <abe@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>. (Wed, 11 Sep 2013 07:45:04 GMT) Full text and rfc822 format available.

Message #22 received at 722332@bugs.debian.org (full text, mbox):

From: Axel Beckert <abe@debian.org>
To: Niko Tyni <ntyni@debian.org>, 722332@bugs.debian.org
Subject: Re: Bug#722332: libcommon-sense-perl: common::sense runs into trouble with Perl 5.18, eg. no say().
Date: Wed, 11 Sep 2013 09:42:46 +0200
Hi,

Niko Tyni wrote:
> On Tue, Sep 10, 2013 at 05:12:53PM +0200, gregor herrmann wrote:
> > On Tue, 10 Sep 2013 12:35:16 +0200, Hagen Fuchs wrote:
> 
> > > I just noticed that, upon upgrading to Perl 5.18.1-3 (Debian testing),
> > > common::sense stopped having some:
> 
> > - need to set lower and upper bounds of the perl version in Depends (not
> >   only the lower, as it's now)
> 
> The new perl-base also needs to Break the old libcommon-sense-perl
> versions, for partial upgrades from wheezy. Please clone a bug for that
> when there's a fixed libcommon-sense-perl package in the archive.

Noted.

> > - add it to our mental list of packages that needs rebuilds on new
> >   perl releases
> 
> The dependencies should make it possible to detect this automatically
> in the future, but there's also a list at
>  https://wiki.debian.org/PerlMaintenance
> 
> Feel free to update that. 

Done.

> Not sure if all the internals that common::sense fiddles with are under
> the 'no ABI changes in minor Perl version updates' promise. I suspect they
> are, but we might still be best off rebuilding it even for minor updates.

That's actually the consensus to which gregoa and me came on IRC, too.

> Last, I note that autopkgtest and a good test suite in common::sense
> would have caught this :)

Good point!

I'll probably use that example to learn how autopkgtest works --
either by looking at them in case someone else wrote some or by
writing them myself otherwise -- I though can't promise that this will
be soon...

		Regards, Axel
-- 
 ,''`.  |  Axel Beckert <abe@debian.org>, http://people.debian.org/~abe/
: :' :  |  Debian Developer, ftp.ch.debian.org Admin
`. `'   |  1024D: F067 EA27 26B9 C3FC 1486  202E C09E 1D89 9593 0EDE
  `-    |  4096R: 2517 B724 C5F6 CA99 5329  6E61 2FF9 CD59 6126 16B5



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>:
Bug#722332; Package libcommon-sense-perl. (Wed, 11 Sep 2013 10:27:08 GMT) Full text and rfc822 format available.

Acknowledgement sent to Axel Beckert <abe@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>. (Wed, 11 Sep 2013 10:27:09 GMT) Full text and rfc822 format available.

Message #27 received at 722332@bugs.debian.org (full text, mbox):

From: Axel Beckert <abe@debian.org>
To: Niko Tyni <ntyni@debian.org>, 722332@bugs.debian.org
Subject: Re: Bug#722332: libcommon-sense-perl: common::sense runs into trouble with Perl 5.18, eg. no say().
Date: Wed, 11 Sep 2013 12:26:11 +0200
Control: clone -1 -2
Control: reassign -2 perl-base 5.18.1-3
Control: retitle -2 perl-base: Needs to Break with libcommon-sense-perl <= 3.72-1

Niko Tyni wrote:
> On Tue, Sep 10, 2013 at 05:12:53PM +0200, gregor herrmann wrote:
> > On Tue, 10 Sep 2013 12:35:16 +0200, Hagen Fuchs wrote:
> 
> > > I just noticed that, upon upgrading to Perl 5.18.1-3 (Debian testing),
> > > common::sense stopped having some:
> 
> > - need to set lower and upper bounds of the perl version in Depends (not
> >   only the lower, as it's now)
> 
> The new perl-base also needs to Break the old libcommon-sense-perl
> versions, for partial upgrades from wheezy. Please clone a bug for that
> when there's a fixed libcommon-sense-perl package in the archive.

I'll do an upload of libcommon-sense-perl 3.72-2 (based on gregoa's
work) very soon and I prefer cloning the bug-report before the upload
closes it. :-)

Not sure if it should be

  Breaks: libcommon-sense-perl (<= 3.72-1)

or

  Breaks: libcommon-sense-perl (<< 3.72-2~)

I'm fine with both.

		Regards, Axel
-- 
 ,''`.  |  Axel Beckert <abe@debian.org>, http://people.debian.org/~abe/
: :' :  |  Debian Developer, ftp.ch.debian.org Admin
`. `'   |  1024D: F067 EA27 26B9 C3FC 1486  202E C09E 1D89 9593 0EDE
  `-    |  4096R: 2517 B724 C5F6 CA99 5329  6E61 2FF9 CD59 6126 16B5



Bug 722332 cloned as bug 722460 Request was from Axel Beckert <abe@debian.org> to 722332-submit@bugs.debian.org. (Wed, 11 Sep 2013 10:27:09 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>:
Bug#722332; Package libcommon-sense-perl. (Wed, 11 Sep 2013 10:36:09 GMT) Full text and rfc822 format available.

Acknowledgement sent to Hagen Fuchs <code@hfuchs.net>:
Extra info received and forwarded to list. Copy sent to Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>. (Wed, 11 Sep 2013 10:36:09 GMT) Full text and rfc822 format available.

Message #34 received at 722332@bugs.debian.org (full text, mbox):

From: Hagen Fuchs <code@hfuchs.net>
To: gregor herrmann <gregoa@debian.org>
Cc: 722332@bugs.debian.org
Subject: Re: Bug#722332: libcommon-sense-perl: common::sense runs into trouble with Perl 5.18, eg. no say().
Date: Wed, 11 Sep 2013 12:06:05 +0200
First of all: Nice response time!  I'm always in awe of Debian maintainers'
work ethic.

In response to your last comment,

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

I'm not sure how I can review those changes?  I `dpkg -i`'d the unstable
version of libcommon-sense-perl, but it's the same thing as before.
What am I missing?

Meanwhile, here's the results of a little investigation of my own:

Executive summary.
This is probably a case for upstream: they'll have to adapt their use of
the '$^H' variable.

Longer version.
The common::sense module's really short, so I tried poking in the source
a bit.  Turns out, there's quite a bit of eye-candy; among those the use
of the magic variable '$^H'.  `perldoc perlvar` says:

     $^H     WARNING: This variable is strictly for internal use only.
     Its availability, behavior, and contents are subject to change
     without notice.

So ... the gods went ahead and changed it, hu?  My best guess for
where to look is feature.pm and the difference between 5.14 and 5.18:

    https://metacpan.org/source/DAPM/perl-5.14.4/lib/feature.pm
    https://metacpan.org/source/RJBS/perl-5.18.1/lib/feature.pm

Rabbit hole!  Turns out, in 5.18, $^H is now initialized(?) with

    $hint_mask    = 0x1c000000;
    [...]
    sub __common {
        [...]
        $^H |= $hint_mask;

And, of course, a few more manglings happen.  Now, simply saying

    sed -i 's|0x820f00|0x1c000000|' /usr/lib/perl5/common/sense.pm

does the trick:

    $ perl -Mcommon::sense -e 'say $common::sense::VERSION; say $^V; say "Hi!";'
    3.72
    v5.18.1
    Hi!

(Mind, this naïve substitution is all kinds of wrong -- this is a bitmask with
definitive meaning and will quite probably still not work for all other
use cases of common::sense (utf8, switch, ...) or even introduce more
subtle errors!)

In conclusion, I hope to have established a case for upstream to become
involved.

Regards,
  Hagen




Reply sent to Axel Beckert <abe@debian.org>:
You have taken responsibility. (Wed, 11 Sep 2013 11:36:05 GMT) Full text and rfc822 format available.

Notification sent to Hagen Fuchs <code@hfuchs.net>:
Bug acknowledged by developer. (Wed, 11 Sep 2013 11:36:05 GMT) Full text and rfc822 format available.

Message #39 received at 722332-close@bugs.debian.org (full text, mbox):

From: Axel Beckert <abe@debian.org>
To: 722332-close@bugs.debian.org
Subject: Bug#722332: fixed in libcommon-sense-perl 3.72-2
Date: Wed, 11 Sep 2013 11:33:05 +0000
Source: libcommon-sense-perl
Source-Version: 3.72-2

We believe that the bug you reported is fixed in the latest version of
libcommon-sense-perl, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 722332@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Axel Beckert <abe@debian.org> (supplier of updated libcommon-sense-perl package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Wed, 11 Sep 2013 12:08:47 +0200
Source: libcommon-sense-perl
Binary: libcommon-sense-perl
Architecture: source amd64
Version: 3.72-2
Distribution: unstable
Urgency: low
Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>
Changed-By: Axel Beckert <abe@debian.org>
Description: 
 libcommon-sense-perl - module that implements some sane defaults for Perl programs
Closes: 722332
Changes: 
 libcommon-sense-perl (3.72-2) unstable; urgency=low
 .
   * Team upload
 .
   [ Axel Beckert ]
   * debian/copyright: Replace X-Email with Comment
 .
   [ gregor herrmann ]
   * Ensure a runtime dependency on the same perl version used at build
     time. This also adds an upper bound, as opposed to the last upload,
     and should help to avoid failures like the one described in #722332.
     Thanks to Hagen Fuchs for the bug report. (Closes: #722332)
   * Add a source lintian override for a pkg-perl specific lintian
     debhelper test.
Checksums-Sha1: 
 ac56a865b62ec7d97d50b9a667de868e762b5330 1589 libcommon-sense-perl_3.72-2.dsc
 c1a66c64c303a35cc6fce4395126c4e1a6a71028 4905 libcommon-sense-perl_3.72-2.debian.tar.gz
 697b5c1a2b7328075b724e0a906f3c9e337bc397 22670 libcommon-sense-perl_3.72-2_amd64.deb
Checksums-Sha256: 
 e7795e7abe4bb470489eb90ab27e5333c2450775834e4199277e0636cc16b3bf 1589 libcommon-sense-perl_3.72-2.dsc
 708f1535f9b4688ab9537fb1273bb31045dbecea6885e027c7ba4ebdc83fb57f 4905 libcommon-sense-perl_3.72-2.debian.tar.gz
 4f2ff5a00dc551534e131b05681c1d7daf710dc8b66b187428b7ba666edcbcdc 22670 libcommon-sense-perl_3.72-2_amd64.deb
Files: 
 7260f370ceddcbf4ab9c5fe6c4476a69 1589 perl optional libcommon-sense-perl_3.72-2.dsc
 240ecc8373efa4764e4fa8d2f7ce84d5 4905 perl optional libcommon-sense-perl_3.72-2.debian.tar.gz
 19d35789a26b596fabf411c1656734ed 22670 perl optional libcommon-sense-perl_3.72-2_amd64.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.14 (GNU/Linux)

iEYEARECAAYFAlIwTtIACgkQwJ4diZWTDt4CqACfcfT1KV9J5+XltT70HDjWsWyz
2nMAoIGPQ2JQff1JGc68/QCeJmTamZGY
=jpJl
-----END PGP SIGNATURE-----




Information forwarded to debian-bugs-dist@lists.debian.org, Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>:
Bug#722332; Package libcommon-sense-perl. (Wed, 11 Sep 2013 11:45:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Axel Beckert <abe@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>. (Wed, 11 Sep 2013 11:45:04 GMT) Full text and rfc822 format available.

Message #44 received at 722332@bugs.debian.org (full text, mbox):

From: Axel Beckert <abe@debian.org>
To: Hagen Fuchs <code@hfuchs.net>, 722332@bugs.debian.org
Subject: Re: Bug#722332: libcommon-sense-perl: common::sense runs into trouble with Perl 5.18, eg. no say().
Date: Wed, 11 Sep 2013 13:42:32 +0200
Hi Hagen,

Hagen Fuchs wrote:
> First of all: Nice response time!  I'm always in awe of Debian maintainers'
> work ethic.

You're welcome.

> > I've committed the changes for the first point; reviews welcome!
> 
> I'm not sure how I can review those changes?

Our package tracking system at
http://packages.qa.debian.org/libcommon-sense-perl (linked from the
package search at http://packages.debian.org/libcommon-sense-perl,
too) shows where our packaging git repository for that package is
located:

http://anonscm.debian.org/gitweb/?p=pkg-perl/packages/libcommon-sense-perl.git

> Meanwhile, here's the results of a little investigation of my own:
> 
> Executive summary.
> This is probably a case for upstream: they'll have to adapt their use of
> the '$^H' variable.

Thanks for this investigation.

I've just uploaded Gregor's fix on the packaging side (as there were
also multiple people posting there review results on our IRC channel
(#debian-perl on irc.debian.org), but I suspect that this isn't the
end of this issue. So we're happy about your review even though the
bug itself is considered fixed for Debian Unstable.

Wondering if we should clone it with lowered severity for a more
elegant fix. Comments?

> And, of course, a few more manglings happen.  Now, simply saying
> 
>     sed -i 's|0x820f00|0x1c000000|' /usr/lib/perl5/common/sense.pm
> 
> does the trick:
> 
>     $ perl -Mcommon::sense -e 'say $common::sense::VERSION; say $^V; say "Hi!";'
>     3.72
>     v5.18.1
>     Hi!
> 
> (Mind, this naïve substitution is all kinds of wrong -- this is a bitmask with
> definitive meaning and will quite probably still not work for all other
> use cases of common::sense (utf8, switch, ...) or even introduce more
> subtle errors!)

*nod* That definitely needs more investigation. Could have quite some
tripping hazards in that solution.

		Regards, Axel
-- 
 ,''`.  |  Axel Beckert <abe@debian.org>, http://people.debian.org/~abe/
: :' :  |  Debian Developer, ftp.ch.debian.org Admin
`. `'   |  1024D: F067 EA27 26B9 C3FC 1486  202E C09E 1D89 9593 0EDE
  `-    |  4096R: 2517 B724 C5F6 CA99 5329  6E61 2FF9 CD59 6126 16B5



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>:
Bug#722332; Package libcommon-sense-perl. (Wed, 11 Sep 2013 14:27:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Hagen Fuchs <code@hfuchs.net>:
Extra info received and forwarded to list. Copy sent to Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>. (Wed, 11 Sep 2013 14:27:04 GMT) Full text and rfc822 format available.

Message #49 received at 722332@bugs.debian.org (full text, mbox):

From: Hagen Fuchs <code@hfuchs.net>
To: Axel Beckert <abe@debian.org>
Cc: 722332@bugs.debian.org
Subject: Re: Bug#722332: libcommon-sense-perl: common::sense runs into trouble with Perl 5.18, eg. no say().
Date: Wed, 11 Sep 2013 16:23:52 +0200
> [package tracking system and git repository]

I see, thanks!

> Wondering if we should clone it with lowered severity for a more
> elegant fix. Comments?

Executive Sum.: Upstream is cleared of any wrongdoing, common::sense
needs to be built for every Perl version anew.

Longer:
I've been delving into common::sense's source and realized that the
magic number (0x820f00 in the old version's case) is actually set
correctly according to Perl version in the build script, sense.pm.PL .
So, if common::sense is being built with Perl 5.18 it will work with
5.18 but not with 5.14 and perhaps not even with 5.20 (due to the
fast-changing Perl 'feature' facility evinced by the ephemeral nature of
$^H).

So the line

> >     sed -i 's|0x820f00|0x1c000000|' /usr/lib/perl5/common/sense.pm

simply worked, because it reset the 5.14 $^H to a version that's at
least length-wise compatible with 5.18's.

Does that make any ... No, no cheap pun today.

That's a bit of a bummer for the package's progression through
unstable-testing-stable, though, isn't it?  Or is that only a problem in
my mind?

Regards,
  Hagen




Information forwarded to debian-bugs-dist@lists.debian.org, Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>:
Bug#722332; Package libcommon-sense-perl. (Wed, 11 Sep 2013 15:33:07 GMT) Full text and rfc822 format available.

Acknowledgement sent to gregor herrmann <gregoa@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>. (Wed, 11 Sep 2013 15:33:07 GMT) Full text and rfc822 format available.

Message #54 received at 722332@bugs.debian.org (full text, mbox):

From: gregor herrmann <gregoa@debian.org>
To: Hagen Fuchs <code@hfuchs.net>, 722332@bugs.debian.org
Cc: Axel Beckert <abe@debian.org>
Subject: Re: Bug#722332: libcommon-sense-perl: common::sense runs into trouble with Perl 5.18, eg. no say().
Date: Wed, 11 Sep 2013 17:31:07 +0200
[Message part 1 (text/plain, inline)]
On Wed, 11 Sep 2013 16:23:52 +0200, Hagen Fuchs wrote:

> > [package tracking system and git repository]
> I see, thanks!

Sorry for not mentioning this in my first reply.
 
> > Wondering if we should clone it with lowered severity for a more
> > elegant fix. Comments?
> Executive Sum.: Upstream is cleared of any wrongdoing, common::sense
> needs to be built for every Perl version anew.

Cool, thanks for your further investigations!
 
> Does that make any ... No, no cheap pun today.

:)
 
> That's a bit of a bummer for the package's progression through
> unstable-testing-stable, though, isn't it?  Or is that only a problem in
> my mind?

This just means that the package has to be rebuilt (with a binNMU -
binary non-maintainer upload) on each new perl upload; due to my
change it will have a dependency on the exact perl version it is
built against. - Axel has already added a note to
https://wiki.debian.org/PerlMaintenance about the binNMU need.

Commit:
http://anonscm.debian.org/gitweb/?p=pkg-perl/packages/libcommon-sense-perl.git;a=commitdiff;h=9e37b7bf205dbce39b42bbdf661cd29d7c0e7131

And this leads to:
 Depends: perl (>= 5.18.1), perl (<< 5.18.2~)


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: Kings of Convenience: Renegade
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>:
Bug#722332; Package libcommon-sense-perl. (Wed, 11 Sep 2013 17:27:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to Hagen Fuchs <code@hfuchs.net>:
Extra info received and forwarded to list. Copy sent to Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>. (Wed, 11 Sep 2013 17:27:05 GMT) Full text and rfc822 format available.

Message #59 received at 722332@bugs.debian.org (full text, mbox):

From: Hagen Fuchs <code@hfuchs.net>
To: gregor herrmann <gregoa@debian.org>
Cc: 722332@bugs.debian.org, Axel Beckert <abe@debian.org>
Subject: Re: Bug#722332: libcommon-sense-perl: common::sense runs into trouble with Perl 5.18, eg. no say().
Date: Wed, 11 Sep 2013 19:23:21 +0200
Hi!

> Sorry for not mentioning this in my first reply.

More embarrassing hand-holding?  :)

Alright, as you guys have this thing covered on all angles, I'll just
say this: Awesome work!  (I need new vocabulary.)

I'm actually looking forward to my next bug report.  Sadly enough, I
really do.

Yours,
  Hagen




Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Sun, 20 Oct 2013 07:31:18 GMT) Full text and rfc822 format available.

Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Wed Apr 23 17:42:03 2014; Machine Name: beach.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.