]> git.vpit.fr Git - perl/modules/CPANPLUS-Dist-Gentoo.git/blobdiff - README
Update VPIT::TestHelpers to 15e8aee3
[perl/modules/CPANPLUS-Dist-Gentoo.git] / README
diff --git a/README b/README
index d770efc2c2dbbf2a3aabc2651e79bcbd796577d3..897c62def298868a82826e53ebd0dc1d1ac2df2b 100644 (file)
--- a/README
+++ b/README
@@ -2,38 +2,181 @@ NAME
     CPANPLUS::Dist::Gentoo - CPANPLUS backend generating Gentoo ebuilds.
 
 VERSION
-    Version 0.02_01
+    Version 0.12
 
 SYNOPSIS
+        # Using default values from your make.conf
+        cpan2dist --format=CPANPLUS::Dist::Gentoo --buildprereq Some::Module
+
+        # Specifying your own options
         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="# Begin" \
+                  --dist-opts footer="# End" \
                   Any::Module You::Like
 
-DESCRPITON
+DESCRIPTION
     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
-    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").
+    ebuilds for a given package in the default overlay, updates the
+    manifest, and even emerges it (together with its dependencies) if the
+    user requires it.
+
+    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". Existing ebuilds
+    will be searched into the main "PORTDIR" portage tree and then into the
+    overlays listed in "PORTDIR_OVERLAY".
+
+OPTIONS
+    You can pass specific options to cpan2dist by using the "--dist-opts"
+    command-line argument followed by a "key=value" pair, where "key" is the
+    option name and "value" is what it is set to. "--dist-opts" can be used
+    several times.
+
+    The valid option "key"s are :
+
+    *   "manifest"
+
+        A boolean that indicates whether the Manifest file should be
+        generated by running "ebuild manifest" onto the generated ebuilds.
+
+        Defaults to "yes".
+
+    *   "overlay"
+
+        The path of the overlay in which the generated ebuilds will be
+        written.
+
+        Defaults to the first overlay listed in "PORTDIR_OVERLAY" (as
+        returned by "emerge --info") or /usr/local/portage if this variable
+        is empty.
+
+    *   "distdir"
+
+        The directory where "ebuild" expects to find the source tarballs.
+        You need write permissions on this directory.
+
+        Defaults to the value of "DISTDIR" (as returned by "emerge --info")
+        or /usr/portage/distfiles if this variable is empty.
+
+    *   "keywords"
+
+        The valid "KEYWORDS" for the generated ebuilds.
+
+        Defaults to the value of "ACCEPT_KEYWORDS" (as returned by "emerge
+        --info") or 'x86' if this variable is empty.
+
+    *   "header"
+
+        A chunk of text that is prepended to every ebuild.
+
+        Defaults to the generic Gentoo Foundation header.
+
+    *   "footer"
+
+        A chunk of text that is appended to every ebuild.
+
+        Defaults to nothing.
+
+    cpan2dist itself takes other options, most notably :
+
+    *   "--buildprereq" generates an ebuild for every dependency, even for
+        those that are already up-to-date. Setting this option is
+        recommended.
+
+    *   "--force" forcefully regenerates ebuilds even if they already exist.
 
-    The generated ebuilds are placed into the section "perl-gcpanp". They
-    favour depending on "perl-core" or "dev-perl" rather than "perl-gcpanp".
+    *   "--install" installs the ebuilds after generating them.
+
+    *   "--skiptest" skips tests while building, which speeds up the
+        building process.
+
+    *   "--verbose" shows a lot more information.
+
+    Please refer to cpan2dist documentation for a complete coverage of its
+    abilities.
+
+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 which will most likely
+        be up-to-date given the reactivity of Gentoo's Perl herd.
+
+    *   Bootstrap an ebuild for CPANPLUS::Dist::Gentoo using itself.
+
+        First, make sure your system "perl" is 5.10 or greater, so that the
+        CPANPLUS toolchain is available.
+
+            $ perl -v
+            This is perl 5, version 12, subversion 2 (v5.12.2)...
+
+        "perl" 5.12 is the current stable Perl version in Gentoo. If you
+        still have "perl" "5.8.x", you can upgrade it by running the
+        following commands as root :
+
+            # emerge -tv ">=dev-lang/perl-5.10"
+            # perl-cleaner --all
+
+        Then, fetch the CPANPLUS::Dist::Gentoo tarball :
+
+            $ cd /tmp
+            $ wget http://search.cpan.org/CPAN/authors/id/V/VP/VPIT/CPANPLUS-Dist-Gentoo-0.12.tar.gz
+
+        Log in as root and unpack it in e.g. your home directory :
+
+            # cd
+            # tar xzf /tmp/CPANPLUS-Dist-Gentoo-0.12.tar.gz
+            # cd CPANPLUS-Dist-Gentoo-0.12
+
+        Bootstrap CPANPLUS::Dist::Gentoo using the bundled shell script
+        "g-cpanp" :
+
+            # perl Makefile.PL
+            # make
+            # PERL5LIB=blib/lib samples/g-cpanp CPANPLUS::Dist::Gentoo
+
+        Finally, emerge the "CPANPLUS-Dist-Gentoo" ebuild you've just
+        generated :
+
+            # 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.
+
+  "meta"
+    Returns the contents of the META.yml or META.json files as parsed by
+    Parse::CPAN::Meta.
+
+  "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.
@@ -43,6 +186,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
@@ -56,11 +201,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,2010,2011,2012 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.