Bug#1019343: Remove Date::Manip entirely? PATCH [1/1]

2022-09-12 Thread gregor herrmann
On Mon, 12 Sep 2022 10:07:54 -0700, Nye Liu wrote:

> > > munin-graph does not seem to use Date::Manip at all, unless there is a
> > > hidden dependency that isn't obvious.
> > This also causes munin's autopkgtests to fail which blocks
> > libdate-manip-perl from migrating to testing.
> Interesting; I suspected there was something I was missing, but could not
> find it.

Just to avoid a potential confusion: the autopkgtests fail becaause
of the deprecation warning on STDERR.
 

Cheers,
gregor

-- 
 .''`.  https://info.comodo.priv.at -- Debian Developer https://www.debian.org
 : :' : OpenPGP fingerprint D1E1 316E 93A7 60A8 104D  85FA BB3A 6801 8649 AA06
 `. `'  Member VIBE!AT & SPI Inc. -- Supporter Free Software Foundation Europe
   `-   


signature.asc
Description: Digital Signature


Bug#1019343: Remove Date::Manip entirely? PATCH [1/1]

2022-09-12 Thread gregor herrmann
On Wed, 07 Sep 2022 16:59:17 -0700, Nye Liu wrote:

> munin-graph does not seem to use Date::Manip at all, unless there is a
> hidden dependency that isn't obvious.

This also causes munin's autopkgtests to fail which blocks
libdate-manip-perl from migrating to testing.

Now it can be argued that Date::Manip sending warnings to STDERR is
not so clever but the old v5 interface _will_ be removed [0] so
munin has to do something at some point.

Originally I shared the impression that munin doesn't actively use
Date::Manip in the end:

  % grep -ri Date::Manip
  master/_bin/munin-cgi-graph.in:$Date::Manip::Backend = 'DM5';
  master/_bin/munin-cgi-graph.in:use Date::Manip;
  master/_bin/munin-graph.in:# This is needed because Date::Manip has 
deprecated the functional
  master/_bin/munin-graph.in:$Date::Manip::Backend = 'DM5';
  master/_bin/munin-graph.in:$Date::Manip::Backend = 'DM5';
  master/_bin/munin-graph.in:use Date::Manip;
  ChangeLog:  Force usage of the DM5 Date::Manip backend

Looking at Date::Manip::Migration5to6(3pm): This document talks about
Date_Init(), Date_ConvTZ(), etc., and I don't find these two
functions anywhere in munin.

But, reading Date::Manip::DM5(3pm) and grepping a bit there's e.g.:

  % grep -r ParseDateString
  master/_bin/munin-cgi-graph.in:my $ifmodsec = &UnixDate (&ParseDateString 
($since_string), "%s");
  master/_bin/munin-graph.in:my $ifmodsec = &UnixDate (&ParseDateString 
($since_string), "%s");

Not sure if other functions than ParseDateString and UnixDate are
used somewhere … At least those 2 should work the same with the
Date::Manip::DM6 backend.

Contrary to the comment in the code, v6 _has_ a functional
interface; cf. Date::Manip::Interfaces(3pm)). Which is not
deprecated. And:

From Date::Manip::Interfaces(3pm):

  Use the default functional interface
   By including:

  use Date::Manip;

   in your script, one of the functional interfaces will be
   loaded. If you are running a version of perl older than 5.10,
   it will automatically be the version 5 interface. If you are
   running a newer version of perl, it will automatically load
   the version 6 interface.


So something like

#v+
--- a/master/_bin/munin-cgi-graph.in
+++ b/master/_bin/munin-cgi-graph.in
@@ -25,10 +25,6 @@
 use strict;
 use warnings;
 use IO::Handle;
-BEGIN {
-no warnings;
-$Date::Manip::Backend = 'DM5';
-}
 use Date::Manip;
 use POSIX qw(strftime locale_h);
 use CGI::Fast qw(:cgi);
--- a/master/_bin/munin-graph.in
+++ b/master/_bin/munin-graph.in
@@ -32,15 +32,6 @@
 use warnings;
 use IO::Handle;
 
-BEGIN {
-# This is needed because Date::Manip has deprecated the functional
-# interface in >= 6.x. So, we force the use of the 5.x API.
-$Date::Manip::Backend = 'DM5';
-
-# Double line here to avoid spurious warnings about D::M::Backend being
-# used only once.
-$Date::Manip::Backend = 'DM5';
-}
 use Date::Manip;
 use POSIX qw(strftime);
 use Time::HiRes qw(gettimeofday tv_interval);
#v-

might be enough.



Cheers,
gregor

[0] from Changes6.pod:
#=head1 VERSION 7.00 (expected 2024-12-01)
#Remove DM5

-- 
 .''`.  https://info.comodo.priv.at -- Debian Developer https://www.debian.org
 : :' : OpenPGP fingerprint D1E1 316E 93A7 60A8 104D  85FA BB3A 6801 8649 AA06
 `. `'  Member VIBE!AT & SPI Inc. -- Supporter Free Software Foundation Europe
   `-   


signature.asc
Description: Digital Signature


Bug#1019343: Remove Date::Manip entirely? PATCH [1/1]

2022-09-08 Thread Holger Levsen
control: severity -1 important
# getting mail every 5mins is really not acceptable
thanks

On Wed, Sep 07, 2022 at 04:59:17PM -0700, Nye Liu wrote:
> munin-graph does not seem to use Date::Manip at all, unless there is a
> hidden dependency that isn't obvious.

thank you for your bug report! have you tried your patch?


-- 
cheers,
Holger

 ⢀⣴⠾⠻⢶⣦⠀
 ⣾⠁⢠⠒⠀⣿⡁  holger@(debian|reproducible-builds|layer-acht).org
 ⢿⡄⠘⠷⠚⠋⠀  OpenPGP: B8BF54137B09D35CF026FE9D 091AB856069AAA1C
 ⠈⠳⣄

No mas pobres en un pais rico!


signature.asc
Description: PGP signature