X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2FCPANPLUS-Dist-Gentoo.git;a=blobdiff_plain;f=README;h=897c62def298868a82826e53ebd0dc1d1ac2df2b;hp=05c6e8d3b416ab41e16cff6bf054328b9f9c3892;hb=HEAD;hpb=012a8ae10e8fc6e70ff1b0f90c470196417c0bf1 diff --git a/README b/README index 05c6e8d..897c62d 100644 --- a/README +++ b/README @@ -2,37 +2,181 @@ NAME CPANPLUS::Dist::Gentoo - CPANPLUS backend generating Gentoo ebuilds. VERSION - Version 0.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-cpanp". They - favour depending on "perl-core" or "dev-perl" rather than "perl-cpanp". + * "--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 + . 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 (). - 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. @@ -42,6 +186,8 @@ SEE ALSO AUTHOR Vincent Pit, "", . + 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 @@ -55,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.