]> git.vpit.fr Git - perl/modules/CPANPLUS-Dist-Gentoo.git/commitdiff
This is 0.11 v0.11
authorVincent Pit <vince@profvince.com>
Thu, 16 Dec 2010 18:14:49 +0000 (19:14 +0100)
committerVincent Pit <vince@profvince.com>
Thu, 16 Dec 2010 18:14:49 +0000 (19:14 +0100)
Changes
META.yml
README
lib/CPANPLUS/Dist/Gentoo.pm
lib/CPANPLUS/Dist/Gentoo/Atom.pm
lib/CPANPLUS/Dist/Gentoo/Guard.pm
lib/CPANPLUS/Dist/Gentoo/Maps.pm
lib/CPANPLUS/Dist/Gentoo/Version.pm

diff --git a/Changes b/Changes
index cda7cffb31af4305e3d3373de4d2af082a109350..6170b58190a8b065f67d5f97a90de50e1c09fb96 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,5 +1,40 @@
 Revision history for CPANPLUS-Dist-Gentoo
 
+0.11    2010-12-16 18:15 UTC
+        + Add : configure_requires dependencies are now listed in the DEPEND
+                section of the ebuild (in addition to RDEPEND dependencies).
+        + Add : The gengentooisms script has been vastly improved. It is now
+                mostly autonomous.
+        + Chg : The module won't initialize if "emerge --info" doesn't return
+                a zero status or if IPC::Cmd can't capture buffers.
+        + Chg : The default ebuild description has been made more informative.
+        + Doc : The dist options were all clearly documented.
+        + Fix : The complete specification for Gentoo ebuild names and
+                version numbers (as documented in
+                http://devmanual.gentoo.org/ebuild-writing/file-format) has
+                been implemented.
+                In particular, this fixes dependencies on Text-Tabs+Wrap.
+        + Fix : Gentooisms were extended to also cover discrepancies between
+                Gentoo and CPAN version numbers.
+                In particular, this fixes dependencies on ExtUtils-CBuilder,
+                ExtUtils-ParseXS, Module-Build and Time-HiRes (and many more).
+        + Fix : Versioned atom dependencies now correctly mirror the versions
+                specified in the CPAN prerequisites. They used to forcefully
+                require the latest available distribution.
+        + Fix : The module no longer croaks when handling dists without a META
+                file.
+                This fixes RT #63819.
+        + Fix : Cycles in the dependency graph are now solved by specifying
+                recursive dependencies in the PDEPEND ebuild section.
+                This allows the module to finally generate emergeable ebuilds
+                for CPANPLUS and CPANPLUS-Dist-Build, thus making
+                CPANPLUS::Dist::Gentoo actually bootstrappable.
+        + Fix : Warnings for distributions with unknown licenses.
+        + Rem : %CPANPLUS::Dist::Gentoo::Maps::gentooisms is no longer directly
+                available. Use CPANPLUS::Dist::Gentoo::Maps::name_c2g() instead.
+        + Tst : Improved coverage.
+        + Upd : Update gentooisms.
+
 0.10    2010-04-17 14:25 UTC
         + Add : If a distribution specifies a dependency on a specific perl
                 version in its META file, the ebuild dependency on dev-lang/perl
index 0cb60169b2d29f6f5d3e48ad0e3f84818c3e9b33..dfcbfc40bd4205e8d6aaa7eb99d4fb62c59f3db7 100644 (file)
--- a/META.yml
+++ b/META.yml
@@ -1,6 +1,6 @@
 --- #YAML:1.0
 name:               CPANPLUS-Dist-Gentoo
-version:            0.10
+version:            0.11
 abstract:           CPANPLUS backend generating Gentoo ebuilds.
 author:
     - Vincent Pit <perl@profvince.com>
diff --git a/README b/README
index 58485f0a5cf8dad7b2c8e62621d2baa6eb17116b..2ff7aabce7e4bd85684b50a6547490fc2b77327e 100644 (file)
--- a/README
+++ b/README
@@ -2,98 +2,148 @@ NAME
     CPANPLUS::Dist::Gentoo - CPANPLUS backend generating Gentoo ebuilds.
 
 VERSION
-    Version 0.10
+    Version 0.11
 
 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="# Copyright 1999-2008 Gentoo Foundation" \
+                  --dist-opts header="# Begin" \
                   --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), 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). 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.
