Upgrading the `perl` component to a new version - git-for-windows/git GitHub Wiki
One of the many components included in Git for Windows' SDK is the perl
package. Part of its components are included in Git for Windows' installer and Portable Git versions, to allow for running Perl scripts. The two most prominent Perl scripts in Git for Windows are, of course, git svn
and git send-email
.
Upgrading to a new Perl version is unfortunately a bit more involved than only following the advice in Building new package versions. In addition to adjusting the patches applied via the PKGBUILD
script, the major problem with Perl is that its DLL embeds the Perl version in its file name.
Making sure that the DLL has the correct version in its file name
This is important, and it is a manual step required on top of the usual adjustments to the patches: In the PKGBUILD
file, the line -Dlibperl=msys-perl5_<N>.dll
needs to be adjusted.
Rebuilding dependencees
As a consequence of the version name being embedded in the DLL's file name, all native Perl modules are broken immediately after upgrading to a new major Perl version. As far as Git for Windows is concerned, the affected components are:
- subversion
- perl-Net-SSLeay
- perl-HTML-Parser
- perl-TermReadKey
- perl-Locale-Gettext
- perl-XML-Parser
- perl-YAML-Syck
Therefore, immediately after a successful upgrade of the perl
component to a new major Perl version (as of time of writing, the most recent such upgrade was to v5.32.0), these components have to be rebuilt, typically by forcing an incremented pkgrel
.