.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "DH-MAKE-PERL 1p" .TH DH-MAKE-PERL 1p 2024-03-14 "perl v5.38.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME dh\-make\-perl \- Create debian source packages from Perl modules .SH SYNOPSIS .IX Header "SYNOPSIS" .IP "dh-make-perl [make] {\fISOURCE_DIR\fR | \-\-cpan \fIMODULE\fR|\fIDIST\fR} \fIoptions...\fR" 4 .IX Item "dh-make-perl [make] {SOURCE_DIR | --cpan MODULE|DIST} options..." .PD 0 .IP "dh-make-perl refresh {\fI\-\-only ...\fR} [directory]" 4 .IX Item "dh-make-perl refresh {--only ...} [directory]" .IP "dh-make-perl locate Foo::Bar ..." 4 .IX Item "dh-make-perl locate Foo::Bar ..." .IP "dh-make-perl refresh-cache" 4 .IX Item "dh-make-perl refresh-cache" .IP "dh-make-perl dump-config" 4 .IX Item "dh-make-perl dump-config" .IP "dh-make-perl help" 4 .IX Item "dh-make-perl help" .IP "cpan2deb \fIMODULE\fR|\fIDIST\fR \fIoptions...\fR" 4 .IX Item "cpan2deb MODULE|DIST options..." .IP "cpan2dsc \fIMODULE\fR|\fIDIST\fR \fIoptions...\fR" 4 .IX Item "cpan2dsc MODULE|DIST options..." .PD .SH DESCRIPTION .IX Header "DESCRIPTION" \&\fBdh-make-perl\fR will create the files required to build a debian source package out of a Perl module or CPAN distribution. This works for most simple packages and is also useful for getting started with packaging Perl modules. .PP You can specify a module or distribution name with the \-\-cpan switch and \fBdh-make-perl\fR will download it 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, \fBdh-make-perl\fR tries to create a Perl package from the data in the current directory. .PP You can build and install the debian binary package using the "\-\-build" and "\-\-install" command line switches. .PP If \fBdh-make-perl\fR is called as .PP .Vb 1 \& cpan2deb Foo::Bar .Ve .PP it behaves like .PP .Vb 1 \& dh\-make\-perl make \-\-build \-\-cpan Foo::Bar .Ve .PP If \fBdh-make-perl\fR is called as .PP .Vb 1 \& cpan2dsc Foo::Bar .Ve .PP it behaves like .PP .Vb 1 \& dh\-make\-perl make \-\-build\-source \-\-cpan Foo::Bar .Ve .PP 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. .SS COMMANDS .IX Subsection "COMMANDS" .IP make 4 .IX Item "make" Default command if no command is given. Creates "debianisation" from scratch. Fails with an error if \fIdebian/\fR directory already exists. .IP "refresh [directory]" 4 .IX Item "refresh [directory]" For refreshing a package. \f(CW\*(C`directory\*(C'\fR defaults to the current working directory. Rebuilds \fIdebian/copyright\fR, \fIdebian/rules\fR using the current templates. Before any changes are made to these files, a backup copy is created with a .bak suffix. .Sp This is useful when \fIdebian/rules\fR was created using older templates and doesn't contain much customizations. As always, you're strongly encouraged to verify if \fIdebian/rules\fR looks sane. .Sp \&\f(CW\*(C`refresh\*(C'\fR also tries to update dependency lists in \fIdebian/control\fR from \&\fIMETA.yml\fR. .Sp When updating \fIdebian/copyright\fR dh-make-perl tries to be clever about remembering email addresses. It gets the list of copyright holders and their emails for \fIdebian/*\fR from the sign off lines in \fIdebian/changelog\fR. However to allow for email addresses changing, it looks for change lines of the form .Sp .Vb 1 \& * Email change: Debbie Devlin \-> devlin@debian.org .Ve .Sp So now \f(CW\*(C`Debbie Devlin \*(C'\fR will be used in the copyright instead of \f(CW\*(C`Debbie Devlin \*(C'\fR. .IP "\fB\-\-only\fR | \fB\-o\fR \fIcontrol|copyright|docs|examples|rules\fR" 4 .IX Item "--only | -o control|copyright|docs|examples|rules" This option allows one to update only one or more file(s) in the debian/ directory when \fBdh-make-perl\fR is run in "refresh" mode. Filenames are separated by a comma. The option can be given multiple times, accumulating arguments. .IP "locate \fIMODULE\fR ..." 4 .IX Item "locate MODULE ..." Tries to locate the package that contains the given Perl \fIMODULE\fRs. .Sp Example: .Sp .Vb 1 \& dh\-make\-perl locate IPC::Run3 XML::Tidy .Ve .IP refresh-cache 4 .IX Item "refresh-cache" \&\fBdh-make-perl\fR parses the Contents files, fetched by \fBapt\-file\fR\|(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 \fBapt\-file\fR\|(1) in your nightly cron job, the first time you run \fBdh-make-perl\fR 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 \f(CW\*(C`apt\-file update\*(C'\fR. .Sp Does nothing if the cache is newer that the Contents files. .IP dump-config 4 .IX Item "dump-config" Causes the current config, including any default settings to be printed to the standard output. .Sp Useful for populating dh\-make\-perl.conf file. .IP help 4 .IX Item "help" Displays short usage information. .SS OPTIONS .IX Subsection "OPTIONS" .IP "\fB\-\-arch\fR \fIany\fR | \fIall\fR" 4 .IX Item "--arch any | all" This switches between arch-dependent and arch-independent packages. If \fB\-\-arch\fR isn't used, \fBdh-make-perl\fR uses a relatively good-working algorithms to decide this alone. .IP "\fB\-\-backups\fR | \fB\-\-no\-backups\fR" 4 .IX Item "--backups | --no-backups" In "refresh" mode, create backups of \fIdebian/copyright\fR and \&\fIdebian/rules\fR before overwriting them. On by default. .IP \fB\-\-basepkgs\fR 4 .IX Item "--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 \f(CW\*(C`perl,perl\-base\*(C'\fR \- it is used to check for module dependencies. If a needed module is in the \&\f(CW\*(C`basepkgs\*(C'\fR, it won't be mentioned in the \f(CW\*(C`depends:\*(C'\fR field of \&\f(CW\*(C`debian/control\*(C'\fR. .Sp 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. .Sp Note that this option should be used sparingly and with care, as it might lead to packages not being rebuildable because of unfulfilled dependencies. .IP "\fB\-\-bdepends\fR \fIBUILD-DEPENDS\fR" 4 .IX Item "--bdepends BUILD-DEPENDS" Manually specify a string to be \fBadded\fR to 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 \&\fBdh-make-perl\fR require debhelper to be specified as a build dependency. Same note as for \-\-depends applies here \- use only when needed. .IP "\fB\-\-bdependsi\fR \fIBUILD-DEPENDS-INDEP\fR" 4 .IX Item "--bdependsi BUILD-DEPENDS-INDEP" Manually specify a string to be \fBadded\fR to the module's build-dependencies for architecture-independent builds. Same notes as those for the \-\-depends and \-\-bdepends options apply here. .IP \fB\-\-build\fR 4 .IX Item "--build" Builds the binary package (i.e. the .deb file) after setting the package directory up. .Sp 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. .IP "\fB\-\-build\-script\fR \fIpath\fR" 4 .IX Item "--build-script path" Use specified script for building the binary package. The script is run in the working directory, where \fIdebian/\fR directory is, with no arguments. The result of the build process is expected to appear in the parent directory. .IP \fB\-\-build\-source\fR 4 .IX Item "--build-source" Builds the source package (i.e. the .dsc and .debian.tar.gz files) after setting the package directory up. .Sp NB: This builds only a source package (by calling "dpkg-source \-b") and does not sign the package. It is meant for a quick local install of a source package to be thrown into e.g. a pbuilder, not for creating a source package ready for submission to the Debian archive. .IP "\fB\-\-closes\fR \fIITPBUG\fR" 4 .IX Item "--closes ITPBUG" Manually specify the ITP bug number that this package closes. If not given, \fBdh-make-perl\fR will try to connect to bugs.debian.org to fetch the appropriate bug number, using WWW::Mechanize. .IP \fB\-\-core\-ok\fR 4 .IX Item "--core-ok" Allows building core Perl modules. By default, \fBdh-make-perl\fR will not allow building a module that is shipped as part of the standard Perl library; by specifying this option, \fBdh-make-perl\fR will build them anyway. .Sp 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 ;\-) .IP "\fB\-\-cpan\fR \fIMODULE\fR|\fIDIST\fR" 4 .IX Item "--cpan MODULE|DIST" Instructs \fBdh-make-perl\fR to fetch and extract the given CPAN module or distribution. Works both with \f(CW\*(C`Foo::Bar\*(C'\fR and \f(CW\*(C`Foo\-Bar\*(C'\fR. .IP "\fB\-\-cpan\-mirror\fR \fIMIRROR\fR" 4 .IX Item "--cpan-mirror MIRROR" Specifies a CPAN site to use as mirror. .IP "\fB\-\-data\-dir\fR \fIDIRECTORY\fR" 4 .IX Item "--data-dir DIRECTORY" Use another data directory, instead of the default, \f(CW\*(C`/usr/share/dh\-make\-perl\*(C'\fR .Sp Data directory is were \fBdh-make-perl\fR looks for its default rules.* templates. It is similar to \fB\-\-config\-dir\fR, but does not change the location of the APT Contents cache file. If both are given, \fB\-\-config\-dir\fR takes precedence. .IP "\fB\-\-depends\fR \fIDEPENDS\fR" 4 .IX Item "--depends DEPENDS" Manually specify a string to be \fBadded\fR to the module's dependencies. This should be used when building modules where \fBdh-make-perl\fR 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, \fBdh-make-perl\fR will figure out the dependencies by itself. If you need to pass \fBdh-make-perl\fR dependency information, you must do it using the debian package format. i.e. .Sp .Vb 1 \& dh\-make\-perl \-\-depends libtest\-more\-perl .Ve .Sp If you need to override the detection and specify the full dependency list by hand, use \fB\-\-force\-depends\fR. .IP "\fB\-\-desc\fR \fISHORT DESCRIPTION\fR" 4 .IX Item "--desc SHORT DESCRIPTION" Uses the argument to \-\-desc as short description for the package. .IP "\fB\-\-dh\fR \fIVERSION\fR" 4 .IX Item "--dh VERSION" Set desired debhelper compatibility level. The default is 13. .Sp Since version 0.77, \fBdh-make-perl\fR only supports debhelper compatibility levels \fB>=8\fR. .Sp See \fBdebhelper\fR\|(1). .IP "\fB\-\-dist\fR \fIDISTRIBUTION\fR" 4 .IX Item "--dist DISTRIBUTION" Limit the distributions whose \f(CW\*(C`Contents\*(C'\fR files are parsed. The argument is a distribution name. .Sp Default: empty, meaning no filtering. .Sp Example: dh-make-perl \-\-dist etch .IP "\fB\-\-email\fR | \fB\-e\fR \fIEMAIL\fR" 4 .IX Item "--email | -e EMAIL" Manually specify the Maintainer email address to use in debian/control and in debian/changelog. .IP "\fB\-\-exclude\fR | \fB\-i\fR [\fIREGEX\fR]" 4 .IX Item "--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. .IP "\fB\-\-force\-depends\fR \fISTRING\fR" 4 .IX Item "--force-depends STRING" Completely override detected run-time dependencies, replacing them with the given \fISTRING\fR. .IP "\fB\-\-guess\-nocheck\fR | \fB\-\-no\-guess\-nocheck\fR" 4 .IX Item "--guess-nocheck | --no-guess-nocheck" This adds to the build-time dependencies where appropriate. Uses a hardcoded list with exceptions so it is not turned on by default. .Sp Default: \-\-no\-guess\-nocheck .IP \fB\-\-install\fR 4 .IX Item "--install" Installs the freshly built package. Specifying \-\-install implies \-\-build \- The package will not be installed unless it was built (obviously ;\-) ) .IP \fB\-\-install\-deps\fR 4 .IX Item "--install-deps" Install all dependencies for the module, as long as those dependencies are available as Debian packages. .IP \fB\-\-install\-build\-deps\fR 4 .IX Item "--install-build-deps" Install dependencies required for building the module, as long as those dependencies are available as Debian packages. .IP "\fB\-\-install\-with\fR \fIapt|apt\-get|aptitude|dpkg\fR" 4 .IX Item "--install-with apt|apt-get|aptitude|dpkg" Change the tool that is used to install the package when \fB\-\-install\fR is given. .Sp Default is \fBapt\fR. .IP \fB\-\-intrusive\fR 4 .IX Item "--intrusive" When determining module dependencies, if Module::Depends fails, tries again with Module::Depends::Intrusive. M:D:I loads all .pm files, intercepting loading of other modules, effectively running untrusted code on your behalf. Use with caution. .IP \fB\-\-network\fR 4 .IX Item "--network" Enables querying of Debian WNPP lists for ITP and similar bugs. Enabled by default, use \f(CW\*(C`\-\-no\-network\*(C'\fR to disable. .IP \fB\-\-notest\fR 4 .IX Item "--notest" This option for not running the automatic testing of the module as part of the build script has been removed in 0.54. Please put nocheck in the DEB_BUILD_OPTIONS environment variable if you want to skip the tests when building a package. .IP "\fB\-\-config\-dir\fR \fIDIRECTORY\fR" 4 .IX Item "--config-dir DIRECTORY" Where the configuration files are stored. This option has precedence over \fB\-\-home\-dir\fR. .Sp Default: ~/.dh\-make\-perl (if present), \f(CW$XDG_CONFIG_HOME\fR/dh\-make\-perl, ~/.config/dh\-make\-perl .IP "\fB\-\-cache\-dir\fR \fIDIRECTORY\fR" 4 .IX Item "--cache-dir DIRECTORY" Where APT Contents and other caches are stored. This option has precedence over \fB\-\-home\-dir\fR. .Sp Default: ~/.dh\-make\-perl (if present), \f(CW$XDG_CACHE_HOME\fR/dh\-make\-perl, ~/.cache/dh\-make\-perl .IP "\fB\-\-home\-dir\fR \fIDIRECTORY\fR" 4 .IX Item "--home-dir DIRECTORY" Legacy option to specify both the config and cache directories. See \fB\-\-config\-dir\fR and \fB\-\-cache\-dir\fR. .IP "\fB\-\-packagename\fR | \fB\-p\fR \fIPACKAGENAME\fR" 4 .IX Item "--packagename | -p PACKAGENAME" Manually specify the Package Name, useful when the module has dashes in its name. .IP \fB\-\-pkg\-perl\fR 4 .IX Item "--pkg-perl" Useful when preparing a package for the Debian Perl Group . .Sp Sets \f(CW\*(C`Maintainer\*(C'\fR, \f(CW\*(C`Uploaders\*(C'\fR, \f(CW\*(C`Vcs\-Git\*(C'\fR and \f(CW\*(C`Vcs\-Browser\*(C'\fR fields in \&\fIdebian/control\fR accordingly. Also, when \f(CW\*(C`\-\-vcs git\*(C'\fR is used (the default), sets up a Git remote pointing to the right place on \fIsalsa.debian.org\fR. .IP \fB\-\-recursive\fR 4 .IX Item "--recursive" Valid only in "make" mode with "\-\-cpan" or \fIdirectory\fR arguments. Causes dh-make-perl to try to create packaging (and possibly build and install the packages if "\-\-build" and "\-\-install" options are also given) for any dependencies which are missing packages. .Sp This works like this: when the 'main' package is constructed, any missing packages are put in a list, and then the "debianisation" procedure is run in turn on each of them, recursively. .IP \fB\-\-requiredeps\fR 4 .IX Item "--requiredeps" Fail if a dependency Perl package was not found. .IP "\fB\-\-revision\fR \fIREVISION\fR" 4 .IX Item "--revision REVISION" Specifies the debian revision of the resulting package. .Sp Useful when you want to let dh-make-perl discover the ustream version, but still enforce a specific debian revision, e.g. when backporting. .Sp Overridden by \-\-version. .IP "\fB\-\-source\-format\fR \fIformat\fR" 4 .IX Item "--source-format format" When creating or refreshing packaging, use the specified source format. Defaults to \f(CW\*(C`3.0 (quilt)\*(C'\fR. .IP "\fB\-\-vcs\fR \fIVCS\fR" 4 .IX Item "--vcs VCS" In \fB\-\-pkg\-perl\fR mode, use the specified version control system in the generated \fIVcs\-*\fR fields. The default is \f(CW\*(C`git\*(C'\fR. .Sp If \fIVCS\fR is \f(CW\*(C`git\*(C'\fR, \f(CW\*(C`dh\-make\-perl\*(C'\fR will setup a Git repository with three branches: .RS 4 .IP upstream/latest 4 .IX Item "upstream/latest" The initial branch containing upstream sources .IP debian/latest 4 .IX Item "debian/latest" The branch where packaging is done, forked off \f(CW\*(C`upstream/latest\*(C'\fR and with the contents of the \f(CW\*(C`debian/\*(C'\fR directory added. .IP pristine-tar 4 .IX Item "pristine-tar" A branch to keep \fBpristine\-tar\fR\|(1) data. .RE .RS 4 .Sp If \fB\-\-pkg\-perl\fR is also given, an \f(CW\*(C`origin\*(C'\fR remote is added pointing to the repository on \fIsalsa.debian.org\fR. .RE .IP "\fB\-\-verbose\fR | \fB\-\-no\-verbose\fR" 4 .IX Item "--verbose | --no-verbose" Print additional information while processing. .Sp \&\-\-verbose is on by default in "make" mode, off otherwise. .IP "\fB\-\-version\fR \fIVERSION\fR" 4 .IX Item "--version VERSION" Specifies the upstream version of the resulting package. Usually calculated correctly but \fB\-\-version\fR can override wrong guesses. .Sp \&\fINote\fR that this is just the upstream version and is also used for the tag in the \f(CW\*(C`upstream\*(C'\fR branch. If you need to also specify the Debian revision, use \&\fB\-\-revision\fR. .SS "DEPENDENCY RESOLUTION" .IX Subsection "DEPENDENCY RESOLUTION" For mapping upstream build, test, and runtime requirements to build and runtime dependencies on Debian packages, \fBdh-make-perl\fR can use APT's \&\fIContents\fR files, if \fBapt\-file\fR\|(1) is installed, and additionally \&\fI/var/lib/dpkg/available\fR, if \f(CW\*(C`libdpkg\-parse\-perl\*(C'\fR is installed. .SH FILES .IX Header "FILES" The following directories will be searched to find additional files required by \fBdh-make-perl\fR: .PP .Vb 2 \& /usr/share/dh\-make\-perl/ \& $HOME/.dh\-make\-perl/ .Ve .IP \(bu 4 dh\-make\-perl.conf .Sp User configuration. The file is in YAML format. The keys are option names, as documented in "OPTIONS" (without leading \fI\-\-\fR). .Sp See the output of \f(CW\*(C`dh\-make\-perl \-\-dump\-config\*(C'\fR, which can also be used for population of \fIdh\-make\-perl.conf\fR. .SH ENVIRONMENT .IX Header "ENVIRONMENT" HOME \- get user's home directory .PP DEBFULLNAME \- get the real name of the maintainer .PP LOGNAME or USER \- get the username .PP DEBEMAIL or EMAIL \- get the email address of the user .SH BUGS .IX Header "BUGS" Several, let me know when you find them. .SH AUTHOR .IX Header "AUTHOR" Paolo Molaro (MIA) .PP Maintained for a time by Ivan Kohler . .PP Maintained for a time by Marc Brockschmidt . .PP Maintained for a time by Gunnar Wolf . .PP Now team-maintained by the Debian Perl Group, https://salsa.debian.org/perl\-team/modules/packages/dh\-make\-perl .PP Patches from: .IP "Adam Sjoegren " 4 .IX Item "Adam Sjoegren " .PD 0 .IP "Adrian Phillips " 4 .IX Item "Adrian Phillips " .IP "Amos Shapira " 4 .IX Item "Amos Shapira " .IP "Ansgar Burchardt " 4 .IX Item "Ansgar Burchardt " .IP "Axel Beckert " 4 .IX Item "Axel Beckert " .IP "Carnë Draug " 4 .IX Item "Carnë Draug " .IP "Christian Kurz " 4 .IX Item "Christian Kurz " .IP "Christopher Hoskin " 4 .IX Item "Christopher Hoskin " .IP "Damyan Ivanov " 4 .IX Item "Damyan Ivanov " .IP "David Paleino " 4 .IX Item "David Paleino " .IP "David Pashley " 4 .IX Item "David Pashley " .IP "Dima Kogan " 4 .IX Item "Dima Kogan " .IP "Edward Betts " 4 .IX Item "Edward Betts " .IP "Fermin Galan " 4 .IX Item "Fermin Galan " .IP "Geoff Richards " 4 .IX Item "Geoff Richards " .IP "Gergely Nagy " 4 .IX Item "Gergely Nagy " .IP "gregor herrmann " 4 .IX Item "gregor herrmann " .IP "Hilko Bengen " 4 .IX Item "Hilko Bengen " .IP "Kees Cook " 4 .IX Item "Kees Cook " .IP "Jesper Krogh " 4 .IX Item "Jesper Krogh " .IP "Johnny Morano " 4 .IX Item "Johnny Morano " .IP "Juerd " 4 .IX Item "Juerd " .IP "Marc Chantreux (mail withheld)" 4 .IX Item "Marc Chantreux (mail withheld)" .IP "Matt Hope " 4 .IX Item "Matt Hope " .IP "Matthew Gabeler-Lee " 4 .IX Item "Matthew Gabeler-Lee " .IP "Maximilian Gass " 4 .IX Item "Maximilian Gass " .IP "Noel Maddy " 4 .IX Item "Noel Maddy " .IP "Oleg Gashev " 4 .IX Item "Oleg Gashev " .IP "Oliver Gorwits " 4 .IX Item "Oliver Gorwits " .IP "Paul Fenwick " 4 .IX Item "Paul Fenwick " .IP "Peter Flanigan " 4 .IX Item "Peter Flanigan " .IP "Peter Moerch " 4 .IX Item "Peter Moerch " .IP "Peter Pentchev " 4 .IX Item "Peter Pentchev " .IP "Ryan Niebur " 4 .IX Item "Ryan Niebur " .IP "Salvatore Bonaccorso " 4 .IX Item "Salvatore Bonaccorso " .IP "Stephen Oberholtzer " 4 .IX Item "Stephen Oberholtzer " .IP "Tim Retout " 4 .IX Item "Tim Retout " .IP "Ton Nijkes " 4 .IX Item "Ton Nijkes " .PD .PP \&... And others who, sadly, we have forgot to add :\-/