+    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".
 
-INSTALLATION
-    Before installing this module, you should append "perl-gcpanp" to your
-    /etc/portage/categories file.
+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.
 
-    You have two ways for installing this module :
+    The valid option "key"s are :
 
-    *   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.
+    *   "manifest"
 
-    *   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.
+        A boolean that indicates whether the Manifest file should be
+        generated by running "ebuild manifest" onto the generated ebuilds.
 
-        First, fetch tarballs for CPANPLUS and CPANPLUS::Dist::Gentoo :
+        Defaults to "yes".
 
-            $ cd /tmp
-            $ wget http://search.cpan.org/CPAN/authors/id/B/BI/BINGOS/CPANPLUS-0.9003.tar.gz
-            $ wget http://search.cpan.org/CPAN/authors/id/V/VP/VPIT/CPANPLUS-Dist-Gentoo-0.10.tar.gz
+    *   "overlay"
 
-        Log in as root and unpack them in e.g. your home directory :
+        A string formatted as a space-delimited sequence of paths, that
+        lists the different overlays in which existent ebuilds will be
+        looked for.
 
-            # cd
-            # tar xzf /tmp/CPANPLUS-0.9003.tar.gz
-            # tar xzf /tmp/CPANPLUS-Dist-Gentoo-0.10.tar.gz
+        Defaults to the value of "PORTDIR_OVERLAY" as returned by "emerge
+        --info" (usually /usr/local/portage).
+
+    *   "distdir"
 
-        Set up environment variables so that the toolchain is temporarily
-        available :
+        The directory where "ebuild" expects to find the source tarballs.
+        You need write permissions on this directory.
 
-            # export OLDPATH=$PATH
-            # export PATH=/root/CPANPLUS-0.9003/bin:$PATH
-            # export PERL5LIB=/root/CPANPLUS-Dist-Gentoo-0.10/blib/lib:/root/CPANPLUS-0.9003/lib:/root/CPANPLUS-0.9003/inc/bundle
+        Defaults to the value of "DISTDIR" as returned by "emerge --info"
+        (usually /usr/portage/distfiles).
 
-        Make sure you don't have an old ".cpanplus" configuration visible :
+    *   "keywords"
 
-            # [ -d /root/.cpanplus ] && mv /root/.cpanplus{,.bak}
+        The valid "KEYWORDS" for the generated ebuilds.
 
-        Bootstrap CPANPLUS :
+        Defaults to the value of "ACCEPT_KEYWORDS" as returned by "emerge
+        --info".
 
-            # cd /root/CPANPLUS-Dist-Gentoo-0.10
-            # samples/g-cpanp CPANPLUS
+    *   "header"
 
-        Reset the environment :
+        A chunk of text that is prepended to every ebuild.
 
-            # export PATH=$OLDPATH
-            # unset PERL5LIB OLDPATH
+        Defaults to the generic Gentoo Foundation header.
 
-        Emerge CPANPLUS with the ebuilds you've just generated :
+    *   "footer"
 
-            # emerge -tv CPANPLUS
+        A chunk of text that is appended to every ebuild.
 
-        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 :
+        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.
+
+    *   "--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.11.tar.gz
+
+        Log in as root and unpack it in e.g. your home directory :
+
+            # cd
+            # tar xzf /tmp/CPANPLUS-Dist-Gentoo-0.11.tar.gz
+            # cd CPANPLUS-Dist-Gentoo-0.11
 
-            # FEATURES="-protect-owned" emerge podlators
-            # FEATURES="-protect-owned" emerge ExtUtils-MakeMaker
+        Bootstrap CPANPLUS::Dist::Gentoo using the bundled shell script
+        "g-cpanp" :
 
-        You may need to run each of these commands two times for them to
-        succeed.
+            # perl Makefile.PL
+            # make
+            # PERL5LIB=blib/lib samples/g-cpanp CPANPLUS::Dist::Gentoo
 
