r1903 - in packages/libmodule-install-perl/branches/upstream/current: . inc/Module inc/Module/Install lib/Module lib/Module/Install lib/Module/Install/Admin

Krzysztof Krzyzaniak eloy at costa.debian.org
Wed Jan 11 14:23:49 UTC 2006


Author: eloy
Date: 2006-01-11 14:23:22 +0000 (Wed, 11 Jan 2006)
New Revision: 1903

Modified:
   packages/libmodule-install-perl/branches/upstream/current/Changes
   packages/libmodule-install-perl/branches/upstream/current/META.yml
   packages/libmodule-install-perl/branches/upstream/current/Makefile.PL
   packages/libmodule-install-perl/branches/upstream/current/README
   packages/libmodule-install-perl/branches/upstream/current/SIGNATURE
   packages/libmodule-install-perl/branches/upstream/current/inc/Module/AutoInstall.pm
   packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install.pm
   packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Base.pm
   packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Can.pm
   packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Makefile.pm
   packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Metadata.pm
   packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/WriteAll.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/AutoInstall.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install.pod
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Find.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Metadata.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/WriteAll.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Base.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Bundle.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Can.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Compiler.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Makefile.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Metadata.pm
   packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/WriteAll.pm
Log:
Load /tmp/tmp.dHPiHe/libmodule-install-perl-0.54 into
packages/libmodule-install-perl/branches/upstream/current.


Modified: packages/libmodule-install-perl/branches/upstream/current/Changes
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/Changes	2006-01-11 14:20:47 UTC (rev 1902)
+++ packages/libmodule-install-perl/branches/upstream/current/Changes	2006-01-11 14:23:22 UTC (rev 1903)
@@ -1,3 +1,39 @@
+[Changes for 0.54 - 2006-01-11]
+
+* Fix can_run() on Cygwin for real.
+  Contributed by: Mark Grimes
+
+[Changes for 0.53 - 2006-01-11]
+
+* Fix can_run() on Cygwin for paths beginning with /cygdrive/.
+  Reported by: Mark Staggs
+
+* If YAML::Syck is present on the system, use it instead of YAML.pm
+  to write out META.yml.
+
+[Changes for 0.52 - 2006-01-03]
+
+* Module::AutoInstall - disable "sudo" prompting for CPANPLUS 0.050
+  and CPAN.pm 1.80+ which already has "sudo" support.
+  Reported by: Andreas Koenig
+
+[Changes for 0.51 - 2005-12-31]
+
+* An additional 100+ lines of documentations in the Module::Install POD file.
+
+* all_from() with no args now attempts to decude the "from" file
+  from the "name" property.
+
+* On Cygwin, sometimes AUTOLOAD is called with a gensym'ed package
+  that does not define _top.  Try to accomodate for this.
+
+* Do not ever attempt "sudo" without interactive consent from the user;
+  make the _prompt() in Module::AutoInstall default to 'n' if we are
+  not running in an interactive terminal.
+
+* Add lib_paths and lib_links commands to Module::Install::Compiler for
+  setting LIBS flags.
+
 [Changes for 0.50 - 2005-12-26]
 
 * Fixed the bug where cpan signing was set forcibly to true instead

Modified: packages/libmodule-install-perl/branches/upstream/current/META.yml
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/META.yml	2006-01-11 14:20:47 UTC (rev 1902)
+++ packages/libmodule-install-perl/branches/upstream/current/META.yml	2006-01-11 14:23:22 UTC (rev 1903)
@@ -1,115 +1,116 @@
-abstract: 'Standalone, extensible Perl module installer'
-author: Audrey Tang <autrijus at autrijus.org>
-distribution_type: module
-generated_by: Module::Install version 0.50
-license: perl
-name: Module-Install
-no_index:
-  directory:
+
+no_index: 
+  directory: 
     - example
     - inc
     - t
-provides:
-  Module::AutoInstall:
-    file: lib/Module/AutoInstall.pm
-    version: 1.00
-  Module::Install:
-    file: lib/Module/Install.pm
-    version: 0.50
-  Module::Install::Admin:
-    file: lib/Module/Install/Admin.pm
-    version: 0.50
-  Module::Install::Admin::Bundle:
+generated_by: Module::Install version 0.54
+distribution_type: module
+version: 0.54
+name: Module-Install
+author: Audrey Tang <autrijus at autrijus.org>
+license: gpl
+provides: 
+  Module::Install::Fetch: 
+    version: 0.01
+    file: lib/Module/Install/Fetch.pm
+  Module::Install::Admin::Metadata: 
+    version: 0.03
+    file: lib/Module/Install/Admin/Metadata.pm
+  Module::Install::Bundle: 
+    version: 0.04
+    file: lib/Module/Install/Bundle.pm
+  Module::Install::Admin::Bundle: 
+    version: 0.04
     file: lib/Module/Install/Admin/Bundle.pm
-    version: 0.04
-  Module::Install::Admin::Find:
-    file: lib/Module/Install/Admin/Find.pm
+  Module::Install::MakeMaker: 
     version: 0.01
-  Module::Install::Admin::Include:
-    file: lib/Module/Install/Admin/Include.pm
-    version: 0.02
-  Module::Install::Admin::Makefile:
-    file: lib/Module/Install/Admin/Makefile.pm
+    file: lib/Module/Install/MakeMaker.pm
+  Module::Install::Makefile::Name: 
     version: 0.01
-  Module::Install::Admin::Manifest:
-    file: lib/Module/Install/Admin/Manifest.pm
+    file: lib/Module/Install/Makefile/Name.pm
+  Module::AutoInstall: 
+    version: 1.01
+    file: lib/Module/AutoInstall.pm
+  Module::Install::Inline: 
     version: 0.01
-  Module::Install::Admin::Metadata:
-    file: lib/Module/Install/Admin/Metadata.pm
-    version: 0.02
-  Module::Install::Admin::ScanDeps:
+    file: lib/Module/Install/Inline.pm
+  Module::Install::PAR: 
+    file: lib/Module/Install/PAR.pm
+  Module::Install::Include: 
+    file: lib/Module/Install/Include.pm
+  Module::Install::Admin::ScanDeps: 
     file: lib/Module/Install/Admin/ScanDeps.pm
-  Module::Install::Admin::WriteAll:
-    file: lib/Module/Install/Admin/WriteAll.pm
+  Module::Install::Build: 
     version: 0.01
-  Module::Install::AutoInstall:
-    file: lib/Module/Install/AutoInstall.pm
-  Module::Install::Base:
-    file: lib/Module/Install/Base.pm
-  Module::Install::Base::FakeAdmin:
-    file: lib/Module/Install/Base.pm
-  Module::Install::Build:
     file: lib/Module/Install/Build.pm
+  Module::Install::Can: 
     version: 0.01
-  Module::Install::Bundle:
-    file: lib/Module/Install/Bundle.pm
-    version: 0.04
-  Module::Install::Can:
     file: lib/Module/Install/Can.pm
+  Module::Install::AutoInstall: 
+    file: lib/Module/Install/AutoInstall.pm
+  Module::Install::Admin::Manifest: 
     version: 0.01
-  Module::Install::Compiler:
-    file: lib/Module/Install/Compiler.pm
+    file: lib/Module/Install/Admin/Manifest.pm
+  Module::Install::Admin: 
+    version: 0.54
+    file: lib/Module/Install/Admin.pm
+  Module::Install::Base::FakeAdmin: 
+    file: lib/Module/Install/Base.pm
+  Module::Install::Makefile: 
     version: 0.01
-  Module::Install::Fetch:
-    file: lib/Module/Install/Fetch.pm
+    file: lib/Module/Install/Makefile.pm
+  Module::Install::Metadata: 
+    version: 0.06
+    file: lib/Module/Install/Metadata.pm
+  inc::Module::Install: 
+    file: lib/inc/Module/Install.pm
+  Module::Install::Admin::WriteAll: 
     version: 0.01
-  Module::Install::Include:
-    file: lib/Module/Install/Include.pm
-  Module::Install::Inline:
-    file: lib/Module/Install/Inline.pm
+    file: lib/Module/Install/Admin/WriteAll.pm
+  Module::Install::Run: 
     version: 0.01
-  Module::Install::MakeMaker:
-    file: lib/Module/Install/MakeMaker.pm
+    file: lib/Module/Install/Run.pm
+  Module::Install::Base: 
+    file: lib/Module/Install/Base.pm
+  Module::Install::Admin::Include: 
+    version: 0.02
+    file: lib/Module/Install/Admin/Include.pm
+  Module::Install::Makefile::Version: 
     version: 0.01
-  Module::Install::Makefile:
-    file: lib/Module/Install/Makefile.pm
-    version: 0.01
-  Module::Install::Makefile::Name:
-    file: lib/Module/Install/Makefile/Name.pm
-    version: 0.01
-  Module::Install::Makefile::Version:
     file: lib/Module/Install/Makefile/Version.pm
+  Module::Install::Admin::Find: 
     version: 0.01
-  Module::Install::Metadata:
-    file: lib/Module/Install/Metadata.pm
-    version: 0.05
-  Module::Install::PAR:
-    file: lib/Module/Install/PAR.pm
-  Module::Install::Run:
-    file: lib/Module/Install/Run.pm
-    version: 0.01
-  Module::Install::Scripts:
+    file: lib/Module/Install/Admin/Find.pm
+  Module::Install::Scripts: 
+    version: 0.02
     file: lib/Module/Install/Scripts.pm
+  Module::Install: 
+    version: 0.54
+    file: lib/Module/Install.pm
+  Module::Install::Win32: 
     version: 0.02
-  Module::Install::Share:
-    file: lib/Module/Install/Share.pm
-    version: 0.01
-  Module::Install::Win32:
     file: lib/Module/Install/Win32.pm
-    version: 0.02
-  Module::Install::WriteAll:
+  Module::Install::WriteAll: 
     file: lib/Module/Install/WriteAll.pm
-  inc::Module::Install:
-    file: lib/inc/Module/Install.pm
-recommends:
-  CPANPLUS: 0.04
+  Module::Install::Admin::Makefile: 
+    version: 0.01
+    file: lib/Module/Install/Admin/Makefile.pm
+  Module::Install::Compiler: 
+    version: 0.01
+    file: lib/Module/Install/Compiler.pm
+  Module::Install::Share: 
+    version: 0.01
+    file: lib/Module/Install/Share.pm
+requires: 
+  perl: 5.004
+  YAML: 0.35
+abstract: Standalone, extensible Perl module installer
+recommends: 
+  PAR::Dist: 0.03
+  Test::More: 0
+  Test::Harness: 2.03
+  Module::ScanDeps: 0.28
   Module::Build: 0
   Module::CoreList: 0
-  Module::ScanDeps: 0.28
-  PAR::Dist: 0.03
-  Test::Harness: 2.03
-  Test::More: 0
-requires:
-  YAML: 0.35
-  perl: 5.004
-version: 0.50
+  CPANPLUS: 0.04

Modified: packages/libmodule-install-perl/branches/upstream/current/Makefile.PL
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/Makefile.PL	2006-01-11 14:20:47 UTC (rev 1902)
+++ packages/libmodule-install-perl/branches/upstream/current/Makefile.PL	2006-01-11 14:23:22 UTC (rev 1903)
@@ -9,8 +9,10 @@
 name        'Module-Install';
 author      'Audrey Tang <autrijus at autrijus.org>';
 all_from    'lib/Module/Install.pm';
-requires     'YAML' => 0.35;
 
+# If we have YAML::Syck here, don't bother installing YAML.
+requires 'YAML' => 0.35 unless can_use('YAML::Syck' => 0.15);
+
 feature 'Include packages with full dependencies',
     recommends
     'Test::Harness'     => 2.03,    # merely a dependency of M::CoreList
@@ -41,5 +43,8 @@
 
 auto_provides;
 
+# Still list it as a mandatory dependency for now
+requires 'YAML' => 0.35;
+
 sign;
 WriteAll;

Modified: packages/libmodule-install-perl/branches/upstream/current/README
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/README	2006-01-11 14:20:47 UTC (rev 1902)
+++ packages/libmodule-install-perl/branches/upstream/current/README	2006-01-11 14:23:22 UTC (rev 1903)
@@ -39,7 +39,7 @@
 
 * Copyright
 
-Copyright 2002, 2003, 2004, 2005 by
+Copyright 2002, 2003, 2004, 2005, 2006 by
     Audrey Tang <autrijus at autrijus.org>
     Brian Ingerson <ingy at cpan.org>
     Adam Kennedy <cpan at ali.as>

Modified: packages/libmodule-install-perl/branches/upstream/current/SIGNATURE
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/SIGNATURE	2006-01-11 14:20:47 UTC (rev 1902)
+++ packages/libmodule-install-perl/branches/upstream/current/SIGNATURE	2006-01-11 14:23:22 UTC (rev 1903)
@@ -1,12 +1,12 @@
 This file contains message digests of all files listed in MANIFEST,
-signed via the Module::Signature module, version 0.41.
+signed via the Module::Signature module, version 0.51.
 
 To verify the content in this distribution, first make sure you have
 Module::Signature installed, then type:
 
     % cpansign -v
 
-It would check each file's integrity, as well as the signature's
+It will check each file's integrity, as well as the signature's
 validity.  If "==> Signature verified OK! <==" is not displayed,
 the distribution may already have been compromised, and you should
 not run its Makefile.PL or Build.PL.
@@ -14,56 +14,56 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-SHA1 739b871ff482c56af74a261fd5e0b6db99afb7cc Changes
+SHA1 6b9d56ef93c2445007cda1203bf2eea8865d9ed9 Changes
 SHA1 5a719bc1917e640ab583da941586e210da83a18f MANIFEST
 SHA1 d8504618f3e772137facea61a59906d77fffc412 MANIFEST.SKIP
-SHA1 9deb8214cd681e2fcbf75c4232eec316acbad376 META.yml
-SHA1 146b6205f9f6e80928c6363c3d99edfa7aaf778d Makefile.PL
-SHA1 fdbef62afa79c657e86178a9dac5b8c1b5223fc4 README
-SHA1 7ce8ff26d5421842cc0c205ca9be1bf48056223d inc/Module/AutoInstall.pm
-SHA1 8635ef6993523dc91e858650be45ec8b8e2247f6 inc/Module/Install.pm
+SHA1 dbb2b2aeea98726403dfbcb4f7aa6a55ed85f997 META.yml
+SHA1 99073b02ba9322ebc63e7665497ff66878d2b7a2 Makefile.PL
+SHA1 d131a0c2e81eeed474b809095878a9aa819badcb README
+SHA1 b0cf6e5a18272351015e6b2bf770a4d3d7b81fe7 inc/Module/AutoInstall.pm
+SHA1 adfed789a44d66f10e610092c8a45d3a308204be inc/Module/Install.pm
 SHA1 efb445738be8e47593d412d57de91bc6a5a87474 inc/Module/Install/AutoInstall.pm
-SHA1 fc87ce8f843e80f84df2b7b2fe254002353816e3 inc/Module/Install/Base.pm
-SHA1 2dba703acae347917bd7fea7ac10487fbda467d8 inc/Module/Install/Can.pm
+SHA1 b9f88c65a2a1a2ff53632d2e71ac60e0d52d66f6 inc/Module/Install/Base.pm
+SHA1 f4154feb374971ecdbbc7ab44a55cc9f00057c30 inc/Module/Install/Can.pm
 SHA1 a5389bc01a2c81898654796e0206588229f74b16 inc/Module/Install/Fetch.pm
 SHA1 5f9007e74cb6df03acd616cc2dd350966257162c inc/Module/Install/Include.pm
-SHA1 5d88fa771b77486b13d28661080fbefab81e1768 inc/Module/Install/Makefile.pm
-SHA1 ad8741f364b7c724498ac7870816a138d7b70637 inc/Module/Install/Metadata.pm
+SHA1 47a67dc7ff84095409751f3bcf0b9e0ec215f4d6 inc/Module/Install/Makefile.pm
+SHA1 b65cc85073e12b75e94ca9193d454020cd727e65 inc/Module/Install/Metadata.pm
 SHA1 6dea053579084d1a638ddb3c22e86146d1588b28 inc/Module/Install/Win32.pm
-SHA1 5fa5a44d068cc7f7f4e2f4186192f6aef21735c1 inc/Module/Install/WriteAll.pm
-SHA1 5b7e69ece28acd582c4429e57a6c00ae9cc1bea0 lib/Module/AutoInstall.pm
+SHA1 afb581b95e7e63ce7618733c2e7284f7e5da9ee7 inc/Module/Install/WriteAll.pm
+SHA1 91f5522687fb8caa3ad2eed15f31a49a7168307b lib/Module/AutoInstall.pm
 SHA1 a5cf37c2cc23f233b1be225e7a54160f01c2e339 lib/Module/Install-Philosophy.pod
-SHA1 15463a08c2fdf48557b7b3940c9634c9f78b121c lib/Module/Install.pm
-SHA1 788df3fa37af58bdd0e73dd3ca67d2744401c8e8 lib/Module/Install.pod
-SHA1 8b4193e96f5cf41e41c85e98408758300dc6fcc5 lib/Module/Install/Admin.pm
+SHA1 b309facf7c63b68ffea4ef93096e954ebdca090e lib/Module/Install.pm
+SHA1 d5a8ce89cf2c7380cd6ab87166b0b584e92558a5 lib/Module/Install.pod
+SHA1 cc7f17ece615d8d3d199492c13723f0a8c83edb8 lib/Module/Install/Admin.pm
 SHA1 57b0f1152c5490287f85b52f4f0d5d849332f960 lib/Module/Install/Admin/Bundle.pm
-SHA1 4c56a004332e0b6988c9598b80cf9a5c334da471 lib/Module/Install/Admin/Find.pm
+SHA1 67e24c386c1a964e845ee97540a5ad1f4b38c495 lib/Module/Install/Admin/Find.pm
 SHA1 6ee0a0a2d969287219b69eeb20a8b314b90839cb lib/Module/Install/Admin/Include.pm
 SHA1 99f1a2f84648a827a8a75204ceda00371a72987b lib/Module/Install/Admin/Makefile.pm
 SHA1 dd389fb52d2dedab2a96cc0b9f9e3185080a2b47 lib/Module/Install/Admin/Manifest.pm
-SHA1 f3564bf33f23810ec357a5e13e6d9fe261538587 lib/Module/Install/Admin/Metadata.pm
+SHA1 664bb55e14aa22d27f4f2c50b53d11f7e8cf83ed lib/Module/Install/Admin/Metadata.pm
 SHA1 5ba95cbf306f7fb0c96e96f7b6f0f0eb4c27f77f lib/Module/Install/Admin/ScanDeps.pm
-SHA1 14246009fe66492d939604013adb732a2744732b lib/Module/Install/Admin/WriteAll.pm
+SHA1 ccec6b2cdd2a7d37e36ab167718d1142bfd05a7a lib/Module/Install/Admin/WriteAll.pm
 SHA1 5c17235758de252ef7b6f6da246277d1e6321d10 lib/Module/Install/AutoInstall.pm
-SHA1 a097c0c3f23de102e98517bb0f440fac0fecedd9 lib/Module/Install/Base.pm
+SHA1 12ef08d31f6afe4acf46bd627fee0a268b98be7d lib/Module/Install/Base.pm
 SHA1 02c15969f75db48679d55dfd651946164bbcaca6 lib/Module/Install/Build.pm
-SHA1 78c07394ca84ce3563091da33bbe4057d133bcb9 lib/Module/Install/Bundle.pm
-SHA1 06fb8fe19ebbbc06d3a30f9c21d3ac1710f0897b lib/Module/Install/Can.pm
-SHA1 b59ba3eec58d09457268199ee5dc6ed8b8fb4b7d lib/Module/Install/Compiler.pm
+SHA1 a2c881c0171c651f545ddfd6eb9070dfa7e92bcc lib/Module/Install/Bundle.pm
+SHA1 f7c69f70b118013635c9c2b1d3cd8020baab1703 lib/Module/Install/Can.pm
+SHA1 70e8e0ac8d288daa443eca42149ea8cb1d53f735 lib/Module/Install/Compiler.pm
 SHA1 20ec4c053545daa827987ea0d0153f991e55dbaf lib/Module/Install/Fetch.pm
 SHA1 d51f1c421c7c31098272eaff796ac297ac584cbb lib/Module/Install/Include.pm
 SHA1 d15dab5a96deeb578458e7231eaadb5440b895e0 lib/Module/Install/Inline.pm
 SHA1 324da41791c871b41892422104c77c19506a158d lib/Module/Install/MakeMaker.pm
