Reini Urban writes:
> It's vastly easier to keep perl_vendor than to split it up.

I've been looking at the test package for the upcoming 5.18.2 release
announced in http://cygwin.com/ml/cygwin-announce/2014-04/msg00038.html
and I'd like to contest that assertion again.

TL;DR: I still propose to keep each Perl distribution as a separate
package (yes, I'm willing to ITP them) and move perl_vendor to an
umbrella package that simply bundles those individual packages plus
perhaps a README.


Long version:

First off, there is a flurry of changes in the content of perl_vendor
that you didn't list in the announcement.  This is exactly my gripe with
opaque bundling: anyone who's been relying on perl_vendor to deliver a
certain set of Perl distributions will suddenly find that some have been
removed and others have been added and the only way to find that out is
to look into the source archive.  This also means you're going to have a
package conflict if any of those distributions are packaged (either
locally or in cygports) or some of your intended changes become hidden
behind things in site_perl (which may or may not be the latest version
or missing some of the patches you applied to vendor_perl).

Secondly, some of the distributions you've removed from perl_vendor are
actually run-time requirements of the modules that are in (plus a few
new ones that weren't in the old perl_vendor).  Packaging errors on the
Perl side are a possibility (although usually these are missing
dependencies, not additional ones), but barring that there's 25 more
distributions that need to be delivered with perl_vendor:

--8<---------------cut here---------------start------------->8---
            perl-Sub-Install
          perl-Data-OptList
          perl-Encode-Locale
          perl-HTTP-Date
          perl-IO-HTML
          perl-LWP-MediaTypes
        perl-HTTP-Message
        perl-Sub-Exporter
      perl-Data-Dump
      perl-File-Listing
      perl-HTTP-Cookies
      perl-HTTP-Daemon
      perl-HTTP-Negotiate
      perl-Net-HTTP
      perl-WWW-RobotRules
    perl-File-Which
    perl-MRO-Compat
  perl-Capture-Tiny
  perl-Compress-Raw-Zlib
  perl-Data-Section
  perl-Devel-Autoflush
  perl-Digest-HMAC
  perl-Mozilla-CA
  perl-Text-Template
  perl-YAML-Syck
--8<---------------cut here---------------end--------------->8---

Then there's 19 more distributions needed for building (those do not
need to be in perl_vendor), bringing the total for a successful build
from scratch to 125 distributions:

--8<---------------cut here---------------start------------->8---
              perl-Sub-Uplevel
            perl-Inline-Files
            perl-Params-Util
            perl-Parse-RecDescent
            perl-Sub-Install
            perl-Test-Warn
            perl-common-sense
          perl-Data-OptList
          perl-Encode-Locale
          perl-HTTP-Date
          perl-IO-HTML
          perl-Inline
          perl-LWP-MediaTypes
          perl-Types-Serialiser
          perl-URI
        perl-Capture-Tiny
        perl-Class-XSAccessor
        perl-Data-UUID
        perl-HTML-Tagset
        perl-HTTP-Message
        perl-IO-Tty
        perl-IPC-Run3
        perl-JSON-XS
        perl-Number-Compare
        perl-Probe-Perl
        perl-Sub-Exporter
        perl-Text-Glob
        perl-Try-Tiny
      perl-CPAN-DistnameInfo
      perl-Data-Dump
      perl-Data-GUID
      perl-File-Find-Object
      perl-File-Find-Rule
      perl-File-Listing
      perl-HTML-Parser
      perl-HTTP-Cookies
      perl-HTTP-Daemon
      perl-HTTP-Negotiate
      perl-IO-Prompt-Tiny
      perl-IPC-Run
      perl-JSON
      perl-Net-HTTP
      perl-Test-Fatal
      perl-Test-Script
      perl-WWW-RobotRules
    perl-Archive-Zip
    perl-Compress-Bzip2
    perl-Data-Compare
    perl-Devel-Symdump
    perl-File-Find-Object-Rule
    perl-File-Which
    perl-IO-CaptureOutput
    perl-IO-Socket-IP
    perl-MRO-Compat
    perl-Metabase-Fact
    perl-Module-Signature
    perl-Net-SSLeay
    perl-Test-FailWarnings
    perl-Test-Tester
    perl-Test-Without-Module
    perl-XML-NamespaceSupport
    perl-XML-SAX-Base
    perl-YAML-LibYAML
    perl-libwww-perl
  perl-CPAN-Checksums
  perl-CPAN-Testers-Report
  perl-Compress-Raw-Bzip2
  perl-Compress-Raw-Zlib
  perl-Config-Tiny
  perl-Data-Section
  perl-Devel-Autoflush
  perl-Digest-HMAC
  perl-Expect
  perl-File-Copy-Recursive
  perl-File-HomeDir
  perl-File-Remove
  perl-File-chmod
  perl-File-pushd
  perl-IO-Socket-SSL
  perl-Metabase-Client-Simple
  perl-Mozilla-CA
  perl-PAR-Dist
  perl-Pod-Coverage
  perl-Socket6
  perl-TermReadKey
  perl-Test-NoWarnings
  perl-Test-Reporter
  perl-Test-Requires
  perl-Test-TrailingSpace
  perl-Text-Template
  perl-XML-SAX
  perl-YAML
  perl-YAML-Syck
perl-B-Generate
perl-CPAN
perl-CPAN-Inject
perl-CPAN-Reporter
perl-Config-Perl-V
perl-Data-Alias
perl-Digest-SHA
perl-ExtUtils-CBuilder
perl-ExtUtils-ParseXS
perl-File-Temp
perl-IO-Compress
perl-IO-Socket-INET6
perl-IO-String
perl-LWP-Protocol-https
perl-Module-Build
perl-Module-ScanDeps
perl-Net-DNS
perl-Net-IP
perl-Net-Telnet
perl-PadWalker
perl-Pod-Escapes
perl-Pod-Simple
perl-Proc-ProcessTable
perl-Software-License
perl-Tee
perl-Term-ReadLine-Gnu
perl-Term-ReadLine-Perl
perl-Test-Pod
perl-Test-Pod-Coverage
perl-Test-Reporter-Transport-Metabase
perl-XML-LibXML
perl-XML-Parser
--8<---------------cut here---------------end--------------->8---

If you build and install these in this order, then you can bootstrap
perl_vendor without using CPAN or cpanminus in about an hour or two.
The dependency walker that produces the above output also produces the
necessary cygport files, which only seldomly need some manual edits
(mainly for setting test options).  At the moment I just build from the
command line, but putting this into a Makefile is certainly possible.


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Factory and User Sound Singles for Waldorf Blofeld:
http://Synth.Stromeko.net/Downloads.html#WaldorfSounds

Reply via email to