-        At this point, you can bootstrap CPANPLUS::Dist::Gentoo using the
-        system CPANPLUS :
+        Finally, emerge the "CPANPLUS-Dist-Gentoo" ebuild you've just
+        generated :
 
-            # PERL5LIB=/root/CPANPLUS-Dist-Gentoo-0.10/blib/lib samples/g-cpanp CPANPLUS::Dist::Gentoo
             # emerge -tv CPANPLUS-Dist-Gentoo
 
 METHODS
index 9a41af63ce89ea0562bb8c4377e9646932e37f72..0306c57adc9cbe41cccc8a7d1a40859b53a6f6b5 100644 (file)
@@ -26,11 +26,11 @@ CPANPLUS::Dist::Gentoo - CPANPLUS backend generating Gentoo ebuilds.
 
 =head1 VERSION
 
-Version 0.10
+Version 0.11
 
 =cut
 
-our $VERSION = '0.10';
+our $VERSION = '0.11';
 
 =head1 SYNOPSIS
 
@@ -174,13 +174,13 @@ If you still have C<perl> C<5.8.x>, you can upgrade it by running the following
 Then, fetch the L<CPANPLUS::Dist::Gentoo> tarball :
 
     $ cd /tmp
-    $ wget http://search.cpan.org/CPAN/authors/id/V/VP/VPIT/CPANPLUS-Dist-Gentoo-0.10.tar.gz
+    $ wget http://search.cpan.org/CPAN/authors/id/V/VP/VPIT/CPANPLUS-Dist-Gentoo-0.11.tar.gz
 
 Log in as root and unpack it in e.g. your home directory :
 
     # cd
-    # tar xzf /tmp/CPANPLUS-Dist-Gentoo-0.10.tar.gz
-    # cd CPANPLUS-Dist-Gentoo-0.10
+    # tar xzf /tmp/CPANPLUS-Dist-Gentoo-0.11.tar.gz
+    # cd CPANPLUS-Dist-Gentoo-0.11
 
 Bootstrap L<CPANPLUS::Dist::Gentoo> using the bundled shell script C<g-cpanp> :
 
index 543ece4f61f0dd3aa35aa4afb5ccd62c2d29678c..71bc72eb56f27cf7d75c251b116fe35ce326904c 100644 (file)
@@ -9,11 +9,11 @@ CPANPLUS::Dist::Gentoo::Atom - Gentoo atom object.
 
 =head1 VERSION
 
-Version 0.10
+Version 0.11
 
 =cut
 
-our $VERSION = '0.10';
+our $VERSION = '0.11';
 
 =head1 DESCRIPTION
 
index ea5bb0ba0e079abc3a77bf2adc387469f5c1907e..e800e13ff11c3a8f765f193fdbb0698841e96e99 100644 (file)
@@ -9,11 +9,11 @@ CPANPLUS::Dist::Gentoo::Guard - Scope guard object.
 
 =head1 VERSION
 
-Version 0.10
+Version 0.11
 
 =cut
 
-our $VERSION = '0.10';
+our $VERSION = '0.11';
 
 =head1 DESCRIPTION
 
index f9c478ca684fb0ad4d4146a1e5233ef61ccf4164..d3642bf79026c5cbe19d53fa15ea0dd86ed28573 100644 (file)
@@ -9,11 +9,11 @@ CPANPLUS::Dist::Gentoo::Maps - Map CPAN objects to Gentoo and vice versa.
 
 =head1 VERSION
 
-Version 0.10
+Version 0.11
 
 =cut
 
-our $VERSION = '0.10';
+our $VERSION = '0.11';
 
 =head1 DESCRPITON
 
index 752fe97f7349c5c4eff71ed48d8e97cfc2772660..1586fe2ae05a84e2c4266f19a900e8117ddfe649 100644 (file)
@@ -9,11 +9,11 @@ CPANPLUS::Dist::Gentoo::Version - Gentoo version object.
 
 =head1 VERSION
 
-Version 0.10
+Version 0.11
 
 =cut
 
-our $VERSION = '0.10';
+our $VERSION = '0.11';
 
 =head1 DESCRIPTION