-SHA1 3c422dfc3f8c563506b35edc36dfb923ee5bc849 lib/Module/Install/Makefile.pm
+SHA1 95fcdb103fae03000b6d531c4e8db0e3481296a0 lib/Module/Install/Makefile.pm
 SHA1 a572b91b863aa6b2e087d0deb9234ce4f21224d0 lib/Module/Install/Makefile/Name.pm
 SHA1 f2f05144695375d8ef4e96109284428a08a49127 lib/Module/Install/Makefile/Version.pm
-SHA1 e4de0f14535d0ce823e7042874de6f46ba3edddf lib/Module/Install/Metadata.pm
+SHA1 03eb4e5c14d6c86758d38f7f236b09f88fd5194e lib/Module/Install/Metadata.pm
 SHA1 256a646db9716ea7f15c474116dfabf10a3fbea7 lib/Module/Install/PAR.pm
 SHA1 581dab4432dbbe4296062fcda79f7a54907804ab lib/Module/Install/Run.pm
 SHA1 18a6d6ce26048d32fccef1e2ffbe67d485c12c29 lib/Module/Install/Scripts.pm
 SHA1 cbdf015561c516db721d996dc722c82db44ed1db lib/Module/Install/Share.pm
 SHA1 2f2c6535776715797270e8d318a766d472ed410f lib/Module/Install/Win32.pm
-SHA1 a381986c71098f7e07980b47d3bef1cd2e515c67 lib/Module/Install/WriteAll.pm
+SHA1 949c10fd4a37bb98be37f215b5d1eda2806dafd5 lib/Module/Install/WriteAll.pm
 SHA1 1a054e15bfbd68c6ccb8f30bc4d2badcac543335 lib/inc/Module/Install.pm
 SHA1 cc165528d2e584ffcfaf9bfc8cbc3a814c48d53f t/1-basic.t
 SHA1 7867cff04a8429890fa473fcd8ea51a66d0f6772 t/2-pod.t
@@ -71,7 +71,7 @@
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.2 (FreeBSD)
 
-iD8DBQFDr+lutLPdNzw1AaARAn2FAJ42Uyrnn8qLhvAIexpihO8IScYEuQCguyHf
-VaFk713c/nA0nKpEFxl+F1o=
-=ijEk
+iD8DBQFDxHbotLPdNzw1AaARAh1aAJ49zzcmsNjTWNlsyCC86yzuKDRflwCbB85c
+7XilO/YrRHpQv2TeuMDBegs=
+=S+vb
 -----END PGP SIGNATURE-----

Modified: packages/libmodule-install-perl/branches/upstream/current/inc/Module/AutoInstall.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/inc/Module/AutoInstall.pm	2006-01-11 14:20:47 UTC (rev 1902)
+++ packages/libmodule-install-perl/branches/upstream/current/inc/Module/AutoInstall.pm	2006-01-11 14:23:22 UTC (rev 1903)
@@ -1,12 +1,12 @@
 #line 1 "inc/Module/AutoInstall.pm - lib/Module/AutoInstall.pm"
 package Module::AutoInstall;
-$Module::AutoInstall::VERSION = '1.00';
+$Module::AutoInstall::VERSION = '1.01';
 
 use strict;
 use Cwd                 ();
 use ExtUtils::MakeMaker ();
 
