]> git.vpit.fr Git - perl/modules/CPANPLUS-Dist-Gentoo.git/blobdiff - README
Enforce the right version of the perl dependency whenever possible
[perl/modules/CPANPLUS-Dist-Gentoo.git] / README
diff --git a/README b/README
index 05c6e8d3b416ab41e16cff6bf054328b9f9c3892..d62db4dbd627737d222d5a644c2e3e024861cd37 100644 (file)
--- a/README
+++ b/README
@@ -2,37 +2,125 @@ NAME
     CPANPLUS::Dist::Gentoo - CPANPLUS backend generating Gentoo ebuilds.
 
 VERSION
-    Version 0.01
+    Version 0.09
 
 SYNOPSIS
         cpan2dist --format=CPANPLUS::Dist::Gentoo \
                   --dist-opts overlay=/usr/local/portage \
                   --dist-opts distdir=/usr/portage/distfiles \
                   --dist-opts manifest=yes \
+                  --dist-opts keywords=x86 \
+                  --dist-opts header="# Copyright 1999-2008 Gentoo Foundation" \
+                  --dist-opts footer="# End" \
                   Any::Module You::Like
 
 DESCRPITON
     This module is a CPANPLUS backend that recursively generates Gentoo
     ebuilds for a given package in the specified overlay (defaults to
-    "/usr/local/portage"), update the manifest, and even emerge it (together
+    /usr/local/portage), updates the manifest, and even emerges it (together
     with its dependencies) if the user requires it. You need write
     permissions on the directory where Gentoo fetches its source files
-    (usually "/usr/portage/distfiles").
+    (usually /usr/portage/distfiles). The valid "KEYWORDS" for the generated
+    ebuilds are by default those given in "ACCEPT_KEYWORDS", but you can
+    specify your own with the "keywords" dist-option.
 
-    The generated ebuilds are placed into the section "perl-cpanp". They
-    favour depending on "perl-core" or "dev-perl" rather than "perl-cpanp".
+    The generated ebuilds are placed into the "perl-gcpanp" category. They
+    favour depending on a "virtual", on "perl-core", "dev-perl" or
+    "perl-gcpan" (in that order) rather than "perl-gcpanp".
+
+INSTALLATION
+    Before installing this module, you should append "perl-gcpanp" to your
+    /etc/portage/categories file.
+
+    You have two ways for installing this module :
+
+    *   Use the perl overlay located at
+        <http://git.overlays.gentoo.org/gitweb/?p=proj/perl-overlay.git>. It
+        contains an ebuild for CPANPLUS::Dist::Gentoo.
+
+    *   Bootstrap an ebuild for CPANPLUS::Dist::Gentoo using itself. Note
+        that if your Gentoo system "perl" is "5.8.x", CPANPLUS and its
+        dependencies are not installed and not even available in the main
+        portage tree. So you need to bootstrap them as well.
+
+        First, fetch tarballs for CPANPLUS and CPANPLUS::Dist::Gentoo :
+
+            $ cd /tmp
+            $ wget http://search.cpan.org/CPAN/authors/id/K/KA/KANE/CPANPLUS-0.88.tar.gz
+            $ wget http://search.cpan.org/CPAN/authors/id/V/VP/VPIT/CPANPLUS-Dist-Gentoo-0.09.tar.gz
+
+        Log in as root and unpack them in e.g. your home directory :
+
+            # cd
+            # tar xzf /tmp/CPANPLUS-0.88.tar.gz
+            # tar xzf /tmp/CPANPLUS-Dist-Gentoo-0.09.tar.gz
+
+        Set up environment variables so that the toolchain is temporarily
+        available :
+
+            # export OLDPATH=$PATH
+            # export PATH=/root/CPANPLUS-0.88/bin:$PATH
+            # export PERL5LIB=/root/CPANPLUS-Dist-Gentoo-0.09/blib/lib:/root/CPANPLUS-0.88/lib:/root/CPANPLUS-0.88/inc/bundle
+
+        Make sure you don't have an old ".cpanplus" configuration visible :
+
+            # [ -d /root/.cpanplus ] && mv /root/.cpanplus{,.bak}
+
+        Bootstrap CPANPLUS :
+
+            # cd /root/CPANPLUS-Dist-Gentoo-0.09
+            # samples/g-cpanp CPANPLUS
+
+        Reset the environment :
+
+            # export PATH=$OLDPATH
+            # unset PERL5LIB OLDPATH
+
+        Emerge CPANPLUS with the ebuilds you've just generated :
+
+            # emerge -tv CPANPLUS
+
+        As of september 2009, "podlators" and "ExtUtils-MakeMaker" may fail
+        to emerge due to collisions. You can work around this by disabling
+        the "protect-owned" "FEATURE" for them :
+
+            # FEATURES="-protect-owned" emerge podlators
+            # FEATURES="-protect-owned" emerge ExtUtils-MakeMaker
+
+        You may need to run each of these commands two times for them to
+        succeed.
+
+        At this point, you can bootstrap CPANPLUS::Dist::Gentoo using the
+        system CPANPLUS :
+
+            # PERL5LIB=/root/CPANPLUS-Dist-Gentoo-0.09/blib/lib samples/g-cpanp CPANPLUS::Dist::Gentoo
+            # emerge -tv CPANPLUS-Dist-Gentoo
 
 METHODS
