From Fedora Project Wiki
(→‎Current status: perl-rpm-build-perl done)
(→‎Current status: Some packaged fixed, other ones removed)
 
(41 intermediate revisions by 2 users not shown)
Line 45: Line 45:


* Targeted release: [[Releases/23 | Fedora 23 ]]  
* Targeted release: [[Releases/23 | Fedora 23 ]]  
* Last updated: 2015-06-17
* Last updated: 2016-03-01
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
Bugzilla states meaning as usual:
Bugzilla states meaning as usual:
Line 73: Line 73:


=== Items in progress ===
=== Items in progress ===
* Rebuilt Perl packages: 2678 of 2721 done (98.42 %)
* Rebuilt Perl packages: 2714 of 2721 done (99.74 %)


=== Items to be done ===
=== Items to be done ===
Line 79: Line 79:
* [https://jplesnik.fedorapeople.org/5.22/not-rebuild.svg The graph with failed/unsatisfied packages] was created before merging f23-perl to f23
* [https://jplesnik.fedorapeople.org/5.22/not-rebuild.svg The graph with failed/unsatisfied packages] was created before merging f23-perl to f23


* Failed rebuilds (26)
* Failed rebuilds (5)
** clearsilver - https://bugzilla.redhat.com/show_bug.cgi?id=1190760
** perl-B-Hooks-OP-Check-EntersubForCV - tests failed, removed from the distribution - https://bugzilla.redhat.com/show_bug.cgi?id=1231104
** dahdi-tools - https://bugzilla.redhat.com/show_bug.cgi?id=1190767
** ldns - failed in %install section https://bugzilla.redhat.com/show_bug.cgi?id=1230140
** monotone - https://bugzilla.redhat.com/show_bug.cgi?id=1185790
** perl-B-Hooks-OP-Check-EntersubForCV - tests failed - https://bugzilla.redhat.com/show_bug.cgi?id=1231104
** perl-CGI-Application-Structured-Tools - tests failed - https://bugzilla.redhat.com/show_bug.cgi?id=1195343
** perl-Classic-Perl - test failed - https://bugzilla.redhat.com/show_bug.cgi?id=1231122
** perl-Coro - build failed - https://bugzilla.redhat.com/show_bug.cgi?id=1231165
** perl-Data-Alias - build fails - https://bugzilla.redhat.com/show_bug.cgi?id=1231270
** perl-Data-Dump-Streamer - tests failed - https://bugzilla.redhat.com/show_bug.cgi?id=1231204
** perl-Data-Dump-Streamer - tests failed - https://bugzilla.redhat.com/show_bug.cgi?id=1231204
** perl-Debug-Client - tests failed - https://bugzilla.redhat.com/show_bug.cgi?id=1231216
** perl-Devel-FindRef - build failed, removed from the distribution - https://bugzilla.redhat.com/show_bug.cgi?id=1231234
** perl-Devel-Cover - tests failed - https://bugzilla.redhat.com/show_bug.cgi?id=1231275
** perl-POE-API-Peek - tests failed, removed from the distribution - https://bugzilla.redhat.com/show_bug.cgi?id=1231252
** perl-Devel-FindRef - build failed - https://bugzilla.redhat.com/show_bug.cgi?id=1231234
** perl-Test-AutoBuild - test failed on ARM, removed from the distribution - https://bugzilla.redhat.com/show_bug.cgi?id=1228015
** perl-Gtk3 - tests failed - https://bugzilla.redhat.com/show_bug.cgi?id=1199972
** perl-MongoDB - tests failed - https://bugzilla.redhat.com/show_bug.cgi?id=1134882
** perl-POE-API-Peek - tests failed - https://bugzilla.redhat.com/show_bug.cgi?id=1231252
** perl-Parse-ErrorString-Perl - tests failed - https://bugzilla.redhat.com/show_bug.cgi?id=1231254
** perl-Test-AutoBuild - test failed on arm - https://bugzilla.redhat.com/show_bug.cgi?id=1228015
** perl-Test-Vars - tests failed - https://bugzilla.redhat.com/show_bug.cgi?id=1230754
** perl-Text-Xslate - test failed - https://bugzilla.redhat.com/show_bug.cgi?id=1231271
** pgp-tools - test failed - https://bugzilla.redhat.com/show_bug.cgi?id=1199977
** po4a - https://bugzilla.redhat.com/show_bug.cgi?id=1230977
** polymake - build failed - https://bugzilla.redhat.com/show_bug.cgi?id=1231256
** slic3r - tests failed - https://bugzilla.redhat.com/show_bug.cgi?id=1231263
** uwsgi - missing BR perl-Coro - https://bugzilla.redhat.com/show_bug.cgi?id=1231260
** zoneminder - https://bugzilla.redhat.com/show_bug.cgi?id=1202754


* Unsatisfied build-time dependencies (17)
* Unsatisfied build-time dependencies (2)
** perl-Carp-REPL - missing perl-Data-Dump-Streamer and perl-Devel-REPL - https://bugzilla.redhat.com/show_bug.cgi?id=1231297
** perl-Devel-BeginLift - missing perl-B-Hooks-OP-Check-EntersubForCV, removed from the distribution - https://bugzilla.redhat.com/show_bug.cgi?id=1231880
** perl-CatalystX-REPL - missing perl-Carp-REPL - https://bugzilla.redhat.com/show_bug.cgi?id=1231854
** perl-Method-Signatures - missing perl-Data-Alias, removed from the distribution - https://bugzilla.redhat.com/show_bug.cgi?id=1231894
** perl-Devel-BeginLift - missing perl-B-Hooks-OP-Check-EntersubForCV - https://bugzilla.redhat.com/show_bug.cgi?id=1231880
** perl-Devel-REPL - missing perl-Data-Dump-Streamer - https://bugzilla.redhat.com/show_bug.cgi?id=1231285
** perl-Gtk3-WebKit - missing perl-Gtk3 - https://bugzilla.redhat.com/show_bug.cgi?id=1231897
** perl-Method-Signatures - missing perl-Data-Alias - https://bugzilla.redhat.com/show_bug.cgi?id=1231894
** perl-Padre - missing perl-Debug-Client and perl-Parse-ErrorString-Perl - https://bugzilla.redhat.com/show_bug.cgi?id=1231893
** perl-PDL - missing perl-Devel-REPL - https://bugzilla.redhat.com/show_bug.cgi?id=1231290
** perl-PDL-Graphics-PLplot - missing perl-PDL - https://bugzilla.redhat.com/show_bug.cgi?id=1231293
** perl-POE-Component-Server-Bayeux - missing perl-POE-Component-Server-HTTP - https://bugzilla.redhat.com/show_bug.cgi?id=1231905
** perl-POE-Component-Server-HTTP - missing perl-POE-API-Peek - https://bugzilla.redhat.com/show_bug.cgi?id=1231866
** perl-POE-Component-Server-XMLRPC - missing perl-POE-Component-Server-HTTP - https://bugzilla.redhat.com/show_bug.cgi?id=1231899
** perl-Test-Apocalypse - missing perl-Test-Vars - https://bugzilla.redhat.com/show_bug.cgi?id=1231903
** perl-Task-Catalyst - missing perl-CatalystX-REPL - https://bugzilla.redhat.com/show_bug.cgi?id=1231860
** perl-Test-Dependencies - missing perl-rpm-build-perl - https://bugzilla.redhat.com/show_bug.cgi?id=1231892
** perl-Task-Kensho-Testing - missing perl-Devel-Cover - https://bugzilla.redhat.com/show_bug.cgi?id=1231888
** publican - missing perl-Devel-Cover - https://bugzilla.redhat.com/show_bug.cgi?id=1231907


== Detailed Description ==
== Detailed Description ==
Line 169: Line 133:
== Documentation ==
== Documentation ==
* [http://search.cpan.org/dist/perl-5.22.0/pod/perldelta.pod 5.22.0 perldelta]
* [http://search.cpan.org/dist/perl-5.22.0/pod/perldelta.pod 5.22.0 perldelta]
<!--
* [https://metacpan.org/pod/release/RJBS/perl-5.22.0-RC2/pod/perldelta.pod 5.22.0-RC2 perldelta]
* [http://search.cpan.org/~shay/perl-5.21.11/pod/perldelta.pod 5.21.11 perldelta]
* [http://search.cpan.org/~shay/perl-5.21.11/pod/perl52110delta.pod 5.21.10 perldelta]
* [http://search.cpan.org/~shay/perl-5.21.11/pod/perl5219delta.pod 5.21.9 perldelta]
* [http://search.cpan.org/~shay/perl-5.21.11/pod/perl5218delta.pod 5.21.8 perldelta]
* [http://search.cpan.org/~shay/perl-5.21.11/pod/perl5217delta.pod 5.21.7 perldelta]
* [http://search.cpan.org/~shay/perl-5.21.11/pod/perl5216delta.pod 5.21.6 perldelta]
* [http://search.cpan.org/~shay/perl-5.21.11/pod/perl5215delta.pod 5.21.5 perldelta]
* [http://search.cpan.org/~shay/perl-5.21.11/pod/perl5214delta.pod 5.21.4 perldelta]
* [http://search.cpan.org/~shay/perl-5.21.11/pod/perl5213delta.pod 5.21.3 perldelta]
* [http://search.cpan.org/~shay/perl-5.21.11/pod/perl5212delta.pod 5.21.2 perldelta]
* [http://search.cpan.org/~shay/perl-5.21.11/pod/perl5211delta.pod 5.21.1 perldelta]
* [http://search.cpan.org/~shay/perl-5.21.11/pod/perl5210delta.pod 5.21.0 perldelta]
-->


== Release Notes ==
== Release Notes ==
* New features:
* New features:
  * TODO: after the releasing Perl 5.22
** Bitwise operators allows to perform bit-based operation on strings.
** Double-diamond ''<<>>'' operator allows to process script arguments as file names safely.
** Regular expression operators ''\b{}'' and ''\B{}'' allow to match character boundaries according to Unicode rules.
** Stricter regular syntax rules can be enabled with ''use re 'strict'''.
** Unicode 7.0 is supported.
** Variables and subroutines can now be aliased by assigning to a reference.
** ''fileno()'' function works on directory handles now.
** Special floating point values infinity and non-a-number are more robustly propagated in computations.
** Hexadecimal floating point literals are supported and ''printf "%a"'' can print them.
** Class and method name look-up for identifiers known and compile-time is faster now.
** Computing lenght of byte-strings is faster.
** Hash look-ups where the key is a constant are faster.
** New ''perlunicook'' manual with examples of handling Unicode in Perl.
** ''sync_locale()'' XS function allows to notify interpreter that the locale had changed.


* Changes:
* Changes:
  * TODO: after the releasing Perl 5.22
** Packing infinity and not-a-number values into a character results into a fatal error.
** ''&'' and ''\&'' prototype symbols accepts only anonymous subroutines.
** Deprecated ''encoding'' pragma is now limited to lexical scope.
** List slices return an empty list only if the original list was empty.
** ''\N{}'' with a sequence of multiple spaces results into a fatal error.
** Importing functions from ''UNIVERSAL'' module results into a fatal error.
** Splitting ''(?'' and ''(*'' tokens in regular expressions results into a fatal error.
** Omitting ''%'' and ''@'' symbols before hash and array identifiers is not allows anymore.
** ''$!'' error string out of ''use locale'' scope is in English now.
** ''$!'' error string is marked as UTF-8-encoded when appropriate.
** Using ''m?PATTERN?'' expression without leading ''m'' results into error now.
** Using ''defined()'' operator on an array or a hash results into fatal error now.
** Using a hash or an array as an reference results into fatal error now.
** Setting ''${^ENCODING}'' to an defined value is deprecated. Scripts should be written in UTF-8 now.
** Multiple use of ''/x'' regular expression modifier is deprecated.
** Literal left curly bracket should be escaped in regular expressions.
** ''B'' module has new classes reflecting changes in perl internals.
** Accessing ''CvPADLIST'' in on an ''XSUB'' is forbidden.
** Internal representation of ''SVt_NV'' type has changed.
** ''PADNAME'' and ''PADNAMELIST'' types are no longer aliases to ''SV'' and ''AV''.


* Removed features:
** ''CGI'' and ''Module::Build'' modules have been removed from core perl distribution.
** ''find2perl'', ''s2p'', and ''a2p' tools have been removed from core perl distribution.
** ''Perl_tmps_grow()'' XS function has been removed.
** ''SETsv'' and ''SETsvUN()'' macros have been removed.


[[Category:ChangeAcceptedF23]]
[[Category:ChangeAcceptedF23]]

Latest revision as of 08:47, 1 March 2016


Perl 5.22

Summary

A new perl 5.22 version brings a lot of changes done over a year of development. Perl 5.22 was released 6/1/2015. See 5.22.0 perldelta for more details about preparing release.

Owner

Current status

Completed items

  • Get dedicated build-root from rel-engs (f23-perl)
  • Define perl_bootstrap in perl-srpm-macros
  • Rebase perl to 5.22.0
  • Build new perl 5.22 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.20.*) from perl
  • Undefine perl_bootstrap
  • Rebuild packages having perl_bootstrap condition in spec file
  • Rebuild all updated packages
  • Merge dedicated build-root to rawhide and remove the dedicated one by rel-engs (2015-06-11)
  • Synchronize packages upgraded in f23 build root
  • Rebuild other packages: Use Fedora::Rebuild dependency solver

Items in progress

  • Rebuilt Perl packages: 2714 of 2721 done (99.74 %)

Items to be done

Detailed Description

New perl is released every year and updates containing mainly bug fixes follow during the year. The 5.22.0 version is stable release this year.

Benefit to Fedora

Up-to-date and latest perl release will be delivered to Fedora users.

Scope

Every Perl package will be rebuilt in a dedicated f23-perl build-root against perl 5.22.0 and then if no major problem emerges the packages will be merged back to f23 build-root.

  • Proposal owners:

New perl and all packages requiring perl or a Perl module will be rebuilt into f23-perl build-root.

  • Other developers:

Owners of packages that fail to rebuild, mainly perl-sig users, will be asked using Bugzilla to fix or remove their packages from the distribution.

  • Release engineering:

Release engineers will be asked for new f23-perl build-root inheriting from f23 build-root. After successful finishing the rebuild, they will be asked to merge f23-perl packages back to f23 build-root. It might be eligible to include this Change in the planned mass rebuild: mass rebuild ticket

  • Policies and guidelines:

No policies have to be modified to complete this change.

Upgrade/compatibility impact

Vast majority of functionality will be preserved. Only the packages that failed to build against perl 5.22 will be removed from the distribution. That will require to remove those packages from existing systems otherwise package manager will encounter unsatisfied dependencies.

How To Test

Try upgrading from Fedora 22 to 23. Try some Perl application to verify they work as expected. Try embedded perl in slapd or snmpd.

User Experience

There should not be any remarkable change in user experience.

Dependencies

There is more than 2500 packages depending on perl. Most of them are expected not to break. Finishing this change can be endangered only by critical changes in a toolchain.

Contingency Plan

If we find perl 5.22 is not suitable for Fedora 23, we will revert back to perl 5.20 and we drop the temporary build-root with already rebuilt packages.

  • Contingency deadline: branching Fedora 23 from Rawhide.
  • Blocks release? No.

Documentation

Release Notes

  • New features:
    • Bitwise operators allows to perform bit-based operation on strings.
    • Double-diamond <<>> operator allows to process script arguments as file names safely.
    • Regular expression operators \b{} and \B{} allow to match character boundaries according to Unicode rules.
    • Stricter regular syntax rules can be enabled with use re 'strict'.
    • Unicode 7.0 is supported.
    • Variables and subroutines can now be aliased by assigning to a reference.
    • fileno() function works on directory handles now.
    • Special floating point values infinity and non-a-number are more robustly propagated in computations.
    • Hexadecimal floating point literals are supported and printf "%a" can print them.
    • Class and method name look-up for identifiers known and compile-time is faster now.
    • Computing lenght of byte-strings is faster.
    • Hash look-ups where the key is a constant are faster.
    • New perlunicook manual with examples of handling Unicode in Perl.
    • sync_locale() XS function allows to notify interpreter that the locale had changed.
  • Changes:
    • Packing infinity and not-a-number values into a character results into a fatal error.
    • & and \& prototype symbols accepts only anonymous subroutines.
    • Deprecated encoding pragma is now limited to lexical scope.
    • List slices return an empty list only if the original list was empty.
    • \N{} with a sequence of multiple spaces results into a fatal error.
    • Importing functions from UNIVERSAL module results into a fatal error.
    • Splitting (? and (* tokens in regular expressions results into a fatal error.
    • Omitting % and @ symbols before hash and array identifiers is not allows anymore.
    • $! error string out of use locale scope is in English now.
    • $! error string is marked as UTF-8-encoded when appropriate.
    • Using m?PATTERN? expression without leading m results into error now.
    • Using defined() operator on an array or a hash results into fatal error now.
    • Using a hash or an array as an reference results into fatal error now.
    • Setting ${^ENCODING} to an defined value is deprecated. Scripts should be written in UTF-8 now.
    • Multiple use of /x regular expression modifier is deprecated.
    • Literal left curly bracket should be escaped in regular expressions.
    • B module has new classes reflecting changes in perl internals.
    • Accessing CvPADLIST in on an XSUB is forbidden.
    • Internal representation of SVt_NV type has changed.
    • PADNAME and PADNAMELIST types are no longer aliases to SV and AV.
  • Removed features:
    • CGI and Module::Build modules have been removed from core perl distribution.
    • find2perl, s2p, and a2p' tools have been removed from core perl distribution.
    • Perl_tmps_grow() XS function has been removed.
    • SETsv and SETsvUN() macros have been removed.