PaulHowarth/Blog/2011-08-26

Friday 26th August 2011

Fedora Project

  • Built perl-Pod-Wordlist-hanekomu for EPEL-4, EPEL-5 and EPEL-6 now that perl-Test-DistManifest is available there

  • Built perl-Test-CPAN-Meta-JSON for EPEL-4 now that perl-JSON is available there

  • Built perl-Test-Mojibake for EPEL-4, EPEL-5 and EPEL-6 now that perl-Test-DistManifest is available there

PPTP Client Project

  • Updated pptp-release to fix the dist tag for builds with CentOS 6 and Scientific Linux

  • Updated pptpconfig not to use macros for commands

  • Created Fedora 16 repositories

Local Packages

  • Updated perl-AnyEvent to 6.01:

    • Incompatible Change: verbosity levels have been redefined; see AnyEvent (PERL_ANYEVENT_VERBOSE) and AnyEvent::Log for details

    • New function: AnyEvent::log

    • New module: AnyEvent::Log, for simple logging needs

    • New env variable, PERL_ANYEVENT_LOG, for fine-grained logging configuration

    • New env variable, PERL_ANYEVENT_HOSTS, to override the place where the /etc/hosts file can be found

    • An empty PERL_ANYEVENT_RESOLV_CONF now selects the default configuration

    • Environment variables can now be specified using AE_xyz instead of PERL_ANYEVENT_xyz, subject to some rules

    • Lots of new AnyEvent::Debug functionality

    • AnyEvent::Strict now checks for modifications of $_ by the callback (by setting it to readonly while executing the callback, if possible)

    • AnyEvent::Socket::resolve_sockaddr and all functions using it now support /etc/hosts overrides

    • Do not run event loop detection multiple times when programs call their cached copies of AnyEvent::detect

    • parse_hostport now accepts absolute paths as unix domain sockets

    • Suppress the idiotic warning inside POE by patching the POE::Kernel run flags instead of asking the user to jump through contortions

    • Add Task::Weaken as dependency (as recommends only at this time)

    • Replace PF_UNSPEC by 0, for good old Minix

  • This major update also had a bunch of packaging changes:
    • Drop now-redundant patch removing FLTK2 references

    • Package manpages for AnyEvent::Impl::FLTK2 and AnyEvent::Log

    • Add build and runtime dependencies for perl(Task::Weaken)

    • Make the build dependency on perl(Net::SSLeay) unconditional as although the SSL test still emits a "Too late to run CHECK block" warning prior to perl 5.10, the test still passes

    • Add build dependencies on perl(Event::Lib), perl(Glib) ≥ 1.210, perl(POE) and perl(Tk) where possible (i.e. pull in from Fedora/EPEL) for the event loop tests

    • Add a build dependency on perl(Time::HiRes)

    • Filter the bogus provide of perl(DB)

  • These changes were on top of the unpublished changes of 6.0 on August 14th, which for the record were:
    • Incompatible Change: AnyEvent::DNS resource records now include the TTL as fourth element - this affects ->resolve directly, and ->request and ->dns_unpack indirectly; convenience functions such as AnyEvent::DNS::{a,txt,mx,srv} are not affected, and neither is AnyEvent::Socket

    • Incompatible Change: backend authors now should not implement one_event or loop, but instead the AnyEvent::CondVar::_wait and _poll methods

    • Deprecation: please change "use AnyEvent::Impl::Perl" to "use AnyEvent::Loop" and "AnyEvent::Impl::Perl::loop" to "AnyEvent::Loop::run" in your programs, for future compatibility

    • Idle watcher emulation was borked
    • AnyEvent::Strict now checks the AE::xxx functions as well

    • Querying too-long domain names would barf deep inside AnyEvent::DNS; since this is hard to avoid for applications, AnyEvent:.DNS::request now checks for too-long domain names explicitly and passes an undef to the callback instead

    • Make AnyEvent::Util more robust against EINTR

    • New function: AnyEvent::postpone

    • New env variable, PERL_ANYEVENT_DEBUG_SHELL, to automatically start a debug shell

    • New env variable, PERL_ANYEVENT_DEBUG_WRAP, to automatically enable watcher instrumentation/wrapping (see AnyEvent::Debug::wrap)

    • IO::Async sometimes cancels the wrong timer when you call cancel_timer; invest extra overhead to work around this peculiar behaviour

    • Split the pure perl backend into a loop module and an impl module (AnyEvent::Loop and AnyEvent::Impl::Perl)

    • Some read types (regex, netstring, json, storable) could erroneously keep an AE::Handle object alive on their own

    • Add more workarounds around child watcher bugs in IO::Async and (newly-introduced) in POE

    • Use glib child watchers and try to work around its limitations, if possible

    • Add support for FLTK (fltk2) via AnyEvent::Impl::FLTK2

    • Many read types in AnyEvent::Handle would malfunction during transitions to TLS because of a "delete $self->{rbuf}"

    • Improve condvar blocking wait performance (probably only noticeable with faster backends) and also make it easier for event loops that do not support blocking waits

    • PERL_ANYEVENT_MODEL now also allows full module names, although the usefulness of this feature is not yet clear

    • Add tests for all supported event loops, conditional on PERL_ANYEVENT_LOOP_TESTS

    • Add t/80_ssltext.t

    • No longer use AUTOLOAD for the initial loading (for no very good reason)

    • tcp_server now tries to unlink unix domain sockets when it gets destroyed

  • Packaging changes for 6.0:
    • Patch AnyEvent::Impl::FLTK2 out of Makefile.PL as upstream forgot to ship it

    • Package new manpage for AnyEvent::Loop

    • Add new build dependencies for tests: perl(EV), perl(Event), perl(Net::SSLeay)

  • I then updated perl-AnyEvent again, this time to 6.02:

    • log_to_syslog now accepts facility strings

    • log_to_syslog would not allow facilities - "$facility|$level" literally means that string

    • The CPAN parser got confused and thought we provide Sys::Syslog; try to work around it

    • Rename AnyEvent::Impl::FLTK2 to FLTK

  • Updated perl-Moose to 2.0204:

    • Validating duck_type type constraint turned out to work only by accident, and only when not running under the debugger; this has been fixed

    • Loosen the dependency on ExtUtils::ParseXS

  • Updated proftpd to fix the dist tag for builds with CentOS 6 and Scientific Linux


Recent