(Created page with "<!-- Self Contained or System Wide Change Proposal? Use this guide to determine to which category your proposed change belongs to. Self Contained Changes are: * changes to is...") |
(→Current status: Some packaged fixed, other ones removed) |
||
(163 intermediate revisions by 3 users not shown) | |||
Line 23: | Line 23: | ||
== Summary == | == Summary == | ||
A new ''perl 5.22'' version brings a lot of changes done over a year of development. See [http://search.cpan.org/dist/perl-5.22.0/pod/perldelta.pod 5.22.0 perldelta] for more details. | 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 [http://search.cpan.org/dist/perl-5.22.0/pod/perldelta.pod 5.22.0 perldelta] for more details about preparing release. | ||
== Owner == | == Owner == | ||
Line 45: | Line 45: | ||
* Targeted release: [[Releases/23 | Fedora 23 ]] | * Targeted release: [[Releases/23 | Fedora 23 ]] | ||
* Last updated: | * 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 54: | Line 54: | ||
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development | CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development | ||
--> | --> | ||
* Tracker bug: | * Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1220680 #1220680] | ||
[https://bugzilla.redhat.com/show_bug.cgi?id= | |||
=== Completed items === | === Completed items === | ||
* Get dedicated [https://fedorahosted.org/rel-eng/ticket/6189 build-root from rel-engs (f23-perl)] | |||
* Define perl_bootstrap in perl-srpm-macros | |||
* | |||
* Rebase perl to 5.22.0 | * Rebase perl to 5.22.0 | ||
* Build new perl 5.22 keeping old COMPAT Provides | * Build new perl 5.22 keeping old COMPAT Provides | ||
* Rebuild packages needed for minimal build-root | * Rebuild packages needed for minimal build-root | ||
Line 76: | Line 67: | ||
* Undefine perl_bootstrap | * Undefine perl_bootstrap | ||
* Rebuild packages having perl_bootstrap condition in spec file | * Rebuild packages having perl_bootstrap condition in spec file | ||
* Merge dedicated build-root to rawhide and remove the dedicated one by rel-engs | * 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 | * 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 === | |||
* [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 (5) | |||
** perl-B-Hooks-OP-Check-EntersubForCV - tests failed, removed from the distribution - https://bugzilla.redhat.com/show_bug.cgi?id=1231104 | |||
** perl-Data-Dump-Streamer - tests failed - https://bugzilla.redhat.com/show_bug.cgi?id=1231204 | |||
** perl-Devel-FindRef - build failed, removed from the distribution - https://bugzilla.redhat.com/show_bug.cgi?id=1231234 | |||
** perl-POE-API-Peek - tests failed, removed from the distribution - https://bugzilla.redhat.com/show_bug.cgi?id=1231252 | |||
** perl-Test-AutoBuild - test failed on ARM, removed from the distribution - https://bugzilla.redhat.com/show_bug.cgi?id=1228015 | |||
* Unsatisfied build-time dependencies (2) | |||
** perl-Devel-BeginLift - missing perl-B-Hooks-OP-Check-EntersubForCV, removed from the distribution - https://bugzilla.redhat.com/show_bug.cgi?id=1231880 | |||
** perl-Method-Signatures - missing perl-Data-Alias, removed from the distribution - https://bugzilla.redhat.com/show_bug.cgi?id=1231894 | |||
== Detailed Description == | == Detailed Description == | ||
Line 98: | Line 108: | ||
* Release engineering: | * 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. | 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: [https://fedorahosted.org/rel-eng/ticket/6162#comment:2 mass rebuild ticket] | |||
* Policies and guidelines: | * Policies and guidelines: | ||
Line 112: | Line 123: | ||
== Dependencies == | == Dependencies == | ||
There is more than | 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 == | == Contingency Plan == | ||
Line 122: | 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] | ||
== Release Notes == | == Release Notes == | ||
* New features: | * 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: | * 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. | |||
[[Category: | [[Category:ChangeAcceptedF23]] | ||
<!-- When your change proposal page is completed and ready for review and announcement --> | <!-- When your change proposal page is completed and ready for review and announcement --> | ||
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> | <!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> |
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
- Name: Jitka Plesníková
- Email: <jplesnik@redhat.com>
- Name: Petr Písař
- Email: <ppisar@redhat.com>
- Release notes 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
- The graph with failed/unsatisfied packages was created before merging f23-perl to f23
- Failed rebuilds (5)
- perl-B-Hooks-OP-Check-EntersubForCV - tests failed, removed from the distribution - https://bugzilla.redhat.com/show_bug.cgi?id=1231104
- perl-Data-Dump-Streamer - tests failed - https://bugzilla.redhat.com/show_bug.cgi?id=1231204
- perl-Devel-FindRef - build failed, removed from the distribution - https://bugzilla.redhat.com/show_bug.cgi?id=1231234
- perl-POE-API-Peek - tests failed, removed from the distribution - https://bugzilla.redhat.com/show_bug.cgi?id=1231252
- perl-Test-AutoBuild - test failed on ARM, removed from the distribution - https://bugzilla.redhat.com/show_bug.cgi?id=1228015
- Unsatisfied build-time dependencies (2)
- perl-Devel-BeginLift - missing perl-B-Hooks-OP-Check-EntersubForCV, removed from the distribution - https://bugzilla.redhat.com/show_bug.cgi?id=1231880
- perl-Method-Signatures - missing perl-Data-Alias, removed from the distribution - https://bugzilla.redhat.com/show_bug.cgi?id=1231894
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.