-#line 221
+#line 216
 
 # special map on pre-defined feature sets
 my %FeatureMap = (
@@ -327,12 +327,8 @@
     my $cp   = CPANPLUS::Backend->new;
     my $conf = $cp->configure_object;
 
-    return
-      unless _can_write(
-          $conf->can('conf')
-        ? $conf->get_conf('base')      # 0.05x+
-        : $conf->_get_build('base')    # 0.04x
-      );
+    return unless $conf->can('conf') # 0.05x+ with "sudo" support
+               or _can_write($conf->_get_build('base'));  # 0.04x
 
     # if we're root, set UNINST=1 to avoid trouble unless user asked for it.
     my $makeflags = $conf->get_conf('makeflags') || '';
@@ -406,9 +402,11 @@
     CPAN::Config->load;
     require Config;
 
-    return
-      unless _can_write( MM->catfile( $CPAN::Config->{cpan_home}, 'sources' ) )
-      and _can_write( $Config::Config{sitelib} );
+    if (CPAN->VERSION < 1.80) {
+        # no "sudo" support, probe for writableness
+        return unless _can_write( MM->catfile( $CPAN::Config->{cpan_home}, 'sources' ) )
+                  and _can_write( $Config::Config{sitelib} );
+    }
 
     # if we're root, set UNINST=1 to avoid trouble unless user asked for it.
     my $makeflags = $CPAN::Config->{make_install_arg} || '';
@@ -553,7 +551,8 @@
     if (
         eval '$>' and lc(`sudo -V`) =~ /version/ and _prompt(
             qq(
-==> Should we try to re-execute the autoinstall process with 'sudo'?), 'y'
+==> Should we try to re-execute the autoinstall process with 'sudo'?),
+            ((-t STDIN) ? 'y' : 'n')
         ) =~ /^[Yy]/
       )
     {
@@ -714,4 +713,4 @@
 
 __END__
 
-#line 950
+#line 943

Modified: packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Base.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Base.pm	2006-01-11 14:20:47 UTC (rev 1902)
+++ packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Base.pm	2006-01-11 14:23:22 UTC (rev 1903)
@@ -22,14 +22,17 @@
 
 sub AUTOLOAD {
     my $self = shift;
-    goto &{$self->_top->autoload};
+
+    local $@;
+    my $autoload = eval { $self->_top->autoload } or return;
+    goto &$autoload;
 }
 
-#line 59
+#line 62
 
 sub _top { $_[0]->{_top} }
 
-#line 70
+#line 73
 
 sub admin {
     my $self = shift;
@@ -57,4 +60,4 @@
 
 __END__
 
-#line 117
+#line 120

Modified: packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Can.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Can.pm	2006-01-11 14:20:47 UTC (rev 1902)
+++ packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Can.pm	2006-01-11 14:23:22 UTC (rev 1903)
@@ -52,14 +52,15 @@
 # Fix Cygwin bug on maybe_command();
 if ($^O eq 'cygwin') {
     require ExtUtils::MM_Cygwin;
+    require ExtUtils::MM_Win32;
     if (!defined(&ExtUtils::MM_Cygwin::maybe_command)) {
         *ExtUtils::MM_Cygwin::maybe_command = sub {
             my ($self, $file) = @_;
-            if ($file =~ m{^/cygdrive/}i) {
+            if ($file =~ m{^/cygdrive/}i and ExtUtils::MM_Win32->can('maybe_command')) {
                 ExtUtils::MM_Win32->maybe_command($file);
             }
             else {
-                $self->SUPER::maybe_command($file);
+                ExtUtils::MM_Unix->maybe_command($file);
             }
         }
     }

Modified: packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Makefile.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Makefile.pm	2006-01-11 14:20:47 UTC (rev 1902)
+++ packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Makefile.pm	2006-01-11 14:23:22 UTC (rev 1903)
@@ -65,14 +65,14 @@
     $args->{test} = {TESTS => $self->tests} if $self->tests;
 
     if ($] >= 5.005) {
-	$args->{ABSTRACT} = $self->abstract;
-	$args->{AUTHOR} = $self->author;
+        $args->{ABSTRACT} = $self->abstract;
+        $args->{AUTHOR} = $self->author;
     }
     if ( eval($ExtUtils::MakeMaker::VERSION) >= 6.10 ) {
         $args->{NO_META} = 1;
     }
     if ( eval($ExtUtils::MakeMaker::VERSION) > 6.17 ) {
-	$args->{SIGN} = 1 if $self->sign;
+        $args->{SIGN} = 1 if $self->sign;
     }
     delete $args->{SIGN} unless $self->is_admin;
 

Modified: packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Metadata.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Metadata.pm	2006-01-11 14:20:47 UTC (rev 1902)
+++ packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/Metadata.pm	2006-01-11 14:23:22 UTC (rev 1903)
@@ -1,24 +1,27 @@
 #line 1 "inc/Module/Install/Metadata.pm - lib/Module/Install/Metadata.pm"
 package Module::Install::Metadata;
+
+use strict 'vars';
 use Module::Install::Base;
- at ISA = qw(Module::Install::Base);
 
-$VERSION = '0.05';
+use vars qw($VERSION @ISA);
+BEGIN {
+    $VERSION = '0.06';
+    @ISA     = 'Module::Install::Base';
+}
 
-use strict 'vars';
-use vars qw($VERSION);
+my @scalar_keys = qw{
+    name module_name abstract author version license
+    distribution_type perl_version tests
+};
 
-my @scalar_keys = qw<
-    name module_name version abstract author license
-    distribution_type perl_version tests
->;
-my @tuple_keys = qw<
+my @tuple_keys = qw{
     build_requires requires recommends bundles
->;
+};
 
-sub Meta { shift }
+sub Meta            { shift        }
 sub Meta_ScalarKeys { @scalar_keys }
-sub Meta_TupleKeys { @tuple_keys }
+sub Meta_TupleKeys  { @tuple_keys  }
 
 foreach my $key (@scalar_keys) {
     *$key = sub {
@@ -29,13 +32,6 @@
     };
 }
 
-sub sign {
-    my $self = shift;
-    return $self->{values}{sign} if defined wantarray and !@_;
-    $self->{values}{sign} = ( @_ ? $_[0] : 1 );
-    return $self;
-}
-
 foreach my $key (@tuple_keys) {
     *$key = sub {
         my $self = shift;
@@ -59,9 +55,24 @@
     };
 }
 
+sub sign {
+    my $self = shift;
+    return $self->{'values'}{'sign'} if defined wantarray and !@_;
+    $self->{'values'}{'sign'} = ( @_ ? $_[0] : 1 );
+    return $self;
+}
+
 sub all_from {
     my ( $self, $file ) = @_;
 
+    unless ( defined($file) ) {
+        my $name = $self->name
+            or die "all_from called with no args without setting name() first";
+        $file = join('/', 'lib', split(/-/, $name)) . '.pm';
+        $file =~ s{.*/}{} unless -e $file;
+        die "all_from: cannot find $file from $name" unless -e $file;
+    }
+
     $self->version_from($file)      unless $self->version;
     $self->perl_version_from($file) unless $self->perl_version;
 
@@ -192,8 +203,11 @@
     my ( $self, $file ) = @_;
     require ExtUtils::MM_Unix;
     $self->abstract(
-        bless( { DISTNAME => $self->name }, 'ExtUtils::MM_Unix' )
-          ->parse_abstract($file) );
+        bless(
+            { DISTNAME => $self->name },
+            'ExtUtils::MM_Unix'
+        )->parse_abstract($file)
+     );
 }
 
 sub _slurp {

Modified: packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/WriteAll.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/WriteAll.pm	2006-01-11 14:20:47 UTC (rev 1902)
+++ packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install/WriteAll.pm	2006-01-11 14:23:22 UTC (rev 1903)
@@ -5,9 +5,9 @@
 sub WriteAll {
     my $self = shift;
     my %args = (
-        meta => 1,
-        sign => 0,
-        inline => 0,
+        meta        => 1,
+        sign        => 0,
+        inline      => 0,
         check_nmake => 1,
         @_
     );
@@ -17,10 +17,10 @@
     $self->admin->WriteAll(%args) if $self->is_admin;
 
     if ($0 =~ /Build.PL$/i) {
-	$self->Build->write;
+        $self->Build->write;
     }
     else {
-	$self->check_nmake if $args{check_nmake};
+        $self->check_nmake if $args{check_nmake};
         $self->makemaker_args( PL_FILES => {} )
             unless $self->makemaker_args->{'PL_FILES'};
 

Modified: packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install.pm	2006-01-11 14:20:47 UTC (rev 1902)
+++ packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install.pm	2006-01-11 14:23:22 UTC (rev 1903)
@@ -1,10 +1,17 @@
 #line 1 "/home/autrijus/work/modinstall/trunk/inc/Module/Install.pm - lib/Module/Install.pm"
 package Module::Install;
+
 use 5.004;
+use strict 'vars';
+use vars qw{$VERSION};
+BEGIN {
+    # Don't forget to update Module::Install::Admin too!
+    $VERSION = '0.54';
+}
 
-$VERSION = '0.50'; # Don't forget to update Module::Install::Admin too!
-
-die << "." unless $INC{join('/', inc => split(/::/, __PACKAGE__)).'.pm'};
+# inc::Module::Install must be loaded first
+unless ( $INC{join('/', inc => split(/::/, __PACKAGE__)).'.pm'} ) {
+    die <<"END_DIE";
 Please invoke ${\__PACKAGE__} with:
 
     use inc::${\__PACKAGE__};
@@ -13,28 +20,28 @@
 
     use ${\__PACKAGE__};
 
-.
+END_DIE
+}
 
-use strict 'vars';
-use Cwd qw(cwd abs_path);
+use Cwd        ();
 use FindBin;
 use File::Find ();
 use File::Path ();
 
- at inc::Module::Install::ISA = 'Module::Install';
 *inc::Module::Install::VERSION = *VERSION;
+ at inc::Module::Install::ISA     = 'Module::Install';
 
 sub autoload {
     my $self   = shift;
     my $caller = $self->_caller;
+    my $cwd    = Cwd::cwd();
+    my $sym    = "$caller\::AUTOLOAD";
 
-    my $cwd = cwd();
-    my $sym = "$caller\::AUTOLOAD";
-
     $sym->{$cwd} = sub {
-        my $pwd = cwd();
-        if (my $code = $sym->{$pwd}) {
-            goto &$code unless $cwd eq $pwd; # delegate back to parent dirs
+        my $pwd = Cwd::cwd();
+        if ( my $code = $sym->{$pwd} ) {
+            # delegate back to parent dirs
+            goto &$code unless $cwd eq $pwd;
         }
         $$sym =~ /([^:]+)$/ or die "Cannot autoload $caller - $sym";
         unshift @_, ($self, $1);
@@ -44,9 +51,9 @@
 
 sub import {
     my $class = shift;
-    my $self = $class->new(@_);
+    my $self  = $class->new(@_);
 
-    if (not -f $self->{file}) {
+    unless ( -f $self->{file} ) {
         require "$self->{path}/$self->{dispatch}.pm";
         File::Path::mkpath("$self->{prefix}/$self->{author}");
         $self->{admin} = 
@@ -67,19 +74,20 @@
 sub preload {
     my ($self) = @_;
 
-    $self->load_extensions(
-        "$self->{prefix}/$self->{path}", $self
-    ) unless $self->{extensions};
+        unless ( $self->{extentions} ) {
+                $self->load_extensions(
+                        "$self->{prefix}/$self->{path}", $self
+                        );
+        }
 
     my @exts = @{$self->{extensions}};
-
-    unless (@exts) {
+    unless ( @exts ) {
         my $admin = $self->{admin};
         @exts = $admin->load_all_extensions;
     }
 
     my %seen_method;
-    foreach my $obj (@exts) {
+    foreach my $obj ( @exts ) {
         while (my ($method, $glob) = each %{ref($obj) . '::'}) {
             next unless defined *{$glob}{CODE};
             next if $method =~ /^_/;
@@ -101,8 +109,10 @@
     my ($class, %args) = @_;
 
     # ignore the prefix on extension modules built from top level.
-    my $base_path = abs_path($FindBin::Bin);
-    delete $args{prefix} unless abs_path(cwd()) eq $base_path;
+    my $base_path = Cwd::abs_path($FindBin::Bin);
+    unless ( Cwd::abs_path(Cwd::cwd()) eq $base_path ) {
+        delete $args{prefix};
+    }
 
     return $args{_self} if $args{_self};
 
@@ -145,10 +155,10 @@
         return $obj if $obj->can($method);
     }
 
-    my $admin = $self->{admin} or die << "END";
+    my $admin = $self->{admin} or die <<"END_DIE";
 The '$method' method does not exist in the '$self->{prefix}' path!
 Please remove the '$self->{prefix}' directory and run $0 again to load it.
-END
+END_DIE
 
     my $obj = $admin->load($method, 1);
     push @{$self->{extensions}}, $obj;
@@ -169,7 +179,10 @@
 
         local $@;
         my $new = eval { require $file; $pkg->can('new') };
-        if (!$new) { warn $@ if $@; next; }
+        unless ( $new ) {
+            warn $@ if $@;
+            next;
+        }
         $self->{pathnames}{$pkg} = delete $INC{$file};
         push @{$self->{extensions}}, &{$new}($pkg, _top => $top_obj );
     }
@@ -179,23 +192,23 @@
 
 sub find_extensions {
     my ($self, $path) = @_;
+
     my @found;
-
-    File::Find::find(sub {
+    File::Find::find( sub {
         my $file = $File::Find::name;
         return unless $file =~ m!^\Q$path\E/(.+)\.pm\Z!is;
         return if $1 eq $self->{dispatch};
 
         $file = "$self->{path}/$1.pm";
         my $pkg = "$self->{name}::$1"; $pkg =~ s!/!::!g;
-        push @found, [$file, $pkg];
-    }, $path) if -d $path;
+        push @found, [ $file, $pkg ];
+    }, $path ) if -d $path;
 
     @found;
 }
 
 sub _caller {
-    my $depth = 0;
+    my $depth  = 0;
     my $caller = caller($depth);
 
     while ($caller eq __PACKAGE__) {

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/AutoInstall.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/AutoInstall.pm	2006-01-11 14:20:47 UTC (rev 1902)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/AutoInstall.pm	2006-01-11 14:23:22 UTC (rev 1903)
@@ -1,5 +1,5 @@
 package Module::AutoInstall;
-$Module::AutoInstall::VERSION = '1.00';
+$Module::AutoInstall::VERSION = '1.01';
 
 use strict;
 use Cwd                 ();
@@ -9,11 +9,6 @@
 
 Module::AutoInstall - Automatic install of dependencies via CPAN
 
-=head1 VERSION
-
-This document describes version 0.01 of B<Module::AutoInstall>,
-released September 12, 2005.
-
 =head1 SYNOPSIS
 
 In F<Makefile.PL>, with L<Module::Install> available on the author's system:
@@ -539,12 +534,8 @@
     my $cp   = CPANPLUS::Backend->new;
     my $conf = $cp->configure_object;
 
-    return
-      unless _can_write(
-          $conf->can('conf')
-        ? $conf->get_conf('base')      # 0.05x+
-        : $conf->_get_build('base')    # 0.04x
-      );
+    return unless $conf->can('conf') # 0.05x+ with "sudo" support
+               or _can_write($conf->_get_build('base'));  # 0.04x
 
     # if we're root, set UNINST=1 to avoid trouble unless user asked for it.
     my $makeflags = $conf->get_conf('makeflags') || '';
@@ -618,9 +609,11 @@
     CPAN::Config->load;
     require Config;
 
-    return
-      unless _can_write( MM->catfile( $CPAN::Config->{cpan_home}, 'sources' ) )
-      and _can_write( $Config::Config{sitelib} );
+    if (CPAN->VERSION < 1.80) {
+        # no "sudo" support, probe for writableness
+        return unless _can_write( MM->catfile( $CPAN::Config->{cpan_home}, 'sources' ) )
+                  and _can_write( $Config::Config{sitelib} );
+    }
 
     # if we're root, set UNINST=1 to avoid trouble unless user asked for it.
     my $makeflags = $CPAN::Config->{make_install_arg} || '';
@@ -765,7 +758,8 @@
     if (
         eval '$>' and lc(`sudo -V`) =~ /version/ and _prompt(
             qq(
-==> Should we try to re-execute the autoinstall process with 'sudo'?), 'y'
+==> Should we try to re-execute the autoinstall process with 'sudo'?),
+            ((-t STDIN) ? 'y' : 'n')
         ) =~ /^[Yy]/
       )
     {
@@ -939,8 +933,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2001, 2002, 2003, 2004, 2005
-by Audrey Tang E<lt>autrijus at autrijus.orgE<gt>.
+Copyright 2001, 2002, 2003, 2004, 2005, 2006 by Audrey Tang.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Find.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Find.pm	2006-01-11 14:20:47 UTC (rev 1902)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Find.pm	2006-01-11 14:23:22 UTC (rev 1903)
@@ -15,14 +15,14 @@
     my ($self, $pkg) = @_;
 
     unless ($pkg =~ /\.pm$/) {
-	$pkg =~ s!::!/!g;
-	$pkg = "$pkg.pm";
+        $pkg =~ s!::!/!g;
+        $pkg = "$pkg.pm";
     }
 
     my @found;
     foreach my $inc (@INC) {
-	next if $inc eq $self->_top->{prefix} or ref($inc);
-	push @found, "$inc/$pkg" if -f "$inc/$pkg";
+        next if $inc eq $self->_top->{prefix} or ref($inc);
+        push @found, "$inc/$pkg" if -f "$inc/$pkg";
     }
 
     wantarray ? @found : $found[0];
@@ -32,14 +32,14 @@
     my ($self, $pkg) = @_;
 
     unless ($pkg =~ /\.pm$/) {
-	$pkg =~ s!::!/!g;
-	$pkg = "$pkg.pm";
+        $pkg =~ s!::!/!g;
+        $pkg = "$pkg.pm";
     }
 
     my @found;
     foreach my $inc (@INC) {
-	next if $inc eq $self->_top->{prefix} or ref($inc);
-	push @found, [ do {
+        next if $inc eq $self->_top->{prefix} or ref($inc);
+        push @found, [ do {
             my $p = $_;
             $p =~ s!^\Q$inc\E/!!;
             $p =~ s!/!::!g;

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Metadata.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Metadata.pm	2006-01-11 14:20:47 UTC (rev 1902)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Metadata.pm	2006-01-11 14:23:22 UTC (rev 1903)
@@ -1,10 +1,14 @@
 package Module::Install::Admin::Metadata;
-use Module::Install::Base; @ISA = qw(Module::Install::Base);
 
-$VERSION = '0.02';
-
 use strict;
+use Module::Install::Base;
 
+use vars qw{$VERSION @ISA};
+BEGIN {
+    $VERSION = '0.03';
+    @ISA = 'Module::Install::Base';
+}
+
 sub remove_meta {
     my $self = shift;
     my $package = ref($self->_top);
@@ -28,7 +32,7 @@
 sub write_meta {
     my $self = shift;
 
-  META_NOT_OURS: {
+    META_NOT_OURS: {
         local *FH;
         if ( open FH, "META.yml" ) {
             while (<FH>) {
@@ -55,27 +59,32 @@
     my %values  = %{ $self->Meta->{'values'} };
 
     delete $values{sign};
+
     if ( my $perl_version = delete $values{perl_version} ) {
-
         # Always canonical to three-dot version
         $perl_version =~
-          s{^(\d+)\.(\d\d\d)(\d*)}{join('.', $1, int($2), int($3))}e
-          if $perl_version >= 5.006;
-        $values{requires} =
-          [ [ perl => $perl_version ], @{ $values{requires} || [] }, ];
+            s{^(\d+)\.(\d\d\d)(\d*)}{join('.', $1, int($2), int($3))}e
+            if $perl_version >= 5.006;
+        $values{requires} = [
+            [ perl => $perl_version ],
+            @{ $values{requires} || [] },
+        ];
     }
 
-    warn "No license specified, setting license = 'unknown'\n"
-      unless $values{license};
+        # Set a default 'unknown' license
+    unless ( $values{license} ) {
+        warn "No license specified, setting license = 'unknown'\n";
+        $values{license} = 'unknown';
+    }
 
-    $values{license}           ||= 'unknown';
     $values{distribution_type} ||= 'module';
-    $values{name}              ||= do {
-        my $name = $values{module_name};
-        $name =~ s/::/-/g;
-        $name;
-    } if $values{module_name};
 
+        # Guess a name if needed, derived from the module_name
+    if ( $values{module_name} and ! $values{name} ) {
+        $values{name} = $values{module_name};
+        $values{name} =~ s/::/-/g;
+    }
+
     if ( $values{name} =~ /::/ ) {
         my $name = $values{name};
         $name =~ s/::/-/g;
@@ -98,11 +107,18 @@
     my $no_index = $values{no_index} ||= {};
     push @{ $no_index->{'directory'} ||= [] }, 'inc', 't';
     $dump{no_index} = $no_index;
+    $dump{generated_by} = "$package version $version";
 
-    require YAML;
-    local $YAML::UseHeader = 0;
-    $dump{generated_by} = "$package version $version";
-    return YAML::Dump(\%dump);
+    local $@;
+    if (eval { require YAML::Syck }) {
+        local $YAML::Syck::Headless = 1;
+        return YAML::Syck::Dump(\%dump);
+    }
+    else {
+        require YAML;
+        local $YAML::UseHeader = 0;
+        return YAML::Dump(\%dump);
+    }
 }
 
 1;

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/WriteAll.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/WriteAll.pm	2006-01-11 14:20:47 UTC (rev 1902)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/WriteAll.pm	2006-01-11 14:23:22 UTC (rev 1903)
@@ -7,18 +7,18 @@
     my ($self, %args) = @_;
 
     if (-e 'Makefile.PL') {
-	$self->load('Makefile');
-	if ($args{check_nmake}) {
-	    $self->load($_) for qw(Makefile check_nmake can_run get_file);
-	}
+        $self->load('Makefile');
+        if ($args{check_nmake}) {
+            $self->load($_) for qw(Makefile check_nmake can_run get_file);
+        }
     }
 
     if (-e 'Build.PL') {
-	$self->load('Build');
-	if ($self->sign and !-e 'MANIFEST.SKIP') {
-	    local *FH;
-	    open FH, '>MANIFEST.SKIP' or die $!;
-	    print FH << '.';
+        $self->load('Build');
+        if ($self->sign and !-e 'MANIFEST.SKIP') {
+            local *FH;
+            open FH, '>MANIFEST.SKIP' or die $!;
+            print FH << '.';
 #defaults
 ^Makefile$
 ^blib/
@@ -27,11 +27,11 @@
 ^Build$
 ^_build/
 .
-	    close FH;
-	    open FH, '>>MANIFEST' or die $!;
-	    print FH "MANIFEST.SKIP";
-	    close FH;
-	}
+            close FH;
+            open FH, '>>MANIFEST' or die $!;
+            print FH "MANIFEST.SKIP";
+            close FH;
+        }
     }
 }
 

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin.pm	2006-01-11 14:20:47 UTC (rev 1902)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin.pm	2006-01-11 14:23:22 UTC (rev 1903)
@@ -1,5 +1,5 @@
 package Module::Install::Admin;
-$VERSION = '0.50';
+$VERSION = '0.54';
 @ISA = 'Module::Install';
 
 use strict 'vars';

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Base.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Base.pm	2006-01-11 14:20:47 UTC (rev 1902)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Base.pm	2006-01-11 14:23:22 UTC (rev 1903)
@@ -49,7 +49,10 @@
 
 sub AUTOLOAD {
     my $self = shift;
-    goto &{$self->_top->autoload};
+
+    local $@;
+    my $autoload = eval { $self->_top->autoload } or return;
+    goto &$autoload;
 }
 
 =item _top()

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Bundle.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Bundle.pm	2006-01-11 14:20:47 UTC (rev 1902)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Bundle.pm	2006-01-11 14:23:22 UTC (rev 1903)
@@ -76,7 +76,7 @@
     while (my ($name, $version) = splice(@core, 0, 2)) {
         next unless $name;
          $self->bundle_deps($name, $version);
-         $self->add_bundle($name, $version);
+         $self->bundle($name, $version);
     }
 }
 

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Can.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Can.pm	2006-01-11 14:20:47 UTC (rev 1902)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Can.pm	2006-01-11 14:23:22 UTC (rev 1903)
@@ -51,14 +51,15 @@
 # Fix Cygwin bug on maybe_command();
 if ($^O eq 'cygwin') {
     require ExtUtils::MM_Cygwin;
+    require ExtUtils::MM_Win32;
     if (!defined(&ExtUtils::MM_Cygwin::maybe_command)) {
         *ExtUtils::MM_Cygwin::maybe_command = sub {
             my ($self, $file) = @_;
-            if ($file =~ m{^/cygdrive/}i) {
+            if ($file =~ m{^/cygdrive/}i and ExtUtils::MM_Win32->can('maybe_command')) {
                 ExtUtils::MM_Win32->maybe_command($file);
             }
             else {
-                $self->SUPER::maybe_command($file);
+                ExtUtils::MM_Unix->maybe_command($file);
             }
         }
     }

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Compiler.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Compiler.pm	2006-01-11 14:20:47 UTC (rev 1902)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Compiler.pm	2006-01-11 14:23:22 UTC (rev 1903)
@@ -17,6 +17,18 @@
     $self->makemaker_args(INC => join ' ', map { "-I$_" } @_);
 }
 
+sub lib_paths {
+    my $self = shift;
+    $self->makemaker_args(LIBS => join ' ', map { "-L$_" } @_);
+}
+
+sub lib_links {
+    my $self = shift;
+    $self->makemaker_args(
+        LIBS => join ' ', $self->makemaker_args->{LIBS}, map { "-l$_" } @_
+    );
+}
+
 sub optimize_flags {
     my $self = shift;
     $self->makemaker_args(OPTIMIZE => join ' ', @_);

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Makefile.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Makefile.pm	2006-01-11 14:20:47 UTC (rev 1902)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Makefile.pm	2006-01-11 14:23:22 UTC (rev 1903)
@@ -64,14 +64,14 @@
     $args->{test} = {TESTS => $self->tests} if $self->tests;
 
     if ($] >= 5.005) {
-	$args->{ABSTRACT} = $self->abstract;
-	$args->{AUTHOR} = $self->author;
+        $args->{ABSTRACT} = $self->abstract;
+        $args->{AUTHOR} = $self->author;
     }
     if ( eval($ExtUtils::MakeMaker::VERSION) >= 6.10 ) {
         $args->{NO_META} = 1;
     }
     if ( eval($ExtUtils::MakeMaker::VERSION) > 6.17 ) {
-	$args->{SIGN} = 1 if $self->sign;
+        $args->{SIGN} = 1 if $self->sign;
     }
     delete $args->{SIGN} unless $self->is_admin;
 

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Metadata.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Metadata.pm	2006-01-11 14:20:47 UTC (rev 1902)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Metadata.pm	2006-01-11 14:23:22 UTC (rev 1903)
@@ -1,23 +1,26 @@
 package Module::Install::Metadata;
+
+use strict 'vars';
 use Module::Install::Base;
- at ISA = qw(Module::Install::Base);
 
-$VERSION = '0.05';
+use vars qw($VERSION @ISA);
+BEGIN {
+    $VERSION = '0.06';
+    @ISA     = 'Module::Install::Base';
+}
 
-use strict 'vars';
-use vars qw($VERSION);
+my @scalar_keys = qw{
+    name module_name abstract author version license
+    distribution_type perl_version tests
+};
 
-my @scalar_keys = qw<
-    name module_name version abstract author license
-    distribution_type perl_version tests
->;
-my @tuple_keys = qw<
+my @tuple_keys = qw{
     build_requires requires recommends bundles
->;
+};
 
-sub Meta { shift }
+sub Meta            { shift        }
 sub Meta_ScalarKeys { @scalar_keys }
-sub Meta_TupleKeys { @tuple_keys }
+sub Meta_TupleKeys  { @tuple_keys  }
 
 foreach my $key (@scalar_keys) {
     *$key = sub {
@@ -28,13 +31,6 @@
     };
 }
 
-sub sign {
-    my $self = shift;
-    return $self->{values}{sign} if defined wantarray and !@_;
-    $self->{values}{sign} = ( @_ ? $_[0] : 1 );
-    return $self;
-}
-
 foreach my $key (@tuple_keys) {
     *$key = sub {
         my $self = shift;
@@ -58,9 +54,24 @@
     };
 }
 
+sub sign {
+    my $self = shift;
+    return $self->{'values'}{'sign'} if defined wantarray and !@_;
+    $self->{'values'}{'sign'} = ( @_ ? $_[0] : 1 );
+    return $self;
+}
+
 sub all_from {
     my ( $self, $file ) = @_;
 
+    unless ( defined($file) ) {
+        my $name = $self->name
+            or die "all_from called with no args without setting name() first";
+        $file = join('/', 'lib', split(/-/, $name)) . '.pm';
+        $file =~ s{.*/}{} unless -e $file;
+        die "all_from: cannot find $file from $name" unless -e $file;
+    }
+
     $self->version_from($file)      unless $self->version;
     $self->perl_version_from($file) unless $self->perl_version;
 
@@ -191,8 +202,11 @@
     my ( $self, $file ) = @_;
     require ExtUtils::MM_Unix;
     $self->abstract(
-        bless( { DISTNAME => $self->name }, 'ExtUtils::MM_Unix' )
-          ->parse_abstract($file) );
+        bless(
+            { DISTNAME => $self->name },
+            'ExtUtils::MM_Unix'
+        )->parse_abstract($file)
+     );
 }
 
 sub _slurp {

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/WriteAll.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/WriteAll.pm	2006-01-11 14:20:47 UTC (rev 1902)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/WriteAll.pm	2006-01-11 14:23:22 UTC (rev 1903)
@@ -4,9 +4,9 @@
 sub WriteAll {
     my $self = shift;
     my %args = (
-        meta => 1,
-        sign => 0,
-        inline => 0,
+        meta        => 1,
+        sign        => 0,
+        inline      => 0,
         check_nmake => 1,
         @_
     );
@@ -16,10 +16,10 @@
     $self->admin->WriteAll(%args) if $self->is_admin;
 
     if ($0 =~ /Build.PL$/i) {
-	$self->Build->write;
+        $self->Build->write;
     }
     else {
-	$self->check_nmake if $args{check_nmake};
+        $self->check_nmake if $args{check_nmake};
         $self->makemaker_args( PL_FILES => {} )
             unless $self->makemaker_args->{'PL_FILES'};
 

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install.pm	2006-01-11 14:20:47 UTC (rev 1902)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install.pm	2006-01-11 14:23:22 UTC (rev 1903)
@@ -1,9 +1,16 @@
 package Module::Install;
+
 use 5.004;
+use strict 'vars';
+use vars qw{$VERSION};
+BEGIN {
+    # Don't forget to update Module::Install::Admin too!
+    $VERSION = '0.54';
+}
 
-$VERSION = '0.50'; # Don't forget to update Module::Install::Admin too!
-
-die << "." unless $INC{join('/', inc => split(/::/, __PACKAGE__)).'.pm'};
+# inc::Module::Install must be loaded first
+unless ( $INC{join('/', inc => split(/::/, __PACKAGE__)).'.pm'} ) {
+    die <<"END_DIE";
 Please invoke ${\__PACKAGE__} with:
 
     use inc::${\__PACKAGE__};
@@ -12,28 +19,28 @@
 
     use ${\__PACKAGE__};
 
-.
+END_DIE
+}
 
-use strict 'vars';
-use Cwd qw(cwd abs_path);
+use Cwd        ();
 use FindBin;
 use File::Find ();
 use File::Path ();
 
- at inc::Module::Install::ISA = 'Module::Install';
 *inc::Module::Install::VERSION = *VERSION;
+ at inc::Module::Install::ISA     = 'Module::Install';
 
 sub autoload {
     my $self   = shift;
     my $caller = $self->_caller;
+    my $cwd    = Cwd::cwd();
+    my $sym    = "$caller\::AUTOLOAD";
 
-    my $cwd = cwd();
-    my $sym = "$caller\::AUTOLOAD";
-
     $sym->{$cwd} = sub {
-        my $pwd = cwd();
-        if (my $code = $sym->{$pwd}) {
-            goto &$code unless $cwd eq $pwd; # delegate back to parent dirs
+        my $pwd = Cwd::cwd();
+        if ( my $code = $sym->{$pwd} ) {
+            # delegate back to parent dirs
+            goto &$code unless $cwd eq $pwd;
         }
         $$sym =~ /([^:]+)$/ or die "Cannot autoload $caller - $sym";
         unshift @_, ($self, $1);
@@ -43,9 +50,9 @@
 
 sub import {
     my $class = shift;
-    my $self = $class->new(@_);
+    my $self  = $class->new(@_);
 
-    if (not -f $self->{file}) {
+    unless ( -f $self->{file} ) {
         require "$self->{path}/$self->{dispatch}.pm";
         File::Path::mkpath("$self->{prefix}/$self->{author}");
         $self->{admin} = 
@@ -66,19 +73,20 @@
 sub preload {
     my ($self) = @_;
 
-    $self->load_extensions(
-        "$self->{prefix}/$self->{path}", $self
-    ) unless $self->{extensions};
+        unless ( $self->{extentions} ) {
+                $self->load_extensions(
+                        "$self->{prefix}/$self->{path}", $self
+                        );
+        }
 
     my @exts = @{$self->{extensions}};
-
-    unless (@exts) {
+    unless ( @exts ) {
         my $admin = $self->{admin};
         @exts = $admin->load_all_extensions;
     }
 
     my %seen_method;
-    foreach my $obj (@exts) {
+    foreach my $obj ( @exts ) {
         while (my ($method, $glob) = each %{ref($obj) . '::'}) {
             next unless defined *{$glob}{CODE};
             next if $method =~ /^_/;
@@ -100,8 +108,10 @@
     my ($class, %args) = @_;
 
     # ignore the prefix on extension modules built from top level.
-    my $base_path = abs_path($FindBin::Bin);
-    delete $args{prefix} unless abs_path(cwd()) eq $base_path;
+    my $base_path = Cwd::abs_path($FindBin::Bin);
+    unless ( Cwd::abs_path(Cwd::cwd()) eq $base_path ) {
+        delete $args{prefix};
+    }
 
     return $args{_self} if $args{_self};
 
@@ -144,10 +154,10 @@
         return $obj if $obj->can($method);
     }
 
-    my $admin = $self->{admin} or die << "END";
+    my $admin = $self->{admin} or die <<"END_DIE";
 The '$method' method does not exist in the '$self->{prefix}' path!
 Please remove the '$self->{prefix}' directory and run $0 again to load it.
-END
+END_DIE
 
     my $obj = $admin->load($method, 1);
     push @{$self->{extensions}}, $obj;
@@ -168,7 +178,10 @@
 
         local $@;
         my $new = eval { require $file; $pkg->can('new') };
-        if (!$new) { warn $@ if $@; next; }
+        unless ( $new ) {
+            warn $@ if $@;
+            next;
+        }
         $self->{pathnames}{$pkg} = delete $INC{$file};
         push @{$self->{extensions}}, &{$new}($pkg, _top => $top_obj );
     }
@@ -178,23 +191,23 @@
 
 sub find_extensions {
     my ($self, $path) = @_;
+
     my @found;
-
-    File::Find::find(sub {
+    File::Find::find( sub {
         my $file = $File::Find::name;
         return unless $file =~ m!^\Q$path\E/(.+)\.pm\Z!is;
         return if $1 eq $self->{dispatch};
 
         $file = "$self->{path}/$1.pm";
         my $pkg = "$self->{name}::$1"; $pkg =~ s!/!::!g;
-        push @found, [$file, $pkg];
-    }, $path) if -d $path;
+        push @found, [ $file, $pkg ];
+    }, $path ) if -d $path;
 
     @found;
 }
 
 sub _caller {
-    my $depth = 0;
+    my $depth  = 0;
     my $caller = caller($depth);
 
     while ($caller eq __PACKAGE__) {

Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install.pod
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install.pod	2006-01-11 14:20:47 UTC (rev 1902)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install.pod	2006-01-11 14:23:22 UTC (rev 1903)
@@ -6,8 +6,8 @@
 
 =head1 VERSION
 
-This document describes version 0.50 of Module::Install, released
-December 26, 2005.
+This document describes version 0.54 of Module::Install, released
+January 11, 2006.
 
 =head1 SYNOPSIS
 
@@ -15,28 +15,28 @@
 
     # Load the Module::Install bundled in ./inc/
     use inc::Module::Install;
-
+    
     # Name of your distribution
     name            'Your-Module';
-
+    
     # Get most of the details from the primary module
+    # (The filename argument below is optional if it is placed
+    # consistently with the "name" above.)
     all_from        'lib/Your/Module.pm';
-
-    # Modules that this distribution depend on
-    requires        'Carp';
-    requires        'File::Spec' => '0.80';
-
-    # Modules needed for building and testing
-    build_requires  'Test::More' => '0.42';
-
-    # Optional module dependencies
+    
+    requires        'Carp'              => 0;
+    requires        'File::Spec'        => '0.80';
+    
+    build_requires  'Test::More'        => '0.42';
+    
     recommends      'Your::OtherModule' => '0.01';
-
-    # Auto-installs all dependencies from CPAN.
-    # You want to use this most of the time, especially
-    # if you use the 'recommend' or 'feature' commands
+    
+    # Do not index our example modules
+    no_index        directory           => 'demos';
+    
+    # Auto-install all dependencies from CPAN
     auto_install;
-
+    
     # Generate the Makefile
     WriteAll;
 
@@ -104,14 +104,16 @@
 For a B<lot> more information, and some personal opinions on the module
 and its creation, see L<Module::Install-Philosophy>.
 
-=head1 COMMANDS
+=head1 COMMON COMMANDS
 
-The following are the most common commands available for use in an
-installer.
+The following are the most common commands generally used in installers.
 
+It is far from an exhaustive list, as many of the plugins provide commands
+to work in more details that you would normally need.
+
 =head2 name
 
-  name 'My-Module;
+  name 'My-Module';
 
 The B<name> command is a compulsory (and generally the first) command.
 
@@ -120,7 +122,7 @@
 
 =head2 all_from
 
-  all_from 'lib/My/Module';
+  all_from 'lib/My/Module.pm';
 
 For most simple or standard Perl distributions that feature one
 dominant module/class as the base, you can get the most Do What I Mean
@@ -128,6 +130,12 @@
 extract as much metadata as possible from the Perl and POD in the
 module itself.
 
+C<all_from> is equivalent to C<abstract_from> + C<author_from> +
+C<version_from> + C<license_from> + C<perl_version_from>.
+
+If any of these values are set already B<before> C<all_from> is used,
+they will kept and B<not> be overwritten.
+
 =head2 abstract
 
   abstract 'This distribution does something';
@@ -141,13 +149,15 @@
 
 =head2 abstract_from
 
-  abstract_from 'lib/My/Module';
+  abstract_from 'lib/My/Module.pm';
 
 The C<abstract_from> command retrieves the abstract from a particular
 file contained in the distribution package. Most often this is done
 from the main module, where it will read the POD and use whatever
 is in the C<=head1 NAME> section (with module name removed as needed)
 
+C<abstract_from> is set as part of C<all_from>.
+
 =head2 author
 
   author 'Adam Kennedy <cpan at ali.as>';
@@ -160,17 +170,159 @@
 
 =head2 author_from
 
-  author_from 'lib/My/Module';
+  author_from 'lib/My/Module.pm';
 
-The C<author_from> command retrievs the author from a particular
+The C<author_from> command retrieves the author from a particular
 file contained in the distribution package. Most often this is done
 from the main module, where it read the POD and use whatever it
 can find in the C<=head1 AUTHOR> section.
 
+=head2 version
+
+  version '0.01';
+
+The C<version> command is used to specify the version of the
+distribution, as distinct from the version of any module within the
+distribution.
+
+Of course, in almost all cases you want it to match the version of the
+primary module within the distribution, which you can do using
+C<version_from>.
+
+=head2 version_from
+
+  version_from 'lib/My/Module.pm';
+
+The C<version_from> command retrieves the distribution version from a
+particular file contained in the distribution package. Most often this is
+done from the main module.
+
+C<version_from> will look for the first time you set C<$VERSION> and use
+the same value, using a method consistent with various other module
+version scanning tools.
+
+=head2 license
+
+  license 'perl';
+  
+The C<license> command specifies the license for the distribution.
+
+Most often this value will be C<'perl'>, meaning I<"the same as for Perl
+itself">. Other allowed values include C<'gpl'>, C<'lgpl'>, C<'bsd'> and
+C<'artistic'>.
+
+This value is always considered a summary, and it is normal for authors
+to include a F<LICENSE> file in the distribution, containing the full
+license for the distribution.
+
+=head2 license_from
+
+  license_from 'lib/My/Module.pm';
+
+The C<license_from> command retrieves the distribution license from a
+particular file contained in the distribution package. Most often this is
+done from the main module.
+
+C<license_from> will look inside the POD within the file for a licensing
+or copyright-related section and scan for a variety of strings that
+identify the general class of license.
+
+At this time it supports only the 5 values mentioned above in the
+C<license> command summary.
+
+=head2 perl_version
+
+  perl_version '5.006';
+
+The C<perl_version> command is used to specify the minimum version of the
+perl interpreter your distribution requires.
+
+=head2 perl_version_from
+
+  perl_version_from 'lib/My/Module.pm'
+
+The C<perl_version_from> command retrieves the minimum F<perl> interpreter
+version from a particular file contained in the distribution package. Most
+often this is done from the main module.
+
+The minimum version is detected by scanning the file for C<use 5.xxx>
+pragma calls in the module file.
+
+=head2 requires
+
+  requires 'List::Util' => 0;
+  requires 'LWP'        => '5.69';
+
+The C<requires> command indicates a normal run-time dependency of your
+distribution on another module. Most distributions will have one or
+more of these commands, indicating which CPAN (or otherwise) modules
+your distribution needs.
+
+A C<requires> dependency can be verbalised as I<"If you wish to install
+and use this distribution, you must first install these modules first">.
+
+Note that the dependency is on a B<module> and not a distribution. This
+is to ensure that you dependency stays correct, even if the module is
+moved or merged into a different distribtion, as is occasionally the
+case.
+
+A dependency on version zero indicates B<any> version of module is
+sufficient. Versions should generally be quoted for clarity.
+
+=head2 build_requires
+
+  build_requires 'Test::More' => '0.47';
+
+The C<build_requires> command indicates a build-time dependency for
+the distribution. The specification format is identical to that of
+the C<requires> command.
+
+The C<build_requires> command is distinct from the C<requires> command
+in that it indicates a module that is need B<only> during the building
+and testing of the distribution (often a period of only a few seconds)
+but will B<not> be needed after the distribution is installed.
+
+The most common case by far is for testing modules to be specified
+this way.
+
+The C<build_requires> command is used to allow the installer some
+flexibility in how it provides the module.
+
+For example, the C<include> command is sometimes used to bundle a
+small testing module into the distribution package itself rather than
+inflict another module installation on the user.
+
+In addition, when building a binary operating system packages (such as
+Debian .deb packages) from a CPAN distribution, the testing is done once
+by the packager, and so the C<build_requires> dependency can be safely
+ignored by the binary package.
+
+=head2 no_index
+
+  no_index directory => 'examples';
+
+Quite often a distrubition will provide example or testing modules
+(.pm files) as well as the actual library modules.
+
+In almost all situations, you do B<not> want these indexed in the master
+Perl packages list, you just want them along for the ride.
+
+The C<no_index> command is used to indicate locations where there might
+be non-library .pm files that the CPAN indexer and websites such as
+L<http://search.cpan.org/> should explicitly ignore.
+
+The most common situation is to ignore example or demo directories,
+but a variety of different situations may require a C<no_index> entry.
+
+The F<inc> and F<t> directories are automatically C<no_index>'ed for
+you and do not require a command.
+
 =head2 WriteAll
 
 The C<WriteAll> command is generally the last command; it writes out
-F<META.yml> and F<Makefile> so the user can type C<make install>.
+F<META.yml> and F<Makefile> (or F<Build>) so the user can run the
+C<make>, C<make test>, C<make install> process. (or the F<Build.PL>
+equivalents).
 
 =head1 EXTENSIONS
 
@@ -178,10 +330,8 @@
 inherit from B<Module::Install::Base>.  There are three categories
 of extensions:
 
-=over 4
+=head2 Standard Extensions
 
-=item Standard Extensions
-
 Methods defined by a standard extension may be called as plain functions
 inside F<Makefile.PL>; a corresponding singleton object will be spawned
 automatically.  Other extensions may also invoke its methods just like
@@ -202,7 +352,7 @@
 directory.  End-users can reinitialize everything and become the author
 by typing C<make realclean> and C<perl Makefile.PL>.
 
-=item Private Extensions
+=head2 Private Extensions
 
 Those extensions take the form of B<Module::Install::PRIVATE> and
 B<Module::Install::PRIVATE::*>.
@@ -218,7 +368,7 @@
 extensions, they will never be installed on the end-user's machine,
 and therefore never conflict with other people's private extensions.
 
-=item Administrative Extensions
+=head2 Administrative Extensions
 
 Extensions under the B<Module::Install::Admin::*> namespace are never
 included with the distribution.  Their methods are not directly
@@ -237,108 +387,87 @@
 standard extensions) should use the B<Module::Install::Admin> module
 directly.  See L<Module::Install::Admin> for details.
 
-=back
+=head2 Extention List
 
-B<Module::Install> comes with several standard extensions:
-
 =over 4
 
 =item Module::Install::AutoInstall
 
 Provides C<auto_install()> to automatically fetch and install
-prerequisites via B<CPANPLUS.pm> or B<CPAN.pm>, specified either by
-the C<features> metadata or by method arguments. 
+prerequisites.
 
 =item Module::Install::Base
 
-The base class of all extensions, providing C<new>, C<initialized>,
-C<admin>, C<load> and the C<AUTOLOAD> dispatcher.
+The base class for all extensions
 
 =item Module::Install::Build
 
-Provides C<&Build-E<gt>write> to generate a B<Module::Build> compliant
-F<Build> file, as well as other B<Module::Build> support functions.
+Provides integration with L<Module::Build> via C<&Build-E<gt>write>.
 
 =item Module::Install::Bundle
 
-Provides C<bundle>, C<bundle_deps> and C<bundle_all>, allowing you
-to bundle a CPAN distribution within your distribution.  When your
-end-users install your distribution, the bundled distribution will be
-installed along with yours, unless a newer version of the bundled
-distribution already exists on their local filesystem.
+Provides the C<bundle> family of commands, allowing you to bundle
+another CPAN distribution within your distribution.
 
 =item Module::Install::Fetch
 
-Handles fetching files from remote servers via FTP and HTTP.
+Handles install-time fetching of files from remote servers via
+FTP and HTTP.
 
 =item Module::Install::Include
 
-Provides the C<include($pkg)> function to include pod-stripped
-package(s) from C<@INC> to F<inc/>, and the C<auto_include()>
-function to include all modules specified in C<build_requires>,
+Provides the C<include> family of commands for embedding modules
+that are only need at build-time in your distribution and won't
+be installed.
 
-Also provides the C<include_deps($pkg)> function to include every
-non-core modules needed by C<$pkg>, and the C<auto_include_deps()>
-function that does the same thing as C<auto_include()>, plus all
-recursive dependencies that are subsequently required by modules in
-C<build_requires>.
-
 =item Module::Install::Inline
 
 Provides C<&Inline-E<gt>write> to replace B<Inline::MakeMaker>'s
-functionality of making (and cleaning after) B<Inline>-based modules.
+functionality for making B<Inline>-based modules (and cleaning up).
 
-However, you should invoke this with C<WriteAll( inline => 1 )> instead.
+However, you should invoke this with C<WriteAll( inline => 1 )>.
 
-=item Module::Install::MakeMaker
-
-Simple wrapper class for C<ExtUtils::MakeMaker::WriteMakefile>.
-
 =item Module::Install::Makefile
 
-Provides C<&Makefile-E<gt>write> to generate a B<ExtUtils::MakeMaker>
-compliant F<Makefile>; preferred over B<Module::Install::MakeMaker>.
-It adds several extra C<make> targets, as well as being more intelligent
-at guessing unspecified arguments.
+Provides C<&Makefile-E<gt>write> to generate a F<Makefile> for you
+distribution.
 
 =item Module::Install::Makefile::Name
 
-Guess the distribution name.
+Guessing the distribution name.
 
 =item Module::Install::Makefile::Version
 
-Guess the distribution version.
+Guessing the distribution version.
 
 =item Module::Install::Metadata
 
-Provides C<&Meta-E<gt>write> to generate a B<YAML>-compliant F<META.yml>
-file, and C<&Meta-E<gt>read> to parse it for C<&Makefile>, C<&Build> and
-C<&AutoInstall> to use.
+Provides C<&Meta-E<gt>write> to generate a F<META.yml> file for your
+distribution.
 
 =item Module::Install::PAR
 
-Makes pre-compiled module binary packages from F<blib>, and download
-existing ones to save the user from recompiling.
+Makes pre-compiled module binary packages from the built F<blib>
+directory, and download existing ones to save recompiling.
 
 =item Module::Install::Run
 
-Determines if a command is available on the user's machine, and run
-external commands via B<IPC::Run3>.
+Determines if commands are available on the user's machine, and runs
+them via B<IPC::Run3>.
 
 =item Module::Install::Scripts
 
-Handles packaging and installation of scripts, instead of modules.
+Handles packaging and installation of scripts to various bin dirs.
 
 =item Module::Install::Win32
 
-Functions related for installing modules on Win32, e.g. automatically
-fetching and installing F<nmake.exe> for users that need it.
+Functions for installing modules on Win32 and finding/installing
+F<nmake.exe> for users that need it.
 
 =item Module::Install::WriteAll
 
-This extension offers C<WriteAll>, which writes F<META.yml> and
-either F<Makefile> or F<Build> depending on the name of the invoked
-program.
+Provides the C<WriteAll>, which writes all the requires files,
+such as F<META.yml> and either F<Makefile> or F<Build>.
 
 C<WriteAll> takes four optional named parameters:
 
@@ -350,7 +479,7 @@
 
 =item C<inline> (defaults to false)
 
-If true, invokes C<&Inline-E<gt>write> instead of C<&Makefile-E<gt>write>.
+If true, invokes C<&Inline-E<gt>write> L<Inline> modules.
 
 =item C<meta> (defaults to true)
 
@@ -358,83 +487,35 @@
 
 =item C<sign> (defaults to false)
 
-If true, invokes functions with the same name.
+If true, invokes C<sign> command to digitally sign erm... something.
 
 =back
 
-=back
-
-B<Module::Install> also comes with several administrative extensions:
-
-=over
-
 =item Module::Install::Admin::Find
 
-Functions for finding extensions, installed packages and files in
-subdirectories.
+Package-time functions for finding extensions, installed packages
+and files in subdirectories.
 
 =item Module::Install::Admin::Manifest
 
-Functions for manipulating and updating the F<MANIFEST> file.
+Package-time functions for manipulating and updating the
+F<MANIFEST> file.
 
 =item Module::Install::Admin::Metadata
 
-Functions for manipulating and updating the F<META.yml> file.
+Package-time functions for manipulating and updating the
+F<META.yml> file.
 
 =item Module::Install::Admin::ScanDeps
 
-Handles scanning for non-core dependencies via B<Module::ScanDeps> and
-B<Module::CoreList>.
+Package-time scanning for non-core dependencies via B<Module::ScanDeps>
+and B<Module::CoreList>.
 
 =back
 
-Please consult their own POD documentations for detailed information.
+Detailed information is provided for all (some) of the relevant
+modules via their own POD documentation.
 
-=head1 METHODS
-
-=over 4
-
-=item import(@args)
-
-If this module was not loaded from F<inc/>, calls the C<init>
-method of B<Module::Install::Admin> to include and reload itself;
-see L<Module::Install::Admin/Bootstrapping> for details.
-
-Otherwise, export a default C<AUTOLOAD> handler to the caller's package.
-
-The C<@args> array is passed to C<new> to intialize the top-level
-B<Module::Install> object; it should usually be left empty.
-
-=item autoload()
-
-Returns an AUTOLOAD handler bound to the caller package.
-
-=back
-
-=item new(%args)
-
-Constructor, taking a hash of named arguments.  Usually you do not want
-change any of them.
-
-=item call($method, @args)
-
-Call an extension method, passing C<@args> to it.
-
-=item load($method)
-
-Include and load an extension object implementing C<$method>.
-
-=item load_extensions($path, $top_obj)
-
-Loads all extensions under C<$path>; for each extension, create a
-singleton object with C<_top> pointing to C<$top_obj>, and populates the
-arrayref C<$self-E<gt>{extensions}> with those objects.
-
-=item load_extensions($path)
-
-Returns an array of C<[ $file_name, $package_name ]> for each extension
-module found under C<$path> and its subdirectories.
-
 =head1 FAQ
 
 =head2 What are the benefits of using B<Module::Install>?
@@ -443,8 +524,14 @@
 
 =over 4
 
+=item * Extremely easy to beginners to learn
+
 =item * Does everything ExtUtils::MakeMaker does.
 
+=item * Does it with a dramatically simpler syntax.
+
+=item * Automatically scans for metadata for you.
+
 =item * Requires no installation for end-users.
 
 =item * Generate stock Makefile.PL for Module::Build users.
@@ -455,72 +542,131 @@
 
 =item * Distributing scripts is easy.
 
-=item * Include prerequisite modules (even the entire dependency tree).
+=item * Include prerequisite modules (less dependencies to install)
 
 =item * Auto-installation of prerequisites.
 
 =item * Support for Inline-based modules.
 
+=item * Support for File::ShareDir shared data files
+
 =item * Support for precompiled PAR binaries.
 
+=item * Deals with Win32 install issues for you.
+
 =cut
 
-Besides, if you maintain more than one CPAN modules, chances are there
-are duplications in their F<Makefile.PL>, and also with other CPAN module
-you copied the code from.  B<Module::Install> makes it really easy for you
-to abstract away such codes; see the next question.
+By greatly shrinking and simplifying the syntax B<Module::Install>
+keeps the amount of work required to maintain your F<Makefile.PL>
+files to an absolute minimum.
 
-=head2 How is this different from its predecessor, B<CPAN::MakeMaker>?
+And if you maintain more than one module than needs to do unusual
+installation tricks, you can create a specific module to abstract
+away this complexity.
 
-According to Brian Ingerson, the author of B<CPAN::MakeMaker>,
-their difference is that I<Module::Install is sane>.
+=head1 COOKBOOK / EXAMPLES
 
-Also, this module is not self-modifying, and offers a clear separation
-between standard, private and administrative extensions.  Therefore
-writing extensions for B<Module::Install> is easier -- instead of
-tweaking your local copy of C<CPAN/MakeMaker.pm>, just make your own
-B<Modula::Install::PRIVATE> module, or a new B<Module::Install::*>
-extension.
+The following are some real-life examples of F<Makefile.PL> files
+using B<Module::Install>.
 
+=head2 Method::Alias
+
+L<Method::Alias> is a trivially-small utility module, with almost the
+smallest possible F<Makefile.PL>.
+
+  use inc::Module::Install;
+  name           'Method-Alias';
+  all_from       'lib/Method/Alias.pm';
+  build_requires 'Test::More' => '0.42';
+
+=head2 File::HomeDir
+
+L<File::HomeDir> locates your home directorie on any platform. It needs
+an installed that can handle different dependencies on different platforms.
+
+  use inc::Module::Install;
+  
+  name           'File-HomeDir';
+  all_from       'lib/File/HomeDir.pm';
+  requires       'File::Spec' => '0.80';
+  build_requires 'Test::More' => '0.47';
+  
+  if ( $MacPerl::Version ) {
+      # Needed on legacy Mac OS 9
+      requires 'Mac::Files' => 0;
+  }
+  if ( $^O eq 'MXWin32' ) {
+      # Needed on Windows platforms
+      requires 'Win32::TieRegistry' => 0;
+  }
+  
+  auto_install;
+  WriteAll;
+
 =head1 SEE ALSO
 
 L<Module::Install-Philosophy>
+
 L<inc::Module::Install>
 
 L<Module::Install::AutoInstall>
+
 L<Module::Install::Base>
+
 L<Module::Install::Bundle>
+
 L<Module::Install::Build>
+
 L<Module::Install::Directives>
+
 L<Module::Install::Fetch>
+
 L<Module::Install::Include>
+
 L<Module::Install::MakeMaker>
+
 L<Module::Install::Makefile>
+
 L<Module::Install::Makefile::CleanFiles>
+
 L<Module::Install::Makefile::Name>
+
 L<Module::Install::Makefile::Version>
+
 L<Module::Install::Metadata>
+
 L<Module::Install::PAR>
+
 L<Module::Install::Run>
+
 L<Module::Install::Scripts>
+
 L<Module::Install::Win32>
+
 L<Module::Install::WriteAll>
 
 L<Module::Install::Admin>
+
 L<Module::Install::Admin::Bundle>
+
 L<Module::Install::Admin::Find>
+
 L<Module::Install::Admin::Include>
+
 L<Module::Install::Admin::Makefile>
+
 L<Module::Install::Admin::Manifest>
+
 L<Module::Install::Admin::Metadata>
+
 L<Module::Install::Admin::ScanDeps>
+
 L<Module::Install::Admin::WriteAll>
 
-L<CPAN::MakeMaker>
-L<Inline::MakeMaker>
-L<ExtUtils::MakeMaker>
-L<Module::Build>
+L<CPAN::MakeMaker>, L<Inline::MakeMaker>
 
+L<ExtUtils::MakeMaker>, L<Module::Build>
+
 =head1 AUTHORS
 
 Brian Ingerson E<lt>INGY at cpan.orgE<gt>
@@ -531,10 +677,8 @@
 
 =head1 COPYRIGHT
 
-Copyright 2002, 2003, 2004, 2005 by
-    Adam Kennedy E<lt>cpan at ali.asE<gt>
-    Audrey Tang E<lt>autrijus at autrijus.orgE<gt>,
-    Brian Ingerson E<lt>ingy at cpan.orgE<gt>.
+Copyright 2002, 2003, 2004, 2005, 2006 by
+Brian Ingerson, Audrey Tang, Adam Kennedy.
 
 This program is free software; you can redistribute it and/or modify it
 under the same terms as Perl itself.




More information about the Pkg-perl-cvs-commits mailing list