]> git.vpit.fr Git - perl/modules/CPANPLUS-Dist-Gentoo.git/blob - README
This is 0.10
[perl/modules/CPANPLUS-Dist-Gentoo.git] / README
1 NAME
2     CPANPLUS::Dist::Gentoo - CPANPLUS backend generating Gentoo ebuilds.
3
4 VERSION
5     Version 0.10
6
7 SYNOPSIS
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" \
15                   Any::Module You::Like
16
17 DESCRPITON
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.
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 INSTALLATION
32     Before installing this module, you should append "perl-gcpanp" to your
33     /etc/portage/categories file.
34
35     You have two ways for installing this module :
36
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.
40
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.
45
46         First, fetch tarballs for CPANPLUS and CPANPLUS::Dist::Gentoo :
47
48             $ cd /tmp
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
51
52         Log in as root and unpack them in e.g. your home directory :
53
54             # cd
55             # tar xzf /tmp/CPANPLUS-0.9003.tar.gz
56             # tar xzf /tmp/CPANPLUS-Dist-Gentoo-0.10.tar.gz
57
58         Set up environment variables so that the toolchain is temporarily
59         available :
60
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
64
65         Make sure you don't have an old ".cpanplus" configuration visible :
66
67             # [ -d /root/.cpanplus ] && mv /root/.cpanplus{,.bak}
68
69         Bootstrap CPANPLUS :
70
71             # cd /root/CPANPLUS-Dist-Gentoo-0.10
72             # samples/g-cpanp CPANPLUS
73
74         Reset the environment :
75
76             # export PATH=$OLDPATH
77             # unset PERL5LIB OLDPATH
78
79         Emerge CPANPLUS with the ebuilds you've just generated :
80
81             # emerge -tv CPANPLUS
82
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 :
86
87             # FEATURES="-protect-owned" emerge podlators
88             # FEATURES="-protect-owned" emerge ExtUtils-MakeMaker
89
90         You may need to run each of these commands two times for them to
91         succeed.
92
93         At this point, you can bootstrap CPANPLUS::Dist::Gentoo using the
94         system CPANPLUS :
95
96             # PERL5LIB=/root/CPANPLUS-Dist-Gentoo-0.10/blib/lib samples/g-cpanp CPANPLUS::Dist::Gentoo
97             # emerge -tv CPANPLUS-Dist-Gentoo
98
99 METHODS
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
102     each step.
103
104   "meta"
105     Returns the contents of the META.yml or META.json files as parsed by
106     Parse::CPAN::Meta.
107
108   "intuit_license"
109     Returns an array reference to a list of Gentoo licences identifiers
110     under which the current distribution is released.
111
112   "update_manifest"
113     Updates the Manifest file for the ebuild associated to the current dist
114     object.
115
116   "ebuild_source"
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.
119
120 DEPENDENCIES
121     Gentoo (<http://gentoo.org>).
122
123     CPANPLUS, IPC::Cmd (core modules since 5.9.5), Parse::CPAN::Meta (since
124     5.10.1).
125
126     Cwd, Carp (since perl 5), File::Path (5.001), File::Copy (5.002),
127     File::Spec (5.00405), List::Util (5.007003).
128
129 SEE ALSO
130     cpan2dist.
131
132     CPANPLUS::Dist::Base, CPANPLUS::Dist::Deb, CPANPLUS::Dist::Mdv.
133
134 AUTHOR
135     Vincent Pit, "<perl at profvince.com>", <http://www.profvince.com>.
136
137     You can contact me by mail or on "irc.perl.org" (vincent).
138
139 BUGS
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.
145
146 SUPPORT
147     You can find documentation for this module with the perldoc command.
148
149         perldoc CPANPLUS::Dist::Gentoo
150
151 ACKNOWLEDGEMENTS
152     The module was inspired by CPANPLUS::Dist::Deb and CPANPLUS::Dist::Mdv.
153
154     Kent Fredric, for testing and suggesting improvements.
155
156 COPYRIGHT & LICENSE
157     Copyright 2008,2009,2010 Vincent Pit, all rights reserved.
158
159     This program is free software; you can redistribute it and/or modify it
160     under the same terms as Perl itself.
161