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