PaulHowarth/Blog/2018-12-21

Friday 21st December 2018

Local Packages

  • Updated curl (7.63.0) to fix curl -J not to append to the destination file (Bug #1658574)

  • Updated perl-EV to 4.25:

    • Updated to libev 4.25 (minor fixes and enhancements)

    • Document the requirement to "use EV" when using EV::MakeMaker

    • Only use __register_atfork with glibc and uclibc, as musl defines __linux__, but doesn't implement the linux standard base ABI, nor makes itself detectable via a macro, both apparently by design, winning the "broken by design 2016 award" - well done

    • Correct EV::periodic example 24h after midnight → one day after midnight

    • Added stability canary support
  • Updated perl-Net-FTPSSL to 0.41:

    • Fixed supported() to say HELP isn't supported if OverrideHELP was used

    • Fixed nlst/list bug when filter patterns and callbacks were both in use

    • Fixed nlst/list to both call _common_list() instead of having list do both

    • The DebugLogFile option now turns autoflush on when the log file is opened

    • Tweaked the ccc() hack slightly

    • Added uput2() method to deal with the problem that uput() can't always tell you the actual name of the file on the FTPS server and you really need to know that filename (slow)

    • Rewrote the uput() POD to reflect what the command actually does instead of what it's supposed to do; different servers implemented it differently

    • Tweaked the deprecated "useSSL" option to make it easier to remove in the future

    • Minor tweaks to _help() and supported() dealing with OverrideHELP and _help() can now include disabled commands in its hash (the key's value is 0 if disabled, else non-zero if a supported command)

    • Added mlsd() - List of files in machine readable format

    • Added mlst() - Get file details in machine readable format

    • Added parse_mlsx() to parse the returned values of mlsd() and mlst()

    • Modified size() to have option of using MLST as an alternate way to get a file's size

    • Modified is_dir() and is_file() to be able to use MLST as the preferred way to do these tests; falls back on original tests if MLST isn't supported or doesn't have the TYPE feature enabled

    • Redesigned all the test cases from scratch! Rather than choose one of 3 huge scripts to run, everything has been replaced by a lot of smaller test cases, which makes it much simpler to verify everything is working without the need for messy, complex code or having to carefully examine log files afterwards
    • The test cases no longer uses the deprecated "useSSL" option; they use the "SSL_version" option instead

    • t/test-helper/helper1234.pm, new helper module to centralize the asking of questions and to share the answers between all the test cases (so that "make test" only prompts you a single time for your server info)

    • No longer uses environment variables to "remember" answers
    • MANIFEST - Added all the new test cases and removed the old ones

    • Updated the LICENSE file to say 2018 (from 2017)

    • Update the README file to say 2018 (from 2017), then completely rewrote it


Recent