r1805 - in packages/libmodule-install-perl/trunk: . debian inc
inc/Module inc/Module/Install lib/Module lib/Module/Install
lib/Module/Install/Admin lib/Module/Install/Makefile
lib/inc/Module t
Krzysztof Krzyzaniak
eloy at costa.debian.org
Fri Dec 30 11:17:35 UTC 2005
Author: eloy
Date: 2005-12-30 11:17:02 +0000 (Fri, 30 Dec 2005)
New Revision: 1805
Added:
packages/libmodule-install-perl/trunk/inc/Module/AutoInstall.pm
packages/libmodule-install-perl/trunk/lib/Module/AutoInstall.pm
packages/libmodule-install-perl/trunk/lib/Module/Install.pod
packages/libmodule-install-perl/trunk/lib/Module/Install/Compiler.pm
packages/libmodule-install-perl/trunk/lib/Module/Install/Share.pm
packages/libmodule-install-perl/trunk/t/2-pod.t
packages/libmodule-install-perl/trunk/t/3-autoinstall.t
Removed:
packages/libmodule-install-perl/trunk/Build.PL
packages/libmodule-install-perl/trunk/ToDo
packages/libmodule-install-perl/trunk/inc/ExtUtils/
packages/libmodule-install-perl/trunk/inc/Module/Install/Build.pm
packages/libmodule-install-perl/trunk/inc/Module/Install/PAR.pm
packages/libmodule-install-perl/trunk/inc/Test/
packages/libmodule-install-perl/trunk/lib/Module/Install-Cookbook.pod
packages/libmodule-install-perl/trunk/t/0-signature.t
Modified:
packages/libmodule-install-perl/trunk/Changes
packages/libmodule-install-perl/trunk/MANIFEST
packages/libmodule-install-perl/trunk/MANIFEST.SKIP
packages/libmodule-install-perl/trunk/META.yml
packages/libmodule-install-perl/trunk/Makefile.PL
packages/libmodule-install-perl/trunk/README
packages/libmodule-install-perl/trunk/SIGNATURE
packages/libmodule-install-perl/trunk/debian/changelog
packages/libmodule-install-perl/trunk/debian/control
packages/libmodule-install-perl/trunk/debian/rules
packages/libmodule-install-perl/trunk/inc/Module/Install.pm
packages/libmodule-install-perl/trunk/inc/Module/Install/AutoInstall.pm
packages/libmodule-install-perl/trunk/inc/Module/Install/Base.pm
packages/libmodule-install-perl/trunk/inc/Module/Install/Can.pm
packages/libmodule-install-perl/trunk/inc/Module/Install/Fetch.pm
packages/libmodule-install-perl/trunk/inc/Module/Install/Include.pm
packages/libmodule-install-perl/trunk/inc/Module/Install/Makefile.pm
packages/libmodule-install-perl/trunk/inc/Module/Install/Metadata.pm
packages/libmodule-install-perl/trunk/inc/Module/Install/Win32.pm
packages/libmodule-install-perl/trunk/inc/Module/Install/WriteAll.pm
packages/libmodule-install-perl/trunk/lib/Module/Install-Philosophy.pod
packages/libmodule-install-perl/trunk/lib/Module/Install.pm
packages/libmodule-install-perl/trunk/lib/Module/Install/Admin.pm
packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/Bundle.pm
packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/Find.pm
packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/Include.pm
packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/Makefile.pm
packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/Manifest.pm
packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/Metadata.pm
packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/ScanDeps.pm
packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/WriteAll.pm
packages/libmodule-install-perl/trunk/lib/Module/Install/AutoInstall.pm
packages/libmodule-install-perl/trunk/lib/Module/Install/Base.pm
packages/libmodule-install-perl/trunk/lib/Module/Install/Build.pm
packages/libmodule-install-perl/trunk/lib/Module/Install/Bundle.pm
packages/libmodule-install-perl/trunk/lib/Module/Install/Can.pm
packages/libmodule-install-perl/trunk/lib/Module/Install/Fetch.pm
packages/libmodule-install-perl/trunk/lib/Module/Install/Include.pm
packages/libmodule-install-perl/trunk/lib/Module/Install/Inline.pm
packages/libmodule-install-perl/trunk/lib/Module/Install/MakeMaker.pm
packages/libmodule-install-perl/trunk/lib/Module/Install/Makefile.pm
packages/libmodule-install-perl/trunk/lib/Module/Install/Makefile/Name.pm
packages/libmodule-install-perl/trunk/lib/Module/Install/Makefile/Version.pm
packages/libmodule-install-perl/trunk/lib/Module/Install/Metadata.pm
packages/libmodule-install-perl/trunk/lib/Module/Install/PAR.pm
packages/libmodule-install-perl/trunk/lib/Module/Install/Run.pm
packages/libmodule-install-perl/trunk/lib/Module/Install/Scripts.pm
packages/libmodule-install-perl/trunk/lib/Module/Install/Win32.pm
packages/libmodule-install-perl/trunk/lib/Module/Install/WriteAll.pm
packages/libmodule-install-perl/trunk/lib/inc/Module/Install.pm
packages/libmodule-install-perl/trunk/t/1-basic.t
Log:
eloy: new upstream version
Deleted: packages/libmodule-install-perl/trunk/Build.PL
===================================================================
--- packages/libmodule-install-perl/trunk/Build.PL 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/Build.PL 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,4 +0,0 @@
-# $File: //depot/cpan/Module-Install/Build.PL $ $Author: autrijus $
-# $Revision: #5 $ $Change: 1820 $ $DateTime: 2003/12/14 21:01:57 $
-
-require 'Makefile.PL';
Modified: packages/libmodule-install-perl/trunk/Changes
===================================================================
--- packages/libmodule-install-perl/trunk/Changes 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/Changes 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,1561 +1,287 @@
-____________________________________________________________________________
-[ 2286] By: autrijus on 2004/07/01 04:47:26
- Log: * This be 0.34.
- ! lib/inc/Module/Install.pm
-____________________________________________________________________________
-[ 2285] By: autrijus on 2004/07/01 03:16:20
- Log: * auto_include() will not include recursive dependencies
- now;
- that functionality is refactored into auto_include_deps().
- ! lib/Module/Install.pm
- ! lib/Module/Install/Admin/Include.pm
-____________________________________________________________________________
-[ 1885] By: autrijus on 2004/03/11 05:55:27
- Log: * This be 0.33.
- * abstract_from() was broken; it works now thanks to SHAY.
- * WriteAll() now takes (inline => 1) to support
- Inline-based
- modules.
- ! Makefile.PL lib/Module/Install.pm
- ! lib/Module/Install/Inline.pm
- ! lib/Module/Install/Metadata.pm
- ! lib/Module/Install/WriteAll.pm
-____________________________________________________________________________
-[ 1847] By: autrijus on 2003/12/31 23:14:54
- Log: * This be 0.31.
- ! README lib/Module/Install-Cookbook.pod
- ! lib/Module/Install.pm
- ! lib/Module/Install/Admin.pm
- ! lib/Module/Install/Admin/Manifest.pm
- ! lib/Module/Install/Base.pm
- ! lib/Module/Install/Build.pm
- ! lib/Module/Install/Bundle.pm
- ! lib/Module/Install/Makefile.pm
- ! lib/inc/Module/Install.pm
-____________________________________________________________________________
-[ 1846] By: autrijus on 2003/12/31 22:57:12
- Log: * allow auto_install() to take -core-specific options like
- (-default => 0).
- ! lib/Module/Install/AutoInstall.pm
-____________________________________________________________________________
-[ 1841] By: autrijus on 2003/12/28 19:43:56
- Log: * no longer use inc/SCRIPT but simply modify the
- scripts to install.
- ! lib/Module/Install/Scripts.pm
-____________________________________________________________________________
-[ 1840] By: autrijus on 2003/12/28 19:42:02
- Log: * make can_cc to probe the program part of $Config{cc}
- ! lib/Module/Install/Can.pm
-____________________________________________________________________________
-[ 1837] By: autrijus on 2003/12/20 16:20:59
- Log: * Bundled M::I-using modules (or subdirs) used to break up
- spectacularly by overriding ::AUTOLOAD and reusing their
- parents' inc/*. Now the namespaces are keyed by cwd and
- more readily unregistered.
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1830] By: autrijus on 2003/12/17 16:20:13
- Log: * oops. forgot to check in two files. ingy++
- + lib/Module/Install/Admin/Bundle.pm
- + lib/Module/Install/Admin/Include.pm
-____________________________________________________________________________
-[ 1822] By: autrijus on 2003/12/14 21:10:21
- Log: * This be 0.29, for real!
- ! lib/Module/Install/Admin.pm
-____________________________________________________________________________
-[ 1821] By: autrijus on 2003/12/14 21:07:46
- Log: * real Module::Build support in WriteAll and in this
- module.
- ! MANIFEST lib/Module/Install/Admin/WriteAll.pm
-____________________________________________________________________________
-[ 1820] By: autrijus on 2003/12/14 21:01:57
- Log: * transparent Build.PL, as promised in README, is back.
- + Build.PL
-____________________________________________________________________________
-[ 1819] By: autrijus on 2003/12/14 20:58:51
- Log: * ditto.
- ! lib/Module/Install/Admin/WriteAll.pm
-____________________________________________________________________________
-[ 1818] By: autrijus on 2003/12/14 20:58:38
- Log: * WriteAll now takes three non-metadata flags:
- check_nmake (default 1), meta (default 1) and
- sign (default 0).
- ! lib/Module/Install/WriteAll.pm
-____________________________________________________________________________
-[ 1817] By: autrijus on 2003/12/14 20:57:39
- Log: * "private" is officially obsoleted by "no_index".
- * now warns if the user did not specify a license.
- ! lib/Module/Install/Metadata.pm
-____________________________________________________________________________
-[ 1816] By: autrijus on 2003/12/14 20:55:49
- Log: * changes and manifest.
- ! Changes MANIFEST
-____________________________________________________________________________
-[ 1815] By: autrijus on 2003/12/14 20:41:23
- Log: * cosmetic fixes.
- ! lib/Module/Install/Admin/ScanDeps.pm
- ! t/1-basic.t
-____________________________________________________________________________
-[ 1812] By: autrijus on 2003/12/14 20:24:49
- Log: * This be 0.29.
- ! lib/Module/Install.pm
- ! lib/Module/Install/Metadata.pm
-____________________________________________________________________________
-[ 1811] By: autrijus on 2003/12/14 18:52:33
- Log: * "requires( perl => $version )" is now supported.
- * include_deps() now no longer takes its second argument;
- it must be separately supplied with the syntax above.
- * "&WriteAll" now officially replaces "&Build->write",
- "&Makefile->write", "&Meta->write" and "check_nmake()".
- * auto_include() is implemented.
- * bundle_deps() is implemented.
- ! Makefile.PL lib/Module/Install.pm
- ! lib/Module/Install/Admin/ScanDeps.pm
- ! lib/Module/Install/Admin/WriteAll.pm
- ! lib/Module/Install/Bundle.pm
- ! lib/Module/Install/Include.pm
- ! lib/Module/Install/Makefile.pm
- ! lib/Module/Install/Metadata.pm
-____________________________________________________________________________
-[ 1810] By: autrijus on 2003/12/14 10:42:42
- Log: * add WriteAll to manifest.
- * add #defaults to skip.
- ! MANIFEST MANIFEST.SKIP
-____________________________________________________________________________
-[ 1808] By: autrijus on 2003/12/13 20:14:27
- Log: * Introducing &WriteAll, a combination of &Meta->write,
- &check_nmake, &Makefile->write, and if a Build.PL is
- present (which should read "require 'Makefile.PL'"),
- also supports transparent &Build->write.
- + lib/Module/Install/Admin/WriteAll.pm
- + lib/Module/Install/WriteAll.pm
-____________________________________________________________________________
-[ 1806] By: autrijus on 2003/12/11 18:44:37
- Log: * changes.
- ! Changes
-____________________________________________________________________________
-[ 1805] By: autrijus on 2003/12/11 18:43:02
- Log: * Module::Install::Bundle now works, thanks to Adam Foxson!
- ! Makefile.PL lib/Module/Install.pm
- ! lib/Module/Install/Bundle.pm
- ! lib/Module/Install/Makefile.pm
-____________________________________________________________________________
-[ 1804] By: autrijus on 2003/12/11 16:42:29
- Log: * unbreak against newer EU::MM.
- ! MANIFEST.SKIP
-____________________________________________________________________________
-[ 1790] By: autrijus on 2003/11/11 01:23:39
- Log: * let "inc" work with "make test" on 5.6.x too.
- ! lib/Module/Install/Makefile.pm
-____________________________________________________________________________
-[ 1789] By: autrijus on 2003/11/11 01:22:54
- Log: * mcdavis pointed out that Microsoft now wants
- "Nmake15.exe",
- not "nmake15.exe".
- ! lib/Module/Install/Win32.pm
-____________________________________________________________________________
-[ 1782] By: autrijus on 2003/10/27 19:48:59
- Log: * This be 0.27.
- * make the include'd modules actually work during
- "make" and "make test", by adding "inc" to the
- Makefile targets.
- ! lib/Module/Install.pm
- ! lib/Module/Install/Makefile.pm
-____________________________________________________________________________
-[ 1781] By: autrijus on 2003/10/22 17:14:03
- Log: * Graham's patch for 5.004 backcompat.
- ! lib/Module/Install/Admin.pm
- ! lib/Module/Install/Admin/ScanDeps.pm
- ! lib/Module/Install/Inline.pm
- ! lib/Module/Install/MakeMaker.pm
- ! lib/Module/Install/Metadata.pm
- ! lib/Module/Install/Scripts.pm
-____________________________________________________________________________
-[ 1780] By: autrijus on 2003/10/22 17:13:48
- Log: * Graham Barr points out that readdir() can return 0.
- ! lib/Module/Install/Admin/Manifest.pm
-____________________________________________________________________________
-[ 1779] By: autrijus on 2003/10/21 15:54:39
- Log: * do not sign the distribution if we are not the admin.
- ! lib/Module/Install/Makefile.pm
-____________________________________________________________________________
-[ 1778] By: autrijus on 2003/10/17 17:37:55
- Log: * This be 0.26.
- * sign(1) support for automatic digital signing
- * no_index(directory => 'example') support, for telling
- PAUSE and search to skip indexing modules
- ! Makefile.PL lib/Module/Install.pm
- ! lib/Module/Install/Build.pm
- ! lib/Module/Install/Makefile.pm
- ! lib/Module/Install/Metadata.pm
-____________________________________________________________________________
-[ 1777] By: autrijus on 2003/10/13 02:25:45
- Log: * This be 0.25.
- * add no_index as an alias to private in META.yml.
- * minor code cleanup.
- ! Makefile.PL lib/Module/Install.pm
- ! lib/Module/Install/Metadata.pm
-____________________________________________________________________________
-[ 1765] By: ingy on 2003/10/04 15:42:05
- Log: Support for YAML::Parser::Syck
- ! lib/Module/Install/Makefile.pm
-____________________________________________________________________________
-[ 1726] By: autrijus on 2003/09/06 10:21:54
- Log: * no point in supporting Build.PL now.
- - Build.PL
- ! MANIFEST Makefile.PL
-____________________________________________________________________________
-[ 1709] By: autrijus on 2003/09/01 03:13:10
- Log: * This be 0.24.
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1692] By: autrijus on 2003/08/28 10:24:51
- Log: * 0.17 is simply too old as it scans in POD sections.
- ! Makefile.PL
-____________________________________________________________________________
-[ 1669] By: autrijus on 2003/08/19 20:17:39
- Log: * Kingpin <mthurn at carbon> notes that we are using "next"
- outside a loop block in ScanDeps.
- ! lib/Module/Install/Admin/ScanDeps.pm
-____________________________________________________________________________
-[ 1667] By: autrijus on 2003/08/18 08:18:40
- Log: * threads.pm and warnings.pm should be exempted too.
- ! lib/Module/Install/Admin/ScanDeps.pm
-____________________________________________________________________________
-[ 1666] By: autrijus on 2003/08/18 08:00:18
- Log: * This be 0.23.
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1665] By: autrijus on 2003/08/18 07:52:47
- Log: * implement $self->is_admin to properly test if it's
- running
- on the admin side.
- * Andreas Koenig reports that we are writing META.yml
- even on the user side, because of this bug.
- ! lib/Module/Install/Base.pm
- ! lib/Module/Install/Metadata.pm
-____________________________________________________________________________
-[ 1650] By: autrijus on 2003/07/29 06:03:27
- Log: * switch to PAR::Dist to do make_par.
- ! Makefile.PL lib/Module/Install/PAR.pm
-____________________________________________________________________________
-[ 1648] By: autrijus on 2003/07/16 01:09:42
- Log: * oops. bad RCS expansion.
- ! lib/Module/Install/Makefile/Version.pm
-____________________________________________________________________________
-[ 1647] By: autrijus on 2003/07/16 01:07:55
- Log: * This be 0.22.
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1646] By: autrijus on 2003/07/16 01:05:17
- Log: * extra space.
- ! lib/Module/Install/Admin/Makefile.pm
-____________________________________________________________________________
-[ 1645] By: autrijus on 2003/07/16 01:05:06
- Log: * Turns out that MakeMaker's NAME corresponds to
- META.yml's module_name, and DISTNAME corresponds
- to name. Reflect this in the relevant files.
- * Introduce a new module_name metadata key that may
- be automatically generated from name.
- ! lib/Module/Install/MakeMaker.pm
- ! lib/Module/Install/Makefile.pm
- ! lib/Module/Install/Makefile/Name.pm
- ! lib/Module/Install/Metadata.pm
-____________________________________________________________________________
-[ 1644] By: autrijus on 2003/07/16 01:03:35
- Log: * /\.pm/i should be /\.pm$/i.
- ! lib/Module/Install/Makefile/Version.pm
-____________________________________________________________________________
-[ 1643] By: autrijus on 2003/07/16 01:02:58
- Log: * AZ_OK was never exported.
- ! lib/Module/Install/PAR.pm
-____________________________________________________________________________
-[ 1642] By: autrijus on 2003/07/10 18:53:37
- Log: * Iain Truskett wants us to not overwrite alien META.yml
- files.
- ! lib/Module/Install/Metadata.pm
-____________________________________________________________________________
-[ 1640] By: autrijus on 2003/07/08 17:05:46
- Log: * always write META.yml. No reason not to.
- ! lib/Module/Install/Metadata.pm
-____________________________________________________________________________
-[ 1618] By: iain on 2003/06/22 17:27:18
- Log: - PREREQ_PM wasn't being filled out.
- ! lib/Module/Install/Makefile.pm
-____________________________________________________________________________
-[ 1617] By: iain on 2003/06/22 17:26:18
- Log: - Should be including YAML dependencies too.
- ! lib/Module/Install/Metadata.pm
-____________________________________________________________________________
-[ 1611] By: autrijus on 2003/06/15 21:25:43
- Log: * POD cleanups.
- * This be 0.21.
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1610] By: autrijus on 2003/06/15 21:25:29
- Log: * Lindsay Morris pointed out that include_deps()
- does not work with non-core modules; fixed.
- ! lib/Module/Install/Admin/ScanDeps.pm
-____________________________________________________________________________
-[ 1589] By: autrijus on 2003/06/05 06:37:13
- Log: * changes.
- ! Changes
-____________________________________________________________________________
-[ 1588] By: autrijus on 2003/06/05 06:34:26
- Log: * This be Module::Install 0.20.
- * add pointer to ingy's TPJ article.
- ! README lib/Module/Install-Cookbook.pod
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1561] By: ingy on 2003/05/28 00:33:11
- Log: Caused warning on 5.005
- ! lib/Module/Install/Makefile.pm
-____________________________________________________________________________
-[ 1558] By: autrijus on 2003/05/26 22:01:20
- Log: * oops. back out the article until copyright cleared with
- tpj.
- - lib/Module/Install-Intro.pod
-____________________________________________________________________________
-[ 1557] By: autrijus on 2003/05/26 02:19:12
- Log: * add Ingy's TPJ article as Module::Install-Intro.
- * ramping up to the 0.20 release.
- + lib/Module/Install-Intro.pod
- ! Makefile.PL lib/Module/Install.pm
-____________________________________________________________________________
-[ 1556] By: autrijus on 2003/05/26 01:55:20
- Log: * added the "package inc::Module::Install;" line at
- request by Graham Barr, for search.cpan.org.
- ! lib/inc/Module/Install.pm
-____________________________________________________________________________
-[ 1555] By: autrijus on 2003/05/25 11:48:33
- Log: * close META before zipping; otherwise trips on win32.
- ! lib/Module/Install/PAR.pm
-____________________________________________________________________________
-[ 1554] By: autrijus on 2003/05/25 05:28:16
- Log: * oops.
- ! lib/Module/Install/PAR.pm
-____________________________________________________________________________
-[ 1553] By: autrijus on 2003/05/25 05:23:26
- Log: * change magic for modern geckos
- ! lib/Module/Install/PAR.pm
-____________________________________________________________________________
-[ 1552] By: autrijus on 2003/05/25 01:11:03
- Log: * only expands arrayrefs that occurs as the key, not value,
- block.
- ! lib/Module/Install/Metadata.pm
-____________________________________________________________________________
-[ 1551] By: autrijus on 2003/05/25 00:01:02
- Log: * requires(), build_requires(), recommends() etc can now
- take
- multiple pairs in addition to a single pair.
- ! lib/Module/Install/Metadata.pm
-____________________________________________________________________________
-[ 1550] By: autrijus on 2003/05/24 12:43:10
- Log: * add standard MANIFEST and META.yml to generated PAR file.
- ! lib/Module/Install/PAR.pm
-____________________________________________________________________________
-[ 1537] By: iain on 2003/05/20 22:50:53
- Log: Implemented the &Meta->read mentioned in the main docs.
- ! lib/Module/Install/Metadata.pm
-____________________________________________________________________________
-[ 1533] By: autrijus on 2003/05/20 01:46:16
- Log: * changes.
- ! Changes
-____________________________________________________________________________
-[ 1532] By: autrijus on 2003/05/20 01:27:31
- Log: * This be 0.19_99.
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1531] By: autrijus on 2003/05/20 01:25:43
- Log: * our version of WriteMakefile was failing to fine Meta
- object. fixed.
- ! lib/Module/Install/MakeMaker.pm
-____________________________________________________________________________
-[ 1529] By: ingy on 2003/05/19 21:06:26
- Log: 'make reset' now just an author side alias for 'make
- purge'.
- Perhaps I should remove altogether.
- ! lib/Module/Install/Admin/Makefile.pm
-____________________________________________________________________________
-[ 1520] By: ingy on 2003/05/16 14:31:01
- Log: make reset is really just make realclean. no need to be
- different.
- ! lib/Module/Install/Admin/Makefile.pm
-____________________________________________________________________________
-[ 1517] By: autrijus on 2003/05/15 11:41:01
- Log: * the whole #! business is unneeded since MakeMaker does
- that.
- ! lib/Module/Install/Scripts.pm
-____________________________________________________________________________
-[ 1516] By: autrijus on 2003/05/15 11:14:59
- Log: * avoid warnings.
- ! lib/Module/Install/Makefile.pm
-____________________________________________________________________________
-[ 1515] By: autrijus on 2003/05/15 11:09:47
- Log: * don't skip other non-pm inc/ stuff when checking
- manifest!
- ! lib/Module/Install/Admin/Manifest.pm
-____________________________________________________________________________
-[ 1514] By: autrijus on 2003/05/15 10:02:29
- Log: * more ->prompt consistency police actions
- * the hashbang line should be the first not last in
- scripts.
- * also people may not always like -w.
- ! lib/Module/Install/Scripts.pm
-____________________________________________________________________________
-[ 1513] By: autrijus on 2003/05/15 09:51:28
- Log: * we reall want to rmtree the distdir so that 'make
- manifest'
- won't include clobbered files after an aborted 'make dist'.
- * fix consistency: ->prompt() should only take one line of
- prompt
- and excepts y/n.
- ! lib/Module/Install/Admin/Makefile.pm
- ! lib/Module/Install/Admin/Manifest.pm
-____________________________________________________________________________
-[ 1511] By: autrijus on 2003/05/14 14:21:46
- Log: * changes.
- ! Changes
-____________________________________________________________________________
-[ 1510] By: autrijus on 2003/05/14 14:19:04
- Log: * 0.19_98.
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1509] By: autrijus on 2003/05/14 13:54:36
- Log: * adds #line directive to inc/ files and note their
- origins -- this helps to debug stuff from original files.
- ! lib/Module/Install/Admin.pm
-____________________________________________________________________________
-[ 1508] By: autrijus on 2003/05/14 13:21:23
- Log: * the M::I::private is now encouraged to switch to
- M::I::PRIVATE -- it's non-mandatory, but makes it stand
- out.
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1502] By: iain on 2003/05/13 01:28:08
- Log: Latest EU::MM writes a META.yml file. So do we, so we stop
- EU::MM.
- ! lib/Module/Install/Makefile.pm
-____________________________________________________________________________
-[ 1486] By: ingy on 2003/05/08 11:33:37
- Log: 5.005 bug
- ! lib/Module/Install/Scripts.pm
-____________________________________________________________________________
-[ 1483] By: autrijus on 2003/05/08 01:26:46
- Log: * This be 0.19_97.
- * explains the new "nuke-inc/-for-authors" mechanics.
- ! lib/Module/Install.pm
- ! lib/inc/Module/Install.pm
-____________________________________________________________________________
-[ 1481] By: autrijus on 2003/05/07 10:41:22
- Log: * fix for 5.005 build.
- ! lib/Module/Install/AutoInstall.pm
- ! lib/Module/Install/Makefile.pm
- ! lib/Module/Install/PAR.pm
-____________________________________________________________________________
-[ 1480] By: ingy on 2003/05/07 10:39:42
- Log: Since I nuke the inc/ in inc::Module::Include, this code
- was
- unnecessary.
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1479] By: autrijus on 2003/05/06 20:00:48
- Log: * add scripts.pm to manifest.
- ! MANIFEST
-____________________________________________________________________________
-[ 1478] By: autrijus on 2003/05/06 19:58:25
- Log: * changes.
- ! Changes
-____________________________________________________________________________
-[ 1477] By: autrijus on 2003/05/06 19:58:01
- Log: * changes.
- ! lib/Module/Install/Metadata.pm
-____________________________________________________________________________
-[ 1476] By: autrijus on 2003/05/06 19:50:52
- Log: * 19_96 snapshot.
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1475] By: autrijus on 2003/05/06 19:50:44
- Log: * WriteMakefile() now also calls &Meta->write since that's
- the direction schwern's going, too.
- ! lib/Module/Install/MakeMaker.pm
-____________________________________________________________________________
-[ 1474] By: ingy on 2003/05/05 15:25:47
- Log: Module::Install keys off inc/.author/ directory now.
- Autrijus, Please look this over carefully. Seems to work
- ok.
- ! lib/Module/Install.pm
- ! lib/Module/Install/Admin/Makefile.pm
- ! lib/inc/Module/Install.pm
-____________________________________________________________________________
-[ 1418] By: autrijus on 2003/04/07 08:40:18
- Log: * fix cases where Win32 has space in $^X.
- ! lib/Module/Install/PAR.pm
-____________________________________________________________________________
-[ 1405] By: autrijus on 2003/03/30 14:11:40
- Log: * add a mental hint from schwern.
- ! ToDo
-____________________________________________________________________________
-[ 1402] By: autrijus on 2003/03/27 08:15:08
- Log: * changes.
- ! Changes
-____________________________________________________________________________
-[ 1401] By: autrijus on 2003/03/27 08:11:53
- Log: * the 19_95 development snapshot.
- ! Makefile.PL README lib/Module/Install.pm
-____________________________________________________________________________
-[ 1398] By: autrijus on 2003/03/26 08:45:50
- Log: * Peter Sergeant reported a possible 5.005 glitch.
- ! lib/Module/Install/Makefile.pm
-____________________________________________________________________________
-[ 1397] By: autrijus on 2003/03/23 21:44:22
- Log: * rcs header.
- ! lib/Module/Install/Admin/Makefile.pm
- ! lib/Module/Install/Scripts.pm
-____________________________________________________________________________
-[ 1396] By: autrijus on 2003/03/23 21:44:16
- Log: * backing out dysfunctional magic.
- ! lib/Module/Install/Admin.pm
-____________________________________________________________________________
-[ 1395] By: ingy on 2003/03/23 15:09:08
- Log: This module makes it easy to install scripts in
- distributions.
- + lib/Module/Install/Scripts.pm
-____________________________________________________________________________
-[ 1394] By: ingy on 2003/03/23 09:19:43
- Log: extra cleaning
- ! lib/Module/Install/Admin/Makefile.pm
-____________________________________________________________________________
-[ 1393] By: ingy on 2003/03/23 09:19:28
- Log: Backing out until Autrijus fixes Admin-to-Admin calling
- ! lib/Module/Install/Admin/Manifest.pm
-____________________________________________________________________________
-[ 1392] By: ingy on 2003/03/23 09:12:23
- Log: .
- ! MANIFEST.SKIP
-____________________________________________________________________________
-[ 1391] By: autrijus on 2003/03/22 23:25:16
- Log: * some preliminary fix.
- ! lib/Module/Install/Admin.pm
- ! lib/Module/Install/Admin/Manifest.pm
-____________________________________________________________________________
-[ 1390] By: ingy on 2003/03/22 22:04:23
- Log: This patch works, but needs refactoring.
- I had to duplicate code because I could not figure out how
- to call
- methods across Admin modules. HELP!
- ! MANIFEST lib/Module/Install/Admin/Makefile.pm
- ! lib/Module/Install/Admin/Manifest.pm
- ! lib/Module/Install/Build.pm
- ! lib/Module/Install/Makefile.pm
-____________________________________________________________________________
-[ 1389] By: ingy on 2003/03/22 18:20:49
- Log: adding admin module
- + lib/Module/Install/Admin/Makefile.pm
-____________________________________________________________________________
-[ 1388] By: ingy on 2003/03/22 17:54:28
- Log: Added support for checking the MANIFEST on 'make dist'.
- Refactored the fix_up_makefile()
- ! lib/Module/Install/Makefile.pm
-____________________________________________________________________________
-[ 1387] By: autrijus on 2003/03/22 15:50:18
- Log: * sudo installation support.
- ! lib/Module/Install/AutoInstall.pm
-____________________________________________________________________________
-[ 1386] By: autrijus on 2003/03/22 15:09:03
- Log: * fix cleaninstall.
- ! MANIFEST Makefile.PL
-____________________________________________________________________________
-[ 1384] By: ingy on 2003/03/22 14:03:27
- Log: Setting +w
- ! MANIFEST
-____________________________________________________________________________
-[ 1383] By: ingy on 2003/03/22 14:00:19
- Log: Oops. I busted 'make reset' on last fix. Fixed.
- ! lib/Module/Install/Admin.pm
-____________________________________________________________________________
-[ 1382] By: ingy on 2003/03/22 13:55:14
- Log: A fix for the segfaults I was getting. This fix demands:
-
- use inc::Module::Install;
-
- over:
-
- use lib 'inc';
- use Module::Install;
-
- But the latter was busted on first run anyway (segfault).
- ! MANIFEST lib/Module/Install.pm
-____________________________________________________________________________
-[ 1381] By: autrijus on 2003/03/22 10:51:21
- Log: * adding manifest back in.
- + MANIFEST
-____________________________________________________________________________
-[ 1380] By: autrijus on 2003/03/22 07:16:08
- Log: * beginning of a cookbook
- ! lib/Module/Install-Cookbook.pod
-____________________________________________________________________________
-[ 1379] By: autrijus on 2003/03/22 07:15:33
- Log: * better stripping to be more perl-like but less
- podspec-like
- ! lib/Module/Install/Admin.pm
-____________________________________________________________________________
-[ 1376] By: autrijus on 2003/03/19 04:49:04
- Log: * attach / for ftp urls, too.
- ! lib/Module/Install/PAR.pm
-____________________________________________________________________________
-[ 1375] By: autrijus on 2003/03/18 12:29:32
- Log: * switching to @INC instead of use base because it's broken
- on 5.6.0.
- * sad but true.
- ! lib/Module/Install/Admin/Find.pm
- ! lib/Module/Install/Admin/Manifest.pm
- ! lib/Module/Install/Admin/Metadata.pm
- ! lib/Module/Install/Admin/ScanDeps.pm
- ! lib/Module/Install/AutoInstall.pm
- ! lib/Module/Install/Base.pm
- ! lib/Module/Install/Build.pm
- ! lib/Module/Install/Bundle.pm
- ! lib/Module/Install/Include.pm
- ! lib/Module/Install/Inline.pm
- ! lib/Module/Install/MakeMaker.pm
- ! lib/Module/Install/Makefile.pm
- ! lib/Module/Install/Makefile/Name.pm
- ! lib/Module/Install/Makefile/Version.pm
- ! lib/Module/Install/Metadata.pm
- ! lib/Module/Install/Run.pm
-____________________________________________________________________________
-[ 1374] By: autrijus on 2003/03/18 11:50:15
- Log: * new ftp_url args to specify non-http alternatives.
- * find out the http location to nmake15.exe.
- ! lib/Module/Install/Fetch.pm
- ! lib/Module/Install/PAR.pm
- ! lib/Module/Install/Win32.pm
-____________________________________________________________________________
-[ 1373] By: autrijus on 2003/03/18 11:33:41
- Log: * preliminary http support in Fetch.
- * use that for CPAN.
- ! lib/Module/Install/Fetch.pm
- ! lib/Module/Install/PAR.pm
-____________________________________________________________________________
-[ 1372] By: autrijus on 2003/03/18 11:18:27
- Log: * fix incorrect $cmd overwriting
- ! lib/Module/Install/Can.pm
-____________________________________________________________________________
-[ 1371] By: autrijus on 2003/03/18 04:22:04
- Log: * they are private extensions, therefore private >
- PERSONAL.
- (it's not an acronym, it's a local config, like
- only::config,
- hence the lowercase).
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1364] By: ingy on 2003/03/11 22:44:50
- Log: I assume this is a bug...
- ! lib/Module/Install/Can.pm
-____________________________________________________________________________
-[ 1363] By: autrijus on 2003/03/11 22:38:28
- Log: * don't delete just overlay, so we don't' trigger 5.8 bugs.
- ! lib/Module/Install/Admin.pm
-____________________________________________________________________________
-[ 1362] By: autrijus on 2003/03/11 06:39:24
- Log: * make fetch non-fatal, thanks to Markus.
- ! lib/Module/Install/Can.pm
- ! lib/Module/Install/Fetch.pm
-____________________________________________________________________________
-[ 1361] By: autrijus on 2003/03/11 02:13:18
- Log: * docs adjustment.
- ! lib/Module/Install/Base.pm
-____________________________________________________________________________
-[ 1360] By: autrijus on 2003/03/11 01:53:52
- Log: * empty run.pm.
- ! lib/Module/Install/Run.pm
-____________________________________________________________________________
-[ 1359] By: autrijus on 2003/03/11 01:49:03
- Log: * docs.
- ! lib/Module/Install.pm
- ! lib/Module/Install/Admin.pm
- ! lib/inc/Module/Install.pm
-____________________________________________________________________________
-[ 1358] By: autrijus on 2003/03/11 01:35:15
- Log: * move capacities into Can.
- +> lib/Module/Install/Can.pm
-____________________________________________________________________________
-[ 1347] By: autrijus on 2003/03/10 00:25:34
- Log: * make fetch_par use the correct name.
- ! lib/Module/Install/PAR.pm
-____________________________________________________________________________
-[ 1345] By: autrijus on 2003/03/10 00:10:13
- Log: * we don't _really_ want to bundle M::B.
- ! Makefile.PL
-____________________________________________________________________________
-[ 1344] By: autrijus on 2003/03/10 00:10:02
- Log: * beginning of bundle support.
- + lib/Module/Install/Bundle.pm
- ! lib/Module/Install.pm
- ! lib/Module/Install/Makefile.pm
- ! lib/Module/Install/Metadata.pm
-____________________________________________________________________________
-[ 1343] By: autrijus on 2003/03/09 23:46:12
- Log: * according to ingy, Inline is required, not
- build_required.
- ! lib/Module/Install/Inline.pm
-____________________________________________________________________________
-[ 1342] By: autrijus on 2003/03/09 23:41:34
- Log: * make include_dep('Inline') work.
- ! lib/Module/Install/Inline.pm
-____________________________________________________________________________
-[ 1341] By: autrijus on 2003/03/09 23:28:03
- Log: * add section markers to makefiles.
- * beginning of Inline support.
- * mention Inline and PAR in M::I manpage.
- * WriteMakefile() now does argument translation so it
- can work with other ::Metadata-related mechanisms.
- + lib/Module/Install/Inline.pm
- ! ToDo lib/Module/Install.pm
- ! lib/Module/Install/AutoInstall.pm
- ! lib/Module/Install/MakeMaker.pm
- ! lib/Module/Install/Makefile.pm
- ! lib/Module/Install/PAR.pm
-____________________________________________________________________________
-[ 1340] By: autrijus on 2003/03/09 23:26:56
- Log: * redid find_in_inc as glob_in_inc.
- ! Makefile.PL lib/Module/Install/Admin/Find.pm
- ! lib/Module/Install/Admin/Manifest.pm
- ! lib/Module/Install/Admin/ScanDeps.pm
- ! lib/Module/Install/Include.pm
-____________________________________________________________________________
-[ 1337] By: autrijus on 2003/03/09 06:07:19
- Log: * oops, no need for $suffix anymore.
- ! lib/Module/Install/PAR.pm
-____________________________________________________________________________
-[ 1336] By: autrijus on 2003/03/09 06:00:16
- Log: * ditch DISTVNAME for the more consistent $file.
- ! lib/Module/Install/PAR.pm
-____________________________________________________________________________
-[ 1335] By: autrijus on 2003/03/09 04:36:05
- Log: * don't feature anything by default.
- ! Makefile.PL
-____________________________________________________________________________
-[ 1334] By: autrijus on 2003/03/09 04:34:44
- Log: * adds PAR and Build prereqs.
- ! lib/Module/Install/PAR.pm
-____________________________________________________________________________
-[ 1333] By: autrijus on 2003/03/09 04:34:29
- Log: * 5.6.1 doesn't have PERLRUN ;)
- ! Makefile.PL lib/Module/Install/Makefile.pm
-____________________________________________________________________________
-[ 1332] By: autrijus on 2003/03/09 04:18:29
- Log: * various 5.6.1-building tweaks
- ! Makefile.PL
- ! lib/Module/Install/Admin/Manifest.pm
- ! lib/Module/Install/Admin/ScanDeps.pm
-____________________________________________________________________________
-[ 1331] By: autrijus on 2003/03/09 03:25:51
- Log: * nmake doesn't do PERLRUN lookahead. bummer.
- ! lib/Module/Install/PAR.pm
-____________________________________________________________________________
-[ 1330] By: autrijus on 2003/03/09 03:20:48
- Log: * turns out $0 doesn't guarantee casing.
- ! Makefile.PL
-____________________________________________________________________________
-[ 1329] By: autrijus on 2003/03/09 03:19:04
- Log: * prefer more orthodox quoting for nmake.
- ! lib/Module/Install/Makefile.pm
- ! lib/Module/Install/PAR.pm
-____________________________________________________________________________
-[ 1328] By: autrijus on 2003/03/08 13:42:14
- Log: * implments auto_install_now() to solve bootstrap issues.
- * M::I::B now delays requiring Module::Build till it's
- actual needed.
- ! Makefile.PL lib/Module/Install/AutoInstall.pm
- ! lib/Module/Install/Build.pm
-____________________________________________________________________________
-[ 1326] By: autrijus on 2003/03/08 09:16:07
- Log: * spelling corrections.
- ! lib/Module/Install/AutoInstall.pm
- ! lib/Module/Install/PAR.pm
-____________________________________________________________________________
-[ 1325] By: autrijus on 2003/03/08 08:56:10
- Log: * i don't like correcting myself.
- ! lib/Module/Install/Admin/Manifest.pm
-____________________________________________________________________________
-[ 1324] By: autrijus on 2003/03/08 08:53:29
- Log: * this too.
- ! lib/Module/Install/Makefile.pm
-____________________________________________________________________________
-[ 1323] By: autrijus on 2003/03/08 08:52:50
- Log: * correct perlrun line.
- ! lib/Module/Install/PAR.pm
-____________________________________________________________________________
-[ 1322] By: autrijus on 2003/03/08 08:11:40
- Log: * returns the fetched file.
- ! lib/Module/Install/PAR.pm
-____________________________________________________________________________
-[ 1321] By: autrijus on 2003/03/08 07:33:19
- Log: * failed reference lesson 101.
- ! lib/Module/Install/Makefile.pm
-____________________________________________________________________________
-[ 1320] By: autrijus on 2003/03/08 07:27:42
- Log: * ok, i lied.
- ! lib/Module/Install/PAR.pm
-____________________________________________________________________________
-[ 1319] By: autrijus on 2003/03/08 07:25:14
- Log: * final tweak.
- ! lib/Module/Install/PAR.pm
-____________________________________________________________________________
-[ 1318] By: autrijus on 2003/03/08 07:20:24
- Log: * fix messages for compactness.
- ! lib/Module/Install/PAR.pm
-____________________________________________________________________________
-[ 1317] By: autrijus on 2003/03/08 06:25:04
- Log: * shorter can_run().
- ! lib/Module/Install/Run.pm
-____________________________________________________________________________
-[ 1316] By: autrijus on 2003/03/08 06:09:48
- Log: * refactor out par_fetch.
- ! lib/Module/Install/PAR.pm
-____________________________________________________________________________
-[ 1315] By: autrijus on 2003/03/08 02:43:21
- Log: * oops.
- ! lib/Module/Install/Metadata.pm
-____________________________________________________________________________
-[ 1314] By: autrijus on 2003/03/08 02:41:17
- Log: * $@ warning is now restored.
- * cleaners Metadata dump.
- ! lib/Module/Install.pm
- ! lib/Module/Install/Metadata.pm
-____________________________________________________________________________
-[ 1313] By: autrijus on 2003/03/08 02:30:22
- Log: * don't test for signature if we don't have it yet.
- ! t/0-signature.t
-____________________________________________________________________________
-[ 1312] By: autrijus on 2003/03/08 02:29:26
- Log: * oops, PAR files starts at lib/, arch/ not blib/.
- ! lib/Module/Install/PAR.pm
-____________________________________________________________________________
-[ 1311] By: autrijus on 2003/03/08 01:32:42
- Log: * -w runs clean now.
- * fix Manifest.pm to look all of inc/. it was always the
- case but only because a bug ($DIR was always undef).
- * more robust detection for ScanDeps.
- * AutoInstall is also -w clean now.
- ! lib/Module/Install/Admin/Manifest.pm
- ! lib/Module/Install/Admin/ScanDeps.pm
- ! lib/Module/Install/AutoInstall.pm
-____________________________________________________________________________
-[ 1310] By: autrijus on 2003/03/08 01:29:15
- Log: * continue razoring. $extension->initialized is gone.
- yagni.
- (->initialized is always false iff ->admin is true.)
- * nix the only place we use initialized().
- ! lib/Module/Install/Admin.pm
- ! lib/Module/Install/Base.pm
- ! lib/Module/Install/Metadata.pm
-____________________________________________________________________________
-[ 1309] By: autrijus on 2003/03/08 01:27:31
- Log: * beginning of -w saftety patches.
- * M::I->admin is gone. yagni at all.
- * simplify load_extensions so we do not load a file twice.
- * don't attempt finding in paths that does not exist.
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1308] By: autrijus on 2003/03/07 22:46:17
- Log: * massive documentation rework, phase #1.
- ! ToDo lib/Module/Install.pm
- ! lib/Module/Install/Admin.pm
- ! lib/Module/Install/Base.pm
-____________________________________________________________________________
-[ 1299] By: autrijus on 2003/03/07 18:04:41
- Log: * local @INC *not* needed if inc/ is the first @INC
- element.
- * also check for duplicate @INC insertion in admin.
- ! lib/Module/Install/Admin.pm
-____________________________________________________________________________
-[ 1298] By: autrijus on 2003/03/07 17:58:06
- Log: * look in all @INC not just the first.
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1297] By: autrijus on 2003/03/07 17:55:15
- Log: * still need to tweak @INC before loading extensions,
- otherwise inc/ExtUtils/AutoInstall etc won't be loaded.
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1296] By: autrijus on 2003/03/07 17:51:50
- Log: * nomenclature fix. remove unneccessary unshift.
- * readability fix from #perl.
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1295] By: autrijus on 2003/03/07 09:51:59
- Log: * better messages.
- * 01:48 <kaneX> you just made napc using par?
- * 01:48 <autrijus> an important piece of napc, yes.
- * 01:49 <autrijus> will be a full napc with some kind of
- discovery network.
- * 01:49 <autrijus> but the hardest bit is done!
- ! lib/Module/Install/PAR.pm
-____________________________________________________________________________
-[ 1294] By: autrijus on 2003/03/07 09:20:43
- Log: * all magics are broken with the new oo model till this
- fix.
- ! lib/Module/Install.pm
- ! lib/inc/Module/Install.pm
-____________________________________________________________________________
-[ 1293] By: autrijus on 2003/03/07 09:11:39
- Log: * up the stake to 0.45.
- ! lib/Module/Install/AutoInstall.pm
-____________________________________________________________________________
-[ 1292] By: autrijus on 2003/03/07 08:56:21
- Log: * don't download PAR distributions since we are, uhm, not
- binary.
- ! Makefile.PL
-____________________________________________________________________________
-[ 1291] By: autrijus on 2003/03/07 08:56:07
- Log: * generic support for EU::AI without recommends().
- ! lib/Module/Install/AutoInstall.pm
- ! lib/Module/Install/Metadata.pm
-____________________________________________________________________________
-[ 1290] By: autrijus on 2003/03/07 08:55:15
- Log: * lazybones documentation 101: delete all modules you
- didn't get to write docs for ;)
- * seriously, clean_files is definitely Makefile domain, not
- 'Directives'.
- - lib/Module/Install/Directives.pm
- ! lib/Module/Install.pm
- ! lib/Module/Install/Makefile.pm
-____________________________________________________________________________
-[ 1288] By: autrijus on 2003/03/06 21:32:32
- Log: * doco and typo
- + lib/Module/Install-Cookbook.pod
- ! Makefile.PL lib/Module/Install-Philosophy.pod
-____________________________________________________________________________
-[ 1287] By: autrijus on 2003/03/06 19:55:47
- Log: * add build-friendly manifest.skip
- ! MANIFEST.SKIP
-____________________________________________________________________________
-[ 1286] By: autrijus on 2003/03/06 19:54:38
- Log: * kill todo so poor case-insensitive sods won't be
- confused.
- - TODO
-____________________________________________________________________________
-[ 1285] By: autrijus on 2003/03/06 19:53:42
- Log: * Build.PL is now merely an alias for Makefile.PL
- * doc tweaks
- ! Build.PL Makefile.PL
- ! lib/Module/Install/Build.pm
-____________________________________________________________________________
-[ 1284] By: autrijus on 2003/03/06 19:51:49
- Log: * autoinstall lands!
- ! lib/Module/Install/AutoInstall.pm
- ! lib/Module/Install/Include.pm
- ! lib/Module/Install/Metadata.pm
-____________________________________________________________________________
-[ 1282] By: ingy on 2003/03/06 11:34:16
- Log: *
- ! ToDo lib/Module/Install/Admin/Manifest.pm
-____________________________________________________________________________
-[ 1281] By: autrijus on 2003/03/06 09:01:45
- Log: * correct invocation.
- ! lib/Module/Install/Makefile.pm
-____________________________________________________________________________
-[ 1280] By: autrijus on 2003/03/06 09:01:31
- Log: * pick() now prefers more recently modified extensions.
- * it can also take a default of first by pressing 'enter'.
- ! lib/Module/Install/Admin.pm
-____________________________________________________________________________
-[ 1279] By: autrijus on 2003/03/06 09:00:51
- Log: * add M::I::A::Metadata to docs.
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1278] By: autrijus on 2003/03/06 08:50:03
- Log: * nomenclature.
- ! lib/Module/Install/Admin/Metadata.pm
-____________________________________________________________________________
-[ 1277] By: autrijus on 2003/03/06 08:49:40
- Log: * Util is now gone. Metadata.pm now in.
- +> lib/Module/Install/Admin/Metadata.pm
- - lib/Module/Install/Admin/Util.pm
-____________________________________________________________________________
-[ 1276] By: autrijus on 2003/03/06 08:48:13
- Log: * introduces M::I::A::Find to contain all find-related
- stuff.
- + lib/Module/Install/Admin/Find.pm
- ! lib/Module/Install/Admin/Manifest.pm
- ! lib/Module/Install/Admin/ScanDeps.pm
-____________________________________________________________________________
-[ 1275] By: autrijus on 2003/03/06 08:47:53
- Log: * continue moving out Util.
- ! lib/Module/Install/Makefile.pm
-____________________________________________________________________________
-[ 1274] By: autrijus on 2003/03/06 08:47:14
- Log: * File::Find is shorter, why not?
- ! lib/Module/Install/Makefile/Name.pm
- ! lib/Module/Install/Makefile/Version.pm
-____________________________________________________________________________
-[ 1273] By: autrijus on 2003/03/06 08:46:30
- Log: * use M::I version instead of hard-coding Metadata.
- ! lib/Module/Install/Admin/Util.pm
- ! lib/Module/Install/Metadata.pm
-____________________________________________________________________________
-[ 1272] By: autrijus on 2003/03/06 08:45:46
- Log: * M::I::A can now export its own variant of AUTOLOAD into
- the calling package when directly used, like from command
- line.
- ! lib/Module/Install/Admin.pm
-____________________________________________________________________________
-[ 1271] By: autrijus on 2003/03/06 08:44:59
- Log: * $main::VARNAME considered broken. remove it completely.
- - lib/Module/Install/Makefile/CleanFiles.pm
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1270] By: autrijus on 2003/03/06 08:02:36
- Log: * i'm growing uneasy about the kitchen-sink name 'Util'.
- ! lib/Module/Install/Admin/Util.pm
-____________________________________________________________________________
-[ 1269] By: autrijus on 2003/03/06 07:55:53
- Log: * modernized Util.
- * constant refactoring continues.
- ! lib/Module/Install/Admin.pm
- ! lib/Module/Install/Admin/ScanDeps.pm
- ! lib/Module/Install/Admin/Util.pm
- ! lib/Module/Install/Include.pm
-____________________________________________________________________________
-[ 1268] By: autrijus on 2003/03/06 07:35:09
- Log: * cutesy style indenting. ;)
- ! Makefile.PL
-____________________________________________________________________________
-[ 1267] By: autrijus on 2003/03/06 07:34:59
- Log: * fixed admin dispatching.
- * adds build_requires.
- ! lib/Module/Install/Admin.pm
- ! lib/Module/Install/Metadata.pm
-____________________________________________________________________________
-[ 1266] By: autrijus on 2003/03/06 02:45:58
- Log: * pod-checked the manual.
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1265] By: autrijus on 2003/03/06 02:44:27
- Log: * spell-checked the docs.
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1264] By: autrijus on 2003/03/06 02:43:23
- Log: * split the Build.PL and Makefile.PL install path.
- + Build.PL
- ! Makefile.PL README
-____________________________________________________________________________
-[ 1263] By: autrijus on 2003/03/06 02:37:29
- Log: * vastly improved documentation.
- * continue refactoring to must _find_files inside Admin/.
- * we eventually wants to switch to Find::Files.
- ! README lib/Module/Install.pm
- ! lib/Module/Install/Admin/Manifest.pm
- ! lib/Module/Install/Base.pm
- ! lib/Module/Install/Include.pm
- ! lib/Module/Install/MakeMaker.pm
- ! lib/Module/Install/Makefile.pm
-____________________________________________________________________________
-[ 1262] By: autrijus on 2003/03/05 21:43:15
- Log: * amazing refactoring of M::I::A classes and class model.
- ! MANIFEST.SKIP lib/Module/Install.pm
- ! lib/Module/Install/Admin.pm
- ! lib/Module/Install/Base.pm
- ! lib/Module/Install/Build.pm
- ! lib/Module/Install/Include.pm
- ! lib/Module/Install/Makefile.pm
-____________________________________________________________________________
-[ 1261] By: ingy on 2003/03/05 20:17:46
- Log: .
- ! ToDo
-____________________________________________________________________________
-[ 1260] By: ingy on 2003/03/05 18:55:52
- Log: To Do list
- + ToDo
-____________________________________________________________________________
-[ 1258] By: ingy on 2003/03/05 16:24:33
- Log: You can do BOTH!!!
- ! Makefile.PL
-____________________________________________________________________________
-[ 1257] By: ingy on 2003/03/05 16:11:32
- Log: Works with Module::Build!!
-
- Need to ensure it uses included copy if Module::Build is
- included.
-
- Need to specify extra ACTIONs
-
- Probably lots of other stuff.
- + lib/Module/Install/Build.pm
- ! Makefile.PL
-____________________________________________________________________________
-[ 1256] By: ingy on 2003/03/05 14:08:36
- Log: Refactor bundle->include
-
- I think that 'include' is the term we should be used for
- non-installable files that go in the *inc* directory.
-
- Bundles will be complete distributions that will either go
- under
- BUNDLE/ or inc/BUNDLE or something.
- + lib/Module/Install/Include.pm
- - lib/Module/Install/Bundle.pm
- ! Changes Makefile.PL lib/Module/Install.pm
- ! lib/Module/Install/Admin.pm
- ! lib/Module/Install/Admin/ScanDeps.pm
-____________________________________________________________________________
-[ 1255] By: ingy on 2003/03/05 13:23:32
- Log: 'make reset' now gets rid of auto-generated META.yml and
- cleans out
- the MANIFEST of inc/ files.
- + lib/Module/Install/Admin/Util.pm
- - MANIFEST
- ! lib/Module/Install/Admin/Manifest.pm
- ! lib/Module/Install/Makefile.pm
-____________________________________________________________________________
-[ 1254] By: ingy on 2003/03/05 12:30:51
- Log: Honor the MANIFEST.SKIP
- I don't think we want to ship ./inc/Module/Install files,
- but we do
- want to ship ./inc/Test files etc.
- - Idea
- ! MANIFEST MANIFEST.SKIP
- ! lib/Module/Install/Admin/Manifest.pm
-____________________________________________________________________________
-[ 1253] By: ingy on 2003/03/05 11:38:56
- Log: Temporary fix to bootstrapping issue with Module::ScanDeps
- ! Makefile.PL
- ! lib/Module/Install/Admin/ScanDeps.pm
-____________________________________________________________________________
-[ 1252] By: autrijus on 2003/03/05 09:23:09
- Log: * change package name.
- ! lib/Module/Install/Admin/Manifest.pm
- ! lib/Module/Install/Admin/ScanDeps.pm
-____________________________________________________________________________
-[ 1251] By: autrijus on 2003/03/05 09:21:56
- Log: * move administrative-only extensions to M::I::A.
- +> lib/Module/Install/Admin/Manifest.pm
- +> lib/Module/Install/Admin/ScanDeps.pm
- - lib/Module/Install/Manifest.pm
- - lib/Module/Install/ScanDeps.pm
-____________________________________________________________________________
-[ 1250] By: autrijus on 2003/03/05 09:06:24
- Log: * first cut at bundle() and bundle_deps().
- * take the M::I::AI namespace.
- + lib/Module/Install/AutoInstall.pm
- + lib/Module/Install/Bundle.pm
- + lib/Module/Install/ScanDeps.pm
- ! Makefile.PL lib/Module/Install/Admin.pm
- ! lib/Module/Install/Base.pm
-____________________________________________________________________________
-[ 1249] By: autrijus on 2003/03/05 05:16:25
- Log: * please, please abide by the spec.
- ! lib/Module/Install/Admin.pm
-____________________________________________________________________________
-[ 1246] By: ingy on 2003/03/05 00:07:36
- Log: Made pod strip a bit more vigilant
- ! MANIFEST lib/Module/Install/Admin.pm
-____________________________________________________________________________
-[ 1245] By: ingy on 2003/03/04 23:57:46
- Log: I don't think 'mkdir' messages are that useful.
- ! MANIFEST lib/Module/Install/Admin.pm
-____________________________________________________________________________
-[ 1244] By: ingy on 2003/03/04 23:48:11
- Log: Giving up on having 'make reset' clean the MANIFEST. Maybe
- I try again
- later.
- ! MANIFEST lib/Module/Install/Makefile.pm
- ! lib/Module/Install/Manifest.pm
-____________________________________________________________________________
-[ 1243] By: autrijus on 2003/03/04 23:16:31
- Log: * correct invocation.
- ! lib/Module/Install/Makefile.pm
- ! lib/Module/Install/Manifest.pm
-____________________________________________________________________________
-[ 1242] By: autrijus on 2003/03/04 23:11:57
- Log: * fix ingy's thinko.
- ! lib/Module/Install/Manifest.pm
-____________________________________________________________________________
-[ 1241] By: ingy on 2003/03/04 23:09:11
- Log: checkin
- ! MANIFEST lib/Module/Install/Makefile.pm
- ! lib/Module/Install/Manifest.pm
-____________________________________________________________________________
-[ 1239] By: autrijus on 2003/03/04 22:56:00
- Log: * oops.
- ! MANIFEST
-____________________________________________________________________________
-[ 1238] By: autrijus on 2003/03/04 22:50:35
- Log: * cosmetic styles.
- ! Makefile.PL README lib/Module/Install/Fetch.pm
- ! t/0-signature.t
-____________________________________________________________________________
-[ 1237] By: autrijus on 2003/03/04 22:44:36
- Log: * now that we have MIB, move everything to subclass it.
- * also moves the vim hint line to top.
- + lib/Module/Install/MakeMaker.pm
- ! lib/Module/Install/Directives.pm
- ! lib/Module/Install/Fetch.pm
- ! lib/Module/Install/Makefile.pm
- ! lib/Module/Install/Makefile/CleanFiles.pm
- ! lib/Module/Install/Makefile/Name.pm
- ! lib/Module/Install/Makefile/Version.pm
- ! lib/Module/Install/Manifest.pm
- ! lib/Module/Install/Metadata.pm
- ! lib/Module/Install/Run.pm
- ! lib/Module/Install/Win32.pm
- ! lib/inc/Module/Install.pm
-____________________________________________________________________________
-[ 1236] By: autrijus on 2003/03/04 22:43:47
- Log: * use canonical POD stripping according to perlpodspec.
- * copy_package is now used to copy the @ISA tree too.
- * tweaked prompts in pick().
- ! lib/Module/Install/Admin.pm
-____________________________________________________________________________
-[ 1235] By: autrijus on 2003/03/04 22:36:08
- Log: * put documents into PODs to take advantage of stripping.
- * rewrote find_extensions to use File::Find.
- * M::I no longer sports an AUTOLOAD -- it's M::I::B's job
- now.
- * load_extensions now take another $top arg instead of
- guessing.
- * stop blind exporting into extension space.
- * introduces MIB.
- + lib/Module/Install/Base.pm
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1234] By: autrijus on 2003/03/04 22:33:36
- Log: * bring our manifest uptodate.
- ! MANIFEST
-____________________________________________________________________________
-[ 1233] By: ingy on 2003/03/04 20:39:00
- Log: Strip out POD when copying extensions.
- ! lib/Module/Install/Admin.pm
-____________________________________________________________________________
-[ 1232] By: ingy on 2003/03/04 19:36:13
- Log: Moved rest of POD into modules.
- - lib/Module/Install.pod
- - lib/Module/Install/Admin.pod
- - lib/Module/Install/Win32.pod
- ! lib/Module/Install.pm
- ! lib/Module/Install/Admin.pm
- ! lib/Module/Install/Win32.pm
-____________________________________________________________________________
-[ 1231] By: ingy on 2003/03/04 19:25:42
- Log: Refactored Manifest.pm
- Now removes entries appropriately
- Started inlining pod
- - lib/Module/Install/Makefile.pod
- - lib/Module/Install/Manifest.pod
- ! MANIFEST Makefile.PL
- ! lib/Module/Install/Admin.pm
- ! lib/Module/Install/Makefile.pm
- ! lib/Module/Install/Manifest.pm
- ! lib/Module/Install/Metadata.pm
-____________________________________________________________________________
-[ 1229] By: autrijus on 2003/03/04 04:07:59
- Log: * first cut at a workinc pick().
- ! lib/Module/Install/Admin.pm
-____________________________________________________________________________
-[ 1228] By: autrijus on 2003/03/04 04:01:24
- Log: * style changes, tabs, rcs.
- ! lib/Module/Install/Directives.pm
- ! lib/Module/Install/Makefile.pm
- ! lib/Module/Install/Metadata.pm
-____________________________________________________________________________
-[ 1223] By: autrijus on 2003/03/04 01:22:48
- Log: * use closures instead of the costly (and
- syntax-hilightning-nonfriendly) eval.
- ! lib/Module/Install/Metadata.pm
-____________________________________________________________________________
-[ 1222] By: ingy on 2003/03/04 00:54:06
- Log: Needed to require MM_Unix
- ! lib/Module/Install/Metadata.pm
-____________________________________________________________________________
-[ 1221] By: autrijus on 2003/03/04 00:50:51
- Log: * oops, left debug code in.
- ! lib/Module/Install/Win32.pm
-____________________________________________________________________________
-[ 1220] By: ingy on 2003/03/04 00:49:28
- Log: Tweks
- ! lib/Module/Install/Directives.pm
- ! lib/Module/Install/Makefile.pm
- ! lib/Module/Install/Manifest.pm
-____________________________________________________________________________
-[ 1217] By: ingy on 2003/03/04 00:12:24
- Log: Got basics of metadata working.
- ! lib/Module/Install/Makefile.pm
- ! lib/Module/Install/Metadata.pm
-____________________________________________________________________________
-[ 1216] By: autrijus on 2003/03/03 23:58:30
- Log: * oops. now display failures.
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1215] By: autrijus on 2003/03/03 23:56:31
- Log: * correct typo.
- ! lib/Module/Install/Makefile.pm
-____________________________________________________________________________
-[ 1214] By: ingy on 2003/03/03 23:52:56
- Log: Adding Metadata.pm extension - (in progress)
- + lib/Module/Install/Directives.pm
- + lib/Module/Install/Metadata.pm
- ! Makefile.PL lib/Module/Install/Admin.pm
- ! lib/Module/Install/Makefile.pm
- ! lib/Module/Install/Makefile/Name.pm
- ! lib/Module/Install/Makefile/Version.pm
-____________________________________________________________________________
-[ 1213] By: autrijus on 2003/03/03 23:07:45
- Log: * retab.
- ! Changes Makefile.PL README
- ! lib/Module/Install.pm
- ! lib/Module/Install/Admin.pm
- ! lib/Module/Install/Fetch.pm
- ! lib/Module/Install/Makefile.pm
- ! lib/Module/Install/Makefile/Name.pm
- ! lib/Module/Install/Makefile/Version.pm
- ! lib/Module/Install/Manifest.pm
- ! lib/Module/Install/Win32.pm t/0-signature.t
-____________________________________________________________________________
-[ 1212] By: autrijus on 2003/03/03 21:52:58
- Log: * oops, ->initialized is evaluating the incorrect object.
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1211] By: autrijus on 2003/03/03 21:37:50
- Log: * export initialized.
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1210] By: autrijus on 2003/03/03 21:36:49
- Log: * fix makefile arg() so that undef means read.
- ! lib/Module/Install/Makefile.pm
- ! lib/Module/Install/Makefile/Version.pm
-____________________________________________________________________________
-[ 1209] By: autrijus on 2003/03/03 21:35:42
- Log: * remove debug info.
- * inheritance now really works.
- ! lib/Module/Install/Admin.pm
-____________________________________________________________________________
-[ 1208] By: autrijus on 2003/03/03 21:34:39
- Log: * implement (import => [...]) that can override autoload.
- * provide ->initialized.
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1207] By: autrijus on 2003/03/03 20:20:22
- Log: * use stringified, not numeric, version.
- * s/require/do/; to prevent @INC abuse.
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1206] By: autrijus on 2003/03/03 20:19:42
- Log: * do not load Admin twice.
- * add new method, initialized, that returns false only
- during first run
- ! lib/Module/Install/Admin.pm
-____________________________________________________________________________
-[ 1205] By: ingy on 2003/03/03 13:36:30
- Log: Added version_from support
- ! lib/Module/Install/Makefile.pm
- ! lib/Module/Install/Makefile/Version.pm
-____________________________________________________________________________
-[ 1204] By: autrijus on 2003/03/02 21:32:55
- Log: * refactored the object model to be fully subclassable.
- * also ensures forward-compatibility by avoiding
- __PACKAGE__
- * the use of global variables and _copy flags are
- eliminated.
- * bootstrapping moved to ::Admin because never needed on
- user-side.
- ! lib/Module/Install.pm
- ! lib/Module/Install/Admin.pm
- ! lib/inc/Module/Install.pm
-____________________________________________________________________________
-[ 1203] By: autrijus on 2003/03/01 21:36:25
- Log: * remove possible '//' on weird search paths.
- ! lib/Module/Install/Manifest.pm
-____________________________________________________________________________
-[ 1202] By: autrijus on 2003/03/01 21:35:53
- Log: * clean up the Makefile OO model; ->makefile is now
- identity
- function returning the makefile object; ->arg is now the
- universal accessor to that object.
- ! lib/Module/Install/Makefile.pm
- ! lib/Module/Install/Makefile/CleanFiles.pm
- ! lib/Module/Install/Makefile/Name.pm
- ! lib/Module/Install/Makefile/Version.pm
-____________________________________________________________________________
-[ 1201] By: autrijus on 2003/03/01 21:35:11
- Log: * reintroduce copy() to tell user what we're doing.
- ! lib/Module/Install/Admin.pm
-____________________________________________________________________________
-[ 1200] By: autrijus on 2003/03/01 21:34:21
- Log: * do not fail silently on failed extensions.
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1199] By: autrijus on 2003/03/01 21:33:33
- Log: * spell checking + cleaning up
- ! TODO lib/Module/Install-Philosophy.pod
-____________________________________________________________________________
-[ 1198] By: autrijus on 2003/03/01 18:55:39
- Log: * move name() and version() to become accessor functions of
- Makefile object.
- ! lib/Module/Install/Makefile.pm
- ! lib/Module/Install/Makefile/Name.pm
- ! lib/Module/Install/Makefile/Version.pm
-____________________________________________________________________________
-[ 1197] By: autrijus on 2003/03/01 18:49:43
- Log: * unify varname 'object' to 'obj'.
- * remove a debug line.
- * decline from delegating all-uppercase like UNTIE, not
- only DESTROY
- * now $default_obj is only instantialized once.
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1196] By: autrijus on 2003/03/01 18:34:40
- Log: * minimizing i::M::I to avoid screwing up pause.
- ! lib/inc/Module/Install.pm
-____________________________________________________________________________
-[ 1195] By: autrijus on 2003/03/01 18:17:29
- Log: * oops, was copying inc::M::I instead of M::I.
- * use i::M::I ourselves for dogfooding.
- ! Makefile.PL lib/Module/Install/Admin.pm
-____________________________________________________________________________
-[ 1194] By: autrijus on 2003/03/01 18:09:17
- Log: * s/require/use/.
- ! lib/inc/Module/Install.pm
-____________________________________________________________________________
-[ 1193] By: ingy on 2003/03/01 17:44:27
- Log: Added name and version functions to user API
- Let's get this to the point where we don't accept any
- parameters
- passed into WriteMakefile.
-
- Which should be:
-
- makefile()->write;
-
- anyway :)
- ! lib/Module/Install/Makefile.pm
- ! lib/Module/Install/Makefile/Name.pm
- ! lib/Module/Install/Makefile/Version.pm
-____________________________________________________________________________
-[ 1192] By: ingy on 2003/03/01 16:47:50
- Log: Turning the prompt() function into a method call needed to
- be
- adjusted.
- ! lib/Module/Install/Makefile.pm
-____________________________________________________________________________
-[ 1191] By: ingy on 2003/03/01 16:34:47
- Log: Rearranged i::M::I to be a bit more straightforward.
- ! lib/inc/Module/Install.pm
-____________________________________________________________________________
-[ 1190] By: ingy on 2003/03/01 16:07:42
- Log: Did a little name-change refactoring whilst trying to
- figure out
- autrijus code. We need more tests to make sure things
- aren't breaking.
- I'm gonna start working on some tests soon.
- ! lib/Module/Install.pm
- ! lib/Module/Install/Admin.pm
-____________________________________________________________________________
-[ 1189] By: ingy on 2003/03/01 13:16:46
- Log: Make reset needs to blow away ./inc
- A purge routine seems yagni
- ! lib/Module/Install.pm
- ! lib/Module/Install/Makefile.pm
-____________________________________________________________________________
-[ 1188] By: autrijus on 2003/03/01 08:01:16
- Log: * change semantic: ->call now marks author-side calls;
- it will silently fail if no ::Admin is found.
- * ->load now marks client-side inclusion; it will guarantee
- that the provider is copied to inc/.
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1187] By: autrijus on 2003/03/01 04:31:52
- Log: * remove MakeMaker from MANIFEST.
- * it's now purge_extensions, not purge_self.
- ! MANIFEST lib/Module/Install/Makefile.pm
-____________________________________________________________________________
-[ 1186] By: autrijus on 2003/03/01 04:29:41
- Log: * it compiles. ship it!
- ! MANIFEST lib/Module/Install.pm
- ! lib/Module/Install/Admin.pm
- ! lib/Module/Install/Makefile.pm
- ! lib/Module/Install/Makefile/CleanFiles.pm
- ! lib/Module/Install/Makefile/Name.pm
- ! lib/Module/Install/Makefile/Version.pm
- ! lib/Module/Install/Manifest.pm
-____________________________________________________________________________
-[ 1185] By: autrijus on 2003/03/01 03:47:14
- Log: * The great OO refactoring, try #1.
- + lib/Module/Install/Fetch.pm
- + lib/Module/Install/Makefile/CleanFiles.pm
- + lib/Module/Install/Makefile/Name.pm
- + lib/Module/Install/Makefile/Version.pm
- + lib/Module/Install/Run.pm
- ! lib/Module/Install.pm
- ! lib/Module/Install/Admin.pm
- ! lib/Module/Install/Makefile.pm
- ! lib/Module/Install/Manifest.pm
- ! lib/Module/Install/Win32.pm
- ! lib/inc/Module/Install.pm
-____________________________________________________________________________
-[ 1184] By: autrijus on 2003/03/01 03:06:52
- Log: * s/MakeMaker/Makefile/ per ingy's ideas.
- +> lib/Module/Install/Makefile.pm
- +> lib/Module/Install/Makefile.pod
- - lib/Module/Install/MakeMaker.pm
- - lib/Module/Install/MakeMaker.pod
-____________________________________________________________________________
-[ 1182] By: autrijus on 2003/02/28 22:45:34
- Log: * oops, ingy pointed out that import wasn't working.
- ! lib/inc/Module/Install.pm
-____________________________________________________________________________
-[ 1181] By: autrijus on 2003/02/28 22:43:07
- Log: * strict 'refs' is not our concern.
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1180] By: autrijus on 2003/02/28 22:23:28
- Log: * wording fix.
- * add Ideas to manifest.
- ! MANIFEST Makefile.PL
-____________________________________________________________________________
-[ 1179] By: autrijus on 2003/02/28 22:23:07
- Log: * use strict-clean.
- ! lib/Module/Install.pm
-____________________________________________________________________________
-[ 1178] By: autrijus on 2003/02/28 19:12:54
- Log: * nis any mention of 'Beer'.
- * $DIR, $FILE, $PREFIX, $PACKAGE and &find_files are now
- always
- exported to extensions. This is subject to further
- OOization.
- ! TODO lib/Module/Install.pm
- ! lib/Module/Install/Manifest.pm
- ! lib/Module/Install/Win32.pod
-____________________________________________________________________________
-[ 1177] By: autrijus on 2003/02/28 19:01:12
- Log: * now search for extensions recursively.
- ! lib/Module/Install.pm
- ! lib/Module/Install/Admin.pm
-____________________________________________________________________________
-[ 1176] By: autrijus on 2003/02/28 18:31:57
- Log: * add Try(...) for an extension to call functions in
- another extension _without_ copying it in inc/.
- ! lib/Module/Install.pm
- ! lib/Module/Install/Admin.pm
- ! lib/Module/Install/MakeMaker.pm
- ! lib/Module/Install/Manifest.pm
- ! lib/Module/Install/Win32.pm
-____________________________________________________________________________
-[ 1174] By: autrijus on 2003/02/28 18:00:10
- Log: * the AUTOLOAD handler is now exported to all extensions.
- * everything now happens at import() time.
- ! lib/Module/Install.pm
- ! lib/Module/Install/Admin.pm
- ! lib/inc/Module/Install.pm
-____________________________________________________________________________
-[ 1171] By: autrijus on 2003/02/28 12:20:30
- Log: * slightly fixed, podchecked philosophy.pod
- + lib/Module/Install-Philosophy.pod
- ! MANIFEST
-____________________________________________________________________________
-[ 1170] By: autrijus on 2003/02/28 11:52:01
- Log: * swap docs between M::I and M::I::A.
- ! lib/Module/Install.pod
- ! lib/Module/Install/Admin.pod
+[Changes for 0.50 - 2005-12-26]
+
+* Fixed the bug where cpan signing was set forcibly to true instead
+ of defaulting to false.
+ Reported by: Martin Thurn and Randal Schwartz
+
+* Module::Install::Admin's copy() subroutine was using a lot of CPU
+ on inefficient regex matches, where a simple passthrough while()
+ line-processing loop would do.
+
+* The t/ directory is now listed in META.yml's no_index entries by
+ default, along with inc/.
+
+* YAML.pm is now listed as an explicit dependency.
+
+[Changes for 0.48 - 2005-12-26]
+
+* New Module::Install::Compiler extension with commands:
+ c_files(), inc_paths(), optimize_flags().
+
+[Changes for 0.47 - 2005-12-25]
+
+* Slight documentation cleanup and update Module::Install::Admin
+ version to 0.47; no functional changes.
+
+[Changes for 0.46 - 2005-12-22]
+
+* tests() should always take effect even if auto_install() or
+ makemaker_args() had set it before.
+ Reported by: Jesse Vincent.
+
+[Changes for 0.45 - 2005-12-16]
+
+* Improved detection for author_from() based on the copyright line
+ in addition to =head1 AUTHORS.
+
+* Bump version of Module::Install::Admin to match Module::Install.
+ Reported by: Sebastian Riedel
+
+[Changes for 0.44 - 2005-12-13]
+
+* Module::Install::Bundle now extract files correctly again;
+ this was a regression since 0.40.
+ Reported by: Randal Schwartz
+
+* Add support to Module::Includes::Bundle so each subdirectory
+ can use Module::Install for bundling.
+
+* The "bundles:" key in META.yml is now populated even if the
+ bundled modules already exist on the system.
+
+[Changes for 0.43 - 2005-12-12]
+
+* Better documentation to install_share().
+
+* New author_from() command to guess the author name from POD.
+
+* all_from() no longer probes for metadata that has been set before.
+
+[Changes for 0.42 - 2005-12-11]
+
+* auto_provides() was broken due to a typo.
+
+* New command install_share() to put a directory's content into the
+ per-distribution auto/ directory.
+
+[Changes for 0.41 - 2005-12-11]
+
+* Only query '$self->tests' if we haven't been given an explicit list
+ (From Paul Fenwick)
+
+* New command auto_provides() to calculate "provides:" information using
+ Module::Build. Requested by Chia-Liang Kao.
+
+[Changes for 0.40 - 2005-12-07]
+
+* Massively updated documentation (more to come later).
+
+* Parentheses are now optional in Makefile.PL.
+
+* Includes Module::AutoInstall, a cleaned-up version of ExtUtils::AutoInstall.
+
+* New command all_from() to combine all *_from() tests into one.
+
+* New command test() to Support specifying test files.
+
+* New command feature() to list individual features easily.
+
+[Changes for 0.37 - 2005-08-04]
+
+* Always include ExtUtils::AutoInstall in inc/ if auto_install() is called.
+
+* Fixed a bug where modules having shared libraries would sometimes
+ be included in inc/.
+
+* The needs shared library message will now only be printed if the module
+ version indicates that it would otherwise be included. The module name has
+ also been corrected so that "::" is used everywhere instead of "/".
+
+[Changes for 0.36 - 2004-09-09]
+
+* First version under SVK management.
+
+* install_scripts() now takes multiple scripts to install.
+
+[Changes for 0.35 - 2004-07-13]
+
+* Jos Boumans reported that "use inc::Module::Install 0.34"
+ was failing because Module::Install does not assign VERSION
+ to inc::Module::Install.
+
+* Implemented auto_include_deps() for real.
+
+[Changes for 0.34 - 2004-07-01]
+
+* auto_include() will not include recursive dependencies now;
+ that functionality is refactored into auto_include_deps().
+
+[Changes for 0.33 - 2004-03-11]
+
+* abstract_from() was broken; it works now thanks to SHAY.
+
+* WriteAll() now takes (inline => 1) to support
+ Inline-based modules.
+
+[Changes for 0.31 - 2003-12-31]
+
+* Allow auto_install() to take -core-specific options like
+ (-default => 0).
+
+* No longer use inc/SCRIPT but simply modify the scripts to install.
+
+* Make can_cc() to probe the program part of $Config{cc}
+
+* Bundled M::I-using modules (or subdirs) used to break up
+ spectacularly by overriding ::AUTOLOAD and reusing their
+ parents' inc/*. Now the namespaces are keyed by cwd and
+ more readily unregistered.
+
+[Changes for 0.29 - 2003-12-14]
+
+* Introducing &WriteAll, a combination of &Meta->write,
+ &check_nmake, &Makefile->write, and if a Build.PL is
+ present (which should read "require 'Makefile.PL'"),
+ also supports transparent &Build->write.
+
+* Real Module::Build support in WriteAll and in this module.
+
+* Transparent Build.PL, as promised in README, is back.
+
+* WriteAll now takes three non-metadata flags:
+ check_nmake (default 1), meta (default 1) and
+ sign (default 0).
+
+* The "private" key in META.yml is officially obsoleted by "no_index".
+
+* Now warns if the user did not specify a license.
+
+* "requires( perl => $version )" is now supported.
+
+* include_deps() now no longer takes its second argument;
+ it must be separately supplied with the syntax above.
+
+* "&WriteAll" now officially replaces "&Build->write",
+ "&Makefile->write", "&Meta->write" and "check_nmake()".
+
+* Implemented auto_include() and bundle_deps().
+
+* Add "#defaults" to MANIFEST.SKIP.
+
+[Changes for 0.28 - 2003-12-11]
+
+* Module::Install::Bundle now works, thanks to Adam Foxson!
+
+* Unbreak against newer EU::MM.
+
+* Let "inc" work with "make test" on 5.6.x too.
+
+* mcdavis pointed out that Microsoft now wants
+ "Nmake15.exe", not "nmake15.exe".
+
+[Changes for 0.27 - 2003-10-27]
+
+* Make the include'd modules actually work during
+ "make" and "make test", by adding "inc" to the
+ Makefile targets.
+
+* Graham's patch for 5.004 backcompat.
+
+* Graham Barr points out that readdir() can return 0.
+
+* Do not sign the distribution if we are not the admin.
+
+[Changes for 0.26 - 2003-10-17]
+
+* sign(1) support for automatic digital signing.
+
+* no_index(directory => 'example') support, for telling
+ PAUSE and search to skip indexing modules.
+
+[Changes for 0.25 - 2003-10-13]
+
+* Add no_index as an alias to private in META.yml.
+
+* Support for YAML::Parser::Syck.
+
+* No point in supporting Build.PL now.
+
+[Changes for 0.24 - 2003-09-01]
+
+* 0.17 is simply too old as it scans in POD sections.
+
+* Kingpin <mthurn at carbon> notes that we are using "next"
+outside a loop block in ScanDeps.
+
+* threads.pm and warnings.pm should be exempted too.
+
+[Changes for 0.23 - 2003-08-18]
+
+* Implemented $self->is_admin to properly test if it's running
+ on the admin side.
+
+* Andreas Koenig reports that we are writing META.yml
+ even on the user side, because of this bug.
+
+* sWitch to PAR::Dist to do make_par().
+
+[Changes for 0.22 - 2003-07-16]
+
+* Turns out that MakeMaker's NAME corresponds to
+ META.yml's module_name, and DISTNAME corresponds
+ to name. Reflect this in the relevant files.
+
+* Introduce a new module_name metadata key that may
+ be automatically generated from name.
+
+* /\.pm/i should be /\.pm$/i.
+
+* Iain Truskett wants us to not overwrite alien META.yml files.
+
+- PREREQ_PM wasn't being filled out.
+
+- Should be including YAML dependencies too.
+
+* POD cleanups.
+
+[Changes for 0.21 - 2003-06-15]
+
+* Lindsay Morris pointed out that include_deps()
+ does not work with non-core modules; fixed.
+
+[Changes for 0.20 - 2003-06-05]
+
+* Add pointer to ingy's TPJ article.
+
+* Eliminated warnings on 5.005.
+
+* Added the "package inc::Module::Install;" line at
+ request by Graham Barr, for search.cpan.org.
+
+* Close META.yml before zipping; otherwise trips on win32.
+
+* requires(), build_requires(), recommends() etc can now take
+ multiple pairs in addition to a single pair.
+
+* Add standard MANIFEST and META.yml to generated PAR file.
+
+* Implemented the &Meta->read mentioned in the main docs.
+
+* Our version of WriteMakefile was failing to fine Meta
+ object; fixed.
+
+* 'make reset' now just an author side alias for 'make purge'.
+
+* The whole #! business is unneeded since MakeMaker does that.
+
+* Don't skip other non-pm inc/ stuff when checking MANIFEST.
+
+* The hashbang line should be the first, not last, in scripts.
+
+* Also people may not always like -w.
+
+* We reall want to rmtree() the distdir so that 'make manifest'
+ won't include clobbered files after an aborted 'make dist'.
+
+* Fix consistency: ->prompt() should only take one line of
+ prompt and expects y/n.
Modified: packages/libmodule-install-perl/trunk/MANIFEST
===================================================================
--- packages/libmodule-install-perl/trunk/MANIFEST 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/MANIFEST 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,24 +1,20 @@
-Build.PL
Changes
-inc/ExtUtils/AutoInstall.pm
+inc/Module/AutoInstall.pm
inc/Module/Install.pm
inc/Module/Install/AutoInstall.pm
inc/Module/Install/Base.pm
-inc/Module/Install/Build.pm
inc/Module/Install/Can.pm
inc/Module/Install/Fetch.pm
inc/Module/Install/Include.pm
inc/Module/Install/Makefile.pm
inc/Module/Install/Metadata.pm
-inc/Module/Install/PAR.pm
inc/Module/Install/Win32.pm
inc/Module/Install/WriteAll.pm
-inc/Test/Builder.pm
-inc/Test/More.pm
lib/inc/Module/Install.pm
-lib/Module/Install-Cookbook.pod
+lib/Module/AutoInstall.pm
lib/Module/Install-Philosophy.pod
lib/Module/Install.pm
+lib/Module/Install.pod
lib/Module/Install/Admin.pm
lib/Module/Install/Admin/Bundle.pm
lib/Module/Install/Admin/Find.pm
@@ -33,6 +29,7 @@
lib/Module/Install/Build.pm
lib/Module/Install/Bundle.pm
lib/Module/Install/Can.pm
+lib/Module/Install/Compiler.pm
lib/Module/Install/Fetch.pm
lib/Module/Install/Include.pm
lib/Module/Install/Inline.pm
@@ -44,6 +41,7 @@
lib/Module/Install/PAR.pm
lib/Module/Install/Run.pm
lib/Module/Install/Scripts.pm
+lib/Module/Install/Share.pm
lib/Module/Install/Win32.pm
lib/Module/Install/WriteAll.pm
Makefile.PL
@@ -52,6 +50,6 @@
META.yml
README
SIGNATURE
-t/0-signature.t
t/1-basic.t
-ToDo
+t/2-pod.t
+t/3-autoinstall.t
Modified: packages/libmodule-install-perl/trunk/MANIFEST.SKIP
===================================================================
--- packages/libmodule-install-perl/trunk/MANIFEST.SKIP 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/MANIFEST.SKIP 2005-12-30 11:17:02 UTC (rev 1805)
@@ -10,4 +10,7 @@
^blib/
^pm_to_blib$
^blibdirs$
+^ToDo$
^t/Foo
+^.*\.tmp$
+\.svn/
Modified: packages/libmodule-install-perl/trunk/META.yml
===================================================================
--- packages/libmodule-install-perl/trunk/META.yml 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/META.yml 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,21 +1,115 @@
+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
-version: 0.34
-abstract: Standalone, extensible Perl module installer
-author: Autrijus Tang (autrijus at autrijus.org)
-license: perl
-distribution_type: module
-build_requires:
- Test::More: 0
-requires:
- perl: 5.004
-recommends:
- Module::ScanDeps: 0.28
- Module::CoreList: 0
- CPANPLUS: 0.04
- PAR::Dist: 0.03
- Module::Build: 0
no_index:
directory:
- example
- inc
-generated_by: Module::Install version 0.34
+ - 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:
+ file: lib/Module/Install/Admin/Bundle.pm
+ version: 0.04
+ Module::Install::Admin::Find:
+ file: lib/Module/Install/Admin/Find.pm
+ 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
+ version: 0.01
+ Module::Install::Admin::Manifest:
+ file: lib/Module/Install/Admin/Manifest.pm
+ 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/Admin/ScanDeps.pm
+ Module::Install::Admin::WriteAll:
+ file: lib/Module/Install/Admin/WriteAll.pm
+ 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
+ version: 0.01
+ Module::Install::Bundle:
+ file: lib/Module/Install/Bundle.pm
+ version: 0.04
+ Module::Install::Can:
+ file: lib/Module/Install/Can.pm
+ version: 0.01
+ Module::Install::Compiler:
+ file: lib/Module/Install/Compiler.pm
+ version: 0.01
+ Module::Install::Fetch:
+ file: lib/Module/Install/Fetch.pm
+ version: 0.01
+ Module::Install::Include:
+ file: lib/Module/Install/Include.pm
+ Module::Install::Inline:
+ file: lib/Module/Install/Inline.pm
+ version: 0.01
+ Module::Install::MakeMaker:
+ file: lib/Module/Install/MakeMaker.pm
+ 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
+ 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/Scripts.pm
+ 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:
+ file: lib/Module/Install/WriteAll.pm
+ inc::Module::Install:
+ file: lib/inc/Module/Install.pm
+recommends:
+ CPANPLUS: 0.04
+ 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
Modified: packages/libmodule-install-perl/trunk/Makefile.PL
===================================================================
--- packages/libmodule-install-perl/trunk/Makefile.PL 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/Makefile.PL 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,53 +1,45 @@
-# $File: //depot/cpan/Module-Install/Makefile.PL $ $Author: autrijus $
-# $Revision: #37 $ $Change: 2287 $ $DateTime: 2004/07/01 04:48:23 $ vim: expandtab shiftwidth=4
+#!perl -w
+use strict;
use lib 'lib'; # NOTE: Module::Install's Makefile.PL needs this statement
# to bootstrap itself. Other module distributions using
# Module::Install do not need it.
-
use inc::Module::Install;
-name ('Module-Install');
-author ('Autrijus Tang (autrijus at autrijus.org)');
-abstract_from ('lib/Module/Install.pm');
-version_from ('lib/Module/Install.pm');
-license ('perl');
-requires ('perl' => 5.004);
-no_index (directory => 'example');
-sign (1);
+name 'Module-Install';
+author 'Audrey Tang <autrijus at autrijus.org>';
+all_from 'lib/Module/Install.pm';
+requires 'YAML' => 0.35;
-build_requires ('Test::More');
-include ('ExtUtils::AutoInstall');
+feature 'Include packages with full dependencies',
+ recommends
+ 'Test::Harness' => 2.03, # merely a dependency of M::CoreList
+ 'Test::More' => 0, # ditto
+ 'Module::ScanDeps' => 0.28,
+ 'Module::CoreList';
-features(
- 'Include packages with full dependencies' => [
- -default => 0,
- 'Test::Harness' => 2.03, # merely a dependency of M::CoreList
- 'Test::More' => 0, # ditto
- recommends ('Module::ScanDeps' => 0.28),
- recommends ('Module::CoreList'),
- ],
- 'Bundle other CPAN packages' => [
- -default => 0,
- recommends ('CPANPLUS' => 0.040),
- ],
- 'PAR-based binary distributions' => [
- -default => 0,
- recommends ('PAR::Dist' => 0.03),
- ],
- 'Module::Build support' => [
- -default => 0,
- 'Archive::Tar' => 0.23,
- 'ExtUtils::Install' => 0.3,
- 'ExtUtils::ParseXS' => 0,
- 'YAML' => 0.35,
- recommends ('Module::Build'),
- ],
-);
+feature 'Bundle other CPAN packages',
+ recommends
+ 'CPANPLUS' => 0.040;
-auto_include_deps();
-auto_install_now( -config => { prerequisites_policy => 'follow' } );
+feature 'PAR-based binary distributions',
+ recommends
+ 'PAR::Dist' => 0.03;
-par_base(); # par_base('AUTRIJUS') to enable downloading
+feature 'Module::Build support',
+ 'Archive::Tar' => 0.23,
+ 'ExtUtils::Install' => 0.3,
+ 'ExtUtils::ParseXS',
+ recommends
+ 'Module::Build';
-&WriteAll;
+no_index
+ directory => 'example';
+
+auto_install_now
+ prerequisites_policy => 'follow';
+
+auto_provides;
+
+sign;
+WriteAll;
Modified: packages/libmodule-install-perl/trunk/README
===================================================================
--- packages/libmodule-install-perl/trunk/README 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/README 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,6 +1,3 @@
-# $File: //depot/cpan/Module-Install/README $ $Author: autrijus $
-# $Revision: #8 $ $Change: 1847 $ $DateTime: 2003/12/31 23:14:54 $ vim: expandtab shiftwidth=4
-
This is the README file for Module::Install, a standalone, extensible
installer for Perl modules. It is designed to be a drop-in replacement
for ExtUtils::MakeMaker, and is a descendent of CPAN::MakeMaker.
@@ -12,20 +9,12 @@
Module::Install uses the standard perl module install process:
-cpansign -v # see SIGNATURE for details
-perl Makefile.PL
-make
-make test
-make install
+ cpansign -v # optional; see SIGNATURE for details
+ perl Makefile.PL
+ make # or 'nmake' on Win32
+ make test
+ make install
-If you have Module::Build installed, a Build.PL is also available:
-
-cpansign -v # see SIGNATURE for details
-perl Build.PL
-perl Build
-perl Build test
-perl Build install
-
* Notes for Windows users
If you are using Microsoft Windows, you will probably need the 'nmake'
@@ -50,8 +39,10 @@
* Copyright
-Copyright 2002, 2003, 2004 by Autrijus Tang <autrijus at autrijus.org>,
- Brian Ingerson <ingy at cpan.org>.
+Copyright 2002, 2003, 2004, 2005 by
+ Audrey Tang <autrijus at autrijus.org>
+ Brian Ingerson <ingy at cpan.org>
+ Adam Kennedy <cpan at ali.as>
All rights reserved. You can redistribute and/or modify
this bundle under the same terms as Perl itself.
Modified: packages/libmodule-install-perl/trunk/SIGNATURE
===================================================================
--- packages/libmodule-install-perl/trunk/SIGNATURE 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/SIGNATURE 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,5 +1,5 @@
This file contains message digests of all files listed in MANIFEST,
-signed via the Module::Signature module, version 0.39.
+signed via the Module::Signature module, version 0.41.
To verify the content in this distribution, first make sure you have
Module::Signature installed, then type:
@@ -14,66 +14,64 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
-SHA1 dbd58f850606f5446018b6034a831b2b135f3a88 Build.PL
-SHA1 d1c503f69d1a0079ad303a4f1b36d5f455d138d1 Changes
-SHA1 19e1ba910828e3ad315b1edb6dc361a6305938d1 MANIFEST
-SHA1 d301f97ed05a88a0dde1d90ec091edd39cd6cbde MANIFEST.SKIP
-SHA1 c4a0b8a265dd4c21a933bda021cf902658860533 META.yml
-SHA1 3cc2a794d123cd0e83245f5d8ab60e941c7d97b8 Makefile.PL
-SHA1 2a90897611004f2f49a40798b2274af1d989e0f4 README
-SHA1 e9cabad66944b665d36e0a7cda0dd7bf1f75cfd9 ToDo
-SHA1 46ff42e7e02b856e15106163cd77b1a55fc08fb9 inc/ExtUtils/AutoInstall.pm
-SHA1 6ae8524a1be447e37544ee4d24b3719b0ff89153 inc/Module/Install.pm
-SHA1 288ad5d1124f02a64583d54e2e287532b81907b9 inc/Module/Install/AutoInstall.pm
-SHA1 ed9d9f60d2c925a7c715e5261cd80a5978c9fc9c inc/Module/Install/Base.pm
-SHA1 239178223883059ec355bec886115848ab699332 inc/Module/Install/Build.pm
-SHA1 5619adb5368242214045d40784fcbee5d9dba267 inc/Module/Install/Can.pm
-SHA1 565339bcb9f2751938372aa684a20e4bb7ec9b3f inc/Module/Install/Fetch.pm
-SHA1 95763053e3e59748f087d1f4c0cb7e7ae2950e3f inc/Module/Install/Include.pm
-SHA1 458d2c6c96e071bf66713e8ceecd68c9aa75c386 inc/Module/Install/Makefile.pm
-SHA1 096c46b226b1f188f4bafcfd8e0f6f3ac5f43e47 inc/Module/Install/Metadata.pm
-SHA1 c6db9fca2a341ac1e1e749bc76e68a6c064797a1 inc/Module/Install/PAR.pm
-SHA1 8b8577400e396db6714b85e11ce9a5939671c826 inc/Module/Install/Win32.pm
-SHA1 dcdadae7414315536ad3bdbe67d4a2f3ae93d284 inc/Module/Install/WriteAll.pm
-SHA1 6458cec3e5ecc7a7ab12d138e63aea05486c48ad inc/Test/Builder.pm
-SHA1 d609df5fa76b959d08e5d9d0a15fe59c5c2f95e0 inc/Test/More.pm
-SHA1 61ae9682447a3300bf61e36f80df0011f53e1f5a lib/Module/Install-Cookbook.pod
-SHA1 559a427e006e8b62c9627b8c8e39669066fb9b41 lib/Module/Install-Philosophy.pod
-SHA1 68e465225a12956aa4a8e68ffa71fcbf17809404 lib/Module/Install.pm
-SHA1 88cbe64d234b7c43b578b11bc4ce39e9228f576a lib/Module/Install/Admin.pm
-SHA1 bd41fae896f850b667abc6243091241d9bb323b8 lib/Module/Install/Admin/Bundle.pm
-SHA1 8307db51af9ab267acca6f7c15d21a15133b2fc6 lib/Module/Install/Admin/Find.pm
-SHA1 85a11536669a36a90e204a3a1d3ef5830b9f9e74 lib/Module/Install/Admin/Include.pm
-SHA1 c46efc91a83d9f290bbfd063847408c86448ee92 lib/Module/Install/Admin/Makefile.pm
-SHA1 4390ae9438a5fc3c97456c12cd4d33c16ee11688 lib/Module/Install/Admin/Manifest.pm
-SHA1 5f01b59fc61a289daeaf68c0aa4a54ff995d045c lib/Module/Install/Admin/Metadata.pm
-SHA1 72e1d579516eff39a89994be03fc26f426accab4 lib/Module/Install/Admin/ScanDeps.pm
-SHA1 01209778dfcddd2ca1f7f6cd6459a22c87e2cc66 lib/Module/Install/Admin/WriteAll.pm
-SHA1 7402b8f2d06fc726390e55a6980f0f909d42e875 lib/Module/Install/AutoInstall.pm
-SHA1 1538dfba8d0574064f7bf10454ff802c89fe7640 lib/Module/Install/Base.pm
-SHA1 02f93fce60022eff2b5d0777989176f908e92e6d lib/Module/Install/Build.pm
-SHA1 6ba868634dae254f29ae8328e86d7d73a9e7fb1f lib/Module/Install/Bundle.pm
-SHA1 de73c9d8ad8ffab9eedb04a01262192a6a51d42a lib/Module/Install/Can.pm
-SHA1 0c216d70f5d38994402574868b26225b7d19e12d lib/Module/Install/Fetch.pm
-SHA1 08c5eeb29a23dc06f186f07ce2c7ac2ae0c80f74 lib/Module/Install/Include.pm
-SHA1 d8cef4684f57293de33952fd59e5e5ed666d9070 lib/Module/Install/Inline.pm
-SHA1 b6520780aeef6e1860f83bc9ae481f68e1cbc73c lib/Module/Install/MakeMaker.pm
-SHA1 d7db219717b6653a922bd8f76cb3e2503ecd77e7 lib/Module/Install/Makefile.pm
-SHA1 44b91a5379ada5e6d6164838e313e9e60c73b244 lib/Module/Install/Makefile/Name.pm
-SHA1 6f263c3e18198d147a16e3ca3758a97231b4076e lib/Module/Install/Makefile/Version.pm
-SHA1 090faf7f611f4a0d5eac2a9c7cfc1926968d297e lib/Module/Install/Metadata.pm
-SHA1 0c4f33cc5e6988937a35a9a5dcc69d4bf329b7de lib/Module/Install/PAR.pm
-SHA1 d5e2af08f6967716d71971126becb10acb17ee4e lib/Module/Install/Run.pm
-SHA1 0082a8daf9dc2a31a1c1f8a719f7fef29df8c939 lib/Module/Install/Scripts.pm
-SHA1 ba8ebea0ff21f47090a9c46946089ea9647c05a9 lib/Module/Install/Win32.pm
-SHA1 87e1d4fa50f1f1ccab659e67a9fdc58173cd6c9c lib/Module/Install/WriteAll.pm
-SHA1 af70ee67dce5a1c6e576b43339c8a07cf17cf212 lib/inc/Module/Install.pm
-SHA1 284ca43fce9b1643af73a1460aecb4f98639c507 t/0-signature.t
-SHA1 70f5ec238e815a5044c74b7357d411c71b9c8939 t/1-basic.t
+SHA1 739b871ff482c56af74a261fd5e0b6db99afb7cc 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 efb445738be8e47593d412d57de91bc6a5a87474 inc/Module/Install/AutoInstall.pm
+SHA1 fc87ce8f843e80f84df2b7b2fe254002353816e3 inc/Module/Install/Base.pm
+SHA1 2dba703acae347917bd7fea7ac10487fbda467d8 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 6dea053579084d1a638ddb3c22e86146d1588b28 inc/Module/Install/Win32.pm
+SHA1 5fa5a44d068cc7f7f4e2f4186192f6aef21735c1 inc/Module/Install/WriteAll.pm
+SHA1 5b7e69ece28acd582c4429e57a6c00ae9cc1bea0 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 57b0f1152c5490287f85b52f4f0d5d849332f960 lib/Module/Install/Admin/Bundle.pm
+SHA1 4c56a004332e0b6988c9598b80cf9a5c334da471 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 5ba95cbf306f7fb0c96e96f7b6f0f0eb4c27f77f lib/Module/Install/Admin/ScanDeps.pm
+SHA1 14246009fe66492d939604013adb732a2744732b lib/Module/Install/Admin/WriteAll.pm
+SHA1 5c17235758de252ef7b6f6da246277d1e6321d10 lib/Module/Install/AutoInstall.pm
+SHA1 a097c0c3f23de102e98517bb0f440fac0fecedd9 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 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 a572b91b863aa6b2e087d0deb9234ce4f21224d0 lib/Module/Install/Makefile/Name.pm
+SHA1 f2f05144695375d8ef4e96109284428a08a49127 lib/Module/Install/Makefile/Version.pm
+SHA1 e4de0f14535d0ce823e7042874de6f46ba3edddf 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 1a054e15bfbd68c6ccb8f30bc4d2badcac543335 lib/inc/Module/Install.pm
+SHA1 cc165528d2e584ffcfaf9bfc8cbc3a814c48d53f t/1-basic.t
+SHA1 7867cff04a8429890fa473fcd8ea51a66d0f6772 t/2-pod.t
+SHA1 34873535b662d7b6833adda1e2aea8630b7d3969 t/3-autoinstall.t
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.2.3 (FreeBSD)
+Version: GnuPG v1.4.2 (FreeBSD)
-iD8DBQFA4/pStLPdNzw1AaARAi73AJ94RW/otD3h2Al5XE3+vFJd4j5fLwCeMq+i
-nVpUj59l274ijrKOea3hCS4=
-=CtY+
+iD8DBQFDr+lutLPdNzw1AaARAn2FAJ42Uyrnn8qLhvAIexpihO8IScYEuQCguyHf
+VaFk713c/nA0nKpEFxl+F1o=
+=ijEk
-----END PGP SIGNATURE-----
Deleted: packages/libmodule-install-perl/trunk/ToDo
===================================================================
--- packages/libmodule-install-perl/trunk/ToDo 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/ToDo 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,31 +0,0 @@
-- Go over POD docs in detail.
-- Test recursive Makefile directories
-
-- Module::Build Support:
- - Add actions for:
- - reset
- - Make sure include-ing of Module::Build works. # done
-
-- Test Suite:
- - We need tests for everything
- - Optimally I'd like these to use Module::Test
- (But That doesn't exist yet. :)
-
-- Include:
- - Add support for include('Foo::Bar::*') # done
- - Make sure it works for Test::More # done
-
-- Bundling:
- - Load distributions into inc/BUNDLE # not for 0.20
- - provide support to install/upgrade them on user machine
-
-- Inline::C Support # done
- - Do we need to package build support?
-
-- Distribution support
- - make upload (add cpan-upload to our recommends()?)
- - make distcheck:
- - verify metadata is current
-
-
-Note: EU::MM 6.06_03+ supports META.yml natively. Maybe probe for that?
Modified: packages/libmodule-install-perl/trunk/debian/changelog
===================================================================
--- packages/libmodule-install-perl/trunk/debian/changelog 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/debian/changelog 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,3 +1,13 @@
+libmodule-install-perl (0.50-1) unstable; urgency=low
+
+ * New upstream release (closes: #329591)
+ * Donate package to Debian Perl Group
+ (discussion: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=329591)
+ * Uploading without dependencies from CPANPLUS and Module::CoreList
+ * debian/control - Standards-Version upgraded to 3.6.2 without changes
+
+ -- Krzysztof Krzyzaniak (eloy) <eloy at debian.org> Fri, 30 Dec 2005 12:12:47 +0100
+
libmodule-install-perl (0.34-2) unstable; urgency=low
* Fix copyright file. (closes: #257421)
Modified: packages/libmodule-install-perl/trunk/debian/control
===================================================================
--- packages/libmodule-install-perl/trunk/debian/control 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/debian/control 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,10 +1,10 @@
Source: libmodule-install-perl
Section: perl
Priority: optional
-Build-Depends: debhelper (>= 4.0.2)
-Build-Depends-Indep: perl (>= 5.8.0-7)
-Maintainer: Bastian Blank <waldi at debian.org>
-Standards-Version: 3.6.1
+Build-Depends-Indep: perl (>= 5.8.0-7), debhelper (>= 4.0.2)
+Maintainer: Debian Perl Group <pkg-perl-maintainers at lists.alioth.debian.org>
+Maintainer: Bastian Blank <waldi at debian.org>, Krzysztof Krzyzaniak (eloy) <eloy at debian.org>
+Standards-Version: 3.6.2
Package: libmodule-install-perl
Architecture: all
Modified: packages/libmodule-install-perl/trunk/debian/rules
===================================================================
--- packages/libmodule-install-perl/trunk/debian/rules 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/debian/rules 2005-12-30 11:17:02 UTC (rev 1805)
@@ -18,8 +18,7 @@
build: build-stamp
build-stamp:
dh_testdir
-
- $(PERL) Makefile.PL INSTALLDIRS=vendor
+ $(PERL) Makefile.PL INSTALLDIRS=vendor --skipdeps
$(MAKE)
touch $@
@@ -51,9 +50,6 @@
binary-indep: build install
dh_testdir
dh_testroot
-# dh_installcron
-# dh_installmenu
-# dh_installexamples
dh_installdocs README
dh_installchangelogs Changes
dh_perl
Copied: packages/libmodule-install-perl/trunk/inc/Module/AutoInstall.pm (from rev 1804, packages/libmodule-install-perl/branches/upstream/current/inc/Module/AutoInstall.pm)
Modified: packages/libmodule-install-perl/trunk/inc/Module/Install/AutoInstall.pm
===================================================================
--- packages/libmodule-install-perl/trunk/inc/Module/Install/AutoInstall.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/inc/Module/Install/AutoInstall.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,7 +1,4 @@
#line 1 "inc/Module/Install/AutoInstall.pm - lib/Module/Install/AutoInstall.pm"
-# $File: //depot/cpan/Module-Install/lib/Module/Install/AutoInstall.pm $ $Author: autrijus $
-# $Revision: #13 $ $Change: 1846 $ $DateTime: 2003/12/31 22:57:12 $ vim: expandtab shiftwidth=4
-
package Module::Install::AutoInstall;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
@@ -21,45 +18,35 @@
my $self = shift;
return if $self->{done}++;
-# ExtUtils::AutoInstall Bootstrap Code, version 7.
-AUTO:{my$p='ExtUtils::AutoInstall';my$v=0.49;$p->VERSION||0>=$v
-or+eval"use $p $v;1"or+do{my$e=$ENV{PERL_EXTUTILS_AUTOINSTALL};
-(!defined($e)||$e!~m/--(?:default|skip|testonly)/and-t STDIN or
-eval"use ExtUtils::MakeMaker;WriteMakefile(PREREQ_PM=>{'$p',$v}
-);1"and exit)and print"==> $p $v required. Install it from CP".
-"AN? [Y/n] "and<STDIN>!~/^n/i and print"*** Installing $p\n"and
-do{if (eval '$>' and lc(`sudo -V`) =~ /version/){system('sudo',
-$^X,"-MCPANPLUS","-e","CPANPLUS::install $p");eval"use $p $v;1"
-||system('sudo', $^X, "-MCPAN", "-e", "CPAN::install $p")}eval{
-require CPANPLUS;CPANPLUS::install$p};eval"use $p $v;1"or eval{
-require CPAN;CPAN::install$p};eval"use $p $v;1"||die"*** Please
-manually install $p $v from cpan.org first...\n"}}}
-
# Flatten array of arrays into a single array
my @core = map @$_, map @$_, grep ref,
$self->build_requires, $self->requires;
- while ( @core and @_ > 1 and $_[0] =~ /^-\w+$/ ) {
- push @core, splice(@_, 0, 2);
- }
+ my @config = @_;
- ExtUtils::AutoInstall->import(
- (@core ? (-core => \@core) : ()), @_, $self->features
+ # We'll need Module::AutoInstall
+ $self->include('Module::AutoInstall');
+ require Module::AutoInstall;
+
+ Module::AutoInstall->import(
+ (@config ? (-config => \@config) : ()),
+ (@core ? (-core => \@core) : ()),
+ $self->features,
);
- $self->makemaker_args( ExtUtils::AutoInstall::_make_args() );
+ $self->makemaker_args( Module::AutoInstall::_make_args() );
my $class = ref($self);
$self->postamble(
"# --- $class section:\n" .
- ExtUtils::AutoInstall::postamble()
+ Module::AutoInstall::postamble()
);
}
sub auto_install_now {
my $self = shift;
- $self->auto_install;
- ExtUtils::AutoInstall::do_install();
+ $self->auto_install(@_);
+ Module::AutoInstall::do_install();
}
1;
Modified: packages/libmodule-install-perl/trunk/inc/Module/Install/Base.pm
===================================================================
--- packages/libmodule-install-perl/trunk/inc/Module/Install/Base.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/inc/Module/Install/Base.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,11 +1,11 @@
#line 1 "inc/Module/Install/Base.pm - lib/Module/Install/Base.pm"
-# $File: //depot/cpan/Module-Install/lib/Module/Install/Base.pm $ $Author: autrijus $
-# $Revision: #10 $ $Change: 1847 $ $DateTime: 2003/12/31 23:14:54 $ vim: expandtab shiftwidth=4
-
package Module::Install::Base;
-#line 31
+# Suspend handler for "redefined" warnings
+BEGIN { my $w = $SIG{__WARN__}; $SIG{__WARN__} = sub { $w } };
+#line 30
+
sub new {
my ($class, %args) = @_;
@@ -18,18 +18,18 @@
bless(\%args, $class);
}
-#line 49
+#line 48
sub AUTOLOAD {
my $self = shift;
goto &{$self->_top->autoload};
}
-#line 60
+#line 59
sub _top { $_[0]->{_top} }
-#line 71
+#line 70
sub admin {
my $self = shift;
@@ -52,6 +52,9 @@
1;
+# Restore warning handler
+BEGIN { $SIG{__WARN__} = $SIG{__WARN__}->() };
+
__END__
-#line 115
+#line 117
Deleted: packages/libmodule-install-perl/trunk/inc/Module/Install/Build.pm
===================================================================
--- packages/libmodule-install-perl/trunk/inc/Module/Install/Build.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/inc/Module/Install/Build.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,66 +0,0 @@
-#line 1 "inc/Module/Install/Build.pm - lib/Module/Install/Build.pm"
-# $File: //depot/cpan/Module-Install/lib/Module/Install/Build.pm $ $Author: ingy $
-# $Revision: #23 $ $Change: 1255 $ $DateTime: 2003/03/05 13:23:32 $ vim: expandtab shiftwidth=4
-
-package Module::Install::Build;
-$VERSION = '0.01';
-use strict;
-use vars qw(@ISA);
-use Module::Install::Base; @ISA = qw(Module::Install::Base);
-
-sub Build { $_[0] }
-
-sub write {
- my $self = shift;
- die "Build->write() takes no arguments\n" if @_;
-
- my %args;
- my $build;
-
- $args{dist_name} = $self->name || $self->determine_NAME($self->{args});
- $args{license} = $self->license;
- $args{dist_version} = $self->version || $self->determine_VERSION($self->{args});
- $args{dist_abstract} = $self->abstract;
- $args{dist_author} = $self->author;
- $args{sign} = $self->sign;
- $args{no_index} = $self->no_index;
-
- foreach my $key (qw(build_requires requires recommends conflicts)) {
- my $val = eval "\$self->$key" or next;
- $args{$key} = { map @$_, @$val };
- }
-
- %args = map {($_, $args{$_})} grep {defined($args{$_})} keys %args;
-
- require Module::Build;
- $build = Module::Build->new(%args);
- $build->add_to_cleanup(split /\s+/, $self->clean_files);
- $build->create_build_script;
-}
-
-sub ACTION_reset {
- my ($self) = @_;
- die "XXX - Can't get this working yet";
- require File::Path;
- warn "Removing inc\n";
- rmpath('inc');
-}
-
-sub ACTION_dist {
- my ($self) = @_;
- die "XXX - Can't get this working yet";
-}
-
-# <ingy> DrMath: is there an OO way to add actions to Module::Build??
-# <DrMath> ingy: yeah
-# <DrMath> ingy: package MyBuilder; use w(Module::Build; @ISA = qw(w(Module::Build); sub ACTION_ingy
-# {...}
-# <DrMath> ingy: then my $build = new MyBuilder( ...parameters... );
-# $build->write_build_script;
-
-
-1;
-
-__END__
-
-#line 178
Modified: packages/libmodule-install-perl/trunk/inc/Module/Install/Can.pm
===================================================================
--- packages/libmodule-install-perl/trunk/inc/Module/Install/Can.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/inc/Module/Install/Can.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,7 +1,4 @@
#line 1 "inc/Module/Install/Can.pm - lib/Module/Install/Can.pm"
-# $File: //depot/cpan/Module-Install/lib/Module/Install/Can.pm $ $Author: autrijus $
-# $Revision: #6 $ $Change: 1840 $ $DateTime: 2003/12/28 19:42:02 $ vim: expandtab shiftwidth=4
-
package Module::Install::Can;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
$VERSION = '0.01';
@@ -11,6 +8,20 @@
use File::Spec ();
use ExtUtils::MakeMaker ();
+# check if we can load some module
+sub can_use {
+ my ($self, $mod, $ver) = @_;
+ $mod =~ s{::|\\}{/}g;
+ $mod .= ".pm" unless $mod =~ /\.pm$/i;
+
+ my $pkg = $mod;
+ $pkg =~ s{/}{::}g;
+ $pkg =~ s{\.pm$}{}i;
+
+ local $@;
+ eval { require $mod; $pkg->VERSION($ver || 0); 1 };
+}
+
# check if we can run some command
sub can_run {
my ($self, $cmd) = @_;
@@ -38,4 +49,20 @@
return;
}
+# Fix Cygwin bug on maybe_command();
+if ($^O eq 'cygwin') {
+ require ExtUtils::MM_Cygwin;
+ if (!defined(&ExtUtils::MM_Cygwin::maybe_command)) {
+ *ExtUtils::MM_Cygwin::maybe_command = sub {
+ my ($self, $file) = @_;
+ if ($file =~ m{^/cygdrive/}i) {
+ ExtUtils::MM_Win32->maybe_command($file);
+ }
+ else {
+ $self->SUPER::maybe_command($file);
+ }
+ }
+ }
+}
+
1;
Modified: packages/libmodule-install-perl/trunk/inc/Module/Install/Fetch.pm
===================================================================
--- packages/libmodule-install-perl/trunk/inc/Module/Install/Fetch.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/inc/Module/Install/Fetch.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,7 +1,4 @@
#line 1 "inc/Module/Install/Fetch.pm - lib/Module/Install/Fetch.pm"
-# $File: //depot/cpan/Module-Install/lib/Module/Install/Fetch.pm $ $Author: autrijus $
-# $Revision: #8 $ $Change: 1374 $ $DateTime: 2003/03/18 11:50:15 $ vim: expandtab shiftwidth=4
-
package Module::Install::Fetch;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
Modified: packages/libmodule-install-perl/trunk/inc/Module/Install/Include.pm
===================================================================
--- packages/libmodule-install-perl/trunk/inc/Module/Install/Include.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/inc/Module/Install/Include.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,7 +1,4 @@
#line 1 "inc/Module/Install/Include.pm - lib/Module/Install/Include.pm"
-# $File: //depot/cpan/Module-Install/lib/Module/Install/Include.pm $ $Author: autrijus $
-# $Revision: #9 $ $Change: 2288 $ $DateTime: 2004/07/01 04:49:12 $ vim: expandtab shiftwidth=4
-
package Module::Install::Include;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
Modified: packages/libmodule-install-perl/trunk/inc/Module/Install/Makefile.pm
===================================================================
--- packages/libmodule-install-perl/trunk/inc/Module/Install/Makefile.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/inc/Module/Install/Makefile.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,7 +1,4 @@
#line 1 "inc/Module/Install/Makefile.pm - lib/Module/Install/Makefile.pm"
-# $File: //depot/cpan/Module-Install/lib/Module/Install/Makefile.pm $ $Author: autrijus $
-# $Revision: #53 $ $Change: 1847 $ $DateTime: 2003/12/31 23:14:54 $ vim: expandtab shiftwidth=4
-
package Module::Install::Makefile;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
@@ -26,6 +23,14 @@
$args;
}
+sub build_subdirs {
+ my $self = shift;
+ my $subdirs = $self->makemaker_args->{DIR} ||= [];
+ for my $subdir (@_) {
+ push @$subdirs, $subdir;
+ }
+}
+
sub clean_files {
my $self = shift;
my $clean = $self->makemaker_args->{clean} ||= {};
@@ -57,6 +62,8 @@
$args->{VERSION} = $self->version || $self->determine_VERSION($args);
$args->{NAME} =~ s/-/::/g;
+ $args->{test} = {TESTS => $self->tests} if $self->tests;
+
if ($] >= 5.005) {
$args->{ABSTRACT} = $self->abstract;
$args->{AUTHOR} = $self->author;
@@ -75,10 +82,13 @@
($self->build_requires, $self->requires) );
# merge both kinds of requires into prereq_pm
- my $dir = ($args->{DIR} ||= []);
+ my $subdirs = ($args->{DIR} ||= []);
if ($self->bundles) {
- push @$dir, map "$_->[1]", @{$self->bundles};
- delete $prereq->{$_->[0]} for @{$self->bundles};
+ foreach my $bundle (@{ $self->bundles }) {
+ my ($file, $dir) = @$bundle;
+ push @$subdirs, $dir if -d $dir;
+ delete $prereq->{$file};
+ }
}
if (my $perl_version = $self->perl_version) {
@@ -109,6 +119,7 @@
my $postamble = "# Postamble by $top_class $top_version\n" .
($self->postamble || '');
+ local *MAKEFILE;
open MAKEFILE, '< Makefile' or die $!;
my $makefile = do { local $/; <MAKEFILE> };
close MAKEFILE;
@@ -143,4 +154,4 @@
__END__
-#line 276
+#line 286
Modified: packages/libmodule-install-perl/trunk/inc/Module/Install/Metadata.pm
===================================================================
--- packages/libmodule-install-perl/trunk/inc/Module/Install/Metadata.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/inc/Module/Install/Metadata.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,151 +1,175 @@
#line 1 "inc/Module/Install/Metadata.pm - lib/Module/Install/Metadata.pm"
-# $File: //depot/cpan/Module-Install/lib/Module/Install/Metadata.pm $ $Author: autrijus $
-# $Revision: #32 $ $Change: 1885 $ $DateTime: 2004/03/11 05:55:27 $ vim: expandtab shiftwidth=4
-
package Module::Install::Metadata;
-use Module::Install::Base; @ISA = qw(Module::Install::Base);
+use Module::Install::Base;
+ at ISA = qw(Module::Install::Base);
-$VERSION = '0.04';
+$VERSION = '0.05';
use strict 'vars';
use vars qw($VERSION);
+my @scalar_keys = qw<
+ name module_name version abstract author license
+ distribution_type perl_version tests
+>;
+my @tuple_keys = qw<
+ build_requires requires recommends bundles
+>;
+
sub Meta { shift }
+sub Meta_ScalarKeys { @scalar_keys }
+sub Meta_TupleKeys { @tuple_keys }
-my @scalar_keys = qw(
- name module_name version abstract author license
- distribution_type sign perl_version
-);
-my @tuple_keys = qw(build_requires requires recommends bundles);
-
foreach my $key (@scalar_keys) {
*$key = sub {
my $self = shift;
- return $self->{'values'}{$key} unless @_;
- $self->{'values'}{$key} = shift;
+ return $self->{values}{$key} if defined wantarray and !@_;
+ $self->{values}{$key} = shift;
return $self;
};
}
+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;
- return $self->{'values'}{$key} unless @_;
+ return $self->{values}{$key} unless @_;
+
my @rv;
while (@_) {
- my $module = shift or last;
+ my $module = shift or last;
my $version = shift || 0;
- if ($module eq 'perl') {
+ if ( $module eq 'perl' ) {
$version =~ s{^(\d+)\.(\d+)\.(\d+)}
{$1 + $2/1_000 + $3/1_000_000}e;
$self->perl_version($version);
next;
}
- my $rv = [$module, $version];
- push @{$self->{'values'}{$key}}, $rv;
+ my $rv = [ $module, $version ];
push @rv, $rv;
}
- return @rv;
+ push @{ $self->{values}{$key} }, @rv;
+ @rv;
};
}
-sub features {
- my $self = shift;
- while (my ($name, $mods) = splice(@_, 0, 2)) {
- my $count = 0;
- push @{$self->{'values'}{'features'}}, ($name => [
- map { (++$count % 2 and ref($_) and ($count += $#$_)) ? @$_ : $_ } @$mods
- ] );
+sub all_from {
+ my ( $self, $file ) = @_;
+
+ $self->version_from($file) unless $self->version;
+ $self->perl_version_from($file) unless $self->perl_version;
+
+ # The remaining probes read from POD sections; if the file
+ # has an accompanying .pod, use that instead
+ my $pod = $file;
+ if ( $pod =~ s/\.pm$/.pod/i and -e $pod ) {
+ $file = $pod;
}
- return @{$self->{'values'}{'features'}};
+
+ $self->author_from($file) unless $self->author;
+ $self->license_from($file) unless $self->license;
+ $self->abstract_from($file) unless $self->abstract;
}
-sub no_index {
- my $self = shift;
- my $type = shift;
- push @{$self->{'values'}{'no_index'}{$type}}, @_ if $type;
- return $self->{'values'}{'no_index'};
+sub provides {
+ my $self = shift;
+ my $provides = ( $self->{values}{provides} ||= {} );
+ %$provides = (%$provides, @_) if @_;
+ return $provides;
}
-sub _dump {
+sub auto_provides {
my $self = shift;
- my $package = ref($self->_top);
- my $version = $self->_top->VERSION;
- my %values = %{$self->{'values'}};
+ return $self unless $self->is_admin;
- 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}||[]},
- ];
+ unless (-e 'MANIFEST') {
+ warn "Cannot deduce auto_provides without a MANIFEST, skipping\n";
+ return $self;
}
- warn "No license specified, setting license = 'unknown'\n"
- unless $values{license};
+ # Avoid spurious warnings as we are not checking manifest here.
- $values{license} ||= 'unknown';
- $values{distribution_type} ||= 'module';
- $values{name} ||= do {
- my $name = $values{module_name};
- $name =~ s/::/-/g;
- $name;
- } if $values{module_name};
+ local $SIG{__WARN__} = sub {1};
+ require ExtUtils::Manifest;
+ local *ExtUtils::Manifest::manicheck = sub { return };
- if ($values{name} =~ /::/) {
- my $name = $values{name};
- $name =~ s/::/-/g;
- die "Error in name(): '$values{name}' should be '$name'!\n";
- }
+ require Module::Build;
+ my $build = Module::Build->new(
+ dist_name => $self->{name},
+ dist_version => $self->{version},
+ license => $self->{license},
+ );
+ $self->provides(%{ $build->find_dist_packages || {} });
+}
- my $dump = '';
- foreach my $key (@scalar_keys) {
- $dump .= "$key: $values{$key}\n" if exists $values{$key};
- }
- foreach my $key (@tuple_keys) {
- next unless exists $values{$key};
- $dump .= "$key:\n";
- foreach (@{$values{$key}}) {
- $dump .= " $_->[0]: $_->[1]\n";
- }
- }
+sub feature {
+ my $self = shift;
+ my $name = shift;
+ my $features = ( $self->{values}{features} ||= [] );
- if (my $no_index = $values{no_index}) {
- push @{$no_index->{'directory'}}, 'inc';
- require YAML;
- local $YAML::UseHeader = 0;
- $dump .= YAML::Dump({ no_index => $no_index});
+ my $mods;
+
+ if ( @_ == 1 and ref( $_[0] ) ) {
+ # The user used ->feature like ->features by passing in the second
+ # argument as a reference. Accomodate for that.
+ $mods = $_[0];
}
else {
- $dump .= << "META";
-no_index:
- directory:
- - inc
-META
+ $mods = \@_;
}
-
- $dump .= "generated_by: $package version $version\n";
- return $dump;
+
+ my $count = 0;
+ push @$features, (
+ $name => [
+ map {
+ ref($_) ? ( ref($_) eq 'HASH' ) ? %$_
+ : @$_
+ : $_
+ } @$mods
+ ]
+ );
+
+ return @$features;
}
+sub features {
+ my $self = shift;
+ while ( my ( $name, $mods ) = splice( @_, 0, 2 ) ) {
+ $self->feature( $name, @$mods );
+ }
+ return @{ $self->{values}{features} };
+}
+
+sub no_index {
+ my $self = shift;
+ my $type = shift;
+ push @{ $self->{values}{no_index}{$type} }, @_ if $type;
+ return $self->{values}{no_index};
+}
+
sub read {
my $self = shift;
$self->include_deps( 'YAML', 0 );
+
require YAML;
- my $data = YAML::LoadFile( 'META.yml' );
+ my $data = YAML::LoadFile('META.yml');
+
# Call methods explicitly in case user has already set some values.
- while ( my ($key, $value) = each %$data ) {
- next unless $self->can( $key );
- if (ref $value eq 'HASH') {
- while (my ($module, $version) = each %$value) {
- $self->$key( $module => $version );
+ while ( my ( $key, $value ) = each %$data ) {
+ next unless $self->can($key);
+ if ( ref $value eq 'HASH' ) {
+ while ( my ( $module, $version ) = each %$value ) {
+ $self->can($key)->($self, $module => $version );
}
}
else {
- $self->$key( $value );
+ $self->can($key)->($self, $value);
}
}
return $self;
@@ -154,37 +178,110 @@
sub write {
my $self = shift;
return $self unless $self->is_admin;
-
- META_NOT_OURS: {
- local *FH;
- if (open FH, "META.yml") {
- while (<FH>) {
- last META_NOT_OURS if /^generated_by: Module::Install\b/;
- }
- return $self if -s FH;
- }
- }
-
- warn "Writing META.yml\n";
- open META, "> META.yml" or warn "Cannot write to META.yml: $!";
- print META $self->_dump;
- close META;
+ $self->admin->write_meta;
return $self;
}
sub version_from {
- my ($self, $version_from) = @_;
+ my ( $self, $file ) = @_;
require ExtUtils::MM_Unix;
- $self->version(ExtUtils::MM_Unix->parse_version($version_from));
+ $self->version( ExtUtils::MM_Unix->parse_version($file) );
}
sub abstract_from {
- my ($self, $abstract_from) = @_;
+ my ( $self, $file ) = @_;
require ExtUtils::MM_Unix;
$self->abstract(
- bless( { DISTNAME => $self->name }, 'ExtUtils::MM_Unix')
- ->parse_abstract($abstract_from)
- );
+ bless( { DISTNAME => $self->name }, 'ExtUtils::MM_Unix' )
+ ->parse_abstract($file) );
}
+sub _slurp {
+ my ( $self, $file ) = @_;
+
+ local *FH;
+ open FH, "< $file" or die "Cannot open $file.pod: $!";
+ do { local $/; <FH> };
+}
+
+sub perl_version_from {
+ my ( $self, $file ) = @_;
+
+ if (
+ $self->_slurp($file) =~ m/
+ ^
+ use \s*
+ v?
+ ([\d\.]+)
+ \s* ;
+ /ixms
+ )
+ {
+ $self->perl_version($1);
+ }
+ else {
+ warn "Cannot determine perl version info from $file\n";
+ return;
+ }
+}
+
+sub author_from {
+ my ( $self, $file ) = @_;
+ my $content = $self->_slurp($file);
+ if ($content =~ m/
+ =head \d \s+ (?:authors?)\b \s*
+ ([^\n]*)
+ |
+ =head \d \s+ (?:licen[cs]e|licensing|copyright|legal)\b \s*
+ .*? copyright .*? \d\d\d[\d.]+ \s* (?:\bby\b)? \s*
+ ([^\n]*)
+ /ixms) {
+ my $author = $1 || $2;
+ $author =~ s{E<lt>}{<}g;
+ $author =~ s{E<gt>}{>}g;
+ $self->author($author);
+ }
+ else {
+ warn "Cannot determine author info from $file\n";
+ }
+}
+
+sub license_from {
+ my ( $self, $file ) = @_;
+
+ if (
+ $self->_slurp($file) =~ m/
+ =head \d \s+
+ (?:licen[cs]e|licensing|copyright|legal)\b
+ (.*?)
+ (=head\\d.*|=cut.*|)
+ \z
+ /ixms
+ )
+ {
+ my $license_text = $1;
+ my @phrases = (
+ 'under the same (?:terms|license) as perl itself' => 'perl',
+ 'GNU public license' => 'gpl',
+ 'GNU lesser public license' => 'gpl',
+ 'BSD license' => 'bsd',
+ 'Artistic license' => 'artistic',
+ 'GPL' => 'gpl',
+ 'LGPL' => 'lgpl',
+ 'BSD' => 'bsd',
+ 'Artistic' => 'artistic',
+ );
+ while ( my ( $pattern, $license ) = splice( @phrases, 0, 2 ) ) {
+ $pattern =~ s{\s+}{\\s+}g;
+ if ( $license_text =~ /\b$pattern\b/i ) {
+ $self->license($license);
+ return 1;
+ }
+ }
+ }
+
+ warn "Cannot determine license info from $file\n";
+ return 'unknown';
+}
+
1;
Deleted: packages/libmodule-install-perl/trunk/inc/Module/Install/PAR.pm
===================================================================
--- packages/libmodule-install-perl/trunk/inc/Module/Install/PAR.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/inc/Module/Install/PAR.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,122 +0,0 @@
-#line 1 "inc/Module/Install/PAR.pm - lib/Module/Install/PAR.pm"
-# $File: //depot/cpan/Module-Install/lib/Module/Install/PAR.pm $ $Author: autrijus $
-# $Revision: #28 $ $Change: 1650 $ $DateTime: 2003/07/29 06:03:27 $ vim: expandtab shiftwidth=4
-
-package Module::Install::PAR;
-use Module::Install::Base; @ISA = qw(Module::Install::Base);
-
-sub par_base {
- my ($self, $base, $file) = @_;
- my $class = ref($self);
- my $inc_class = join('::', @{$self->_top}{qw(prefix name)});
- my $ftp_base;
-
- if (defined $base and length $base) {
- if ($base =~ m!^(([A-Z])[A-Z])[-_A-Z]+\Z!) {
- $self->{mailto} = "$base\@cpan.org";
- $ftp_base = "ftp://ftp.cpan.org/pub/CPAN/authors/id/$2/$1/$base";
- $base = "http://www.cpan.org/authors/id/$2/$1/$base";
- }
- elsif ($base !~ m!^(\w+)://!) {
- die "Cannot recognize path '$base'; please specify an URL or CPAN ID";
- }
- $base .= '/' unless $base =~ m!/\Z!;
- $ftp_base .= '/' unless $ftp_base =~ m!/\Z!;
- }
-
- require Config;
- my $suffix = "$Config::Config{archname}-$Config::Config{version}.par";
-
- unless ($file ||= $self->{file}) {
- my $name = $self->name or return;
- my $version = $self->version or return;
- $name =~ s!::!-!g;
- $self->{file} = $file = "$name-$version-$suffix";
- }
-
- my $perl = $^X;
- $perl = Win32::GetShortPathName($perl)
- if $perl =~ / / and defined &Win32::GetShortPathName;
-
- $self->preamble(<<"END") if $base;
-# --- $class section:
-
-all ::
-\t\@$perl -M$inc_class -e \"extract_par(q($file))\"
-
-END
-
- $self->postamble(<<"END");
-# --- $class section:
-
-$file: all test
-\t\@\$(PERL) -M$inc_class -e \"make_par(q($file))\"
-
-par :: $file
-\t\@\$(NOOP)
-
-par-upload :: $file
-\tcpan-upload -verbose $file
-
-END
-
- $self->{url} = $base;
- $self->{ftp_url} = $ftp_base;
- $self->{suffix} = $suffix;
-
- return $self;
-}
-
-sub fetch_par {
- my ($self, $url, $file, $quiet) = @_;
- $url = $self->{url} || $self->par_base($url)->{url};
- $ftp_url = $self->{ftp_url};
- $file ||= $self->{file};
-
- return $file if -f $file or $self->get_file(
- url => "$url$file",
- ftp_url => "$ftp_url$file"
- );
-
- require Config;
- print << "END" if $self->{mailto} and !$quiet;
-*** No installation package available for your architecture.
-However, you may wish to generate one with '$Config::Config{make} par' and send
-it to <$self->{mailto}>, so other people on the same platform
-can benefit from it.
-*** Proceeding with normal installation...
-END
- return;
-}
-
-sub extract_par {
- my ($self, $file) = @_;
- return unless -f $file;
-
- if (eval { require Archive::Zip; 1 }) {
- my $zip = Archive::Zip->new;
- return unless $zip->read($file) == Archive::Zip::AZ_OK()
- and $zip->extractTree('', 'blib/') == Archive::Zip::AZ_OK();
- }
- elsif ($self->can_run('unzip')) {
- return if system(unzip => $file, qw(-d blib));
- }
-
- local *PM_TO_BLIB;
- open PM_TO_BLIB, '> pm_to_blib' or die $!;
- close PM_TO_BLIB;
-}
-
-sub make_par {
- my ($self, $file) = @_;
- unlink $file if -f $file;
-
- unless ( eval { require PAR::Dist; PAR::Dist->VERSION >= 0.03 } ) {
- warn "Please install PAR::Dist 0.03 or above first.";
- return;
- }
-
- return PAR::Dist::blib_to_par(dist => $file);
-}
-
-1;
Modified: packages/libmodule-install-perl/trunk/inc/Module/Install/Win32.pm
===================================================================
--- packages/libmodule-install-perl/trunk/inc/Module/Install/Win32.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/inc/Module/Install/Win32.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,7 +1,4 @@
#line 1 "inc/Module/Install/Win32.pm - lib/Module/Install/Win32.pm"
-# $File: //depot/cpan/Module-Install/lib/Module/Install/Win32.pm $ $Author: autrijus $
-# $Revision: #9 $ $Change: 1789 $ $DateTime: 2003/11/11 01:22:54 $ vim: expandtab shiftwidth=4
-
package Module::Install::Win32;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
Modified: packages/libmodule-install-perl/trunk/inc/Module/Install/WriteAll.pm
===================================================================
--- packages/libmodule-install-perl/trunk/inc/Module/Install/WriteAll.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/inc/Module/Install/WriteAll.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,7 +1,4 @@
#line 1 "inc/Module/Install/WriteAll.pm - lib/Module/Install/WriteAll.pm"
-# $File: //depot/cpan/Module-Install/lib/Module/Install/WriteAll.pm $ $Author: autrijus $
-# $Revision: #3 $ $Change: 1885 $ $DateTime: 2004/03/11 05:55:27 $ vim: expandtab shiftwidth=4
-
package Module::Install::WriteAll;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
Modified: packages/libmodule-install-perl/trunk/inc/Module/Install.pm
===================================================================
--- packages/libmodule-install-perl/trunk/inc/Module/Install.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/inc/Module/Install.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,10 +1,9 @@
-#line 1 "inc/Module/Install.pm - lib/Module/Install.pm"
-# $File: //depot/cpan/Module-Install/lib/Module/Install.pm $ $Author: autrijus $
-# $Revision: #68 $ $Change: 2285 $ $DateTime: 2004/07/01 03:16:20 $ vim: expandtab shiftwidth=4
-
+#line 1 "/home/autrijus/work/modinstall/trunk/inc/Module/Install.pm - lib/Module/Install.pm"
package Module::Install;
-$VERSION = '0.34';
+use 5.004;
+$VERSION = '0.50'; # Don't forget to update Module::Install::Admin too!
+
die << "." unless $INC{join('/', inc => split(/::/, __PACKAGE__)).'.pm'};
Please invoke ${\__PACKAGE__} with:
@@ -17,14 +16,32 @@
.
use strict 'vars';
-use Cwd ();
+use Cwd qw(cwd abs_path);
+use FindBin;
use File::Find ();
use File::Path ();
@inc::Module::Install::ISA = 'Module::Install';
+*inc::Module::Install::VERSION = *VERSION;
-#line 131
+sub autoload {
+ my $self = shift;
+ my $caller = $self->_caller;
+ 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
+ }
+ $$sym =~ /([^:]+)$/ or die "Cannot autoload $caller - $sym";
+ unshift @_, ($self, $1);
+ goto &{$self->can('call')} unless uc($1) eq $1;
+ };
+}
+
sub import {
my $class = shift;
my $self = $class->new(@_);
@@ -39,44 +56,61 @@
goto &{"$self->{name}::import"};
}
- *{caller(0) . "::AUTOLOAD"} = $self->autoload;
+ *{$self->_caller . "::AUTOLOAD"} = $self->autoload;
+ $self->preload;
# Unregister loader and worker packages so subdirs can use them again
delete $INC{"$self->{file}"};
delete $INC{"$self->{path}.pm"};
}
-#line 158
+sub preload {
+ my ($self) = @_;
-sub autoload {
- my $self = shift;
- my $caller = caller;
+ $self->load_extensions(
+ "$self->{prefix}/$self->{path}", $self
+ ) unless $self->{extensions};
- my $cwd = Cwd::cwd();
- my $sym = "$caller\::AUTOLOAD";
+ my @exts = @{$self->{extensions}};
- $sym->{$cwd} = sub {
- my $pwd = Cwd::cwd();
- if (my $code = $sym->{$pwd}) {
- goto &$code unless $cwd eq $pwd; # delegate back to parent dirs
+ unless (@exts) {
+ my $admin = $self->{admin};
+ @exts = $admin->load_all_extensions;
+ }
+
+ my %seen_method;
+ foreach my $obj (@exts) {
+ while (my ($method, $glob) = each %{ref($obj) . '::'}) {
+ next unless defined *{$glob}{CODE};
+ next if $method =~ /^_/;
+ next if $method eq uc($method);
+ $seen_method{$method}++;
}
- $$sym =~ /([^:]+)$/ or die "Cannot autoload $caller";
- unshift @_, ($self, $1);
- goto &{$self->can('call')} unless uc($1) eq $1;
- };
+ }
+
+ my $caller = $self->_caller;
+ foreach my $name (sort keys %seen_method) {
+ *{"${caller}::$name"} = sub {
+ ${"${caller}::AUTOLOAD"} = "${caller}::$name";
+ goto &{"${caller}::AUTOLOAD"};
+ };
+ }
}
-#line 183
-
sub new {
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;
+
return $args{_self} if $args{_self};
$args{dispatch} ||= 'Admin';
$args{prefix} ||= 'inc';
$args{author} ||= '.author';
$args{bundle} ||= 'inc/BUNDLES';
+ $args{base} ||= $base_path;
$class =~ s/^\Q$args{prefix}\E:://;
$args{name} ||= $class;
@@ -86,24 +120,20 @@
$args{path} = $args{name};
$args{path} =~ s!::!/!g;
}
- $args{file} ||= "$args{prefix}/$args{path}.pm";
+ $args{file} ||= "$args{base}/$args{prefix}/$args{path}.pm";
bless(\%args, $class);
}
-#line 212
-
sub call {
my $self = shift;
my $method = shift;
- my $obj = $self->load($method) or return;
+ my $obj = $self->load($method) or return;
unshift @_, $obj;
goto &{$obj->can($method)};
}
-#line 227
-
sub load {
my ($self, $method) = @_;
@@ -126,8 +156,6 @@
$obj;
}
-#line 257
-
sub load_extensions {
my ($self, $path, $top_obj) = @_;
@@ -139,14 +167,16 @@
my ($file, $pkg) = @{$rv};
next if $self->{pathnames}{$pkg};
- eval { require $file; 1 } or (warn($@), next);
+ local $@;
+ my $new = eval { require $file; $pkg->can('new') };
+ if (!$new) { warn $@ if $@; next; }
$self->{pathnames}{$pkg} = delete $INC{$file};
- push @{$self->{extensions}}, $pkg->new( _top => $top_obj );
+ push @{$self->{extensions}}, &{$new}($pkg, _top => $top_obj );
}
+
+ $self->{extensions} ||= [];
}
-#line 281
-
sub find_extensions {
my ($self, $path) = @_;
my @found;
@@ -164,8 +194,16 @@
@found;
}
-1;
+sub _caller {
+ my $depth = 0;
+ my $caller = caller($depth);
-__END__
+ while ($caller eq __PACKAGE__) {
+ $depth++;
+ $caller = caller($depth);
+ }
-#line 619
+ $caller;
+}
+
+1;
Copied: packages/libmodule-install-perl/trunk/lib/Module/AutoInstall.pm (from rev 1804, packages/libmodule-install-perl/branches/upstream/current/lib/Module/AutoInstall.pm)
Modified: packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/Bundle.pm
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/Bundle.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/Bundle.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,55 +1,70 @@
-# $File: //member/autrijus/.vimrc $ $Author: autrijus $
-# $Revision: #14 $ $Change: 4137 $ $DateTime: 2003/02/08 11:41:59 $
-
package Module::Install::Admin::Bundle;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
-$VERSION = '0.01';
+$VERSION = '0.04';
+use strict;
sub bundle {
- my $self = shift;
+ my $self = shift;
my $bundle_dir = $self->_top->{bundle};
require Cwd;
require CPANPLUS::Backend;
- my $cwd = Cwd::getcwd();
- my $cp = CPANPLUS::Backend->new;
- my $conf = $cp->configure_object;
+ my $cwd = Cwd::getcwd();
+
+ # This code is what we _should_ be doing, but CPANPLUS doesn't
+ # let you have multiple Backends in one program.
+ #my $cp = CPANPLUS::Backend->new;
+ #
+ # Jos Boumans tells us that this is the best way to do what we want
+ # It still scares me.
+ my $cp = CPANPLUS::Internals->_retrieve_id( CPANPLUS::Internals->_last_id )
+ || CPANPLUS::Backend->new;
+ my $conf = $cp->configure_object;
my $modtree = $cp->module_tree;
+ $conf->set_conf( verbose => 1 );
+ $conf->set_conf( signature => 0 );
+ $conf->set_conf( md5 => 0 );
+
mkdir $bundle_dir;
my %bundles;
- while (my ($name, $version) = splice(@_, 0, 2)) {
- my $fetch_result = $cp->fetch(
- modules => [$name],
- fetchdir => $bundle_dir,
- );
- my $rv = $fetch_result->rv or next;
- my $file = $rv->{$name} or next;
- $file = Cwd::abs_path($file);
- my $extract_result = $cp->extract(
- files => [$file],
- extractdir => $bundle_dir,
+ while ( my ( $name, $version ) = splice( @_, 0, 2 ) ) {
+ my $mod = $cp->module_tree($name);
+ next unless $mod;
+ next
+ if ( $mod->package_is_perl_core
+ or $self->{already_bundled}{$mod->package} );
+ my $where = $mod->fetch( fetchdir => $bundle_dir, );
+
+ next unless ($where);
+ my $file = Cwd::abs_path($where);
+
+ my $extract_result = $mod->extract(
+ files => [$file],
+ extractdir => $bundle_dir,
);
- unlink $file;
+ unlink $file;
+ next unless ($extract_result);
+ $bundles{$name} = $extract_result;
+ $self->{already_bundled}{ $mod->package }++;
- $rv = $extract_result->rv or next;
- my $filename = $rv->{$file} or next;
- $bundles{$name} = $filename;
}
chdir $cwd;
local *FH;
- open FH, ">>$bundle_dir.yml" or die $!;
- foreach my $name (sort keys %bundles) {
- print FH "$name: '$bundles{$name}'\n";
+ open FH, ">> $bundle_dir.yml" or die "Cannot write to $bundle_dir.yml: $!";
+ foreach my $name ( sort keys %bundles ) {
+ print FH "$name: '$bundles{$name}'\n";
}
close FH;
}
1;
+
+__END__
Modified: packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/Find.pm
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/Find.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/Find.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,6 +1,3 @@
-# $File: //depot/cpan/Module-Install/lib/Module/Install/Admin/Find.pm $ $Author: autrijus $
-# $Revision: #3 $ $Change: 1375 $ $DateTime: 2003/03/18 12:29:32 $ vim: expandtab shiftwidth=4
-
package Module::Install::Admin::Find;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
Modified: packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/Include.pm
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/Include.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/Include.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,6 +1,3 @@
-# $File: //member/autrijus/.vimrc $ $Author: autrijus $
-# $Revision: #14 $ $Change: 4137 $ $DateTime: 2003/02/08 11:41:59 $
-
package Module::Install::Admin::Include;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
Modified: packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/Makefile.pm
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/Makefile.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/Makefile.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,6 +1,3 @@
-# $File: //depot/cpan/Module-Install/lib/Module/Install/Admin/Makefile.pm $ $Author: autrijus $
-# $Revision: #9 $ $Change: 1646 $ $DateTime: 2003/07/16 01:05:17 $ vim: expandtab shiftwidth=4
-
package Module::Install::Admin::Makefile;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
Modified: packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/Manifest.pm
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/Manifest.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/Manifest.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,6 +1,3 @@
-# $File: //depot/cpan/Module-Install/lib/Module/Install/Admin/Manifest.pm $ $Author: autrijus $
-# $Revision: #19 $ $Change: 1847 $ $DateTime: 2003/12/31 23:14:54 $ vim: expandtab shiftwidth=4
-
package Module::Install::Admin::Manifest;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
@@ -11,7 +8,7 @@
use File::Spec;
# XXX I really want this method in Module::Install::Admin::Makefile
-# But you can't call across Admin modules. Autrijus??
+# But you can't call across Admin modules. Audrey??
sub dist_preop {
my ($self, $distdir) = @_;
return if $self->check_manifest;
@@ -151,7 +148,7 @@
=head1 COPYRIGHT
Copyright 2003, 2004 by
-Autrijus Tang E<lt>autrijus at autrijus.orgE<gt>,
+Audrey Tang E<lt>autrijus at autrijus.orgE<gt>,
Brian Ingerson E<lt>ingy at cpan.orgE<gt>
This program is free software; you can redistribute it and/or modify it
Modified: packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/Metadata.pm
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/Metadata.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/Metadata.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,10 +1,7 @@
-# $File: //depot/cpan/Module-Install/lib/Module/Install/Admin/Manifest.pm $ $Author: autrijus $
-# $Revision: #5 $ $Change: 1263 $ $DateTime: 2003/03/06 02:37:29 $ vim: expandtab shiftwidth=4
-
package Module::Install::Admin::Metadata;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
-$VERSION = '0.01';
+$VERSION = '0.02';
use strict;
@@ -28,4 +25,84 @@
or die "Couldn't unlink META.yml:\n$!";
}
+sub write_meta {
+ my $self = shift;
+
+ META_NOT_OURS: {
+ local *FH;
+ if ( open FH, "META.yml" ) {
+ while (<FH>) {
+ last META_NOT_OURS if /^generated_by: Module::Install\b/;
+ }
+ return if -s FH;
+ }
+ }
+
+ print "Writing META.yml\n";
+
+ local *META;
+ open META, "> META.yml" or warn "Cannot write to META.yml: $!";
+ print META $self->dump_meta;
+ close META;
+
+ return;
+}
+
+sub dump_meta {
+ my $self = shift;
+ my $package = ref( $self->_top );
+ my $version = $self->_top->VERSION;
+ 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} || [] }, ];
+ }
+
+ warn "No license specified, setting license = 'unknown'\n"
+ unless $values{license};
+
+ $values{license} ||= 'unknown';
+ $values{distribution_type} ||= 'module';
+ $values{name} ||= do {
+ my $name = $values{module_name};
+ $name =~ s/::/-/g;
+ $name;
+ } if $values{module_name};
+
+ if ( $values{name} =~ /::/ ) {
+ my $name = $values{name};
+ $name =~ s/::/-/g;
+ die "Error in name(): '$values{name}' should be '$name'!\n";
+ }
+
+ my %dump;
+ foreach my $key ($self->Meta_ScalarKeys) {
+ $dump{$key} = $values{$key} if exists $values{$key};
+ }
+ foreach my $key ($self->Meta_TupleKeys) {
+ next unless exists $values{$key};
+ $dump{$key} = { map { @$_ } @{ $values{$key} } };
+ }
+
+ if ( my $provides = $values{provides} ) {
+ $dump{provides} = $provides;
+ }
+
+ my $no_index = $values{no_index} ||= {};
+ push @{ $no_index->{'directory'} ||= [] }, 'inc', 't';
+ $dump{no_index} = $no_index;
+
+ require YAML;
+ local $YAML::UseHeader = 0;
+ $dump{generated_by} = "$package version $version";
+ return YAML::Dump(\%dump);
+}
+
1;
Modified: packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/ScanDeps.pm
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/ScanDeps.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/ScanDeps.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,6 +1,3 @@
-# $File: //depot/cpan/Module-Install/lib/Module/Install/Admin/ScanDeps.pm $ $Author: autrijus $
-# $Revision: #16 $ $Change: 1815 $ $DateTime: 2003/12/14 20:41:23 $ vim: expandtab shiftwidth=4
-
package Module::Install::Admin::ScanDeps;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
@@ -40,16 +37,20 @@
foreach my $key (keys %$deps) {
if ($deps->{$key}{type} eq 'shared') {
foreach my $used_by (@{$deps->{$key}{used_by}}) {
- $used_by =~ s!/!::!;
+ $used_by =~ s!/!::!g;
$used_by =~ s!\.pm\Z!!i or next;
next if exists $result{$used_by};
$result{$used_by} = undef;
- print "skipped $used_by (needs shared library)\n";
+ my $min_version = Module::CoreList->first_release($used_by);
+ print "skipped $used_by (needs shared library)\n"
+ unless !$min_version || $min_version <= $perl_version;
}
}
+ }
+ foreach my $key (keys %$deps) {
my $dep_pkg = $key;
- $dep_pkg =~ s!/!::!;
+ $dep_pkg =~ s!/!::!g;
$dep_pkg =~ s!\.pm\Z!!i or next;
if (my $min_version = Module::CoreList->first_release($dep_pkg)) {
Modified: packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/WriteAll.pm
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/WriteAll.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install/Admin/WriteAll.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,6 +1,3 @@
-# $File: //depot/cpan/Module-Install/lib/Module/Install/Admin/WriteAll.pm $ $Author: autrijus $
-# $Revision: #4 $ $Change: 1821 $ $DateTime: 2003/12/14 21:07:46 $
-
package Module::Install::Admin::WriteAll;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
Modified: packages/libmodule-install-perl/trunk/lib/Module/Install/Admin.pm
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install/Admin.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install/Admin.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,8 +1,5 @@
-# $File: //depot/cpan/Module-Install/lib/Module/Install/Admin.pm $ $Author: autrijus $
-# $Revision: #42 $ $Change: 1847 $ $DateTime: 2003/12/31 23:14:54 $ vim: expandtab shiftwidth=4
-
package Module::Install::Admin;
-$VERSION = '0.29';
+$VERSION = '0.50';
@ISA = 'Module::Install';
use strict 'vars';
@@ -131,40 +128,36 @@
chomp $to;
- local (*FROM, *TO, $/);
+ local (*FROM, *TO, $_);
open FROM, "< $from" or die "Can't open $from for input:\n$!";
- my $content = <FROM>;
- close FROM;
+ open TO, "> $to" or die "Can't open $to for output:\n$!";
+ print TO "#line 1 \"$to - $from\"\n";
- {
- local $^W;
- my $line = 1;
- $content =~ s{(
- (.*?)
- ^=(?:head\d|pod|begin|item|over|for|back|end)\b.*?
- ^=cut[\t ]*
- (?:[\r\n])*?
- (\r?\n)?
- )}{
- my ($pre, $post) = ($2, $3);
- "$pre#line " . (
- $line += ( () = ( $1 =~ /\n/g ) )
- ) . $post;
- }mgsex;
+ my $content;
+ my $in_pod;
+
+ while (<FROM>) {
+ if (/^=(?:b(?:egin|ack)|head\d|(?:po|en)d|item|(?:ove|fo)r)/) {
+ $in_pod = 1;
+ }
+ elsif (/^=cut\s*\z/ and $in_pod) {
+ $in_pod = 0;
+ print TO "#line $.\n";
+ }
+ elsif (!$in_pod) {
+ print TO $_;
+ }
}
- open TO, "> $to" or die "Can't open $to for output:\n$!";
- print TO "#line 1 \"$to - $from\"\n";
- print TO $content;
+ close FROM;
close TO;
print "include $to\n";
}
-sub load {
- my ($self, $method, $copy) = @_;
-
- # scan through our target to find
+# scan through our target to find
+sub load_all_extensions {
+ my $self = shift;
unless ($self->{extensions}) {
$self->{extensions} = [];
foreach my $inc (@INC) {
@@ -172,9 +165,14 @@
$self->load_extensions("$inc/$self->{path}", $self->{_top});
}
}
+ return @{$self->{extensions}};
+}
+sub load {
+ my ($self, $method, $copy) = @_;
+
my @extobj;
- foreach my $obj (@{$self->{extensions}}) {
+ foreach my $obj ($self->load_all_extensions) {
next unless defined &{ref($obj)."::$method"};
my $is_admin = (ref($obj) =~ /^\Q$self->{name}::$self->{dispatch}::/);
# Don't ever include admin modules, and vice versa.
@@ -281,11 +279,11 @@
=head1 AUTHORS
-Autrijus Tang E<lt>autrijus at autrijus.orgE<gt>
+Audrey Tang E<lt>autrijus at autrijus.orgE<gt>
=head1 COPYRIGHT
-Copyright 2003, 2004 by Autrijus Tang E<lt>autrijus at autrijus.orgE<gt>.
+Copyright 2003, 2004 by Audrey Tang E<lt>autrijus at autrijus.orgE<gt>.
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/trunk/lib/Module/Install/AutoInstall.pm
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install/AutoInstall.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install/AutoInstall.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,6 +1,3 @@
-# $File: //depot/cpan/Module-Install/lib/Module/Install/AutoInstall.pm $ $Author: autrijus $
-# $Revision: #13 $ $Change: 1846 $ $DateTime: 2003/12/31 22:57:12 $ vim: expandtab shiftwidth=4
-
package Module::Install::AutoInstall;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
@@ -20,45 +17,35 @@
my $self = shift;
return if $self->{done}++;
-# ExtUtils::AutoInstall Bootstrap Code, version 7.
-AUTO:{my$p='ExtUtils::AutoInstall';my$v=0.49;$p->VERSION||0>=$v
-or+eval"use $p $v;1"or+do{my$e=$ENV{PERL_EXTUTILS_AUTOINSTALL};
-(!defined($e)||$e!~m/--(?:default|skip|testonly)/and-t STDIN or
-eval"use ExtUtils::MakeMaker;WriteMakefile(PREREQ_PM=>{'$p',$v}
-);1"and exit)and print"==> $p $v required. Install it from CP".
-"AN? [Y/n] "and<STDIN>!~/^n/i and print"*** Installing $p\n"and
-do{if (eval '$>' and lc(`sudo -V`) =~ /version/){system('sudo',
-$^X,"-MCPANPLUS","-e","CPANPLUS::install $p");eval"use $p $v;1"
-||system('sudo', $^X, "-MCPAN", "-e", "CPAN::install $p")}eval{
-require CPANPLUS;CPANPLUS::install$p};eval"use $p $v;1"or eval{
-require CPAN;CPAN::install$p};eval"use $p $v;1"||die"*** Please
-manually install $p $v from cpan.org first...\n"}}}
-
# Flatten array of arrays into a single array
my @core = map @$_, map @$_, grep ref,
$self->build_requires, $self->requires;
- while ( @core and @_ > 1 and $_[0] =~ /^-\w+$/ ) {
- push @core, splice(@_, 0, 2);
- }
+ my @config = @_;
- ExtUtils::AutoInstall->import(
- (@core ? (-core => \@core) : ()), @_, $self->features
+ # We'll need Module::AutoInstall
+ $self->include('Module::AutoInstall');
+ require Module::AutoInstall;
+
+ Module::AutoInstall->import(
+ (@config ? (-config => \@config) : ()),
+ (@core ? (-core => \@core) : ()),
+ $self->features,
);
- $self->makemaker_args( ExtUtils::AutoInstall::_make_args() );
+ $self->makemaker_args( Module::AutoInstall::_make_args() );
my $class = ref($self);
$self->postamble(
"# --- $class section:\n" .
- ExtUtils::AutoInstall::postamble()
+ Module::AutoInstall::postamble()
);
}
sub auto_install_now {
my $self = shift;
- $self->auto_install;
- ExtUtils::AutoInstall::do_install();
+ $self->auto_install(@_);
+ Module::AutoInstall::do_install();
}
1;
Modified: packages/libmodule-install-perl/trunk/lib/Module/Install/Base.pm
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install/Base.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install/Base.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,8 +1,8 @@
-# $File: //depot/cpan/Module-Install/lib/Module/Install/Base.pm $ $Author: autrijus $
-# $Revision: #10 $ $Change: 1847 $ $DateTime: 2003/12/31 23:14:54 $ vim: expandtab shiftwidth=4
-
package Module::Install::Base;
+# Suspend handler for "redefined" warnings
+BEGIN { my $w = $SIG{__WARN__}; $SIG{__WARN__} = sub { $w } };
+
=head1 NAME
Module::Install::Base - Base class for Module::Install extensions
@@ -90,6 +90,9 @@
1;
+# Restore warning handler
+BEGIN { $SIG{__WARN__} = $SIG{__WARN__}->() };
+
__END__
=back
@@ -100,11 +103,11 @@
=head1 AUTHORS
-Autrijus Tang E<lt>autrijus at autrijus.orgE<gt>
+Audrey Tang E<lt>autrijus at autrijus.orgE<gt>
=head1 COPYRIGHT
-Copyright 2003, 2004 by Autrijus Tang E<lt>autrijus at autrijus.orgE<gt>.
+Copyright 2003, 2004 by Audrey Tang E<lt>autrijus at autrijus.orgE<gt>.
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/trunk/lib/Module/Install/Build.pm
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install/Build.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install/Build.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,6 +1,3 @@
-# $File: //depot/cpan/Module-Install/lib/Module/Install/Build.pm $ $Author: ingy $
-# $Revision: #23 $ $Change: 1255 $ $DateTime: 2003/03/05 13:23:32 $ vim: expandtab shiftwidth=4
-
package Module::Install::Build;
$VERSION = '0.01';
use strict;
@@ -18,6 +15,7 @@
$args{dist_name} = $self->name || $self->determine_NAME($self->{args});
$args{license} = $self->license;
+ $args{test_files} = $self->tests;
$args{dist_version} = $self->version || $self->determine_VERSION($self->{args});
$args{dist_abstract} = $self->abstract;
$args{dist_author} = $self->author;
@@ -159,14 +157,14 @@
=head1 AUTHORS
-Autrijus Tang E<lt>autrijus at autrijus.orgE<gt>
+Audrey Tang E<lt>autrijus at autrijus.orgE<gt>
Based on original works by Brian Ingerson E<lt>INGY at cpan.orgE<gt>
=head1 COPYRIGHT
Copyright 2002, 2003, 2004 by
-Autrijus Tang E<lt>autrijus at autrijus.orgE<gt>,
+Audrey Tang E<lt>autrijus at autrijus.orgE<gt>,
Brian Ingerson E<lt>ingy at cpan.orgE<gt>
This program is free software; you can redistribute it and/or modify it
Modified: packages/libmodule-install-perl/trunk/lib/Module/Install/Bundle.pm
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install/Bundle.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install/Bundle.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,9 +1,8 @@
-# $File: //depot/cpan/Module-Install/lib/Module/Install/Bundle.pm $ $Author: autrijus $
-# $Revision: #7 $ $Change: 1847 $ $DateTime: 2003/12/31 23:14:54 $ vim: expandtab shiftwidth=4
-
package Module::Install::Bundle;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
+$VERSION = '0.04';
+
use strict;
use Cwd ();
use File::Find ();
@@ -29,9 +28,13 @@
$bundle_dir =~ s/\W+/\\W+/g;
while (my ($name, $version) = splice(@_, 0, 2)) {
+ $version ||= 0;
+
+ my $source = $bundles->{$name} or die "Cannot find bundle source for $name";
+ my $target = File::Basename::basename($source);
+ $self->bundles($name, $target);
+
next if eval "use $name $version; 1";
- my $source = $bundles->{$name} or next;
- my $target = File::Basename::basename($source);
mkdir $target or die $! unless -d $target;
# XXX - clean those directories upon "make clean"?
@@ -44,8 +47,6 @@
},
no_chdir => 1,
}, $source);
-
- $self->bundles($name, $target);
}
chdir $cwd;
@@ -66,6 +67,19 @@
return \%map;
}
+
+sub auto_bundle_deps {
+ my $self = shift;
+
+ # Flatten array of arrays into a single array
+ my @core = map @$_, map @$_, grep ref, $self->requires;
+ while (my ($name, $version) = splice(@core, 0, 2)) {
+ next unless $name;
+ $self->bundle_deps($name, $version);
+ $self->add_bundle($name, $version);
+ }
+}
+
sub bundle_deps {
my ($self, $pkg, $version) = @_;
my $deps = $self->admin->scan_dependencies($pkg) or return;
@@ -89,16 +103,14 @@
use inc::Module::Install;
- name("Foo-Bar");
- version_from("lib/Foo/Bar.pm");
- abstract("Description of your distribution");
- author("Your Name <your at email.com>");
- license("gpl"); # or "perl", etc
- requires("Baz" => "1.60");
+ name 'Foo-Bar';
+ all_from 'lib/Foo/Bar.pm';
+ requires 'Baz' => '1.60';
# one of either:
- auto_bundle(); # OR
- bundle("Baz" => "1.60");
+ bundle 'Baz' => '1.60';
+ # OR:
+ auto_bundle;
&WriteAll;
@@ -147,6 +159,11 @@
requires( perl => 5.005 );
+=item * auto_bundle_deps
+
+Same as C<auto_bundle>, except that all dependencies of the bundled
+modules are also detected and bundled. This function has the same constraints as bundle_deps.
+
=back
=head1 BUGS
@@ -157,13 +174,13 @@
=head1 AUTHORS
-Autrijus Tang E<lt>autrijus at autrijus.orgE<gt>
+Audrey Tang E<lt>autrijus at autrijus.orgE<gt>
Documentation by Adam Foxson E<lt>afoxson at pobox.comE<gt>
=head1 COPYRIGHT
-Copyright 2003, 2004 by Autrijus Tang E<lt>autrijus at autrijus.orgE<gt>.
+Copyright 2003, 2004, 2005 by Audrey Tang E<lt>autrijus at autrijus.orgE<gt>.
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/trunk/lib/Module/Install/Can.pm
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install/Can.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install/Can.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,6 +1,3 @@
-# $File: //depot/cpan/Module-Install/lib/Module/Install/Can.pm $ $Author: autrijus $
-# $Revision: #6 $ $Change: 1840 $ $DateTime: 2003/12/28 19:42:02 $ vim: expandtab shiftwidth=4
-
package Module::Install::Can;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
$VERSION = '0.01';
@@ -10,6 +7,20 @@
use File::Spec ();
use ExtUtils::MakeMaker ();
+# check if we can load some module
+sub can_use {
+ my ($self, $mod, $ver) = @_;
+ $mod =~ s{::|\\}{/}g;
+ $mod .= ".pm" unless $mod =~ /\.pm$/i;
+
+ my $pkg = $mod;
+ $pkg =~ s{/}{::}g;
+ $pkg =~ s{\.pm$}{}i;
+
+ local $@;
+ eval { require $mod; $pkg->VERSION($ver || 0); 1 };
+}
+
# check if we can run some command
sub can_run {
my ($self, $cmd) = @_;
@@ -37,4 +48,20 @@
return;
}
+# Fix Cygwin bug on maybe_command();
+if ($^O eq 'cygwin') {
+ require ExtUtils::MM_Cygwin;
+ if (!defined(&ExtUtils::MM_Cygwin::maybe_command)) {
+ *ExtUtils::MM_Cygwin::maybe_command = sub {
+ my ($self, $file) = @_;
+ if ($file =~ m{^/cygdrive/}i) {
+ ExtUtils::MM_Win32->maybe_command($file);
+ }
+ else {
+ $self->SUPER::maybe_command($file);
+ }
+ }
+ }
+}
+
1;
Copied: packages/libmodule-install-perl/trunk/lib/Module/Install/Compiler.pm (from rev 1804, packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Compiler.pm)
Modified: packages/libmodule-install-perl/trunk/lib/Module/Install/Fetch.pm
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install/Fetch.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install/Fetch.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,6 +1,3 @@
-# $File: //depot/cpan/Module-Install/lib/Module/Install/Fetch.pm $ $Author: autrijus $
-# $Revision: #8 $ $Change: 1374 $ $DateTime: 2003/03/18 11:50:15 $ vim: expandtab shiftwidth=4
-
package Module::Install::Fetch;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
Modified: packages/libmodule-install-perl/trunk/lib/Module/Install/Include.pm
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install/Include.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install/Include.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,6 +1,3 @@
-# $File: //depot/cpan/Module-Install/lib/Module/Install/Include.pm $ $Author: autrijus $
-# $Revision: #9 $ $Change: 2288 $ $DateTime: 2004/07/01 04:49:12 $ vim: expandtab shiftwidth=4
-
package Module::Install::Include;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
Modified: packages/libmodule-install-perl/trunk/lib/Module/Install/Inline.pm
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install/Inline.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install/Inline.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,6 +1,3 @@
-# $File: //depot/cpan/Module-Install/lib/Module/Install/Inline.pm $ $Author: autrijus $
-# $Revision: #7 $ $Change: 1885 $ $DateTime: 2004/03/11 05:55:27 $ vim: expandtab shiftwidth=4
-
package Module::Install::Inline;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
Modified: packages/libmodule-install-perl/trunk/lib/Module/Install/MakeMaker.pm
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install/MakeMaker.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install/MakeMaker.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,6 +1,3 @@
-# $File: //depot/cpan/Module-Install/lib/Module/Install/MakeMaker.pm $ $Author: autrijus $
-# $Revision: #11 $ $Change: 1781 $ $DateTime: 2003/10/22 17:14:03 $ vim: expandtab shiftwidth=4
-
package Module::Install::MakeMaker;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
Modified: packages/libmodule-install-perl/trunk/lib/Module/Install/Makefile/Name.pm
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install/Makefile/Name.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install/Makefile/Name.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,6 +1,3 @@
-# $File: //depot/cpan/Module-Install/lib/Module/Install/Makefile/Name.pm $ $Author: autrijus $
-# $Revision: #11 $ $Change: 1645 $ $DateTime: 2003/07/16 01:05:06 $ vim: expandtab shiftwidth=4
-
package Module::Install::Makefile::Name;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
Modified: packages/libmodule-install-perl/trunk/lib/Module/Install/Makefile/Version.pm
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install/Makefile/Version.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install/Makefile/Version.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,6 +1,3 @@
-# $File: //depot/cpan/Module-Install/lib/Module/Install/Makefile/Version.pm $ $Author: autrijus $
-# $Revision: #14 $ $Change: 1648 $ $DateTime: 2003/07/16 01:09:42 $ vim: expandtab shiftwidth=4
-
package Module::Install::Makefile::Version;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
Modified: packages/libmodule-install-perl/trunk/lib/Module/Install/Makefile.pm
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install/Makefile.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install/Makefile.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,6 +1,3 @@
-# $File: //depot/cpan/Module-Install/lib/Module/Install/Makefile.pm $ $Author: autrijus $
-# $Revision: #53 $ $Change: 1847 $ $DateTime: 2003/12/31 23:14:54 $ vim: expandtab shiftwidth=4
-
package Module::Install::Makefile;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
@@ -25,6 +22,14 @@
$args;
}
+sub build_subdirs {
+ my $self = shift;
+ my $subdirs = $self->makemaker_args->{DIR} ||= [];
+ for my $subdir (@_) {
+ push @$subdirs, $subdir;
+ }
+}
+
sub clean_files {
my $self = shift;
my $clean = $self->makemaker_args->{clean} ||= {};
@@ -56,6 +61,8 @@
$args->{VERSION} = $self->version || $self->determine_VERSION($args);
$args->{NAME} =~ s/-/::/g;
+ $args->{test} = {TESTS => $self->tests} if $self->tests;
+
if ($] >= 5.005) {
$args->{ABSTRACT} = $self->abstract;
$args->{AUTHOR} = $self->author;
@@ -74,10 +81,13 @@
($self->build_requires, $self->requires) );
# merge both kinds of requires into prereq_pm
- my $dir = ($args->{DIR} ||= []);
+ my $subdirs = ($args->{DIR} ||= []);
if ($self->bundles) {
- push @$dir, map "$_->[1]", @{$self->bundles};
- delete $prereq->{$_->[0]} for @{$self->bundles};
+ foreach my $bundle (@{ $self->bundles }) {
+ my ($file, $dir) = @$bundle;
+ push @$subdirs, $dir if -d $dir;
+ delete $prereq->{$file};
+ }
}
if (my $perl_version = $self->perl_version) {
@@ -108,6 +118,7 @@
my $postamble = "# Postamble by $top_class $top_version\n" .
($self->postamble || '');
+ local *MAKEFILE;
open MAKEFILE, '< Makefile' or die $!;
my $makefile = do { local $/; <MAKEFILE> };
close MAKEFILE;
@@ -257,14 +268,14 @@
=head1 AUTHORS
-Autrijus Tang E<lt>autrijus at autrijus.orgE<gt>
+Audrey Tang E<lt>autrijus at autrijus.orgE<gt>
Based on original works by Brian Ingerson E<lt>INGY at cpan.orgE<gt>
=head1 COPYRIGHT
Copyright 2002, 2003, 2004 by
-Autrijus Tang E<lt>autrijus at autrijus.orgE<gt>,
+Audrey Tang E<lt>autrijus at autrijus.orgE<gt>,
Brian Ingerson E<lt>ingy at cpan.orgE<gt>
This program is free software; you can redistribute it and/or modify it
Modified: packages/libmodule-install-perl/trunk/lib/Module/Install/Metadata.pm
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install/Metadata.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install/Metadata.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,150 +1,174 @@
-# $File: //depot/cpan/Module-Install/lib/Module/Install/Metadata.pm $ $Author: autrijus $
-# $Revision: #32 $ $Change: 1885 $ $DateTime: 2004/03/11 05:55:27 $ vim: expandtab shiftwidth=4
-
package Module::Install::Metadata;
-use Module::Install::Base; @ISA = qw(Module::Install::Base);
+use Module::Install::Base;
+ at ISA = qw(Module::Install::Base);
-$VERSION = '0.04';
+$VERSION = '0.05';
use strict 'vars';
use vars qw($VERSION);
+my @scalar_keys = qw<
+ name module_name version abstract author license
+ distribution_type perl_version tests
+>;
+my @tuple_keys = qw<
+ build_requires requires recommends bundles
+>;
+
sub Meta { shift }
+sub Meta_ScalarKeys { @scalar_keys }
+sub Meta_TupleKeys { @tuple_keys }
-my @scalar_keys = qw(
- name module_name version abstract author license
- distribution_type sign perl_version
-);
-my @tuple_keys = qw(build_requires requires recommends bundles);
-
foreach my $key (@scalar_keys) {
*$key = sub {
my $self = shift;
- return $self->{'values'}{$key} unless @_;
- $self->{'values'}{$key} = shift;
+ return $self->{values}{$key} if defined wantarray and !@_;
+ $self->{values}{$key} = shift;
return $self;
};
}
+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;
- return $self->{'values'}{$key} unless @_;
+ return $self->{values}{$key} unless @_;
+
my @rv;
while (@_) {
- my $module = shift or last;
+ my $module = shift or last;
my $version = shift || 0;
- if ($module eq 'perl') {
+ if ( $module eq 'perl' ) {
$version =~ s{^(\d+)\.(\d+)\.(\d+)}
{$1 + $2/1_000 + $3/1_000_000}e;
$self->perl_version($version);
next;
}
- my $rv = [$module, $version];
- push @{$self->{'values'}{$key}}, $rv;
+ my $rv = [ $module, $version ];
push @rv, $rv;
}
- return @rv;
+ push @{ $self->{values}{$key} }, @rv;
+ @rv;
};
}
-sub features {
- my $self = shift;
- while (my ($name, $mods) = splice(@_, 0, 2)) {
- my $count = 0;
- push @{$self->{'values'}{'features'}}, ($name => [
- map { (++$count % 2 and ref($_) and ($count += $#$_)) ? @$_ : $_ } @$mods
- ] );
+sub all_from {
+ my ( $self, $file ) = @_;
+
+ $self->version_from($file) unless $self->version;
+ $self->perl_version_from($file) unless $self->perl_version;
+
+ # The remaining probes read from POD sections; if the file
+ # has an accompanying .pod, use that instead
+ my $pod = $file;
+ if ( $pod =~ s/\.pm$/.pod/i and -e $pod ) {
+ $file = $pod;
}
- return @{$self->{'values'}{'features'}};
+
+ $self->author_from($file) unless $self->author;
+ $self->license_from($file) unless $self->license;
+ $self->abstract_from($file) unless $self->abstract;
}
-sub no_index {
- my $self = shift;
- my $type = shift;
- push @{$self->{'values'}{'no_index'}{$type}}, @_ if $type;
- return $self->{'values'}{'no_index'};
+sub provides {
+ my $self = shift;
+ my $provides = ( $self->{values}{provides} ||= {} );
+ %$provides = (%$provides, @_) if @_;
+ return $provides;
}
-sub _dump {
+sub auto_provides {
my $self = shift;
- my $package = ref($self->_top);
- my $version = $self->_top->VERSION;
- my %values = %{$self->{'values'}};
+ return $self unless $self->is_admin;
- 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}||[]},
- ];
+ unless (-e 'MANIFEST') {
+ warn "Cannot deduce auto_provides without a MANIFEST, skipping\n";
+ return $self;
}
- warn "No license specified, setting license = 'unknown'\n"
- unless $values{license};
+ # Avoid spurious warnings as we are not checking manifest here.
- $values{license} ||= 'unknown';
- $values{distribution_type} ||= 'module';
- $values{name} ||= do {
- my $name = $values{module_name};
- $name =~ s/::/-/g;
- $name;
- } if $values{module_name};
+ local $SIG{__WARN__} = sub {1};
+ require ExtUtils::Manifest;
+ local *ExtUtils::Manifest::manicheck = sub { return };
- if ($values{name} =~ /::/) {
- my $name = $values{name};
- $name =~ s/::/-/g;
- die "Error in name(): '$values{name}' should be '$name'!\n";
- }
+ require Module::Build;
+ my $build = Module::Build->new(
+ dist_name => $self->{name},
+ dist_version => $self->{version},
+ license => $self->{license},
+ );
+ $self->provides(%{ $build->find_dist_packages || {} });
+}
- my $dump = '';
- foreach my $key (@scalar_keys) {
- $dump .= "$key: $values{$key}\n" if exists $values{$key};
- }
- foreach my $key (@tuple_keys) {
- next unless exists $values{$key};
- $dump .= "$key:\n";
- foreach (@{$values{$key}}) {
- $dump .= " $_->[0]: $_->[1]\n";
- }
- }
+sub feature {
+ my $self = shift;
+ my $name = shift;
+ my $features = ( $self->{values}{features} ||= [] );
- if (my $no_index = $values{no_index}) {
- push @{$no_index->{'directory'}}, 'inc';
- require YAML;
- local $YAML::UseHeader = 0;
- $dump .= YAML::Dump({ no_index => $no_index});
+ my $mods;
+
+ if ( @_ == 1 and ref( $_[0] ) ) {
+ # The user used ->feature like ->features by passing in the second
+ # argument as a reference. Accomodate for that.
+ $mods = $_[0];
}
else {
- $dump .= << "META";
-no_index:
- directory:
- - inc
-META
+ $mods = \@_;
}
-
- $dump .= "generated_by: $package version $version\n";
- return $dump;
+
+ my $count = 0;
+ push @$features, (
+ $name => [
+ map {
+ ref($_) ? ( ref($_) eq 'HASH' ) ? %$_
+ : @$_
+ : $_
+ } @$mods
+ ]
+ );
+
+ return @$features;
}
+sub features {
+ my $self = shift;
+ while ( my ( $name, $mods ) = splice( @_, 0, 2 ) ) {
+ $self->feature( $name, @$mods );
+ }
+ return @{ $self->{values}{features} };
+}
+
+sub no_index {
+ my $self = shift;
+ my $type = shift;
+ push @{ $self->{values}{no_index}{$type} }, @_ if $type;
+ return $self->{values}{no_index};
+}
+
sub read {
my $self = shift;
$self->include_deps( 'YAML', 0 );
+
require YAML;
- my $data = YAML::LoadFile( 'META.yml' );
+ my $data = YAML::LoadFile('META.yml');
+
# Call methods explicitly in case user has already set some values.
- while ( my ($key, $value) = each %$data ) {
- next unless $self->can( $key );
- if (ref $value eq 'HASH') {
- while (my ($module, $version) = each %$value) {
- $self->$key( $module => $version );
+ while ( my ( $key, $value ) = each %$data ) {
+ next unless $self->can($key);
+ if ( ref $value eq 'HASH' ) {
+ while ( my ( $module, $version ) = each %$value ) {
+ $self->can($key)->($self, $module => $version );
}
}
else {
- $self->$key( $value );
+ $self->can($key)->($self, $value);
}
}
return $self;
@@ -153,37 +177,110 @@
sub write {
my $self = shift;
return $self unless $self->is_admin;
-
- META_NOT_OURS: {
- local *FH;
- if (open FH, "META.yml") {
- while (<FH>) {
- last META_NOT_OURS if /^generated_by: Module::Install\b/;
- }
- return $self if -s FH;
- }
- }
-
- warn "Writing META.yml\n";
- open META, "> META.yml" or warn "Cannot write to META.yml: $!";
- print META $self->_dump;
- close META;
+ $self->admin->write_meta;
return $self;
}
sub version_from {
- my ($self, $version_from) = @_;
+ my ( $self, $file ) = @_;
require ExtUtils::MM_Unix;
- $self->version(ExtUtils::MM_Unix->parse_version($version_from));
+ $self->version( ExtUtils::MM_Unix->parse_version($file) );
}
sub abstract_from {
- my ($self, $abstract_from) = @_;
+ my ( $self, $file ) = @_;
require ExtUtils::MM_Unix;
$self->abstract(
- bless( { DISTNAME => $self->name }, 'ExtUtils::MM_Unix')
- ->parse_abstract($abstract_from)
- );
+ bless( { DISTNAME => $self->name }, 'ExtUtils::MM_Unix' )
+ ->parse_abstract($file) );
}
+sub _slurp {
+ my ( $self, $file ) = @_;
+
+ local *FH;
+ open FH, "< $file" or die "Cannot open $file.pod: $!";
+ do { local $/; <FH> };
+}
+
+sub perl_version_from {
+ my ( $self, $file ) = @_;
+
+ if (
+ $self->_slurp($file) =~ m/
+ ^
+ use \s*
+ v?
+ ([\d\.]+)
+ \s* ;
+ /ixms
+ )
+ {
+ $self->perl_version($1);
+ }
+ else {
+ warn "Cannot determine perl version info from $file\n";
+ return;
+ }
+}
+
+sub author_from {
+ my ( $self, $file ) = @_;
+ my $content = $self->_slurp($file);
+ if ($content =~ m/
+ =head \d \s+ (?:authors?)\b \s*
+ ([^\n]*)
+ |
+ =head \d \s+ (?:licen[cs]e|licensing|copyright|legal)\b \s*
+ .*? copyright .*? \d\d\d[\d.]+ \s* (?:\bby\b)? \s*
+ ([^\n]*)
+ /ixms) {
+ my $author = $1 || $2;
+ $author =~ s{E<lt>}{<}g;
+ $author =~ s{E<gt>}{>}g;
+ $self->author($author);
+ }
+ else {
+ warn "Cannot determine author info from $file\n";
+ }
+}
+
+sub license_from {
+ my ( $self, $file ) = @_;
+
+ if (
+ $self->_slurp($file) =~ m/
+ =head \d \s+
+ (?:licen[cs]e|licensing|copyright|legal)\b
+ (.*?)
+ (=head\\d.*|=cut.*|)
+ \z
+ /ixms
+ )
+ {
+ my $license_text = $1;
+ my @phrases = (
+ 'under the same (?:terms|license) as perl itself' => 'perl',
+ 'GNU public license' => 'gpl',
+ 'GNU lesser public license' => 'gpl',
+ 'BSD license' => 'bsd',
+ 'Artistic license' => 'artistic',
+ 'GPL' => 'gpl',
+ 'LGPL' => 'lgpl',
+ 'BSD' => 'bsd',
+ 'Artistic' => 'artistic',
+ );
+ while ( my ( $pattern, $license ) = splice( @phrases, 0, 2 ) ) {
+ $pattern =~ s{\s+}{\\s+}g;
+ if ( $license_text =~ /\b$pattern\b/i ) {
+ $self->license($license);
+ return 1;
+ }
+ }
+ }
+
+ warn "Cannot determine license info from $file\n";
+ return 'unknown';
+}
+
1;
Modified: packages/libmodule-install-perl/trunk/lib/Module/Install/PAR.pm
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install/PAR.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install/PAR.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,6 +1,3 @@
-# $File: //depot/cpan/Module-Install/lib/Module/Install/PAR.pm $ $Author: autrijus $
-# $Revision: #28 $ $Change: 1650 $ $DateTime: 2003/07/29 06:03:27 $ vim: expandtab shiftwidth=4
-
package Module::Install::PAR;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
Modified: packages/libmodule-install-perl/trunk/lib/Module/Install/Run.pm
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install/Run.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install/Run.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,6 +1,3 @@
-# $File: //depot/cpan/Module-Install/lib/Module/Install/Run.pm $ $Author: autrijus $
-# $Revision: #6 $ $Change: 1375 $ $DateTime: 2003/03/18 12:29:32 $ vim: expandtab shiftwidth=4
-
package Module::Install::Run;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
Modified: packages/libmodule-install-perl/trunk/lib/Module/Install/Scripts.pm
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install/Scripts.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install/Scripts.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,9 +1,6 @@
-# $File: //depot/cpan/Module-Install/lib/Module/Install/Scripts.pm $ $Author: autrijus $
-# $Revision: #7 $ $Change: 1841 $ $DateTime: 2003/12/28 19:43:56 $ vim: expandtab shiftwidth=4
-
package Module::Install::Scripts;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
-$VERSION = '0.01';
+$VERSION = '0.02';
use strict;
use File::Basename ();
@@ -28,10 +25,10 @@
}
sub install_script {
- my ($self, $script_file) = @_;
+ my $self = shift;
my $args = $self->makemaker_args;
my $exe_files = $args->{EXE_FILES} ||= [];
- push @$exe_files, $script_file;
+ push @$exe_files, @_;
}
sub _read_script {
Copied: packages/libmodule-install-perl/trunk/lib/Module/Install/Share.pm (from rev 1804, packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Share.pm)
Modified: packages/libmodule-install-perl/trunk/lib/Module/Install/Win32.pm
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install/Win32.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install/Win32.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,6 +1,3 @@
-# $File: //depot/cpan/Module-Install/lib/Module/Install/Win32.pm $ $Author: autrijus $
-# $Revision: #9 $ $Change: 1789 $ $DateTime: 2003/11/11 01:22:54 $ vim: expandtab shiftwidth=4
-
package Module::Install::Win32;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
Modified: packages/libmodule-install-perl/trunk/lib/Module/Install/WriteAll.pm
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install/WriteAll.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install/WriteAll.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,6 +1,3 @@
-# $File: //depot/cpan/Module-Install/lib/Module/Install/WriteAll.pm $ $Author: autrijus $
-# $Revision: #3 $ $Change: 1885 $ $DateTime: 2004/03/11 05:55:27 $ vim: expandtab shiftwidth=4
-
package Module::Install::WriteAll;
use Module::Install::Base; @ISA = qw(Module::Install::Base);
Deleted: packages/libmodule-install-perl/trunk/lib/Module/Install-Cookbook.pod
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install-Cookbook.pod 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install-Cookbook.pod 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,125 +0,0 @@
-# $File: //depot/cpan/Module-Install/lib/Module/Install-Cookbook.pod $ $Author: autrijus $
-# $Revision: #4 $ $Change: 1847 $ $DateTime: 2003/12/31 23:14:54 $ vim: expandtab shiftwidth=4
-
-=head1 NAME
-
-Module::Install-Cookbook - A CornucopiE<aelig> of Module::Install Recipes
-
-=head1 DESCRIPTION
-
-It's a lot easier for most of us to cook a meal from a recipe, rather
-than just throwing things into a pot until something edible forms. So
-it is with programming as well. B<Module::Install> makes writing Perl
-module installers as easy as possible. Having a set of easy to
-understand samples, makes it simpler yet.
-
-This Cookbook is intended to be an ever-growing repository of small yet
-complete coding examples; each showing how to accomplish a particular
-task with B<Module::Install>. Each example is followed by a short
-discussion, explaining in detail the particular features that are being
-demonstrated.
-
-Guten Appetit!
-
-=head1 Appetizers
-
-=head2 Replacing C<ExtUtils::MakeMaker>
-
-=over 4
-
-=item Problem
-
-As a CPAN author, you are likely to have some B<ExtUtils::MakeMaker>
-based F<Makefile.PL> already. You want to take advantage of cool
-features offered by B<Module::Install> extensions, but why fix something
-that's not broken?
-
-=item Solution
-
-The I<fix> turns out to be extremely simple. Where you had:
-
- use ExtUtils::MakeMaker;
- WriteMakefile( NAME => "Foo::Bar" );
-
-Now just write:
-
- use inc::Module::Install;
- WriteMakefile( NAME => "Foo::Bar" );
-
-Presto! Your F<Makefile.PL> is now ready to receive all sort of magic
-extensions; see below for details.
-
-=back
-
-=over 4
-
-=item Problem
-
-XXX F<Build.PL>
-
-=item Solution
-
-=back
-
-
-=head1 Fast Food
-
-XXX: to be written
-
-=head1 The Main Course
-
-=item Problem
-
-Installing XS extensions from CPAN was difficult. Some platforms do
-not come with a compiler (Win32, MacOSX...); some headers or libraries
-may be missing.
-
-=item Solution
-
-Just use the C<par_base> and C<fetch_par> functions:
-
- # same old Makefile.PL, with a few changes
- use inc::Module::Install; # was "use ExtUtils::MakeMaker;"
- WriteMakefile( ... ); # same as the original
- check_nmake(); # make sure the user have nmake
- par_base('AUTRIJUS'); # your CPAN ID or a URL
- fetch_par() unless can_cc(); # use precompiled PAR only if necessary
-
-Users will not notice anything, except now it works. Of course, you
-still need to type C<make par> and upload the precompiled package.
-
-=head1 Just Desserts
-
-XXX: to be written
-
-=head1 Entertaining Guests
-
-XXX: to be written
-
-=head1 Food for Thought
-
-XXX: to be written
-
-=head1 SEE ALSO
-
-For generic information, see L<Module::Install>.
-
-=head1 AUTHOR
-
-Autrijus Tang E<lt>autrijus at autrijus.orgE<gt>
-
-Structure based on L<Inline::C-Cookbook> by Brian Ingerson
-E<lt>INGY at cpan.orgE<gt>
-
-=head1 COPYRIGHT
-
-Copyright 2003, 2004 by Autrijus Tang E<lt>autrijus at autrijus.orgE<gt>.
-
-Copyright 2002 by Brian Ingerson E<lt>INGY at cpan.orgE<gt>.
-
-This document is free documentation; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-See L<http://www.perl.com/perl/misc/Artistic.html>
-
-=cut
Modified: packages/libmodule-install-perl/trunk/lib/Module/Install-Philosophy.pod
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install-Philosophy.pod 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install-Philosophy.pod 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,6 +1,3 @@
-# $File: //depot/cpan/Module-Install/lib/Module/Install-Philosophy.pod $ $Author: autrijus $
-# $Revision: #4 $ $Change: 1288 $ $DateTime: 2003/03/06 21:32:32 $ vim: expandtab shiftwidth=4
-
=head1 NAME
Module::Install-Philosophy - The idea behind Module::Install
Modified: packages/libmodule-install-perl/trunk/lib/Module/Install.pm
===================================================================
--- packages/libmodule-install-perl/trunk/lib/Module/Install.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/Module/Install.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,9 +1,8 @@
-# $File: //depot/cpan/Module-Install/lib/Module/Install.pm $ $Author: autrijus $
-# $Revision: #68 $ $Change: 2285 $ $DateTime: 2004/07/01 03:16:20 $ vim: expandtab shiftwidth=4
-
package Module::Install;
-$VERSION = '0.34';
+use 5.004;
+$VERSION = '0.50'; # Don't forget to update Module::Install::Admin too!
+
die << "." unless $INC{join('/', inc => split(/::/, __PACKAGE__)).'.pm'};
Please invoke ${\__PACKAGE__} with:
@@ -16,119 +15,32 @@
.
use strict 'vars';
-use Cwd ();
+use Cwd qw(cwd abs_path);
+use FindBin;
use File::Find ();
use File::Path ();
@inc::Module::Install::ISA = 'Module::Install';
+*inc::Module::Install::VERSION = *VERSION;
-=head1 NAME
+sub autoload {
+ my $self = shift;
+ my $caller = $self->_caller;
-Module::Install - Standalone, extensible Perl module installer
+ my $cwd = cwd();
+ my $sym = "$caller\::AUTOLOAD";
-=head1 VERSION
+ $sym->{$cwd} = sub {
+ my $pwd = cwd();
+ if (my $code = $sym->{$pwd}) {
+ goto &$code unless $cwd eq $pwd; # delegate back to parent dirs
+ }
+ $$sym =~ /([^:]+)$/ or die "Cannot autoload $caller - $sym";
+ unshift @_, ($self, $1);
+ goto &{$self->can('call')} unless uc($1) eq $1;
+ };
+}
-This document describes version 0.34 of Module::Install, released
-July 1, 2004.
-
-=head1 SYNOPSIS
-
-In your F<Makefile.PL>:
-
- # drop-in replacement to ExtUtils::MakeMaker!
- use inc::Module::Install;
- WriteMakefile( ... );
-
-Standard usage:
-
- use inc::Module::Install;
-
- name ('Your-Module');
- abstract ('Some Abstract here');
- author ('Your Name <email at example.com>');
- version_from ('lib/Your/Module.pm');
- license ('perl');
-
- requires ('perl' => 5.005);
- requires ('Acme::Hello');
- build_requires ('Test::More');
- recommends ('Acme::ComeFrom' => 0.01);
-
- # -- You'll likely only want one of the below --
- # auto_bundle(); # bundle run-time dependencies
- # auto_include(); # include build-time dependencies
- # auto_include_deps(); # same as above, plus recursive dependencies
- # auto_install(); # auto-install all dependencies from CPAN
-
- &WriteAll;
-
-If it is invoked as F<Makefile.PL>, it will write a standard F<Makefile>,
-and also download a F<nmake.exe> on Microsoft Windows if needed. If invoked
-as F<Build.PL>, it writes a standard F<Build> script that works with the
-L<Module::Build> framework.
-
-You can even support both by having a dummy F<Build.PL> that reads:
-
- require 'Makefile.PL';
-
-=head1 DESCRIPTION
-
-This module provides a drop-in replacement for B<ExtUtils::MakeMaker>.
-For first-time users, Brian Ingerson's I<Creating Module Distributions
-with Module::Install> in June 2003 issue of The Perl Journal
-(L<http://www.tpj.com/issues/>) provides a gentle introduction to how
-this module works.
-
-If you want to start working with real-world examples right away, check
-out L<Module::Install-Cookbook>. For some personal opinions behind this
-module's making, see L<Module::Install-Philosophy>.
-
-This module is designed to let module authors eliminate all duplicated
-codes in F<Makefile.PL> and F<Build.PL>, by abstracting them into
-I<extensions>, and distribute them under the F<inc/> directory.
-
-To start using it, just replace the C<use ExtUtils::MakeMaker;> line
-from F<Makefile.PL> with C<use inc::Module::Install;>, then run it once:
-
- % perl Makefile.PL
- include inc/Module/Install.pm
- include inc/Module/Install/MakeMaker.pm
- include inc/Module/Install/Base.pm
- include inc/Module/Install/Makefile.pm
- include inc/Module/Install/Metadata.pm
- Writing Makefile for foo
- Creating META.yml
-
-Now your distribution will have an extra F<inc/> directory, with the
-minimal loader code F<inc/Module/Install.pm> and base extension class
-B<Module::Install::Base> copied into it. Also, since you made use of
-the C<WriteMakefile> function, the B<Module::Install::MakeMaker>
-extension is also copied into F<inc/>, along with two other extensions
-called from B<Module::Install::MakeMaker>.
-
-End-users of your distribution do not need to install anything extra;
-the distribution already includes all necessary extensions, with their
-POD documentations removed. Note that because it does not include
-unused extensions or B<Module::Install> itself, the impact on
-distribution size is minimized.
-
-=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.
-
-=cut
-
sub import {
my $class = shift;
my $self = $class->new(@_);
@@ -143,53 +55,61 @@
goto &{"$self->{name}::import"};
}
- *{caller(0) . "::AUTOLOAD"} = $self->autoload;
+ *{$self->_caller . "::AUTOLOAD"} = $self->autoload;
+ $self->preload;
# Unregister loader and worker packages so subdirs can use them again
delete $INC{"$self->{file}"};
delete $INC{"$self->{path}.pm"};
}
-=item autoload()
+sub preload {
+ my ($self) = @_;
-Returns an AUTOLOAD handler bound to the caller package.
+ $self->load_extensions(
+ "$self->{prefix}/$self->{path}", $self
+ ) unless $self->{extensions};
-=cut
+ my @exts = @{$self->{extensions}};
-sub autoload {
- my $self = shift;
- my $caller = caller;
+ unless (@exts) {
+ my $admin = $self->{admin};
+ @exts = $admin->load_all_extensions;
+ }
- my $cwd = Cwd::cwd();
- my $sym = "$caller\::AUTOLOAD";
-
- $sym->{$cwd} = sub {
- my $pwd = Cwd::cwd();
- if (my $code = $sym->{$pwd}) {
- goto &$code unless $cwd eq $pwd; # delegate back to parent dirs
+ my %seen_method;
+ foreach my $obj (@exts) {
+ while (my ($method, $glob) = each %{ref($obj) . '::'}) {
+ next unless defined *{$glob}{CODE};
+ next if $method =~ /^_/;
+ next if $method eq uc($method);
+ $seen_method{$method}++;
}
- $$sym =~ /([^:]+)$/ or die "Cannot autoload $caller";
- unshift @_, ($self, $1);
- goto &{$self->can('call')} unless uc($1) eq $1;
- };
+ }
+
+ my $caller = $self->_caller;
+ foreach my $name (sort keys %seen_method) {
+ *{"${caller}::$name"} = sub {
+ ${"${caller}::AUTOLOAD"} = "${caller}::$name";
+ goto &{"${caller}::AUTOLOAD"};
+ };
+ }
}
-=item new(%args)
-
-Constructor, taking a hash of named arguments. Usually you do not want
-change any of them.
-
-=cut
-
sub new {
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;
+
return $args{_self} if $args{_self};
$args{dispatch} ||= 'Admin';
$args{prefix} ||= 'inc';
$args{author} ||= '.author';
$args{bundle} ||= 'inc/BUNDLES';
+ $args{base} ||= $base_path;
$class =~ s/^\Q$args{prefix}\E:://;
$args{name} ||= $class;
@@ -199,32 +119,20 @@
$args{path} = $args{name};
$args{path} =~ s!::!/!g;
}
- $args{file} ||= "$args{prefix}/$args{path}.pm";
+ $args{file} ||= "$args{base}/$args{prefix}/$args{path}.pm";
bless(\%args, $class);
}
-=item call($method, @args)
-
-Call an extension method, passing C<@args> to it.
-
-=cut
-
sub call {
my $self = shift;
my $method = shift;
- my $obj = $self->load($method) or return;
+ my $obj = $self->load($method) or return;
unshift @_, $obj;
goto &{$obj->can($method)};
}
-=item load($method)
-
-Include and load an extension object implementing C<$method>.
-
-=cut
-
sub load {
my ($self, $method) = @_;
@@ -247,14 +155,6 @@
$obj;
}
-=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.
-
-=cut
-
sub load_extensions {
my ($self, $path, $top_obj) = @_;
@@ -266,19 +166,16 @@
my ($file, $pkg) = @{$rv};
next if $self->{pathnames}{$pkg};
- eval { require $file; 1 } or (warn($@), next);
+ local $@;
+ my $new = eval { require $file; $pkg->can('new') };
+ if (!$new) { warn $@ if $@; next; }
$self->{pathnames}{$pkg} = delete $INC{$file};
- push @{$self->{extensions}}, $pkg->new( _top => $top_obj );
+ push @{$self->{extensions}}, &{$new}($pkg, _top => $top_obj );
}
+
+ $self->{extensions} ||= [];
}
-=item load_extensions($path)
-
-Returns an array of C<[ $file_name, $package_name ]> for each extension
-module found under C<$path> and its subdirectories.
-
-=cut
-
sub find_extensions {
my ($self, $path) = @_;
my @found;
@@ -296,323 +193,16 @@
@found;
}
-1;
+sub _caller {
+ my $depth = 0;
+ my $caller = caller($depth);
-__END__
+ while ($caller eq __PACKAGE__) {
+ $depth++;
+ $caller = caller($depth);
+ }
-=back
+ $caller;
+}
-=head1 EXTENSIONS
-
-All extensions belong to the B<Module::Install::*> namespace, and
-inherit from B<Module::Install::Base>. There are three categories
-of extensions:
-
-=over 4
-
-=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
-their own methods:
-
- # delegates to $other_extension_obj->method_name(@args)
- $self->method_name(@args);
-
-At the first time an extension's method is invoked, a POD-stripped
-version of it will be included under the F<inc/Module/Install/>
-directory, and becomes I<fixed> -- i.e. even if the user had installed a
-different version of the same extension, the included one will still be
-used instead.
-
-If the author wish to upgrade extensions in F<inc/> with installed ones,
-simply run C<perl Makefile.PL> again; B<Module::Install> determines
-whether you are an author by the existence of the F<inc/.author/>
-directory. End-users can reinitialize everything and become the author
-by typing C<make realclean> and C<perl Makefile.PL>.
-
-=item Private Extensions
-
-Those extensions take the form of B<Module::Install::PRIVATE> and
-B<Module::Install::PRIVATE::*>.
-
-Authors are encouraged to put all existing F<Makefile.PL> magics into
-such extensions (e.g. F<Module::Install::PRIVATE> for common bits;
-F<Module::Install::PRIVATE::DISTNAME> for functions specific to a
-distribution).
-
-Private extensions should not to be released on CPAN; simply put them
-somewhere in your C<@INC>, under the C<Module/Install/> directory, and
-start using their functions in F<Makefile.PL>. Like standard
-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
-
-Extensions under the B<Module::Install::Admin::*> namespace are never
-included with the distribution. Their methods are not directly
-accessible from F<Makefile.PL> or other extensions; they are invoked
-like this:
-
- # delegates to $other_admin_extension_obj->method_name(@args)
- $self->admin->method_name(@args);
-
-These methods only take effect during the I<initialization> run, when
-F<inc/> is being populated; they are ignored for end-users. Again,
-to re-initialize everything, just run C<perl Makefile.PL> as the author.
-
-Scripts (usually one-liners in F<Makefile>) that wish to dispatch
-B<AUTOLOAD> functions into administrative extensions (instead of
-standard extensions) should use the B<Module::Install::Admin> module
-directly. See L<Module::Install::Admin> for details.
-
-=back
-
-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> or B<CPAN>, specified either by
-the C<features> metadata or by method arguments.
-
-You may wish to add a C<include('ExtUtils::AutoInstall');> before
-C<auto_install()> to include B<ExtUtils::AutoInstall> with your
-distribution. Otherwise, this extension will attempt to automatically
-install it from CPAN.
-
-=item Module::Install::Base
-
-The base class of all extensions, providing C<new>, C<initialized>,
-C<admin>, C<load> and the C<AUTOLOAD> dispatcher.
-
-=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.
-
-=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.
-
-=item Module::Install::Fetch
-
-Handles fetching files from remote servers via FTP.
-
-=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>,
-
-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.
-
-However, you should invoke this with C<WriteAll( inline => 1 )> instead.
-
-=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.
-
-=item Module::Install::Makefile::Name
-
-Guess the distribution name.
-
-=item Module::Install::Makefile::Version
-
-Guess 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.
-
-=item Module::Install::PAR
-
-Makes pre-compiled module binary packages from F<blib>, and download
-existing ones to save the user from recompiling.
-
-=item Module::Install::Run
-
-Determines if a command is available on the user's machine, and run
-external commands via B<IPC::Run3>.
-
-=item Module::Install::Scripts
-
-Handles packaging and installation of scripts, instead of modules.
-
-=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.
-
-=item Module::Install::WriteAll
-
-This extension offers C<WriteAll>, which writes F<META.yml> and
-either F<Makefile> or F<Build> depending on how the program was
-invoked.
-
-C<WriteAll> takes four optional named parameters:
-
-=over 4
-
-=item C<check_nmake> (defaults to true)
-
-If true, invokes functions with the same name.
-
-=item C<inline> (defaults to false)
-
-If true, invokes C<&Inline-E<gt>write> instead of C<&Makefile-E<gt>write>.
-
-=item C<meta> (defaults to true)
-
-If true, writes a C<META.yml> file.
-
-=item C<sign> (defaults to false)
-
-If true, invokes functions with the same name.
-
-=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.
-
-=item Module::Install::Admin::Manifest
-
-Functions for manipulating and updating the F<MANIFEST> file.
-
-=item Module::Install::Admin::Metadata
-
-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>.
-
-=back
-
-Please consult their own POD documentations for detailed information.
-
-=head1 FAQ
-
-=head2 What are the benefits of using B<Module::Install>?
-
-Here is a brief overview of the reasons:
-
- Does everything ExtUtils::MakeMaker does.
- Requires no installation for end-users.
- Generate stock Makefile.PL for Module::Build users.
- Guaranteed forward-compatibility.
- Automatically updates your MANIFEST.
- Distributing scripts is easy.
- Include prerequisite modules (even the entire dependency tree).
- Auto-installation of prerequisites.
- Support for Inline-based modules.
- Support for precompiled PAR binaries.
-
-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.
-
-=head2 How is this different from its predecessor, B<CPAN::MakeMaker>?
-
-According to Brian Ingerson, the author of B<CPAN::MakeMaker>,
-their difference is that I<Module::Install is sane>.
-
-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.
-
-=head1 SEE ALSO
-
-L<Module::Install-Cookbook>,
-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>
-
-=head1 AUTHORS
-
-Brian Ingerson E<lt>INGY at cpan.orgE<gt>,
-Autrijus Tang E<lt>autrijus at autrijus.orgE<gt>
-
-=head1 COPYRIGHT
-
-Copyright 2002, 2003, 2004 by
-Autrijus Tang E<lt>autrijus at autrijus.orgE<gt>,
-Brian Ingerson E<lt>INGY at cpan.orgE<gt>.
-
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-See L<http://www.perl.com/perl/misc/Artistic.html>
-
-=cut
+1;
Copied: packages/libmodule-install-perl/trunk/lib/Module/Install.pod (from rev 1804, packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install.pod)
Modified: packages/libmodule-install-perl/trunk/lib/inc/Module/Install.pm
===================================================================
--- packages/libmodule-install-perl/trunk/lib/inc/Module/Install.pm 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/lib/inc/Module/Install.pm 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,6 +1,3 @@
-# $File: //depot/cpan/Module-Install/lib/inc/Module/Install.pm $ $Author: autrijus $
-# $Revision: #16 $ $Change: 2286 $ $DateTime: 2004/07/01 04:47:26 $ vim: expandtab shiftwidth=4
-
package inc::Module::Install;
if (-d 'inc/.author') {
@@ -10,7 +7,6 @@
unshift @INC, 'inc';
require Module::Install;
-*VERSION = *Module::Install::VERSION;
1;
@@ -49,11 +45,11 @@
=head1 AUTHORS
-Autrijus Tang E<lt>autrijus at autrijus.orgE<gt>
+Audrey Tang E<lt>autrijus at autrijus.orgE<gt>
=head1 COPYRIGHT
-Copyright 2003, 2004 by Autrijus Tang E<lt>autrijus at autrijus.orgE<gt>.
+Copyright 2003, 2004 by Audrey Tang E<lt>autrijus at autrijus.orgE<gt>.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
Deleted: packages/libmodule-install-perl/trunk/t/0-signature.t
===================================================================
--- packages/libmodule-install-perl/trunk/t/0-signature.t 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/t/0-signature.t 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,24 +0,0 @@
-#!/usr/bin/perl
-# $File: //depot/cpan/Module-Install/t/0-signature.t $ $Author: autrijus $
-# $Revision: #4 $ $Change: 1313 $ $DateTime: 2003/03/08 02:30:22 $ vim: expandtab shiftwidth=4
-
-use strict;
-print "1..1\n";
-
-if (!-s 'SIGNATURE') {
- print "ok 1 # skip - No signature file found";
-}
-elsif (!eval { require Socket; Socket::inet_aton('pgp.mit.edu') }) {
- print "ok 1 # skip - Cannot connect to the keyserver";
-}
-elsif (!eval { require Module::Signature; 1 }) {
- warn "# Next time around, consider install Module::Signature,\n".
- "# so you can verify the integrity of this distribution.\n";
- print "ok 1 # skip - Module::Signature not installed\n";
-}
-else {
- (Module::Signature::verify() == Module::Signature::SIGNATURE_OK())
- or print "not ";
- print "ok 1 # Valid signature\n";
-}
-
Modified: packages/libmodule-install-perl/trunk/t/1-basic.t
===================================================================
--- packages/libmodule-install-perl/trunk/t/1-basic.t 2005-12-30 11:12:36 UTC (rev 1804)
+++ packages/libmodule-install-perl/trunk/t/1-basic.t 2005-12-30 11:17:02 UTC (rev 1805)
@@ -1,6 +1,3 @@
-# $File: //depot/cpan/Module-Install/t/1-basic.t $ $Author: autrijus $
-# $Revision: #2 $ $Change: 1815 $ $DateTime: 2003/12/14 20:41:23 $
-
use Test;
use File::Spec;
@@ -38,6 +35,7 @@
open MAKEFILE_PL, '> Makefile.PL' or return 0;
print MAKEFILE_PL <<END;
use inc::Module::Install;
+license 'perl';
WriteMakefile;
END
close MAKEFILE_PL;
@@ -67,7 +65,7 @@
return 0 unless -d $dist_path;
my $home = cwd;
chdir $dist_path or return 0;
- system($^X, "-Mblib", "Makefile.PL") == 0 or return 0;
+ system($^X, "-Ilib", "-Iblib/lib", "Makefile.PL") == 0 or return 0;
chdir $home or return 0;
return 1;
}
Copied: packages/libmodule-install-perl/trunk/t/2-pod.t (from rev 1804, packages/libmodule-install-perl/branches/upstream/current/t/2-pod.t)
Copied: packages/libmodule-install-perl/trunk/t/3-autoinstall.t (from rev 1804, packages/libmodule-install-perl/branches/upstream/current/t/3-autoinstall.t)
More information about the Pkg-perl-cvs-commits
mailing list