Rechercher une page de manuel
cpan2deb.1p
Langue: en
Version: 2009-06-05 (debian - 07/07/09)
Section: 1 (Commandes utilisateur)
NAME
dh-make-perl - Create debian source packages from Perl modulesSYNOPSIS
- dh-make-perl [--make] {SOURCE_DIR | --cpan MODULE} options...
- dh-make-perl --refresh options...
- dh-make-perl --locate Foo::Bar
- dh-make-perl --refresh-cache
- dh-make-perl --dump-config
- cpan2deb DIST options...
DESCRIPTION
dh-make-perl will create the files required to build a debian source package out of a Perl module. This works for most simple packages and is also useful for getting started with packaging Perl modules.You can specify a module name with the --cpan switch and dh-make-perl will download the module for you from a CPAN mirror, or you can specify the directory with the already unpacked sources. If neither --cpan nor a directory is given as argument, dh-make-perl tries to create a Perl package from the data in the current directory.
There is an override mechanism in place to handle most of the little changes that may be needed for some modules (this hasn't been tested much, though, and the override database needs to be filled in).
You can build and install the debian package using the ``--build'' and ``--install'' command line switches.
If dh-make-perl is called as
cpan2deb <options...> Foo-Bar
it behaves like
dh-make-perl <options...> --build --cpan Foo-Bar
Using this program is no excuse for not reading the debian developer documentation, including the Debian policy, the Debian Perl policy, the packaging manual and so on.
COMMANDS
- --make
- Default command if no command is given. Creates debianisation from scratch. Fails with an error if debian/ directory already exists.
- --refresh
- To be run inside unpacked source package. Rebuilds debian/copyright, debian/rules, debian/compat using the current templates. Before any changes are made to these files, a backup copy is created with a .bak suffix.
This is useful when debian/rules was created using older templates and doesn't contain much customisations. As always, you're strongly encouraged to verify if debian/rules looks sane.
--refresh also tries to update dependency lists in debian/control from META.yml. It hooks quilt(1) into debian/rules and creates debian/README.source
- --locate MODULE
- Tries to locate the package that conains the given Perl MODULE.
Example:
dh-make-perl --locate IPC::Run3
- --refresh-cache
- dh-make-perl parses the Contents files, fetched by apt-file(1) and stores the result in a cache. The cache is refreshed automatically if it is older than any Contents file. However, if you run apt-file(1) in your nightly cron job, the first time you run dh-make-perl during the day, you shall wait for the cache to be reconstructed. With this option, you can move the cache re-creation to the cron job, right after "apt-file update".
Does nothing if the cache is newer that the Contents files.
- --dump-config
- Causes the current config, including any default settings to be printed to the standard output.
Useful for populating dh-make-perl.conf file.
OPTIONS
- --arch any | all
- This switches between arch-dependent and arch-independet packages. If --arch isn't used, dh-make-perl uses a relatively good-working algorithms to decide this alone.
- --backups | --no-backups
- In ``--refresh'' mode, create backups of debian/copyright and debian/rules before overwritting them. On by default.
- --basepkgs
- Explicitly gives a comma-separated list of packages to consider ``base'' packages (i.e. packages that should always be available in Debian systems). This option defaults to "perl,perl-base,perl-modules" - it is used to check for module dependencies. If a needed module is in the "basepkgs", it won't be mentioned in the "depends:" field of "debian/control".
If this option is specified, the above mentioned default packages will not be included (but will be mentioned as explicit dependencies in the resulting package). You can, of course, mention your own modules and explicitly specify the default values.
Note that this option should be used sparsingly and with care, as it might lead to packages not being rebuildable because of unfulfilled dependencies.
- --bdepends BUILD-DEPENDS
- Manually specify the string to be used for the module's build-dependencies (that is, the packages and their versions that have to be installed in order to successfully build the package). Keep in mind that packages generated by dh-make-perl require debhelper to be specified as a build dependency. Same note as for --depends applies here - use only when needed.
- --bdependsi BUILD-DEPENDS-INDEP
- Manually specify the string to be used for the module's build-dependencies for architecture-independent builds. Same notes as those for the --depends and --bdepends options apply here.
Note that for --depends, --bdepends and --bdependsi you can also specify that the field should not appear in debian/rules (if you really mean it, of course ;-) ) by giving it an empty string as an argument.
- --build
- Builds the package after setting it up.
NB: This builds only a binary package (by calling ``fakeroot debian/rules binary'') and does not sign the package. It is meant for a quick local install of a package, not for creating a package ready for submission to the Debian archive.
- --closes ITPBUG
- Manually specify the ITP bug number that this package closes. If not given, dh-make-perl will try to connect to bugs.debian.org to fetch the appropriate bug number, using WWW::Mechanize.
- --core-ok
- Allows building core Perl modules. By default, dh-make-perl will not allow building a module that is shipped as part of the standard Perl library; by specifying this option, dh-make-perl will build them anyway.
Note that, although it is not probable, this might break unrelated items in your system - if a newer version of a core module breaks the API, all kinds of daemons might get upset ;-)
- --cpan DIST
- Instructs dh-make-perl to fetch and extract the given CPAN distribution.
- --cpan-mirror MIRROR
- Specifies a CPAN site to use as mirror.
- --data-dir DIRECTORY
- Use another data directory, instead of the default, "/usr/share/dh-make-perl"
Data directory is were dh-make-perl looks for its default rules.* templates. It is similar to --home-dir, but does not change the location of the APT Contents cache file. If both are given, --home-dir takes precedence.
- --depends DEPENDS
- Manually specify the string to be used for the module's dependencies. This should be used when building modules where dh-make-perl cannot guess the Perl dependencies (such as modules built using Module::Install), or when the Perl code depends on non-Perl binaries or libraries. Usually, dh-make-perl will figure out the dependencies by itself. If you need to pass dh-make-perl dependency information, you must do it using the debian package format. i.e.
dh-make-perl --depends libtest-more-perl
- --desc SHORT DESCRIPTION
- Uses the argument to --desc as short description for the package.
- --dh VERSION
- Set desired debhelper version. If "ver" is 7, generated debian/rules is minimalistic, using the auto-mode of debhelper. Also, any additional documentation and examples are listed in additional files under debian/, instead of being listed in debian/rules
- --dist DISTRIBUTION
- Limit the distributions whose "Contents" files are parsed. The argument is a distribution name.
Default: empty, meaning no filtering.
Example:
dh-make-perl --dist etch - --email | -e EMAIL
- Manually specify the Maintainer email address to use in debian/control and in debian/changelog.
- --exclude | -i [REGEX]
- This allows you to specify a PCRE to exclude some files from the search for docs and stuff like that. If no argument is given (but the switch is specified - not specifying the switch will include everything), it defaults to dpkg-source's default values.
- --install
- Installs the freshly built package. Specifying --install implies --build - The package will not be installed unless it was built (obviously ;-) )
- --home-dir DIRECTORY
- Where user overrides and APT Contents cache is stored.
Default: ~/.dh-make-perl
- --packagename | -p PACKAGENAME
- Manually specify the Package Name, useful when the module has dashes in its name.
- --pkg-perl
- Useful when preparing a package for the Debian Perl Group <http://pkg-perl.alioth.debian.org>.
Sets "Maintainer", "Uploaders", "Vcs-Svn" and "Vcs-Browser" fields in debian/control accordingly.
- --requiredeps
- Fail if a dependency Perl package was not found (dependency tracking requires the apt-file package installed and updated)
- --sources-list FILE
- Instruct the "Contents" file parser to use this file when determining if a given file should be parsed or not. Contents files not matching any line in sources.list are not parsed in order to save you time parsing old files from mirrors you no longer use.
Default: "/etc/apt/sources.list"
- --verbose | --no-verbose
- Print additional information while processing.
--verbose is on by default if ``--make'' is given, off otherwise.
- --version VERSION
- Specifies the version of the resulting package.
FILES
The following directories will be searched to find additional files required by dh-make-perl:/usr/share/dh-make-perl/ $HOME/.dh-make-perl/
- •
- dh-make-perl.conf
User configuration. The file is in YAML format. The keys are option names, as documented in ``OPTIONS'' (without leading --).
See the output of "dh-make-perl --dump-config", which can also be used for population of dh-make-perl.conf.
- •
- overrides
File that overrides information retreived (or guessed) about the package. All the files in the library directories are loaded: entries in the home take precedence. See the distributed overrides file for usage information.
- •
- rules.MakeMaker.noxs
A debian/rules makefile for modules that use ExtUtils::MakeMaker, but don't have C/XS code.
- •
- rules.MakeMaker.xs
A debian/rules makefile for modules that use ExtUtils::MakerMaker and C/XS code.
- •
- rules.Module-Build.noxs
A debian/rules makefile for modules that use Module::Build, but don't have C/XS code.
- •
- rules.Module-Build.xs
A debian/rules makefile for modules that use Module::Build and C/XS code.
ENVIRONMENT
HOME - get user's home directoryDEBFULLNAME - get the real name of the maintainer
LOGNAME or USER - get the username
DEBEMAIL or EMAIL - get the email address of the user
BUGS
Several, let me know when you find them.AUTHOR
Paolo Molaro <lupus@debian.org> (MIA)Maintained for a time by Ivan Kohler <ivan-debian@420.am>.
Maintained for a time by Marc Brockschmdit <marc@dch-faq.de>.
Now maintained by Gunnar Wolf <gwolf@gwolf.org>, and team-maintained by the Debian Perl Group, http://alioth.debian.org/projects/pkg-perl
Patches from:
- Adam Sjoegren <asjo@koldfront.dk>
- Adrian Phillips <adrianp@powertech.no>
- Amos Shapira <amos.shapira@gmail.com>
- Christian Kurz <shorty@debian.org>
- Damyan Ivanov <divanov@creditreform.bg>
- David Paleino <d.paleino@gmail.com>
- David Pashley <david@davidpashley.com>
- Edward Betts <edward@debian.org>
- Fermin Galan <galan@dit.upm.es>
- Geoff Richards <qef@ungwe.org>
- Gergely Nagy <algernon@bonehunter.rulez.org>
- gregor herrmann <gregoa@debian.org>
- Hilko Bengen <bengen@debian.org>
- Kees Cook <keex@outflux.net>
- Jesper Krogh <jesper@krogh.cc>
- Johnny Morano <jmorano@moretrix.com>
- Juerd <juerd@ouranos.juerd.net>
- Marc Chantreux (mail withheld)
- Matt Hope <dopey@debian.org>
- Noel Maddy <noel@zhtwn.com>
- Oliver Gorwits <oliver.gorwits@oucs.ox.ac.uk>
- Paul Fenwick <pjf@perltraining.com.au>
- Peter Moerch <mn3k66i02@sneakemail.com>
- Peter Pentchev <roam@ringlet.net>
- Ryan Niebur <ryanryan52@gmail.com>
- Stephen Oberholtzer <oliverklozoff@gmail.com>
- Ton Nijkes <tonn@wau.mis.ah.nl>
... And others who, sadly, we have forgot to add :-/
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre