]> git.vpit.fr Git - perl/modules/CPANPLUS-Dist-Gentoo.git/blob - README
This is 0.11
[perl/modules/CPANPLUS-Dist-Gentoo.git] / README
1 NAME
2     CPANPLUS::Dist::Gentoo - CPANPLUS backend generating Gentoo ebuilds.
3
4 VERSION
5     Version 0.11
6
7 SYNOPSIS
8         # Using default values from your make.conf
9         cpan2dist --format=CPANPLUS::Dist::Gentoo --buildprereq Some::Module
10
11         # Specifying your own options
12         cpan2dist --format=CPANPLUS::Dist::Gentoo \
13                   --dist-opts overlay=/usr/local/portage \
14                   --dist-opts distdir=/usr/portage/distfiles \
15                   --dist-opts manifest=yes \
16                   --dist-opts keywords=x86 \
17                   --dist-opts header="# Begin" \
18                   --dist-opts footer="# End" \
19                   Any::Module You::Like
20
21 DESCRPITON
22     This module is a CPANPLUS backend that recursively generates Gentoo
23     ebuilds for a given package in the default overlay, updates the
24     manifest, and even emerges it (together with its dependencies) if the
25     user requires it.
26
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".
30
31 OPTIONS
32     You can pass specific options to cpan2dist by using the "--dist-opts"
33     command-line argument followed by a "key=value" pair, where "key" is the
34     option name and "value" is what it is set to. "--dist-opts" can be used
35     several times.
36
37     The valid option "key"s are :
38
39     *   "manifest"
40
41         A boolean that indicates whether the Manifest file should be
42         generated by running "ebuild manifest" onto the generated ebuilds.
43
44         Defaults to "yes".
45
46     *   "overlay"
47
48         A string formatted as a space-delimited sequence of paths, that
49         lists the different overlays in which existent ebuilds will be
50         looked for.
51
52         Defaults to the value of "PORTDIR_OVERLAY" as returned by "emerge
53         --info" (usually /usr/local/portage).
54
55     *   "distdir"
56
57         The directory where "ebuild" expects to find the source tarballs.
58         You need write permissions on this directory.
59
60         Defaults to the value of "DISTDIR" as returned by "emerge --info"
61         (usually /usr/portage/distfiles).
62
63     *   "keywords"
64
65         The valid "KEYWORDS" for the generated ebuilds.
66
67         Defaults to the value of "ACCEPT_KEYWORDS" as returned by "emerge
68         --info".
69
70     *   "header"
71
72         A chunk of text that is prepended to every ebuild.
73
74         Defaults to the generic Gentoo Foundation header.
75
76     *   "footer"
77
78         A chunk of text that is appended to every ebuild.
79
80         Defaults to nothing.
81
82     cpan2dist itself takes other options, most notably :
83
84     *   "--buildprereq" generates an ebuild for every dependency, even for
85         those that are already up-to-date. Setting this option is
86         recommended.
87
88     *   "--force" forcefully regenerates ebuilds even if they already exist.
89
90     *   "--install" installs the ebuilds after generating them.
91
92     *   "--skiptest" skips tests while building, which speeds up the
93         building process.
94
95     *   "--verbose" shows a lot more information.
96
97     Please refer to cpan2dist documentation for a complete coverage of its
98     abilities.
99
100 INSTALLATION
101     Before installing this module, you should append "perl-gcpanp" to your
102     /etc/portage/categories file.
103
104     You have two ways for installing this module :
105
106     *   Use the perl overlay located at
107         <http://git.overlays.gentoo.org/gitweb/?p=proj/perl-overlay.git>. It
108         contains an ebuild for CPANPLUS::Dist::Gentoo which will most likely
109         be up-to-date given the reactivity of Gentoo's Perl herd.
110
111     *   Bootstrap an ebuild for CPANPLUS::Dist::Gentoo using itself.
112
113         First, make sure your system "perl" is 5.10 or greater, so that the
114         CPANPLUS toolchain is available.
115
116             $ perl -v
117             This is perl 5, version 12, subversion 2 (v5.12.2)...
118
119         "perl" 5.12 is the current stable Perl version in Gentoo. If you
120         still have "perl" "5.8.x", you can upgrade it by running the
121         following commands as root :
122
123             # emerge -tv ">=dev-lang/perl-5.10"
124             # perl-cleaner --all
125
126         Then, fetch the CPANPLUS::Dist::Gentoo tarball :
127
128             $ cd /tmp
129             $ wget http://search.cpan.org/CPAN/authors/id/V/VP/VPIT/CPANPLUS-Dist-Gentoo-0.11.tar.gz
130
131         Log in as root and unpack it in e.g. your home directory :
132
133             # cd
134             # tar xzf /tmp/CPANPLUS-Dist-Gentoo-0.11.tar.gz
135             # cd CPANPLUS-Dist-Gentoo-0.11
136
137         Bootstrap CPANPLUS::Dist::Gentoo using the bundled shell script
138         "g-cpanp" :
139
140             # perl Makefile.PL
141             # make
142             # PERL5LIB=blib/lib samples/g-cpanp CPANPLUS::Dist::Gentoo
143
144         Finally, emerge the "CPANPLUS-Dist-Gentoo" ebuild you've just
145         generated :
146
147             # emerge -tv CPANPLUS-Dist-Gentoo
148
149 METHODS
150     This module inherits all the methods from CPANPLUS::Dist::Base. Please
151     refer to its documentation for precise information on what's done at
152     each step.
153
154   "meta"
155     Returns the contents of the META.yml or META.json files as parsed by
156     Parse::CPAN::Meta.
157
158   "intuit_license"
159     Returns an array reference to a list of Gentoo licences identifiers
160     under which the current distribution is released.
161
162   "update_manifest"
163     Updates the Manifest file for the ebuild associated to the current dist
164     object.
165
166   "ebuild_source"
167     Returns the source of the ebuild for the current dist object, or "undef"
168     when one of the dependencies couldn't be mapped to an existing ebuild.
169
170 DEPENDENCIES
171     Gentoo (<http://gentoo.org>).
172
173     CPANPLUS, IPC::Cmd (core modules since 5.9.5), Parse::CPAN::Meta (since
174     5.10.1).
175
176     Cwd, Carp (since perl 5), File::Path (5.001), File::Copy (5.002),
177     File::Spec (5.00405), List::Util (5.007003).
178
179 SEE ALSO
180     cpan2dist.
181
182     CPANPLUS::Dist::Base, CPANPLUS::Dist::Deb, CPANPLUS::Dist::Mdv.
183
184 AUTHOR
185     Vincent Pit, "<perl at profvince.com>", <http://www.profvince.com>.
186
187     You can contact me by mail or on "irc.perl.org" (vincent).
188
189 BUGS
190     Please report any bugs or feature requests to "bug-cpanplus-dist-gentoo
191     at rt.cpan.org", or through the web interface at
192     <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=CPANPLUS-Dist-Gentoo>. I
193     will be notified, and then you'll automatically be notified of progress
194     on your bug as I make changes.
195
196 SUPPORT
197     You can find documentation for this module with the perldoc command.
198
199         perldoc CPANPLUS::Dist::Gentoo
200
201 ACKNOWLEDGEMENTS
202     The module was inspired by CPANPLUS::Dist::Deb and CPANPLUS::Dist::Mdv.
203
204     Kent Fredric, for testing and suggesting improvements.
205
206 COPYRIGHT & LICENSE
207     Copyright 2008,2009,2010 Vincent Pit, all rights reserved.
208
209     This program is free software; you can redistribute it and/or modify it
210     under the same terms as Perl itself.
211