This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[ANNOUNCEMENT] Update: perl-5.14.2-3 and most perl dependencies


perl has now been updated from 5.10.1-5 to 5.14.2-3.
Most of the dependant official cywgin perl packages containing XS code
have also been updated.
All other packages containing or referencing perl code should just
work, except ming and postgresql.
See below for updating your self-compiled XS modules.

I've got practical and conceptual problems with perl 5.16,
so 5.14 it will be stable for the time being, at least until 5.16.1
will come out.
But it looks like only 5.18 will have inherent security problems with binary
names in 5.16 fixed. I consider using 5.16 too risky. (not only on windows).
No CVE's yet.

Changes
------------

I added a new optional subpackage perl_vendor which includes all formerly
shipped vendor_perl modules, which are mainly required to build and
test and report test results of other CPAN modules. So maintaining
hundreds of cygwin perl packages is not required.

I also added a new subpackage perl_debuginfo which includes stripped
debug symbols as in fedora and cygports. They might come handy if you
want to debug into perl or perl XS modules.

The archname and some minor internals changed.
mymalloc is gone.
threads are still unstable.
cc is gcc-4.
There is a new Cygwin::sync_winenv function.
The old 5.10 and 5.8 non-arch module paths are kept in @INC, so there
is less need to update.

rebase errors still happen, but are much less common than with 5.10.
Please continue to use perlrebase on problems with self-compiled XS modules.
There's special code in the EUMM (ExtUtils::MakeMaker) installer to
re-use previous
image base addresses on cpan updated dll's. For Module::Build not.
With a full cpan re-install I usually get only 1-2 rebase problems,
which is 100 times
better than with 5.10. TIP: Try to close bigger dll hogs such the MS
Internet Explorer or
SQL Server when doing cpan updates. BTW: Also with python and ruby.
Support for Achim Gratz new rebase -O flag will be added later.

Updated packages:
----------------------------
perl
perl_vendor (new)
perl_debuginfo  (new)
perl_manpages
perl-Win32-GUI
perl-libwin32
perl-Locale-gettext
perl-DBD-mysql
perl-DBI (with an outstanding security problem not yet fixed upstream)
perl-Tk

Broken = Outstanding, will be updated ASAP:
perl-ming           (Volker is on holidays)
postgresql-perl   (Reini was busy with other stuff)


Update recommendations from 5.10:
--------------------------------------------------

Since 5.14 is not installed in parallel to 5.10, all your old 5.10 binary XS
modules will need to be reinstalled for 5.14.

BEFORE INSTALLATION of this 5.14
# get the list of your installed 5.10 modules
$ perl -MExtUtils::Installed \
   -e'print join("\n", new ExtUtils::Installed->modules)' > module.list

AFTER INSTALLATION of 5.14
# install all previous modules for 5.10 and older
$ cpan `cat module.list`


Parallel installation with 5.10:
-----------------------------------------
There are only 2 clashes for a parallel perl-5.10 and perl-5.14 installation,
/usr/bin/a2p.exe and /usr/bin/perl.exe.

You can simply untar the old perl-5.10.1-5 package into -C / and
reinstall perl-5.14.

To be on the safe side use perl5.14.2 or perl5.10.1, using
/usr/bin/perl as shebang works fine.

Call the other perl scripts in /usr/bin or your own in /usr/local/bin
with the perl "-S" flag, e.g. "perl5.10.1 -S cpan" to get the 5.10 version.

$ cd <your setup download location>
$ tar xfj release/perl/perl-5.10.1-5.tar.bz2 -C /
or
$ tar xfj release/perl/perl-5.14.2-3.tar.bz2 -C /

There is a new postinstall script, but it only initializes ~/.cpan and ask's
for your metabase-profile to be created to be able to upload CPAN test reports
automatically. CPAN authors are very happy about those automatic installation
reports, which help in cygwin support.

New CPAN::Reporter initialization for perl_vendor (optional)
-------------------------------------------------------------------------------------
 $ metabase-profile
  Enter full name: John Doe
  Enter email address: jdoe at example.com
  Enter password/secret: zqxjkh
  Writing profile to 'metabase_id.json'

  $ mkdir ~/.cpanreporter
  $ cp metabase_id.json ~/.cpanreporter/
  $ chmod 400 ~/.cpanreporter/metabase_id.json
  $ vi ~/.cpanreporter/config.ini

  email_from = John Doe <jdoe@example.com>
  transport = Metabase uri https://metabase.cpantesters.org/api/v1/
id_file ~/.cpanreporter/metabase_id.json


Known Problems:
-------------------------
threads became more unstable than with 5.10 due to some perl internal changes,
which are not yet understood, resp. only fixed lately.

Automatic rebase got much better in EUMM, and will get even better
with rebase-4.3.0
which is not yet added to the new EUMM logic. Module::Build is not yet
supported for
automatic rebasing.

libtool has an artificial problem to link a static library together
with shared libs.
perl comes with Win32CORE.a as static extension. Extensions which use
libtool must patch
the linker line to add
/usr/lib/perl5/5.14/i686-cygwin-threads-64int/auto/Win32CORE/Win32CORE.a
seperately. (Sorry Yaakov)
-- 
Reini Urban
http://cpanel.net/ http://www.perl-compiler.org/

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]