Paul's Blog Entries for April 2012
Sunday 1st April 2012
Fedora Project
Became owner of perl-Math-Calc-Units in all current Fedora and EPEL releases, and cleaned up and rebuilt it for F-15, F-16, F-17, Rawhide, EPEL-5 and EPEL-6
Updated perl-Pod-Wordlist-hanekomu to 1.120920 in F-15, F-16, F-17, Rawhide, EPEL-5 and EPEL-6:
- Added "pre", "precompute", "prereq", "prereqs", "symlinked"
Updated perl-Test-Warn to 0.24 and cleaned it up in F-17 and Rawhide:
Compatibility with Carp 1.25
Local Packages
New package perl-CPAN-Meta-Requirements (2.121)
Updated libnet to 1.1.6; for F-17/RHEL-7 onwards, install to %{_libdir} rather than /%{_lib} in view of UsrMove
Updated perl-CPAN-Meta to 2.120921:
CPAN::Meta::Requirements now has a 'requirements_for_module' method to retrieve a version requirements string for a specific module
Parse::CPAN::Meta prerequisite bumped to 1.4403
JSON::PP prerequisite bumped to 2.27200
CPAN::Meta::YAML prerequisite bumped to 0.008
CPAN::Meta::Requirements has been split out into its own distribution so it can be used by CPAN.pm without requiring all of CPAN::Meta
Updated perl-Parse-CPAN-Meta to 1.4403:
Bumped prereqs: JSON::PP to 2.27200 and CPAN::Meta::YAML to 0.008
Updated perl-Pod-Wordlist-hanekomu to 1.120920 as per the Fedora version
Updated perl-Test-Warn to 0.24 as per the Fedora version
Monday 2nd April 2012
Fedora Project
Updated perl-DBM-Deep to 2.0006 in F-17 and Rawhide:
Try harder to get t/27_filehandle.t to work under TB2; the extra 'TAP version 13' line was causing a TAP parse error
Local Packages
New package yum-arch, included because it's been dropped from Rawhide now and I still need it until such time as I drop EL-4 support (later this year probably)
Updated davfs2 to install under /usr and conflict with filesystem < 3 on F-17/RHEL-7 onwards (Features/UsrMove)
Updated libgpg-error to install under /usr and conflict with filesystem < 3 on F-17/RHEL-7 onwards (Features/UsrMove)
Updated libgcrypt to install under /usr and conflict with filesystem < 3 on F-17/RHEL-7 onwards (Features/UsrMove)
Updated libidn to install under /usr and conflict with filesystem < 3 on F-17/RHEL-7 onwards (Features/UsrMove)
Updated libnet to conflict with filesystem < 3 on F-17/RHEL-7 onwards (Features/UsrMove)
Updated perl-DateTime-TimeZone to 1.46:
- This release is based on version 2012c of the Olson database
- Contemporary changes for Morocco, Palestine, Syria, and Haiti
Updated perl-DBM-Deep to 2.0006 as per the Fedora version
Dropped tcptraceroute from Fedora 17 onwards, where it is obsoleted by traceroute (Bug #733030)
Tuesday 3rd April 2012
Fedora Project
Updated perl-Class-Load to 0.19 in F-17 and Rawhide (no functional changes)
Updated perl-Net-SSLeay to 1.46 in F-17 and Rawhide (changes too numerous to mention)
Local Packages
Updated perl-Class-Load to 0.19 as per the Fedora version
Updated perl-CPAN-Meta-Requirements to "provide" a six-digit version number of the module since there are other packages in Fedora that have such dependencies from when it was bundled with perl-CPAN-Meta
Updated perl-Moose to 2.0403 (no functional changes)
Updated perl-Net-SSLeay to 1.46, not without problems:
First, it wouldn't even build with perl < 5.8.8:
gcc -c -I/usr/include -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -DVERSION=\"1.46\" -DXS_VERSION=\"1.46\" -fPIC "-I/usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE" SSLeay.c SSLeay.xs: In function `pem_password_cb_invoke': SSLeay.xs:912: error: `n_a' undeclared (first use in this function) SSLeay.xs:912: error: (Each undeclared identifier is reported only once SSLeay.xs:912: error: for each function it appears in.) make: *** [SSLeay.o] Error 1
This turned out to be because POPpx required a variable STRLEN n_a in scope prior to Perl 5.8.8; I raised this upstream as CPAN RT#76267
Second, the test suite failed on all x86_64 builds prior to F-15:
PERL_DL_NONLAZY=1 /home/cpan/pit/thr/perl-5.12.2/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'inc', 'blib/lib', 'blib/arch')" t/local/*.t t/handle/local/*.t t/handle/local/05_use.t ................ ok t/local/01_pod.t ....................... skipped: Test::Pod 1.00 required for testing POD t/local/02_pod_coverage.t .............. skipped: Test::Pod::Coverage 1.00 required for testing POD coverage t/local/03_use.t ....................... ok t/local/04_basic.t ..................... ok t/local/05_passwd_cb.t ................. ok t/local/06_tcpecho.t ................... ok t/local/07_sslecho.t ................... ok t/local/08_pipe.t ...................... ok t/local/15_bio.t ....................... ok t/local/20_autoload.t .................. skipped: Some tests need Test::Exception t/local/21_constants.t ................. skipped: Some tests need Test::Exception t/local/30_error.t ..................... skipped: Requires Test::Exception, Test::Warn and Test::NoWarnings t/local/31_rsa_generate_key.t .......... skipped: Test::Exception required # Failed test 'serial ASN1_INTEGER_get cert_twitter.crt.pem' # at t/local/32_x509_get_cert_info.t line 111. # got: '4294967295' # expected: '-1' # Failed test 'serial ASN1_INTEGER_get cert_paypal.crt.pem' # at t/local/32_x509_get_cert_info.t line 111. # got: '4294967295' # expected: '-1' # Looks like you failed 2 tests of 1130. t/local/32_x509_get_cert_info.t ........ Dubious, test returned 2 (wstat 512, 0x200) Failed 2/1130 subtests (less 8 skipped subtests: 1120 okay) # Failed test 'ASN1_INTEGER_get' # at t/local/33_x509_create_cert.t line 52. # got: '4294967295' # expected: '-1' # Looks like you failed 1 test of 124. t/local/33_x509_create_cert.t .......... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/124 subtests t/local/34_x509_crl.t .................. ok t/local/35_ephemeral.t ................. ok t/local/36_verify.t .................... ok t/local/37_asn1_time.t ................. ok t/local/38_priv-key.t .................. ok t/local/39_pkcs12.t .................... ok t/local/40_npn_support.t ............... skipped: openssl 1.0.1 required t/local/50_digest.t .................... ok t/local/61_threads-cb-crash.t .......... ok t/local/62_threads-ctx_new-deadlock.t .. ok t/local/kwalitee.t ..................... skipped: Test::Kwalitee not installed; skipping Test Summary Report ------------------- t/local/32_x509_get_cert_info.t (Wstat: 512 Tests: 1130 Failed: 2) Failed tests: 654, 893 Non-zero exit status: 2 t/local/33_x509_create_cert.t (Wstat: 256 Tests: 124 Failed: 1) Failed test: 21 Non-zero exit status: 1 Files=27, Tests=1715, 2 wallclock secs ( 0.25 usr 0.05 sys + 1.75 cusr 0.19 csys = 2.24 CPU) Result: FAIL Failed 2/27 test programs. 3/1715 subtests failed. make: *** [test_dynamic] Error 255
It appears that openssl versions prior to 1.0.0g return different values for an AES1_INTEGER value of -1; this was already raised upstream as CPAN RT#76266
Wednesday 4th April 2012
Fedora Project
Updated perl-Net-SSLeay to 1.47 in F-17 and Rawhide:
- Fixed over-long lines and spelling errors in pod
- Fixed extra "garbage" files in 1.46 tarball
- Fixed incorrect fail reports on some 64-bit platforms
Fix to avoid FAIL reports from cpantesters with missing openssl
Use my_snprintf from ppport.h to prevent link failures with perl 5.8 and earlier when compiled with MSVC
Local Packages
Updated perl-Net-SSLeay to 1.47 as per the Fedora version
Thursday 5th April 2012
Fedora Project
Updated libssh2 to 1.4.1 in F-17 and Rawhide:
Fix build error with gcrypt backend
- Always do "forced" window updates to avoid corner case stalls
aes: the init function fails when OpenSSL has AES support
transport_send: finish in-progress key exchange before sending data
channel_write: acknowledge transport errors
examples/x11.c: make sure sizeof passed to read operation is correct
examples/x11.c: fix suspicious sizeof usage
sftp_packet_add: verify the packet before accepting it
- SFTP: preserve the original error code more
sftp_packet_read: adjust window size as necessary
Use safer snprintf rather then sprintf in several places
Define and use LIBSSH2_INVALID_SOCKET instead of INVALID_SOCKET
sftp_write: cannot return acked data and EAGAIN
sftp_read: avoid data and EAGAIN
libssh2.h: add missing prototype for libssh2_session_banner_set()
Became co-maintainer of perl-Test-SubCalls in Rawhide and cleaned it up and updated it not to run the release tests when bootstrapping so as to avoid circular build dependencies
Raised bugs on perl-DBI, perl-HTTP-Message, perl-Moose, perl-POE and perl-SQL-Statement regarding circular build dependencies, which are problematic when bootstrapping a new perl version
Rebuilt perl-BDB, perl-BerkeleyDB and sendmail for libdb 5.3.15 in Rawhide
Local Packages
Updated libssh2 to 1.4.1 as per the Fedora version
Updated perl-AnyEvent to include upstream fix for t/80_ssltest.t with OpenSSL 1.0.1 (i.e. using a longer key - see CPAN RT#75343 and Bug #789447)
Cleaned up and rebuilt perl-Test-SubCalls
Friday 6th April 2012
Fedora Project
Raised bugs on perl-DateTime, perl-Any-Moose, perl-Devel-PartialDump, foomatic, perl-XML-Twig and perl-CGI-Emulate-PSGI regarding circular build dependencies
Cleaned up and rebuilt perl-IO-stringy, in particular preventing it build-requiring itself (d'oh!)
Local Packages
Updated libgcrypt to add the GCRYCTL_SET_ENFORCED_FIPS_FLAG command
Updated perl-DateTime to fix bootstrap build (DateTime::Locale and DateTime::TimeZone are now hard requirements so we have to skip the test suite when bootstrapping)
Updated perl-Parse-CPAN-Meta to 1.4404:
Protected tests from user PERL_YAML/JSON_BACKEND
Updated perl-HTML-Lint to 2.20:
- Added comment-directives to disable specific errors in your HTML
Added check for unknown entities, such as "&foo;"
Added check for unclosed entities, such as "&" without the closing semicolon
Added a check for a bare ampersand that should be written as &
Cleaned up and rebuilt perl-IO-stringy
Saturday 7th April 2012
Fedora Project
Updated perl-Digest-MD5-File to 0.08 in F-15, F-16, F-17, Rawhide, EPEL-5 and EPEL-6:
CPAN RT#39898: Inconsistent results from adddir
CPAN RT#44106: Typos in documentation
CPAN RT#76174: Handle file names with trailing spaces
Updated perl-IO-AIO to 4.14 in F-17 and Rawhide:
Fix stat structure usage on windows, which caused bogus stat results
(libeio) make readahead emulation behave more like actual readahead by never failing
New request aio_seek
New request aio_fiemap
Auto-generate the #ifdef/#define 0 blocks for symbols we export
Updated perl-IO-Socket-SSL to 1.64 in Rawhide:
Ignore die from within eval to make tests more stable on Win32 (CPAN RT#76147)
- Clarify some behaviour regarding hostname verification
Local Packages
Updated perl-IO-AIO to 4.14 as per the Fedora version; this went without problems except on EL-5, where it failed to compile:
gcc -c -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -DVERSION=\"4.14\" -DXS_VERSION=\"4.14\" -fPIC "-I/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE" AIO.c In file included from AIO.xs:9: schmorp.h: In function 's_epipe_signal': schmorp.h:450: warning: ignoring return value of 'write', declared with attribute warn_unused_result schmorp.h: In function 's_epipe_drain': schmorp.h:463: warning: ignoring return value of 'read', declared with attribute warn_unused_result In file included from AIO.xs:27: /usr/include/linux/fiemap.h: At top level: /usr/include/linux/fiemap.h:15: error: expected specifier-qualifier-list before '__u64' /usr/include/linux/fiemap.h:26: error: expected specifier-qualifier-list before '__u64'
The problem there was that EL-5's <linux/fiemap.h> header file uses the __u64 type without pulling in <linux/types.h> to define it, so I tweaked the configure script to check for <linux/types.h> and used it:
diff -up IO-AIO-4.14/AIO.xs.orig IO-AIO-4.14/AIO.xs --- IO-AIO-4.14/AIO.xs.orig 2012-04-07 01:49:49.000000000 +0100 +++ IO-AIO-4.14/AIO.xs 2012-04-07 21:17:08.055812147 +0100 @@ -22,6 +22,7 @@ #endif #if __linux__ +# include <linux/types.h> # include <linux/fs.h> # ifdef FS_IOC_FIEMAP # include <linux/fiemap.h> diff -up IO-AIO-4.14/configure.ac.orig IO-AIO-4.14/configure.ac --- IO-AIO-4.14/configure.ac.orig 2012-04-06 10:57:56.000000000 +0100 +++ IO-AIO-4.14/configure.ac 2012-04-07 21:17:08.066812142 +0100 @@ -5,7 +5,12 @@ AC_CONFIG_HEADERS([libeio/config.h]) AC_PROG_CC -AC_CHECK_HEADERS([linux/fs.h linux/fiemap.h]) +AC_CHECK_HEADERS([linux/fs.h linux/types.h]) +AC_CHECK_HEADERS([linux/fiemap.h], [], [], +[#ifdef HAVE_LINUX_TYPES_H +#include <linux/types.h> +#endif +]) m4_include([libeio/libeio.m4])
- I sent that fix upstream and it (or something like it) will be included in subsequent releases.
- However, it still didn't build:
gcc -c -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -DVERSION=\"4.14\" -DXS_VERSION=\"4.14\" -fPIC "-I/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE" AIO.c In file included from AIO.xs:9: schmorp.h: In function 's_epipe_signal': schmorp.h:450: warning: ignoring return value of 'write', declared with attribute warn_unused_result schmorp.h: In function 's_epipe_drain': schmorp.h:463: warning: ignoring return value of 'read', declared with attribute warn_unused_result In file included from AIO.xs:127: libeio/eio.c: In function 'etp_start_thread': libeio/eio.c:577: warning: left-hand operand of comma expression has no effect In file included from AIO.xs:127: libeio/eio.c:1078:19: error: #if with no expression
- This one was somewhat more difficult to track down. The line with the error was:
#if HAVE_FALLOCATE
Looking though the code, it was clear that the HAVE_FALLOCATE macro was either defined to 1 or left undefined, neither of which should have caused the error; this bit of code had also not changed from the previous version, which did compile OK. It turned out that this file now #includes <linux/fs.h>, and in RHEL-5, that includes these lines of code:
/* public flags for file_system_type */ #define FS_REQUIRES_DEV 1 #define FS_BINARY_MOUNTDATA 2 #define HAVE_FALLOCATE #define FS_HAS_FALLOCATE 4 /* Safe to check for ->fallocate */ #define FS_HAS_FIEMAP 8 /* Safe to check for ->fiemap */ #define FS_HAS_FREEZE 16 /* Safe to check for ->freeze_fs etc */ #define FS_HAS_TRYTOFREE 32 /* Safe to check for ->bdev_try_to_free... */ #define FS_HAS_GETRESV 64 /* Safe to check for ->get_reserved_space */ #define FS_HAS_IODONE2 128 /* dio->io_done is type dio_iodone2_t */ #define FS_REVAL_DOT 16384 /* Check the paths ".", ".." for staleness */ #define FS_RENAME_DOES_D_MOVE 32768 /* FS will handle d_move() * during rename() internally. */
So there was the empty definition of HAVE_FALLOCATE that was causing the problem, and I wasn't the first person to come across this issue. I patched the IO::AIO code to use the symbol HAVE_LINUX_FALLOCATE instead of HAVE_FALLOCATE and that fixed the problem:
diff -up IO-AIO-4.14/libeio/eio.c.orig IO-AIO-4.14/libeio/eio.c --- IO-AIO-4.14/libeio/eio.c.orig 2012-04-02 18:53:19.000000000 +0100 +++ IO-AIO-4.14/libeio/eio.c 2012-04-07 21:17:08.076812137 +0100 @@ -1075,7 +1075,7 @@ eio__sync_file_range (int fd, off_t offs static int eio__fallocate (int fd, int mode, off_t offset, size_t len) { -#if HAVE_FALLOCATE +#if HAVE_LINUX_FALLOCATE return fallocate (fd, mode, offset, len); #else errno = ENOSYS; diff -up IO-AIO-4.14/libeio/libeio.m4.orig IO-AIO-4.14/libeio/libeio.m4 --- IO-AIO-4.14/libeio/libeio.m4.orig 2011-07-24 06:46:26.000000000 +0100 +++ IO-AIO-4.14/libeio/libeio.m4 2012-04-07 21:17:54.640785066 +0100 @@ -136,7 +136,7 @@ int main (void) return 0; } ],ac_cv_fallocate=yes,ac_cv_fallocate=no)]) -test $ac_cv_fallocate = yes && AC_DEFINE(HAVE_FALLOCATE, 1, fallocate(2) is available) +test $ac_cv_fallocate = yes && AC_DEFINE(HAVE_LINUX_FALLOCATE, 1, fallocate(2) is available) AC_CACHE_CHECK(for sys_syncfs, ac_cv_sys_syncfs, [AC_LINK_IFELSE([ #include <unistd.h>
- I sent that fix upstream too but Marc insists that that's a Red Hat bug that needs fixing; I can try raising a bug on that but I don't hold out much hope of it getting fixed, and certainly not any time soon, so it seems I'll be carrying this patch for a while.
Updated perl-IO-Socket-SSL to 1.64 as per the Fedora version
Rebuilt sendmail for libdb 5.3 in Rawhide
Sunday 8th April 2012
Fedora Project
Raised bugs on perl-MooseX-Getopt, perl-SQL-Abstract, perl-Catalyst-Plugin-Session-State-Cookie, perl-Mail-Box and perl-POE-Component-Client-HTTP regarding circular build dependencies
Monday 9th April 2012
Fedora Project
Raised bugs on perl-bioperl, perl-Dancer and perl-Titanium regarding circular build dependencies, completing my bug-raising activities for perl bootstrapping: I believe the perl ecosystem in Fedora can be bootstrapped in 38 passes, plus further pot-bootstrap rebuilds afterwards for those packages that build differently during bootstrapping
Updated perl-XML-Generator-DBI in Rawhide not to build-require itself
Cleaned up and rebuilt perl-Crypt-Primes in Rawhide, fixing a directory ownership issue
Tuesday 10th April 2012
Fedora Project
Became co-maintainer of perl-Class-DBI-Plugin in Rawhide and did a clean-up and rebuild
Updated perl-IO-AIO to 4.15 in F-17 and Rawhide:
Always include linux/types.h for fiemap, for compatibility with ancient systems
Experimental support for IO::AIO::splice and ::tee (no aio_...)
Provide SEEK_HOLE and SEEK_DATA, if available
Work around (again!) an immensely stupid bug in RHEL, defining autoconf macros in linux system headers
Local Packages
Updated dovecot to 2.1.4:
Added mail_temp_scan_interval setting and changed its default value from 8 hours to 1 week
Added pop3-migration plugin for easily doing a transparent IMAP+POP3 migration to Dovecot: http://wiki2.dovecot.org/Migration/Dsync
doveadm user: Added -m parameter to show some of the mail settings
- Proxying SSL connections crashed in v2.1.[23]
fts-solr: Indexing mail bodies was broken
director: Several changes to significantly improve error handling
doveadm import didn't import messages' flags
mail_full_filesystem_access=yes was broken
- Make sure IMAP clients can't create directories when accessing non-existent users' mailboxes via shared namespace
dovecot auth clients authenticating via TCP socket could have failed with bogus "PID already in use" errors
I also added a post-release fix for lib-storage from upstream
Updated dovecot (2.0) to 2.0.20:
doveadm user: Added -m parameter to show some of the mail settings
doveadm import didn't import messages' flags
- Make sure IMAP clients can't create directories when accessing non-existent users' mailboxes via shared namespace
dovecot auth clients authenticating via TCP socket could have failed with bogus "PID already in use" errors
Updated perl-IO-AIO to 4.15 as per the Fedora version, dropping my no-longer-needed patches for RHEL-5 compatibility
Friday 13th April 2012
Fedora Project
Updated gtkwave to 3.3.35 in F-17 and Rawhide:
Polarity fix for vcd_preserve_glitches in rcfile; default is no/off, use yes in the rcfile to enable (e.g., for viewing interpolated analog waveforms)
Added vcd_preserve_glitches support to FST as --optimize uses FST
Added vcd_preserve_glitches_real (for VCD/FST) rcfile variable that turns off deglitching only for real signals
Fix for do_initial_zoom_fit when file requester used
Changed contact address for bug reports to <bybell AT rocketmail DOT com>
Added fstWriterSetParallelMode()
Updated proftpd in F-17 and Rawhide to use a hardened build
Local Packages
Updated curl to use NSS_InitContext() to initialize NSS if available (Bug #738456) and to provide human-readable names for NSS errors (upstream commit a60edcc6)
Updated fetchyahoo to 2.14.7:
Fix compatibility with .mc1 servers
Updated gtkwave to 3.3.35 as per the Fedora version
Updated perl-AnyEvent to 7.0:
Child watchers are broken in POE 1.352 (also many earlier versions) and there seems to be no way to work around it, as POE itself is inherently racy: document this regression and add a delay in t/68_poe_03_child.t for the time being
New module AnyEvent::IO, a frontend to either a pure-perl synchronous I/O implementation (AnyEvent::IO::Perl), or to the asynchronous I/O extension IO::AIO (AnyEvent::IO::IOAIO)
Load /etc/hosts only when DNS has no answer
stat /etc/hosts on every access and reload it if it changed
Load /etc/hosts via AnyEvent::IO - potentially asynchronous
Fix a buggy croak in the dh parameter reading in AnyEvent::TLS
AnyEvent::Log log_to_file and log_to_path now use AnyEvent::IO; as a side effect, they now use true appending as opposed to libc appending, and the file might not have been opened when the function returns
- The default logging level was not properly documented in a variety of places
Updated uts46data.pl for unicode 6.1.0
Made log messages generated by AnyEvent submodules not include the package name any longer, as it will be logged by default already
Upgrade to the trick used by common::sense 3.5 to work around extra warning torture/breakage under perl 5.15.x
Log messages by anyevent are now ucfirst, are usually full sentences and no longer include the package name
The storable read type would sometimes throw an exception instead of causing EBADMSG
Work around a bug in openssl 1.0.1, which enforces a minimum rsa key size
Rebuilt perl-HTML-Lint to stay in sync with Rawhide
Updated proftpd as per the Fedora version (my F-16 build will also be hardened, as that is where the hardened build support was added)
Saturday 14th April 2012
Local Packages
Updated perl-Coro to 6.08:
Be more aggressive about exiting like perl does - formerly, exiting from the non-main thread would not execute END blocks
I found that test t/12_exit.t would fail sub-test 5 on perl 5.10.0 on x86_64 (but not any other perl version, or on i386), which turned out to be a segfault in perl_free(), called just before exit() in State.xs; as a work-around, I just removed the call to perl_free():
Coro 6.08 segfaults in perl_free with perl 5.10.0 (only) on x86_64 (only) --- Coro/State.xs +++ Coro/State.xs @@ -1420,9 +1420,7 @@ static void ecb_noinline ecb_cold perlish_exit (pTHX) { - int exitstatus = perl_destruct (PL_curinterp); - perl_free (PL_curinterp); - exit (exitstatus); + exit (perl_destruct (PL_curinterp)); } /*
Sunday 15th April 2012
Fedora Project
Updated perl-Test-CPAN-Meta-JSON to 0.11 in F-17 and Rawhide:
CPAN RT#74317: Imported url validation from CPAN::Meta
CPAN RT#66692: Updated license type
- Updates to examples
Updated perl-Test-CPAN-Meta-YAML to 0.18 in F-17 and Rawhide:
CPAN RT#74317: Imported url validation from CPAN::Meta
CPAN RT#66692: Updated license type
- Updates to examples
Local Packages
Updated perl-Test-CPAN-Meta to 0.19:
CPAN RT#74317: Imported url validation from CPAN::Meta
CPAN RT#66692: Updated license type
- Updates to examples
Updated perl-Test-CPAN-Meta-JSON to 0.11 as per the Fedora version
Updated perl-Test-CPAN-Meta-YAML to 0.18 as per the Fedora version
Monday 16th April 2012
Fedora Project
Updated perl-IO-Socket-SSL to 1.66 in F-17 and Rawhide:
Added NPN (Next Protocol Negotiation) support (CPAN RT#76223)
Make it thread safer (CPAN RT#76538)
Updated rbldnsd in F-15, F-16, F-17, Rawhide, EPEL-5 and EPEL-6 to fix some initscript issues:
Hanging when started from systemd (Bug #807504)
Only starting the first instance when multiple instances are specified in /etc/sysconfig/rbldnsd
- The F-16, F-17 and F-18 builds were hardened (PIE) too
Updated spamass-milter in F-17 and Rawhide to do a hardened (PIE) build
Local Packages
Updated getmail to 4.26.0:
Switch to using BODY.PEEK in IMAP retrieval
Updated perl-IO-Socket-SSL to 1.66 as per the Fedora version
Updated spamass-milter as per the Fedora version
Tuesday 17th April 2012
Fedora Project
Updated perl-Test-CPAN-Meta-JSON to 0.12 in F-17 and Rawhide:
CPAN RT#76609: Spelling fix
Updated perl-Test-CPAN-Meta-YAML to 0.19 in F-17 and Rawhide:
CPAN RT#76611: Spelling fix
Updated rbldnsd to use systemd native unit files for start-up in F-17 onwards; since the SvsV initscript supported multiple instances with arbitrary parameters, which is hard to map to systemd, I wrote a helper script rbldnsctl to create and manage systemd units based on exactly the same configuration in /etc/sysconfig/rbldnsd that the SysV script used, which I documented as follows in README.systemd:
Using rbldnsd with systemd ========================== The traditional SysV initscript shipped with rbldnsd supports using multiple instances with arbitrary command lines. This is difficult to achieve with systemd so a wrapper script, rbldnsctl, has been provided to assist with the creation and use of native systemd unit files for each required instance, using exactly the same configuration in /etc/sysconfig/rbldnsd as the SysV initscript used. Having edited /etc/sysconfig/rbldnsd to specify the rbldnsd instance(s) required, individual unit files for each instance can be created by: rbldnsctl create This creates unit files /etc/systemd/system/rbldnsd-<instancename>.service for each required instance. These units can then be manipulated individually using /bin/systemctl as usual, or all at once by using other rbldnsctl commands: rbldnsctl enable This enables all configured rbldnsd instances to start at boot time (equivalent of chkconfig rbldnsd on). rbldnsctl disable This disables all configured rbldnsd instances from starting at boot time (equivalent of chkconfig rbldnsd off). rbldnsctl start This starts all configured rbldnsd instances immediately (equivalent of service rbldnsd start). rbldnsctl stop This stops all configured rbldnsd instances (equivalent of service rbldnsd stop). rbldnsctl reload This reloads all configured rbldnsd instances (equivalent of service rbldnsd reload). rbldnsctl restart This restarts all configured rbldnsd instances (equivalent of service rbldnsd restart). rbldnsctl condrestart rbldnsctl try-restart These restart all configured rbldnsd instances immediately, if they are already running (equivalent of service rbldnsd condrestart). rbldnsctl status This shows status of all configured rbldnsd instances (equivalent of service rbldnsd status). When editing /etc/sysconfig/rbldnsd to specify rbldnsd instance options, bear in mind: * systemd prefers the daemons it controls not to fork, so the unit files created by rbldnsctl start rbldnsd with the "-n" option to prevent it from forking; this also means that systemd knows the PIDs of all instances itself, so there is no need to specify any forking/pidfile related options in /etc/sysconfig/rbldnsd * if you want just a single instance of rbldnsd and use the traditional "-" identifier for it, rbldnsctl will create a unit file /etc/systemd/system/rbldnsd-single.service, i.e. the instance name will be set to "single"
Local Packages
Updated perl-Test-CPAN-Meta to 0.20:
CPAN RT#76609: Spelling fix
Updated perl-Test-CPAN-Meta-JSON to 0.12 as per the Fedora version
Updated perl-Test-CPAN-Meta-YAML to 0.19 as per the Fedora version
Updated rbldnsd as per the Fedora version
Wednesday 18th April 2012
Fedora Project
Raised Bug #813698 requesting that the Test::Mouse module be split into a sub-package from perl-Mouse so as to avoid the latter package having a dependency on perl(Test::Builder), a development package
Local Packages
New package perl-MetaCPAN-API (0.43)
I built this package to use in a new version of my upstream monitoring script for perl module releases, since pulling data from http://search.cpan.org/ seems to be getting less reliable; whilst developing the new script, I came across a few inconsistencies:
Algorithm-Diff-XS 0.04 cites a version: 0.01 rather than 0.04 in its META.yml (CPAN RT#76654)
Crypt-RSA 1.99 cites a version: 1.97 rather than 1.99 in its META.yml (CPAN RT#76655)
IO-Capture 0.05 cites a version: 0.04 rather than 0.05 in its META.yml (CPAN RT#76656)
PlRPC 0.2020 cites a version: 0.2018 rather than 0.2020 in its META.yml (CPAN RT#76657)
Spiffy 0.30 cites a version: 0.25 rather than 0.30 in its META.yml (CPAN RT#19865)
According to MetaCPAN, the "latest" release of Class-MOP is 0.36 rather than 1.12 (MetaCPAN Issue #550)
common-sense doesn't show up on MetaCPAN, and neither do grepmail or weblint (MetaCPAN Issue #548)
- Retrieving the "latest" version of a module from MetaCPAN was easy; finding the latest development version was harder, but I came up with this:
use MetaCPAN::API; my $distro = 'Archive-Tar'; # for example my $dist = $mcpan->release( search => { q => "distribution:$distro AND maturity:developer", fields => "name,version,status,maturity,date", sort => 'date:desc', size => 1, }, ); my $hits = $dist->{'hits'}->{'hits'}; my ($best_hit, $devel_meta_version, $devel_name_version, $devel_date); if (scalar @{ $hits }) { $best_hit = shift( $hits )->{'fields'}; $devel_meta_version = $best_hit->{'version'}; $devel_name_version = version_from_name($distro, $best_hit->{'name'}); $devel_date = $best_hit->{'date'}; }
Thursday 19th April 2012
Fedora Project
Reviewed and approved IainArnell's perl-MetaCPAN-API package submission
Local Packages
Updated contagged to add support for Apache httpd 2.4.x, which was just a few lines that needed changing in the config snippet:
The default configuration allows access only from localhost, which for httpd 2.2 is:
### By default this application is only accessible from the local host Order deny,allow Deny from all Allow from 127.0.0.1 Allow from ::1
and for httpd 2.4 is:
### By default this application is only accessible from the local host Require local
- The alternative configuration allows access from everywhere, which used to be:
### To allow access from everywhere, comment out the 4 previous lines and ### uncomment the following two lines #Order allow,deny #Allow from all
- and is now:
### To allow access from everywhere, comment out the previous line and ### uncomment the following line #Require all granted
I also added a note with the LDAPTrustedGlobalCert entry for ldaps support that it needs mod_ldap, since this is no longer bundled with the httpd package with httpd 2.4 in Rawhide:
### For ldaps support, Apache 2.4.x (needs mod_ldap) #LDAPTrustedGlobalCert CA_BASE64 /etc/pki/tls/certs/slapd-ca.crt
Updated perl-Test-CPAN-Meta to 0.21:
CPAN RT#76609: Further spelling fix
- Removed DSLIP info
Updated perl-YAML to 0.81:
Test fixes for 5.16 (CPAN RT#74826)
YAML::Mo uses Safe Mo (CPAN RT#76664)
The revised fixes for compatibility with old B::Deparse versions in this release don't actually work, so I added an additional patch to fix that and attached it to CPAN RT#74826:
--- t/dump-code.t +++ t/dump-code.t @@ -6,9 +6,6 @@ if (new B::Deparse -> coderef2text ( sub =~ 'refs') { local $/; (my $data = <DATA>) =~ s/use strict/use strict 'refs'/g if $] < 5.015; - if ($B::Deparse::VERSION > 0.67 and $B::Deparse::VERSION < 0.71) { # [CPAN #73702] - $data =~ s/use warnings;/BEGIN {\${^WARNING_BITS} = "UUUUUUUUUUUU\\001"}/g; - } open DATA, '<', \$data; } --- t/dump-perl-types.t +++ t/dump-perl-types.t @@ -8,9 +8,6 @@ if (new B::Deparse -> coderef2text ( sub =~ 'refs') { local $/; (my $data = <DATA>) =~ s/use strict/use strict 'refs'/g; - if ($B::Deparse::VERSION > 0.67 and $B::Deparse::VERSION < 0.71) { # [CPAN #73702] - $data =~ s/use warnings;/BEGIN {\${^WARNING_BITS} = "UUUUUUUUUUUU\\001"}/g; - } open DATA, '<', \$data; }
Friday 20th April 2012
Fedora Project
Raised Bug #814645 on systemctl reload httpd.service not working in Rawhide, and graceful restart not working properly (upstream bug) in the event of syntax errors in the configuration
Updated perl-Test-CPAN-Meta-JSON to 0.13 in F-17 and Rawhide:
- Further spelling fix
- Removed DSLIP info
Updated perl-Test-CPAN-Meta-YAML to 0.20 in F-17 and Rawhide:
- Further spelling fix
- Removed DSLIP info
Local Packages
Updated perl-Test-CPAN-Meta-JSON to 0.13 as per the Fedora version
Updated perl-Test-CPAN-Meta-YAML to 0.20 as per the Fedora version
Updated ud to do a hardened (PIE) build on F-16 and later and to use native systemd init on F-15 and later
Saturday 21st April 2012
Fedora Project
Rebuilt proftpd for the new libmemcached in Rawhide
Fixed a few FTBFS issues for perl modules reported on Peter Robinson's Blog:
perl-Crypt-CBC (needed buildreq perl(Digest::MD5))
perl-Log-Any (needed buildreq perl(Data::Dumper))
perl-MD5 (needed buildreq perl(Digest::MD5) >= 2.00)
Local Packages
Updated perl-Pod-Coverage-TrustPod to 0.100002:
Add docs about using =for instead of =begin/=end
Rebuilt proftpd for the new libmemcached in Rawhide
Sunday 22nd April 2012
Fedora Project
- Addressed more FTFBS issues from Peter Robinson's blog:
Fixed perl-XML-Filter-XInclude (build-require perl(XML::SAX) >= 0.05)
Fixed xxdiff (needed patching to build with gcc 4.7):
@@ -0,0 +1,10 @@ --- src/main.h +++ src/main.h @@ -35,6 +35,6 @@ * PUBLIC DECLARATIONS *============================================================================*/ -extern char** environ; +extern "C" char** environ; #endif
Raised Bug #814989 on perl-Module-Starter-Plugin-CGIApp regarding it failing to build (apparently broken by perl-Module-Starter 1.54)
Raised Bug #815073 on perl-Devel-FindRef regarding it segfaulting on 32-bit builds when running perl-Test-Refcount's test suite
Local Packages
Patched xxdiff to build with gcc 4.7 as per the Fedora version
Monday 23rd April 2012
Fedora Project
Rebuilt alsa-plugins in F-17 to fix upgrade path from F-16 (Bug #806218, requested by kwizart)
Updated mod_fcgid to 2.3.7 in F-15, F-16, F-17, Rawhide and EPEL-6:
Introduce FcgidWin32PreventOrphans directive on Windows to use OS Job Control Objects to terminate all running fcgi's when the worker process has been abruptly terminated (PR: 51078)
Periodically clean out the brigades that are pulling in the request body for handoff to the fcgid child (PR: 51749)
Resolve crash during graceful restarts (PR: 50309)
Solve latency/congestion of resolving effective user file access rights when no such info is desired, for config-related filename stats (PR: 51020)
- Fix regression in 2.3.6 that broke process controls when using vhost-specific configuration
- Account for first process in class in the spawn score
Updated perl-File-LibMagic in F-17 to include two patches from debian (CPAN RT#75457, CPAN RT#56479) that fix FTBFS issue with file ≥ 5.10 (Bug #813178)
Updated perl-Package-DeprecationManager in F-17 and Rawhide not to build-require perl(Test::Kwalitee) since upstream no longer ships the Kwalitee test (Bug #815367)
Updated perl-YAML in F-17 and Rawhide to add missing runtime dependencies on perl(Carp) and perl(Data::Dumper), and to not attempt to run the release tests since upstream no longer runs them even with AUTOMATED_TESTING set
Local Packages
Updated mod_fastcgi to include two new patches:
Remove useless FD_SETSIZE check (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=656425)
Another patch from Byte Internet to fix a documentation typo
Updated mod_fcgid to 2.3.7 as per the Fedora version
Updated perl-Package-DeprecationManager not to build-require perl(Test::Kwalitee) as per the Fedora version
Updated perl-Test-DistManifest to 1.012:
Now taking default MANIFEST.SKIP content directly from installed version of ExtUtils::Manifest, rather than inlining a copy
Updated python-pyasn1 to 0.1.3:
Include class name into asn1 value constraint violation exception
Fix to OctetString.prettyOut() method that loses leading zero when building hex string
Tuesday 24th April 2012
Fedora Project
Updated perl-Test-Version in F-17 and Rawhide to not build-require perl(Test::Kwalitee) or perl(Pod::Wordlist::hanekomu) when building for RHEL ≥ 7 as those packages (only needed for release tests) will be in EPEL rather than RHEL (Bug #815759)
Local Packages
Updated dovecot to 2.1.5:
IMAP: when neither the session nor the mailbox has modseq tracking enabled, return the mailbox as having NOMODSEQ in SELECT/EXAMINE reply (old versions in this situation always simply returned HIGHESTMODSEQ as 1, which could have broken some clients)
dict file: added optional fcntl/flock locking (default is dotlock)
fts-solr: doveadm fts rescan now resets indexes, which allows reindexing mails (this isn't a full rescan implementation like fts-lucene has)
doveadm expunge: added -d parameter to delete mailbox if it's empty after expunging
- IMAP: several fixes related to mailbox listing in some configs
director: a lot of fixes and performance improvements
- v2.1.4 didn't work without a mail home directory set
mbox: deleting a mailbox didn't delete its index files
pop3c: TOP command was sent incorrectly
trash plugin didn't work properly
LMTP: don't add a duplicate Return-Path: header when proxying
listescape: don't unescape namespace prefixes
I also included a patch from Fedora to close systemd extra sockets that are not configured
Updated perl-DBI to 1.619:
Fixed the connected method to stop showing the password in trace file
Fixed _install_method to set CvFILE correctly (CPAN RT#76296)
Fixed SqlEngine "list_tables" (CPAN RT#67223, CPAN RT#69260)
Optimized DBI method dispatch
Optimized driver access to DBI internal state
- Optimized driver access to handle data
Optimized fetchall_arrayref with hash slice (CPAN RT#76520)
Allow renaming columns in fetchall_arrayref hash slices (CPAN RT#76572)
Reserved snmp_ and tree_ for DBD::SNMP and DBD::TreeData
Wednesday 25th April 2012
Fedora Project
Updated perl-Net-SSLeay to 1.48 in F-17 and Rawhide:
Removed unneeded Debian_CPANTS.txt from MANIFEST
Fixed incorrect documentation about the best way to call CTX_set_options
Fixed problem that caused Undefined subroutine utf8::encode in t/local/33_x509_create_cert.t (on perl 5.6.2)
In examples and pod documentation, changed #!/usr/local/bin/perl to #!/usr/bin/perl
t/local/06_tcpecho.t now tries a number of ports to bind to until successful
Updated smbldap-tools to 0.9.8 in Rawhide:
Introduce autoconf (configure.in, Makefile.in and so on)
smbldap_tools.pm: use Encode instead of Unicode::MapUTF8
smbldap-populate, smbldap_tools.pm: use /nonexistent instead of /dev/null for guest's and computer's homeDirectory
smbldap_tools.pm: add read_password() to avoid stty -echo hacks
Use /usr/sbin/nscd -i instead of /etc/init.d/nscd
smbldap-passwd: do not use permuted -s option for the smbpasswd(1) command-line because the plain-old getopt(3) does not support it
Add shadowAccount parameter in smbldap.conf to control whether to treat shadowAccount objectclass and attributes or not
Rename smbldap.conf parameters:
hash_encrypt -> password_hash
crypt_salt_format -> password_crypt_salt_format
LDAPv3 Password Modify (RFC 3062) extended operation support when password_hash="exop" in smbldap.conf
Use sambaNextRid attribute in sambaDomain entry for the next RID, same as Samba 3.0+ (only when sambaAlgorithmicRidBase attribute does not exist in sambaDomain entry for backward compatibility)
smbldap-populate: use Net::LDAP::Entry for populating entries
smbldap-usermod: new option: --ou NODE (move user entry to the specified organizational unit)
Canonicalize user name to treat the memberUid as case-sensitive attribute (but the uid attribute is case-insensitive)
smbldap-useradd: new option: -p (allow to set password from STDIN without verification, e.g. using a pipe)
smbldap-useradd: new option: --non-unique (allow the creation of a user account with a duplicate [non-unique] UID)
smbldap-populate: create parent entry for $config{usersdn} (and others) if it does not exist (e.g. usersdn="ou=Users,ou=parent,${suffix}" in smbldap.conf)
smbldap-config: rename from configure.pl
smbldap-populate: create parent entry for $config{sambaUnixIdPooldn} if it does not exist
Use Digest::SHA instead of Digest::SHA1 if Perl version > 5.10.0
smbldap-usermod: -M, -O, -T option: remove associated attribute when the null value is specified
Note: Users that wish to keep using the legacy RID allocation algorithm of Samba 2.x, which was the default in previous versions of smbldap-tools, should run the smbldap-upgrade-0.9.6.pl script after upgrading to this version
Local Packages
Bumped and rebuilt curl to stay in sync with the Rawhide build
Updated perl-DBI to 1.620:
Modified column renaming in fetchall_arrayref, added in 1.619, to work on column index numbers, not names (an incompatible change)
Reworked the fetchall_arrayref documentation
Hash slices in fetchall_arrayref now detect invalid column names
Updated perl-Net-SSLeay to 1.48 as per the Fedora version
Updated perl-Params-Check to 0.34:
check() now works faster
Updated smbldap-tools to 0.9.8 as per the Fedora version
Thursday 26th April 2012
Fedora Project
Raised Bug #816544 on perl-AnyEvent regarding circular build dependencies, which led to me becoming co-maintainer of it in Rawhide and doing an update of it to 7.0 there:
Child watchers are broken in POE 1.352 (also many earlier versions) and there seems to be no way to work around it, as POE itself is inherently racy: document this regression and add a delay in t/68_poe_03_child.t for the time being
New module AnyEvent::IO, a front-end to either a pure-perl synchronous I/O implementation (AnyEvent::IO::Perl), or to the asynchronous I/O extension IO::AIO (AnyEvent::IO::IOAIO)
Load /etc/hosts only when DNS has no answer
stat /etc/hosts on every access and reload it if it changed
Load /etc/hosts via AnyEvent::IO - potentially asynchronous
Fix a buggy croak in the dh parameter reading in AnyEvent::TLS
AnyEvent::Log log_to_file and log_to_path now use AnyEvent::IO; as a side effect, they now use true appending as opposed to libc appending, and the file might not have been opened when the function returns
- The default logging level was not properly documented in a variety of places
Updated uts46data.pl for unicode 6.1.0
Made log messages generated by AnyEvent sub-modules not include the package name any longer, as it will be logged by default already
Upgrade to the trick used by common-sense 3.5 to work around extra warning torture/breakage under perl 5.15.x
Log messages by AnyEvent are now ucfirst, are usually full sentences and no longer include the package name
The storable read type would sometimes throw an exception instead of causing EBADMSG
Work around a bug in openssl 1.0.1, which enforces a minimum RSA keysize
Whilst doing this update I also prevented the creation of a spurious empty debuginfo sub-package (Bug #815947) and filtered unwanted dependencies on optional event loop back-ends (Bug #815496) and more
Built perl-Dancer (1.3095) in Rawhide now that mod_perl is installable again, fixing the circular build dependency issue (Bug #810865)
Became owner of perl-Data-Alias in Fedora and updated it to 1.16 in F-16, F-17 and Rawhide:
- Use supported API to put destructor calls on the save stack (the unsupported way used before was wrong for 64-bit systems on perl 5.13.1 and later)
Document the behaviour of "alias return" in more detail
Convert .cvsignore to .gitignore
Fixed FTBFS issue with perl-Jcode in Rawhide by adding perl(Data::Dumper) as a build requirement
Local Packages
Fixed FTBFS issue with perl-Jcode as per the Fedora version
Updated perl-version to 0.98, adding a patch to skip tests that fail with Perl < 5.8.8 (CPAN RT#76813)
Friday 27th April 2012
Fedora Project
Updated libssh2 in F-17 and Rawhide to fix a multi-arch conflict in libssh2-devel (Bug #816969)
Updated perl-Devel-GlobalDestruction to 0.05 in F-17 and Rawhide:
Add pure-perl implementation for situations where neither ${^GLOBAL_PHASE} nor XS are available
Local Packages
Updated java-1.6.0-sun to Java SE 6 Update 32 (see SunJava6OnFedora)
Updated java-1.7.0-oracle to Java SE 7 Update 4 (see OracleJava7OnFedora)
Updated libssh2 as per the Fedora version
Updated perl-Devel-GlobalDestruction to 0.05 as per the Fedora version
Updated perl-version to 0.99, adding patch from CPAN RT#76813 to work around a bug in older perl versions:
Missed a patch from bleadperl
Saturday 28th April 2012
Local Packages
Updated c-ares to 1.8.0:
Added ares_parse_naptr_reply()
Handle CNAME-only in ares_parse_aaaa_reply()
- Support multiple DNS servers on Android
Check for __ANDROID__ in addition to ANDROID macro
- Port numbers: convert them to network order
get_iphlpapi_dns_info: fix buffer overrun
configure: make CURL_CHECK_DEF ignore leading whitespace
Segfault triggered in ares_init_options()
ares_getnameinfo's memcpy did not copy enough bytes
ares_destroy: fix segfault in ares_destroy_options()
CHANGES: generate from script
configure: fix symbol hiding usability check
Updated perl-Module-Load-Conditional to 0.50 (speed enhancements)
Updated perl-Params-Check to 0.36 (more speed enhancements)
Sunday 29th April 2012
Fedora Project
Updated perl-Compress-Raw-Bzip2 to 2.052 in F-17 and Rawhide (no changes)
Updated perl-Compress-Raw-Lzma to 2.052 in F-17 and Rawhide (fix to allow building with C++)
Updated perl-Compress-Raw-Zlib to 2.052 in F-17 and Rawhide (fix build issue when Perl is built with C++)
Updated perl-IO-Compress to 2.052 in F-17 and Rawhide:
IO::Compress::Zip: force a ZIP64 archive when it contains ≥ 0xFFFF entries
Fix typo in POD (CPAN RT#76130)
Updated perl-IO-Compress-Lzma to 2.052 in F-17 and Rawhide (no changes)
Local Packages
Updated the IO::Compress stack to 2.052 as per the Fedora versions
Monday 30th April 2012
Local Packages
Updated perl-Moose to 2.0600:
New features:
Class::MOP::Class now has methods for introspecting and modifying the overloaded operators for a class
Enhancements:
The cookbook recipes have all been renamed; instead of numbered recipes (Basics::Recipe1), we now have descriptive names (Basics::Point_AttributesAndSubclassing), which makes it easier for us to add and remove recipes in the future, and makes it a little easier to converse about them, since the name gives us some clue of what they contain
Bug Fixes:
Re-declaring a class_type or role_type constraint that has already been declared now just returns the original type constraint, rather than replacing the original constraint and ergo losing any coercions that were on the original constraint (CPAN RT#73289)
Moose::Exporter now calls init_meta methods in the correct order, when multiple levels of 'also' parameters are specified
Moose::Exporter no longer generates init_meta methods in order to apply metaroles, since the metaclass itself isn't guaranteed to exist yet at that point; metaroles are now applied at the end of import, after all user-defined init_meta methods have been called (CPAN RT#51561)
Fixed a memory leak that occurred when creating an anonymous class; immutabilizing an anonymous class still leaks memory due to a bug in Eval::Closure, which should hopefully be fixed soon (CPAN RT#74650)
- Fix a segfault when adding a method to a class that was defined in a package that was deleted
- Avoid syntax errors on pre-5.14
Other:
The Test::DependentModules test now covers a much wider range of downstream dependents (all of them in fact, for some definition of "all"), which should allow us to track inadvertent backwards compatibility breakages much more effectively
- A few test tweaks to avoid spurious failures
Previous Month: March 2012
Next Month: May 2012