From Fedora Project Wiki
(→‎Current status: mapserver done)
 
(205 intermediate revisions by 5 users not shown)
Line 2: Line 2:


== Summary ==
== Summary ==
Perl 5.16 brings a lot of changes. Details about them could be found at [[http://search.cpan.org/dist/perl-5.16.0/pod/perldelta.pod perldelta]].
Perl 5.16 brings a lot of changes. Details about them can be found in [http://search.cpan.org/dist/perl-5.16.0/pod/perldelta.pod 5.16.0 perldelta document].


== Owner ==
== Owner ==
Line 13: Line 13:
== Current status ==
== Current status ==
* Targeted release: [[Releases/18 | Fedora 18 ]]  
* Targeted release: [[Releases/18 | Fedora 18 ]]  
* Last updated: 2012-06-14
* Last updated: 2012-11-06
* Percentage of completion: 50 %
* Percentage of completion: 100 %
* Development Status:


=== Completed items ===
=== Completed items ===
Line 25: Line 24:
* Rebuild packages needed for building source packages from git repository
* Rebuild packages needed for building source packages from git repository
* Remove old perl(:MODULE_COMPAT_5.14.*) from perl
* 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
* Rebuild other packages: Use Fedora::Rebuild dependency solver or ordered sets computed by Paul
* Rebuilt Perl packages: 1189 of 2091 done (56.86 %)
=== Items still to be done ===
* Undefine perl_bootstrap
* Undefine perl_bootstrap
* Rebuild packages having perl_bootstrap condition in spec file again
* Rebuild packages having perl_bootstrap condition in spec file again
* Merge dedicated build-root to rawhide and remove the dedicated one by rel-engs
* Synchronize packages upgraded in ''f18'' build root
* perl - Pod::Usage::pod2usage() executes perldoc (line 583), thus perl-Pod-Usage should require perl-Pod-Perldoc (see [https://koji.fedoraproject.org/koji/getfile?taskID=4153747&name=build.log perl-Verilog-Perl failure])
* Merge dedicated build-root to rawhide and remove the dedicated one [https://fedorahosted.org/rel-eng/ticket/5234 by rel-engs]
* perl-Class-InsideOut - tests fail
* Rebuilt Perl packages: 2115 of 2115 done (100.00 %)
* perl-File-Map - a test fails
* perl-GStreamer - a test fails
* perl-Gtk3 - tests fail
* perl-Test-AutoLoader - tests fail
* perl-threads-lite - tests fail
* perl-Unix-Statgrab - a test fails


== Detailed Description ==
== 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.
New perl is released every year and updates containing mainly bug fixes follow during the year. The release 5.16.0 should be stable release, but 5.16.1 should follow very soon fixing issues introduced in 5.16.0.


== Benefit to Fedora ==
== Benefit to Fedora ==
Line 50: Line 38:


== Scope ==
== Scope ==
Everything will be rebuilt in testing buildroot dist-f18-perltest. 'fedpkg build --target f18-perl'
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.
* update perl to 5.16.1
* update/fix/rebuild all perl modules
* rebuild all other dependent packages -> file bugs to maintainers
* in case no basic component is broken, then the packages could be tagged into f18 buildroot


== How To Test ==
== How to Test ==
Download packages from koji buildroot f18-perl or try building or using your packages with requirements related to perl.
Download packages from koji buildroot f18-perl or try building or using your packages with requirements related to perl.


Line 63: Line 47:


== Dependencies ==
== Dependencies ==
repoquery --whatrequires --alldeps 'perl(:MODULE_COMPAT_5.1?.?)' | sort -u
<code>repoquery --whatrequires --alldeps 'perl(:MODULE_COMPAT_5.1?.?)' | sort -u</code>


== Contingency Plan ==
== Contingency Plan ==
Revert changes in git master branch before 5.16 upgrade and drop f18-perl koji build-root.
Revert changes in ''perl'' git master branch before 5.16 upgrade commit and drop ''f18-perl'' koji build-root.


== Documentation ==
== Documentation ==
Line 107: Line 91:
* See [[Talk:Features/perl5.16]]
* See [[Talk:Features/perl5.16]]


[[Category:FeaturePageIncomplete]]
[[Category:FeatureAcceptedF18]]
<!-- When your feature page is completed and ready for review -->
<!-- When your feature page is completed and ready for review -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->

Latest revision as of 08:06, 6 November 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

Current status

  • Targeted release: Fedora 18
  • Last updated: 2012-11-06
  • Percentage of completion: 100 %

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
  • Rebuild other packages: Use Fedora::Rebuild dependency solver or ordered sets computed by Paul
  • 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
  • Rebuilt Perl packages: 2115 of 2115 done (100.00 %)

Detailed Description

New perl is released every year and updates containing mainly bug fixes follow during the year. The release 5.16.0 should be stable release, but 5.16.1 should follow very soon fixing 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 perl git master branch before 5.16 upgrade commit and drop f18-perl koji build-root.

Documentation

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

Comments and Discussion