-    All the methods are inherited from CPANPLUS::Dist::Base. Please refer to
-    its perldoc for precise information on what's done at each step.
+    This module inherits all the methods from CPANPLUS::Dist::Base. Please
+    refer to its documentation for precise information on what's done at
+    each step.
+
+  "intuit_license"
+    Returns an array reference to a list of Gentoo licences identifiers
+    under which the current distribution is released.
+
+  "update_manifest"
+    Updates the Manifest file for the ebuild associated to the current dist
+    object.
+
+  "ebuild_source"
+    Returns the source of the ebuild for the current dist object, or "undef"
+    when one of the dependencies couldn't be mapped to an existing ebuild.
 
 DEPENDENCIES
     Gentoo (<http://gentoo.org>).
 
-    CPANPLUS, IPC::Cmd (core modules since 5.9.5).
+    CPANPLUS, IPC::Cmd (core modules since 5.9.5), Parse::CPAN::Meta (since
+    5.10.1).
 
-    File::Path (since 5.001), File::Copy (5.002), File::Spec::Functions
-    (5.00504).
+    Cwd, Carp (since perl 5), File::Path (5.001), File::Copy (5.002),
+    File::Spec (5.00405), List::Util (5.007003).
 
 SEE ALSO
     cpan2dist.
@@ -42,6 +130,8 @@ SEE ALSO
 AUTHOR
     Vincent Pit, "<perl at profvince.com>", <http://www.profvince.com>.
 
+    You can contact me by mail or on "irc.perl.org" (vincent).
+
 BUGS
     Please report any bugs or feature requests to "bug-cpanplus-dist-gentoo
     at rt.cpan.org", or through the web interface at
@@ -55,11 +145,12 @@ SUPPORT
         perldoc CPANPLUS::Dist::Gentoo
 
 ACKNOWLEDGEMENTS
-    The module is to some extend cargo-culted from CPANPLUS::Dist::Deb and
-    CPANPLUS::Dist::Mdv.
+    The module was inspired by CPANPLUS::Dist::Deb and CPANPLUS::Dist::Mdv.
+
+    Kent Fredric, for testing and suggesting improvements.
 
 COPYRIGHT & LICENSE
-    Copyright 2008 Vincent Pit, all rights reserved.
+    Copyright 2008-2009 Vincent Pit, all rights reserved.
 
     This program is free software; you can redistribute it and/or modify it
     under the same terms as Perl itself.