PaulHowarth/Blog/2011-02-01

Tuesday 1st February 2011

Local Packages

  • Updated perl-IPC-Cmd to 0.70:

    • Apply a patch from CPAN RT#65276 with changes for run_forked:

      • Fix for the typo in the name of the signal
      • Changed default for clean_up_children (which seems to be the behaviour expected by the majority of the users)

      • Added detection (and forwarding to the caller) of the case when run program is killed by signal
      • kill_gently is now used in cases when parent died and when the executed program times out

      • Added options that allow execution of some user code in the beginning and at the end of the child process
  • Updated perl-Mail-IMAPClient to 3.26:

    • See Changes for full details

    • Require Perl 5.8.1 as constant use is invalid on 5.6

    • Fix fetch_hash() parse errors (CPAN RT#63524)

    • Fix handling of LITERAL values in response

    • Fix handling of field names with a dash (e.g. X-SAVEDATE)

    • fetch_hash now uses Escaped_results() method

    • Fix Escaped_results() to properly join LITERAL data with the data that comes before and after it

    • append_file() did not interpret $date as expected (CPAN RT#60945)

    • $date should now be 1 (to use the file mtime) or a valid RFC3501 date

    • Address memory consumption with message_string()/append() (CPAN RT#61292)

    • Major problem with one function in IMAPClient (CPAN RT#61806)

    • Significant memory usage improvements
    • Relax get_envelope(), allow empty reply-to (CPAN RT#63444)

    • append_string could invalidate a good $date (CPAN RT#61068)

    • Fix logout error if delay between BYE and OK (CPAN RT#60045)

    • Fix migrate() errors (CPAN RT#61062)

    • Rewrite migrate() to be functional and simple

    • Update README and clean up several old or out of date files

  • I saw that the (basic) test suite passed with Perl 5.8.0 so I added a patch to drop the Perl version requirement to 5.8.0 for RHL-9 and RHEL-3 support

  • Updated perl-YAML-Tiny to 1.48:

    • Fix to the refaddr compatibility where Scalar::Util is installed but is older than 1.18

    • I found that this change didn't actually work - the test suite failed on systems with Scalar::Util < 1.18:

    • t/02_basic.........#     Failed test (t/lib/Test.pm at line 253)
      #          got: 'Undefined subroutine &YAML::Tiny::refaddr called at /builddir/build/BUILD/YAML-Tiny-1.48/blib/lib/YAML/Tiny.pm line 469.
      # '
      #     expected: ''
    • A slight tweak to the new code fixed this:
    • --- YAML-Tiny-1.48/lib/YAML/Tiny.pm.orig        2011-01-31 23:59:23.000000000 +0000
      +++ YAML-Tiny-1.48/lib/YAML/Tiny.pm             2011-02-01 14:32:42.886958633 +0000
      @@ -614,7 +614,7 @@
                      require Scalar::Util;
              };
              if ( $@ or $Scalar::Util::VERSION < 1.18 ) {
      -               eval <<'END_PERL' if $@;
      +               eval <<'END_PERL';
       # Scalar::Util failed to load or too old
       sub refaddr {
              my $pkg = ref($_[0]) or return undef;


Recent