2 CPANPLUS::Dist::Gentoo - CPANPLUS backend generating Gentoo ebuilds.
8 cpan2dist --format=CPANPLUS::Dist::Gentoo \
9 --dist-opts overlay=/usr/local/portage \
10 --dist-opts distdir=/usr/portage/distfiles \
11 --dist-opts manifest=yes \
12 --dist-opts keywords=x86 \
13 --dist-opts header="# Copyright 1999-2008 Gentoo Foundation" \
14 --dist-opts footer="# End" \
18 This module is a CPANPLUS backend that recursively generates Gentoo
19 ebuilds for a given package in the specified overlay (defaults to
20 /usr/local/portage), updates the manifest, and even emerges it (together
21 with its dependencies) if the user requires it. You need write
22 permissions on the directory where Gentoo fetches its source files
23 (usually /usr/portage/distfiles). The valid "KEYWORDS" for the generated
24 ebuilds are by default those given in "ACCEPT_KEYWORDS", but you can
25 specify your own with the "keywords" dist-option.
27 The generated ebuilds are placed into the "perl-gcpanp" category. They
28 favour depending on a "virtual", on "perl-core", "dev-perl" or
29 "perl-gcpan" (in that order) rather than "perl-gcpanp".
32 Before installing this module, you should append "perl-gcpanp" to your
33 /etc/portage/categories file.
35 You have two ways for installing this module :
37 * Use the perl overlay located at
38 <http://git.overlays.gentoo.org/gitweb/?p=proj/perl-overlay.git>. It
39 contains an ebuild for CPANPLUS::Dist::Gentoo.
41 * Bootstrap an ebuild for CPANPLUS::Dist::Gentoo using itself. Note
42 that if your Gentoo system "perl" is "5.8.x", CPANPLUS and its
43 dependencies are not installed and not even available in the main
44 portage tree. So you need to bootstrap them as well.
46 First, fetch tarballs for CPANPLUS and CPANPLUS::Dist::Gentoo :
49 $ wget http://search.cpan.org/CPAN/authors/id/B/BI/BINGOS/CPANPLUS-0.9003.tar.gz
50 $ wget http://search.cpan.org/CPAN/authors/id/V/VP/VPIT/CPANPLUS-Dist-Gentoo-0.10.tar.gz
52 Log in as root and unpack them in e.g. your home directory :
55 # tar xzf /tmp/CPANPLUS-0.9003.tar.gz
56 # tar xzf /tmp/CPANPLUS-Dist-Gentoo-0.10.tar.gz
58 Set up environment variables so that the toolchain is temporarily
61 # export OLDPATH=$PATH
62 # export PATH=/root/CPANPLUS-0.9003/bin:$PATH
63 # export PERL5LIB=/root/CPANPLUS-Dist-Gentoo-0.10/blib/lib:/root/CPANPLUS-0.9003/lib:/root/CPANPLUS-0.9003/inc/bundle
65 Make sure you don't have an old ".cpanplus" configuration visible :
67 # [ -d /root/.cpanplus ] && mv /root/.cpanplus{,.bak}
71 # cd /root/CPANPLUS-Dist-Gentoo-0.10
72 # samples/g-cpanp CPANPLUS
74 Reset the environment :
76 # export PATH=$OLDPATH
77 # unset PERL5LIB OLDPATH
79 Emerge CPANPLUS with the ebuilds you've just generated :
83 As of september 2009, "podlators" and "ExtUtils-MakeMaker" may fail
84 to emerge due to collisions. You can work around this by disabling
85 the "protect-owned" "FEATURE" for them :
87 # FEATURES="-protect-owned" emerge podlators
88 # FEATURES="-protect-owned" emerge ExtUtils-MakeMaker
90 You may need to run each of these commands two times for them to
93 At this point, you can bootstrap CPANPLUS::Dist::Gentoo using the
96 # PERL5LIB=/root/CPANPLUS-Dist-Gentoo-0.10/blib/lib samples/g-cpanp CPANPLUS::Dist::Gentoo
97 # emerge -tv CPANPLUS-Dist-Gentoo
100 This module inherits all the methods from CPANPLUS::Dist::Base. Please
101 refer to its documentation for precise information on what's done at
105 Returns the contents of the META.yml or META.json files as parsed by
109 Returns an array reference to a list of Gentoo licences identifiers
110 under which the current distribution is released.
113 Updates the Manifest file for the ebuild associated to the current dist
117 Returns the source of the ebuild for the current dist object, or "undef"
118 when one of the dependencies couldn't be mapped to an existing ebuild.
121 Gentoo (<http://gentoo.org>).
123 CPANPLUS, IPC::Cmd (core modules since 5.9.5), Parse::CPAN::Meta (since
126 Cwd, Carp (since perl 5), File::Path (5.001), File::Copy (5.002),
127 File::Spec (5.00405), List::Util (5.007003).
132 CPANPLUS::Dist::Base, CPANPLUS::Dist::Deb, CPANPLUS::Dist::Mdv.
135 Vincent Pit, "<perl at profvince.com>", <http://www.profvince.com>.
137 You can contact me by mail or on "irc.perl.org" (vincent).
140 Please report any bugs or feature requests to "bug-cpanplus-dist-gentoo
141 at rt.cpan.org", or through the web interface at
142 <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=CPANPLUS-Dist-Gentoo>. I
143 will be notified, and then you'll automatically be notified of progress
144 on your bug as I make changes.
147 You can find documentation for this module with the perldoc command.
149 perldoc CPANPLUS::Dist::Gentoo
152 The module was inspired by CPANPLUS::Dist::Deb and CPANPLUS::Dist::Mdv.
154 Kent Fredric, for testing and suggesting improvements.
157 Copyright 2008,2009,2010 Vincent Pit, all rights reserved.
159 This program is free software; you can redistribute it and/or modify it
160 under the same terms as Perl itself.