(→Items still to be done: perl-Verilog-Perl done) |
|||
Line 36: | Line 36: | ||
* libprelude – compilation fails (undefined gets) | * libprelude – compilation fails (undefined gets) | ||
* mod_perl – the package is completely broken in F18 (even with perl 5.14). The code <code>perl -Ilib -I/tmp/Data-Flow-1.02/blib/{arch,lib} -e 'use Data::Dumper; use ModPerl::CScan; $c = ModPerl::CScan->new(filename => q{xs/ModPerl/Global/ModPerl__Global.h}); $c->get(q{parsed_fdecls}); print Dumper($c), qq{\n};'</code> should return description of static function definitions too to get them to Perl binding generator. See lib/Apache2/ParseSource.pm:get_functions(). The Data-Flow is not yet packaged and missing license. | * mod_perl – the package is completely broken in F18 (even with perl 5.14). The code <code>perl -Ilib -I/tmp/Data-Flow-1.02/blib/{arch,lib} -e 'use Data::Dumper; use ModPerl::CScan; $c = ModPerl::CScan->new(filename => q{xs/ModPerl/Global/ModPerl__Global.h}); $c->get(q{parsed_fdecls}); print Dumper($c), qq{\n};'</code> should return description of static function definitions too to get them to Perl binding generator. See lib/Apache2/ParseSource.pm:get_functions(). The Data-Flow is not yet packaged and missing license. | ||
* perl-Apache2-SOAP – requires mod_perl. mod_perl needs to be fixed to build at all. | * perl-Apache2-SOAP – requires mod_perl. mod_perl needs to be fixed to build at all. | ||
* perl-Class-InsideOut – tests fail, incompatibilities with Scalar-List-Utils-1.25, [https://rt.cpan.org/Public/Bug/Display.html?id=77860 known to upstream]. | * perl-Class-InsideOut – tests fail, incompatibilities with Scalar-List-Utils-1.25, [https://rt.cpan.org/Public/Bug/Display.html?id=77860 known to upstream]. | ||
Line 45: | Line 43: | ||
* perl-PDL – failed due to missing projects.h. It is not provided by latest proj-devel. New version exists. | * perl-PDL – failed due to missing projects.h. It is not provided by latest proj-devel. New version exists. | ||
* perl-RT-Authen-ExternalAuth – needs rt3 that needs failing mod_perl | * perl-RT-Authen-ExternalAuth – needs rt3 that needs failing mod_perl | ||
* perl-Unix-Statgrab – a test fails | * perl-Unix-Statgrab – a test fails | ||
* rt3 – needs failing mod_perl | * rt3 – needs failing mod_perl |
Revision as of 12:41, 27 June 2012
Perl 5.16
Summary
Perl 5.16 brings a lot of changes. Details about them can be found in 5.16.0 perldelta document.
Owner
- Name: Petr Písař
- Email: <ppisar@redhat.com>
- Name: Jitka Plesníková
- Email: <jplesnik@redhat.com>
Current status
- Targeted release: Fedora 18
- Last updated: 2012-06-27
- Percentage of completion: 80 %
Completed items
- Get dedicated build-root from rel-engs (f18-perl)
- Define perl_bootstrap in perl-srpm-macros
- Build new perl 5.16 keeping old COMPAT Provides
- Rebuild packages needed for minimal build-root
- Rebuild dual-lived packages (otherwise yum recommends --skip-broken and fails)
- Rebuild packages needed for building source packages from git repository
- Remove old perl(:MODULE_COMPAT_5.14.*) from perl
Items in progress
- Rebuild other packages: Use Fedora::Rebuild dependency solver or ordered sets computed by Paul
- Rebuilt Perl packages: 1889 of 2096 done (90.12 %)
Items still to be done
- Undefine perl_bootstrap
- Rebuild packages having perl_bootstrap condition in spec file again
- Synchronize packages upgraded in f18 build root
- Merge dedicated build-root to rawhide and remove the dedicated one by rel-engs
- libprelude – compilation fails (undefined gets)
- mod_perl – the package is completely broken in F18 (even with perl 5.14). The code
perl -Ilib -I/tmp/Data-Flow-1.02/blib/{arch,lib} -e 'use Data::Dumper; use ModPerl::CScan; $c = ModPerl::CScan->new(filename => q{xs/ModPerl/Global/ModPerl__Global.h}); $c->get(q{parsed_fdecls}); print Dumper($c), qq{\n};'
should return description of static function definitions too to get them to Perl binding generator. See lib/Apache2/ParseSource.pm:get_functions(). The Data-Flow is not yet packaged and missing license. - perl-Apache2-SOAP – requires mod_perl. mod_perl needs to be fixed to build at all.
- perl-Class-InsideOut – tests fail, incompatibilities with Scalar-List-Utils-1.25, known to upstream.
- perl-Devel-Profiler – does not build because of missing dprofpp executable which is part of Devel::DProf which has been removed from perl-5.16.0 and is waiting for review
- perl-eperl – does not compile with perl 5.16.0 (symbol PL_defoutgv redefined, symbol defoutgv undefined)
- perl-Hardware-Vhdl-Parser – a test fails, not compatible with perl-Parse-RecDescent-1.967006 and newer, pass with perl-Parse-RecDescent-1.967003, upstream notified
- perl-PDL – failed due to missing projects.h. It is not provided by latest proj-devel. New version exists.
- perl-RT-Authen-ExternalAuth – needs rt3 that needs failing mod_perl
- perl-Unix-Statgrab – a test fails
- rt3 – needs failing mod_perl
- zoneminder – does not compile because of incompatibility with v4l2
Detailed Description
Perl releases will be now every year and updates during year will be containing mainly bug fixes. The release 5.16.0 should be stable release, but 5.16.1 should contain bugfixes for issues introduced in 5.16.0.
Benefit to Fedora
Fedora as bleeding edge distribution should be shipping new release of perl as one of the first distributions.
Scope
Every Perl package will be rebuilt in testing build root f18-perl against perl 5.16.0 and then if no major problem emerges the packages will be merged back to f18 build root.
How To Test
Download packages from koji buildroot f18-perl or try building or using your packages with requirements related to perl.
User Experience
Dependencies
repoquery --whatrequires --alldeps 'perl(:MODULE_COMPAT_5.1?.?)' | sort -u
Contingency Plan
Revert changes in git master branch before 5.16 upgrade commit and drop f18-perl koji build-root.
Documentation
- changes between 5.14.0 and 5.16.x http://search.cpan.org/dist/perl-5.16.0/pod/perldelta.pod
- packaging guidelines http://fedoraproject.org/wiki/Packaging:Perl
- how to update modules and dual-lived modules: https://fedoraproject.org/wiki/Perl/updates
- new macros from rpm with different filter http://rpm.org/wiki/PackagerDocs/DependencyGenerator
- external generator of dependencies (outside of rpm) perl.{prov,req}
Release Notes
New Features
- Unicode 6.1
- More consistent eval controlled with unicode_eval and evalbytes feature
- 2- and 3-argument substr called in left-value context is evaluted even after changing original string
- New T_*REF_REFCOUNT_FIXED XS typemap fixing reference counter decremetion
- New is_utf8_char_buf XS-callable function replaces broken is_utf8_char function
- $$ variable is writable
- Improved debugger: tracing mode can be restricted to certain level, breakpoints can be disabled temporarily, breakpoints can be set by file name
- sort subroutines can be autoloaded
- $[ variable is provided by arybase module
- mmaped PerlIO layer is now a separate module PerlIO::mmap
Deprecated Features
- Accessing Unicode database files directly is deprecated now; use Unicode::UCD instead
- Version::Requirements is deprecated in favor of CPAN::Meta::Requirements
Incompatible Changes
- Special blocks (e.g. BEGIN) are called in void context
- Unoverloaded stringification of regular expression does not return the expression literal
- T_DATAUNIT and T_CALLBACK XS typemaps removed
- User defined case-changing has been removed in favor of Unicode::Casing
- XSUB C functions are static now and they are not exported from their object files
- Read-only references cannot be weaken
- $$, $<, $>, $(, and $) do not cache their value
- Devel::DProf, Shell have been removed from Perl core
- perl4 libraries removed: abbrev.pl, assert.pl, bigfloat.pl, bigint.pl, bigrat.pl, cacheout.pl, complete.pl, ctime.pl, dotsh.pl, exceptions.pl, fastcwd.pl, flush.pl, getcwd.pl, getopt.pl, getopts.pl, hostname.pl, importenv.pl, lib/find{,depth}.pl, look.pl, newgetopt.pl, open2.pl, open3.pl, pwd.pl, hellwords.pl, stat.pl, tainted.pl, termcap.pl, timelocal.pl