DhMakePerl-0.80000755001750001750 012234004042 12071 5ustar00damdam000000000000MANIFEST000444001750001750 1246312234004042 13326 0ustar00damdam000000000000DhMakePerl-0.80Build.PL Changes COPYING dh-make-perl HOWTO.release lib/Debian/AptContents.pm lib/Debian/Control.pm lib/Debian/Control/FromCPAN.pm lib/Debian/Control/Stanza.pm lib/Debian/Control/Stanza/Binary.pm lib/Debian/Control/Stanza/CommaSeparated.pm lib/Debian/Control/Stanza/Source.pm lib/Debian/Dependencies.pm lib/Debian/Dependency.pm lib/Debian/DpkgLists.pm lib/Debian/Rules.pm lib/Debian/WNPP/Bug.pm lib/Debian/WNPP/Query.pm lib/DhMakePerl.pm lib/DhMakePerl/Command/dump_config.pm lib/DhMakePerl/Command/help.pm lib/DhMakePerl/Command/locate.pm lib/DhMakePerl/Command/make.pm lib/DhMakePerl/Command/Packaging.pm lib/DhMakePerl/Command/refresh.pm lib/DhMakePerl/Command/refresh_cache.pm lib/DhMakePerl/Config.pm lib/DhMakePerl/PodParser.pm lib/DhMakePerl/Utils.pm Makefile MANIFEST This list of files MANIFEST.SKIP privinc/My/Builder.pm README share/rules.dh7.tiny t/00-load.t t/AptContents.t t/cache.t t/CommaSeparated.t t/contents/sources.list t/contents/test_debian_dists_sid_main_Contents t/contents/test_debian_dists_testing_main_Contents t/Control.t t/core-modules.t t/corelist.t t/critic.t t/debian-version.t t/Dep.t t/Dependencies.t t/dists.t t/dists/Strange-0.1/Changes t/dists/Strange-0.1/eg/decoy.xs t/dists/Strange-0.1/Makefile.PL t/dists/Strange-0.1/MANIFEST t/dists/Strange-0.1/Strange.pm t/dists/Strange-0.1/test.pl t/dists/Strange-0.1/wanted-debian--refresh--source-format=3.0_quilt/changelog t/dists/Strange-0.1/wanted-debian--refresh--source-format=3.0_quilt/compat t/dists/Strange-0.1/wanted-debian--refresh--source-format=3.0_quilt/control t/dists/Strange-0.1/wanted-debian--refresh--source-format=3.0_quilt/copyright t/dists/Strange-0.1/wanted-debian--refresh--source-format=3.0_quilt/libstrange-perl.examples t/dists/Strange-0.1/wanted-debian--refresh--source-format=3.0_quilt/rules t/dists/Strange-0.1/wanted-debian--refresh--source-format=3.0_quilt/source/format t/dists/Strange-0.1/wanted-debian--refresh--source-format=3.0_quilt/watch t/dists/Strange-0.1/wanted-debian--refresh-email/changelog t/dists/Strange-0.1/wanted-debian--refresh-email/compat t/dists/Strange-0.1/wanted-debian--refresh-email/control t/dists/Strange-0.1/wanted-debian--refresh-email/copyright t/dists/Strange-0.1/wanted-debian--refresh-email/libstrange-perl.examples t/dists/Strange-0.1/wanted-debian--refresh-email/rules t/dists/Strange-0.1/wanted-debian--refresh-email/source/format t/dists/Strange-0.1/wanted-debian--refresh-email/watch t/dists/Strange-0.1/wanted-debian--refresh/changelog t/dists/Strange-0.1/wanted-debian--refresh/compat t/dists/Strange-0.1/wanted-debian--refresh/control t/dists/Strange-0.1/wanted-debian--refresh/copyright t/dists/Strange-0.1/wanted-debian--refresh/libstrange-perl.examples t/dists/Strange-0.1/wanted-debian--refresh/rules t/dists/Strange-0.1/wanted-debian--refresh/watch t/dists/Strange-0.1/wanted-debian/changelog t/dists/Strange-0.1/wanted-debian/compat t/dists/Strange-0.1/wanted-debian/control t/dists/Strange-0.1/wanted-debian/copyright t/dists/Strange-0.1/wanted-debian/libstrange-perl.examples t/dists/Strange-0.1/wanted-debian/rules t/dists/Strange-0.1/wanted-debian/watch t/dists/Strange-2.1/Changes t/dists/Strange-2.1/Makefile.PL t/dists/Strange-2.1/MANIFEST t/dists/Strange-2.1/MYMETA.yml t/dists/Strange-2.1/README t/dists/Strange-2.1/Strange.pm t/dists/Strange-2.1/Strange.xs t/dists/Strange-2.1/test.pl t/dists/Strange-2.1/TODO t/dists/Strange-2.1/wanted-debian--refresh--source-format=3.0_quilt/changelog t/dists/Strange-2.1/wanted-debian--refresh--source-format=3.0_quilt/compat t/dists/Strange-2.1/wanted-debian--refresh--source-format=3.0_quilt/control t/dists/Strange-2.1/wanted-debian--refresh--source-format=3.0_quilt/copyright t/dists/Strange-2.1/wanted-debian--refresh--source-format=3.0_quilt/libstrange-perl.docs t/dists/Strange-2.1/wanted-debian--refresh--source-format=3.0_quilt/rules t/dists/Strange-2.1/wanted-debian--refresh--source-format=3.0_quilt/source/format t/dists/Strange-2.1/wanted-debian--refresh--source-format=3.0_quilt/watch t/dists/Strange-2.1/wanted-debian--refresh-email/changelog t/dists/Strange-2.1/wanted-debian--refresh-email/compat t/dists/Strange-2.1/wanted-debian--refresh-email/control t/dists/Strange-2.1/wanted-debian--refresh-email/copyright t/dists/Strange-2.1/wanted-debian--refresh-email/libstrange-perl.docs t/dists/Strange-2.1/wanted-debian--refresh-email/rules t/dists/Strange-2.1/wanted-debian--refresh-email/source/format t/dists/Strange-2.1/wanted-debian--refresh-email/watch t/dists/Strange-2.1/wanted-debian--refresh/changelog t/dists/Strange-2.1/wanted-debian--refresh/compat t/dists/Strange-2.1/wanted-debian--refresh/control t/dists/Strange-2.1/wanted-debian--refresh/copyright t/dists/Strange-2.1/wanted-debian--refresh/libstrange-perl.docs t/dists/Strange-2.1/wanted-debian--refresh/rules t/dists/Strange-2.1/wanted-debian--refresh/watch t/dists/Strange-2.1/wanted-debian/changelog t/dists/Strange-2.1/wanted-debian/compat t/dists/Strange-2.1/wanted-debian/control t/dists/Strange-2.1/wanted-debian/copyright t/dists/Strange-2.1/wanted-debian/libstrange-perl.docs t/dists/Strange-2.1/wanted-debian/rules t/dists/Strange-2.1/wanted-debian/watch t/DpkgLists.t t/extract_name_ver.t t/extract_name_ver_from_makefile.t t/makefiles/module-install-autodie.PL t/manifest.t t/perl-deps.t t/perl-versions.t t/perlcriticrc t/pod-coverage.t t/pod.t t/rules.t t/split_version_relation.t TODO xt/pod-spelling.t META.yml META.json Build.PL000444001750001750 551712234004042 13453 0ustar00damdam000000000000DhMakePerl-0.80use strict; use warnings; use lib qw(privinc); use My::Builder; my $builder = My::Builder->new( module_name => 'DhMakePerl', license => 'gpl', recommends => { 'Git' => 0, 'IO::Dir' => 0, }, configure_requires => { 'Module::Build' => 0.38 }, requires => { perl => '5.010', 'AptPkg::Cache' => 0, 'AptPkg::Config' => 0, 'Array::Unique' => 0, 'Carp' => 0, 'CPAN' => 0, 'CPAN::Meta' => 0, 'Cwd' => 0, 'Dpkg' => 0, 'Dpkg::Source::Package' => 0, 'Email::Address' => 0, 'Email::Date::Format' => 0, 'File::Basename' => 0, 'File::Copy' => 0, 'File::Find::Rule' => 0, 'File::Spec' => 0, 'File::Spec::Functions' => 0, 'File::Which' => 0, 'FindBin' => 0, 'Getopt::Long' => 0, 'IO::File' => 0, 'IO::Uncompress::Gunzip' => 0, 'List::MoreUtils' => 0, 'Module::Build' => 0, 'Module::CoreList' => 0, 'Module::Depends' => 0, 'Module::Depends::Intrusive'=> 0, 'Parse::DebControl' => 0, 'Parse::DebianChangelog' => 0, 'Software::License::Artistic_2_0' => 0, 'Storable' => 0, 'Text::Diff' => 0, 'Text::Wrap' => 0, 'Tie::File' => 0, 'Tie::IxHash' => 0, 'User::pwent' => 0, 'version' => 0, 'WWW::Mechanize' => 0, 'YAML' => 0, }, build_requires => { 'IPC::Run' => 0, 'File::DirCompare' => 0, 'File::Touch' => 0, 'Test::Compile' => 0, 'Test::Deep' => 0, 'Test::Differences' => 0, 'Test::Exception' => 0, 'Test::More' => 0, }, no_index => { directory => [qw(privinc t xt share)] }, add_to_cleanup => [ 'DhMakePerl-*', 'Build', '_build' ], script_files => [ 'dh-make-perl' ], install_path => { share => '/usr/share/dh-make-perl', }, share_files => { map( ( $_ => $_ ), glob 'share/*' ) }, meta_merge => { resources => { repository => 'http://anonscm.debian.org/gitweb/?p=pkg-perl/packages/dh-make-perl.git', }, keywords => [ qw(debian package helper) ], }, ); $builder->add_build_element('share'); $builder->create_build_script(); META.json000444001750001750 1332612234004042 13615 0ustar00damdam000000000000DhMakePerl-0.80{ "abstract" : "create Debian source package from CPAN dist", "author" : [ "unknown" ], "dynamic_config" : 1, "generated_by" : "Module::Build version 0.4007, CPAN::Meta::Converter version 2.132830", "keywords" : [ "debian", "package", "helper" ], "license" : [ "open_source" ], "meta-spec" : { "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", "version" : "2" }, "name" : "DhMakePerl", "no_index" : { "directory" : [ "privinc", "t", "xt", "share" ] }, "prereqs" : { "build" : { "requires" : { "File::DirCompare" : "0", "File::Touch" : "0", "IPC::Run" : "0", "Test::Compile" : "0", "Test::Deep" : "0", "Test::Differences" : "0", "Test::Exception" : "0", "Test::More" : "0" } }, "configure" : { "requires" : { "Module::Build" : "0.38" } }, "runtime" : { "recommends" : { "Git" : "0", "IO::Dir" : "0" }, "requires" : { "AptPkg::Cache" : "0", "AptPkg::Config" : "0", "Array::Unique" : "0", "CPAN" : "0", "CPAN::Meta" : "0", "Carp" : "0", "Cwd" : "0", "Dpkg" : "0", "Dpkg::Source::Package" : "0", "Email::Address" : "0", "Email::Date::Format" : "0", "File::Basename" : "0", "File::Copy" : "0", "File::Find::Rule" : "0", "File::Spec" : "0", "File::Spec::Functions" : "0", "File::Which" : "0", "FindBin" : "0", "Getopt::Long" : "0", "IO::File" : "0", "IO::Uncompress::Gunzip" : "0", "List::MoreUtils" : "0", "Module::Build" : "0", "Module::CoreList" : "0", "Module::Depends" : "0", "Module::Depends::Intrusive" : "0", "Parse::DebControl" : "0", "Parse::DebianChangelog" : "0", "Software::License::Artistic_2_0" : "0", "Storable" : "0", "Text::Diff" : "0", "Text::Wrap" : "0", "Tie::File" : "0", "Tie::IxHash" : "0", "User::pwent" : "0", "WWW::Mechanize" : "0", "YAML" : "0", "perl" : "5.010", "version" : "0" } } }, "provides" : { "Debian::AptContents" : { "file" : "lib/Debian/AptContents.pm", "version" : "0.77" }, "Debian::Control" : { "file" : "lib/Debian/Control.pm", "version" : "0.77" }, "Debian::Control::FromCPAN" : { "file" : "lib/Debian/Control/FromCPAN.pm", "version" : "0.77" }, "Debian::Control::Stanza" : { "file" : "lib/Debian/Control/Stanza.pm", "version" : "0.71" }, "Debian::Control::Stanza::Binary" : { "file" : "lib/Debian/Control/Stanza/Binary.pm", "version" : "0.77" }, "Debian::Control::Stanza::CommaSeparated" : { "file" : "lib/Debian/Control/Stanza/CommaSeparated.pm", "version" : "0.66" }, "Debian::Control::Stanza::Source" : { "file" : "lib/Debian/Control/Stanza/Source.pm", "version" : "0.73" }, "Debian::Dependencies" : { "file" : "lib/Debian/Dependencies.pm", "version" : "0.67" }, "Debian::Dependency" : { "file" : "lib/Debian/Dependency.pm", "version" : "0.77" }, "Debian::DpkgLists" : { "file" : "lib/Debian/DpkgLists.pm", "version" : "0.71" }, "Debian::Rules" : { "file" : "lib/Debian/Rules.pm", "version" : "0.66" }, "Debian::WNPP::Bug" : { "file" : "lib/Debian/WNPP/Bug.pm", "version" : "0.64" }, "Debian::WNPP::Query" : { "file" : "lib/Debian/WNPP/Query.pm", "version" : "0.74" }, "DhMakePerl" : { "file" : "lib/DhMakePerl.pm", "version" : "0.80" }, "DhMakePerl::Command::Packaging" : { "file" : "lib/DhMakePerl/Command/Packaging.pm", "version" : "0.77" }, "DhMakePerl::Command::dump_config" : { "file" : "lib/DhMakePerl/Command/dump_config.pm", "version" : "0.65" }, "DhMakePerl::Command::help" : { "file" : "lib/DhMakePerl/Command/help.pm", "version" : "0.65" }, "DhMakePerl::Command::locate" : { "file" : "lib/DhMakePerl/Command/locate.pm", "version" : "0.66" }, "DhMakePerl::Command::make" : { "file" : "lib/DhMakePerl/Command/make.pm", "version" : "0.77" }, "DhMakePerl::Command::refresh" : { "file" : "lib/DhMakePerl/Command/refresh.pm", "version" : "0.77" }, "DhMakePerl::Command::refresh_cache" : { "file" : "lib/DhMakePerl/Command/refresh_cache.pm", "version" : "0.65" }, "DhMakePerl::Config" : { "file" : "lib/DhMakePerl/Config.pm", "version" : "0.77" }, "DhMakePerl::PodParser" : { "file" : "lib/DhMakePerl/PodParser.pm", "version" : "0.51" }, "DhMakePerl::Utils" : { "file" : "lib/DhMakePerl/Utils.pm", "version" : "0.71" } }, "release_status" : "stable", "resources" : { "license" : [ "http://www.gnu.org/licenses/old-licenses/gpl-1.0.txt" ], "repository" : { "url" : "http://anonscm.debian.org/gitweb/?p=pkg-perl/packages/dh-make-perl.git" } }, "version" : "0.80" } Makefile000444001750001750 62512234004042 13572 0ustar00damdam000000000000DhMakePerl-0.80#!/usr/bin/make -f PERL ?= /usr/bin/perl all: build Build: Build.PL $(PERL) $< build install test manifest distmeta: Build ./Build $@ orig: [ ! -e debian/rules ] || $(MAKE) -f debian/rules clean $(MAKE) Build ./Build $@ dist: manifest ./Build $@ clean realclean distclean: [ ! -e Build ] || ./Build $@ .PHONY: all build install test orig dist manifest clean realclean distclean # vim: noet dh-make-perl000555001750001750 3770612234004042 14400 0ustar00damdam000000000000DhMakePerl-0.80#!/usr/bin/perl use strict; use warnings; use DhMakePerl; print "== dh-make-perl $DhMakePerl::VERSION ==\n"; exit DhMakePerl->run; __END__ =head1 NAME dh-make-perl - Create debian source packages from Perl modules =head1 SYNOPSIS =over =item dh-make-perl [make] {I | --cpan I|I} I =item dh-make-perl refresh {I<--only ...>} [directory] =item dh-make-perl locate Foo::Bar =item dh-make-perl refresh-cache =item dh-make-perl dump-config =item dh-make-perl help =item cpan2deb I|I I =item cpan2dsc I|I I =back =head1 DESCRIPTION B 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. You can specify a module or distribution name with the L<--cpan> switch and B will download it for you from a CPAN mirror, or you can specify the directory with the already unpacked sources. If neither L<--cpan> nor a directory is given as argument, B tries to create a Perl package from the data in the current directory. You can build and install the debian binary package using the L and L command line switches. If B is called as cpan2deb Foo::Bar it behaves like dh-make-perl make --build --cpan Foo::Bar If B is called as cpan2dsc Foo::Bar it behaves like dh-make-perl make --build-source --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. =head2 COMMANDS =over =item make Default command if no command is given. Creates debianisation from scratch. Fails with an error if F directory already exists. =item refresh [directory] For refreshing a package. C defaults to the current working directory. Rebuilds F, F, F 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 F was created using older templates and doesn't contain much customisations. As always, you're strongly encouraged to verify if F looks sane. C also tries to update dependency lists in F from F. It hooks L into F and creates F When updating F dh-make-perl tries to be clever about remembering email addresses. It gets the list of copyright holders and their emails for F from the sign off lines in F. However to allow for email addresses changing, it looks for change lines of the form * Email change: Debbie Devlin -> devlin@debian.org So now Cdevlin@debian.orgE> will be used in the copyright instead of Cdebbie@devlin.orgE>. =item B<--only> | B<-o> I This option allows one to update only one or more file(s) in the debian/ directory when B is run in L mode. Filenames are separated by a comma. The option can be given multiple times, accumulating arguments. =item locate I Tries to locate the package that conains the given Perl I. Example: dh-make-perl locate IPC::Run3 =item refresh-cache B parses the Contents files, fetched by L and stores the result in a cache. The cache is refreshed automatically if it is older than any Contents file. However, if you run L in your nightly cron job, the first time you run B 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 C. Does nothing if the cache is newer that the Contents files. =item dump-config Causes the current config, including any default settings to be printed to the standard output. Useful for populating L file. =item help Displays short usage information. =back =head2 OPTIONS =over =item B<--apt-contents-dir> I Location of L Contents directory. Default is F =item B<--arch> I | I This switches between arch-dependent and arch-independet packages. If B<--arch> isn't used, B uses a relatively good-working algorithms to decide this alone. =item B<--backups> | B<--no-backups> In L mode, create backups of F and F before overwritting them. On by default. =item B<--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 C - it is used to check for module dependencies. If a needed module is in the C, it won't be mentioned in the C field of C. 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. =item B<--bdepends> I 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 B require debhelper to be specified as a build dependency. Same note as for --depends applies here - use only when needed. =item B<--bdependsi> I 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. =item B<--build> Builds the binary package (i.e. the .deb file) after setting the package directory 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. =item B<--build-source> Builds the source package (i.e. the .dsc and .debian.tar.gz files) after setting the package directory up. 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. =item B<--closes> I Manually specify the ITP bug number that this package closes. If not given, B will try to connect to bugs.debian.org to fetch the appropriate bug number, using WWW::Mechanize. =item B<--core-ok> Allows building core Perl modules. By default, B will not allow building a module that is shipped as part of the standard Perl library; by specifying this option, B 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 ;-) =item B<--cpan> I|I Instructs B to fetch and extract the given CPAN module or distribution. Works both with C and C. =item B<--cpan-mirror> I Specifies a CPAN site to use as mirror. =item B<--data-dir> I Use another data directory, instead of the default, C Data directory is were B looks for its default rules.* templates. It is similar to B<--home-dir>, but does not change the location of the APT Contents cache file. If both are given, B<--home-dir> takes precedence. =item B<--depends> I Manually specify the string to be used for the module's dependencies. This should be used when building modules where B cannot guess the Perl dependencies (such as modules built using L), or when the Perl code depends on non-Perl binaries or libraries. Usually, B will figure out the dependencies by itself. If you need to pass B dependency information, you must do it using the debian package format. i.e. dh-make-perl --depends libtest-more-perl =item B<--desc> I Uses the argument to --desc as short description for the package. =item B<--dh> I Set desired debhelper compatibility level. The default is 8 for architecture-independent packages, and 9 for architecture-dependent packages (XS). Since version 0.77, B only supports debhelper compatibility levels B<< >=8 >>. See L. =item B<--dist> I Limit the distributions whose C files are parsed. The argument is a distribution name. Default: empty, meaning no filtering. Example: dh-make-perl --dist etch =item B<--email> | B<-e> I Manually specify the Maintainer email address to use in debian/control and in debian/changelog. =item B<--exclude> | B<-i> [I] 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. =item B<--install> Installs the freshly built package. Specifying --install implies --build - The package will not be installed unless it was built (obviously ;-) ) =item B<--intrusive> When determining module dependencies, if L fails, tries again with L. M:D:I loads all .pm files, intercepting loading of other modules, effectively running untrusted code on your behalf. Use with caution. =item B<--network> Enables querying of Debian WNPP lists for ITP and similar bugs. Enabled by default, use C<--no-network> to disable. =item B<--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. =item B<--home-dir> I Where APT Contents and other caches are stored. Default: ~/.dh-make-perl =item B<--packagename> | B<-p> I Manually specify the Package Name, useful when the module has dashes in its name. =item B<--pkg-perl> Useful when preparing a package for the Debian Perl Group L. Sets C, C, C and C fields in F accordingly. Also, when C<--vcs git> is used (the default), sets up a Git remote pointing to the right place on I. =item B<--recursive> Valid only in L mode with L or I arguments. Causes dh-make-perl to try to create packaging (and possibly build and install the packages if L and L options are also given) for any dependencies which are missing packages. This works like this: when the 'main' package is constructed, any missing packages are put in a list, and then the debianisaion procedure is run in turn on each of them, recursively. =item B<--requiredeps> Fail if a dependency Perl package was not found (dependency tracking requires the apt-file package installed and updated) =item B<--source-format> I When creating or refreshing packaging, use the specified source format. Defaults to C<3.0 (quilt)>. =item B<--sources-list> I Instruct the C file parser to use this B when determining if a given file should be parsed or not. Contents files not matching any line in B are not parsed in order to save you time parsing old files from mirrors you no longer use. Default: apt's default. =item B<--vcs> I In B<--pkg-perl> mode, use the specified version control system in the generated I fields. The default is C. If I is C, C will setup a Git repository with three branches: =over =item upstream The initial branch containing upstream sources =item master The branch where packaging is done, forked off C and with the contents of the C directory added. =item pristine-tar A branch to keep L data. =back If B<--pkg-perl> is also given, an C remote is added pointing to the repository on I. =item B<--verbose> | B<--no-verbose> Print additional information while processing. --verbose is on by default in L mode, off otherwise. =item B<--version> I Specifies the version of the resulting package. =back =head1 FILES The following directories will be searched to find additional files required by B: /usr/share/dh-make-perl/ $HOME/.dh-make-perl/ =over 4 =item * dh-make-perl.conf User configuration. The file is in YAML format. The keys are option names, as documented in L (without leading I<-->). See the output of C, which can also be used for population of F. =back =head1 ENVIRONMENT HOME - get user's home directory DEBFULLNAME - get the real name of the maintainer LOGNAME or USER - get the username DEBEMAIL or EMAIL - get the email address of the user =head1 BUGS Several, let me know when you find them. =head1 AUTHOR Paolo Molaro Elupus@debian.orgE (MIA) Maintained for a time by Ivan Kohler Eivan-debian@420.amE. Maintained for a time by Marc Brockschmdit Emarc@dch-faq.deE. Maintained for a time by Gunnar Wolf Egwolf@gwolf.orgE. Now team-maintained by the Debian Perl Group, http://alioth.debian.org/projects/pkg-perl. Patches from: =over =item Adam Sjoegren Easjo@koldfront.dkE =item Adrian Phillips Eadrianp@powertech.noE =item Amos Shapira Eamos.shapira@gmail.comE =item Ansgar Burchardt Eansgar@debian.orgE =item Axel Beckert Eabe@debian.orgE =item Christian Kurz Eshorty@debian.orgE =item Damyan Ivanov Edivanov@creditreform.bgE =item David Paleino Ed.paleino@gmail.comE =item David Pashley Edavid@davidpashley.comE =item Dima Kogan Edima@secretsauce.netE =item Edward Betts Eedward@debian.orgE =item Fermin Galan Egalan@dit.upm.esE =item Geoff Richards Eqef@ungwe.orgE =item Gergely Nagy Ealgernon@bonehunter.rulez.orgE =item gregor herrmann Egregoa@debian.orgE =item Hilko Bengen Ebengen@debian.orgE =item Kees Cook Ekeex@outflux.netE =item Jesper Krogh Ejesper@krogh.ccE =item Johnny Morano Ejmorano@moretrix.comE =item Juerd Ejuerd@ouranos.juerd.netE =item Marc Chantreux (mail withheld) =item Matt Hope Edopey@debian.orgE =item Matthew Gabeler-Lee Echeetah@fastcat.orgE =item Maximilian Gass Emxey@cloudconnected.orgE =item Noel Maddy Enoel@zhtwn.comE =item Oleg Gashev Eoleg@gashev.netE =item Oliver Gorwits Eoliver.gorwits@oucs.ox.ac.ukE =item Paul Fenwick Epjf@perltraining.com.auE =item Peter Flanigan ESupport@RoxSoft.co.ukE =item Peter Moerch Emn3k66i02@sneakemail.comE =item Peter Pentchev Eroam@ringlet.netE =item Ryan Niebur Eryanryan52@gmail.comE =item Salvatore Bonaccorso Ecarnil@debian.orgE =item Stephen Oberholtzer Eoliverklozoff@gmail.comE =item Tim Retout Ediocles@debian.orgE =item Ton Nijkes Etonn@wau.mis.ah.nlE =back ... And others who, sadly, we have forgot to add :-/ =cut # vim: set ts=8 sw=4 et ft=perl : README000444001750001750 170412234004042 13031 0ustar00damdam000000000000DhMakePerl-0.80GENERAL ======= dh-make-perl helps create Debian packages out of CPAN distributions. It does that by creating the files under the debian/ directory that are needed by Debian tools to create the .deb file. dh-make-perl can also help keep the packaging information current when upstream dependencies etc change without re-creating the debian/ content from scratch. INSTALLATION ============ Since dh-make-perl is only useful on Debian systems, you would probably prefer to simply install the 'dh-make-perl' package. BUGS ETC. ========= Running 'reportbug dh-make-perl' (on a Debian system) is the preferred way of sending bug reports. Failing that, you are free to use the queue on rt.cpan.org, the mailing list or the IRC channel for bug reports. For support, try the #debian-perl IRC channel (irc.debian.org, a.k.a. OFTC) or the debian-perl@lists.debian.org mailing list (no subscription required, but please mention if you want to be CC-ed on replies). HOWTO.release000444001750001750 142312234004042 14411 0ustar00damdam000000000000DhMakePerl-0.80* run make orig this will create ../dh-make-perl_$VERSION.orig.tar.gz and ../DhMakePerl-$VERSION.tar.gz (hardlinked to each other). * build the package as usual and watch for failing tests * apply the usual quality checks, e.g. lintian * make sure Changes is populated for the new release. Good source of changes to include there is debian/changelog and/or git logs (assuming debian/changelog is already updated with the list of changes) * if everything seems ok, run dch -r and build again * upload - ../dh-make-perl_$VERSION.orig.tar.gz to alioth, naming the release $VERSION - ../DhMakePerl-$VERSION.tar.gz to PAUSE, e.g. with cpan-upload * tag debcommit -a -r * push git push origin master debian/$VERSION-1 * serve yourself a piece of cake :) COPYING000444001750001750 4311012234004042 13221 0ustar00damdam000000000000DhMakePerl-0.80 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. Changes000444001750001750 4665712234004042 13504 0ustar00damdam000000000000DhMakePerl-0.800.80 (2013-10-29) [ CSILLAG Tamas ] * add rename_to_debian_package_dir. This will rename the directory name to the canonical name of the debian package. * use system("mv ...") when cross device directory move is expected otherwise just use rename [ Damyan Ivanov ] * FromCPAN/find_debs_for_modules: do not crash when all offerred packages are perl(-(modules|base))? (Closes: #725206) * drop trailing slash from t/Control.t test file [ Salvatore Bonaccorso ] * Create packages with Standards-Version 3.9.5 * Adjust Standards-Version in control files of testsuite 0.79 (2013-08-16) * silence a warning when reporting about a core-satisfied dependency without a version * fix problems with perl 5.18: (Debian #719829) + fix missing =back in Debian::Control::Stanza::CommaSeparated POD + sort a couple of hash key walks breaking tests with perl 5.18 * remove the trailing slash from ustream/watch URLs * drop usage of experimental given/when in Packaging.pm * rework --only internal representation to be a hash * t/dists.t: rework running dh-make-perl and give all diagnostics when a test fails * fix specoial handling of changed copyright years * make dh-make-perl report its version on every invocation 0.78 (2013-08-09) add $VERSION to all modules use strict; use warnings; everywhere also ensure this doesn't change via t/critic.t fix a bunch of typos thanks to Test::Spelling 0.77 (2013-08-08) [ Salvatore Bonaccorso ] * Bump version for DhMakePerl to 0.77 * Bump Standards-Version to 3.9.4 * Create packages with Standards-Version 3.9.4. Adjust default Standards-Versions in DhMakePerl::Command::Packaging to 3.9.4. Bump Standards-Version in debian/control for tests to 3.9.4. * Use metacpan.org instead of search.cpan.org. Use https://metacpan.org instead of http://search.cpan.org in debian/watch, debian/copyright and debian/control files. Adjust the test files using https://metacpan.org. * Change Vcs-Git to canonical URI (git://anonscm.debian.org) * Use anonscm.debian.org for source location in debian/copyright * Create Vcs-Git with canonical URI (git://anonscm.debian.org) (Closes: #697876) [ Damyan Ivanov ] * add test about handling user:pass@ in sources.list URLs [ gregor herrmann ] * DhMakePerl::Command::Packaging: honour command line options for packagename/version in extract_name_ver. [ Nathan Handler ] * Email change: nhandler -> nhandler@debian.org [ Dima Kogan ] * Not importing IO::Dir since I'm not using it * better handling of upstream-supplied debian/ directories. If we are making a git repo I now remove debian/ directory if the upstream ships it. This goes into the 'master' branch, so the 'upstream' branch contains the original debian/ directory, and thus matches the pristine-tar [ gregor herrmann ] * DhMakePerl::Command::make: Try to guess tarball name when run from an unpacked source directory. * DhMakePerl::Command::Packaging: Don't sanitize version if given on the command line. * Update years of copyright. * DhMakePerl::Command::Packaging: replace "This library" with the module name in the long description, like we already did with "This module". [ Axel Beckert ] * DhMakePerl::Command::make: Call git_add_debian before build_package and install_package to not add files generated during the package build process to the git repository. * Add patch by Matthew Gabeler-Lee to understand packages named "-vX.Y.Z". (Closes: #701140) * Fix "fatal: pathspec '…' did not match any files" error of "git add". (Closes: #659526) * Add option --build-source to build .dsc file (c.f. #645011). Also add a cpan2dsc 'flavour' of dh-make-perl. If it is called by that name, the behaviour changes for easy .dsc creation. * Mention cpan2deb and cpan2dsc in the long description. * Add myself to Uploaders. [ Oleg Gashev ] * Fixed timestamp regexp to t/dists.t file. If time zone is EDT, failed tests from t/dists.t file: Generated tree matches template. Problem with incorrect timestamp regexp. [ Damyan Ivanov ] * Dependency: assume '>=' relationship if missing when constructing from hash /usr/share/perl5/Debian/Dependency.pm line 157. Thanks to Robert Norris for his patience and his excellent analysis. (Closes: #704480) * exclude README in the root directory from .docs "in 9x% we remove it from .docs afterwards" this change is a bit of a "big gun", because it doesn't really check if README is autogenerated, but hey, fixing a 90% false-positive hit is better than introducing a 10% false-negative hit (Closes: #608936) * drop mangling versions like 2.003004 into 2.3.4 this partially reverts 385451609f5af2ace92c3838133dd4ed2c605608 see there for the reasoning back in 2010 (TODO is interesting) the fix seems to cause more problems than it solves. matching cpan-version to debian version is dark area [ gregor herrmann ] * Fix tests for .docs generation. * Fix tests for version mangling. * debian/control: one 'perl' is enough. Thanks to lintian. [ Damyan Ivanov ] * use dh 9 for arch:any packages to get hardening flags * drop support for debhelper compatibility levels before 8 * drop documentation and support of rules files for dh7 [ Lasse Makholm ] * Debian::AptContents: Fix repo_source_to_contents_paths() to also work on Ubuntu. Make sure to generate paths both with and without components to be compatible with both old and new apt-file versions. (LP: #1034881) [ Damyan Ivanov ] * use Text::Balanced's extract_quotelike for parsing quoted strings (Closes: #717025) * do not fail AptContents.t with left over Contents.cache present * Control: revert ->binary to plain hashref and provide the Tie::IxHash tie via ->binary_tie (Closes: #712432) * configure_cpan: save/restore the CWD * make: when neither --cpan or a tarball is given, also try to use debian-named .orig.tar.gz * make: skip pristine-tar if there is no known tarball (Closes: #689476) * FromCPAN: catch in-core dependencies that require too new perl and provide an out-of-core alternative (Closes: #691534) * move mod_cpan_version from ::make to ::Packaging (Closes: #691859) * make: warn if pkg-perl already has a packaging repository for the package (Closes: #702456) * switch default debhelper to 9 * packages build-depending on Module::Build::Tiny get debhelper 9.20130630 * bump oldstable perl version from 5.10.0 to 5.10.1 * make: prune dependencies after discovering additional dependencies * do not fail when $wnpp_query is not supplied due to --no-network * Makefile: defer {real,dist}clean to ./Build * add .pc and Contents.cache to MANIFEST.SKIP * rework dists.t using IPC::Run * supply data about libmodule-build-tiny-perl in test Contents 0.76 (2012-09-12) [ Salvatore Bonaccorso ] * Update debian/copyright file. Update format to the copyright-format 1.0 released with Debian policy 3.9.3. Adjust Source location for dh-make-perl to point to the git repository. Update copyright years for debian/* packaging. * Create debian/copyright with copyright-format 1.0 debian/copyright files are created following the copyright-format 1.0 released with Standards-Version 3.9.3. * Adjust test files to copyright-format 1.0 * Bump Standards-Version to 3.9.3 * Create packages with Standards-Version 3.9.3. Adjust control files in t/dists test-files. [ Per Carlson ] * License attribute from META file is array. (Closes: #664150) [ gregor herrmann ] * DhMakePerl::Config: mark cpan option as explicitly set when called as cpan2deb. Avoids overriding by having a cpan key in ~/.dh-make-perl /.dh-make-perl.conf. Thanks to Brendan Byrd for the bug report. (Closes: #668084) * debian/control: update {versioned,alternative} (build) dependencies. [ Damyan Ivanov ] * create_watch: allow single-digit-only versions. Thanks to Kevin Ryde for the report and the proposed fix (Closes: #657249) * D:C:FromCPAN/find_debs_for_modules: search core first otherwise we get 'perl-modules (>= 2.21)' when requiring ExtUtils::ParseXS 2.21 * bump copyright years * configure_cpan: ignore prerequisites to avoid unnecessary prompts * setup_dir: ignore $dist->get return value. POD says nothing about it, so false doesn't indicate failure. false is sometimes returned when some prerequisites aren't satisfied, which is not important for us. (Closes: #686739) * honour --arch option. Use it if given and skip automatic scan for XS code. (Closes: #668642) 0.75 (2012-01-15) [ Damyan Ivanov ] * setup Git repository in --vcs=git even without --pkg-perl * when setting up Git repository, add 'origin' remote only in --pkg-perl mode * fail gracefuly if pristine-tar is not available * add libfile-which-perl to (build-)dependencies * fix typo in --pristine-tar description * Apply patch from Dima Kogan, avoiding confusion when the version string is not quoted (RT#71224) * META: + add explicit configure_requires on Module::Build + add repository URL + add keywords * when warning about missing apt-file, state the minimum required version [ gregor herrmann ] * Swap order of alternative (build) dependencies after the perl 5.14 transition. * DhMakePerl/Command/make.pm: setup_dir(): change back to original directory after CPAN.pm changes it; thanks to Dima Kogan (cf. RT#71708). * Fix POD: --pkg-perl sets Vcs-Git, of course. * Treat META.json like META.yml (i.e. rm/unlink/ignore it). * DhMakePerl::Command::Packaging: don't initialize CPAN if --no-network is set. Otherwise t/cache.t fails because CPAN tries to update its config and goes out hunting for CPAN mirrors. * t/dists.t: allow multiple years in Copyright line. "refresh" adds the current year to the years of copyright. In other words: This was a "New Year's Bug". * t/dists: fix the regexp for matching the email address of our maintainer. * DhMakePerl::Command::Packaging: don't initialize CPAN if --no-network is set. * Treat META.json like META.yml (i.e. rm/unlink/ignore it). [ Dima Kogan ] * When making recursively, build/install this package only AFTER its dependencies have been built/installed * find_debs_for_modules() no longer reports installed-but-not-in-aptfile packages as missing * when installing a package, $arch now comes from the control file (Closes Debian bug #651343) 0.74 (2011-09-12) [ Tim Retout ] * t/cache.t: New test for handling unreadable cache files. * Debian::WNPP::Query: return an empty hashref rather than undef after failing to read cache file. * DhMakePerl::Config: Change default source format to 3.0 (quilt). [ Damyan Ivanov ] * Packaging.pm: extend the examples regular expression to match demo/demos. Thanks to Kevin Ryde. Closes Debian bug #634932 * add pristine-tar to Recommends. Thanks to Tim. * fix t/debian-version.t to not plan twice in case debian/changelog does not exist (e.g. when testing the CPAN distribution, which lacks debian/ stuff) RT#66214 * setup_git_repository: streamline import of upstream sources [ gregor herrmann ] * Update created Vcs-Browser URLs for Debian Perl Group repositories. * Change URLs for DEP5 Format-Specification to point to http://anonscm.debian.org. * Update list of contributors/copyright holders in dh-make-perl and debian/copyright. [ Ansgar Burchardt ] * debian/control: Convert Vcs-* fields to Git. * DhMakePerl::Config: Change default VCS to Git. [ Salvatore Bonaccorso ] * Debian::AptContents: Fix typo in POD. [ Maximilian Gass ] * Fix Debian::AptContents for file name changes in apt-file 2.5.0 0.73 (2011-07-03) [ gregor herrmann ] Add missing modules to Build.PL. Update copyright notices. Debian::Control::Stanza::Source: add XS-Autobuild field; mention all fields in POD, and sort list. [ Salvatore Bonaccorso ] create packages with Standards-Version 3.9.2. Bump Standards-Version to 3.9.2. Debian::Control::Stanza::Source: Add DM-Upload-Allowed field to supported fields for source stanza in debian/control. * Debian::Control::Stanza::Source: Order fields similar to dh_make generated templates. [ Nicholas Bamber ] * Updated authorship notice [ Damyan Ivanov ] * Add --vcs option, guiding VCS-* headers' creation in --pkg-perl mode. It also helps with the initial repository creation for Git * Do not die when the WNPP cache cannot be read, for example due to binary format change in Storable. Also, use platform-independent storage. Closes: #626987 - dh-make-perl: Debian::WNPP::Query does not correctly invalidate cache or use platform-netural Storable format * bump default debhelper compatibility level to 8 * note oldstable has perl 5.10.0, not 5.8.8 * apply a patch from Manfred Stock fixing AptContents not to miss alternative dependencies when a given module is found in more than one package. Closes: #622852 * Use CPAN::Meta for processing META.* files, adding support for META.json. * When no META file is available, try parsing name and version from Build.PL before Makefile.PL. Closes: #589946 * fix calls to extract_basic_copyright from File::Find::find to not chdir, fixing lookups for ./LICENSE, etc on refresh. Closes: #613606 -- Fails to correctly identify GPLv2 in RT::Authen::ExternalAuth v0.08 on refresh 0.72 (2011-02-05) [ Nicholas Bamber ] Added logic to parse special email change directives in the changelog so that the refresh command respects email changes. Debian bug #609409 Changed regular expression in t/dists.t to allow .svn not ending in / Various fixes for t/dists.t: - Added fix for .svn at the end of a filename rather than the middle - Second /dev/null check was attempting to diff an undefined value - Setting PERL5LIB (unsatisfactory work around for system(dh-make-perl) ) 0.71 (2010-12-28) [ Ansgar Burchardt ] DhMakePerl::Command::Packaging: Refer to "Debian systems" instead of "Debian GNU/Linux systems" in generated debian/copyright. [ Salvatore Bonaccorso ] Improve regular expression to not match fields in Makefile.PL as MIN_PERL_VERSION to determine the version of the package. Thanks to Andrew Ruthven for reporting. Debian bug #596025 Update my email address. [ gregor herrmann ] Debian::Control::FromCPAN: also check test_requires and build_requires for finding build dependencies Debian bug #601787 [ Peter Pentchev ] My::Builder: fix a typo (raname -> rename). t/AptContents.t: fix a typo (fund -> found). [ Damyan Ivanov ] when looking for XS code, skip win32/ directories Skip non-existing APT source files Debian bug #557961 Detect usage of 'Artistic License 2.0' and include the license text in debian/copyright; require Software::License (Closes: #589816) Clarify documentation about --cpan argument being module name Debian bug #602059 Support distribution names as arguments to --cpan Debian bug #607998 Fix tests to stringify when comparing overloaded objects with strings Control::Stanza: split dependency lists one package per line in order to make changes more VCS-friendly 0.70 (2010-07-28) [ Salvatore Bonaccorso ] dh --buildsystem=buildsystem needs at least debhelper (>= 7.3.7), add this rule to DhMakePerl::Command::Packaging. Bump versioned Build-Depends on debhelper to (>= 7.3.7) as needed for --buildsystem. [ Damyan Ivanov ] Packaging.pm: fix a lexical declaration within a conditional statement 0.69 (2010-07-26) [ Damyan Ivanov ] die early if unable to determine distribution name or version. Debian bug #525847 spelling fixes in POD and comments [ Ansgar Burchardt ] Do not require --cpan in addition to --pkg-perl when adding Vcs-* fields. Debian::Dependency: Recognize deprecated '<' and '>' relations. Debian::Dependency: Allow architecture restrictions in dependencies. For now this information is just ignored. DhMakePerl::Command::Packaging (set_package_name): Use package name specified by --packagename option. (Debian bug #584619) dh-make-perl: Fix spelling error ("intercepring" → "intercepting"). Debian::WNPP::Query: Fix bugs_for_package method. Debian::Control::FromCPAN (discover_dependencies): Do not ignore results from Module::Depends::Intrusive. (Debian bug #587276) [ Salvatore Bonaccorso ] Add support of Breaks field for binary package stanzas in debian/control to Debian::Control::Stanza::Binary. Create packages with Standards-Version: 3.9.1. Fix sentences in texts for License stanzas of debian/copyright: Add full stop mark after sentences. Add explicit Link to versioned `/usr/share/common-licenses/GPL-1' as this was added by base-files 5.8 (See debian bug #436105). Fix debian/copyright text templates in t/dist/Strange-0.1 and t/dist/Strange-2.1. Add support for perl_dbi addon for dh. Build-Depends only on perl when Build.PL and Module::Build is used, instead of an alternate Build-Depends on perl (>= 5.10) | libmodule-build-perl. This is as support for Etch is now discontinued and Lenny already contains perl (>= 5.10) (Debian bug #590114). [ Chris Butler ] Fixed DhMakePerl::Utils to cope with modules in Module::CoreList where the version is unspecified. (Debian bug #585755) 0.68 (2010-05-04) Build.PL: add no_index as an attempt to avoid PAUSE indexing private stuff My::Builder: 'orig' target now creates identical (hard-linked) DhMakePerl-VERSION.tar.gz and dh-make-perl_VERSION.orig.tar.gz files My::Builder: streamline messages in the 'dist' and 'orig' actions Control.t: ensure dependency fields are wrapped properly make: fix a typo (DpkgList -> DpkgLists). Thanks to Dominic Hargreaves Debian bug #580101 modules_already_packaged: fix ModuleInfo instantiation Config: honour values given to the constructor DpkgLists.t: do not insist that '/bin/perl' (or the corresponding regex) is only in perl-base. Instead, ensure that 'perl-base' is present in the returned list. Debian bug #580025 make: drop $VERSION; some POD rewrite (was a blind copy of DhMakePerl.pm) 0.67 POD: drop "--" in front of the commands. refresh: ensure ->rules is there before attempting to fiddle quilt integration Add support for version relations in META Debian::Dependency now survives being given a string with leading spaces make: implement recursive making of missing dependencies when --recursive is given. (Debian bug #342751) FromCPAN: remove leading 'v' from versions add Debian::DpkgLists - 'dpkg -S' on steroids FromCPAN: use Debian::DpkgLists as a last resort. This allows finding dependencies that are present in locally-installed packages. (Debian bug #478781) Dependency: the 'ver' member is an instance of Dpkg::Version Use its ability to compare and drop Debian::Version Dependenc{y,ies}: reduce '--' to '-' in the NAME POD section make: try harder to discover already existing package by looking up distribution modules in APT contents and dpkg file lists. replace CPAN::Config->load with CPAN:Handle::Config->load the former seems obsolete and only warns: Dispatching deprecated method 'CPAN::Config::load' to CPAN::HandleConfig added README added xt/pod-spelling.t to help test POD spelling META.yml000444001750001750 703512234004042 13425 0ustar00damdam000000000000DhMakePerl-0.80--- abstract: 'create Debian source package from CPAN dist' author: - unknown build_requires: File::DirCompare: 0 File::Touch: 0 IPC::Run: 0 Test::Compile: 0 Test::Deep: 0 Test::Differences: 0 Test::Exception: 0 Test::More: 0 configure_requires: Module::Build: 0.38 dynamic_config: 1 generated_by: 'Module::Build version 0.4007, CPAN::Meta::Converter version 2.132830' keywords: - debian - package - helper license: open_source meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html version: 1.4 name: DhMakePerl no_index: directory: - privinc - t - xt - share provides: Debian::AptContents: file: lib/Debian/AptContents.pm version: 0.77 Debian::Control: file: lib/Debian/Control.pm version: 0.77 Debian::Control::FromCPAN: file: lib/Debian/Control/FromCPAN.pm version: 0.77 Debian::Control::Stanza: file: lib/Debian/Control/Stanza.pm version: 0.71 Debian::Control::Stanza::Binary: file: lib/Debian/Control/Stanza/Binary.pm version: 0.77 Debian::Control::Stanza::CommaSeparated: file: lib/Debian/Control/Stanza/CommaSeparated.pm version: 0.66 Debian::Control::Stanza::Source: file: lib/Debian/Control/Stanza/Source.pm version: 0.73 Debian::Dependencies: file: lib/Debian/Dependencies.pm version: 0.67 Debian::Dependency: file: lib/Debian/Dependency.pm version: 0.77 Debian::DpkgLists: file: lib/Debian/DpkgLists.pm version: 0.71 Debian::Rules: file: lib/Debian/Rules.pm version: 0.66 Debian::WNPP::Bug: file: lib/Debian/WNPP/Bug.pm version: 0.64 Debian::WNPP::Query: file: lib/Debian/WNPP/Query.pm version: 0.74 DhMakePerl: file: lib/DhMakePerl.pm version: 0.80 DhMakePerl::Command::Packaging: file: lib/DhMakePerl/Command/Packaging.pm version: 0.77 DhMakePerl::Command::dump_config: file: lib/DhMakePerl/Command/dump_config.pm version: 0.65 DhMakePerl::Command::help: file: lib/DhMakePerl/Command/help.pm version: 0.65 DhMakePerl::Command::locate: file: lib/DhMakePerl/Command/locate.pm version: 0.66 DhMakePerl::Command::make: file: lib/DhMakePerl/Command/make.pm version: 0.77 DhMakePerl::Command::refresh: file: lib/DhMakePerl/Command/refresh.pm version: 0.77 DhMakePerl::Command::refresh_cache: file: lib/DhMakePerl/Command/refresh_cache.pm version: 0.65 DhMakePerl::Config: file: lib/DhMakePerl/Config.pm version: 0.77 DhMakePerl::PodParser: file: lib/DhMakePerl/PodParser.pm version: 0.51 DhMakePerl::Utils: file: lib/DhMakePerl/Utils.pm version: 0.71 recommends: Git: 0 IO::Dir: 0 requires: AptPkg::Cache: 0 AptPkg::Config: 0 Array::Unique: 0 CPAN: 0 CPAN::Meta: 0 Carp: 0 Cwd: 0 Dpkg: 0 Dpkg::Source::Package: 0 Email::Address: 0 Email::Date::Format: 0 File::Basename: 0 File::Copy: 0 File::Find::Rule: 0 File::Spec: 0 File::Spec::Functions: 0 File::Which: 0 FindBin: 0 Getopt::Long: 0 IO::File: 0 IO::Uncompress::Gunzip: 0 List::MoreUtils: 0 Module::Build: 0 Module::CoreList: 0 Module::Depends: 0 Module::Depends::Intrusive: 0 Parse::DebControl: 0 Parse::DebianChangelog: 0 Software::License::Artistic_2_0: 0 Storable: 0 Text::Diff: 0 Text::Wrap: 0 Tie::File: 0 Tie::IxHash: 0 User::pwent: 0 WWW::Mechanize: 0 YAML: 0 perl: 5.010 version: 0 resources: license: http://www.gnu.org/licenses/old-licenses/gpl-1.0.txt repository: http://anonscm.debian.org/gitweb/?p=pkg-perl/packages/dh-make-perl.git version: 0.80 TODO000444001750001750 536212234004042 12645 0ustar00damdam000000000000DhMakePerl-0.80* when ITP for the package is found, try to deduce short/long description from the bug report * --refresh: add --only option: done, but "--only control" also touches d/rules if quilt is used * versioned dependencies should add the epochs too (found in libpoex-role-sessioninstantiation-perl, where META.yml and Build.PL request 'POE 1.005' which should translate to "libpoe-perl (>= 2:1.0050)") Can be solved if the next item is solved: * META.yml should not be used to extract information: it may contains data that are relevant for other systems (e.g. Windows, Mac...). Running Makefile.PL (or equivalent) will create a MYMETA.yml which contains more accurate information. (e.g. will not list dependencies valid only for windows) See #668638 * #536838: Incorrect assumptions about perl module version -> debian package version. Some way of figuring out that libfoo-perl 3.42 contains Bar::Baz 4.23 is needed. while not common, version discrepacy is very annoying. TODO: investigate usage of UDD. (1) can the info "package version module module-version" be imported and (2) would it be possible to query that from the web somehow, i.e. "which package+version contain at least module+module-version?". Two problems: (a) dh-make-perl querying the web about each dependency seems not quite right. Requests should be batched. One request per dh-make-perl run is better. Is it good enough? (b) will all this be enough? Given that perl module versions compare differently to debian package versions, the result can still be wrong. The same question holds with core packages, but perhaps they behave beter wrt (not) changing versioning scheme. * Add a test case for finding (build) dependencies with META.yml. * Really minor issue. The AptContents.t test can be thrown off if the contents directory has stuff lying around from a failed run. ~periapt * Add a switch for "app" (foo-bar) vs. "lib" (libfoo-bar-perl) packages? * debhelper: (5) there's still quite some special casing of debhelper versions 7.* in lib/DhMakePerl/Command/Packaging.pm (code + POD), like Module::AutoInstall, dh --with foo, etc. which can all be dropped with dh >= 8 * upstream git: add remote and git fetch/merge * At the end, rename the extracted directory from Perl Distribution style (Foo-Bar-$VERSION) to Debian Package style (libfoo-bar-perl), otherwise debuild barfs: debuild: found debian/changelog for package libfoo-bar-perl in the directory /home/…/pkg-perl/Foo-Bar-$VERSION but this directory name does not match the package name according to the regex PACKAGE(-.+)?. To run debuild on this package, see the --check-dirname-level and --check-dirname-regex options; run debuild --help for more info. MANIFEST.SKIP000444001750001750 21412234004042 14022 0ustar00damdam000000000000DhMakePerl-0.80^debian/ \.git \.svn ^_build ^blib ^Build$ MANIFEST.bak ^DhMakePerl-.*\.tar\.gz$ ^MYMETA.yml$ ^MYMETA\.json$ \.pc t/contents/Contents.cache t000755001750001750 012234004042 12255 5ustar00damdam000000000000DhMakePerl-0.80extract_name_ver_from_makefile.t000555001750001750 103312234004042 21005 0ustar00damdam000000000000DhMakePerl-0.80/t#!/usr/bin/perl -w use strict; use Test::More 'no_plan'; use FindBin qw($Bin); use DhMakePerl::Command::make; use DhMakePerl::Config; my $maker = DhMakePerl::Command::make->new( { cfg => DhMakePerl::Config->new } ); eval { $maker->extract_name_ver_from_makefile("$Bin/makefiles/module-install-autodie.PL"); }; is($@, "", "Calling extract_name_ver_from_makefile should not die on legit file"); is($maker->perlname, "autodie", "Module name should be autodie"); is($maker->version, "1.994", "Module version should be 1.994"); CommaSeparated.t000444001750001750 160512234004042 15466 0ustar00damdam000000000000DhMakePerl-0.80/t#!/usr/bin/perl -w use strict; use warnings; use Test::More tests => 7; use Test::Exception; use Test::Differences; use Debian::Control::Stanza::CommaSeparated; my $s = Debian::Control::Stanza::CommaSeparated->new('foo bar, "one, two", three'); is_deeply( [@$s], [ 'foo bar', '"one, two"', 'three' ], 'constructor parses ok' ); $s->add("three"); is( scalar(@$s), 3, 'ignores duplicates' ); $s->add('"smith, agent" , five'); is( scalar(@$s), 5, 'add splits correctly' ); is( $s->[3], '"smith, agent" ', 'add honours quotes' ); is( $s->[4], 'five', 'fifth is five' ); $s->sort; is_deeply( [@$s], [ '"one, two"', '"smith, agent" ', 'five', 'foo bar', 'three', ], 'sort works' ); is( "$s", '"one, two", "smith, agent" , five, foo bar, three', "stringification works" ); AptContents.t000555001750001750 1243712234004042 15073 0ustar00damdam000000000000DhMakePerl-0.80/t#!/usr/bin/perl -w use strict; use warnings; use Test::More tests => 26; BEGIN { use_ok 'Debian::AptContents'; }; use FindBin qw($Bin); use File::Touch qw(touch); unlink("$Bin/Contents.cache"); sub instance { Debian::AptContents->new({ homedir => $Bin, contents_dir => "$Bin/contents", verbose => 0, sources => "$Bin/contents/sources.list", @_, }); } eval { Debian::AptContents->new() }; ok( $@, 'AptContents->new with no homedir dies' ); like( $@, qr/No homedir given/, 'should say why it died' ); my $apt_contents = instance( contents_dir => 'non-existent' ); isnt( $apt_contents, undef, 'should create with no contents' ); is( $apt_contents->cache, undef, 'but should contain no cache' ); is( $apt_contents->cache, undef, 'should have no cache when no dists found' ); is_deeply( [ $apt_contents->repo_source_to_contents_paths( 'deb http://debian.cihar.com/ unstable main contrib non-free') ], [ 'debian.cihar.com_dists_unstable_main', 'debian.cihar.com_dists_unstable_contrib', 'debian.cihar.com_dists_unstable_non-free', 'debian.cihar.com_dists_unstable' ], 'source line conversion 1', ); is_deeply( [ $apt_contents->repo_source_to_contents_paths( 'deb http://kernel-archive.buildserver.net/debian-kernel trunk main') ], [ 'kernel-archive.buildserver.net_debian-kernel_dists_trunk_main', 'kernel-archive.buildserver.net_debian-kernel_dists_trunk' ], 'source line conversion 2', ); is_deeply( [ $apt_contents->repo_source_to_contents_paths( 'deb http://www.debian-multimedia.org stable main') ], [ 'www.debian-multimedia.org_dists_stable_main', 'www.debian-multimedia.org_dists_stable' ], 'source line conversion 3', ); is_deeply( [ $apt_contents->repo_source_to_contents_paths( 'deb http://ftp.debian-unofficial.org/debian testing main contrib non-free restricted') ], [ 'ftp.debian-unofficial.org_debian_dists_testing_main', 'ftp.debian-unofficial.org_debian_dists_testing_contrib', 'ftp.debian-unofficial.org_debian_dists_testing_non-free', 'ftp.debian-unofficial.org_debian_dists_testing_restricted', 'ftp.debian-unofficial.org_debian_dists_testing' ], 'source line conversion 4', ); is_deeply( [ $apt_contents->repo_source_to_contents_paths( 'deb http://ftp.de.debian.org/debian/ unstable main contrib non-free') ], [ 'ftp.de.debian.org_debian_dists_unstable_main', 'ftp.de.debian.org_debian_dists_unstable_contrib', 'ftp.de.debian.org_debian_dists_unstable_non-free', 'ftp.de.debian.org_debian_dists_unstable' ], 'source line conversion 5', ); is_deeply( [ $apt_contents->repo_source_to_contents_paths( 'deb http://user:pass@ftp2.de.debian.org/debian/ squeeze main contrib non-free' ) ], [ 'ftp2.de.debian.org_debian_dists_squeeze_main', 'ftp2.de.debian.org_debian_dists_squeeze_contrib', 'ftp2.de.debian.org_debian_dists_squeeze_non-free', 'ftp2.de.debian.org_debian_dists_squeeze', ], 'source lines with user:pass@', ); is_deeply( [ $apt_contents->repo_source_to_contents_paths( 'deb file:/home/jason/debian stable main contrib non-free') ], [ '_home_jason_debian_dists_stable_main', '_home_jason_debian_dists_stable_contrib', '_home_jason_debian_dists_stable_non-free', '_home_jason_debian_dists_stable' ], 'source line conversion 6', ); $apt_contents = instance(); is_deeply( $apt_contents->contents_files, [ sort grep { !/Contents.cache/} glob "$Bin/contents/*Contents*" ], 'contents in a dir' ); ok( -f "$Bin/Contents.cache", 'Contents.cache created' ); is( $apt_contents->source, 'parsed files', 'no cache was used' ); $apt_contents = instance(); is( $apt_contents->source, 'cache', 'cache was used' ); sleep(1); # allow the clock to tick so the timestamp actually differs touch( glob "$Bin/contents/*Contents*" ); $apt_contents = instance(); is( $apt_contents->source, 'parsed files', 'cache updated' ); is_deeply( [ $apt_contents->find_file_packages('Moose.pm')], [ 'libmoose-perl' ], 'Moose found by find_file_packages' ); is( $apt_contents->find_perl_module_package('Moose') . '', 'libmoose-perl', 'Moose found by module name' ); is_deeply( $apt_contents->get_contents_files, [ "$Bin/contents/test_debian_dists_sid_main_Contents", "$Bin/contents/test_debian_dists_testing_main_Contents" ] ); is_deeply( [ $apt_contents->find_file_packages('GD.pm') ], [ 'libgd-gd2-noxpm-perl', 'libgd-gd2-perl' ], "GD.pm is in libdg-gd2[-noxpm]-perl" ); is( $apt_contents->find_perl_module_package('GD') . '', 'libgd-gd2-noxpm-perl | libgd-gd2-perl', 'Alternative dependency for module found in multiple packages' ); is_deeply( [ $apt_contents->find_file_packages('Image/Magick.pm') ], [ 'perlmagick', 'graphicsmagick-libmagick-dev-compat' ], "Image/Magick.pm in perlmagick and graphicsmagick-libmagick-dev-compat, but different paths" ); is( $apt_contents->find_perl_module_package('Image::Magick') . '', 'graphicsmagick-libmagick-dev-compat | perlmagick', 'Alternative dependency for Image::Magick module found in multiple packages' ); ok( unlink "$Bin/Contents.cache", 'Contents.cache unlnked' ); debian-version.t000444001750001750 104212234004042 15501 0ustar00damdam000000000000DhMakePerl-0.80/t#!perl -T use Test::More; use DhMakePerl; use FindBin qw($Bin); use Parse::DebianChangelog; plan skip_all => "'no 'debian/changelog' found" unless -f "$Bin/../debian/changelog"; plan tests => 1; my $cl = Parse::DebianChangelog->init->parse( { infile => "$Bin/../debian/changelog" } ); my $pkg_ver = $cl->data( { count => 1 } )->[0]->{Version}; $pkg_ver =~ s/~.+//; # ignore !foo suffix $pkg_ver =~ s/-[^-]+$//; # ignore debian revision is( $pkg_ver, $DhMakePerl::VERSION, 'Debian package version matches module version' ); corelist.t000555001750001750 66212234004042 14412 0ustar00damdam000000000000DhMakePerl-0.80/t#!/usr/bin/perl -w use strict; use warnings; use Test::More tests => 7; use DhMakePerl::Utils qw(is_core_module); use Config; use File::Find::Rule; # Check to see if our module list contains some obvious candidates. foreach my $module ( qw(Fatal File::Copy FindBin CGI IO::Handle Safe) ) { ok(is_core_module($module), "$module should be a core module"); } ok( !is_core_module('Foo::Bar'), 'Foo::Bar is not a core module' ); perl-deps.t000555001750001750 276212234004042 14504 0ustar00damdam000000000000DhMakePerl-0.80/t#!/usr/bin/perl -w use strict; use warnings; use Test::More tests => 12; use Test::Exception; BEGIN { use_ok('Debian::Control::FromCPAN'); use_ok('Debian::Dependency'); }; my $ctl = 'Debian::Control::FromCPAN'; my $dep = 'Debian::Dependency'; dies_ok { $ctl->prune_simple_perl_dep( $dep->new('perl|perl-modules') ) } 'prune_simple_perl_dep croaks on alternatives'; is( $ctl->prune_perl_dep( $dep->new('perl-modules (>= 5.12)') ) . '', 'perl (>= 5.12)', 'perl-modules is converted to perl' ); is( $ctl->prune_perl_dep( $dep->new('perl-modules (>= 5.12)|foo') ) . '', 'perl (>= 5.12) | foo', 'perl-modules is converted to perl in alternatives' ); is( $ctl->prune_perl_dep( $dep->new('perl-base') ), undef, 'plain dependency on perl-base is redundant' ); is( $ctl->prune_perl_dep( $dep->new('perl'), 1 ) . '', 'perl', 'perl is not build-essential' ); is( $ctl->prune_perl_dep( $dep->new('perl-modules'), 1 ) . '', 'perl', 'perl-modules is not build-essential' ); is( $ctl->prune_perl_dep( $dep->new('foo|perl-modules') ), undef, 'redundant alternative makes redundand the whole' ); is( $ctl->prune_perl_dep( $dep->new('perl (>= 5.10.0)') ), undef, 'perl 5.10.0 is ancient' ); is( $ctl->prune_perl_dep( $dep->new('perl (= 5.10.0)') ) . '', 'perl (= 5.10.0)', 'perl =5.10.0 is left intact' ); is( ( $ctl->find_debs_for_modules( { 'ExtUtils::ParseXS' => '2.21' } ) )[0] . '', 'perl (>= 5.11.1)', 'ExtUtils::ParseXS 2.21 is in perl 5.11.1' ); pod.t000444001750001750 35012234004042 13337 0ustar00damdam000000000000DhMakePerl-0.80/t#!perl -T use strict; use warnings; use Test::More; # Ensure a recent version of Test::Pod my $min_tp = 1.22; eval "use Test::Pod $min_tp"; plan skip_all => "Test::Pod $min_tp required for testing POD" if $@; all_pod_files_ok(); extract_name_ver.t000555001750001750 131312234004042 16126 0ustar00damdam000000000000DhMakePerl-0.80/t#!/usr/bin/perl -w use strict; use Test::More tests => 5; use DhMakePerl::Command::make; use DhMakePerl::Config; my $maker = DhMakePerl::Command::make->new( { cfg => DhMakePerl::Config->new } ); $maker->meta( { name => 'Foo::Bar', version => 'v1.002003' } ); eval { $maker->extract_name_ver; }; is($@, "", "Calling extract_name_ver should not die"); is($maker->perlname, "Foo-Bar", "Dist name should be Foo-Bar"); is($maker->version, "1.002003", "Dist version should be 1.002003"); $maker->meta( { name => 'Foo::Bar', version => '1.02.00' } ); eval { $maker->extract_name_ver; }; is($@, "", "Calling extract_name_ver should not die"); is($maker->version, "1.02.00", "1.02.00 stays as 1.02.00"); split_version_relation.t000444001750001750 41212234004042 17351 0ustar00damdam000000000000DhMakePerl-0.80/t#!perl -T use Test::More tests => 3; BEGIN { use_ok( 'DhMakePerl::Utils', qw( split_version_relation ) ) }; is_deeply( [ split_version_relation('0.45') ], [ '>=', '0.45' ], ); is_deeply( [ split_version_relation('> 0.56') ], [ '>>', '0.56' ], ); Control.t000444001750001750 1005412234004042 14237 0ustar00damdam000000000000DhMakePerl-0.80/t#!/usr/bin/perl -w use strict; use warnings; use Test::More tests => 22; use Test::Exception; use Test::Differences; BEGIN { use_ok('Debian::Control'); use_ok('Debian::Control::Stanza::Source'); }; my $s; lives_ok { $s = Debian::Control::Stanza::Source->new } 'Source constructs'; lives_ok { $s->Source('foo') } 'Source: set'; my $b; lives_ok { $b = Debian::Control::Stanza::Binary->new } 'Binary constructs'; lives_ok { $b->Package('foo') } 'Package set'; lives_ok { $b->Depends('foo, bar (>= 5)') } 'Depends set'; isa_ok( $b->Depends, 'Debian::Dependencies', 'Depends is an object' ); ok( ( $b->Depends . '' ) eq 'foo, bar (>= 5)', 'Depends stringifies to the same' ); lives_ok { $b = Debian::Control::Stanza::Source->new( { 'Build-Depends' => 'perl', } ) } 'Build-Depens is supported as a field in new()'; ok( $b->Build_Depends eq 'perl', 'and the value is in Build_Depends' ); my $control = <<'EOF'; Source: libtest-compile-perl Section: perl Priority: optional Maintainer: Debian Perl Group Uploaders: Damyan Ivanov , Gregor Herrmann , Gunnar Wolf Build-Depends: debhelper (>= 7), libmodule-build-perl, libtest-simple-perl Build-Depends-Indep: libtest-pod-coverage-perl, libtest-pod-perl, libuniversal-require-perl, perl Standards-Version: 3.8.3 Vcs-Browser: http://svn.debian.org/viewsvn/pkg-perl/trunk/libtest-compile-perl/ Vcs-Svn: svn://svn.debian.org/pkg-perl/trunk/libtest-compile-perl/ Homepage: https://metacpan.org/release/Test-Compile Package: libtest-compile-perl Architecture: all Depends: ${misc:Depends}, ${perl:Depends}, libuniversal-require-perl Description: check whether Perl module files compile correctly Test::Compile can be used in module test suites to verify that everything compiles correctly. This description is artifitially prolonged, in order to be able to use some commas and test whether they wrap. . This module provides a few useful functions for manipulating module names. Its main aim is to centralise some of the functions commonly used by modules that manipulate other modules in some way, like converting module names to relative paths. . This description was automagically extracted from the module by dh-make-perl. EOF my $c; lives_ok { $c = Debian::Control->new } 'Debian::Control constructs'; lives_ok { $c->read(\$control) } 'parses a real control file'; isa_ok( $c->source->Build_Depends_Indep, 'Debian::Dependencies', 'parsed source B-D-I is a Debian::Dependencies object' ); ok( $c->source->Build_Depends_Indep eq 'libtest-pod-coverage-perl, libtest-pod-perl, libuniversal-require-perl, perl', 'parsed B-D-I as expected' ); my $written = ""; lives_ok { $c->write(\$written) } 'Control writes can write to a scalar ref'; eq_or_diff( $written, $control, 'Control writes what it have read' ); use_ok('Debian::Control::FromCPAN'); bless $c, 'Debian::Control::FromCPAN'; $c->binary->{'libtest-compile-perl'}->Depends->add('perl-modules'); $c->prune_perl_deps; is( $c->binary->{'libtest-compile-perl'}->Depends . '', '${misc:Depends}, ${perl:Depends}, libuniversal-require-perl' ); # test pruning dependency on perl version found in oldstable $c->binary->{'libtest-compile-perl'}->Depends->add('perl (>= 5.8.8)'); $c->prune_perl_deps; is( $c->binary->{'libtest-compile-perl'}->Depends . '', '${misc:Depends}, ${perl:Depends}, libuniversal-require-perl' ); # same thing, with B-D $c->source->Build_Depends_Indep->add('perl (>= 5.8.8)'); $c->prune_perl_deps; is( $c->source->Build_Depends_Indep . '', 'libtest-pod-coverage-perl, libtest-pod-perl, libuniversal-require-perl, perl' ); # Test wrapping $b = Debian::Control::Stanza::Binary->new( { Package => "foo", Depends => "libfoo-perl (>= 0.44839848), libbar-perl, libbaz-perl (>= 4.59454345345485), libtreshchotka-moo (>= 5.6), libmoo-more-java (>= 9.6544)", }, ); is( "$b", <= 0.44839848), libbar-perl, libbaz-perl (>= 4.59454345345485), libtreshchotka-moo (>= 5.6), libmoo-more-java (>= 9.6544) EOF perlcriticrc000444001750001750 24012234004042 14776 0ustar00damdam000000000000DhMakePerl-0.80/tonly = 1 include = Variables::ProhibitConditionalDeclarations include = TestingAndDebugging::RequireUseWarnings include = TestingAndDebugging::RequireUseStrict dists.t000555001750001750 2021412234004042 13747 0ustar00damdam000000000000DhMakePerl-0.80/t#!/usr/bin/perl -w use strict; use warnings; use Test::More tests => 16; use FindBin qw($Bin); use File::Compare (); use File::DirCompare; use File::Find::Rule; use File::Spec::Functions qw(splitpath); use File::Path (); use Text::Diff qw(diff); sub compare_tree { my ( $real, $wanted, $hint ) = @_; my @errors; File::DirCompare->compare( $real, $wanted, sub { my ( $a, $b ) = @_; return if $a and $a =~ m{/\.(?:svn|gh|git|CVS)(?:/|\z)} or $b and $b =~ m{/\.(?:svn|gh|git|CVS)(?:/|\z)}; return if $a and $a =~ /\.bak$/ or $b and $b =~ /\.bak$/; unless ( defined($b) ) { push @errors, diff( $a, '/dev/null' ); return; } unless ( defined($a) ) { push @errors, diff( $b, '/dev/null' ); return; } push @errors, diff( $a, $b ); }, { cmp => sub { File::Compare::compare_text( @_, sub { my ( $a, $b ) = @_; # different copyright years are normal # (test written in 2002 and run in 2020 # after refreshing there can also be several years if ($hint =~ /email/) { return 0 if $a =~ /^Copyright: (\d+, )+Florian Geekwurt $/ and $b =~ /^Copyright: (\d+, )+Florian Geekwurt $/; return 0 if $a =~ /^ \d+, Joe Maintainer $/ and $b =~ /^ \d+, Joe Maintainer $/; } else { return 0 if $a =~ /^Copyright: \d+, Joe Maintainer $/ and $b =~ /^Copyright: \d+, Joe Maintainer $/; } # likewise, it is normal that the timestamp in the changelog differs return 0 if $a =~ /^ -- Joe Maintainer \w+, \d+ \w+ \d+ \d+:\d+:\d+ (\+|-)\d+$/ and $b =~ /^ -- Joe Maintainer \w+, \d+ \w+ \d+ \d+:\d+:\d+ (\+|-)\d+$/; return $a ne $b; } ); }, } ); is( join( "\n", @errors ), '', 'Generated tree matches template' . ( $hint ? " ($hint)" : '' ) ); } sub run_and_compare { my $p = shift; my $run = $p->{run}; my $compare = $p->{compare}; my $dist_dir = $p->{dist_dir}; my $comment = $p->{comment}; my ( $cmd, $in, $out, $err ); use IPC::Run qw( run ); $in = $out = $err = ''; my $ok = run $run, \$in, \$out, \$err; ok( $ok, "$dist_dir run ok ($comment)" ); SKIP: { unless ($ok) { diag "\$! = $!, \$? = $?"; diag $out if $out; diag $err if $err; } skip "dh-make-run failed", 1, unless $ok; compare_tree( $compare->{result}, $compare->{wanted}, $comment ) or do { diag $out if $out; diag $err if $err; }; } } sub dist_ok($) { my $dist_dir = shift; my $dist = "$Bin/dists/$dist_dir"; # plain make run_and_compare { run => [ "$Bin/../dh-make-perl", "--no-verbose", "--home-dir", "$Bin/contents", "--apt-contents-dir", "$Bin/contents", "--data-dir", "$Bin/../share", $ENV{NO_NETWORK} ? '--no-network' : (), "--vcs", "none", "--sources-list", "$Bin/contents/sources.list", "--email", "joemaint\@test.local", $dist ], dist_dir => $dist_dir, comment => 'initial', compare => { result => "$dist/debian", wanted => "$dist/wanted-debian", }, }; # --refresh run_and_compare { run => [ "$Bin/../dh-make-perl", "--no-verbose", "--home-dir", "$Bin/contents", "--apt-contents-dir", "$Bin/contents", "--data-dir", "$Bin/../share", $ENV{NO_NETWORK} ? '--no-network' : (), "--vcs", "none", "--sources-list", "$Bin/contents/sources.list", "--email", "joemaint\@test.local", "refresh", $dist, ], comment => 'refresh', dist_dir => $dist_dir, compare => { result => "$dist/debian", wanted => "$dist/wanted-debian--refresh", }, }; unlink File::Find::Rule->file->name('*.bak')->in("$dist/debian"); # --refresh --source-format '3.0 (quilt)' run_and_compare { run => [ "$Bin/../dh-make-perl", "--no-verbose", "--home-dir", "$Bin/contents", "--apt-contents-dir", "$Bin/contents", "--data-dir", "$Bin/../share", $ENV{NO_NETWORK} ? '--no-network' : (), "--vcs", "none", "--sources-list", "$Bin/contents/sources.list", "--email", "joemaint\@test.local", "refresh", '--source-format', '3.0 (quilt)', $dist ], dist_dir => $dist_dir, comment => 'refresh --source-format \'3.0 (quilt)\'', compare => { result => "$dist/debian", wanted => "$dist/wanted-debian--refresh--source-format=3.0_quilt", }, }; # refresh with changed email modify_changelog($dist); local $ENV{DEBFULLNAME} = 'Florian Geekwurt'; local $ENV{DEBEMAIL} = 'florian@geekwurt.org'; run_and_compare { run => [ "$Bin/../dh-make-perl", "--no-verbose", "--home-dir", "$Bin/contents", "--apt-contents-dir", "$Bin/contents", "--data-dir", "$Bin/../share", $ENV{NO_NETWORK} ? '--no-network' : (), "--vcs", "none", "--sources-list", "$Bin/contents/sources.list", "refresh", $dist ], dist_dir => $dist_dir, # having 'email' in the comment enabled a specific # comparison procedure in compare_tree() comment => 'refresh email', compare => { result => "$dist/debian", wanted => "$dist/wanted-debian--refresh-email", }, }; # clean up unlink File::Find::Rule->file->name('*.bak')->in("$dist/debian"); # clean after the test File::Path::rmtree("$dist/debian"); unlink "$Bin/contents/Contents.cache" or die "unlink($Bin/contents.cache): $!"; -e "$Bin/contents/wnpp.cache" and ( unlink "$Bin/contents/wnpp.cache" or die "unlink($Bin/contents/wnpp.cache): $!" ); } sub modify_changelog { my $dist = shift; my $changelog_name = "$dist/debian/changelog"; open my $chfh, '<', $changelog_name or die "cannot open $changelog_name"; my @changelog = <$chfh>; unshift @changelog, "\n"; unshift @changelog, " -- Florian Geekwurt Sun, 6 Mar 2011 14:02:37 +0000\n"; unshift @changelog, "\n"; unshift @changelog, " * Email change: Joe Maintainer -> joe\@debian.org\n"; unshift @changelog, "\n"; unshift @changelog, "libstrange-perl (3.1-1) UNRELEASED; urgency=low\n"; close $chfh; open $chfh, '>', $changelog_name or die "cannot open $changelog_name"; print {$chfh} @changelog; close $chfh; } $ENV{PERL5LIB} = "lib"; $ENV{DEBFULLNAME} = "Joe Maintainer"; for( qw( Strange-0.1 Strange-2.1 ) ) { dist_ok($_); } cache.t000555001750001750 265612234004042 13656 0ustar00damdam000000000000DhMakePerl-0.80/t#!/usr/bin/perl -w # # Test we don't get this error when failing to read wnpp cache file: # "Can't use an undefined value as a HASH reference at /usr/share/perl5/Debian/WNPP/Query.pm line 75." # # Bug reported by jawnsy on IRC. # use strict; use warnings; use Test::More tests => 1; use FindBin qw($Bin); use File::Path (); sub dist_ok($) { my $dist_dir = shift; my $dist = "$Bin/dists/$dist_dir"; # Create an unreadable cache file. -e "$Bin/contents/wnpp.cache" and ( unlink "$Bin/contents/wnpp.cache" or die "unlink($Bin/contents/wnpp.cache): $!" ); system('touch', "$Bin/contents/wnpp.cache"); system( "$Bin/../dh-make-perl", "--no-verbose", "--home-dir", "$Bin/contents", "--apt-contents-dir", "$Bin/contents", "--data-dir", "$Bin/../share", $ENV{NO_NETWORK} ? '--no-network' : (), "--vcs", "none", "--sources-list", "$Bin/contents/sources.list", "--email", "joemaint\@test.local", $dist ); is( $?, 0, "$dist_dir: system returned 0" ); # clean after the test File::Path::rmtree("$dist/debian"); unlink "$Bin/contents/Contents.cache" or die "unlink($Bin/contents.cache): $!"; -e "$Bin/contents/wnpp.cache" and ( unlink "$Bin/contents/wnpp.cache" or die "unlink($Bin/contents/wnpp.cache): $!" ); } $ENV{PERL5LIB} = "lib"; $ENV{DEBFULLNAME} = "Joe Maintainer"; dist_ok('Strange-0.1'); Dependencies.t000555001750001750 656112234004042 15200 0ustar00damdam000000000000DhMakePerl-0.80/t#!/usr/bin/perl -w use strict; use warnings; use Test::More 'no_plan'; use Test::Deep; use_ok('Debian::Dependencies'); my $dep_string = 'perl, libfoo-perl (>= 5.7), bar (<= 4)'; my $list = Debian::Dependencies->new($dep_string); ok( ref($list), 'parsed dep list is a reference' ); is( ref($list), 'Debian::Dependencies', 'parsed dep list is an object' ); is( scalar(@$list), 3, 'parsed deps contain 3 elements' ); is_deeply( [ map( ref, @$list ) ], [ ( 'Debian::Dependency' ) x 3 ], 'Depencencies list contains Dependency refs' ); cmp_deeply( $list, bless( [ bless( { pkg=>'perl' }, 'Debian::Dependency' ), bless( { pkg => 'libfoo-perl', rel => '>=', ver => bless( { version => '5.7', epoch => 0, revision => 0, no_epoch => 1, no_revision => 1 }, 'Dpkg::Version' ) }, 'Debian::Dependency' ), bless( { pkg => 'bar', rel => '<=', ver => bless( { version => '4', epoch => 0, revision => 0, no_epoch => 1, no_revision => 1 }, 'Dpkg::Version' ) }, 'Debian::Dependency' ), ], 'Debian::Dependencies', ), 'Dependencies list parsed' ); is( "$list", $dep_string, 'Dependencies stringifies' ); my $sum = $list + 'libsome-perl (>= 4.4)'; cmp_deeply( $sum->[3], bless( { pkg => 'libsome-perl', rel => '>=', ver => bless( { version => '4.4', epoch => 0, revision => 0, no_epoch => 1, no_revision => 1 }, 'Dpkg::Version' ), }, 'Debian::Dependency', ), 'Adding to a Dependencies', ); $list += 'libother-perl'; cmp_deeply( $list->[3], bless( { pkg => 'libother-perl' }, 'Debian::Dependency' ), '+= works', ); ok( $list eq "$dep_string, libother-perl", "eq works" ); $list = Debian::Dependencies->new('debhelper (>= 7), debhelper (>= 7.0.5)'); is( "$list", 'debhelper (>= 7.0.5)', 'versions collapsed' ); $list = Debian::Dependencies->new('debhelper (>= 7.0.5), debhelper (>= 7)'); is( "$list", 'debhelper (>= 7.0.5)', 'versions squashed' ); $list = Debian::Dependencies->new('debhelper (>= 7.0.5), debhelper (<< 8)'); is( "$list", 'debhelper (>= 7.0.5), debhelper (<< 8)', '>= and << kept' ); $list = Debian::Dependencies->new('debhelper (>= 7), libmodule-build-perl'); $list->add('debhelper (>= 7)'); $list->add('libtest-simple-perl'); is( "$list", 'debhelper (>= 7), libmodule-build-perl, libtest-simple-perl', 'adding duplicated keeps order' ); # the example for 'remove' from POD $list = Debian::Dependencies->new('foo (>= 1.2), bar'); $list->remove('foo, bar (>= 2.0)'); is( "$list", 'bar' ); is( "".Debian::Dependency->new("\nlibapt-pkg-perl"), "libapt-pkg-perl" ); perl-versions.t000444001750001750 162412234004042 15412 0ustar00damdam000000000000DhMakePerl-0.80/t#!/usr/bin/perl -w use strict; use warnings; use Test::More tests => 22; BEGIN { use_ok('DhMakePerl::Utils'); }; sub check { my( $src, $dst ) = @_; is( DhMakePerl::Utils::nice_perl_ver($src), $dst, "perl version '$src' corresponds to Debian package version '$dst'" ); } check( '5.006002', '5.6.2' ); check( '5.007003', '5.7.3' ); check( '5.008' , '5.8.0' ); check( '5.008001', '5.8.1' ); check( '5.008002', '5.8.2' ); check( '5.008003', '5.8.3' ); check( '5.008004', '5.8.4' ); check( '5.008005', '5.8.5' ); check( '5.008006', '5.8.6' ); check( '5.008007', '5.8.7' ); check( '5.008008', '5.8.8' ); check( '5.008009', '5.8.9' ); check( '5.009' , '5.9.0' ); check( '5.009001', '5.9.1' ); check( '5.009002', '5.9.2' ); check( '5.009003', '5.9.3' ); check( '5.009004', '5.9.4' ); check( '5.009005', '5.9.5' ); check( '5.01' , '5.10.0'); check( '5.010000', '5.10.0'); check( '5.9.1', '5.9.1' ); 00-load.t000444001750001750 24012234004042 13707 0ustar00damdam000000000000DhMakePerl-0.80/t#!perl use strict; use Test::More; use Test::Compile; my @pms = all_pm_files; plan tests => @pms + 1; pm_file_ok($_) for @pms; pl_file_ok('dh-make-perl'); pod-coverage.t000444001750001750 161412234004042 15154 0ustar00damdam000000000000DhMakePerl-0.80/tuse strict; use warnings; use Test::More; # Ensure a recent version of Test::Pod::Coverage my $min_tpc = 1.08; eval "use Test::Pod::Coverage $min_tpc"; plan skip_all => "Test::Pod::Coverage $min_tpc required for testing POD coverage" if $@; # Test::Pod::Coverage doesn't require a minimum Pod::Coverage version, # but older versions don't recognize some common documentation styles my $min_pc = 0.18; eval "use Pod::Coverage $min_pc"; plan skip_all => "Pod::Coverage $min_pc required for testing POD coverage" if $@; my @modules = all_modules(); plan tests => scalar(@modules); for (@modules) { SKIP: { skip "Command::Packaging needs documenting", 1, if $_ eq 'DhMakePerl::Command::Packaging'; skip "Command::make needs documenting", 1, if $_ eq 'DhMakePerl::Command::make'; pod_coverage_ok( $_, { coverage_class => 'Pod::Coverage::CountParents' } ); } } critic.t000444001750001750 52212234004042 14033 0ustar00damdam000000000000DhMakePerl-0.80/tuse strict; use warnings; use Test::More; BEGIN { eval { require Test::Perl::Critic; 1 } or plan skip_all => 'Test::Perl::Critic required to criticise code'; }; use File::Spec; my $rcfile = File::Spec->catfile( 't', 'perlcriticrc' ); Test::Perl::Critic->import( -profile => $rcfile ); all_critic_ok( 'scripts', 'lib' ); DpkgLists.t000555001750001750 141312234004042 14505 0ustar00damdam000000000000DhMakePerl-0.80/t#!/usr/bin/perl -w use strict; use warnings; use Test::More tests => 7; BEGIN { use_ok 'Debian::DpkgLists'; }; my $m = 'Debian::DpkgLists'; is_deeply( [ $m->scan_full_path('/usr/bin/perl') ], ['perl-base'], '/usr/bin/perl is in perl-base' ); my @found = $m->scan_partial_path('/bin/perl'); ok( grep( 'perl-base', @found ), 'partial /bin/perl is in perl-base' ); @found = $m->scan_pattern(qr{/bin/perl$}); ok( grep( 'perl-base', @found ), 'qr{/bin/perl$} is in perl-base' ); is_deeply( [ $m->scan_perl_mod('Errno') ], ['perl-base'], 'Errno is in perl-base' ); is_deeply( [ $m->scan_perl_mod('IO::Socket::UNIX') ], ['perl-base'], 'IO::Socket::UNIX is in perl-base' ); is_deeply( [ $m->scan_perl_mod('utf8') ], ['perl-base'], 'utf8 is in perl-base' ); Dep.t000555001750001750 1636712234004042 13347 0ustar00damdam000000000000DhMakePerl-0.80/t#!/usr/bin/perl -w use strict; use warnings; use Test::More tests => 167; BEGIN { use_ok('Debian::Dependency'); }; my $plain = eval{ Debian::Dependency->new('perl') }; ok( !$@, 'simple Dep constructed' ); is( $plain->pkg, 'perl', 'name parsed correctly' ); is( $plain->rel, undef, "plain dependency has no relation" ); is( $plain->ver, undef, "plain dependency has no version" ); my $ver = eval { Debian::Dependency->new('libfoo', '5.6') }; ok( !$@, 'versioned Dep constructed' ); is( $ver->pkg, 'libfoo', 'versioned name parsed' ); is( $ver->ver, '5.6', 'oversion parsed' ); is( $ver->rel, '>=', '>= relation parsed' ); $ver = eval { Debian::Dependency->new('libfoo (>= 5.6)') }; ok( !$@, 'versioned Dep parsed' ); is( $ver->pkg, 'libfoo', 'package of ver dep' ); is( $ver->rel, '>=', 'relation of ver dep' ); is( $ver->ver, '5.6', 'version of ver dep' ); is( "$ver", 'libfoo (>= 5.6)', 'Versioned Dep stringified' ); my $loe = eval { Debian::Dependency->new('libbar (<= 1.2)') }; ok( !$@, '<= dependency parsed' ); is( $loe->rel, '<=', '<= dependency detected' ); { my $d = eval { Debian::Dependency->new('libbar (< 1.2)') }; ok(!$@, '< dependency parsed'); is($d->rel, '<=', '< dependency detected as <='); } { my $d = eval { Debian::Dependency->new('libbar (> 1.2)') }; ok(!$@, '> dependency parsed'); is($d->rel, '>=', '> dependency detected as >='); } my $se = eval { Debian::Dependency->new('libfoo-perl (=1.2)') }; ok( !$@, '= dependency parsed' ); is( $se->rel, '=', '= dependency detected' ); my $d = Debian::Dependency->new( 'foo', '0' ); is( "$d", 'foo', 'zero version is ignored when given in new' ); $d = Debian::Dependency->new( 'foo', '0.000' ); is( "$d", 'foo', '0.000 version is ignored when given in new' ); $d = Debian::Dependency->new('libfoo (>= 0.000)'); is( "$d", 'libfoo', 'zero version is ignored when parsing' ); $d = new_ok( 'Debian::Dependency', [ [ 'foo', 'bar' ] ] ); isa_ok( $d->alternatives, 'ARRAY' ); is( $d->alternatives->[0] . "", 'foo', "first alternative is foo" ); is( $d->alternatives->[1] . "", 'bar', "second alternative is bar" ); $d = new_ok( 'Debian::Dependency', [ 'foo | bar' ] ); isa_ok( $d->alternatives, 'ARRAY' ); is( "$d", "foo | bar", "alternative dependency stringifies" ); sub sat( $ $ $ ) { my( $dep, $test, $expected ) = @_; ok( $dep->satisfies($test) == $expected, "$dep ".($expected ? 'satisfies' : "doesn't satisfy"). " $test" ); } my $dep = Debian::Dependency->new('foo'); sat( $dep, 'bar', 0 ); sat( $dep, 'foo', 1 ); sat( $dep, 'foo (>> 4)', 0 ); sat( $dep, 'foo (>= 4)', 0 ); sat( $dep, 'foo (= 4)', 0 ); sat( $dep, 'foo (<= 4)', 0 ); sat( $dep, 'foo (<< 4)', 0 ); $dep = Debian::Dependency->new('foo (>> 4)'); sat( $dep, 'bar', 0 ); sat( $dep, 'foo', 1 ); sat( $dep, 'foo (>> 3)', 1 ); sat( $dep, 'foo (>= 3)', 1 ); sat( $dep, 'foo (= 3)', 0 ); sat( $dep, 'foo (<= 3)', 0 ); sat( $dep, 'foo (<< 3)', 0 ); sat( $dep, 'foo (>> 4)', 1 ); sat( $dep, 'foo (>= 4)', 1 ); sat( $dep, 'foo (= 4)', 0 ); sat( $dep, 'foo (<= 4)', 0 ); sat( $dep, 'foo (<< 4)', 0 ); sat( $dep, 'foo (>> 5)', 0 ); sat( $dep, 'foo (>= 5)', 0 ); sat( $dep, 'foo (= 5)', 0 ); sat( $dep, 'foo (<= 5)', 0 ); sat( $dep, 'foo (<< 5)', 0 ); $dep = Debian::Dependency->new('foo (>= 4)'); sat( $dep, 'bar', 0 ); sat( $dep, 'foo', 1 ); sat( $dep, 'foo (>> 4)', 0 ); sat( $dep, 'foo (>= 4)', 1 ); sat( $dep, 'foo (= 4)', 0 ); sat( $dep, 'foo (<= 4)', 0 ); sat( $dep, 'foo (<< 4)', 0 ); sat( $dep, 'foo (>> 3)', 1 ); sat( $dep, 'foo (>= 3)', 1 ); sat( $dep, 'foo (= 3)', 0 ); sat( $dep, 'foo (<= 3)', 0 ); sat( $dep, 'foo (<< 3)', 0 ); sat( $dep, 'foo (>> 5)', 0 ); sat( $dep, 'foo (>= 5)', 0 ); sat( $dep, 'foo (= 5)', 0 ); sat( $dep, 'foo (<= 5)', 0 ); sat( $dep, 'foo (<< 5)', 0 ); $dep = Debian::Dependency->new('foo (= 4)'); sat( $dep, 'bar', 0 ); sat( $dep, 'foo', 1 ); sat( $dep, 'foo (>> 4)', 0 ); sat( $dep, 'foo (>= 4)', 1 ); sat( $dep, 'foo (= 4)', 1 ); sat( $dep, 'foo (<= 4)', 1 ); sat( $dep, 'foo (<< 4)', 0 ); sat( $dep, 'foo (>> 3)', 1 ); sat( $dep, 'foo (>= 3)', 1 ); sat( $dep, 'foo (= 3)', 0 ); sat( $dep, 'foo (<= 3)', 0 ); sat( $dep, 'foo (<< 3)', 0 ); sat( $dep, 'foo (>> 5)', 0 ); sat( $dep, 'foo (>= 5)', 0 ); sat( $dep, 'foo (= 5)', 0 ); sat( $dep, 'foo (<= 5)', 1 ); sat( $dep, 'foo (<< 5)', 1 ); $dep = Debian::Dependency->new('foo (<= 4)'); sat( $dep, 'bar', 0 ); sat( $dep, 'foo', 1 ); sat( $dep, 'foo (>> 4)', 0 ); sat( $dep, 'foo (>= 4)', 0 ); sat( $dep, 'foo (= 4)', 0 ); sat( $dep, 'foo (<= 4)', 1 ); sat( $dep, 'foo (<< 4)', 0 ); sat( $dep, 'foo (>> 3)', 0 ); sat( $dep, 'foo (>= 3)', 0 ); sat( $dep, 'foo (= 3)', 0 ); sat( $dep, 'foo (<= 3)', 0 ); sat( $dep, 'foo (<< 3)', 0 ); sat( $dep, 'foo (>> 5)', 0 ); sat( $dep, 'foo (>= 5)', 0 ); sat( $dep, 'foo (= 5)', 0 ); sat( $dep, 'foo (<= 5)', 1 ); sat( $dep, 'foo (<< 5)', 1 ); $dep = Debian::Dependency->new('foo (<< 4)'); sat( $dep, 'bar', 0 ); sat( $dep, 'foo', 1 ); sat( $dep, 'foo (>> 4)', 0 ); sat( $dep, 'foo (>= 4)', 0 ); sat( $dep, 'foo (= 4)', 0 ); sat( $dep, 'foo (<= 4)', 1 ); sat( $dep, 'foo (<< 4)', 1 ); sat( $dep, 'foo (>> 3)', 0 ); sat( $dep, 'foo (>= 3)', 0 ); sat( $dep, 'foo (= 3)', 0 ); sat( $dep, 'foo (<= 3)', 0 ); sat( $dep, 'foo (<< 3)', 0 ); sat( $dep, 'foo (>> 5)', 0 ); sat( $dep, 'foo (>= 5)', 0 ); sat( $dep, 'foo (= 5)', 0 ); sat( $dep, 'foo (<= 5)', 1 ); sat( $dep, 'foo (<< 5)', 1 ); $dep = Debian::Dependency->new('foo (<< 4) | bar '); sat( $dep, 'foo', 0 ); sat( $dep, 'bar', 0 ); $dep = Debian::Dependency->new('foo (<< 4)'); sat( $dep, 'foo | bar', 1 ); sat( $dep, 'foo (<= 5) | zoo', 1 ); sat( $dep, 'zoo', 0 ); sub comp { my( $one, $two, $expected ) = @_; $one = Debian::Dependency->new($one); $two = Debian::Dependency->new($two); is( $one <=> $two, $expected, $expected ? ( ( $expected == -1 ) ? "$one is less than $two" : "$one is greater than $two" ) : "$one and $two are equal" ); } comp( 'foo', 'bar', 1 ); comp( 'bar', 'foo', -1 ); comp( 'foo', 'foo', 0 ); comp( 'foo', 'foo (>= 2)', -1 ); comp( 'foo (>= 2)', 'foo', 1 ); comp( 'foo (<< 2)', 'foo (<= 1)', 1 ); comp( 'foo (<< 1)', 'foo (<= 2)', -1 ); comp( 'foo (<< 2)', 'foo (<< 2)', 0 ); comp( 'foo (<< 2)', 'foo (<= 2)', -1 ); comp( 'foo (<< 2)', 'foo (= 2)', -1 ); comp( 'foo (<< 2)', 'foo (>= 2)', -1 ); comp( 'foo (<< 2)', 'foo (>> 2)', -1 ); comp( 'foo (<= 2)', 'foo (<< 2)', 1 ); comp( 'foo (<= 2)', 'foo (<= 2)', 0 ); comp( 'foo (<= 2)', 'foo (= 2)', -1 ); comp( 'foo (<= 2)', 'foo (>= 2)', -1 ); comp( 'foo (<= 2)', 'foo (>> 2)', -1 ); comp( 'foo (= 2)', 'foo (<< 2)', 1 ); comp( 'foo (= 2)', 'foo (<= 2)', 1 ); comp( 'foo (= 2)', 'foo (= 2)', 0 ); comp( 'foo (= 2)', 'foo (>= 2)', -1 ); comp( 'foo (= 2)', 'foo (>> 2)', -1 ); comp( 'foo (>= 2)', 'foo (<< 2)', 1 ); comp( 'foo (>= 2)', 'foo (<= 2)', 1 ); comp( 'foo (>= 2)', 'foo (= 2)', 1 ); comp( 'foo (>= 2)', 'foo (>= 2)', 0 ); comp( 'foo (>= 2)', 'foo (>> 2)', -1 ); comp( 'foo (>> 2)', 'foo (<< 2)', 1 ); comp( 'foo (>> 2)', 'foo (<= 2)', 1 ); comp( 'foo (>> 2)', 'foo (= 2)', 1 ); comp( 'foo (>> 2)', 'foo (>= 2)', 1 ); comp( 'foo (>> 2)', 'foo (>> 2)', 0 ); comp( 'foo|bar', 'bar|foo', 1 ); comp( 'bar|foo', 'foo|bar', -1 ); comp( 'bar|foo', 'bar|baz', 1 ); comp( 'foo|bar', 'foo|bar', 0 ); comp( 'foo|bar', 'foo', 1 ); comp( 'foo', 'foo|bar', -1 ); core-modules.t000555001750001750 240412234004042 15200 0ustar00damdam000000000000DhMakePerl-0.80/t#!/usr/bin/perl -w use strict; use warnings; use Test::More tests => 7; use DhMakePerl::Utils qw(find_core_perl_dependency); is( find_core_perl_dependency('Module::CoreList') . '', 'perl (>= 5.10.0)', 'Module::CoreList is in 5.10' ); is( find_core_perl_dependency( 'Module::CoreList', '2.12' ) . '', 'perl (>= 5.10.0)', 'Module::CoreList 2.12 is in 5.10' ); # 2.17 is in 5.10.1, which is not in Debian is( find_core_perl_dependency( 'Module::CoreList', '2.17' ) . '', 'perl (>= 5.10.1)', 'Module::CoreList 2.17 is in 5.10.1' ); # try with an impossibly high version that should never exist is( find_core_perl_dependency( 'Module::CoreList', '999999.9' ), undef, 'Module::CoreList 999999.9 is nowhere' ); # try a bogus module is( find_core_perl_dependency( 'Foo::Bar', undef ), undef, 'Foo::Bar is not in core' ); # try a version that is not in Debian's perl # this will fail when Debian's perl is sufficiently new is( find_core_perl_dependency( 'Module::CoreList', '2.19' ), undef , 'Module::CoreList 2.19 is not in Debian\'s perl' ); # M::B 0.3603 is in perl 5.11.4 # perl 5.10.1 has M:B 0.340201 which may fool us is( find_core_perl_dependency( 'Module::Build', '0.3603' ), undef, 'Module::Build 0.3603 is not in Debian\'s perl' ); manifest.t000444001750001750 57112234004042 14370 0ustar00damdam000000000000DhMakePerl-0.80/t#!/usr/bin/perl -w use Test::More; if(!$ENV{RELEASE_TESTING}) { plan skip_all => 'Test::DistManifest only happens for RELEASE_TESTING'; } eval 'use Test::DistManifest'; if ($@) { plan skip_all => 'Test::DistManifest required to test MANIFEST'; } unless ( -e 'MANIFEST' ) { plan skip_all => 'MANIFEST testing skipped due to missing MANIFEST file'; } manifest_ok(); rules.t000444001750001750 216312234004042 13733 0ustar00damdam000000000000DhMakePerl-0.80/t#!/usr/bin/perl -w use strict; use warnings; use Test::More tests => 8; BEGIN { use_ok('Debian::Rules'); }; my $r = Debian::Rules->new( { lines => [ "#!/usr/bin/make -f\n", "%:\n", "\tdh \$\@\n" ] } ); is( @{ $r->lines }, 3, 'lines initialized properly' ); ok( $r->is_dh7tiny, "Detects simple dh7tiny-style rules" ); $r = Debian::Rules->new( { lines => [ "#!/usr/bin/make -f\n", "%:\n", "\tdh \$\@ --with=quilt\n", "\n", "# something else goes here\n", ] } ); ok( $r->is_dh7tiny, "Detects dh7 in dh7tiny+quilt" ); ok( $r->is_quiltified, "Detects --with=quilt" ); $r->drop_quilt; is( $r->lines->[2], "\tdh \$\@\n", 'Dequiltification works' ); is( scalar @{ $r->lines }, 5, "Dequiltification doesn't cut lines" ); $r = Debian::Rules->new( { lines => [ "#!/usr/bin/make -f\n", "%:\n", "\tdh --with=quilt \$\@\n", "\n", "# something else goes here\n", ] } ); $r->drop_quilt; is( $r->lines->[2], "\tdh \$\@\n", 'Dequiltification works with --with=quilt in the middle' ); dists000755001750001750 012234004042 13403 5ustar00damdam000000000000DhMakePerl-0.80/tStrange-0.1000755001750001750 012234004042 15302 5ustar00damdam000000000000DhMakePerl-0.80/t/distsStrange.pm000444001750001750 145612234004042 17406 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1package Strange; use strict; use vars qw($VERSION @ISA @EXPORT @EXPORT_OK); require Exporter; require AutoLoader; @ISA = qw(Exporter AutoLoader); # Items to export into callers namespace by default. Note: do not export # names by default without a very good reason. Use EXPORT_OK instead. # Do not simply export all your public functions/methods/constants. @EXPORT = qw( ); $VERSION = '0.1'; # Preloaded methods go here. # Autoload methods go after =cut, and are processed by the autosplit program. 1; __END__ # Below is the stub of documentation for your module. You better edit it! =head1 NAME Strange - Perl extension for blah blah blah =head1 SYNOPSIS use Strange; blah blah blah =head1 DESCRIPTION =head1 AUTHOR A. U. Thor, a.u.thor@a.galaxy.far.far.away =head1 SEE ALSO perl(1). =cut MANIFEST000444001750001750 6012234004042 16524 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1Changes MANIFEST Makefile.PL Strange.pm test.pl Makefile.PL000444001750001750 35212234004042 17371 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1use ExtUtils::MakeMaker; # See lib/ExtUtils/MakeMaker.pm for details of how to influence # the contents of the Makefile that is written. WriteMakefile( 'NAME' => q|Strange|, 'VERSION_FROM' => 'Strange.pm', # finds $VERSION ); test.pl000444001750001750 121412234004042 16751 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1# Before `make install' is performed this script should be runnable with # `make test'. After `make install' it should work as `perl test.pl' ######################### We start with some black magic to print on failure. # Change 1..1 below to 1..last_test_to_print . # (It may become useful if the test is moved to ./t subdirectory.) BEGIN { $| = 1; print "1..1\n"; } END {print "not ok 1\n" unless $loaded;} use Strange; $loaded = 1; print "ok 1\n"; ######################### End of black magic. # Insert your test code below (better if it prints "ok 13" # (correspondingly "not ok 13") depending on the success of chunk 13 # of the test code): Changes000444001750001750 16712234004042 16716 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1Revision history for Perl extension Strange. 0.1 Tue Oct 24 16:25:04 2000 - original version; created by h2xs 1.19 wanted-debian--refresh--source-format=3.0_quilt000755001750001750 012234004042 26112 5ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1copyright000444001750001750 266112234004042 30207 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debian--refresh--source-format=3.0_quiltFormat: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Source: https://metacpan.org/release/Strange Upstream-Contact: A. U. Thor, a.u.thor@a.galaxy.far.far.away Upstream-Name: Strange DISCLAIMER: This copyright info was automatically extracted from the perl module. It may not be accurate, so you better check the module sources in order to ensure the module for its inclusion in Debian or for general legal information. Please, if licensing information is incorrectly generated, file a bug on dh-make-perl. NOTE: Don't forget to remove this disclaimer once you are happy with this file. Files: * Copyright: A. U. Thor, a.u.thor@a.galaxy.far.far.away License: Files: debian/* Copyright: 2007, Joe Maintainer License: Artistic or GPL-1+ License: Artistic This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License, which comes with Perl. . On Debian systems, the complete text of the Artistic License can be found in `/usr/share/common-licenses/Artistic'. License: GPL-1+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. . On Debian systems, the complete text of version 1 of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-1'. watch000444001750001750 15312234004042 27257 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debian--refresh--source-format=3.0_quiltversion=3 https://metacpan.org/release/Strange .*/Strange-v?(\d[\d.-]*)\.(?:tar(?:\.gz|\.bz2)?|tgz|zip)$ compat000444001750001750 212234004042 27365 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debian--refresh--source-format=3.0_quilt9 control000444001750001750 75012234004042 27634 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debian--refresh--source-format=3.0_quiltSource: libstrange-perl Section: perl Priority: optional Maintainer: Joe Maintainer Build-Depends: debhelper (>= 9.20120312) Build-Depends-Indep: perl Standards-Version: 3.9.5 Homepage: https://metacpan.org/release/Strange Package: libstrange-perl Architecture: all Depends: ${misc:Depends}, ${perl:Depends} Description: Perl extension for blah blah blah (no description was found) . This description was automagically extracted from the module by dh-make-perl. rules000555001750001750 3612234004042 27266 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debian--refresh--source-format=3.0_quilt#!/usr/bin/make -f %: dh $@ libstrange-perl.examples000444001750001750 512234004042 33014 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debian--refresh--source-format=3.0_quilteg/* changelog000444001750001750 21712234004042 30101 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debian--refresh--source-format=3.0_quiltlibstrange-perl (0.1-1) unstable; urgency=low * Initial Release. -- Joe Maintainer Sat, 29 Nov 2008 23:17:07 +0200 source000755001750001750 012234004042 27412 5ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debian--refresh--source-format=3.0_quiltformat000444001750001750 1412234004042 30715 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debian--refresh--source-format=3.0_quilt/source3.0 (quilt) wanted-debian000755001750001750 012234004042 20004 5ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1copyright000444001750001750 266112234004042 22101 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debianFormat: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Source: https://metacpan.org/release/Strange Upstream-Contact: A. U. Thor, a.u.thor@a.galaxy.far.far.away Upstream-Name: Strange DISCLAIMER: This copyright info was automatically extracted from the perl module. It may not be accurate, so you better check the module sources in order to ensure the module for its inclusion in Debian or for general legal information. Please, if licensing information is incorrectly generated, file a bug on dh-make-perl. NOTE: Don't forget to remove this disclaimer once you are happy with this file. Files: * Copyright: A. U. Thor, a.u.thor@a.galaxy.far.far.away License: Files: debian/* Copyright: 2007, Joe Maintainer License: Artistic or GPL-1+ License: Artistic This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License, which comes with Perl. . On Debian systems, the complete text of the Artistic License can be found in `/usr/share/common-licenses/Artistic'. License: GPL-1+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. . On Debian systems, the complete text of version 1 of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-1'. watch000444001750001750 15312234004042 21151 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debianversion=3 https://metacpan.org/release/Strange .*/Strange-v?(\d[\d.-]*)\.(?:tar(?:\.gz|\.bz2)?|tgz|zip)$ compat000444001750001750 212234004042 21257 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debian9 control000444001750001750 75012234004042 21526 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debianSource: libstrange-perl Section: perl Priority: optional Maintainer: Joe Maintainer Build-Depends: debhelper (>= 9.20120312) Build-Depends-Indep: perl Standards-Version: 3.9.5 Homepage: https://metacpan.org/release/Strange Package: libstrange-perl Architecture: all Depends: ${misc:Depends}, ${perl:Depends} Description: Perl extension for blah blah blah (no description was found) . This description was automagically extracted from the module by dh-make-perl. rules000555001750001750 3612234004042 21160 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debian#!/usr/bin/make -f %: dh $@ libstrange-perl.examples000444001750001750 512234004042 24706 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debianeg/* changelog000444001750001750 21712234004042 21773 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debianlibstrange-perl (0.1-1) unstable; urgency=low * Initial Release. -- Joe Maintainer Sat, 29 Nov 2008 23:17:07 +0200 wanted-debian--refresh000755001750001750 012234004042 21515 5ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1copyright000444001750001750 266112234004042 23612 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debian--refreshFormat: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Source: https://metacpan.org/release/Strange Upstream-Contact: A. U. Thor, a.u.thor@a.galaxy.far.far.away Upstream-Name: Strange DISCLAIMER: This copyright info was automatically extracted from the perl module. It may not be accurate, so you better check the module sources in order to ensure the module for its inclusion in Debian or for general legal information. Please, if licensing information is incorrectly generated, file a bug on dh-make-perl. NOTE: Don't forget to remove this disclaimer once you are happy with this file. Files: * Copyright: A. U. Thor, a.u.thor@a.galaxy.far.far.away License: Files: debian/* Copyright: 2007, Joe Maintainer License: Artistic or GPL-1+ License: Artistic This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License, which comes with Perl. . On Debian systems, the complete text of the Artistic License can be found in `/usr/share/common-licenses/Artistic'. License: GPL-1+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. . On Debian systems, the complete text of version 1 of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-1'. watch000444001750001750 15312234004042 22662 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debian--refreshversion=3 https://metacpan.org/release/Strange .*/Strange-v?(\d[\d.-]*)\.(?:tar(?:\.gz|\.bz2)?|tgz|zip)$ compat000444001750001750 212234004042 22770 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debian--refresh9 control000444001750001750 75012234004042 23237 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debian--refreshSource: libstrange-perl Section: perl Priority: optional Maintainer: Joe Maintainer Build-Depends: debhelper (>= 9.20120312) Build-Depends-Indep: perl Standards-Version: 3.9.5 Homepage: https://metacpan.org/release/Strange Package: libstrange-perl Architecture: all Depends: ${misc:Depends}, ${perl:Depends} Description: Perl extension for blah blah blah (no description was found) . This description was automagically extracted from the module by dh-make-perl. rules000555001750001750 3612234004042 22671 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debian--refresh#!/usr/bin/make -f %: dh $@ libstrange-perl.examples000444001750001750 512234004042 26417 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debian--refresheg/* changelog000444001750001750 21712234004042 23504 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debian--refreshlibstrange-perl (0.1-1) unstable; urgency=low * Initial Release. -- Joe Maintainer Sat, 29 Nov 2008 23:17:07 +0200 wanted-debian--refresh-email000755001750001750 012234004042 22602 5ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1copyright000444001750001750 273312234004042 24677 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debian--refresh-emailFormat: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Source: https://metacpan.org/release/Strange Upstream-Contact: A. U. Thor, a.u.thor@a.galaxy.far.far.away Upstream-Name: Strange DISCLAIMER: This copyright info was automatically extracted from the perl module. It may not be accurate, so you better check the module sources in order to ensure the module for its inclusion in Debian or for general legal information. Please, if licensing information is incorrectly generated, file a bug on dh-make-perl. NOTE: Don't forget to remove this disclaimer once you are happy with this file. Files: * Copyright: A. U. Thor, a.u.thor@a.galaxy.far.far.away License: Files: debian/* Copyright: 2011, Florian Geekwurt 2008, Joe Maintainer License: Artistic or GPL-1+ License: Artistic This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License, which comes with Perl. . On Debian systems, the complete text of the Artistic License can be found in `/usr/share/common-licenses/Artistic'. License: GPL-1+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. . On Debian systems, the complete text of version 1 of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-1'. watch000444001750001750 15312234004042 23747 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debian--refresh-emailversion=3 https://metacpan.org/release/Strange .*/Strange-v?(\d[\d.-]*)\.(?:tar(?:\.gz|\.bz2)?|tgz|zip)$ compat000444001750001750 212234004042 24055 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debian--refresh-email9 control000444001750001750 75312234004042 24327 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debian--refresh-emailSource: libstrange-perl Section: perl Priority: optional Maintainer: Florian Geekwurt Build-Depends: debhelper (>= 9.20120312) Build-Depends-Indep: perl Standards-Version: 3.9.5 Homepage: https://metacpan.org/release/Strange Package: libstrange-perl Architecture: all Depends: ${misc:Depends}, ${perl:Depends} Description: Perl extension for blah blah blah (no description was found) . This description was automagically extracted from the module by dh-make-perl. rules000555001750001750 3612234004042 23756 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debian--refresh-email#!/usr/bin/make -f %: dh $@ libstrange-perl.examples000444001750001750 512234004042 27504 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debian--refresh-emaileg/* changelog000444001750001750 50112234004042 24565 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debian--refresh-emaillibstrange-perl (3.1-1) UNRELEASED; urgency=low * Email change: Joe Maintainer -> joe@debian.org -- Florian Geekwurt Sun, 6 Mar 2011 14:02:37 +0000 libstrange-perl (0.1-1) unstable; urgency=low * Initial Release. -- Joe Maintainer Sat, 29 Nov 2008 23:17:07 +0200 source000755001750001750 012234004042 24102 5ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debian--refresh-emailformat000444001750001750 1412234004042 25405 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/wanted-debian--refresh-email/source3.0 (quilt) eg000755001750001750 012234004042 15675 5ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1decoy.xs000444001750001750 1012234004042 17440 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-0.1/ega dummy Strange-2.1000755001750001750 012234004042 15304 5ustar00damdam000000000000DhMakePerl-0.80/t/distsStrange.pm000444001750001750 322312234004042 17402 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1package Strange; use strict; use Carp; use vars qw($VERSION @ISA @EXPORT @EXPORT_OK $AUTOLOAD); require Exporter; require DynaLoader; require AutoLoader; @ISA = qw(Exporter DynaLoader); # Items to export into callers namespace by default. Note: do not export # names by default without a very good reason. Use EXPORT_OK instead. # Do not simply export all your public functions/methods/constants. @EXPORT = qw( ); $VERSION = 2.1; sub AUTOLOAD { # This AUTOLOAD is used to 'autoload' constants from the constant() # XS function. If a constant is not found then control is passed # to the AUTOLOAD in AutoLoader. my $constname; ($constname = $AUTOLOAD) =~ s/.*:://; croak "& not defined" if $constname eq 'constant'; my $val = constant($constname, @_ ? $_[0] : 0); if ($! != 0) { if ($! =~ /Invalid/) { $AutoLoader::AUTOLOAD = $AUTOLOAD; goto &AutoLoader::AUTOLOAD; } else { croak "Your vendor has not defined Strange macro $constname"; } } no strict 'refs'; *$AUTOLOAD = sub () { $val }; goto &$AUTOLOAD; } bootstrap Strange $VERSION; # Preloaded methods go here. # Autoload methods go after =cut, and are processed by the autosplit program. 1; __END__ # Below is the stub of documentation for your module. You better edit it! =head1 NAME Strange - Perl extension for blah blah blah =head1 SYNOPSIS use Strange; blah blah blah =head1 DESCRIPTION Stub documentation for Strange was created by h2xs. It looks like the author of the extension was negligent enough to leave the stub unedited. Blah blah blah. =head1 AUTHOR A. U. Thor, a.u.thor@a.galaxy.far.far.away =head1 SEE ALSO perl(1). =cut MANIFEST000444001750001750 7312234004042 16532 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1Changes MANIFEST Makefile.PL Strange.pm Strange.xs test.pl Makefile.PL000444001750001750 64012234004042 17373 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1use ExtUtils::MakeMaker; # See lib/ExtUtils/MakeMaker.pm for details of how to influence # the contents of the Makefile that is written. WriteMakefile( 'NAME' => 'Strange', 'VERSION' => 2.1, 'LIBS' => [''], # e.g., '-lm' 'DEFINE' => '', # e.g., '-DHAVE_SOMETHING' 'INC' => '', # e.g., '-I/usr/include/other' 'BUILD_REQUIRES' => { 'Module::Build::Tiny' => 0, }, ); MYMETA.yml000444001750001750 61412234004042 17141 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1--- abstract: ~ author: [] build_requires: Module::Build::Tiny: 0 configure_requires: ExtUtils::MakeMaker: 0 distribution_type: module dynamic_config: 0 generated_by: 'ExtUtils::MakeMaker version 6.57_05' license: unknown meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html version: 1.4 name: Strange no_index: directory: - t - inc requires: {} version: 2.1 README000444001750001750 512234004042 16234 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1burp test.pl000444001750001750 121412234004042 16753 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1# Before `make install' is performed this script should be runnable with # `make test'. After `make install' it should work as `perl test.pl' ######################### We start with some black magic to print on failure. # Change 1..1 below to 1..last_test_to_print . # (It may become useful if the test is moved to ./t subdirectory.) BEGIN { $| = 1; print "1..1\n"; } END {print "not ok 1\n" unless $loaded;} use Strange; $loaded = 1; print "ok 1\n"; ######################### End of black magic. # Insert your test code below (better if it prints "ok 13" # (correspondingly "not ok 13") depending on the success of chunk 13 # of the test code): Changes000444001750001750 16712234004042 16720 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1Revision history for Perl extension Strange. 2.1 Tue Oct 24 16:24:40 2000 - original version; created by h2xs 1.19 Strange.xs000444001750001750 65212234004042 17403 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1#include "EXTERN.h" #include "perl.h" #include "XSUB.h" static int not_here(char *s) { croak("%s not implemented on this architecture", s); return -1; } static double constant(char *name, int arg) { errno = 0; switch (*name) { } errno = EINVAL; return 0; not_there: errno = ENOENT; return 0; } MODULE = Strange PACKAGE = Strange double constant(name,arg) char * name int arg TODO000444001750001750 012234004042 16037 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1wanted-debian--refresh--source-format=3.0_quilt000755001750001750 012234004042 26114 5ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1copyright000444001750001750 266112234004042 30211 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debian--refresh--source-format=3.0_quiltFormat: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Source: https://metacpan.org/release/Strange Upstream-Contact: A. U. Thor, a.u.thor@a.galaxy.far.far.away Upstream-Name: Strange DISCLAIMER: This copyright info was automatically extracted from the perl module. It may not be accurate, so you better check the module sources in order to ensure the module for its inclusion in Debian or for general legal information. Please, if licensing information is incorrectly generated, file a bug on dh-make-perl. NOTE: Don't forget to remove this disclaimer once you are happy with this file. Files: * Copyright: A. U. Thor, a.u.thor@a.galaxy.far.far.away License: Files: debian/* Copyright: 2007, Joe Maintainer License: Artistic or GPL-1+ License: Artistic This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License, which comes with Perl. . On Debian systems, the complete text of the Artistic License can be found in `/usr/share/common-licenses/Artistic'. License: GPL-1+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. . On Debian systems, the complete text of version 1 of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-1'. watch000444001750001750 15312234004042 27261 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debian--refresh--source-format=3.0_quiltversion=3 https://metacpan.org/release/Strange .*/Strange-v?(\d[\d.-]*)\.(?:tar(?:\.gz|\.bz2)?|tgz|zip)$ libstrange-perl.docs000444001750001750 512234004042 32130 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debian--refresh--source-format=3.0_quiltTODO compat000444001750001750 212234004042 27367 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debian--refresh--source-format=3.0_quilt9 control000444001750001750 121512234004042 27653 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debian--refresh--source-format=3.0_quiltSource: libstrange-perl Section: perl Priority: optional Maintainer: Joe Maintainer Build-Depends: debhelper (>= 9.20130630), libmodule-build-tiny-perl, perl Standards-Version: 3.9.5 Homepage: https://metacpan.org/release/Strange Package: libstrange-perl Architecture: any Depends: ${misc:Depends}, ${perl:Depends}, ${shlibs:Depends} Description: Perl extension for blah blah blah Stub documentation for Strange was created by h2xs. It looks like the author of the extension was negligent enough to leave the stub unedited. . Blah blah blah. . This description was automagically extracted from the module by dh-make-perl. rules000555001750001750 3612234004042 27270 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debian--refresh--source-format=3.0_quilt#!/usr/bin/make -f %: dh $@ changelog000444001750001750 21712234004042 30103 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debian--refresh--source-format=3.0_quiltlibstrange-perl (2.1-1) unstable; urgency=low * Initial Release. -- Joe Maintainer Sun, 30 Nov 2008 12:20:18 +0200 source000755001750001750 012234004042 27414 5ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debian--refresh--source-format=3.0_quiltformat000444001750001750 1412234004042 30717 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debian--refresh--source-format=3.0_quilt/source3.0 (quilt) wanted-debian000755001750001750 012234004042 20006 5ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1copyright000444001750001750 266112234004042 22103 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debianFormat: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Source: https://metacpan.org/release/Strange Upstream-Contact: A. U. Thor, a.u.thor@a.galaxy.far.far.away Upstream-Name: Strange DISCLAIMER: This copyright info was automatically extracted from the perl module. It may not be accurate, so you better check the module sources in order to ensure the module for its inclusion in Debian or for general legal information. Please, if licensing information is incorrectly generated, file a bug on dh-make-perl. NOTE: Don't forget to remove this disclaimer once you are happy with this file. Files: * Copyright: A. U. Thor, a.u.thor@a.galaxy.far.far.away License: Files: debian/* Copyright: 2007, Joe Maintainer License: Artistic or GPL-1+ License: Artistic This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License, which comes with Perl. . On Debian systems, the complete text of the Artistic License can be found in `/usr/share/common-licenses/Artistic'. License: GPL-1+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. . On Debian systems, the complete text of version 1 of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-1'. watch000444001750001750 15312234004042 21153 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debianversion=3 https://metacpan.org/release/Strange .*/Strange-v?(\d[\d.-]*)\.(?:tar(?:\.gz|\.bz2)?|tgz|zip)$ libstrange-perl.docs000444001750001750 512234004042 24022 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debianTODO compat000444001750001750 212234004042 21261 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debian9 control000444001750001750 121512234004042 21545 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debianSource: libstrange-perl Section: perl Priority: optional Maintainer: Joe Maintainer Build-Depends: debhelper (>= 9.20130630), libmodule-build-tiny-perl, perl Standards-Version: 3.9.5 Homepage: https://metacpan.org/release/Strange Package: libstrange-perl Architecture: any Depends: ${misc:Depends}, ${perl:Depends}, ${shlibs:Depends} Description: Perl extension for blah blah blah Stub documentation for Strange was created by h2xs. It looks like the author of the extension was negligent enough to leave the stub unedited. . Blah blah blah. . This description was automagically extracted from the module by dh-make-perl. rules000555001750001750 3612234004042 21162 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debian#!/usr/bin/make -f %: dh $@ changelog000444001750001750 21712234004042 21775 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debianlibstrange-perl (2.1-1) unstable; urgency=low * Initial Release. -- Joe Maintainer Sun, 30 Nov 2008 12:20:18 +0200 wanted-debian--refresh000755001750001750 012234004042 21517 5ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1copyright000444001750001750 266112234004042 23614 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debian--refreshFormat: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Source: https://metacpan.org/release/Strange Upstream-Contact: A. U. Thor, a.u.thor@a.galaxy.far.far.away Upstream-Name: Strange DISCLAIMER: This copyright info was automatically extracted from the perl module. It may not be accurate, so you better check the module sources in order to ensure the module for its inclusion in Debian or for general legal information. Please, if licensing information is incorrectly generated, file a bug on dh-make-perl. NOTE: Don't forget to remove this disclaimer once you are happy with this file. Files: * Copyright: A. U. Thor, a.u.thor@a.galaxy.far.far.away License: Files: debian/* Copyright: 2007, Joe Maintainer License: Artistic or GPL-1+ License: Artistic This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License, which comes with Perl. . On Debian systems, the complete text of the Artistic License can be found in `/usr/share/common-licenses/Artistic'. License: GPL-1+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. . On Debian systems, the complete text of version 1 of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-1'. watch000444001750001750 15312234004042 22664 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debian--refreshversion=3 https://metacpan.org/release/Strange .*/Strange-v?(\d[\d.-]*)\.(?:tar(?:\.gz|\.bz2)?|tgz|zip)$ libstrange-perl.docs000444001750001750 512234004042 25533 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debian--refreshTODO compat000444001750001750 212234004042 22772 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debian--refresh9 control000444001750001750 121512234004042 23256 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debian--refreshSource: libstrange-perl Section: perl Priority: optional Maintainer: Joe Maintainer Build-Depends: debhelper (>= 9.20130630), libmodule-build-tiny-perl, perl Standards-Version: 3.9.5 Homepage: https://metacpan.org/release/Strange Package: libstrange-perl Architecture: any Depends: ${misc:Depends}, ${perl:Depends}, ${shlibs:Depends} Description: Perl extension for blah blah blah Stub documentation for Strange was created by h2xs. It looks like the author of the extension was negligent enough to leave the stub unedited. . Blah blah blah. . This description was automagically extracted from the module by dh-make-perl. rules000555001750001750 3612234004042 22673 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debian--refresh#!/usr/bin/make -f %: dh $@ changelog000444001750001750 21712234004042 23506 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debian--refreshlibstrange-perl (2.1-1) unstable; urgency=low * Initial Release. -- Joe Maintainer Sun, 30 Nov 2008 12:20:18 +0200 wanted-debian--refresh-email000755001750001750 012234004042 22604 5ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1copyright000444001750001750 273312234004042 24701 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debian--refresh-emailFormat: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Source: https://metacpan.org/release/Strange Upstream-Contact: A. U. Thor, a.u.thor@a.galaxy.far.far.away Upstream-Name: Strange DISCLAIMER: This copyright info was automatically extracted from the perl module. It may not be accurate, so you better check the module sources in order to ensure the module for its inclusion in Debian or for general legal information. Please, if licensing information is incorrectly generated, file a bug on dh-make-perl. NOTE: Don't forget to remove this disclaimer once you are happy with this file. Files: * Copyright: A. U. Thor, a.u.thor@a.galaxy.far.far.away License: Files: debian/* Copyright: 2011, Florian Geekwurt 2008, Joe Maintainer License: Artistic or GPL-1+ License: Artistic This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License, which comes with Perl. . On Debian systems, the complete text of the Artistic License can be found in `/usr/share/common-licenses/Artistic'. License: GPL-1+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. . On Debian systems, the complete text of version 1 of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-1'. watch000444001750001750 15312234004042 23751 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debian--refresh-emailversion=3 https://metacpan.org/release/Strange .*/Strange-v?(\d[\d.-]*)\.(?:tar(?:\.gz|\.bz2)?|tgz|zip)$ libstrange-perl.docs000444001750001750 512234004042 26620 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debian--refresh-emailTODO compat000444001750001750 212234004042 24057 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debian--refresh-email9 control000444001750001750 122012234004042 24337 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debian--refresh-emailSource: libstrange-perl Section: perl Priority: optional Maintainer: Florian Geekwurt Build-Depends: debhelper (>= 9.20130630), libmodule-build-tiny-perl, perl Standards-Version: 3.9.5 Homepage: https://metacpan.org/release/Strange Package: libstrange-perl Architecture: any Depends: ${misc:Depends}, ${perl:Depends}, ${shlibs:Depends} Description: Perl extension for blah blah blah Stub documentation for Strange was created by h2xs. It looks like the author of the extension was negligent enough to leave the stub unedited. . Blah blah blah. . This description was automagically extracted from the module by dh-make-perl. rules000555001750001750 3612234004042 23760 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debian--refresh-email#!/usr/bin/make -f %: dh $@ changelog000444001750001750 50112234004042 24567 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debian--refresh-emaillibstrange-perl (3.1-1) UNRELEASED; urgency=low * Email change: Joe Maintainer -> joe@debian.org -- Florian Geekwurt Sun, 6 Mar 2011 14:02:37 +0000 libstrange-perl (2.1-1) unstable; urgency=low * Initial Release. -- Joe Maintainer Sat, 29 Nov 2008 23:17:07 +0200 source000755001750001750 012234004042 24104 5ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debian--refresh-emailformat000444001750001750 1412234004042 25407 0ustar00damdam000000000000DhMakePerl-0.80/t/dists/Strange-2.1/wanted-debian--refresh-email/source3.0 (quilt) makefiles000755001750001750 012234004042 14215 5ustar00damdam000000000000DhMakePerl-0.80/tmodule-install-autodie.PL000444001750001750 154612234004042 21176 0ustar00damdam000000000000DhMakePerl-0.80/t/makefiles#!/usr/bin/perl -w use strict; use inc::Module::Install; # This isn't the same as the real autodie makefile, which takes pains # to be friendlier to older versions of dh-make-perl. However it is # indicative of what can be found a typical Module::Install file. name 'autodie'; all_from 'lib/autodie.pm'; version 1.994; test_requires 'Test::More'; author 'Paul Fenwick '; requires 'perl' => '5.8.0'; recommends 'IPC::System::Simple' => '0.12'; # For autodying system() resources repository => 'http://github.com/pfenwick/autodie/tree/master'; resources bugtracker => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie'; resources license => 'http://dev.perl.org/licenses/'; resources Blog => 'http://pjf.id.au/blog/toc.html?tag=autodie'; installdirs 'perl'; # This overwrites a core module! WriteAll; contents000755001750001750 012234004042 14112 5ustar00damdam000000000000DhMakePerl-0.80/tsources.list000444001750001750 111612234004042 16626 0ustar00damdam000000000000DhMakePerl-0.80/t/contents# dummy sources.list file used only for testing deb http://test/debian sid main deb http://test/debian testing main deb http://test/debian testing main deb http://security.debian.org/ stable/updates main contrib non-free deb http://www.toastfreeware.priv.at/debian stable/ deb http://www.kiberpipa.org/~minmax/cinelerra/builds/sid/ ./ deb http://debian.cihar.com/ unstable main contrib non-free deb-src http://debian.cihar.com/ unstable main contrib non-free deb http://nightlies.videolan.org/build/sid-i386/arch ./ deb file:/home/jason/debian stable main contrib non-free test_debian_dists_sid_main_Contents000444001750001750 34147612234004042 23460 0ustar00damdam000000000000DhMakePerl-0.80/t/contentsThis file maps each file available in the Debian GNU/Linux system to the package from which it originates. It includes packages from the DIST distribution for the ARCH architecture. You can use this list to determine which package contains a specific file, or whether or not a specific file is available. The list is updated weekly, each architecture on a different day. When a file is contained in more than one package, all packages are listed. When a directory is contained in more than one package, only the first is listed. The best way to search quickly for a file is with the Unix `grep' utility, as in `grep CONTENTS': $ grep nose Contents etc/nosendfile net/sendfile usr/X11R6/bin/noseguy x11/xscreensaver usr/X11R6/man/man1/noseguy.1x.gz x11/xscreensaver usr/doc/examples/ucbmpeg/mpeg_encode/nosearch.param graphics/ucbmpeg usr/lib/cfengine/bin/noseyparker admin/cfengine This list contains files in all packages, even though not all of the packages are installed on an actual system at once. If you want to find out which packages on an installed Debian system provide a particular file, you can use `dpkg --search ': $ dpkg --search /usr/bin/dselect dpkg: /usr/bin/dselect FILE LOCATION bin/afio utils/afio bin/ash shells/ash bin/bash shells/bash bin/bash-minimal shells/bash-minimal bin/bash-static shells/bash-static bin/bsd-csh shells/csh bin/bunzip2 utils/bzip2 bin/busybox utils/busybox,shells/busybox-static bin/bzcat utils/bzip2 bin/bzcmp utils/bzip2 bin/bzdiff utils/bzip2 bin/bzegrep utils/bzip2 bin/bzexe utils/bzip2 bin/bzfgrep utils/bzip2 bin/bzgrep utils/bzip2 bin/bzip2 utils/bzip2 bin/bzip2recover utils/bzip2 bin/bzless utils/bzip2 bin/bzmore utils/bzip2 bin/cat utils/coreutils bin/cftp net/cftp bin/check-foreground-console misc/libpam-foreground bin/checkpassword admin/fgetty bin/chgrp utils/coreutils bin/chmod utils/coreutils bin/chown utils/coreutils bin/chvt utils/kbd bin/con2fbmap admin/fbset bin/cp utils/coreutils bin/cpio utils/cpio bin/cvssh devel/gforge-common bin/dash shells/dash bin/date utils/coreutils bin/dd utils/coreutils bin/dd_rescue utils/ddrescue bin/df utils/coreutils bin/dir utils/coreutils bin/dmesg utils/util-linux bin/dnsdomainname admin/hostname bin/domainname net/nis bin/dtc-xen_userconsole web/dtc-xen bin/dumpkeys utils/kbd bin/echo utils/coreutils bin/ed editors/ed bin/efibootmgr admin/efibootmgr bin/egrep utils/grep bin/elvis-tiny editors/elvis-tiny bin/false utils/coreutils bin/fbset admin/fbset bin/fgconsole utils/console-tools,utils/kbd bin/fgetty-login admin/fgetty bin/fgetty-login2 admin/fgetty bin/fgrep utils/grep bin/francine admin/francine bin/fuser admin/psmisc bin/grep utils/grep bin/gunzip utils/gzip bin/gzexe utils/gzip bin/gzip utils/gzip bin/hostname admin/hostname bin/ip net/iproute bin/kbd_mode utils/kbd bin/keyctl misc/keyutils bin/kill admin/procps bin/ksh93 shells/ksh bin/ln utils/coreutils bin/loadkeys utils/console-tools,utils/kbd bin/login admin/login usr/lib/perl5/File/Spec.pm perl/libfile-spec-perl usr/share/perl/5.10.0/File/Spec.pm perl/perl-base usr/share/perl5/File/Which.pm perl/libfile-which-perl usr/share/perl5/XML/Generator.pm perl/libxml-generator-perl usr/share/perl5/XML/Generator/DOM.pm perl/libxml-generator-perl usr/share/perl5/Data/Page.pm perl/libdata-page-perl usr/share/perl5/Data/Pager.pm perl/libdatapager-perl usr/lib/lastfm/libMoose.so.1 sound/lastfm usr/lib/lastfm/libMoose.so.1.0 sound/lastfm usr/lib/lastfm/libMoose.so.1.0.0 sound/lastfm usr/share/games/lletters/images/Moose.png games/lletters-media usr/share/games/lmemory/pixmaps/Moose.xpm games/lmemory usr/share/man/man3/Moose.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Basics::Recipe1.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Basics::Recipe10.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Basics::Recipe2.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Basics::Recipe3.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Basics::Recipe4.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Basics::Recipe5.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Basics::Recipe6.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Basics::Recipe7.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Basics::Recipe9.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Extending::Recipe1.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Extending::Recipe2.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Extending::Recipe3.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Extending::Recipe4.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::FAQ.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Meta::Recipe1.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Meta::Recipe2.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Meta::Recipe3.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Meta::Recipe4.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Meta::Recipe5.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Roles::Recipe1.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Roles::Recipe2.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Snack::Keywords.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Snack::Types.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Style.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::WTF.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Error::Confess.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Error::Croak.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Error::Default.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Exporter.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Intro.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Attribute.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Class.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Instance.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Method.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Method::Accessor.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Method::Augmented.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Method::Constructor.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Method::Delegation.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Method::Destructor.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Method::Overriden.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Role.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Role::Application.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Role::Application::RoleSummation.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Role::Application::ToClass.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Role::Application::ToInstance.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Role::Application::ToRole.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Role::Composite.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Role::Method.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Role::Method::Required.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::TypeCoercion.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::TypeCoercion::Union.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::TypeConstraint.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::TypeConstraint::Class.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::TypeConstraint::Enum.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::TypeConstraint::Parameterizable.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::TypeConstraint::Parameterized.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::TypeConstraint::Registry.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::TypeConstraint::Role.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::TypeConstraint::Union.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Object.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Role.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Spec::Role.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Unsweetened.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Util.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Util::MetaRole.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Util::TypeConstraints.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Util::TypeConstraints::OptimizedConstraints.3pm.gz perl/libmoose-perl usr/share/man/man3/MooseX::Adopt::Class::Accessor::Fast.3pm.gz perl/libmoosex-emulate-class-accessor-fast-perl usr/share/man/man3/MooseX::Emulate::Class::Accessor::Fast.3pm.gz perl/libmoosex-emulate-class-accessor-fast-perl usr/share/man/man3/MooseX::Getopt.3pm.gz perl/libmoosex-getopt-perl usr/share/man/man3/MooseX::Getopt::Meta::Attribute.3pm.gz perl/libmoosex-getopt-perl usr/share/man/man3/MooseX::Getopt::Meta::Attribute::NoGetopt.3pm.gz perl/libmoosex-getopt-perl usr/share/man/man3/MooseX::Getopt::Meta::Attribute::Trait.3pm.gz perl/libmoosex-getopt-perl usr/share/man/man3/MooseX::Getopt::Meta::Attribute::Trait::NoGetopt.3pm.gz perl/libmoosex-getopt-perl usr/share/man/man3/MooseX::Getopt::OptionTypeMap.3pm.gz perl/libmoosex-getopt-perl usr/share/man/man3/MooseX::Getopt::Strict.3pm.gz perl/libmoosex-getopt-perl usr/share/man/man3/MooseX::Object::Pluggable.3pm.gz perl/libmoosex-object-pluggable-perl usr/share/man/man3/MooseX::StrictConstructor.3pm.gz perl/libmoosex-strictconstructor-perl usr/share/man/man3/MooseX::StrictConstructor::Role::Meta::Method::Constructor.3pm.gz perl/libmoosex-strictconstructor-perl usr/share/man/man3/MooseX::StrictConstructor::Role::Object.3pm.gz perl/libmoosex-strictconstructor-perl usr/share/man/man3/Test::Moose.3pm.gz perl/libmoose-perl # the following line is mangled on purpose in order to test stripping usr/share/perl5/Moose.pm moose/perl/libmoose-perl usr/share/perl5/Moose/Cookbook.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Basics/Recipe1.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Basics/Recipe10.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Basics/Recipe2.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Basics/Recipe3.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Basics/Recipe4.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Basics/Recipe5.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Basics/Recipe6.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Basics/Recipe7.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Basics/Recipe9.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Extending/Recipe1.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Extending/Recipe2.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Extending/Recipe3.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Extending/Recipe4.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/FAQ.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Meta/Recipe1.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Meta/Recipe2.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Meta/Recipe3.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Meta/Recipe4.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Meta/Recipe5.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Roles/Recipe1.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Roles/Recipe2.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Snack/Keywords.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Snack/Types.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Style.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/WTF.pod perl/libmoose-perl usr/share/perl5/Moose/Error/Confess.pm perl/libmoose-perl usr/share/perl5/Moose/Error/Croak.pm perl/libmoose-perl usr/share/perl5/Moose/Error/Default.pm perl/libmoose-perl usr/share/perl5/Moose/Exporter.pm perl/libmoose-perl usr/share/perl5/Moose/Intro.pod perl/libmoose-perl usr/share/perl5/Moose/Meta/Attribute.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Class.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Instance.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Method.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Method/Accessor.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Method/Augmented.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Method/Constructor.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Method/Delegation.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Method/Destructor.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Method/Overriden.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Role.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Role/Application.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Role/Application/RoleSummation.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Role/Application/ToClass.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Role/Application/ToInstance.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Role/Application/ToRole.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Role/Composite.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Role/Method.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Role/Method/Required.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/TypeCoercion.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/TypeCoercion/Union.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/TypeConstraint.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/TypeConstraint/Class.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/TypeConstraint/Enum.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/TypeConstraint/Parameterizable.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/TypeConstraint/Parameterized.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/TypeConstraint/Registry.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/TypeConstraint/Role.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/TypeConstraint/Union.pm perl/libmoose-perl usr/share/perl5/Moose/Object.pm perl/libmoose-perl usr/share/perl5/Moose/Role.pm perl/libmoose-perl usr/share/perl5/Moose/Spec/Role.pod perl/libmoose-perl usr/share/perl5/Moose/Unsweetened.pod perl/libmoose-perl usr/share/perl5/Moose/Util.pm perl/libmoose-perl usr/share/perl5/Moose/Util/MetaRole.pm perl/libmoose-perl usr/share/perl5/Moose/Util/TypeConstraints.pm perl/libmoose-perl usr/share/perl5/Moose/Util/TypeConstraints/OptimizedConstraints.pm perl/libmoose-perl usr/share/perl5/MooseX/Adopt/Class/Accessor/Fast.pm perl/libmoosex-emulate-class-accessor-fast-perl usr/share/perl5/MooseX/Emulate/Class/Accessor/Fast.pm perl/libmoosex-emulate-class-accessor-fast-perl usr/share/perl5/MooseX/Getopt.pm perl/libmoosex-getopt-perl usr/share/perl5/MooseX/Getopt/Meta/Attribute.pm perl/libmoosex-getopt-perl usr/share/perl5/MooseX/Getopt/Meta/Attribute/NoGetopt.pm perl/libmoosex-getopt-perl usr/share/perl5/MooseX/Getopt/Meta/Attribute/Trait.pm perl/libmoosex-getopt-perl usr/share/perl5/MooseX/Getopt/Meta/Attribute/Trait/NoGetopt.pm perl/libmoosex-getopt-perl usr/share/perl5/MooseX/Getopt/OptionTypeMap.pm perl/libmoosex-getopt-perl usr/share/perl5/MooseX/Getopt/Strict.pm perl/libmoosex-getopt-perl usr/share/perl5/MooseX/Object/Pluggable.pm perl/libmoosex-object-pluggable-perl usr/share/perl5/MooseX/StrictConstructor.pm perl/libmoosex-strictconstructor-perl usr/share/perl5/MooseX/StrictConstructor/Role/Meta/Method/Constructor.pm perl/libmoosex-strictconstructor-perl usr/share/perl5/MooseX/StrictConstructor/Role/Object.pm perl/libmoosex-strictconstructor-perl usr/share/perl5/Test/Moose.pm perl/libmoose-perl usr/include/Poco/URI.h libdevel/libpoco-dev usr/include/Poco/URIStreamFactory.h libdevel/libpoco-dev usr/include/Poco/URIStreamOpener.h libdevel/libpoco-dev usr/include/c++/4.2/java/net/URI.h libdevel/libgcj8-dev usr/include/c++/4.2/java/net/URISyntaxException.h libdevel/libgcj8-dev usr/include/c++/4.2/javax/print/URIException.h libdevel/libgcj8-dev usr/include/c++/4.2/javax/print/attribute/URISyntax.h libdevel/libgcj8-dev usr/include/c++/4.2/javax/print/attribute/standard/PrinterURI.h libdevel/libgcj8-dev usr/include/c++/4.3/java/net/URI.h libdevel/libgcj9-dev usr/include/c++/4.3/java/net/URISyntaxException.h libdevel/libgcj9-dev usr/include/c++/4.3/javax/print/URIException.h libdevel/libgcj9-dev usr/include/c++/4.3/javax/print/attribute/URISyntax.h libdevel/libgcj9-dev usr/include/c++/4.3/javax/print/attribute/standard/PrinterURI.h libdevel/libgcj9-dev usr/include/iceape/docshell/nsCDefaultURIFixup.h devel/iceape-dev usr/include/iceape/docshell/nsIURIFixup.h devel/iceape-dev usr/include/iceape/dom/nsIDOMSVGURIReference.h devel/iceape-dev usr/include/iceape/editor/nsIURIRefObject.h devel/iceape-dev usr/include/iceape/imgicon/nsIIconURI.h devel/iceape-dev usr/include/iceape/jar/nsIJARURI.h devel/iceape-dev usr/include/iceape/msgsmime/nsEncryptedSMIMEURIsService.h devel/iceape-dev usr/include/iceape/msgsmime/nsIEncryptedSMIMEURIsSrvc.h devel/iceape-dev usr/include/iceape/necko/nsIURIChecker.h devel/iceape-dev usr/include/iceape/necko/nsURIHashKey.h devel/iceape-dev usr/include/iceape/nsIURI.h devel/iceape-dev usr/include/iceape/nsIURIContentListener.h devel/iceape-dev usr/include/iceape/uconv/nsITextToSubURI.h devel/iceape-dev usr/include/iceape/uriloader/nsCURILoader.h devel/iceape-dev usr/include/iceape/uriloader/nsIURILoader.h devel/iceape-dev usr/include/iceape/uriloader/nsURILoader.h devel/iceape-dev usr/include/iceape/webshell/nsIRefreshURI.h devel/iceape-dev usr/include/icedove/docshell/nsCDefaultURIFixup.h mail/icedove-dev usr/include/icedove/docshell/nsIURIFixup.h mail/icedove-dev usr/include/icedove/dom/nsIDOMSVGURIReference.h mail/icedove-dev usr/include/icedove/editor/nsIURIRefObject.h mail/icedove-dev usr/include/icedove/imgicon/nsIIconURI.h mail/icedove-dev usr/include/icedove/jar/nsIJARURI.h mail/icedove-dev usr/include/icedove/msgsmime/nsEncryptedSMIMEURIsService.h mail/icedove-dev usr/include/icedove/msgsmime/nsIEncryptedSMIMEURIsSrvc.h mail/icedove-dev usr/include/icedove/necko/nsIURIChecker.h mail/icedove-dev usr/include/icedove/necko/nsURIHashKey.h mail/icedove-dev usr/include/icedove/nsIURI.h mail/icedove-dev usr/include/icedove/nsIURIContentListener.h mail/icedove-dev usr/include/icedove/uconv/nsITextToSubURI.h mail/icedove-dev usr/include/icedove/uriloader/nsCURILoader.h mail/icedove-dev usr/include/icedove/uriloader/nsIURILoader.h mail/icedove-dev usr/include/icedove/uriloader/nsURILoader.h mail/icedove-dev usr/include/icedove/webshell/nsIRefreshURI.h mail/icedove-dev usr/include/iceowl/docshell/nsCDefaultURIFixup.h devel/iceowl-dev usr/include/iceowl/docshell/nsIURIFixup.h devel/iceowl-dev usr/include/iceowl/editor/nsIURIRefObject.h devel/iceowl-dev usr/include/iceowl/imgicon/nsIIconURI.h devel/iceowl-dev usr/include/iceowl/jar/nsIJARURI.h devel/iceowl-dev usr/include/iceowl/necko/nsIURIChecker.h devel/iceowl-dev usr/include/iceowl/necko/nsURIHashKey.h devel/iceowl-dev usr/include/iceowl/nsIURI.h devel/iceowl-dev usr/include/iceowl/nsIURIContentListener.h devel/iceowl-dev usr/include/iceowl/uconv/nsITextToSubURI.h devel/iceowl-dev usr/include/iceowl/uriloader/nsCURILoader.h devel/iceowl-dev usr/include/iceowl/uriloader/nsIURILoader.h devel/iceowl-dev usr/include/iceowl/uriloader/nsURILoader.h devel/iceowl-dev usr/include/iceowl/webshell/nsIRefreshURI.h devel/iceowl-dev usr/include/kde/dom/SVGURIReference.h devel/kdegraphics-dev usr/include/omniORB4/omniURI.h libdevel/libomniorb4-dev usr/include/xalanc/PlatformSupport/URISupport.hpp libdevel/libxalan110-dev usr/include/xalanc/PlatformSupport/XalanParsedURI.hpp libdevel/libxalan110-dev usr/include/xalanc/XPath/FunctionNamespaceURI.hpp libdevel/libxalan110-dev usr/include/xalanc/XSLT/FunctionUnparsedEntityURI.hpp libdevel/libxalan110-dev usr/include/xercesc/validators/datatype/AnyURIDatatypeValidator.hpp libdevel/libxerces-c2-dev usr/include/xqilla/context/URIResolver.hpp libdevel/libxqilla-dev usr/include/xqilla/functions/FunctionBaseURI.hpp libdevel/libxqilla-dev usr/include/xqilla/functions/FunctionDocumentURI.hpp libdevel/libxqilla-dev usr/include/xqilla/functions/FunctionNamespaceURIForPrefix.hpp libdevel/libxqilla-dev usr/include/xqilla/functions/FunctionNamespaceURIFromQName.hpp libdevel/libxqilla-dev usr/include/xqilla/functions/FunctionResolveURI.hpp libdevel/libxqilla-dev usr/include/xqilla/functions/FunctionStaticBaseURI.hpp libdevel/libxqilla-dev usr/include/xqilla/items/ATAnyURIOrDerived.hpp libdevel/libxqilla-dev usr/include/xsec/framework/XSECURIResolver.hpp libdevel/libxml-security-c-dev usr/include/xsec/framework/XSECURIResolverXerces.hpp libdevel/libxml-security-c-dev usr/include/xsec/utils/unixutils/XSECBinHTTPURIInputStream.hpp libdevel/libxml-security-c-dev usr/include/xsec/utils/unixutils/XSECURIResolverGenericUnix.hpp libdevel/libxml-security-c-dev usr/include/xulrunner-1.9/stable/nsIURI.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/stable/nsIURIContentListener.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsCDefaultURIFixup.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsCURILoader.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsIContentURIGrouper.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsIDOMSVGURIReference.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsIIconURI.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsIJARURI.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsINestedURI.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsIRefreshURI.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsITextToSubURI.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsIURI.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsIURIChecker.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsIURIClassifier.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsIURIContentListener.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsIURIFixup.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsIURILoader.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsIURIRefObject.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsURIHashKey.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsURILoader.h libdevel/xulrunner-dev usr/lib/R/site-library/XML/R-ex/parseURI.R math/r-cran-xml usr/lib/R/site-library/XML/help/parseURI math/r-cran-xml usr/lib/R/site-library/XML/html/parseURI.html math/r-cran-xml usr/lib/R/site-library/XML/latex/parseURI.tex math/r-cran-xml usr/lib/R/site-library/fCalendar/R-ex/holidayZURICH.R math/r-cran-fcalendar usr/lib/R/site-library/fCalendar/help/holidayZURICH math/r-cran-fcalendar usr/lib/R/site-library/fCalendar/html/holidayZURICH.html math/r-cran-fcalendar usr/lib/R/site-library/fCalendar/latex/holidayZURICH.tex math/r-cran-fcalendar usr/lib/R/site-library/timeDate/R-ex/holidayZURICH.R math/r-cran-timedate usr/lib/R/site-library/timeDate/help/holidayZURICH math/r-cran-timedate usr/lib/R/site-library/timeDate/html/holidayZURICH.html math/r-cran-timedate usr/lib/R/site-library/timeDate/latex/holidayZURICH.tex math/r-cran-timedate usr/lib/gcc-snapshot/include/c++/4.4.0/java/net/URI.h devel/gcc-snapshot usr/lib/gcc-snapshot/include/c++/4.4.0/java/net/URISyntaxException.h devel/gcc-snapshot usr/lib/gcc-snapshot/include/c++/4.4.0/javax/print/URIException.h devel/gcc-snapshot usr/lib/gcc-snapshot/include/c++/4.4.0/javax/print/attribute/URISyntax.h devel/gcc-snapshot usr/lib/gcc-snapshot/include/c++/4.4.0/javax/print/attribute/standard/PrinterURI.h devel/gcc-snapshot usr/lib/gdesklets/Controls/URI/IURI.py gnome/gdesklets usr/lib/gdesklets/Controls/URI/__init__.py gnome/gdesklets usr/lib/gdesklets/config/ConfigURI.py gnome/gdesklets usr/lib/haskell-packages/ghc6/lib/HAppS-Server-0.9.2.1/ghc-6.8.2/HAppS/Server/SURI.hi libdevel/libghc6-happs-server-dev usr/lib/haskell-packages/ghc6/lib/HAppS-Server-0.9.2.1/ghc-6.8.2/HAppS/Server/SURI/ParseURI.hi libdevel/libghc6-happs-server-dev usr/lib/haskell-packages/ghc6/lib/gnomevfs-0.9.13/imports/System/Gnome/VFS/URI.hi libdevel/libghc6-gnomevfs-dev usr/lib/hugs/oldlib/URI.hs interpreters/hugs usr/lib/hugs/packages/network/Network/URI.hs devel/libhugs-network-bundled usr/lib/jruby1.1/share/ri/1.8/system/DRb/DRbBadURI/cdesc-DRbBadURI.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/DRb/DRbURIOption/cdesc-DRbURIOption.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/Kernel/URI-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/OpenURI/Buffer/cdesc-Buffer.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/OpenURI/HTTPError/cdesc-HTTPError.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/OpenURI/HTTPError/new-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/OpenURI/Meta/cdesc-Meta.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/OpenURI/Meta/charset-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/OpenURI/Meta/content_encoding-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/OpenURI/Meta/content_type-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/OpenURI/Meta/last_modified-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/OpenURI/OpenRead/cdesc-OpenRead.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/OpenURI/OpenRead/open-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/OpenURI/OpenRead/read-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/OpenURI/cdesc-OpenURI.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/SOAP/Mapping/URIFactory_/cdesc-URIFactory_.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/SOAP/Mapping/URIFactory_/obj2soap-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/SOAP/Mapping/URIFactory_/soap2obj-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/SOAP/SOAPAnyURI/cdesc-SOAPAnyURI.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/BadURIError/cdesc-BadURIError.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Error/cdesc-Error.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Escape/cdesc-Escape.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Escape/decode-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Escape/encode-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Escape/escape-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Escape/unescape-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/FTP/build-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/FTP/cdesc-FTP.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/FTP/check_typecode-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/FTP/new-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/FTP/new2-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/FTP/set_typecode-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/FTP/to_s-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/FTP/typecode%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/%2b-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/%2d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/%3d%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/absolute%3f-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/absolute-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/build-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/build2-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/cdesc-Generic.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/check_fragment-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/check_host-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/check_opaque-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/check_password-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/check_path-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/check_port-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/check_query-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/check_registry-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/check_scheme-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/check_user-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/check_userinfo-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/coerce-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/component-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/component-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/component_ary-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/default_port-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/default_port-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/eql%3f-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/escape_userpass-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/find_proxy-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/fragment%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/hash-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/hierarchical%3f-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/host%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/inspect-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/merge%21-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/merge-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/merge0-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/merge_path-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/new-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/normalize%21-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/normalize-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/opaque%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/password%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/password-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/path%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/path_query-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/port%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/query%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/registry%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/relative%3f-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/replace%21-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/route_from-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/route_from0-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/route_from_path-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/route_to-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/scheme%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/select-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/set_fragment-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/set_host-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/set_opaque-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/set_password-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/set_path-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/set_port-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/set_query-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/set_registry-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/set_scheme-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/set_user-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/set_userinfo-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/split_path-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/split_userinfo-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/to_s-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/use_registry-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/user%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/user-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/userinfo%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/userinfo-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/HTTP/build-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/HTTP/cdesc-HTTP.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/HTTP/new-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/HTTP/request_uri-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/HTTPS/cdesc-HTTPS.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/InvalidComponentError/cdesc-InvalidComponentError.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/InvalidURIError/cdesc-InvalidURIError.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/attributes%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/attributes-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/build-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/build_path_query-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/cdesc-LDAP.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/dn%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/dn-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/extensions%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/extensions-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/filter%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/filter-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/hierarchical%3f-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/new-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/parse_dn-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/parse_query-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/scope%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/scope-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/set_attributes-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/set_dn-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/set_extensions-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/set_filter-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/set_scope-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/MailTo/build-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/MailTo/cdesc-MailTo.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/MailTo/check_headers-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/MailTo/check_to-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/MailTo/headers%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/MailTo/new-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/MailTo/set_headers-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/MailTo/set_to-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/MailTo/to%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/MailTo/to_mailtext-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/MailTo/to_rfc822text-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/MailTo/to_s-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/REGEXP/PATTERN/cdesc-PATTERN.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/REGEXP/cdesc-REGEXP.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Util/cdesc-Util.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/cdesc-URI.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/extract-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/join-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/parse-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/regexp-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/split-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/XSD/XSDAnyURI/cdesc-XSDAnyURI.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/XSD/XSDAnyURI/new-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/XSD/XSDAnyURI/screen_data-i.yaml interpreters/jruby1.1 usr/lib/network-2.1.0.0/ghc-6.8.2/Network/URI.hi devel/libghc6-network-dev usr/lib/network-2.1.0.0/ghc-6.8.2/Network/URI.p_hi devel/libghc6-network-prof usr/lib/ocaml/3.10.2/galax/anyURI.cmi libdevel/libgalax-ocaml-dev usr/lib/ocaml/3.10.2/galax/anyURI.mli libdevel/libgalax-ocaml-dev usr/lib/ocaml/3.10.2/perl/pl_URI.cmi libdevel/libperl4caml-ocaml-dev usr/lib/ocaml/3.10.2/perl/pl_URI.ml libdevel/libperl4caml-ocaml-dev usr/lib/perl5/APR/URI.pm perl/libapache2-mod-perl2 usr/lib/perl5/Apache2/URI.pm perl/libapache2-mod-perl2 usr/lib/perl5/Gnome2/VFS/URI.pod perl/libgnome2-vfs-perl usr/lib/perl5/auto/APR/URI/URI.bs perl/libapache2-mod-perl2 usr/lib/perl5/auto/APR/URI/URI.so perl/libapache2-mod-perl2 usr/lib/perl5/auto/Apache2/URI/URI.bs perl/libapache2-mod-perl2 usr/lib/perl5/auto/Apache2/URI/URI.so perl/libapache2-mod-perl2 usr/lib/pike/7.6.112/modules/Standards.pmod/URI.pike interpreters/pike7.6-core usr/lib/zope2.10/lib/python/Testing/ZopeTestCase/doc/SECURITY.stx web/zope2.10 usr/share/apache2/error/HTTP_REQUEST_URI_TOO_LARGE.html.var net/apache2.2-common usr/share/classpath/gnu/xml/libxmlj/transform/URIResolverEntityResolver.class libs/classpath-common-unzipped usr/share/classpath/gnu/xml/transform/URIResolverEntityResolver.class libs/classpath-common-unzipped usr/share/classpath/gnu/xml/transform/XSLURIResolver.class libs/classpath-common-unzipped usr/share/classpath/gnu/xml/validation/datatype/AnyURIType.class libs/classpath-common-unzipped usr/share/classpath/java/net/URI.class libs/classpath-common-unzipped usr/share/classpath/java/net/URISyntaxException.class libs/classpath-common-unzipped usr/share/classpath/javax/print/URIException.class libs/classpath-common-unzipped usr/share/classpath/javax/print/attribute/URISyntax.class libs/classpath-common-unzipped usr/share/classpath/javax/print/attribute/standard/PrinterURI.class libs/classpath-common-unzipped usr/share/classpath/javax/xml/transform/URIResolver.class libs/classpath-common-unzipped usr/share/devscripts/Devscripts/URI.pm devel/devscripts usr/share/doc/bsdgames-nonfree/SECURITY.gz non-free/games/bsdgames-nonfree usr/share/doc/bsdgames/SECURITY.gz games/bsdgames usr/share/doc/classpath-doc/api/java/net/URI-source.html doc/classpath-doc usr/share/doc/classpath-doc/api/java/net/URI-uses.html doc/classpath-doc usr/share/doc/classpath-doc/api/java/net/URI.html doc/classpath-doc usr/share/doc/classpath-doc/api/java/net/URISyntaxException-source.html doc/classpath-doc usr/share/doc/classpath-doc/api/java/net/URISyntaxException-uses.html doc/classpath-doc usr/share/doc/classpath-doc/api/java/net/URISyntaxException.html doc/classpath-doc usr/share/doc/classpath-doc/api/javax/print/URIException-source.html doc/classpath-doc usr/share/doc/classpath-doc/api/javax/print/URIException-uses.html doc/classpath-doc usr/share/doc/classpath-doc/api/javax/print/URIException.html doc/classpath-doc usr/share/doc/classpath-doc/api/javax/print/attribute/URISyntax-source.html doc/classpath-doc usr/share/doc/classpath-doc/api/javax/print/attribute/URISyntax-uses.html doc/classpath-doc usr/share/doc/classpath-doc/api/javax/print/attribute/URISyntax.html doc/classpath-doc usr/share/doc/classpath-doc/api/javax/print/attribute/standard/PrinterURI-source.html doc/classpath-doc usr/share/doc/classpath-doc/api/javax/print/attribute/standard/PrinterURI-uses.html doc/classpath-doc usr/share/doc/classpath-doc/api/javax/print/attribute/standard/PrinterURI.html doc/classpath-doc usr/share/doc/classpath-doc/api/javax/xml/transform/URIResolver-source.html doc/classpath-doc usr/share/doc/classpath-doc/api/javax/xml/transform/URIResolver-uses.html doc/classpath-doc usr/share/doc/classpath-doc/api/javax/xml/transform/URIResolver.html doc/classpath-doc usr/share/doc/ddskk/nicola/README.URIs.ja utils/ddskk usr/share/doc/dietlibc-doc/SECURITY doc/dietlibc-doc usr/share/doc/flow-tools/SECURITY net/flow-tools usr/share/doc/fop-doc/html/api/org/apache/fop/apps/FOURIResolver.html contrib/doc/fop-doc usr/share/doc/fop-doc/html/api/org/apache/fop/apps/class-use/FOURIResolver.html contrib/doc/fop-doc usr/share/doc/fop-doc/html/api/org/apache/fop/datatypes/URISpecification.html contrib/doc/fop-doc usr/share/doc/fop-doc/html/api/org/apache/fop/datatypes/class-use/URISpecification.html contrib/doc/fop-doc usr/share/doc/fop-doc/html/api/org/apache/fop/servlet/ServletContextURIResolver.html contrib/doc/fop-doc usr/share/doc/fop-doc/html/api/org/apache/fop/servlet/class-use/ServletContextURIResolver.html contrib/doc/fop-doc usr/share/doc/fop-doc/html/api/org/apache/fop/util/DataURIResolver.html contrib/doc/fop-doc usr/share/doc/fop-doc/html/api/org/apache/fop/util/class-use/DataURIResolver.html contrib/doc/fop-doc usr/share/doc/frox/SECURITY net/frox usr/share/doc/gcj-4.3-base/html/java/net/URI-source.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/java/net/URI-uses.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/java/net/URI.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/java/net/URISyntaxException-source.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/java/net/URISyntaxException-uses.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/java/net/URISyntaxException.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/javax/print/URIException-source.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/javax/print/URIException-uses.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/javax/print/URIException.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/javax/print/attribute/URISyntax-source.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/javax/print/attribute/URISyntax-uses.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/javax/print/attribute/URISyntax.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/javax/print/attribute/standard/PrinterURI-source.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/javax/print/attribute/standard/PrinterURI-uses.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/javax/print/attribute/standard/PrinterURI.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/javax/xml/transform/URIResolver-source.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/javax/xml/transform/URIResolver-uses.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/javax/xml/transform/URIResolver.html doc/libgcj-doc usr/share/doc/ghc6-doc/libraries/network/Network-URI.html doc/libghc6-network-doc usr/share/doc/ghc6-doc/libraries/network/src/Network-URI.html doc/libghc6-network-doc usr/share/doc/gtk2hs-doc/html/System-Gnome-VFS-URI.html doc/gtk2hs-doc usr/share/doc/horde3/SECURITY.gz web/horde3 usr/share/doc/kde/HTML/en/kdelibs-apidocs/kabc/html/URIValue-generated_8h-source.html doc/kdelibs4-doc usr/share/doc/kde/HTML/en/kdelibs-apidocs/kabc/html/URIValue_8cpp-source.html doc/kdelibs4-doc usr/share/doc/kde/HTML/en/kdelibs-apidocs/kabc/html/VCardURIValue_8h-source.html doc/kdelibs4-doc usr/share/doc/kde/HTML/en/kdelibs-apidocs/kio/kio/html/classKURIFilter-members.html doc/kdelibs4-doc usr/share/doc/kde/HTML/en/kdelibs-apidocs/kio/kio/html/classKURIFilter.html doc/kdelibs4-doc usr/share/doc/kde/HTML/en/kdelibs-apidocs/kio/kio/html/classKURIFilterData-members.html doc/kdelibs4-doc usr/share/doc/kde/HTML/en/kdelibs-apidocs/kio/kio/html/classKURIFilterData.html doc/kdelibs4-doc usr/share/doc/kde/HTML/en/kdelibs-apidocs/kio/kio/html/classKURIFilterPlugin-members.html doc/kdelibs4-doc usr/share/doc/kde/HTML/en/kdelibs-apidocs/kio/kio/html/classKURIFilterPlugin.html doc/kdelibs4-doc usr/share/doc/kde/HTML/en/kdelibs-apidocs/kio/kio/html/classKURIFilterPlugin.png doc/kdelibs4-doc usr/share/doc/kde/HTML/en/kdelibs-apidocs/kio/kio/html/classKURIFilterPluginList-members.html doc/kdelibs4-doc usr/share/doc/kde/HTML/en/kdelibs-apidocs/kio/kio/html/classKURIFilterPluginList.html doc/kdelibs4-doc usr/share/doc/kde/HTML/en/kdelibs-apidocs/kio/kio/html/classKURIFilterPluginList.png doc/kdelibs4-doc usr/share/doc/libactiveldap-ruby-doc/rdoc/classes/URI.html doc/libactiveldap-ruby-doc usr/share/doc/libactiveldap-ruby-doc/rdoc/classes/URI/LDAPS.html doc/libactiveldap-ruby-doc usr/share/doc/libapache2-mod-perl2-doc/api/APR/URI.pod.gz doc/libapache2-mod-perl2-doc usr/share/doc/libapache2-mod-perl2-doc/api/Apache2/URI.pod.gz doc/libapache2-mod-perl2-doc usr/share/doc/libaqbanking-doc/aqbanking.html/P_AB_SECURITY_PUBLIC.html doc/libaqbanking-doc usr/share/doc/libaqbanking-doc/aqbanking.html/group__AB__IMEXPORTER__CONTEXT__SECURITY.html doc/libaqbanking-doc usr/share/doc/libaqbanking-doc/aqbanking.html/structAB__SECURITY__LIST.html doc/libaqbanking-doc usr/share/doc/libaqbanking-doc/aqbanking.html/structAB__SECURITY__LIST__ELEMENT.html doc/libaqbanking-doc usr/share/doc/libaxis-java-doc/javadocs/org/apache/axis/holders/URIHolder-uses.html doc/libaxis-java-doc usr/share/doc/libaxis-java-doc/javadocs/org/apache/axis/holders/URIHolder.html doc/libaxis-java-doc usr/share/doc/libaxis-java-doc/javadocs/org/apache/axis/types/URI-uses.html doc/libaxis-java-doc usr/share/doc/libaxis-java-doc/javadocs/org/apache/axis/types/URI.MalformedURIException-uses.html doc/libaxis-java-doc usr/share/doc/libaxis-java-doc/javadocs/org/apache/axis/types/URI.MalformedURIException.html doc/libaxis-java-doc usr/share/doc/libaxis-java-doc/javadocs/org/apache/axis/types/URI.html doc/libaxis-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/apidocs/org/apache/commons/httpclient/URI.DefaultCharsetChanged.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/apidocs/org/apache/commons/httpclient/URI.LocaleToCharsetMap.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/apidocs/org/apache/commons/httpclient/URI.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/apidocs/org/apache/commons/httpclient/URIException.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/apidocs/org/apache/commons/httpclient/class-use/URI.DefaultCharsetChanged.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/apidocs/org/apache/commons/httpclient/class-use/URI.LocaleToCharsetMap.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/apidocs/org/apache/commons/httpclient/class-use/URI.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/apidocs/org/apache/commons/httpclient/class-use/URIException.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/apidocs/org/apache/commons/httpclient/util/URIUtil.Coder.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/apidocs/org/apache/commons/httpclient/util/URIUtil.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/apidocs/org/apache/commons/httpclient/util/class-use/URIUtil.Coder.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/apidocs/org/apache/commons/httpclient/util/class-use/URIUtil.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/xref-test/org/apache/commons/httpclient/TestURI.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/xref-test/org/apache/commons/httpclient/TestURIUtil.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/xref-test/org/apache/commons/httpclient/TestURIUtil2.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/xref/org/apache/commons/httpclient/URI.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/xref/org/apache/commons/httpclient/URIException.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/xref/org/apache/commons/httpclient/util/URIUtil.html doc/libcommons-httpclient-java-doc usr/share/doc/libgalax-ocaml-dev/html/api/AnyURI.html doc/galax-doc usr/share/doc/libgalax-ocaml-dev/html/api/Dm_atomic.atomicAnyURI.html doc/galax-doc usr/share/doc/libgalax-ocaml-dev/html/api/type_AnyURI.html doc/galax-doc usr/share/doc/libgalax-ocaml-dev/html/api/type_Dm_atomic.atomicAnyURI.html doc/galax-doc usr/share/doc/libgdome2-ocaml-dev/html/api/code_VALINode.get_namespaceURI.html libdevel/libgdome2-ocaml-dev usr/share/doc/libglib2.0-doc/glib/glib-URI-Functions.html doc/libglib2.0-doc usr/share/doc/libgrinvin-core-java-doc/api/org/grinvin/graphs/GraphURI.html contrib/doc/libgrinvin-core-java-doc usr/share/doc/libgrinvin-core-java-doc/api/org/grinvin/graphs/GraphURIException.html contrib/doc/libgrinvin-core-java-doc usr/share/doc/libgrinvin-core-java-doc/api/org/grinvin/graphs/GraphURIType.html contrib/doc/libgrinvin-core-java-doc usr/share/doc/libgrinvin-core-java-doc/api/org/grinvin/help/HelpURIResolver.html contrib/doc/libgrinvin-core-java-doc usr/share/doc/libgrinvin-core-java-doc/api/org/grinvin/list/HasURI.html contrib/doc/libgrinvin-core-java-doc usr/share/doc/libjaxme-java/api/org/apache/ws/jaxme/xs/types/XSAnyURI.html libs/libjaxme-java usr/share/doc/libjaxme-java/api/org/apache/ws/jaxme/xs/xml/XsAnyURI.html libs/libjaxme-java usr/share/doc/libnet-sftp-ruby1.8/api/classes/URI.html interpreters/libnet-sftp-ruby1.8 usr/share/doc/libnet-sftp-ruby1.8/api/classes/URI/SFTP.html interpreters/libnet-sftp-ruby1.8 usr/share/doc/libopenid-ruby/html/classes/OpenID/TypeURIMismatch.html libs/libopenid-ruby usr/share/doc/libopenid-ruby/html/classes/OpenID/TypeURIMismatch.src/M000443.html libs/libopenid-ruby usr/share/doc/libopenid-ruby/html/classes/OpenID/URINorm.html libs/libopenid-ruby usr/share/doc/libopenid-ruby/html/classes/OpenID/URINorm.src/M000126.html libs/libopenid-ruby usr/share/doc/libpdfbox-java-doc/html/org/pdfbox/pdmodel/interactive/action/type/PDActionURI-uses.html contrib/doc/libpdfbox-java-doc usr/share/doc/libpdfbox-java-doc/html/org/pdfbox/pdmodel/interactive/action/type/PDActionURI.html contrib/doc/libpdfbox-java-doc usr/share/doc/libperl4caml-ocaml-doc/html/Pl_URI.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/Pl_URI.uri.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.abs.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.as_string.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.canonical.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.default_port.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.fragment.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.host.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.host_port.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.opaque.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.path.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.port.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.rel.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.scheme.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.set_fragment.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.set_host.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.set_host_port.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.set_no_fragment.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.set_opaque.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.set_path.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.set_port.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.set_scheme.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.sv.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_VALPl_URI.new_.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_VALPl_URI.new_abs.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/type_Pl_URI.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/type_Pl_URI.uri.html doc/libperl4caml-ocaml-doc usr/share/doc/libpoco-doc/html/Poco.URI.html doc/libpoco-doc usr/share/doc/libpoco-doc/html/Poco.URIRedirection.html doc/libpoco-doc usr/share/doc/libpoco-doc/html/Poco.URIStreamFactory.html doc/libpoco-doc usr/share/doc/libpoco-doc/html/Poco.URIStreamOpener.html doc/libpoco-doc usr/share/doc/libpoco-doc/html/Poco.UnknownURISchemeException.html doc/libpoco-doc usr/share/doc/libpoco-doc/html/package-Foundation.URI-index.html doc/libpoco-doc usr/share/doc/libsablot-doc/html/jsdom-ref/apidocs/api-Node.namespaceURI.html doc/libsablot-doc usr/share/doc/libsablot-doc/html/sablot/apidocs/api-.URIs.html doc/libsablot-doc usr/share/doc/libsablot-doc/html/sxp/apidocs/api-getNodeNameURI.html doc/libsablot-doc usr/share/doc/libsaxon-java-doc/api/com/icl/saxon/StandardURIResolver.html doc/libsaxon-java-doc usr/share/doc/libsaxon-java-doc/api/com/icl/saxon/functions/NamespaceURI.html doc/libsaxon-java-doc usr/share/doc/libsaxon-java-doc/api/com/icl/saxon/functions/UnparsedEntityURI.html doc/libsaxon-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/CollectionURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/NonDelegatingURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/OutputURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/RelativeURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/StandardURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/dotnet/DotNetCollectionURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/dotnet/DotNetStandardModuleURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/dotnet/DotNetURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/event/HTMLURIEscaper.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/event/XHTMLURIEscaper.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/functions/BaseURI.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/functions/EscapeURI.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/functions/ResolveURI.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/functions/StandardCollectionURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/functions/StaticBaseURI.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/functions/URIQueryParameters.RegexFilter.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/functions/URIQueryParameters.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/query/ModuleURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/query/StandardModuleURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/sort/CollationURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/sort/StandardCollationURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/trans/UnparsedTextURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/type/SchemaURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/value/AnyURIValue.html doc/libsaxonb-java-doc usr/share/doc/libupnp3-dev/html/ixml/ixmlNode_getNamespaceURI.html libdevel/libupnp3-dev usr/share/doc/libupnp4-dev/html/ixml/ixmlNode_getNamespaceURI.html libdevel/libupnp4-dev usr/share/doc/libwww-mechanize-ruby-doc/rdoc/classes/WWW/Mechanize/Chain/URIResolver.html doc/libwww-mechanize-ruby-doc usr/share/doc/libxalan110-doc/apiDocs/FunctionNamespaceURI_8hpp-source.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/FunctionNamespaceURI_8hpp.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/FunctionUnparsedEntityURI_8hpp-source.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/FunctionUnparsedEntityURI_8hpp.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/URISupport_8hpp-source.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/URISupport_8hpp.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/XalanParsedURI_8hpp-source.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/XalanParsedURI_8hpp.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classFunctionNamespaceURI-members.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classFunctionNamespaceURI.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classFunctionNamespaceURI.png doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classFunctionUnparsedEntityURI-members.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classFunctionUnparsedEntityURI.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classFunctionUnparsedEntityURI.png doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classURISupport-members.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classURISupport.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classURISupport_1_1InvalidURIException-members.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classURISupport_1_1InvalidURIException.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classURISupport_1_1InvalidURIException.png doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classXalanEXSLTFunctionDecodeURI-members.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classXalanEXSLTFunctionDecodeURI.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classXalanEXSLTFunctionDecodeURI.png doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classXalanEXSLTFunctionEncodeURI-members.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classXalanEXSLTFunctionEncodeURI.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classXalanEXSLTFunctionEncodeURI.png doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classXalanParsedURI-members.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classXalanParsedURI.html doc/libxalan110-doc usr/share/doc/libxalan2-java-doc/api/org/apache/xml/serializer/utils/URI.MalformedURIException-uses.html doc/libxalan2-java-doc usr/share/doc/libxalan2-java-doc/api/org/apache/xml/serializer/utils/URI.MalformedURIException.html doc/libxalan2-java-doc usr/share/doc/libxalan2-java-doc/api/org/apache/xml/utils/URI-uses.html doc/libxalan2-java-doc usr/share/doc/libxalan2-java-doc/api/org/apache/xml/utils/URI.MalformedURIException-uses.html doc/libxalan2-java-doc usr/share/doc/libxalan2-java-doc/api/org/apache/xml/utils/URI.MalformedURIException.html doc/libxalan2-java-doc usr/share/doc/libxalan2-java-doc/api/org/apache/xml/utils/URI.html doc/libxalan2-java-doc usr/share/doc/libxalan2-java-doc/api/org/apache/xpath/functions/FuncUnparsedEntityURI-uses.html doc/libxalan2-java-doc usr/share/doc/libxalan2-java-doc/api/org/apache/xpath/functions/FuncUnparsedEntityURI.html doc/libxalan2-java-doc usr/share/doc/libxerces2-java-doc/api/xerces2/org/apache/xerces/impl/dv/xs/AnyURIDV.html doc/libxerces2-java-doc usr/share/doc/libxerces2-java-doc/api/xerces2/org/apache/xerces/util/URI.MalformedURIException.html doc/libxerces2-java-doc usr/share/doc/libxerces2-java-doc/api/xerces2/org/apache/xerces/util/URI.html doc/libxerces2-java-doc usr/share/doc/libxmlrpc-c3-dev/SECURITY libdevel/libxmlrpc-c3-dev usr/share/doc/libxom-java-doc/apidocs/nu/xom/MalformedURIException-uses.html doc/libxom-java-doc usr/share/doc/libxom-java-doc/apidocs/nu/xom/MalformedURIException.html doc/libxom-java-doc usr/share/doc/linux-igd/SECURITY.Debian net/linux-igd usr/share/doc/linuxlogo/README.SECURITY misc/linuxlogo usr/share/doc/lprng/README.SSL.SECURITY.gz net/lprng usr/share/doc/mailagent/SECURITY.gz mail/mailagent usr/share/doc/mimedefang/README.SECURITY mail/mimedefang usr/share/doc/mongrel-doc/rdoc/classes/Mongrel/URIClassifier.html doc/mongrel-doc usr/share/doc/mongrel-doc/rdoc/classes/Mongrel/URIClassifier.src/M000066.html doc/mongrel-doc usr/share/doc/mongrel-doc/rdoc/classes/Mongrel/URIClassifier.src/M000067.html doc/mongrel-doc usr/share/doc/mongrel-doc/rdoc/classes/Mongrel/URIClassifier.src/M000068.html doc/mongrel-doc usr/share/doc/mongrel-doc/rdoc/classes/Mongrel/URIClassifier.src/M000069.html doc/mongrel-doc usr/share/doc/mongrel-doc/rdoc/classes/Mongrel/URIClassifier.src/M000070.html doc/mongrel-doc usr/share/doc/mongrel-doc/rdoc/classes/Mongrel/URIClassifier/RegistrationError.html doc/mongrel-doc usr/share/doc/mongrel-doc/rdoc/classes/Mongrel/URIClassifier/UsageError.html doc/mongrel-doc usr/share/doc/mtr/SECURITY net/mtr usr/share/doc/muse/SECURITY.gz sound/muse usr/share/doc/mutt/README.SECURITY mail/mutt usr/share/doc/nagios-nrpe-server/SECURITY net/nagios-nrpe-server usr/share/doc/openais/SECURITY.gz admin/openais usr/share/doc/openjdk-6-jre/api/java/net/URI.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/java/net/URISyntaxException.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/java/net/class-use/URI.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/java/net/class-use/URISyntaxException.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/java/security/URIParameter.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/java/security/class-use/URIParameter.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/print/URIException.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/print/attribute/URISyntax.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/print/attribute/class-use/URISyntax.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/print/attribute/standard/PrinterURI.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/print/attribute/standard/class-use/PrinterURI.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/print/class-use/URIException.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/xml/crypto/URIDereferencer.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/xml/crypto/URIReference.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/xml/crypto/URIReferenceException.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/xml/crypto/class-use/URIDereferencer.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/xml/crypto/class-use/URIReference.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/xml/crypto/class-use/URIReferenceException.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/xml/crypto/dom/DOMURIReference.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/xml/crypto/dom/class-use/DOMURIReference.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/xml/transform/URIResolver.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/xml/transform/class-use/URIResolver.html doc/openjdk-6-doc usr/share/doc/openoffice.org-dev/docs/common/ref/com/sun/star/script/provider/ScriptURIHelper.html doc/openoffice.org-dev-doc usr/share/doc/openoffice.org-dev/docs/common/ref/com/sun/star/script/provider/XScriptURIHelper-xref.html doc/openoffice.org-dev-doc usr/share/doc/openoffice.org-dev/docs/common/ref/com/sun/star/script/provider/XScriptURIHelper.html doc/openoffice.org-dev-doc usr/share/doc/pcscd/SECURITY misc/pcscd usr/share/doc/php-openid/html/OpenID/Auth_OpenID_TypeURIMismatch.html web/php-openid usr/share/doc/phpgroupware-0.9.16-doc/SECURITY doc/phpgroupware-0.9.16-doc usr/share/doc/phpgroupware-0.9.16-phpgwapi-doc/SECURITY doc/phpgroupware-0.9.16-phpgwapi-doc usr/share/doc/pike7.6-doc/html/reference/ex/predef_3A_3A/Standards/URI.html doc/pike7.6-reference usr/share/doc/pike7.6-doc/html/reference/ex/predef_3A_3A/Standards/URI/_backtick_2D_3E_eq.html doc/pike7.6-reference usr/share/doc/pike7.6-doc/html/reference/ex/predef_3A_3A/Standards/URI/_backtick_5B_5D_eq.html doc/pike7.6-reference usr/share/doc/pike7.6-doc/html/reference/ex/predef_3A_3A/Standards/URI/_backtick_eq_eq.html doc/pike7.6-reference usr/share/doc/pike7.6-doc/html/reference/ex/predef_3A_3A/Standards/URI/cast.html doc/pike7.6-reference usr/share/doc/pike7.6-doc/html/reference/ex/predef_3A_3A/Standards/URI/create.html doc/pike7.6-reference usr/share/doc/pike7.6-doc/html/reference/ex/predef_3A_3A/Standards/URI/get_path_query.html doc/pike7.6-reference usr/share/doc/pike7.6-doc/html/reference/ex/predef_3A_3A/Standards/URI/reparse_uri.html doc/pike7.6-reference usr/share/doc/pike7.6-doc/html/reference/ex/predef_3A_3A/Web/RDF/URIResource.html doc/pike7.6-reference usr/share/doc/pike7.6-doc/html/reference/ex/predef_3A_3A/Web/RDF/URIResource/create.html doc/pike7.6-reference usr/share/doc/pike7.6-doc/html/reference/ex/predef_3A_3A/Web/RDF/URIResource/get_namespace.html doc/pike7.6-reference usr/share/doc/pike7.6-doc/html/reference/ex/predef_3A_3A/Web/RDF/URIResource/get_qname.html doc/pike7.6-reference usr/share/doc/pike7.6-doc/html/reference/ex/predef_3A_3A/Web/RDF/URIResource/get_uri.html doc/pike7.6-reference usr/share/doc/prayer-accountd/SECURITY mail/prayer-accountd usr/share/doc/prayer/SECURITY mail/prayer usr/share/doc/python-gammu-doc/html/gammu.ERR_SECURITYERROR-class.html doc/python-gammu-doc usr/share/doc/python-kde3-doc/html/classref/kio/KURIFilter.html doc/python-kde3-doc usr/share/doc/python-kde3-doc/html/classref/kio/KURIFilterData.html doc/python-kde3-doc usr/share/doc/python-kde3-doc/html/classref/kio/KURIFilterPlugin.html doc/python-kde3-doc usr/share/doc/python-libxml2/examples/tstURI.py python/python-libxml2 usr/share/doc/rssh/SECURITY.gz net/rssh usr/share/doc/sendmail-doc/sendmail/SECURITY.gz doc/sendmail-doc usr/share/doc/socat/SECURITY net/socat usr/share/doc/sqwebmail/SECURITY.gz mail/sqwebmail usr/share/doc/sqwebmail/SECURITY.html mail/sqwebmail usr/share/doc/vlock/SECURITY utils/vlock usr/share/doc/vsftpd/SECURITY/DESIGN.gz net/vsftpd usr/share/doc/vsftpd/SECURITY/IMPLEMENTATION net/vsftpd usr/share/doc/vsftpd/SECURITY/OVERVIEW net/vsftpd usr/share/doc/vsftpd/SECURITY/TRUST.gz net/vsftpd usr/share/doc/wfo/classes/OpenURI.html web/wfo usr/share/doc/wfo/classes/OpenURI/Meta.html web/wfo usr/share/doc/wfo/classes/OpenURI/Meta.src/M000163.html web/wfo usr/share/doc/wfo/classes/OpenURI/Meta.src/M000164.html web/wfo usr/share/doc/yate-doc/api/TelEngine__URI.html doc/yate-doc usr/share/doc/yate-doc/api/full-list-TelEngine__URI.html doc/yate-doc usr/share/doc/zgv/SECURITY graphics/zgv usr/share/doc/zope2.10-sandbox/SECURITY.txt web/zope2.10-sandbox usr/share/doc/zope2.10/SECURITY.txt web/zope2.10 usr/share/gtk-doc/html/libsoup-2.4/libsoup-24-SoupURI.html doc/libsoup2.4-doc usr/share/gtk-doc/html/rhythmbox/RBURIDialog.html gnome/rhythmbox usr/share/idl/iceape/nsCDefaultURIFixup.idl devel/iceape-dev usr/share/idl/iceape/nsCURILoader.idl devel/iceape-dev usr/share/idl/iceape/nsIDOMSVGURIReference.idl devel/iceape-dev usr/share/idl/iceape/nsIEncryptedSMIMEURIsSrvc.idl devel/iceape-dev usr/share/idl/iceape/nsIIconURI.idl devel/iceape-dev usr/share/idl/iceape/nsIJARURI.idl devel/iceape-dev usr/share/idl/iceape/nsIRefreshURI.idl devel/iceape-dev usr/share/idl/iceape/nsITextToSubURI.idl devel/iceape-dev usr/share/idl/iceape/nsIURI.idl devel/iceape-dev usr/share/idl/iceape/nsIURIChecker.idl devel/iceape-dev usr/share/idl/iceape/nsIURIContentListener.idl devel/iceape-dev usr/share/idl/iceape/nsIURIFixup.idl devel/iceape-dev usr/share/idl/iceape/nsIURILoader.idl devel/iceape-dev usr/share/idl/iceape/nsIURIRefObject.idl devel/iceape-dev usr/share/idl/icedove/nsCDefaultURIFixup.idl mail/icedove-dev usr/share/idl/icedove/nsCURILoader.idl mail/icedove-dev usr/share/idl/icedove/nsIDOMSVGURIReference.idl mail/icedove-dev usr/share/idl/icedove/nsIEncryptedSMIMEURIsSrvc.idl mail/icedove-dev usr/share/idl/icedove/nsIIconURI.idl mail/icedove-dev usr/share/idl/icedove/nsIJARURI.idl mail/icedove-dev usr/share/idl/icedove/nsIRefreshURI.idl mail/icedove-dev usr/share/idl/icedove/nsITextToSubURI.idl mail/icedove-dev usr/share/idl/icedove/nsIURI.idl mail/icedove-dev usr/share/idl/icedove/nsIURIChecker.idl mail/icedove-dev usr/share/idl/icedove/nsIURIContentListener.idl mail/icedove-dev usr/share/idl/icedove/nsIURIFixup.idl mail/icedove-dev usr/share/idl/icedove/nsIURILoader.idl mail/icedove-dev usr/share/idl/icedove/nsIURIRefObject.idl mail/icedove-dev usr/share/idl/iceowl/nsCDefaultURIFixup.idl devel/iceowl-dev usr/share/idl/iceowl/nsCURILoader.idl devel/iceowl-dev usr/share/idl/iceowl/nsIIconURI.idl devel/iceowl-dev usr/share/idl/iceowl/nsIJARURI.idl devel/iceowl-dev usr/share/idl/iceowl/nsIRefreshURI.idl devel/iceowl-dev usr/share/idl/iceowl/nsITextToSubURI.idl devel/iceowl-dev usr/share/idl/iceowl/nsIURI.idl devel/iceowl-dev usr/share/idl/iceowl/nsIURIChecker.idl devel/iceowl-dev usr/share/idl/iceowl/nsIURIContentListener.idl devel/iceowl-dev usr/share/idl/iceowl/nsIURIFixup.idl devel/iceowl-dev usr/share/idl/iceowl/nsIURILoader.idl devel/iceowl-dev usr/share/idl/iceowl/nsIURIRefObject.idl devel/iceowl-dev usr/share/idl/openoffice/com/sun/star/script/provider/ScriptURIHelper.idl devel/openoffice.org-dev usr/share/idl/openoffice/com/sun/star/script/provider/XScriptURIHelper.idl devel/openoffice.org-dev usr/share/idl/xulrunner-1.9/stable/nsIURI.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/stable/nsIURIContentListener.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsCDefaultURIFixup.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsCURILoader.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsIContentURIGrouper.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsIDOMSVGURIReference.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsIIconURI.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsIJARURI.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsINestedURI.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsIRefreshURI.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsITextToSubURI.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsIURI.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsIURIChecker.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsIURIClassifier.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsIURIContentListener.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsIURIFixup.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsIURILoader.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsIURIRefObject.idl libdevel/xulrunner-dev usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/AttrDef/CSS/URI.php web/knowledgeroot usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/AttrDef/URI.php web/knowledgeroot usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/AttrDef/URI/Email.php web/knowledgeroot usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php web/knowledgeroot usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/AttrDef/URI/Host.php web/knowledgeroot usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/AttrDef/URI/IPv4.php web/knowledgeroot usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/AttrDef/URI/IPv6.php web/knowledgeroot usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/URIScheme.php web/knowledgeroot usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/URIScheme/ftp.php web/knowledgeroot usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/URIScheme/http.php web/knowledgeroot usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/URIScheme/https.php web/knowledgeroot usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/URIScheme/mailto.php web/knowledgeroot usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/URIScheme/news.php web/knowledgeroot usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/URIScheme/nntp.php web/knowledgeroot usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/URISchemeRegistry.php web/knowledgeroot usr/share/mahara/lib/htmlpurifier/HTMLPurifier/AttrDef/CSS/URI.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/AttrDef/URI.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/AttrDef/URI/Email.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/AttrDef/URI/Host.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/AttrDef/URI/IPv4.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/AttrDef/URI/IPv6.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URI.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URIDefinition.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URIFilter.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URIFilter/DisableExternal.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URIFilter/DisableExternalResources.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URIFilter/HostBlacklist.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URIFilter/MakeAbsolute.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URIParser.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URIScheme.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URIScheme/ftp.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URIScheme/http.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URIScheme/https.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URIScheme/mailto.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URIScheme/news.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URIScheme/nntp.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URISchemeRegistry.php web/mahara usr/share/man/man3/APR::URI.3pm.gz perl/libapache2-mod-perl2 usr/share/man/man3/Apache2::URI.3pm.gz perl/libapache2-mod-perl2 usr/share/man/man3/Gnome2::VFS::URI.3pm.gz perl/libgnome2-vfs-perl usr/share/man/man3/Jifty::DBI::Filter::URI.3pm.gz perl/libjifty-dbi-perl usr/share/man/man3/Mail::Message::Field::URIs.3pm.gz perl/libmail-box-perl usr/share/man/man3/Mail::SpamAssassin::Plugin::URIDNSBL.3pm.gz mail/spamassassin usr/share/man/man3/Mail::SpamAssassin::Plugin::URIDetail.3pm.gz mail/spamassassin usr/share/man/man3/RDF::Redland::URI.3pm.gz perl/librdf-perl usr/share/man/man3/RDF::Redland::URINode.3pm.gz perl/librdf-perl usr/share/man/man3/RT::URI::a.3pm.gz misc/rt3.6-rtfm usr/share/man/man3/RT::URI::fsck_com_rtfm.3pm.gz misc/rt3.6-rtfm usr/share/man/man3/Regexp::Common::URI.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::RFC1035.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::RFC1738.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::RFC1808.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::RFC2384.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::RFC2396.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::RFC2806.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::fax.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::file.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::ftp.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::gopher.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::http.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::news.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::pop.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::prospero.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::tel.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::telnet.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::tv.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::wais.3pm.gz perl/libregexp-common-perl usr/share/man/man3/URI.3pm.gz perl/liburi-perl usr/share/man/man3/URI::Escape.3pm.gz perl/liburi-perl usr/share/man/man3/URI::Fetch.3pm.gz perl/liburi-fetch-perl usr/share/man/man3/URI::Fetch::Response.3pm.gz perl/liburi-fetch-perl usr/share/man/man3/URI::Find.3pm.gz perl/liburi-find-perl usr/share/man/man3/URI::Find::Delimited.3pm.gz perl/liburi-find-delimited-perl usr/share/man/man3/URI::Find::Schemeless.3pm.gz perl/liburi-find-perl usr/share/man/man3/URI::Heuristic.3pm.gz perl/liburi-perl usr/share/man/man3/URI::Query.3pm.gz perl/liburi-query-perl usr/share/man/man3/URI::QueryParam.3pm.gz perl/liburi-perl usr/share/man/man3/URI::Split.3pm.gz perl/liburi-perl usr/share/man/man3/URI::Template.3pm.gz perl/liburi-template-perl usr/share/man/man3/URI::URL.3pm.gz perl/liburi-perl usr/share/man/man3/URI::WithBase.3pm.gz perl/liburi-perl usr/share/man/man3/URI::data.3pm.gz perl/liburi-perl usr/share/man/man3/URI::file.3pm.gz perl/liburi-perl usr/share/man/man3/URI::ldap.3pm.gz perl/liburi-perl usr/share/mediawiki-semediawiki/includes/SMW_DV_URI.php web/mediawiki-semediawiki usr/share/mediawiki-semediawiki/specials/URIResolver/SMW_SpecialURIResolver.php web/mediawiki-semediawiki usr/share/mibs/ietf/URI-TC-MIB misc/libsmi2-common usr/share/mozilla-extensions/ctxextensions/chrome/ctxextensions/content/ctxextensions/pref/pref-sendURI.xul web/mozilla-ctxextensions usr/share/perl5/Jifty/DBI/Filter/URI.pm perl/libjifty-dbi-perl usr/share/perl5/Mail/Message/Field/URIs.pm perl/libmail-box-perl usr/share/perl5/Mail/Message/Field/URIs.pod perl/libmail-box-perl usr/share/perl5/Mail/SpamAssassin/Plugin/URIDNSBL.pm mail/spamassassin usr/share/perl5/Mail/SpamAssassin/Plugin/URIDetail.pm mail/spamassassin usr/share/perl5/Mail/SpamAssassin/Plugin/URIEval.pm mail/spamassassin usr/share/perl5/RDF/Redland/URI.pm perl/librdf-perl usr/share/perl5/RDF/Redland/URINode.pm perl/librdf-perl usr/share/perl5/Regexp/Common/URI.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/RFC1035.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/RFC1738.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/RFC1808.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/RFC2384.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/RFC2396.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/RFC2806.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/fax.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/file.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/ftp.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/gopher.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/http.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/news.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/pop.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/prospero.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/tel.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/telnet.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/tv.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/wais.pm perl/libregexp-common-perl usr/share/perl5/URI.pm perl/liburi-perl usr/share/perl5/URI/Escape.pm perl/liburi-perl usr/share/perl5/URI/Fetch.pm perl/liburi-fetch-perl usr/share/perl5/URI/Fetch/Response.pm perl/liburi-fetch-perl usr/share/perl5/URI/Find.pm perl/liburi-find-perl usr/share/perl5/URI/Find/Delimited.pm perl/liburi-find-delimited-perl usr/share/perl5/URI/Find/Schemeless.pm perl/liburi-find-perl usr/share/perl5/URI/Heuristic.pm perl/liburi-perl usr/share/perl5/URI/Query.pm perl/liburi-query-perl usr/share/perl5/URI/QueryParam.pm perl/liburi-perl usr/share/perl5/URI/Split.pm perl/liburi-perl usr/share/perl5/URI/Template.pm perl/liburi-template-perl usr/share/perl5/URI/URL.pm perl/liburi-perl usr/share/perl5/URI/WithBase.pm perl/liburi-perl usr/share/perl5/URI/_foreign.pm perl/liburi-perl usr/share/perl5/URI/_generic.pm perl/liburi-perl usr/share/perl5/URI/_ldap.pm perl/liburi-perl usr/share/perl5/URI/_login.pm perl/liburi-perl usr/share/perl5/URI/_query.pm perl/liburi-perl usr/share/perl5/URI/_segment.pm perl/liburi-perl usr/share/perl5/URI/_server.pm perl/liburi-perl usr/share/perl5/URI/_userpass.pm perl/liburi-perl usr/share/perl5/URI/data.pm perl/liburi-perl usr/share/perl5/URI/file.pm perl/liburi-perl usr/share/perl5/URI/file/Base.pm perl/liburi-perl usr/share/perl5/URI/file/FAT.pm perl/liburi-perl usr/share/perl5/URI/file/Mac.pm perl/liburi-perl usr/share/perl5/URI/file/OS2.pm perl/liburi-perl usr/share/perl5/URI/file/QNX.pm perl/liburi-perl usr/share/perl5/URI/file/Unix.pm perl/liburi-perl usr/share/perl5/URI/file/Win32.pm perl/liburi-perl usr/share/perl5/URI/ftp.pm perl/liburi-perl usr/share/perl5/URI/gopher.pm perl/liburi-perl usr/share/perl5/URI/http.pm perl/liburi-perl usr/share/perl5/URI/https.pm perl/liburi-perl usr/share/perl5/URI/ldap.pm perl/liburi-perl usr/share/perl5/URI/ldapi.pm perl/liburi-perl usr/share/perl5/URI/ldaps.pm perl/liburi-perl usr/share/perl5/URI/mailto.pm perl/liburi-perl usr/share/perl5/URI/mms.pm perl/liburi-perl usr/share/perl5/URI/news.pm perl/liburi-perl usr/share/perl5/URI/nntp.pm perl/liburi-perl usr/share/perl5/URI/pop.pm perl/liburi-perl usr/share/perl5/URI/rlogin.pm perl/liburi-perl usr/share/perl5/URI/rsync.pm perl/liburi-perl usr/share/perl5/URI/rtsp.pm perl/liburi-perl usr/share/perl5/URI/rtspu.pm perl/liburi-perl usr/share/perl5/URI/sip.pm perl/liburi-perl usr/share/perl5/URI/sips.pm perl/liburi-perl usr/share/perl5/URI/snews.pm perl/liburi-perl usr/share/perl5/URI/ssh.pm perl/liburi-perl usr/share/perl5/URI/telnet.pm perl/liburi-perl usr/share/perl5/URI/tn3270.pm perl/liburi-perl usr/share/perl5/URI/urn.pm perl/liburi-perl usr/share/perl5/URI/urn/isbn.pm perl/liburi-perl usr/share/perl5/URI/urn/oid.pm perl/liburi-perl usr/share/perl5/XML/SAX/PurePerl/Reader/URI.pm perl/libxml-sax-perl usr/share/php/Auth/OpenID/URINorm.php web/php-openid usr/share/pyaimt/src/legacy/services/AIMURITranslate.py net/pyaimt usr/share/pyshared/omniORB/URI.py python/python-omniorb usr/share/python-support/python-rdflib/rdflib/URIRef.py python/python-rdflib usr/share/request-tracker3.6/lib/RT/URI.pm misc/request-tracker3.6 usr/share/request-tracker3.6/lib/RT/URI/a.pm misc/rt3.6-rtfm usr/share/request-tracker3.6/lib/RT/URI/base.pm misc/request-tracker3.6 usr/share/request-tracker3.6/lib/RT/URI/fsck_com_rt.pm misc/request-tracker3.6 usr/share/request-tracker3.6/lib/RT/URI/fsck_com_rtfm.pm misc/rt3.6-rtfm usr/share/request-tracker3.6/lib/RT/URI/t.pm misc/request-tracker3.6 usr/share/ri/1.8/system/DRb/DRbBadURI/cdesc-DRbBadURI.yaml interpreters/ri1.8 usr/share/ri/1.8/system/DRb/DRbURIOption/cdesc-DRbURIOption.yaml interpreters/ri1.8 usr/share/ri/1.8/system/Kernel/URI-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/OpenURI/Buffer/cdesc-Buffer.yaml interpreters/ri1.8 usr/share/ri/1.8/system/OpenURI/HTTPError/cdesc-HTTPError.yaml interpreters/ri1.8 usr/share/ri/1.8/system/OpenURI/HTTPError/new-c.yaml interpreters/ri1.8 usr/share/ri/1.8/system/OpenURI/Meta/cdesc-Meta.yaml interpreters/ri1.8 usr/share/ri/1.8/system/OpenURI/Meta/charset-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/OpenURI/Meta/content_encoding-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/OpenURI/Meta/content_type-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/OpenURI/Meta/last_modified-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/OpenURI/OpenRead/cdesc-OpenRead.yaml interpreters/ri1.8 usr/share/ri/1.8/system/OpenURI/OpenRead/open-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/OpenURI/OpenRead/read-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/OpenURI/cdesc-OpenURI.yaml interpreters/ri1.8 usr/share/ri/1.8/system/RSS/Atom/URIContentModel/append_features-c.yaml interpreters/ri1.8 usr/share/ri/1.8/system/RSS/Atom/URIContentModel/cdesc-URIContentModel.yaml interpreters/ri1.8 usr/share/ri/1.8/system/SOAP/Mapping/URIFactory_/cdesc-URIFactory_.yaml interpreters/ri1.8 usr/share/ri/1.8/system/SOAP/Mapping/URIFactory_/obj2soap-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/SOAP/Mapping/URIFactory_/soap2obj-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/SOAP/SOAPAnyURI/cdesc-SOAPAnyURI.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/BadURIError/cdesc-BadURIError.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Error/cdesc-Error.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Escape/cdesc-Escape.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Escape/decode-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Escape/encode-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Escape/escape-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Escape/unescape-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/FTP/build-c.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/FTP/cdesc-FTP.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/FTP/check_typecode-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/FTP/new-c.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/FTP/new2-c.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/FTP/path-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/FTP/set_typecode-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/FTP/to_s-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/FTP/typecode%3d-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/%2b-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/%2d-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/%3d%3d-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/absolute%3f-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/absolute-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/build-c.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/build2-c.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/cdesc-Generic.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/check_fragment-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/check_host-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/check_opaque-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/check_password-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/check_path-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/check_port-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/check_query-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/check_registry-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/check_scheme-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/check_user-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/check_userinfo-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/coerce-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/component-c.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/component-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/component_ary-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/default_port-c.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/default_port-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/eql%3f-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/escape_userpass-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/find_proxy-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/fragment%3d-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/hash-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/hierarchical%3f-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/host%3d-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/inspect-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/merge%21-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/merge-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/merge0-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/merge_path-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/new-c.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/normalize%21-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/normalize-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/opaque%3d-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/password%3d-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/password-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/path%3d-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/path_query-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/port%3d-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/query%3d-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/registry%3d-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/relative%3f-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/replace%21-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/route_from-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/route_from0-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/route_from_path-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/route_to-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/scheme%3d-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/select-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/set_fragment-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/set_host-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/set_opaque-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/set_password-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/set_path-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/set_port-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/set_query-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/set_registry-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/set_scheme-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/set_user-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/set_userinfo-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/split_path-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/split_userinfo-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/to_s-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/use_registry-c.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/user%3d-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/user-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/userinfo%3d-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Generic/userinfo-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/HTTP/build-c.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/HTTP/cdesc-HTTP.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/HTTP/new-c.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/HTTP/request_uri-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/HTTPS/cdesc-HTTPS.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/InvalidComponentError/cdesc-InvalidComponentError.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/InvalidURIError/cdesc-InvalidURIError.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/LDAP/attributes%3d-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/LDAP/attributes-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/LDAP/build-c.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/LDAP/build_path_query-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/LDAP/cdesc-LDAP.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/LDAP/dn%3d-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/LDAP/dn-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/LDAP/extensions%3d-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/LDAP/extensions-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/LDAP/filter%3d-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/LDAP/filter-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/LDAP/hierarchical%3f-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/LDAP/new-c.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/LDAP/parse_dn-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/LDAP/parse_query-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/LDAP/scope%3d-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/LDAP/scope-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/LDAP/set_attributes-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/LDAP/set_dn-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/LDAP/set_extensions-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/LDAP/set_filter-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/LDAP/set_scope-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/LDAPS/cdesc-LDAPS.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/MailTo/build-c.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/MailTo/cdesc-MailTo.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/MailTo/check_headers-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/MailTo/check_to-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/MailTo/headers%3d-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/MailTo/new-c.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/MailTo/set_headers-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/MailTo/set_to-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/MailTo/to%3d-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/MailTo/to_mailtext-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/MailTo/to_rfc822text-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/MailTo/to_s-i.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/REGEXP/PATTERN/cdesc-PATTERN.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/REGEXP/cdesc-REGEXP.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/Util/cdesc-Util.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/cdesc-URI.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/extract-c.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/join-c.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/parse-c.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/regexp-c.yaml interpreters/ri1.8 usr/share/ri/1.8/system/URI/split-c.yaml interpreters/ri1.8 usr/share/ri/1.8/system/XSD/XSDAnyURI/cdesc-XSDAnyURI.yaml interpreters/ri1.8 usr/share/ri/1.8/system/XSD/XSDAnyURI/new-c.yaml interpreters/ri1.8 usr/share/ri/1.8/system/XSD/XSDAnyURI/screen_data-i.yaml interpreters/ri1.8 usr/share/ri/1.9.0/system/DRb/DRbBadURI/cdesc-DRbBadURI.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/DRb/DRbURIOption/cdesc-DRbURIOption.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/Kernel/URI-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/OpenURI/Buffer/cdesc-Buffer.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/OpenURI/HTTPError/cdesc-HTTPError.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/OpenURI/HTTPError/new-c.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/OpenURI/HTTPRedirect/cdesc-HTTPRedirect.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/OpenURI/HTTPRedirect/new-c.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/OpenURI/Meta/cdesc-Meta.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/OpenURI/Meta/charset-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/OpenURI/Meta/content_encoding-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/OpenURI/Meta/content_type-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/OpenURI/Meta/last_modified-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/OpenURI/OpenRead/cdesc-OpenRead.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/OpenURI/OpenRead/open-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/OpenURI/OpenRead/read-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/OpenURI/cdesc-OpenURI.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/RSS/Atom/URIContentModel/append_features-c.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/RSS/Atom/URIContentModel/cdesc-URIContentModel.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/BadURIError/cdesc-BadURIError.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Error/cdesc-Error.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Escape/cdesc-Escape.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Escape/decode-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Escape/encode-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Escape/escape-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Escape/unescape-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/FTP/build-c.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/FTP/cdesc-FTP.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/FTP/check_typecode-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/FTP/new-c.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/FTP/new2-c.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/FTP/path-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/FTP/set_typecode-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/FTP/to_s-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/FTP/typecode%3d-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/%2b-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/%2d-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/%3d%3d-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/absolute%3f-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/absolute-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/build-c.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/build2-c.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/cdesc-Generic.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/check_fragment-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/check_host-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/check_opaque-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/check_password-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/check_path-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/check_port-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/check_query-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/check_registry-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/check_scheme-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/check_user-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/check_userinfo-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/coerce-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/component-c.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/component-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/component_ary-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/default_port-c.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/default_port-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/eql%3f-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/escape_userpass-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/find_proxy-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/fragment%3d-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/hash-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/hierarchical%3f-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/host%3d-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/inspect-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/merge%21-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/merge-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/merge0-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/merge_path-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/new-c.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/normalize%21-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/normalize-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/opaque%3d-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/password%3d-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/password-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/path%3d-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/path_query-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/port%3d-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/query%3d-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/registry%3d-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/relative%3f-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/replace%21-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/route_from-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/route_from0-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/route_from_path-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/route_to-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/scheme%3d-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/select-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/set_fragment-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/set_host-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/set_opaque-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/set_password-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/set_path-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/set_port-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/set_query-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/set_registry-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/set_scheme-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/set_user-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/set_userinfo-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/split_path-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/split_userinfo-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/to_s-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/use_registry-c.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/user%3d-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/user-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/userinfo%3d-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Generic/userinfo-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/HTTP/build-c.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/HTTP/cdesc-HTTP.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/HTTP/new-c.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/HTTP/request_uri-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/HTTPS/cdesc-HTTPS.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/InvalidComponentError/cdesc-InvalidComponentError.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/InvalidURIError/cdesc-InvalidURIError.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/LDAP/attributes%3d-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/LDAP/attributes-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/LDAP/build-c.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/LDAP/build_path_query-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/LDAP/cdesc-LDAP.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/LDAP/dn%3d-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/LDAP/dn-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/LDAP/extensions%3d-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/LDAP/extensions-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/LDAP/filter%3d-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/LDAP/filter-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/LDAP/hierarchical%3f-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/LDAP/new-c.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/LDAP/parse_dn-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/LDAP/parse_query-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/LDAP/scope%3d-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/LDAP/scope-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/LDAP/set_attributes-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/LDAP/set_dn-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/LDAP/set_extensions-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/LDAP/set_filter-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/LDAP/set_scope-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/MailTo/build-c.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/MailTo/cdesc-MailTo.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/MailTo/check_headers-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/MailTo/check_to-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/MailTo/headers%3d-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/MailTo/new-c.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/MailTo/set_headers-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/MailTo/set_to-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/MailTo/to%3d-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/MailTo/to_mailtext-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/MailTo/to_rfc822text-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/MailTo/to_s-i.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/REGEXP/PATTERN/cdesc-PATTERN.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/REGEXP/cdesc-REGEXP.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/Util/cdesc-Util.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/cdesc-URI.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/extract-c.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/join-c.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/parse-c.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/regexp-c.yaml interpreters/ri1.9 usr/share/ri/1.9.0/system/URI/split-c.yaml interpreters/ri1.9 usr/lib/perl5/GD.pm libgd-gd2-noxpm-perl,libgd-gd2-perl usr/share/doc/libmodule-build-tiny-perl/Todo perl/libmodule-build-tiny-perl usr/share/doc/libmodule-build-tiny-perl/changelog.Debian.gz perl/libmodule-build-tiny-perl usr/share/doc/libmodule-build-tiny-perl/changelog.gz perl/libmodule-build-tiny-perl usr/share/doc/libmodule-build-tiny-perl/copyright perl/libmodule-build-tiny-perl usr/share/man/man3/Module::Build::Tiny.3pm.gz perl/libmodule-build-tiny-perl usr/share/perl5/Module/Build/Tiny.pm perl/libmodule-build-tiny-perl test_debian_dists_testing_main_Contents000444001750001750 26016112234004042 24345 0ustar00damdam000000000000DhMakePerl-0.80/t/contentsThis file maps each file available in the Debian GNU/Linux system to the package from which it originates. It includes packages from the DIST distribution for the ARCH architecture. You can use this list to determine which package contains a specific file, or whether or not a specific file is available. The list is updated weekly, each architecture on a different day. When a file is contained in more than one package, all packages are listed. When a directory is contained in more than one package, only the first is listed. The best way to search quickly for a file is with the Unix `grep' utility, as in `grep CONTENTS': $ grep nose Contents etc/nosendfile net/sendfile usr/X11R6/bin/noseguy x11/xscreensaver usr/X11R6/man/man1/noseguy.1x.gz x11/xscreensaver usr/doc/examples/ucbmpeg/mpeg_encode/nosearch.param graphics/ucbmpeg usr/lib/cfengine/bin/noseyparker admin/cfengine This list contains files in all packages, even though not all of the packages are installed on an actual system at once. If you want to find out which packages on an installed Debian system provide a particular file, you can use `dpkg --search ': $ dpkg --search /usr/bin/dselect dpkg: /usr/bin/dselect FILE LOCATION bin/afio utils/afio bin/ash shells/ash bin/bash shells/bash bin/bash-minimal shells/bash-minimal bin/bash-static shells/bash-static bin/bsd-csh shells/csh bin/bunzip2 utils/bzip2 bin/busybox utils/busybox,shells/busybox-static bin/bzcat utils/bzip2 bin/bzcmp utils/bzip2 bin/bzdiff utils/bzip2 bin/bzegrep utils/bzip2 bin/bzexe utils/bzip2 bin/bzfgrep utils/bzip2 bin/bzgrep utils/bzip2 bin/bzip2 utils/bzip2 bin/bzip2recover utils/bzip2 bin/bzless utils/bzip2 bin/bzmore utils/bzip2 bin/cat utils/coreutils bin/cftp net/cftp bin/check-foreground-console misc/libpam-foreground bin/checkpassword admin/fgetty bin/chgrp utils/coreutils bin/chmod utils/coreutils bin/chown utils/coreutils bin/chvt utils/kbd bin/con2fbmap admin/fbset bin/cp utils/coreutils bin/cpio utils/cpio bin/cvssh devel/gforge-common bin/dash shells/dash bin/date utils/coreutils bin/dd utils/coreutils bin/dd_rescue utils/ddrescue bin/df utils/coreutils bin/dir utils/coreutils bin/dmesg utils/util-linux bin/dnsdomainname admin/hostname bin/domainname net/nis bin/dtc-xen_userconsole web/dtc-xen bin/dumpkeys utils/kbd bin/echo utils/coreutils bin/ed editors/ed bin/efibootmgr admin/efibootmgr bin/egrep utils/grep bin/elvis-tiny editors/elvis-tiny bin/false utils/coreutils bin/fbset admin/fbset bin/fgconsole utils/console-tools,utils/kbd bin/fgetty-login admin/fgetty bin/fgetty-login2 admin/fgetty bin/fgrep utils/grep bin/francine admin/francine bin/fuser admin/psmisc bin/grep utils/grep bin/gunzip utils/gzip bin/gzexe utils/gzip bin/gzip utils/gzip bin/hostname admin/hostname bin/ip net/iproute bin/kbd_mode utils/kbd bin/keyctl misc/keyutils bin/kill admin/procps bin/ksh93 shells/ksh bin/ln utils/coreutils bin/loadkeys utils/console-tools,utils/kbd bin/login admin/login usr/lib/perl5/File/Spec.pm perl/libfile-spec-perl usr/share/perl/5.10.0/File/Spec.pm perl/perl-base usr/share/perl5/File/Which.pm perl/libfile-which-perl usr/share/perl5/XML/Generator.pm perl/libxml-generator-perl usr/share/perl5/XML/Generator/DOM.pm perl/libxml-generator-perl usr/share/perl5/Data/Page.pm perl/libdata-page-perl usr/share/perl5/Data/Pager.pm perl/libdatapager-perl usr/lib/lastfm/libMoose.so.1 sound/lastfm usr/lib/lastfm/libMoose.so.1.0 sound/lastfm usr/lib/lastfm/libMoose.so.1.0.0 sound/lastfm usr/share/games/lletters/images/Moose.png games/lletters-media usr/share/games/lmemory/pixmaps/Moose.xpm games/lmemory usr/share/man/man3/Moose.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Basics::Recipe1.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Basics::Recipe10.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Basics::Recipe2.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Basics::Recipe3.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Basics::Recipe4.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Basics::Recipe5.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Basics::Recipe6.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Basics::Recipe7.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Basics::Recipe9.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Extending::Recipe1.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Extending::Recipe2.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Extending::Recipe3.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Extending::Recipe4.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::FAQ.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Meta::Recipe1.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Meta::Recipe2.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Meta::Recipe3.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Meta::Recipe4.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Meta::Recipe5.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Roles::Recipe1.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Roles::Recipe2.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Snack::Keywords.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Snack::Types.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::Style.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Cookbook::WTF.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Error::Confess.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Error::Croak.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Error::Default.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Exporter.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Intro.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Attribute.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Class.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Instance.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Method.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Method::Accessor.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Method::Augmented.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Method::Constructor.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Method::Delegation.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Method::Destructor.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Method::Overriden.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Role.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Role::Application.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Role::Application::RoleSummation.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Role::Application::ToClass.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Role::Application::ToInstance.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Role::Application::ToRole.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Role::Composite.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Role::Method.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::Role::Method::Required.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::TypeCoercion.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::TypeCoercion::Union.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::TypeConstraint.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::TypeConstraint::Class.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::TypeConstraint::Enum.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::TypeConstraint::Parameterizable.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::TypeConstraint::Parameterized.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::TypeConstraint::Registry.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::TypeConstraint::Role.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Meta::TypeConstraint::Union.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Object.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Role.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Spec::Role.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Unsweetened.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Util.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Util::MetaRole.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Util::TypeConstraints.3pm.gz perl/libmoose-perl usr/share/man/man3/Moose::Util::TypeConstraints::OptimizedConstraints.3pm.gz perl/libmoose-perl usr/share/man/man3/MooseX::Adopt::Class::Accessor::Fast.3pm.gz perl/libmoosex-emulate-class-accessor-fast-perl usr/share/man/man3/MooseX::Emulate::Class::Accessor::Fast.3pm.gz perl/libmoosex-emulate-class-accessor-fast-perl usr/share/man/man3/MooseX::Getopt.3pm.gz perl/libmoosex-getopt-perl usr/share/man/man3/MooseX::Getopt::Meta::Attribute.3pm.gz perl/libmoosex-getopt-perl usr/share/man/man3/MooseX::Getopt::Meta::Attribute::NoGetopt.3pm.gz perl/libmoosex-getopt-perl usr/share/man/man3/MooseX::Getopt::Meta::Attribute::Trait.3pm.gz perl/libmoosex-getopt-perl usr/share/man/man3/MooseX::Getopt::Meta::Attribute::Trait::NoGetopt.3pm.gz perl/libmoosex-getopt-perl usr/share/man/man3/MooseX::Getopt::OptionTypeMap.3pm.gz perl/libmoosex-getopt-perl usr/share/man/man3/MooseX::Getopt::Strict.3pm.gz perl/libmoosex-getopt-perl usr/share/man/man3/MooseX::Object::Pluggable.3pm.gz perl/libmoosex-object-pluggable-perl usr/share/man/man3/MooseX::StrictConstructor.3pm.gz perl/libmoosex-strictconstructor-perl usr/share/man/man3/MooseX::StrictConstructor::Role::Meta::Method::Constructor.3pm.gz perl/libmoosex-strictconstructor-perl usr/share/man/man3/MooseX::StrictConstructor::Role::Object.3pm.gz perl/libmoosex-strictconstructor-perl usr/share/man/man3/Test::Moose.3pm.gz perl/libmoose-perl usr/share/perl5/Moose.pm perl/libmoose-perl usr/share/perl5/Moose/Cookbook.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Basics/Recipe1.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Basics/Recipe10.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Basics/Recipe2.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Basics/Recipe3.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Basics/Recipe4.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Basics/Recipe5.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Basics/Recipe6.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Basics/Recipe7.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Basics/Recipe9.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Extending/Recipe1.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Extending/Recipe2.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Extending/Recipe3.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Extending/Recipe4.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/FAQ.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Meta/Recipe1.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Meta/Recipe2.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Meta/Recipe3.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Meta/Recipe4.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Meta/Recipe5.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Roles/Recipe1.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Roles/Recipe2.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Snack/Keywords.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Snack/Types.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/Style.pod perl/libmoose-perl usr/share/perl5/Moose/Cookbook/WTF.pod perl/libmoose-perl usr/share/perl5/Moose/Error/Confess.pm perl/libmoose-perl usr/share/perl5/Moose/Error/Croak.pm perl/libmoose-perl usr/share/perl5/Moose/Error/Default.pm perl/libmoose-perl usr/share/perl5/Moose/Exporter.pm perl/libmoose-perl usr/share/perl5/Moose/Intro.pod perl/libmoose-perl usr/share/perl5/Moose/Meta/Attribute.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Class.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Instance.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Method.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Method/Accessor.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Method/Augmented.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Method/Constructor.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Method/Delegation.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Method/Destructor.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Method/Overriden.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Role.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Role/Application.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Role/Application/RoleSummation.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Role/Application/ToClass.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Role/Application/ToInstance.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Role/Application/ToRole.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Role/Composite.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Role/Method.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/Role/Method/Required.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/TypeCoercion.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/TypeCoercion/Union.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/TypeConstraint.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/TypeConstraint/Class.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/TypeConstraint/Enum.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/TypeConstraint/Parameterizable.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/TypeConstraint/Parameterized.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/TypeConstraint/Registry.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/TypeConstraint/Role.pm perl/libmoose-perl usr/share/perl5/Moose/Meta/TypeConstraint/Union.pm perl/libmoose-perl usr/share/perl5/Moose/Object.pm perl/libmoose-perl usr/share/perl5/Moose/Role.pm perl/libmoose-perl usr/share/perl5/Moose/Spec/Role.pod perl/libmoose-perl usr/share/perl5/Moose/Unsweetened.pod perl/libmoose-perl usr/share/perl5/Moose/Util.pm perl/libmoose-perl usr/share/perl5/Moose/Util/MetaRole.pm perl/libmoose-perl usr/share/perl5/Moose/Util/TypeConstraints.pm perl/libmoose-perl usr/share/perl5/Moose/Util/TypeConstraints/OptimizedConstraints.pm perl/libmoose-perl usr/share/perl5/MooseX/Adopt/Class/Accessor/Fast.pm perl/libmoosex-emulate-class-accessor-fast-perl usr/share/perl5/MooseX/Emulate/Class/Accessor/Fast.pm perl/libmoosex-emulate-class-accessor-fast-perl usr/share/perl5/MooseX/Getopt.pm perl/libmoosex-getopt-perl usr/share/perl5/MooseX/Getopt/Meta/Attribute.pm perl/libmoosex-getopt-perl usr/share/perl5/MooseX/Getopt/Meta/Attribute/NoGetopt.pm perl/libmoosex-getopt-perl usr/share/perl5/MooseX/Getopt/Meta/Attribute/Trait.pm perl/libmoosex-getopt-perl usr/share/perl5/MooseX/Getopt/Meta/Attribute/Trait/NoGetopt.pm perl/libmoosex-getopt-perl usr/share/perl5/MooseX/Getopt/OptionTypeMap.pm perl/libmoosex-getopt-perl usr/share/perl5/MooseX/Getopt/Strict.pm perl/libmoosex-getopt-perl usr/share/perl5/MooseX/Object/Pluggable.pm perl/libmoosex-object-pluggable-perl usr/share/perl5/MooseX/StrictConstructor.pm perl/libmoosex-strictconstructor-perl usr/share/perl5/MooseX/StrictConstructor/Role/Meta/Method/Constructor.pm perl/libmoosex-strictconstructor-perl usr/share/perl5/MooseX/StrictConstructor/Role/Object.pm perl/libmoosex-strictconstructor-perl usr/share/perl5/Test/Moose.pm perl/libmoose-perl usr/include/Poco/URI.h libdevel/libpoco-dev usr/include/Poco/URIStreamFactory.h libdevel/libpoco-dev usr/include/Poco/URIStreamOpener.h libdevel/libpoco-dev usr/include/c++/4.2/java/net/URI.h libdevel/libgcj8-dev usr/include/c++/4.2/java/net/URISyntaxException.h libdevel/libgcj8-dev usr/include/c++/4.2/javax/print/URIException.h libdevel/libgcj8-dev usr/include/c++/4.2/javax/print/attribute/URISyntax.h libdevel/libgcj8-dev usr/include/c++/4.2/javax/print/attribute/standard/PrinterURI.h libdevel/libgcj8-dev usr/include/c++/4.3/java/net/URI.h libdevel/libgcj9-dev usr/include/c++/4.3/java/net/URISyntaxException.h libdevel/libgcj9-dev usr/include/c++/4.3/javax/print/URIException.h libdevel/libgcj9-dev usr/include/c++/4.3/javax/print/attribute/URISyntax.h libdevel/libgcj9-dev usr/include/c++/4.3/javax/print/attribute/standard/PrinterURI.h libdevel/libgcj9-dev usr/include/iceape/docshell/nsCDefaultURIFixup.h devel/iceape-dev usr/include/iceape/docshell/nsIURIFixup.h devel/iceape-dev usr/include/iceape/dom/nsIDOMSVGURIReference.h devel/iceape-dev usr/include/iceape/editor/nsIURIRefObject.h devel/iceape-dev usr/include/iceape/imgicon/nsIIconURI.h devel/iceape-dev usr/include/iceape/jar/nsIJARURI.h devel/iceape-dev usr/include/iceape/msgsmime/nsEncryptedSMIMEURIsService.h devel/iceape-dev usr/include/iceape/msgsmime/nsIEncryptedSMIMEURIsSrvc.h devel/iceape-dev usr/include/iceape/necko/nsIURIChecker.h devel/iceape-dev usr/include/iceape/necko/nsURIHashKey.h devel/iceape-dev usr/include/iceape/nsIURI.h devel/iceape-dev usr/include/iceape/nsIURIContentListener.h devel/iceape-dev usr/include/iceape/uconv/nsITextToSubURI.h devel/iceape-dev usr/include/iceape/uriloader/nsCURILoader.h devel/iceape-dev usr/include/iceape/uriloader/nsIURILoader.h devel/iceape-dev usr/include/iceape/uriloader/nsURILoader.h devel/iceape-dev usr/include/iceape/webshell/nsIRefreshURI.h devel/iceape-dev usr/include/icedove/docshell/nsCDefaultURIFixup.h mail/icedove-dev usr/include/icedove/docshell/nsIURIFixup.h mail/icedove-dev usr/include/icedove/dom/nsIDOMSVGURIReference.h mail/icedove-dev usr/include/icedove/editor/nsIURIRefObject.h mail/icedove-dev usr/include/icedove/imgicon/nsIIconURI.h mail/icedove-dev usr/include/icedove/jar/nsIJARURI.h mail/icedove-dev usr/include/icedove/msgsmime/nsEncryptedSMIMEURIsService.h mail/icedove-dev usr/include/icedove/msgsmime/nsIEncryptedSMIMEURIsSrvc.h mail/icedove-dev usr/include/icedove/necko/nsIURIChecker.h mail/icedove-dev usr/include/icedove/necko/nsURIHashKey.h mail/icedove-dev usr/include/icedove/nsIURI.h mail/icedove-dev usr/include/icedove/nsIURIContentListener.h mail/icedove-dev usr/include/icedove/uconv/nsITextToSubURI.h mail/icedove-dev usr/include/icedove/uriloader/nsCURILoader.h mail/icedove-dev usr/include/icedove/uriloader/nsIURILoader.h mail/icedove-dev usr/include/icedove/uriloader/nsURILoader.h mail/icedove-dev usr/include/icedove/webshell/nsIRefreshURI.h mail/icedove-dev usr/include/iceowl/docshell/nsCDefaultURIFixup.h devel/iceowl-dev usr/include/iceowl/docshell/nsIURIFixup.h devel/iceowl-dev usr/include/iceowl/editor/nsIURIRefObject.h devel/iceowl-dev usr/include/iceowl/imgicon/nsIIconURI.h devel/iceowl-dev usr/include/iceowl/jar/nsIJARURI.h devel/iceowl-dev usr/include/iceowl/necko/nsIURIChecker.h devel/iceowl-dev usr/include/iceowl/necko/nsURIHashKey.h devel/iceowl-dev usr/include/iceowl/nsIURI.h devel/iceowl-dev usr/include/iceowl/nsIURIContentListener.h devel/iceowl-dev usr/include/iceowl/uconv/nsITextToSubURI.h devel/iceowl-dev usr/include/iceowl/uriloader/nsCURILoader.h devel/iceowl-dev usr/include/iceowl/uriloader/nsIURILoader.h devel/iceowl-dev usr/include/iceowl/uriloader/nsURILoader.h devel/iceowl-dev usr/include/iceowl/webshell/nsIRefreshURI.h devel/iceowl-dev usr/include/kde/dom/SVGURIReference.h devel/kdegraphics-dev usr/include/omniORB4/omniURI.h libdevel/libomniorb4-dev usr/include/xalanc/PlatformSupport/URISupport.hpp libdevel/libxalan110-dev usr/include/xalanc/PlatformSupport/XalanParsedURI.hpp libdevel/libxalan110-dev usr/include/xalanc/XPath/FunctionNamespaceURI.hpp libdevel/libxalan110-dev usr/include/xalanc/XSLT/FunctionUnparsedEntityURI.hpp libdevel/libxalan110-dev usr/include/xercesc/validators/datatype/AnyURIDatatypeValidator.hpp libdevel/libxerces-c2-dev usr/include/xqilla/context/URIResolver.hpp libdevel/libxqilla-dev usr/include/xqilla/functions/FunctionBaseURI.hpp libdevel/libxqilla-dev usr/include/xqilla/functions/FunctionDocumentURI.hpp libdevel/libxqilla-dev usr/include/xqilla/functions/FunctionNamespaceURIForPrefix.hpp libdevel/libxqilla-dev usr/include/xqilla/functions/FunctionNamespaceURIFromQName.hpp libdevel/libxqilla-dev usr/include/xqilla/functions/FunctionResolveURI.hpp libdevel/libxqilla-dev usr/include/xqilla/functions/FunctionStaticBaseURI.hpp libdevel/libxqilla-dev usr/include/xqilla/items/ATAnyURIOrDerived.hpp libdevel/libxqilla-dev usr/include/xsec/framework/XSECURIResolver.hpp libdevel/libxml-security-c-dev usr/include/xsec/framework/XSECURIResolverXerces.hpp libdevel/libxml-security-c-dev usr/include/xsec/utils/unixutils/XSECBinHTTPURIInputStream.hpp libdevel/libxml-security-c-dev usr/include/xsec/utils/unixutils/XSECURIResolverGenericUnix.hpp libdevel/libxml-security-c-dev usr/include/xulrunner-1.9/stable/nsIURI.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/stable/nsIURIContentListener.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsCDefaultURIFixup.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsCURILoader.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsIContentURIGrouper.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsIDOMSVGURIReference.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsIIconURI.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsIJARURI.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsINestedURI.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsIRefreshURI.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsITextToSubURI.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsIURI.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsIURIChecker.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsIURIClassifier.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsIURIContentListener.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsIURIFixup.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsIURILoader.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsIURIRefObject.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsURIHashKey.h libdevel/xulrunner-dev usr/include/xulrunner-1.9/unstable/nsURILoader.h libdevel/xulrunner-dev usr/lib/R/site-library/XML/R-ex/parseURI.R math/r-cran-xml usr/lib/R/site-library/XML/help/parseURI math/r-cran-xml usr/lib/R/site-library/XML/html/parseURI.html math/r-cran-xml usr/lib/R/site-library/XML/latex/parseURI.tex math/r-cran-xml usr/lib/R/site-library/fCalendar/R-ex/holidayZURICH.R math/r-cran-fcalendar usr/lib/R/site-library/fCalendar/help/holidayZURICH math/r-cran-fcalendar usr/lib/R/site-library/fCalendar/html/holidayZURICH.html math/r-cran-fcalendar usr/lib/R/site-library/fCalendar/latex/holidayZURICH.tex math/r-cran-fcalendar usr/lib/R/site-library/timeDate/R-ex/holidayZURICH.R math/r-cran-timedate usr/lib/R/site-library/timeDate/help/holidayZURICH math/r-cran-timedate usr/lib/R/site-library/timeDate/html/holidayZURICH.html math/r-cran-timedate usr/lib/R/site-library/timeDate/latex/holidayZURICH.tex math/r-cran-timedate usr/lib/gcc-snapshot/include/c++/4.4.0/java/net/URI.h devel/gcc-snapshot usr/lib/gcc-snapshot/include/c++/4.4.0/java/net/URISyntaxException.h devel/gcc-snapshot usr/lib/gcc-snapshot/include/c++/4.4.0/javax/print/URIException.h devel/gcc-snapshot usr/lib/gcc-snapshot/include/c++/4.4.0/javax/print/attribute/URISyntax.h devel/gcc-snapshot usr/lib/gcc-snapshot/include/c++/4.4.0/javax/print/attribute/standard/PrinterURI.h devel/gcc-snapshot usr/lib/gdesklets/Controls/URI/IURI.py gnome/gdesklets usr/lib/gdesklets/Controls/URI/__init__.py gnome/gdesklets usr/lib/gdesklets/config/ConfigURI.py gnome/gdesklets usr/lib/haskell-packages/ghc6/lib/HAppS-Server-0.9.2.1/ghc-6.8.2/HAppS/Server/SURI.hi libdevel/libghc6-happs-server-dev usr/lib/haskell-packages/ghc6/lib/HAppS-Server-0.9.2.1/ghc-6.8.2/HAppS/Server/SURI/ParseURI.hi libdevel/libghc6-happs-server-dev usr/lib/haskell-packages/ghc6/lib/gnomevfs-0.9.13/imports/System/Gnome/VFS/URI.hi libdevel/libghc6-gnomevfs-dev usr/lib/hugs/oldlib/URI.hs interpreters/hugs usr/lib/hugs/packages/network/Network/URI.hs devel/libhugs-network-bundled usr/lib/jruby1.1/share/ri/1.8/system/DRb/DRbBadURI/cdesc-DRbBadURI.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/DRb/DRbURIOption/cdesc-DRbURIOption.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/Kernel/URI-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/OpenURI/Buffer/cdesc-Buffer.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/OpenURI/HTTPError/cdesc-HTTPError.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/OpenURI/HTTPError/new-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/OpenURI/Meta/cdesc-Meta.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/OpenURI/Meta/charset-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/OpenURI/Meta/content_encoding-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/OpenURI/Meta/content_type-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/OpenURI/Meta/last_modified-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/OpenURI/OpenRead/cdesc-OpenRead.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/OpenURI/OpenRead/open-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/OpenURI/OpenRead/read-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/OpenURI/cdesc-OpenURI.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/SOAP/Mapping/URIFactory_/cdesc-URIFactory_.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/SOAP/Mapping/URIFactory_/obj2soap-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/SOAP/Mapping/URIFactory_/soap2obj-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/SOAP/SOAPAnyURI/cdesc-SOAPAnyURI.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/BadURIError/cdesc-BadURIError.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Error/cdesc-Error.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Escape/cdesc-Escape.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Escape/decode-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Escape/encode-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Escape/escape-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Escape/unescape-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/FTP/build-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/FTP/cdesc-FTP.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/FTP/check_typecode-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/FTP/new-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/FTP/new2-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/FTP/set_typecode-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/FTP/to_s-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/FTP/typecode%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/%2b-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/%2d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/%3d%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/absolute%3f-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/absolute-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/build-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/build2-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/cdesc-Generic.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/check_fragment-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/check_host-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/check_opaque-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/check_password-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/check_path-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/check_port-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/check_query-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/check_registry-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/check_scheme-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/check_user-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/check_userinfo-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/coerce-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/component-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/component-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/component_ary-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/default_port-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/default_port-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/eql%3f-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/escape_userpass-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/find_proxy-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/fragment%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/hash-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/hierarchical%3f-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/host%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/inspect-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/merge%21-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/merge-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/merge0-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/merge_path-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/new-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/normalize%21-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/normalize-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/opaque%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/password%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/password-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/path%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/path_query-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/port%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/query%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/registry%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/relative%3f-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/replace%21-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/route_from-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/route_from0-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/route_from_path-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/route_to-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/scheme%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/select-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/set_fragment-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/set_host-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/set_opaque-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/set_password-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/set_path-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/set_port-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/set_query-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/set_registry-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/set_scheme-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/set_user-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/set_userinfo-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/split_path-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/split_userinfo-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/to_s-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/use_registry-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/user%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/user-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/userinfo%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Generic/userinfo-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/HTTP/build-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/HTTP/cdesc-HTTP.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/HTTP/new-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/HTTP/request_uri-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/HTTPS/cdesc-HTTPS.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/InvalidComponentError/cdesc-InvalidComponentError.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/InvalidURIError/cdesc-InvalidURIError.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/attributes%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/attributes-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/build-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/build_path_query-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/cdesc-LDAP.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/dn%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/dn-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/extensions%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/extensions-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/filter%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/filter-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/hierarchical%3f-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/new-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/parse_dn-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/parse_query-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/scope%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/scope-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/set_attributes-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/set_dn-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/set_extensions-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/set_filter-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/LDAP/set_scope-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/MailTo/build-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/MailTo/cdesc-MailTo.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/MailTo/check_headers-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/MailTo/check_to-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/MailTo/headers%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/MailTo/new-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/MailTo/set_headers-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/MailTo/set_to-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/MailTo/to%3d-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/MailTo/to_mailtext-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/MailTo/to_rfc822text-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/MailTo/to_s-i.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/REGEXP/PATTERN/cdesc-PATTERN.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/REGEXP/cdesc-REGEXP.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/Util/cdesc-Util.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/cdesc-URI.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/extract-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/join-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/parse-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/regexp-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/URI/split-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/XSD/XSDAnyURI/cdesc-XSDAnyURI.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/XSD/XSDAnyURI/new-c.yaml interpreters/jruby1.1 usr/lib/jruby1.1/share/ri/1.8/system/XSD/XSDAnyURI/screen_data-i.yaml interpreters/jruby1.1 usr/lib/network-2.1.0.0/ghc-6.8.2/Network/URI.hi devel/libghc6-network-dev usr/lib/network-2.1.0.0/ghc-6.8.2/Network/URI.p_hi devel/libghc6-network-prof usr/lib/ocaml/3.10.2/galax/anyURI.cmi libdevel/libgalax-ocaml-dev usr/lib/ocaml/3.10.2/galax/anyURI.mli libdevel/libgalax-ocaml-dev usr/lib/ocaml/3.10.2/perl/pl_URI.cmi libdevel/libperl4caml-ocaml-dev usr/lib/ocaml/3.10.2/perl/pl_URI.ml libdevel/libperl4caml-ocaml-dev usr/lib/perl5/APR/URI.pm perl/libapache2-mod-perl2 usr/lib/perl5/Apache2/URI.pm perl/libapache2-mod-perl2 usr/lib/perl5/Gnome2/VFS/URI.pod perl/libgnome2-vfs-perl usr/lib/perl5/auto/APR/URI/URI.bs perl/libapache2-mod-perl2 usr/lib/perl5/auto/APR/URI/URI.so perl/libapache2-mod-perl2 usr/lib/perl5/auto/Apache2/URI/URI.bs perl/libapache2-mod-perl2 usr/lib/perl5/auto/Apache2/URI/URI.so perl/libapache2-mod-perl2 usr/lib/pike/7.6.112/modules/Standards.pmod/URI.pike interpreters/pike7.6-core usr/lib/zope2.10/lib/python/Testing/ZopeTestCase/doc/SECURITY.stx web/zope2.10 usr/share/apache2/error/HTTP_REQUEST_URI_TOO_LARGE.html.var net/apache2.2-common usr/share/classpath/gnu/xml/libxmlj/transform/URIResolverEntityResolver.class libs/classpath-common-unzipped usr/share/classpath/gnu/xml/transform/URIResolverEntityResolver.class libs/classpath-common-unzipped usr/share/classpath/gnu/xml/transform/XSLURIResolver.class libs/classpath-common-unzipped usr/share/classpath/gnu/xml/validation/datatype/AnyURIType.class libs/classpath-common-unzipped usr/share/classpath/java/net/URI.class libs/classpath-common-unzipped usr/share/classpath/java/net/URISyntaxException.class libs/classpath-common-unzipped usr/share/classpath/javax/print/URIException.class libs/classpath-common-unzipped usr/share/classpath/javax/print/attribute/URISyntax.class libs/classpath-common-unzipped usr/share/classpath/javax/print/attribute/standard/PrinterURI.class libs/classpath-common-unzipped usr/share/classpath/javax/xml/transform/URIResolver.class libs/classpath-common-unzipped usr/share/devscripts/Devscripts/URI.pm devel/devscripts usr/share/doc/bsdgames-nonfree/SECURITY.gz non-free/games/bsdgames-nonfree usr/share/doc/bsdgames/SECURITY.gz games/bsdgames usr/share/doc/classpath-doc/api/java/net/URI-source.html doc/classpath-doc usr/share/doc/classpath-doc/api/java/net/URI-uses.html doc/classpath-doc usr/share/doc/classpath-doc/api/java/net/URI.html doc/classpath-doc usr/share/doc/classpath-doc/api/java/net/URISyntaxException-source.html doc/classpath-doc usr/share/doc/classpath-doc/api/java/net/URISyntaxException-uses.html doc/classpath-doc usr/share/doc/classpath-doc/api/java/net/URISyntaxException.html doc/classpath-doc usr/share/doc/classpath-doc/api/javax/print/URIException-source.html doc/classpath-doc usr/share/doc/classpath-doc/api/javax/print/URIException-uses.html doc/classpath-doc usr/share/doc/classpath-doc/api/javax/print/URIException.html doc/classpath-doc usr/share/doc/classpath-doc/api/javax/print/attribute/URISyntax-source.html doc/classpath-doc usr/share/doc/classpath-doc/api/javax/print/attribute/URISyntax-uses.html doc/classpath-doc usr/share/doc/classpath-doc/api/javax/print/attribute/URISyntax.html doc/classpath-doc usr/share/doc/classpath-doc/api/javax/print/attribute/standard/PrinterURI-source.html doc/classpath-doc usr/share/doc/classpath-doc/api/javax/print/attribute/standard/PrinterURI-uses.html doc/classpath-doc usr/share/doc/classpath-doc/api/javax/print/attribute/standard/PrinterURI.html doc/classpath-doc usr/share/doc/classpath-doc/api/javax/xml/transform/URIResolver-source.html doc/classpath-doc usr/share/doc/classpath-doc/api/javax/xml/transform/URIResolver-uses.html doc/classpath-doc usr/share/doc/classpath-doc/api/javax/xml/transform/URIResolver.html doc/classpath-doc usr/share/doc/ddskk/nicola/README.URIs.ja utils/ddskk usr/share/doc/dietlibc-doc/SECURITY doc/dietlibc-doc usr/share/doc/flow-tools/SECURITY net/flow-tools usr/share/doc/fop-doc/html/api/org/apache/fop/apps/FOURIResolver.html contrib/doc/fop-doc usr/share/doc/fop-doc/html/api/org/apache/fop/apps/class-use/FOURIResolver.html contrib/doc/fop-doc usr/share/doc/fop-doc/html/api/org/apache/fop/datatypes/URISpecification.html contrib/doc/fop-doc usr/share/doc/fop-doc/html/api/org/apache/fop/datatypes/class-use/URISpecification.html contrib/doc/fop-doc usr/share/doc/fop-doc/html/api/org/apache/fop/servlet/ServletContextURIResolver.html contrib/doc/fop-doc usr/share/doc/fop-doc/html/api/org/apache/fop/servlet/class-use/ServletContextURIResolver.html contrib/doc/fop-doc usr/share/doc/fop-doc/html/api/org/apache/fop/util/DataURIResolver.html contrib/doc/fop-doc usr/share/doc/fop-doc/html/api/org/apache/fop/util/class-use/DataURIResolver.html contrib/doc/fop-doc usr/share/doc/frox/SECURITY net/frox usr/share/doc/gcj-4.3-base/html/java/net/URI-source.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/java/net/URI-uses.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/java/net/URI.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/java/net/URISyntaxException-source.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/java/net/URISyntaxException-uses.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/java/net/URISyntaxException.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/javax/print/URIException-source.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/javax/print/URIException-uses.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/javax/print/URIException.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/javax/print/attribute/URISyntax-source.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/javax/print/attribute/URISyntax-uses.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/javax/print/attribute/URISyntax.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/javax/print/attribute/standard/PrinterURI-source.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/javax/print/attribute/standard/PrinterURI-uses.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/javax/print/attribute/standard/PrinterURI.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/javax/xml/transform/URIResolver-source.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/javax/xml/transform/URIResolver-uses.html doc/libgcj-doc usr/share/doc/gcj-4.3-base/html/javax/xml/transform/URIResolver.html doc/libgcj-doc usr/share/doc/ghc6-doc/libraries/network/Network-URI.html doc/libghc6-network-doc usr/share/doc/ghc6-doc/libraries/network/src/Network-URI.html doc/libghc6-network-doc usr/share/doc/gtk2hs-doc/html/System-Gnome-VFS-URI.html doc/gtk2hs-doc usr/share/doc/horde3/SECURITY.gz web/horde3 usr/share/doc/kde/HTML/en/kdelibs-apidocs/kabc/html/URIValue-generated_8h-source.html doc/kdelibs4-doc usr/share/doc/kde/HTML/en/kdelibs-apidocs/kabc/html/URIValue_8cpp-source.html doc/kdelibs4-doc usr/share/doc/kde/HTML/en/kdelibs-apidocs/kabc/html/VCardURIValue_8h-source.html doc/kdelibs4-doc usr/share/doc/kde/HTML/en/kdelibs-apidocs/kio/kio/html/classKURIFilter-members.html doc/kdelibs4-doc usr/share/doc/kde/HTML/en/kdelibs-apidocs/kio/kio/html/classKURIFilter.html doc/kdelibs4-doc usr/share/doc/kde/HTML/en/kdelibs-apidocs/kio/kio/html/classKURIFilterData-members.html doc/kdelibs4-doc usr/share/doc/kde/HTML/en/kdelibs-apidocs/kio/kio/html/classKURIFilterData.html doc/kdelibs4-doc usr/share/doc/kde/HTML/en/kdelibs-apidocs/kio/kio/html/classKURIFilterPlugin-members.html doc/kdelibs4-doc usr/share/doc/kde/HTML/en/kdelibs-apidocs/kio/kio/html/classKURIFilterPlugin.html doc/kdelibs4-doc usr/share/doc/kde/HTML/en/kdelibs-apidocs/kio/kio/html/classKURIFilterPlugin.png doc/kdelibs4-doc usr/share/doc/kde/HTML/en/kdelibs-apidocs/kio/kio/html/classKURIFilterPluginList-members.html doc/kdelibs4-doc usr/share/doc/kde/HTML/en/kdelibs-apidocs/kio/kio/html/classKURIFilterPluginList.html doc/kdelibs4-doc usr/share/doc/kde/HTML/en/kdelibs-apidocs/kio/kio/html/classKURIFilterPluginList.png doc/kdelibs4-doc usr/share/doc/libactiveldap-ruby-doc/rdoc/classes/URI.html doc/libactiveldap-ruby-doc usr/share/doc/libactiveldap-ruby-doc/rdoc/classes/URI/LDAPS.html doc/libactiveldap-ruby-doc usr/share/doc/libapache2-mod-perl2-doc/api/APR/URI.pod.gz doc/libapache2-mod-perl2-doc usr/share/doc/libapache2-mod-perl2-doc/api/Apache2/URI.pod.gz doc/libapache2-mod-perl2-doc usr/share/doc/libaqbanking-doc/aqbanking.html/P_AB_SECURITY_PUBLIC.html doc/libaqbanking-doc usr/share/doc/libaqbanking-doc/aqbanking.html/group__AB__IMEXPORTER__CONTEXT__SECURITY.html doc/libaqbanking-doc usr/share/doc/libaqbanking-doc/aqbanking.html/structAB__SECURITY__LIST.html doc/libaqbanking-doc usr/share/doc/libaqbanking-doc/aqbanking.html/structAB__SECURITY__LIST__ELEMENT.html doc/libaqbanking-doc usr/share/doc/libaxis-java-doc/javadocs/org/apache/axis/holders/URIHolder-uses.html doc/libaxis-java-doc usr/share/doc/libaxis-java-doc/javadocs/org/apache/axis/holders/URIHolder.html doc/libaxis-java-doc usr/share/doc/libaxis-java-doc/javadocs/org/apache/axis/types/URI-uses.html doc/libaxis-java-doc usr/share/doc/libaxis-java-doc/javadocs/org/apache/axis/types/URI.MalformedURIException-uses.html doc/libaxis-java-doc usr/share/doc/libaxis-java-doc/javadocs/org/apache/axis/types/URI.MalformedURIException.html doc/libaxis-java-doc usr/share/doc/libaxis-java-doc/javadocs/org/apache/axis/types/URI.html doc/libaxis-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/apidocs/org/apache/commons/httpclient/URI.DefaultCharsetChanged.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/apidocs/org/apache/commons/httpclient/URI.LocaleToCharsetMap.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/apidocs/org/apache/commons/httpclient/URI.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/apidocs/org/apache/commons/httpclient/URIException.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/apidocs/org/apache/commons/httpclient/class-use/URI.DefaultCharsetChanged.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/apidocs/org/apache/commons/httpclient/class-use/URI.LocaleToCharsetMap.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/apidocs/org/apache/commons/httpclient/class-use/URI.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/apidocs/org/apache/commons/httpclient/class-use/URIException.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/apidocs/org/apache/commons/httpclient/util/URIUtil.Coder.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/apidocs/org/apache/commons/httpclient/util/URIUtil.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/apidocs/org/apache/commons/httpclient/util/class-use/URIUtil.Coder.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/apidocs/org/apache/commons/httpclient/util/class-use/URIUtil.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/xref-test/org/apache/commons/httpclient/TestURI.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/xref-test/org/apache/commons/httpclient/TestURIUtil.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/xref-test/org/apache/commons/httpclient/TestURIUtil2.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/xref/org/apache/commons/httpclient/URI.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/xref/org/apache/commons/httpclient/URIException.html doc/libcommons-httpclient-java-doc usr/share/doc/libcommons-httpclient-java-doc/docs/xref/org/apache/commons/httpclient/util/URIUtil.html doc/libcommons-httpclient-java-doc usr/share/doc/libgalax-ocaml-dev/html/api/AnyURI.html doc/galax-doc usr/share/doc/libgalax-ocaml-dev/html/api/Dm_atomic.atomicAnyURI.html doc/galax-doc usr/share/doc/libgalax-ocaml-dev/html/api/type_AnyURI.html doc/galax-doc usr/share/doc/libgalax-ocaml-dev/html/api/type_Dm_atomic.atomicAnyURI.html doc/galax-doc usr/share/doc/libgdome2-ocaml-dev/html/api/code_VALINode.get_namespaceURI.html libdevel/libgdome2-ocaml-dev usr/share/doc/libglib2.0-doc/glib/glib-URI-Functions.html doc/libglib2.0-doc usr/share/doc/libgrinvin-core-java-doc/api/org/grinvin/graphs/GraphURI.html contrib/doc/libgrinvin-core-java-doc usr/share/doc/libgrinvin-core-java-doc/api/org/grinvin/graphs/GraphURIException.html contrib/doc/libgrinvin-core-java-doc usr/share/doc/libgrinvin-core-java-doc/api/org/grinvin/graphs/GraphURIType.html contrib/doc/libgrinvin-core-java-doc usr/share/doc/libgrinvin-core-java-doc/api/org/grinvin/help/HelpURIResolver.html contrib/doc/libgrinvin-core-java-doc usr/share/doc/libgrinvin-core-java-doc/api/org/grinvin/list/HasURI.html contrib/doc/libgrinvin-core-java-doc usr/share/doc/libjaxme-java/api/org/apache/ws/jaxme/xs/types/XSAnyURI.html libs/libjaxme-java usr/share/doc/libjaxme-java/api/org/apache/ws/jaxme/xs/xml/XsAnyURI.html libs/libjaxme-java usr/share/doc/libnet-sftp-ruby1.8/api/classes/URI.html interpreters/libnet-sftp-ruby1.8 usr/share/doc/libnet-sftp-ruby1.8/api/classes/URI/SFTP.html interpreters/libnet-sftp-ruby1.8 usr/share/doc/libopenid-ruby/html/classes/OpenID/TypeURIMismatch.html libs/libopenid-ruby usr/share/doc/libopenid-ruby/html/classes/OpenID/TypeURIMismatch.src/M000443.html libs/libopenid-ruby usr/share/doc/libopenid-ruby/html/classes/OpenID/URINorm.html libs/libopenid-ruby usr/share/doc/libopenid-ruby/html/classes/OpenID/URINorm.src/M000126.html libs/libopenid-ruby usr/share/doc/libpdfbox-java-doc/html/org/pdfbox/pdmodel/interactive/action/type/PDActionURI-uses.html contrib/doc/libpdfbox-java-doc usr/share/doc/libpdfbox-java-doc/html/org/pdfbox/pdmodel/interactive/action/type/PDActionURI.html contrib/doc/libpdfbox-java-doc usr/share/doc/libperl4caml-ocaml-doc/html/Pl_URI.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/Pl_URI.uri.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.abs.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.as_string.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.canonical.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.default_port.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.fragment.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.host.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.host_port.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.opaque.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.path.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.port.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.rel.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.scheme.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.set_fragment.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.set_host.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.set_host_port.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.set_no_fragment.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.set_opaque.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.set_path.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.set_port.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.set_scheme.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_METHODPl_URI.uri.sv.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_VALPl_URI.new_.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/code_VALPl_URI.new_abs.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/type_Pl_URI.html doc/libperl4caml-ocaml-doc usr/share/doc/libperl4caml-ocaml-doc/html/type_Pl_URI.uri.html doc/libperl4caml-ocaml-doc usr/share/doc/libpoco-doc/html/Poco.URI.html doc/libpoco-doc usr/share/doc/libpoco-doc/html/Poco.URIRedirection.html doc/libpoco-doc usr/share/doc/libpoco-doc/html/Poco.URIStreamFactory.html doc/libpoco-doc usr/share/doc/libpoco-doc/html/Poco.URIStreamOpener.html doc/libpoco-doc usr/share/doc/libpoco-doc/html/Poco.UnknownURISchemeException.html doc/libpoco-doc usr/share/doc/libpoco-doc/html/package-Foundation.URI-index.html doc/libpoco-doc usr/share/doc/libsablot-doc/html/jsdom-ref/apidocs/api-Node.namespaceURI.html doc/libsablot-doc usr/share/doc/libsablot-doc/html/sablot/apidocs/api-.URIs.html doc/libsablot-doc usr/share/doc/libsablot-doc/html/sxp/apidocs/api-getNodeNameURI.html doc/libsablot-doc usr/share/doc/libsaxon-java-doc/api/com/icl/saxon/StandardURIResolver.html doc/libsaxon-java-doc usr/share/doc/libsaxon-java-doc/api/com/icl/saxon/functions/NamespaceURI.html doc/libsaxon-java-doc usr/share/doc/libsaxon-java-doc/api/com/icl/saxon/functions/UnparsedEntityURI.html doc/libsaxon-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/CollectionURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/NonDelegatingURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/OutputURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/RelativeURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/StandardURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/dotnet/DotNetCollectionURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/dotnet/DotNetStandardModuleURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/dotnet/DotNetURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/event/HTMLURIEscaper.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/event/XHTMLURIEscaper.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/functions/BaseURI.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/functions/EscapeURI.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/functions/ResolveURI.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/functions/StandardCollectionURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/functions/StaticBaseURI.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/functions/URIQueryParameters.RegexFilter.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/functions/URIQueryParameters.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/query/ModuleURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/query/StandardModuleURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/sort/CollationURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/sort/StandardCollationURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/trans/UnparsedTextURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/type/SchemaURIResolver.html doc/libsaxonb-java-doc usr/share/doc/libsaxon8-java-doc/api/net/sf/saxon/value/AnyURIValue.html doc/libsaxonb-java-doc usr/share/doc/libupnp3-dev/html/ixml/ixmlNode_getNamespaceURI.html libdevel/libupnp3-dev usr/share/doc/libupnp4-dev/html/ixml/ixmlNode_getNamespaceURI.html libdevel/libupnp4-dev usr/share/doc/libwww-mechanize-ruby-doc/rdoc/classes/WWW/Mechanize/Chain/URIResolver.html doc/libwww-mechanize-ruby-doc usr/share/doc/libxalan110-doc/apiDocs/FunctionNamespaceURI_8hpp-source.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/FunctionNamespaceURI_8hpp.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/FunctionUnparsedEntityURI_8hpp-source.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/FunctionUnparsedEntityURI_8hpp.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/URISupport_8hpp-source.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/URISupport_8hpp.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/XalanParsedURI_8hpp-source.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/XalanParsedURI_8hpp.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classFunctionNamespaceURI-members.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classFunctionNamespaceURI.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classFunctionNamespaceURI.png doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classFunctionUnparsedEntityURI-members.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classFunctionUnparsedEntityURI.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classFunctionUnparsedEntityURI.png doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classURISupport-members.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classURISupport.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classURISupport_1_1InvalidURIException-members.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classURISupport_1_1InvalidURIException.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classURISupport_1_1InvalidURIException.png doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classXalanEXSLTFunctionDecodeURI-members.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classXalanEXSLTFunctionDecodeURI.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classXalanEXSLTFunctionDecodeURI.png doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classXalanEXSLTFunctionEncodeURI-members.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classXalanEXSLTFunctionEncodeURI.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classXalanEXSLTFunctionEncodeURI.png doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classXalanParsedURI-members.html doc/libxalan110-doc usr/share/doc/libxalan110-doc/apiDocs/classXalanParsedURI.html doc/libxalan110-doc usr/share/doc/libxalan2-java-doc/api/org/apache/xml/serializer/utils/URI.MalformedURIException-uses.html doc/libxalan2-java-doc usr/share/doc/libxalan2-java-doc/api/org/apache/xml/serializer/utils/URI.MalformedURIException.html doc/libxalan2-java-doc usr/share/doc/libxalan2-java-doc/api/org/apache/xml/utils/URI-uses.html doc/libxalan2-java-doc usr/share/doc/libxalan2-java-doc/api/org/apache/xml/utils/URI.MalformedURIException-uses.html doc/libxalan2-java-doc usr/share/doc/libxalan2-java-doc/api/org/apache/xml/utils/URI.MalformedURIException.html doc/libxalan2-java-doc usr/share/doc/libxalan2-java-doc/api/org/apache/xml/utils/URI.html doc/libxalan2-java-doc usr/share/doc/libxalan2-java-doc/api/org/apache/xpath/functions/FuncUnparsedEntityURI-uses.html doc/libxalan2-java-doc usr/share/doc/libxalan2-java-doc/api/org/apache/xpath/functions/FuncUnparsedEntityURI.html doc/libxalan2-java-doc usr/share/doc/libxerces2-java-doc/api/xerces2/org/apache/xerces/impl/dv/xs/AnyURIDV.html doc/libxerces2-java-doc usr/share/doc/libxerces2-java-doc/api/xerces2/org/apache/xerces/util/URI.MalformedURIException.html doc/libxerces2-java-doc usr/share/doc/libxerces2-java-doc/api/xerces2/org/apache/xerces/util/URI.html doc/libxerces2-java-doc usr/share/doc/libxmlrpc-c3-dev/SECURITY libdevel/libxmlrpc-c3-dev usr/share/doc/libxom-java-doc/apidocs/nu/xom/MalformedURIException-uses.html doc/libxom-java-doc usr/share/doc/libxom-java-doc/apidocs/nu/xom/MalformedURIException.html doc/libxom-java-doc usr/share/doc/linux-igd/SECURITY.Debian net/linux-igd usr/share/doc/linuxlogo/README.SECURITY misc/linuxlogo usr/share/doc/lprng/README.SSL.SECURITY.gz net/lprng usr/share/doc/mailagent/SECURITY.gz mail/mailagent usr/share/doc/mimedefang/README.SECURITY mail/mimedefang usr/share/doc/mongrel-doc/rdoc/classes/Mongrel/URIClassifier.html doc/mongrel-doc usr/share/doc/mongrel-doc/rdoc/classes/Mongrel/URIClassifier.src/M000066.html doc/mongrel-doc usr/share/doc/mongrel-doc/rdoc/classes/Mongrel/URIClassifier.src/M000067.html doc/mongrel-doc usr/share/doc/mongrel-doc/rdoc/classes/Mongrel/URIClassifier.src/M000068.html doc/mongrel-doc usr/share/doc/mongrel-doc/rdoc/classes/Mongrel/URIClassifier.src/M000069.html doc/mongrel-doc usr/share/doc/mongrel-doc/rdoc/classes/Mongrel/URIClassifier.src/M000070.html doc/mongrel-doc usr/share/doc/mongrel-doc/rdoc/classes/Mongrel/URIClassifier/RegistrationError.html doc/mongrel-doc usr/share/doc/mongrel-doc/rdoc/classes/Mongrel/URIClassifier/UsageError.html doc/mongrel-doc usr/share/doc/mtr/SECURITY net/mtr usr/share/doc/muse/SECURITY.gz sound/muse usr/share/doc/mutt/README.SECURITY mail/mutt usr/share/doc/nagios-nrpe-server/SECURITY net/nagios-nrpe-server usr/share/doc/openais/SECURITY.gz admin/openais usr/share/doc/openjdk-6-jre/api/java/net/URI.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/java/net/URISyntaxException.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/java/net/class-use/URI.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/java/net/class-use/URISyntaxException.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/java/security/URIParameter.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/java/security/class-use/URIParameter.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/print/URIException.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/print/attribute/URISyntax.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/print/attribute/class-use/URISyntax.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/print/attribute/standard/PrinterURI.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/print/attribute/standard/class-use/PrinterURI.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/print/class-use/URIException.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/xml/crypto/URIDereferencer.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/xml/crypto/URIReference.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/xml/crypto/URIReferenceException.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/xml/crypto/class-use/URIDereferencer.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/xml/crypto/class-use/URIReference.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/xml/crypto/class-use/URIReferenceException.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/xml/crypto/dom/DOMURIReference.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/xml/crypto/dom/class-use/DOMURIReference.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/xml/transform/URIResolver.html doc/openjdk-6-doc usr/share/doc/openjdk-6-jre/api/javax/xml/transform/class-use/URIResolver.html doc/openjdk-6-doc usr/share/doc/openoffice.org-dev/docs/common/ref/com/sun/star/script/provider/ScriptURIHelper.html doc/openoffice.org-dev-doc usr/share/doc/openoffice.org-dev/docs/common/ref/com/sun/star/script/provider/XScriptURIHelper-xref.html doc/openoffice.org-dev-doc usr/share/doc/openoffice.org-dev/docs/common/ref/com/sun/star/script/provider/XScriptURIHelper.html doc/openoffice.org-dev-doc usr/share/doc/pcscd/SECURITY misc/pcscd usr/share/doc/php-openid/html/OpenID/Auth_OpenID_TypeURIMismatch.html web/php-openid usr/share/doc/phpgroupware-0.9.16-doc/SECURITY doc/phpgroupware-0.9.16-doc usr/share/doc/phpgroupware-0.9.16-phpgwapi-doc/SECURITY doc/phpgroupware-0.9.16-phpgwapi-doc usr/share/doc/pike7.6-doc/html/reference/ex/predef_3A_3A/Standards/URI.html doc/pike7.6-reference usr/share/doc/pike7.6-doc/html/reference/ex/predef_3A_3A/Standards/URI/_backtick_2D_3E_eq.html doc/pike7.6-reference usr/share/doc/pike7.6-doc/html/reference/ex/predef_3A_3A/Standards/URI/_backtick_5B_5D_eq.html doc/pike7.6-reference usr/share/doc/pike7.6-doc/html/reference/ex/predef_3A_3A/Standards/URI/_backtick_eq_eq.html doc/pike7.6-reference usr/share/doc/pike7.6-doc/html/reference/ex/predef_3A_3A/Standards/URI/cast.html doc/pike7.6-reference usr/share/doc/pike7.6-doc/html/reference/ex/predef_3A_3A/Standards/URI/create.html doc/pike7.6-reference usr/share/doc/pike7.6-doc/html/reference/ex/predef_3A_3A/Standards/URI/get_path_query.html doc/pike7.6-reference usr/share/doc/pike7.6-doc/html/reference/ex/predef_3A_3A/Standards/URI/reparse_uri.html doc/pike7.6-reference usr/share/doc/pike7.6-doc/html/reference/ex/predef_3A_3A/Web/RDF/URIResource.html doc/pike7.6-reference usr/share/doc/pike7.6-doc/html/reference/ex/predef_3A_3A/Web/RDF/URIResource/create.html doc/pike7.6-reference usr/share/doc/pike7.6-doc/html/reference/ex/predef_3A_3A/Web/RDF/URIResource/get_namespace.html doc/pike7.6-reference usr/share/doc/pike7.6-doc/html/reference/ex/predef_3A_3A/Web/RDF/URIResource/get_qname.html doc/pike7.6-reference usr/share/doc/pike7.6-doc/html/reference/ex/predef_3A_3A/Web/RDF/URIResource/get_uri.html doc/pike7.6-reference usr/share/doc/prayer-accountd/SECURITY mail/prayer-accountd usr/share/doc/prayer/SECURITY mail/prayer usr/share/doc/python-gammu-doc/html/gammu.ERR_SECURITYERROR-class.html doc/python-gammu-doc usr/share/doc/python-kde3-doc/html/classref/kio/KURIFilter.html doc/python-kde3-doc usr/share/doc/python-kde3-doc/html/classref/kio/KURIFilterData.html doc/python-kde3-doc usr/share/doc/python-kde3-doc/html/classref/kio/KURIFilterPlugin.html doc/python-kde3-doc usr/share/doc/python-libxml2/examples/tstURI.py python/python-libxml2 usr/share/doc/rssh/SECURITY.gz net/rssh usr/share/doc/sendmail-doc/sendmail/SECURITY.gz doc/sendmail-doc usr/share/doc/socat/SECURITY net/socat usr/share/doc/sqwebmail/SECURITY.gz mail/sqwebmail usr/share/doc/sqwebmail/SECURITY.html mail/sqwebmail usr/share/doc/vlock/SECURITY utils/vlock usr/share/doc/vsftpd/SECURITY/DESIGN.gz net/vsftpd usr/share/doc/vsftpd/SECURITY/IMPLEMENTATION net/vsftpd usr/share/doc/vsftpd/SECURITY/OVERVIEW net/vsftpd usr/share/doc/vsftpd/SECURITY/TRUST.gz net/vsftpd usr/share/doc/wfo/classes/OpenURI.html web/wfo usr/share/doc/wfo/classes/OpenURI/Meta.html web/wfo usr/share/doc/wfo/classes/OpenURI/Meta.src/M000163.html web/wfo usr/share/doc/wfo/classes/OpenURI/Meta.src/M000164.html web/wfo usr/share/doc/yate-doc/api/TelEngine__URI.html doc/yate-doc usr/share/doc/yate-doc/api/full-list-TelEngine__URI.html doc/yate-doc usr/share/doc/zgv/SECURITY graphics/zgv usr/share/doc/zope2.10-sandbox/SECURITY.txt web/zope2.10-sandbox usr/share/doc/zope2.10/SECURITY.txt web/zope2.10 usr/share/gtk-doc/html/libsoup-2.4/libsoup-24-SoupURI.html doc/libsoup2.4-doc usr/share/gtk-doc/html/rhythmbox/RBURIDialog.html gnome/rhythmbox usr/share/idl/iceape/nsCDefaultURIFixup.idl devel/iceape-dev usr/share/idl/iceape/nsCURILoader.idl devel/iceape-dev usr/share/idl/iceape/nsIDOMSVGURIReference.idl devel/iceape-dev usr/share/idl/iceape/nsIEncryptedSMIMEURIsSrvc.idl devel/iceape-dev usr/share/idl/iceape/nsIIconURI.idl devel/iceape-dev usr/share/idl/iceape/nsIJARURI.idl devel/iceape-dev usr/share/idl/iceape/nsIRefreshURI.idl devel/iceape-dev usr/share/idl/iceape/nsITextToSubURI.idl devel/iceape-dev usr/share/idl/iceape/nsIURI.idl devel/iceape-dev usr/share/idl/iceape/nsIURIChecker.idl devel/iceape-dev usr/share/idl/iceape/nsIURIContentListener.idl devel/iceape-dev usr/share/idl/iceape/nsIURIFixup.idl devel/iceape-dev usr/share/idl/iceape/nsIURILoader.idl devel/iceape-dev usr/share/idl/iceape/nsIURIRefObject.idl devel/iceape-dev usr/share/idl/icedove/nsCDefaultURIFixup.idl mail/icedove-dev usr/share/idl/icedove/nsCURILoader.idl mail/icedove-dev usr/share/idl/icedove/nsIDOMSVGURIReference.idl mail/icedove-dev usr/share/idl/icedove/nsIEncryptedSMIMEURIsSrvc.idl mail/icedove-dev usr/share/idl/icedove/nsIIconURI.idl mail/icedove-dev usr/share/idl/icedove/nsIJARURI.idl mail/icedove-dev usr/share/idl/icedove/nsIRefreshURI.idl mail/icedove-dev usr/share/idl/icedove/nsITextToSubURI.idl mail/icedove-dev usr/share/idl/icedove/nsIURI.idl mail/icedove-dev usr/share/idl/icedove/nsIURIChecker.idl mail/icedove-dev usr/share/idl/icedove/nsIURIContentListener.idl mail/icedove-dev usr/share/idl/icedove/nsIURIFixup.idl mail/icedove-dev usr/share/idl/icedove/nsIURILoader.idl mail/icedove-dev usr/share/idl/icedove/nsIURIRefObject.idl mail/icedove-dev usr/share/idl/iceowl/nsCDefaultURIFixup.idl devel/iceowl-dev usr/share/idl/iceowl/nsCURILoader.idl devel/iceowl-dev usr/share/idl/iceowl/nsIIconURI.idl devel/iceowl-dev usr/share/idl/iceowl/nsIJARURI.idl devel/iceowl-dev usr/share/idl/iceowl/nsIRefreshURI.idl devel/iceowl-dev usr/share/idl/iceowl/nsITextToSubURI.idl devel/iceowl-dev usr/share/idl/iceowl/nsIURI.idl devel/iceowl-dev usr/share/idl/iceowl/nsIURIChecker.idl devel/iceowl-dev usr/share/idl/iceowl/nsIURIContentListener.idl devel/iceowl-dev usr/share/idl/iceowl/nsIURIFixup.idl devel/iceowl-dev usr/share/idl/iceowl/nsIURILoader.idl devel/iceowl-dev usr/share/idl/iceowl/nsIURIRefObject.idl devel/iceowl-dev usr/share/idl/openoffice/com/sun/star/script/provider/ScriptURIHelper.idl devel/openoffice.org-dev usr/share/idl/openoffice/com/sun/star/script/provider/XScriptURIHelper.idl devel/openoffice.org-dev usr/share/idl/xulrunner-1.9/stable/nsIURI.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/stable/nsIURIContentListener.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsCDefaultURIFixup.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsCURILoader.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsIContentURIGrouper.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsIDOMSVGURIReference.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsIIconURI.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsIJARURI.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsINestedURI.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsIRefreshURI.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsITextToSubURI.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsIURI.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsIURIChecker.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsIURIClassifier.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsIURIContentListener.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsIURIFixup.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsIURILoader.idl libdevel/xulrunner-dev usr/share/idl/xulrunner-1.9/unstable/nsIURIRefObject.idl libdevel/xulrunner-dev usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/AttrDef/CSS/URI.php web/knowledgeroot usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/AttrDef/URI.php web/knowledgeroot usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/AttrDef/URI/Email.php web/knowledgeroot usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php web/knowledgeroot usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/AttrDef/URI/Host.php web/knowledgeroot usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/AttrDef/URI/IPv4.php web/knowledgeroot usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/AttrDef/URI/IPv6.php web/knowledgeroot usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/URIScheme.php web/knowledgeroot usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/URIScheme/ftp.php web/knowledgeroot usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/URIScheme/http.php web/knowledgeroot usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/URIScheme/https.php web/knowledgeroot usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/URIScheme/mailto.php web/knowledgeroot usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/URIScheme/news.php web/knowledgeroot usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/URIScheme/nntp.php web/knowledgeroot usr/share/knowledgeroot/system/extension/libsecure/htmlpurifier/HTMLPurifier/URISchemeRegistry.php web/knowledgeroot usr/share/mahara/lib/htmlpurifier/HTMLPurifier/AttrDef/CSS/URI.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/AttrDef/URI.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/AttrDef/URI/Email.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/AttrDef/URI/Host.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/AttrDef/URI/IPv4.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/AttrDef/URI/IPv6.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URI.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URIDefinition.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URIFilter.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URIFilter/DisableExternal.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URIFilter/DisableExternalResources.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URIFilter/HostBlacklist.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URIFilter/MakeAbsolute.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URIParser.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URIScheme.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URIScheme/ftp.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URIScheme/http.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URIScheme/https.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URIScheme/mailto.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URIScheme/news.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URIScheme/nntp.php web/mahara usr/share/mahara/lib/htmlpurifier/HTMLPurifier/URISchemeRegistry.php web/mahara usr/share/man/man3/APR::URI.3pm.gz perl/libapache2-mod-perl2 usr/share/man/man3/Apache2::URI.3pm.gz perl/libapache2-mod-perl2 usr/share/man/man3/Gnome2::VFS::URI.3pm.gz perl/libgnome2-vfs-perl usr/share/man/man3/Jifty::DBI::Filter::URI.3pm.gz perl/libjifty-dbi-perl usr/share/man/man3/Mail::Message::Field::URIs.3pm.gz perl/libmail-box-perl usr/share/man/man3/Mail::SpamAssassin::Plugin::URIDNSBL.3pm.gz mail/spamassassin usr/share/man/man3/Mail::SpamAssassin::Plugin::URIDetail.3pm.gz mail/spamassassin usr/share/man/man3/RDF::Redland::URI.3pm.gz perl/librdf-perl usr/share/man/man3/RDF::Redland::URINode.3pm.gz perl/librdf-perl usr/share/man/man3/RT::URI::a.3pm.gz misc/rt3.6-rtfm usr/share/man/man3/RT::URI::fsck_com_rtfm.3pm.gz misc/rt3.6-rtfm usr/share/man/man3/Regexp::Common::URI.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::RFC1035.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::RFC1738.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::RFC1808.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::RFC2384.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::RFC2396.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::RFC2806.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::fax.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::file.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::ftp.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::gopher.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::http.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::news.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::pop.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::prospero.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::tel.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::telnet.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::tv.3pm.gz perl/libregexp-common-perl usr/share/man/man3/Regexp::Common::URI::wais.3pm.gz perl/libregexp-common-perl usr/share/man/man3/URI.3pm.gz perl/liburi-perl usr/share/man/man3/URI::Escape.3pm.gz perl/liburi-perl usr/share/man/man3/URI::Fetch.3pm.gz perl/liburi-fetch-perl usr/share/man/man3/URI::Fetch::Response.3pm.gz perl/liburi-fetch-perl usr/share/man/man3/URI::Find.3pm.gz perl/liburi-find-perl usr/share/man/man3/URI::Find::Delimited.3pm.gz perl/liburi-find-delimited-perl usr/share/man/man3/URI::Find::Schemeless.3pm.gz perl/liburi-find-perl usr/share/man/man3/URI::Heuristic.3pm.gz perl/liburi-perl usr/share/man/man3/URI::Query.3pm.gz perl/liburi-query-perl usr/share/man/man3/URI::QueryParam.3pm.gz perl/liburi-perl usr/share/man/man3/URI::Split.3pm.gz perl/liburi-perl usr/share/man/man3/URI::Template.3pm.gz perl/liburi-template-perl usr/share/man/man3/URI::URL.3pm.gz perl/liburi-perl usr/share/man/man3/URI::WithBase.3pm.gz perl/liburi-perl usr/share/man/man3/URI::data.3pm.gz perl/liburi-perl usr/share/man/man3/URI::file.3pm.gz perl/liburi-perl usr/share/man/man3/URI::ldap.3pm.gz perl/liburi-perl usr/share/mediawiki-semediawiki/includes/SMW_DV_URI.php web/mediawiki-semediawiki usr/share/mediawiki-semediawiki/specials/URIResolver/SMW_SpecialURIResolver.php web/mediawiki-semediawiki usr/share/mibs/ietf/URI-TC-MIB misc/libsmi2-common usr/share/mozilla-extensions/ctxextensions/chrome/ctxextensions/content/ctxextensions/pref/pref-sendURI.xul web/mozilla-ctxextensions usr/share/perl5/Jifty/DBI/Filter/URI.pm perl/libjifty-dbi-perl usr/share/perl5/Mail/Message/Field/URIs.pm perl/libmail-box-perl usr/share/perl5/Mail/Message/Field/URIs.pod perl/libmail-box-perl usr/share/perl5/Mail/SpamAssassin/Plugin/URIDNSBL.pm mail/spamassassin usr/share/perl5/Mail/SpamAssassin/Plugin/URIDetail.pm mail/spamassassin usr/share/perl5/Mail/SpamAssassin/Plugin/URIEval.pm mail/spamassassin usr/share/perl5/RDF/Redland/URI.pm perl/librdf-perl usr/share/perl5/RDF/Redland/URINode.pm perl/librdf-perl usr/share/perl5/Regexp/Common/URI.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/RFC1035.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/RFC1738.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/RFC1808.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/RFC2384.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/RFC2396.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/RFC2806.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/fax.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/file.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/ftp.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/gopher.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/http.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/news.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/pop.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/prospero.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/tel.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/telnet.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/tv.pm perl/libregexp-common-perl usr/share/perl5/Regexp/Common/URI/wais.pm perl/libregexp-common-perl usr/share/perl5/URI.pm perl/liburi-perl usr/share/perl5/URI/Escape.pm perl/liburi-perl usr/share/perl5/URI/Fetch.pm perl/liburi-fetch-perl usr/share/perl5/URI/Fetch/Response.pm perl/liburi-fetch-perl usr/share/perl5/URI/Find.pm perl/liburi-find-perl usr/share/perl5/URI/Find/Delimited.pm perl/liburi-find-delimited-perl usr/share/perl5/URI/Find/Schemeless.pm perl/liburi-find-perl usr/share/perl5/URI/Heuristic.pm perl/liburi-perl usr/share/perl5/URI/Query.pm perl/liburi-query-perl usr/share/perl5/URI/QueryParam.pm perl/liburi-perl usr/share/perl5/URI/Split.pm perl/liburi-perl usr/share/perl5/URI/Template.pm perl/liburi-template-perl usr/share/perl5/URI/URL.pm perl/liburi-perl usr/share/perl5/URI/WithBase.pm perl/liburi-perl usr/share/perl5/URI/_foreign.pm perl/liburi-perl usr/share/perl5/URI/_generic.pm perl/liburi-perl usr/share/perl5/URI/_ldap.pm perl/liburi-perl usr/share/perl5/URI/_login.pm perl/liburi-perl usr/share/perl5/URI/_query.pm perl/liburi-perl usr/share/perl5/URI/_segment.pm perl/liburi-perl usr/share/perl5/URI/_server.pm perl/liburi-perl usr/share/perl5/URI/_userpass.pm perl/liburi-perl usr/share/perl5/URI/data.pm perl/liburi-perl usr/share/perl5/URI/file.pm perl/liburi-perl usr/share/perl5/URI/file/Base.pm perl/liburi-perl usr/share/perl5/URI/file/FAT.pm perl/liburi-perl usr/share/perl5/URI/file/Mac.pm perl/liburi-perl usr/share/perl5/URI/file/OS2.pm perl/liburi-perl usr/share/perl5/URI/file/QNX.pm perl/liburi-perl usr/share/perl5/URI/file/Unix.pm perl/liburi-perl usr/share/perl5/URI/file/Win32.pm perl/liburi-perl usr/share/perl5/URI/ftp.pm perl/liburi-perl usr/share/perl5/URI/gopher.pm perl/liburi-perl usr/share/perl5/URI/http.pm perl/liburi-perl usr/share/perl5/URI/https.pm perl/liburi-perl usr/share/perl5/URI/ldap.pm perl/liburi-perl usr/share/perl5/URI/ldapi.pm perl/liburi-perl usr/share/perl5/URI/ldaps.pm perl/liburi-perl usr/share/perl5/URI/mailto.pm perl/liburi-perl usr/share/perl5/URI/mms.pm perl/liburi-perl usr/share/perl5/URI/news.pm perl/liburi-perl usr/share/perl5/URI/nntp.pm perl/liburi-perl usr/share/perl5/URI/pop.pm perl/liburi-perl usr/share/perl5/URI/rlogin.pm perl/liburi-perl usr/share/perl5/URI/rsync.pm perl/liburi-perl usr/share/perl5/URI/rtsp.pm perl/liburi-perl usr/share/perl5/URI/rtspu.pm perl/liburi-perl usr/share/perl5/URI/sip.pm perl/liburi-perl usr/share/perl5/URI/sips.pm perl/liburi-perl usr/share/perl5/URI/snews.pm perl/liburi-perl usr/share/perl5/URI/ssh.pm perl/liburi-perl usr/share/perl5/URI/telnet.pm perl/liburi-perl usr/share/perl5/URI/tn3270.pm perl/liburi-perl usr/share/perl5/URI/urn.pm perl/liburi-perl usr/share/perl5/URI/urn/isbn.pm perl/liburi-perl usr/share/perl5/URI/urn/oid.pm perl/liburi-perl usr/share/perl5/XML/SAX/PurePerl/Reader/URI.pm perl/libxml-sax-perl usr/share/php/Auth/OpenID/URINorm.php web/php-openid usr/share/pyaimt/src/legacy/services/AIMURITranslate.py net/pyaimt usr/share/pyshared/omniORB/URI.py python/python-omniorb usr/share/python-support/python-rdflib/rdflib/URIRef.py python/python-rdflib usr/share/request-tracker3.6/lib/RT/URI.pm misc/request-tracker3.6 usr/share/request-tracker3.6/lib/RT/URI/a.pm misc/rt3.6-rtfm usr/share/request-tracker3.6/lib/RT/URI/base.pm misc/request-tracker3.6 usr/share/request-tracker3.6/lib/RT/URI/fsck_com_rt.pm misc/request-tracker3.6 usr/share/request-tracker3.6/lib/RT/URI/fsck_com_rtfm.pm misc/rt3.6-rtfm usr/share/request-tracker3.6/lib/RT/URI/t.pm misc/request-tracker3.6 usr/lib/perl5/Image/Magick.pm perl/perlmagick usr/share/perl5/GD/SecurityImage/Magick.pm perl/libgd-securityimage-perl usr/share/perl5/Image/Magick.pm graphics/graphicsmagick-libmagick-dev-compat lib000755001750001750 012234004042 12560 5ustar00damdam000000000000DhMakePerl-0.80DhMakePerl.pm000444001750001750 544112234004042 15233 0ustar00damdam000000000000DhMakePerl-0.80/libpackage DhMakePerl; use warnings; use strict; use 5.010; # we use smart matching use base 'Class::Accessor'; __PACKAGE__->mk_accessors( qw( cfg apt_contents ) ); =head1 NAME DhMakePerl - create Debian source package from CPAN dist =head1 VERSION Version 0.80 =cut our $VERSION = '0.80'; =head1 SYNOPSIS use DhMakePerl; DhMakePerl->run; =head1 ACCESSORS =over =item apt_contents Stores the cached copy of L. =item cfg Stores the configuration, an instance of L =back =head1 CLASS METHODS =over =cut use Debian::AptContents (); use DhMakePerl::Config; use version (); =item run( I<%init> ) Runs DhMakePerl. Unless the %init contains an I member, constructs and instance of L and assigns it to I<$init{cfg}>. Then determines the dh-make-perl command requested (via cfg->command), loads the appropriate I class, constructs an instance of it and calls its I method. =cut sub run { my ( $class, %c ) = @_; unless ( $c{cfg} ) { my $cfg = DhMakePerl::Config->new; $cfg->parse_command_line_options; $cfg->parse_config_file; $c{cfg} = $cfg; } my $cmd_mod = $c{cfg}->command; $cmd_mod =~ s/-/_/g; require "DhMakePerl/Command/$cmd_mod.pm"; $cmd_mod =~ s{/}{::}g; $cmd_mod = "DhMakePerl::Command::$cmd_mod"; my $self = $cmd_mod->new( \%c ); return $self->execute; } =item get_apt_contents Returns (possibly cached) instance of L. =cut sub get_apt_contents { my $self = shift; return $self->apt_contents if $self->apt_contents; my $apt_c = Debian::AptContents->new( { homedir => $self->cfg->home_dir, dist => $self->cfg->dist, sources => $self->cfg->sources_list, verbose => $self->cfg->verbose, contents_dir => $self->cfg->apt_contents_dir, } ); undef $apt_c unless $apt_c->cache; return $self->apt_contents($apt_c); } =back =head1 COPYRIGHT & LICENSE =over =item Copyright (C) 2009, 2010 Damyan Ivanov =back This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. =cut 1; # End of DhMakePerl Debian000755001750001750 012234004042 13742 5ustar00damdam000000000000DhMakePerl-0.80/libDependency.pm000444001750001750 3063112234004042 16536 0ustar00damdam000000000000DhMakePerl-0.80/lib/Debianpackage Debian::Dependency; use strict; use warnings; our $VERSION = '0.77'; use AptPkg::Config; use Carp; use Dpkg::Version (); use List::MoreUtils qw(mesh); =head1 NAME Debian::Dependency - dependency relationship between Debian packages =head1 SYNOPSIS # simple dependency my $d = Debian::Dependency->new( 'perl' ); # also parses a single argument my $d = Debian::Dependency->new('perl (>= 5.10)'); # dependency with a version my $d = Debian::Dependency->new( 'perl', '5.10' ); # dependency with version and relation my $d = Debian::Dependency->new( 'perl', '>=', '5.10' ); print $d->pkg; # 'perl' print $d->ver; # '5.10' # for people who like to type much my $d = Debian::Dependency->new( { pkg => 'perl', ver => '5.10' } ); # stringification print "$d" # 'perl (>= 5.10)' # 'adding' $deps = $dep1 + $dep2; $deps = $dep1 + 'foo (>= 1.23)' =cut use base qw(Class::Accessor); __PACKAGE__->mk_accessors(qw( pkg ver rel alternatives )); use Carp; use overload '""' => \&_stringify, '+' => \&_add, '<=>' => \&_compare; =head2 CLASS_METHODS =over 4 =item new() Construct a new instance. =item new( { pkg => 'package', rel => '>=', ver => '1.9' } ) If a hash reference is passed as an argument, its contents are used to initialize the object. =item new( [ { pkg => 'foo' }, 'bar (<= 3)' ] ); In an array reference is passed as an argument, its elements are used for constructing a dependency with alternatives. =item new('foo (= 42)') =item new('foo (= 42) | bar') If a single argument is given, the construction is passed to the C constructor. =item new( 'foo', '1.4' ) Two arguments are interpreted as package name and version. The relation is assumed to be '>='. =item new( 'foo', '=', '42' ) Three arguments are interpreted as package name, relation and version. =cut sub new { my $class = shift; $class = ref($class) if ref($class); my $self = $class->SUPER::new(); my( $pkg, $rel, $ver ); if( ref($_[0]) and ref($_[0]) eq 'HASH' ) { $pkg = delete $_[0]->{pkg}; $rel = delete $_[0]->{rel} // '>='; $ver = delete $_[0]->{ver}; # pass-through the rest while( my($k,$v) = each %{$_[0]} ) { $self->$k($v); } } elsif( ref($_[0]) and ref($_[0]) eq 'ARRAY' ) { $self->alternatives( [ map { $self->new($_) } @{ $_[0] } ], ); for( @{ $self->alternatives } ) { croak "Alternatives can't be nested" if $_->alternatives; } return $self; } elsif( @_ == 1 ) { return $class->parse($_[0]); } elsif( @_ == 2 ) { $pkg = shift; $rel = '>='; $ver = shift; } elsif( @_ == 3 ) { ( $pkg, $rel, $ver ) = @_; } else { die "Unsupported number of arguments"; } $self->ver($ver); unless( defined( $self->ver ) ) { undef($rel); delete $self->{ver}; }; if ($rel) { $rel = '<=' if $rel eq '<'; $rel = '>=' if $rel eq '>'; $self->rel($rel); } croak "pkg is mandatory" unless $pkg or $self->alternatives; $self->pkg($pkg); return $self; } sub _stringify { my $self = shift; if( $self->alternatives ) { return join( ' | ', @{ $self->alternatives } ); } return ( $self->ver ? $self->pkg . ' (' . $self->rel . ' ' . $self->ver . ')' : $self->pkg ); } sub _add { my $left = shift; my $right = shift; my $mode = shift; confess "cannot += Dependency. put Dependencies instance on the left instead" unless defined($mode); return bless( [ $left ], 'Debian::Dependencies' ) + $right; } our %rel_order = ( '<<' => -2, '<=' => -1, '=' => 0, '>=' => +1, '>>' => +2, ); sub _compare { my( $left, $right ) = @_; if( $left->alternatives ) { if( $right->alternatives ) { my @pairs = mesh( @{ $left->alternatives }, @{ $right->alternatives }, ); while(@pairs) { my( $l, $r ) = splice @pairs, 0, 2; return -1 unless $l; return 1 unless $r; my $res = _compare( $l, $r ); return $res if $res; } return 0; } else { my $res = _compare( $left->alternatives->[0], $right ); return $res if $res; return 1; } } else { if( $right->alternatives ) { my $res = _compare( $left, $right->alternatives->[0] ); return $res if $res; return -1; } else { # nothing, the code below compares two plain dependencies } } my $res = $left->pkg cmp $right->pkg; return $res if $res != 0; return -1 if not defined( $left->ver ) and defined( $right->ver ); return +1 if defined( $left->ver ) and not defined( $right->ver ); return 0 unless $left->ver; # both have no version $res = $left->ver <=> $right->ver; return $res if $res != 0; # same versions, compare relations return $rel_order{ $left->rel } <=> $rel_order{ $right->rel }; } =item set Overrides the set method from L. Used to convert zero versions (for example I<0> or I<0.000>) to void versions. =cut sub set { my( $self, $field, $value ) = @_; undef($value) if $field eq 'ver' and defined($value) and $value =~ /^0[0.]*$/; $value = Dpkg::Version->new( $value, check => 1 ) if $field eq 'ver' and defined($value); $self->SUPER::set( $field, $value ); } =item parse() Takes a single string argument and parses it. Examples: =over =item perl =item perl (>= 5.8) =item libversion-perl (<< 3.4) =back =cut sub parse { my ( $class, $str ) = @_; if( $str =~ /\|/ ) { # alternative dependencies return $class->new( { alternatives => [ map { $class->new($_) } split( /\s*\|\s*/, $str ) ], } ); } if ($str =~ m{ ^ # start from the beginning \s* # stray space ([^\(\s]+) # package name - no paren, no space \s* # optional space (?: # version is optional \( # opening paren ( # various relations << | <= | = | >= | >> | < | > ) \s* # optional space (.+) # version \) # closing paren )? \s* # optional space (?: # architecture is optional \[ (?: !? # negation is optional [^\s\]]+ # architecture name (?:\s+|(?=\])) # whitespace or end )+ \] )? $}x # done ) { return $class->new( { pkg => $1, ( ( defined($2) and defined($3) ) ? ( rel => $2, ver => $3 ) : () ) } ); } else { die "Unable to parse '$str'"; } } 1; =back =head2 FIELDS =over =item pkg Contains the name of the package that is depended upon =item rel Contains the relation of the dependency. May be any of '<<', '<=', '=', '>=' or '>>'. Default is '>='. =item ver Contains the version of the package the dependency is about. The value is an instance of L class. If you set it to a scalar value, that is given to L->new(). =back C and C are either both present or both missing. Examples print $dep->pkg; $dep->ver('3.4'); =head1 METHODS =over =item satisfies($dep) Returns true if I<$dep> states a dependency that is already covered by this instance. In other words, if this method returns true, any package satisfying the dependency of this instance will also satisfy I<$dep> ($dep is redundant in dependency lists where this instance is already present). I<$dep> can be either an instance of the L class, or a plain string. my $dep = Debian::Dependency->new('foo (>= 2)'); print $dep->satisfies('foo') ? 'yes' : 'no'; # no print $dep->satisfies('bar') ? 'yes' : 'no'; # no print $dep->satisfies('foo (>= 2.1)') ? 'yes' : 'no'; # yes =cut sub satisfies { my( $self, $dep ) = @_; $dep = Debian::Dependency->new($dep) unless ref($dep); # we have alternatives? then we satisfy the dependency only if # all of the alternatives satisfy it if( $self->alternatives ) { for( @{ $self->alternatives } ) { return 0 unless $_->satisfies($dep); } return 1; } # $dep has alternatives? then we satisfy it if we satisfy any of them if( $dep->alternatives ) { for( @{ $dep->alternatives } ) { return 1 if $self->satisfies($_); } return 0; } # different package? return 0 unless $self->pkg eq $dep->pkg; # $dep has no relation? return 1 unless $dep->rel; # $dep has relation, but we don't? return 0 if not $self->rel; # from this point below both $dep and we have relation (and version) my $cmpver = ( $self->ver <=> $dep->ver ); if( $self->rel eq '>>' ) { # >> 4 satisfies also >> 3 return 1 if $dep->rel eq '>>' and $cmpver >= 0; # >> 4 satisfies >= 3 and >= 4 return 1 if $dep->rel eq '>=' and $cmpver >= 0; # >> 4 can't satisfy =, <= and << relations return 0; } elsif( $self->rel eq '>=' ) { # >= 4 satisfies >= 3 return 1 if $dep->rel eq '>=' and $cmpver >= 0; # >= 4 satisvies >> 3, but not >> 4 return 1 if $dep->rel eq '>>' and $cmpver > 0; # >= 4 can't satosfy =, <= and << relations } elsif( $self->rel eq '=' ) { return 1 if $dep->rel eq '=' and $cmpver == 0; # = 4 also satisfies >= 3 and >= 4 return 1 if $dep->rel eq '>=' and $cmpver >= 0; # = 4 satisfies >> 3, but not >> 4 return 1 if $dep->rel eq '>>' and $cmpver > 0; # = 4 satisfies <= 4 and <= 5 return 1 if $dep->rel eq '<=' and $cmpver <= 0; # = 4 satisfies << 5, but not << 4 return 1 if $dep->rel eq '<<' and $cmpver < 0; # other cases mean 'no' return 0; } elsif( $self->rel eq '<=' ) { # <= 4 satisfies <= 5 return 1 if $dep->rel eq '<=' and $cmpver <= 0; # <= 4 satisfies << 5, but not << 4 return 1 if $dep->rel eq '<<' and $cmpver < 0; # <= 4 can't satisfy =, >= and >> return 0; } elsif( $self->rel eq '<<' ) { # << 4 satisfies << 5 return 1 if $dep->rel eq '<<' and $cmpver <= 0; # << 4 satisfies <= 5 and <= 4 return 1 if $dep->rel eq '<=' and $cmpver <= 0; # << 4 can't satisfy =, >= and >> return 0; } else { croak "Should not happen: $self satisfies $dep?"; } } =back =head1 SEE ALSO L =head1 AUTHOR =over 4 =item Damyan Ivanov =back =head1 COPYRIGHT & LICENSE =over 4 =item Copyright (C) 2008,2009,2010 Damyan Ivanov =back This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. =cut Dependencies.pm000444001750001750 1565412234004042 17056 0ustar00damdam000000000000DhMakePerl-0.80/lib/Debianpackage Debian::Dependencies; use strict; use warnings; our $VERSION = '0.67'; use AptPkg::Config; use Debian::Dependency; use overload '""' => \&_stringify, '+' => \&_add, 'eq' => \&_eq; =head1 NAME Debian::Dependencies - a list of Debian::Dependency objects =head1 SYNOPSIS my $dl = Debian::Dependencies->new('perl, libfoo-perl (>= 3.4)'); print $dl->[1]->ver; # 3.4 print $dl->[1]; # libfoo-perl (>= 3.4) print $dl; # perl, libfoo-perl (>= 3.4) $dl += 'libbar-perl'; print $dl; # perl, libfoo-perl (>= 3.4), libbar-perl print Debian::Dependencies->new('perl') + 'libfoo-bar-perl'; # simple 'sum' print Debian::Dependencies->new('perl') + Debian::Dependencies->new('libfoo, libbar'); # add (concatenate) two lists print Debian::Dependencies->new('perl') + Debian::Dependency->new('foo'); # add dependency to a list =head1 DESCRIPTION Debian::Dependencies a list of Debian::Dependency objects, with automatic construction and stringification. Objects of this class are blessed array references. You can safely treat them as arrayrefs, as long as the elements you put in them are instances of the L class. When used in string context, Debian::Dependencies converts itself into a comma-delimited list of dependencies, suitable for dependency fields of F files. =head2 CLASS METHODS =over 4 =item new(dependency-string) Constructs a new L object. Accepts one scalar argument, which is parsed and turned into an arrayref of L objects. Each dependency should be delimited by a comma and optional space. The exact regular expression is C. =cut sub new { my ( $class, $val ) = @_; my $self = bless [], ref($class)||$class; if ( defined($val) ) { $self->add( Debian::Dependency->new($_) ) for split( /\s*,\s*/s, $val ); } return $self; } sub _stringify { my $self = shift; return join( ', ', @$self ); } sub _add_dependency { my( $self, @deps ) = @_; DEP: for my $dep(@deps) { # see if the new dependency is already satisfied by some of the # dependencies we have for(@$self) { next DEP if $_->satisfies($dep); } # see if the new dependency is broader than (satisfies) some of the old for(@$self) { if( $dep->satisfies($_) ) { $_ = $dep; next DEP; } } # OK, the new dependency doesn't overlap with any of the old, add it push @$self, $dep; } } sub _add { my $left = shift; my $right = shift; my $mode = shift; $right = $left->new($right) unless ref($right); $right = [ $right ] if $right->isa('Debian::Dependency'); if ( defined $mode ) { # $a + $b my $result = bless [ @$left ], ref($left); $result->_add_dependency(@$right); return $result; } else { # $a += $b; $left->_add_dependency(@$right); return $left; } } sub _eq { my( $left, $right ) = @_; # force stringification return "$left" eq "$right"; } =back =head2 OBJECT METHODS =over 4 =item add( I[, ... ] ) Adds I (or a list of) to the list of dependencies. If the new dependency is a subset of or overlaps some of the old dependencies, it is not duplicated. my $d = Debian::Dependencies('foo, bar (<=4)'); $d->add('foo (>= 4), bar'); print "$d"; # foo (>= 4), bar (>= 4) I can be either a L object, a L object, or a string (in which case it is converted to an instance of the L class). =cut sub add { my $self = shift; while ( defined(my $dep = shift) ) { $dep = Debian::Dependencies->new($dep) unless ref($dep); $self += $dep; } } =item remove( I, ... ) =item remove( I, ... ) Removes a dependency from the list of dependencies. Instances of L and L classes are supported as arguments. Any non-reference arguments are coerced to instances of L class. Only dependencies that are subset of the given dependencies are removed: my $deps = Debian::Dependencies->new('foo (>= 1.2), bar'); $deps->remove('foo, bar (>= 2.0)'); print $deps; # bar Returns the list of the dependencies removed. =cut sub remove { my( $self, @deps ) = @_; my @removed; for my $deps(@deps) { $deps = Debian::Dependencies->new($deps) unless ref($deps); for my $dep(@$deps) { my @kept; for( @$self ) { if( $_->satisfies($dep) ) { push @removed, $_; } else { push @kept, $_; } } @$self = @kept; } } return @removed; } =item has( I ) Return true if the dependency list contains given dependency. In other words, this returns true if the list of dependencies guarantees that the given dependency will be satisfied. For example, C satisfies C, but not C<< foo (>= 5) >>. =cut sub has { my( $self, $dep ) = @_; $dep = Debian::Dependency->new($dep) unless eval { $dep->isa('Debian::Dependency') }; for( @$self ) { return 1 if $_->satisfies($dep); } return 0; } =item prune() This method is deprecated. If you want to sort the dependency list, either call L or use normal perl sorting stuff on the dereferenced array. =cut sub prune { my $self = shift; use Carp (); Carp::croak("prune() is deprecated and does nothing"); } =item sort() Sorts the dependency list by package name, version and relation. =cut sub sort { my( $self ) = @_; @$self = sort { $a <=> $b } @$self; } =back =cut 1; =head1 SEE ALSO L =head1 AUTHOR =over 4 =item Damyan Ivanov =back =head1 COPYRIGHT & LICENSE =over 4 =item Copyright (C) 2008, 2009, 2010 Damyan Ivanov =item Copyright (C) 2009 gregor herrmann =back This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. =cut Control.pm000444001750001750 1211712234004042 16077 0ustar00damdam000000000000DhMakePerl-0.80/lib/Debian =head1 NAME Debian::Control - manage Debian source package control files =head1 SYNOPSIS my $c = Debian::Control->new(); # construct a new $c->read($file); # parse debian/control file $c->write($file); # write to file print $c->source->Source; print $c->source->Build_Depends; # Debian::Dependencies object $c->binary->{'libfoo-perl'}->Description( "Foo Perl module\n" . " Foo makes this and that" ); =head1 DESCRIPTION Debian::Control can be used for representation and manipulation of Debian source package control files in an object-oriented way. It provides easy reading and writing of the F file found in Debian source packages. =head1 FIELDS =over =item source An instance of L class. Contains the source stanza of the Debian source package control file. =item binary A hash reference with keys being binary package names and values instances of L class. Contains the information of the binary package stanzas of Debian source package control file. =item binary_tie A L object tied to the B hash. =back =cut package Debian::Control; use base 'Class::Accessor'; use strict; use warnings; our $VERSION = '0.77'; __PACKAGE__->mk_accessors(qw( source binary binary_tie _parser )); use Parse::DebControl; use Debian::Control::Stanza::Source; use Debian::Control::Stanza::Binary; =head1 CONSTRUCTOR =over =item new Constructs a new L instance. The C field is initialized with an empty instance of L and C field is initialized with an empty instance of L. =back =cut sub new { my $class = shift; my $self = $class->SUPER::new(); $self->_parser( Parse::DebControl->new ); my %b; $self->binary_tie( tie %b, 'Tie::IxHash' ); $self->binary( \%b ); $self->source( Debian::Control::Stanza::Source->new ); return $self; } =head1 METHODS =over =item read I Parse L and populate C and C accessors. I can be either a file name, an opened file handle or a string scalar reference. =cut sub read { my ( $self, $file ) = @_; my $parser_method = 'parse_file'; if ( ref($file) ) { $file = $$file; $parser_method = 'parse_mem'; } my $stanzas = $self->_parser->$parser_method( $file, { useTieIxHash => 1, verbMultiLine => 1 } ); for (@$stanzas) { if ( $_->{Source} ) { $self->source( Debian::Control::Stanza::Source->new($_) ); } elsif ( $_->{Package} ) { $self->binary_tie->Push( $_->{Package} => Debian::Control::Stanza::Binary->new($_) ); } else { die "Got control stanza with neither Source nor Package field\n"; } } } =item write I Writes a debian/control-like file in I with the contents defined in the C and C fields. I can be either a file name, an opened file handle or a string scalar reference. All dependency lists are sorted before writing. =cut sub write { my ( $self, $file ) = @_; for my $s ( $self->source, $self->binary_tie->Values ) { for ( $s->fields ) { $s->$_->sort if $s->is_dependency_list($_); } } if ( ref($file) and ref($file) eq 'SCALAR' ) { $$file = join( "\n", $self->source, $self->binary_tie->Values ); } elsif ( ref($file) and ref($file) eq 'GLOB' ) { $file->print( join( "\n", $self->source, $self->binary_tie->Values ) ); } else { my $fh; open $fh, '>', $file or die "Unable to open '$file' for writing: $!"; print $fh join( "\n", $self->source, $self->binary_tie->Values ); } } =item is_arch_dep Returns true if the package is architecture-dependent. This is determined by the C field of the first binary package. If it equals to C, then the package is architecture-independent; otherwise it is architecture-dependent. Returns I if it is not possible to determine whether the package is architecture-dependent or not. This is the case when there are no binary package stanzas present or the first has no C field. =cut sub is_arch_dep { my $self = shift; my $bin = $self->binary_tie->Values(0); return undef unless $bin; my $arch = $bin->Architecture; return undef unless defined($arch); return ( $arch ne 'all' ); } =back =head1 SEE ALSO L, L, L =head1 COPYRIGHT & LICENSE Copyright (C) 2009 Damyan Ivanov L This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. =cut 1; Rules.pm000444001750001750 2470412234004042 15556 0ustar00damdam000000000000DhMakePerl-0.80/lib/Debianpackage Debian::Rules; use strict; use warnings; our $VERSION = '0.66'; =head1 NAME Debian::Rules - handy manipulation of debian/rules =head1 SYNOPSIS my $r = Debian::Rules->new('debian/rules'); my $r = Debian::Rules->new( { filename => 'debian/rules' } ); $r->is_dh7tiny && print "Using the latest and greatest\n"; $r->is_quiltified && print "quilt rules the rules\n"; # file contents changed externally $r->parse; $r->add_quilt; $r->drop_quilt; $r->write; # or undef($r); =head1 DESCRIPTION Some times, one needs to know whether F uses the L 7 tiny variant, or whether it is integrated with L. Debian::Rules provides facilities to check this, as well as adding/removing quilt integration. Modified contents are written to file either vie the L method, or when the object reference goes out of scope (via DESTROY). =head1 CONSTRUCTOR C is the standard L constructor, with the exception that if only one, non-reference argument is provided, it is treated as a value for the L field. If a file name is given, the constructor calls L to read the file contents into memory. One of B or B is mandatory. =head1 FIELDS =over =item filename Contains the file name of the rules file. =item lines Reference to an array pointing to the rules file. Initialized by L. =back =cut use base 'Class::Accessor'; __PACKAGE__->mk_accessors( qw(filename lines _is_dh7tiny _is_quiltified _parsed)); sub new { my $class = shift; my @params = @_; # allow single argument to be treated as filename @params = { filename => $params[0] } if @params == 1 and not ref( $params[0] ); my $self = $class->SUPER::new(@params); $self->filename or $self->lines or die "'filename' or 'lines' is mandatory"; $self->lines( [] ) unless $self->lines; $self->read if $self->filename; return $self; } =head1 METHODS =over =item parse Parses the rules file and stores its findings for later use. Called automatically by L and L. The result of the parsing is cached and subsequent calls to C use the cache. To force cache refresh (for example if the contents of the file have been changed), call C again. =cut sub parse { my $self = shift; $self->_is_dh7tiny(0); $self->_is_quiltified(0); for ( my $i = 1; $i < @{ $self->lines }; $i++ ) { if ( $self->lines->[$i] =~ /^%:/ and $i + 1 < @{ $self->lines } and $self->lines->[ $i + 1 ] =~ /^\tdh .*\$\@/ ) { $self->_is_dh7tiny(1); if ( $self->lines->[ $i + 1 ] =~ /--with[ =]quilt/ ) { $self->_is_quiltified(1); last; } } } $self->_parsed(1); } =item is_dh7tiny Returns true if the contents of the rules file seem to use the so called I variant offered by debhelper 7. Tiny rules are detected by the presence of the following two lines: %: dh $@ (any options on the C command line ignored). =cut sub is_dh7tiny { my $self = shift; $self->parse unless $self->_parsed; return $self->_is_dh7tiny; } =item is_quiltified Returns true if the contents of the rules file indicate that L is used. Various styles of C integration are detected: =over =item dh --with=quilt =item F with C<< $(QUILT_STAMPFN) >> and C targets. =back =cut sub is_quiltified { my $self = shift; $self->parse unless $self->_parsed; return $self->_is_quiltified; } =item add_quilt Integrates L into the rules. For debhelper 7 I rules (as determined by L) C<--with=quilt> is added to every C invocation. For the more traditional variant, quilt is integrated via F and its C<< $(QUILT_STAMPFN) >> and C targets. =cut sub add_quilt { my $self = shift; return if $self->is_quiltified; my $lines = $self->lines; if ( $self->is_dh7tiny) { for (@$lines) { # add --with=quilt to every dh call s/(?<=\s)dh /dh --with=quilt / unless /--with[= ]quilt/; # unless it is already there } } else { # non-dh7tiny splice @$lines, 1, 0, ( '', 'include /usr/share/quilt/quilt.make' ) unless grep /quilt\.make/, @$lines; push @$lines, '', 'override_dh_auto_configure: $(QUILT_STAMPFN)', "\tdh_auto_configure" unless grep /QUILT_STAMPFN/, @$lines; push @$lines, '', 'override_dh_auto_clean: unpatch', "\tdh_auto_clean" unless grep /override_dh_auto_clean:.*unpatch/, @$lines; } } =item drop_quilt Removes L integration. Both debhelper 7 I style (C) and traditional (C<< $(QUILT_STAMPFN) >> and C) approaches are detected and removed. =cut sub drop_quilt { my $self = shift; my $lines = $self->lines; # look for the quilt include line and remove it and the previous empty one for ( my $i = 1; $i < @$lines; $i++ ) { if ( $lines->[$i] eq 'include /usr/share/quilt/quilt.make' ) { splice @$lines, $i, 1; # collapse two sequencial empty lines # NOTE: this won't work if the include statement was the last line # in the rules, but this is highly unlikely splice( @$lines, $i, 1 ) if $i < @$lines and $lines->[$i] eq '' and $lines->[ $i - 1 ] eq ''; last; } } # remove the QUILT_STAMPFN dependency override for ( my $i = 1; $i < @$lines; $i++ ) { if ( $lines->[$i] eq '' and $lines->[ $i + 1 ] eq 'override_dh_auto_configure: $(QUILT_STAMPFN)' and $lines->[ $i + 2 ] eq "\tdh_auto_configure" and $lines->[ $i + 3 ] eq '' ) { splice @$lines, $i, 3; last; } } # also remove $(QUILT_STAMPFN) as a target dependency # note that the override_dh_auto_configure is handled above because in that # case the whole makefile snipped is to be removed # Here we deal with the more generic cases for ( my $i = 1; $i < @$lines; $i++ ) { $lines->[$i] =~ s{ ^ # at the beginning of the line ([^\s:]+): # target name, followed by a colon (.*) # any other dependencies \$\(QUILT_STAMPFN\) # followed by $(QUILT_STAMPFN) }{$1:$2}x; } # remove unpatch dependency in clean for ( my $i = 1; $i < @$lines; $i++ ) { if ( $lines->[$i] eq 'override_dh_auto_clean: unpatch' and $lines->[ $i + 1 ] eq "\tdh_auto_clean" and ( $i + 2 > $#$lines or $lines->[ $i + 2 ] !~ /^\t/ ) ) { splice @$lines, $i, 2; # At this point there may be an extra empty line left. # Remove an empty line after the removed target # Or any trailing empty line (if the target was at EOF) if ( $i > $#$lines ) { $#$lines-- if $lines->[-1] eq ''; # trim trailing empty line } elsif ( $lines->[$i] eq '' ) { splice( @$lines, $i, 1 ); } last; } } # similarly to the $(QUILT_STAMPFN) stripping, here we process a general # ependency on the 'unpatch' rule for ( my $i = 1; $i < @$lines; $i++ ) { $lines->[$i] =~ s{ ^ # at the beginning of the line ([^\s:]+): # target name, followed by a colon (.*) # any other dependencies unpatch # followed by 'unpatch' }{$1:$2}x; } # drop --with=quilt from dh command line for (@$lines) { while ( /dh (.*)--with[= ]quilt(.*)\n/ ) { my ( $before, $after ) = ( $1, $2 ); $after =~ s/\s+$//; # remove trailing spaces $after =~ s/^\s+// if $before =~ /\s$/; # collapse adjascent spaces $before =~ s/\s+$// if $after eq ''; # more trailing spaces $after =~ s/^\s+// if $before eq ''; # extra leading space s/dh (.*)--with[= ]quilt(.*)\n/dh $before$after\n/; } } } =item read [I] Replaces the current rules content with the content of I. If I is not given, uses the value of the L member. =cut sub read { my $self = shift; my $filename = shift // $self->filename; defined($filename) or die "No filename given to read() nor new()"; @{ $self->lines } = (); $self->_parsed(0); return unless -e $filename; my $fh; open( $fh, '<', $filename ) or die "open($filename): $!"; while( defined( $_ = <$fh> ) ) { push @{ $self->lines }, $_; } close $fh; } =item write [I] Writes the in-memory contents I. If not given, uses the value of the L member. If L points to an empty array, the file is removed. =cut sub write { my $self = shift; my $filename = shift // $self->filename; defined($filename) or die "No filename given to write() nor new()"; if ( @{ $self->lines } ) { open my $fh, '>', $filename or die "Error opening '$filename': $!"; print $fh $_ for @{ $self->lines }; close $fh; } else { unlink $filename or die "unlink($filename): $!"; } } sub DESTROY { my $self = shift; $self->write if $self->filename; bless $self, 'Class::Accessor'; # chain destruction } =back =head1 COPYRIGHT & LICENSE =over =item Copyright (C) 2009, 2010 Damyan Ivanov =back This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. =cut 1; AptContents.pm000444001750001750 3440312234004042 16723 0ustar00damdam000000000000DhMakePerl-0.80/lib/Debianpackage Debian::AptContents; use strict; use warnings; our $VERSION = '0.77'; =head1 NAME Debian::AptContents - parse/search through apt-file's Contents files =head1 SYNOPSIS my $c = Debian::AptContents->new( { homedir => '~/.dh-make-perl' } ); my @pkgs = $c->find_file_packages('/usr/bin/foo'); my $dep = $c->find_perl_module_package('Foo::Bar'); =head1 TODO This needs to really work not only for Perl modules. A module specific to Perl modules is needed by dh-make-perl, but it can subclass Debian::AptContents, which needs to become more generic. =cut use base qw(Class::Accessor); __PACKAGE__->mk_accessors( qw( cache homedir cache_file contents_dir contents_files verbose source sources dist ) ); use Config; use Debian::Dependency; use DhMakePerl::Utils qw(find_core_perl_dependency); use File::Spec::Functions qw( catfile catdir splitpath ); use IO::Uncompress::Gunzip; use List::MoreUtils qw(uniq); use Module::CoreList (); use Storable; use AptPkg::Config; $AptPkg::Config::_config->init(); our $oldstable_perl = '5.10.1'; =head1 CONSTRUCTOR =over =item new Constructs new instance of the class. Expects at least C option. =back =head1 FIELDS =over =item homedir (B) Directory where the object stores its cache. =item contents_dir Directory where L stores Contents files are stored. Default is F =item sources A path to a F file or an array ref of paths to sources.list files. If not given uses AptPkg's Config to get the list. =item dist Used for filtering on the C part of the repository paths listed in L. Default is empty, meaning no filtering. =item contents_files Arrayref of F file names. Default is to parse the files in C and to look in C for matching files. =item cache_file Path to the file with cached parsed information from all F files. Default is F under C. =item cache Filled by C. Used by C and (obviously) C =item verbose Verbosity level. 0 means silent, the bigger the more the jabber. Default is 1. =back =cut sub new { my $class = shift; $class = ref($class) if ref($class); my $self = $class->SUPER::new(@_); # required options $self->homedir or die "No homedir given"; # some defaults $self->contents_dir('/var/cache/apt/apt-file') unless $self->contents_dir; $self->sources( [ $self->sources ] ) if $self->sources and not ref( $self->sources ); $self->sources( [ $AptPkg::Config::_config->get_file('Dir::Etc::sourcelist'), glob( $AptPkg::Config::_config->get_dir('Dir::Etc::sourceparts') . '/*.list' ) ] ) unless defined( $self->sources ); $self->contents_files( $self->get_contents_files ) unless $self->contents_files; $self->cache_file( catfile( $self->homedir, 'Contents.cache' ) ) unless $self->cache_file; $self->verbose(1) unless defined( $self->verbose ); $self->read_cache(); return $self; } =head1 OBJECT METHODS =over =item warning Used internally. Given a verbosity level and a message, prints the message to STDERR if the verbosity level is greater than or equal of the value of C. =cut sub warning { my ( $self, $level, $msg ) = @_; warn "$msg\n" if $self->verbose >= $level; } =item repo_source_to_contents_paths Given a line with Debian package repository path (typically taken from F), converts it to the corresponding F file names. =cut sub repo_source_to_contents_paths { my ( $self, $source ) = @_; my ( $schema, $uri, $dist, @components ) = split /\s+/, $source; my ( $proto, $host, $port, $dir ) = $uri =~ m{ ^ (?:([^:/?\#]+):)? # proto (?:// (?:[^:]+:[^@]+@)? # username:password@ ([^:/?\#]*) # host (?::(\d+))? # port )? ([^?\#]*) # path }x; unless ( defined $schema ) { $self->warning( 1, "'$_' has unknown format" ); next; } return unless $schema eq 'deb'; if ( $self->dist ) { if ( $self->dist =~ /^\s*{\s*(.+)\s*}\s*$/ ) { return unless grep {/^$dist$/} split( /\s*,\s*/, $1 ); } else { return if $dist ne $self->dist; } } $host ||= ''; # set empty string if $host is undef $dir ||= ''; # deb http://there sid main s{/$}{} for ( $host, $dir, $dist ); # remove trailing / s{^/}{} for ( $host, $dir, $dist ); # remove initial / s{/}{_}g for ( $host, $dir, $dist ); # replace remaining / # Make sure to generate paths both with and without components to # be compatible with both old and new apt-file versions. See: # https://bugs.launchpad.net/ubuntu/+source/dh-make-perl/+bug/1034881 push(@components, ''); return map { $host . "_" . join( "_", grep( { defined and length } $dir, "dists", $dist, $_ ) ) } @components; } =item get_contents_files Reads F, gives the repository paths to C and returns an arrayref of file names of Contents files. =cut sub get_contents_files { my $self = shift; my $archspec = `dpkg --print-architecture`; chomp($archspec); my @res; for my $s ( @{ $self->sources } ) { # by default ->sources contains a list of files that APT would look # at. Some of them may not exist, so do not fail if this is the case next unless -e $s; my $src = IO::File->new( $s, 'r' ) or die "Unable to open '$s': $!\n"; while (<$src>) { chomp; s/#.*//; s/^\s+//; s/\s+$//; next unless $_; for my $path ( $self->repo_source_to_contents_paths($_) ) { # try all of with/out architecture and # un/compressed for my $a ( '', "-$archspec" ) { for my $c ( '', '.gz' ) { my $f = catfile( $self->contents_dir, "${path}_Contents$a$c", ); push @res, $f if -e $f; } } } } } return [ uniq sort @res ]; } =item read_cache Reads the cached parsed F files. If there are F files with more recent mtime than that of the cache (or if there is no cache at all), parses all F and stores the cache via C for later invocation. =cut sub read_cache { my $self = shift; my $cache; if ( -r $self->cache_file ) { $cache = eval { Storable::retrieve( $self->cache_file ) }; undef($cache) unless ref($cache) and ref($cache) eq 'HASH'; } # see if the cache is stale if ( $cache and $cache->{stamp} and $cache->{contents_files} ) { undef($cache) unless join( '><', @{ $self->contents_files } ) eq join( '><', @{ $cache->{contents_files} } ); # file lists are the same? # see if any of the files has changed since we # last read it if ($cache) { for ( @{ $self->contents_files } ) { if ( ( stat($_) )[9] > $cache->{stamp} ) { undef($cache); last; } } } } else { undef($cache); } unless ($cache) { $self->source('parsed files'); $cache->{stamp} = time; $cache->{contents_files} = []; $cache->{apt_contents} = {}; for ( @{ $self->contents_files } ) { push @{ $cache->{contents_files} }, $_; my $f = /\.gz$/ ? IO::Uncompress::Gunzip->new($_) : IO::File->new( $_, 'r' ); unless ($f) { warn "Error reading '$_': $!\n"; next; } $self->warning( 1, "Parsing $_ ..." ); my $capturing = 0; my $line; while ( defined( $line = $f->getline ) ) { if ($capturing) { my ( $file, $packages ) = split( /\s+/, $line ); next unless $file =~ s{ ^usr/ (?:share|lib)/ (?:perl\d+/ # perl5/ | perl/(?:\d[\d.]+)/ # or perl/5.10/ ) }{}x; $cache->{apt_contents}{$file} = exists $cache->{apt_contents}{$file} ? $cache->{apt_contents}{$file}.','.$packages : $packages; # $packages is a comma-separated list of # section/package items. We'll parse it when a file # matches. Otherwise we'd parse thousands of entries, # while checking only a couple } else { $capturing = 1 if $line =~ /^FILE\s+LOCATION/; } } } if ( %{ $cache->{apt_contents} } ) { $self->cache($cache); $self->store_cache; } } else { $self->source('cache'); $self->warning( 1, "Using cached Contents from " . localtime( $cache->{stamp} ) ); $self->cache($cache); } } =item store_cache Writes the contents of the parsed C to the C. Storable is used to stream the data. Along with the information from F files, a time stamp is stored. =cut sub store_cache { my $self = shift; my ( $vol, $dir, $file ) = splitpath( $self->cache_file ); $dir = catdir( $vol, $dir ); unless ( -d $dir ) { mkdir $dir or die "Error creating directory '$dir': $!\n"; } Storable::nstore( $self->cache, $self->cache_file . '-new' ); rename( $self->cache_file . '-new', $self->cache_file ); } =item find_file_packages Returns a list of packages where the given file was found. F files store the package section together with package name. That is stripped. Returns an empty list of the file is not found in any package. =cut sub find_file_packages { my ( $self, $file ) = @_; my $packages = $self->cache->{apt_contents}{$file}; return () unless $packages; my @packages = split( /,/, $packages ); # Contents contains a # comma-delimited list # of packages s{.+/}{} for @packages; # remove section. Greedy on purpose # otherwise it won't strip enough off Ubuntu's # usr/share/perl5/Config/Any.pm universe/perl/libconfig-any-perl # in-core dependencies are given by find_core_perl_dependency @packages = grep { ( $_ ne 'perl-base' ) and ( $_ ne 'perl' ) and ( $_ ne 'perl-modules' ) } @packages; return uniq @packages; } =item find_perl_module_package( $module, $version ) Given Perl module name (e.g. Foo::Bar), returns a L object representing the required Debian package and version. If the module is a core one, suitable dependency on perl is returned. If the package is also available in a separate package, an alternative dependency is returned. In case the version of the currently running Perl interpreter is lower than the version in which the wanted module is available in core, the separate package is preferred. Otherwise the perl dependency is the first alternative. =cut sub find_perl_module_package { my ( $self, $module, $version ) = @_; # see if the module is included in perl core my $core_dep = find_core_perl_dependency( $module, $version ); # try module packages my $module_file = $module; $module_file =~ s|::|/|g; my @matches = $self->find_file_packages("$module_file.pm"); # rank non -perl packages lower @matches = sort { if ( $a !~ /-perl$/ ) { return 1; } elsif ( $b !~ /-perl$/ ) { return -1; } else { return $a cmp $b; } # or 0? } @matches; # we don't want perl, perl-base and perl-modules here @matches = grep { !/^perl(?:-(?:base|modules))?$/ } @matches; my $direct_dep; $direct_dep = Debian::Dependency->new( ( @matches > 1 ) ? [ map ( { pkg => $_, rel => '>=', ver => $version }, @matches ) ] : ( $matches[0], $version ) ) if @matches; my $running_perl = $Config::Config{version}; if ($core_dep) { # the core dependency is satosfied by oldstable? if ( $core_dep->ver <= $oldstable_perl ) { # drop the direct dependency and remove the version undef($direct_dep); $core_dep->ver(undef); $core_dep->rel(undef); } if ($direct_dep) { # both in core and in a package. if( $running_perl >= $core_dep->ver ) { return Debian::Dependency->new("$core_dep | $direct_dep"); } else { return Debian::Dependency->new("$direct_dep | $core_dep"); } } else { # only in core return $core_dep; } } else { # maybe in a package return $direct_dep; } } 1; =back =head1 AUTHOR =over 4 =item Damyan Ivanov =back =head1 COPYRIGHT & LICENSE =over 4 =item Copyright (C) 2008, 2009, 2010 Damyan Ivanov =back This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. =cut DpkgLists.pm000444001750001750 1065312234004042 16366 0ustar00damdam000000000000DhMakePerl-0.80/lib/Debianpackage Debian::DpkgLists; use strict; use warnings; our $VERSION = '0.71'; use Cwd; =head1 NAME Debian::DpkgLists - scan /var/lib/dpkg/info/*.list for files/patterns =head1 SYNOPSIS my @packages = Debian::DpkgLists->scan_full_path('/full/file/path'); my @packages = Debian::DpkgLists->scan_partial_path('file/path'); my @packages = Debian::DpkgLists->scan_pattern(qr{freedom$}); my @packages = Debian::DpkgLists->scan_perl_mod('Some::Module'); =head1 DESCRIPTION B is a module for easy searching of L's package file lists. These are located in F and contain a simple list of full file names (including the leading slash). There are a couple of different class methods for searching by full or partial path, a regular expression or a Perl module name. Note that dpkg's file lists represent only dpkg's idea of what is installed on the system. If you want to also search in packages, available from the Debian archive but not installed locally, see L. =cut sub _cat_lists { my ( $class, $callback ) = @_; while ( defined( my $f = ) ) { my $pkg = $f; $pkg =~ s{^/var/lib/dpkg/info/}{}; $pkg =~ s/\.list$//; open my $fh, '<', $f or die "open($f): $!\n"; while ( defined( my $l = <$fh> ) ) { chomp $l; &$callback( $pkg, $l ); } } } =head1 CLASS-METHODS =over =item scan_full_path ( I ) Scans dpkg file lists for files, whose full path is equal to I. Use when you have the full path of the file you want, like C. Returns a (possibly empty) list of packages containing I. =cut sub scan_full_path { my ( $class, $path ) = @_; my %found; $class->_cat_lists( sub { $found{ $_[0] } = 1 if $_[1] eq $path; } ); return sort keys %found; } =item scan_partial_path ( I ) Scans dpkg file lists for files, whose full path ends with I. Use when you only care about the file name or other trailing portion of the full path like C (matches C and C). Returns a (possibly empty) list of packages containing files whose full path ends with I. =cut sub scan_partial_path { my ( $class, $path ) = @_; my $start = -length($path); my %result; $class->_cat_lists( sub { $result{ $_[0] } = 1 if substr( $_[1], $start ) eq $path; } ); return sort keys %result; } =item scan_pattern ( I ) Scans dpkg file lists for files, whose full path matched I. Returns a (possibly empty) list of packages containing files whose full path matches I. =cut sub scan_pattern { my ( $class, $pat ) = @_; my %result; $class->_cat_lists( sub { $result{ $_[0] } = 1 if $_[1] =~ $pat; } ); return sort keys %result; } =item scan_perl_mod ( I ) Scans dpkg file lists for files, corresponding to given I. This is a shorthand method for L with a pattern that matches C in all directories in C<@INC>. Returns a (possibly empty) list of packages containing possible I files. =cut sub scan_perl_mod { my ( $class, $mod ) = @_; $mod =~ s{::}{/}g; $mod .= ".pm" unless $mod =~ /\.pm$/; my @dirs = grep { defined and m{^/} and not m{/usr/local/} } map { Cwd::realpath($_) } @INC; my $re = "^(?:" . join( '|', map( quotemeta($_), @dirs ) ) . ")/" . quotemeta($mod) . "\$"; $re = qr($re); return $class->scan_pattern($re); } =back =head1 AUTHOR =over 4 =item Damyan Ivanov =back =head1 COPYRIGHT & LICENSE =over 4 =item Copyright (C) 2010 Damyan Ivanov =back This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. =cut 1; Control000755001750001750 012234004042 15362 5ustar00damdam000000000000DhMakePerl-0.80/lib/DebianStanza.pm000444001750001750 1623712234004042 17346 0ustar00damdam000000000000DhMakePerl-0.80/lib/Debian/Control=head1 NAME Debian::Control::Stanza - single stanza of Debian source package control file =head1 SYNOPSIS package Binary; use base 'Debian::Control::Stanza'; use constant fields => qw( Package Depends Conflicts ); 1; =head1 DESCRIPTION Debian::Control::Stanza ins the base class for L and L classes. =cut package Debian::Control::Stanza; require v5.10.0; use strict; use warnings; our $VERSION = '0.71'; use base qw( Class::Accessor Tie::IxHash ); use Carp qw(croak); use Debian::Control::Stanza::CommaSeparated; use Debian::Dependencies; =head1 FIELDS Stanza fields are to be defined in the class method I. Typically this can be done like: use constant fields => qw( Foo Bar Baz ); Fields that are to contain dependency lists (as per L method below) are automatically converted to instances of the L class. =cut use constant fields => (); sub import { my( $class ) = @_; $class->mk_accessors( $class->fields ); } use overload '""' => \&as_string; =head1 CONSTRUCTOR =over =item new =item new( { field => value, ... } ) Creates a new L object and optionally initializes it with the supplied data. The object is hashref based and tied to L. You may use dashes for initial field names, but these will be converted to underscores: my $s = Debian::Control::Stanza::Source( {Build-Depends => "perl"} ); print $s->Build_Depends; =back =cut sub new { my $class = shift; my $init = shift || {}; my $self = Tie::IxHash->new; bless $self, $class; while( my($k,$v) = each %$init ) { $k =~ s/-/_/g; $self->can($k) or croak "Invalid field given ($k)"; $self->$k($v); } # initialize any dependency lists with empty placeholders # same for comma-separated lists for( $self->fields ) { if ( $self->is_dependency_list($_) and not $self->$_ ) { $self->$_( Debian::Dependencies->new ); } elsif ( $self->is_comma_separated($_) and not $self->$_ ) { $self->$_( Debian::Control::Stanza::CommaSeparated->new ); } } return $self; } =head1 METHODS =over =item is_dependency_list($field) Returns true if I<$field> contains a list of dependencies. By default returns true for the following fields: =over =item Build_Depends =item Build_Depends_Indep =item Build_Conflicts =item Build_Conflicts_Indep =item Depends =item Conflicts =item Enhances =item Replaces =item Breaks =item Pre_Depends =item Recommends =item Suggests =back =cut our %dependency_list = map( ( $_ => 1 ), qw( Build-Depends Build-Depends-Indep Build-Conflicts Build-Conflicts-Indep Depends Conflicts Enhances Replaces Breaks Pre-Depends Recommends Suggests ), ); sub is_dependency_list { my( $self, $field ) = @_; $field =~ s/_/-/g; return exists $dependency_list{$field}; } =item is_comma_separated($field) Returns true if the given field is to contain a comma-separated list of values. This is used in stringification, when considering where to wrap long lines. By default the following fields are flagged to contain such lists: =over =item All fields that contain dependencies (see above) =item Uploaders =item Provides =back =cut our %comma_separated = map( ( $_ => 1 ), keys %dependency_list, qw( Uploaders Provides ), ); sub is_comma_separated { my( $self, $field ) = @_; $field =~ s/_/-/g; return exists $comma_separated{$field}; } =item get($field) Overrides the default get method from L with L's FETCH. =cut sub get { my( $self, $field ) = @_; $field =~ s/_/-/g; return $self->FETCH($field); } =item set( $field, $value ) Overrides the default set method from L with L's STORE. In the process, converts I<$value> to an instance of the L class if I<$field> is to contain dependency list (as determined by the L method). =cut sub set { my( $self, $field, $value ) = @_; chomp($value); $field =~ s/_/-/g; $value = Debian::Dependencies->new($value) if not ref($value) and $self->is_dependency_list($field); $value = Debian::Control::Stanza::CommaSeparated->new($value) if not ref($value) and $self->is_comma_separated($field); return $self->STORE( $field, $value ); } =item as_string([$width]) Returns a string representation of the object. Ready to be printed into a real F file. Used as a stringification operator. Fields that are comma-separated use one line per item, except if they are like C<${some:Field}>, in which case they are wrapped at I<$width>th column. I<$width> defaults to 80. =cut use Text::Wrap (); sub as_string { my ( $self, $width ) = @_; $width //= 80; my @lines; $self->Reorder( map{ ( my $s = $_ ) =~ s/_/-/g; $s } $self->fields ); for my $k ( $self->Keys ) { # We don't' want the internal fields showing in the output next if $k =~ /^-/; # _ in field names is replaced with dashes my $v = $self->FETCH($k); next unless defined($v); next if $self->is_dependency_list($k) and "$v" eq ""; next if $self->is_comma_separated($k) and "$v" eq ""; my $line; if ( $self->is_comma_separated($k) ) { # FIXME: this relies on $v being sorted my ( @pre_dollar, @dollar, @post_dollar ); for ( @$v ) { if ( /^\${.+}$/ ) { push @dollar, $_; } elsif (@dollar) { push @post_dollar, $_; } else { push @pre_dollar, $_; } } if ( @pre_dollar ) { $line = "$k: " . join( ",\n ", @pre_dollar ); local $Text::Warp::break = qr/, /; local $Text::Warp::columns = $width; local $Text::Wrap::separator = ",\n"; local $Text::Wrap::huge = 'overflow'; $line .= Text::Wrap::wrap( ' ', ' ', join( ', ', @dollar ) ); } else { local $Text::Warp::break = qr/, /; local $Text::Warp::columns = $width; local $Text::Wrap::separator = ",\n"; local $Text::Wrap::huge = 'overflow'; $line = Text::Wrap::wrap( "$k: ", ' ', join( ', ', @dollar ) ); } $line = join( ",\n ", $line, @post_dollar ); } else { $line = "$k: $v"; } push @lines, $line if $line; } return join( "\n", @lines ) . "\n"; } =back =head1 COPYRIGHT & LICENSE Copyright (C) 2009 Damyan Ivanov L This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. =cut 1; FromCPAN.pm000444001750001750 3713312234004042 17451 0ustar00damdam000000000000DhMakePerl-0.80/lib/Debian/Control=head1 NAME Debian::Control::FromCPAN - fill F from unpacked CPAN distribution =head1 SYNOPSIS my $c = Debian::Control::FromCPAN->new(); $c->discover_dependencies( { ... } ); $c->prune_perl_deps; Debian::Control::FromCPAN inherits from L. =cut package Debian::Control::FromCPAN; use strict; use warnings; our $VERSION = '0.77'; use Carp qw(croak); use base 'Debian::Control'; use CPAN (); use DhMakePerl::Utils qw( is_core_module find_cpan_module nice_perl_ver split_version_relation ); use File::Spec qw( catfile ); use Module::Depends (); use constant oldstable_perl_version => '5.10.1'; =head1 METHODS =over =item discover_dependencies( [ { options hash } ] ) Discovers module dependencies and fills the dependency fields in F accordingly. Options: =over =item apt_contents An instance of L to be used when locating to which package a required module belongs. =item dir The directory where the cpan distribution was unpacked. =item intrusive A flag indicating permission to use L for discovering dependencies in case L fails. Since this requires loading all Perl modules in the distribution (and running their BEGIN blocks (and the BEGIN blocks of their dependencies, recursively), it is recommended to use this only when dealing with trusted sources. =item require_deps If true, causes the method to die if some a package for some dependency cannot be found. Otherwise only a warning is issued. =item verbose =item wnpp_query An instance of L to be used when checking for WNPP bugs of depended upon packages. =back Returns a list of module names for which no suitable Debian packages were found. =cut sub discover_dependencies { my ( $self, $opts ) = @_; $opts //= {}; ref($opts) and ref($opts) eq 'HASH' or die 'Usage: $obj->{ [ { opts hash } ] )'; my $apt_contents = delete $opts->{apt_contents}; my $dir = delete $opts->{dir}; my $intrusive = delete $opts->{intrusive}; my $require_deps = delete $opts->{require_deps}; my $verbose = delete $opts->{verbose}; my $wnpp_query = delete $opts->{wnpp_query}; die "Unsupported option(s) given: " . join( ', ', sort( keys(%$opts) ) ) if %$opts; my $src = $self->source; my $bin = $self->binary_tie->Values(0); local @INC = ( $dir, @INC ); # try Module::Depends, but if that fails then # fall back to Module::Depends::Intrusive. my $finder = Module::Depends->new->dist_dir($dir); my $deps; do { no warnings; local *STDERR; open( STDERR, ">/dev/null" ); $deps = $finder->find_modules; }; my $error = $finder->error(); if ($error) { if ($verbose) { warn '=' x 70, "\n"; warn "Failed to detect dependencies using Module::Depends.\n"; warn "The error given was:\n"; warn "$error"; } if ( $intrusive ) { warn "Trying again with Module::Depends::Intrusive ... \n" if $verbose; require Module::Depends::Intrusive; $finder = Module::Depends::Intrusive->new->dist_dir($dir); do { no warnings; local *STDERR; open( STDERR, ">/dev/null" ); $deps = $finder->find_modules; }; if ( $finder->error ) { if ($verbose) { warn '=' x 70, "\n"; warn "Could not find the " . "dependencies for the requested module.\n"; warn "Generated error: " . $finder->error; warn "Please bug the module author to provide a" . " proper META.yml file.\n" . "Automatic find of" . " dependencies failed. You may want to \n" . "retry using the '--[b]depends[i]' options\n" . "or just fill the dependency fields in debian/rules" . " by hand\n"; return; } } } else { if ($verbose) { warn "If you understand the security implications, try --intrusive.\n"; warn '=' x 70, "\n"; } return; } } # run-time my ( $debs, $missing ) = $self->find_debs_for_modules( $deps->{requires}, $apt_contents, $verbose ); if (@$debs) { if ($verbose) { print "\n"; print "Needs the following debian packages: " . join( ", ", @$debs ) . "\n"; } $bin->Depends->add(@$debs); if ( $bin->Architecture eq 'all' ) { $src->Build_Depends_Indep->add(@$debs); } else { $src->Build_Depends->add(@$debs); } } # build-time my ( $b_debs, $b_missing ) = $self->find_debs_for_modules( { %{ $deps->{build_requires} || {} }, %{ $deps->{test_requires} || {} }, %{ $deps->{configure_requires} || {} } }, $apt_contents, $verbose ); if (@$b_debs) { if ($verbose) { print "\n"; print "Needs the following debian packages during building: " . join( ", ", @$b_debs ) . "\n"; } if ( $self->is_arch_dep ) { $src->Build_Depends->add(@$b_debs); } else { $src->Build_Depends_Indep->add(@$b_debs); } } push @$missing, @$b_missing; if (@$missing) { my ($missing_debs_str); if ($apt_contents) { $missing_debs_str = "Needs the following modules for which there are no debian packages available:\n"; for (@$missing) { my $bug = $wnpp_query ? ( $wnpp_query->bugs_for_package($_) )[0] : undef; $missing_debs_str .= " - $_"; $missing_debs_str .= " (" . $bug->type_and_number . ')' if $bug; $missing_debs_str .= "\n"; } } else { $missing_debs_str = "The following Perl modules are required and not installed in your system:\n"; for (@$missing) { my $bug = $wnpp_query ? ( $wnpp_query->bugs_for_package($_) )[0] : undef; $missing_debs_str .= " - $_"; $missing_debs_str .= " (" . $bug->type_and_number . ')' if $bug; $missing_debs_str .= "\n"; } $missing_debs_str .= <[, APT contents[, verbose ]] Scans the given hash of dependencies ( module => version ) and returns matching Debian package dependency specification (as an instance of L class) and a list of missing modules. Perl core is searched first, then installed packages, then the APT contents. =cut sub find_debs_for_modules { my ( $self, $dep_hash, $apt_contents, $verbose ) = @_; my $debs = Debian::Dependencies->new(); my @missing; while ( my ( $module, $version ) = each %$dep_hash ) { my $ver_rel; ( $ver_rel, $version ) = split_version_relation($version) if $version; $version =~ s/^v// if $version; my $dep; require Debian::DpkgLists; if ( my $ver = is_core_module( $module, $version ) ) { $dep = Debian::Dependency->new( 'perl', $ver ); } elsif ( my @pkgs = Debian::DpkgLists->scan_perl_mod($module) ) { $dep = Debian::Dependency->new( ( @pkgs > 1 ) ? [ map { { pkg => $_, ver => $version } } @pkgs ] : ( $pkgs[0], $version ) ); } elsif ($apt_contents) { $dep = $apt_contents->find_perl_module_package( $module, $version ); } $dep->rel($ver_rel) if $dep and $ver_rel and $dep->ver; my $mod_ver = join( " ", $module, $ver_rel // (), $version || () ); if ($dep) { if ($verbose) { if ( $dep->pkg and $dep->pkg eq 'perl' ) { print "= $mod_ver is in core"; print " since " . $dep->ver if $dep->ver; print "\n"; } else { print "+ $mod_ver found in $dep\n"; } } my $target_perl_version = $^V; $target_perl_version =~ s/^v//; $target_perl_version = Dpkg::Version->new($target_perl_version); if ( $dep->pkg and $dep->pkg eq 'perl' and $dep->ver and $dep->ver > $target_perl_version ) { print " ! $dep is too new. Adding alternative dependency\n" if $verbose; my $alt_dep; if ( my @pkgs = Debian::DpkgLists->scan_perl_mod($module) ) { @pkgs = grep { ( $_ ne 'perl-modules' ) and ( $_ ne 'perl-base' ) and ( $_ ne 'perl' ) } @pkgs; $alt_dep = Debian::Dependency->new( ( @pkgs > 1 ) ? [ map { { pkg => $_, ver => $version } } @pkgs ] : ( $pkgs[0], $version ) ) if @pkgs; } if ( not $alt_dep and $apt_contents) { $alt_dep = $apt_contents->find_perl_module_package( $module, $version ); } $alt_dep //= Debian::Dependency->new( $self->module_name_to_pkg_name($module), '>=', $version ); $dep = Debian::Dependency->new("$alt_dep | $dep"); #print " $dep\n"; } } else { print "- $mod_ver not found in any package\n"; push @missing, $module; my $mod = find_cpan_module($module); if ( $mod and $mod->distribution ) { ( my $dist = $mod->distribution->base_id ) =~ s/-v?\d[^-]*$//; my $pkg = $self->module_name_to_pkg_name($dist); print " CPAN contains it in $dist\n"; print " substituting package name of $pkg\n"; $dep = Debian::Dependency->new( $pkg, $ver_rel, $version ); } else { print " - it seems it is not available even via CPAN\n"; } } $debs->add($dep) if $dep; } return $debs, \@missing; } =item prune_simple_perl_dep Input: =over =item dependency object shall be a simple dependency (no alternatives) =item (optional) build dependency flag true value indicates the dependency is a build-time one =back The following checks are made =over =item dependencies on C These are replaced with C as per Perl policy. =item dependencies on C and build-dependencies on C or C These are removed, unless they specify a version greater than the one available in C or the dependency relation is not C<< >= >> or C<<< >> >>>. =back Return value: =over =item undef if the dependency is redundant. =item pruned dependency otherwise. C replaced with C. =back =cut sub prune_simple_perl_dep { my( $self, $dep, $build ) = @_; croak "No alternative dependencies can be given" if $dep->alternatives; return $dep unless $dep->pkg =~ /^(?:perl|perl-base|perl-modules)$/; # perl-modules is replaced with perl $dep->pkg('perl') if $dep->pkg eq 'perl-modules'; my $unversioned = ( not $dep->ver or $dep->rel =~ />/ and $dep->ver <= $self->oldstable_perl_version ); # if the dependency is considered unversioned, make sure there is no # version if ($unversioned) { $dep->ver(undef); $dep->rel(undef); } # perl-base is (build-)essential return undef if $dep->pkg eq 'perl-base' and $unversioned; # perl is needed in build-dependencies (see Policy 4.2) return $dep if $dep->pkg eq 'perl' and $build; # unversioned perl non-build-dependency is redundant, because it will be # covered by ${perl:Depends} return undef if not $build and $dep->pkg eq 'perl' and $unversioned; return $dep; } =item prune_perl_dep Similar to L, but supports alternative dependencies. If any of the alternatives is redundant, the whole dependency is considered redundant. =cut sub prune_perl_dep { my( $self, $dep, $build ) = @_; return $self->prune_simple_perl_dep( $dep, $build ) unless $dep->alternatives; for my $simple ( @{ $dep->alternatives } ) { my $pruned = $self->prune_simple_perl_dep( $simple, $build ); # redundant alternative? return undef unless $pruned; $simple = $pruned; } return $dep; } =item prune_perl_deps Remove redundant (build-)dependencies on perl, perl-modules and perl-base. =cut sub prune_perl_deps { my $self = shift; # remove build-depending on ancient perl versions for my $perl ( qw( perl perl-base perl-modules ) ) { for ( qw( Build_Depends Build_Depends_Indep ) ) { my @ess = $self->source->$_->remove($perl); # put back non-redundant ones (possibly modified) for my $dep (@ess) { my $pruned = $self->prune_perl_dep( $dep, 1 ); $self->source->$_->add($pruned) if $pruned; } } } # remove depending on ancient perl versions for my $perl ( qw( perl perl-base perl-modules ) ) { for my $pkg ( $self->binary_tie->Values ) { for my $rel ( qw(Depends Recommends Suggests) ) { my @ess = $pkg->$rel->remove($perl); for my $dep (@ess) { my $pruned = $self->prune_perl_dep( $dep, 0 ); $pkg->$rel->add($pruned) if $pruned; } } } } } =back =head1 CLASS METHODS =over =item module_name_to_pkg_name Receives a perl module name like C and returns a suitable Debian package name for it, like C. =cut sub module_name_to_pkg_name { my ( $self, $module ) = @_; my $pkg = lc $module; # ensure policy compliant names and versions (from Joeyh)... $pkg =~ s/[^-.+a-zA-Z0-9]+/-/g; $pkg =~ s/--+/-/g; $pkg = 'lib' . $pkg unless $pkg =~ /^lib/; $pkg .= '-perl'; return $pkg; } =back =head1 COPYRIGHT & LICENSE Copyright (C) 2009, 2010, 2012 Damyan Ivanov L This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. =cut 1; Stanza000755001750001750 012234004042 16622 5ustar00damdam000000000000DhMakePerl-0.80/lib/Debian/ControlSource.pm000444001750001750 500512234004042 20555 0ustar00damdam000000000000DhMakePerl-0.80/lib/Debian/Control/Stanza=head1 NAME Debian::Control::Stanza::Source - source stanza of Debian source package control file =head1 SYNOPSIS my $src = Debian::Control::Stanza::Source->new(\%data); print $src; # auto-stringification print $src->Build_Depends; # Debian::Dependencies object =head1 DESCRIPTION Debian::Control::Stanza::Source can be used for representation and manipulation of C stanza of Debian source package control files in an object-oriented way. Converts itself to a textual representation in string context. =head1 FIELDS The supported fields for source stanzas are listed below. For more information about each field's meaning, consult the section named C of the Debian Policy Manual at L Note that real control fields may contain dashes in their names. These are replaced with underscores. =over =item Source =item Section =item Priority =item Maintainer =item Uploaders =item DM_Upload_Allowed =item Build_Conflicts =item Build_Conflicts_Indep =item Build_Depends =item Build_Depends_Indep =item Standards_Version =item Vcs_Browser =item Vcs_Bzr =item Vcs_CVS =item Vcs_Git =item Vcs_Svn =item Homepage =item XS_Autobuild =back All Build_... fields are converted into objects of L class upon construction. =cut package Debian::Control::Stanza::Source; use strict; use warnings; our $VERSION = '0.73'; use base qw(Debian::Control::Stanza); use constant fields => qw ( Source Section Priority Maintainer Uploaders DM_Upload_Allowed Build_Conflicts Build_Conflicts_Indep Build_Depends Build_Depends_Indep Standards_Version Vcs_Browser Vcs_Bzr Vcs_CVS Vcs_Git Vcs_Svn Homepage XS_Autobuild ); =head1 CONSTRUCTOR =over =item new =item new( { field => value, ... } ) Creates a new L object and optionally initializes it with the supplied data. =back =head1 SEE ALSO Debian::Control::Stanza::Source inherits most of its functionality from L =head1 COPYRIGHT & LICENSE Copyright (C) 2009 Damyan Ivanov L This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. =cut 1; Binary.pm000444001750001750 1067312234004042 20570 0ustar00damdam000000000000DhMakePerl-0.80/lib/Debian/Control/Stanza=head1 NAME Debian::Control::Stanza::Binary - binary stanza of Debian source package control file =head1 SYNOPSIS my $bin = Debian::Control::Stanza::Binary->new(\%data); print $bin; # auto-stringification print $bin->Depends; # Debian::Dependencies object =head1 DESCRIPTION Debian::Control::Stanza::Binary can be used for representation and manipulation of C stanza of Debian source package control files in an object-oriented way. Converts itself to a textual representation in string context. =head1 FIELDS The supported fields for binary stanzas are listed below. For more information about each field's meaning, consult the section named C of the Debian Policy Manual at L Note that real control fields may contain dashes in their names. These are replaced with underscores. =over =item Package =item Architecture =item Section =item Priority =item Essential =item Depends =item Recommends =item Suggests =item Enhances =item Replaces =item Pre_Depends =item Conflicts =item Breaks =item Provides =item Description =back C, C C, C, C, C, C, and C fields are converted to objects of L class upon construction. Two more accessor methods are provided for easier handling of package's short and long description. =over =item short_description =item long_description =back Setting them transparently modifies I. Note that the value of I is "unmangled", that is without leading spaces, and empty lines are empty. I on the other hand is just as it looks in a regular debian/control file - the long part is indented with a single space and empty lines are replaced with dots. =cut package Debian::Control::Stanza::Binary; use strict; use warnings; our $VERSION = '0.77'; use base 'Debian::Control::Stanza'; use constant fields => qw( Package Architecture Section Priority Essential Depends Recommends Suggests Enhances Replaces Pre_Depends Conflicts Breaks Provides Description _short_description _long_description ); =head1 CONSTRUCTOR =over =item new =item new( { field => value, ... } ) Creates a new L object and optionally initializes it with the supplied data. =back =head1 SEE ALSO Debian::Control::Stanza::Source inherits most of its functionality from L =head1 COPYRIGHT & LICENSE Copyright (C) 2009, 2010 Damyan Ivanov L This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. =cut sub set { my ( $self, $field, @value ) = @_; my $res = $self->SUPER::set( $field, @value ); # re-split description in it was set if ( $field eq 'Description' ) { $self->_split_description; } elsif ( $field eq '_short_description' or $field eq '_long_description' ) { $self->_format_description; } $res; } sub short_description { shift->_short_description(@_); } sub long_description { shift->_long_description(@_); } sub _format_description { my $self = shift; my $short = $self->_short_description; my $long = $self->_long_description; if( defined($long) ) { $long =~ s/\n\n/\n.\n/sg; # add spacing between paragraphs $long =~ s/^/ /mg; # prepend every line with a space } # use SUPER::set to not trigger our implementation, which would cause # endless loop (setting short_description updates Description, which is # then split) $self->SUPER::set( 'Description', join( "\n", map { $_ // () } ( $short, $long ) ) ); } sub _split_description { my $self = shift; my ( $short, $long ) = split( /\n/, $self->Description, 2 ); $long =~ s/^ //mg; $long =~ s/^ \.$//mg; # use SUPER::set to not trigger our implementation, which would cause # endless loop (setting short_description updates Description, which is # then split) $self->SUPER::set( '_short_description', $short ); $self->SUPER::set( '_long_description', $long ); } 1; CommaSeparated.pm000444001750001750 424112234004042 22203 0ustar00damdam000000000000DhMakePerl-0.80/lib/Debian/Control/Stanzapackage Debian::Control::Stanza::CommaSeparated; =head1 NAME Debian::Control::Stanza::CommaSeparated - comma separated debian/control field abstraction =cut use strict; use warnings; our $VERSION = '0.66'; use Array::Unique; use Text::ParseWords qw(quotewords); use overload '""' => \&as_string; =head1 SYNOPSIS my $f = Debian::Control::Stanza::CommaSeparated->new( 'Joe M '); $f->add('"Smith, Agent" , Joe M '); print $f->as_string; # 'Joe M , "Smith, Agent" ' print "$f"; # the same $f->sort; =head1 DESCRIPTION Debian::Control::Stanza::CommaSeparated abstracts handling of comma-separated list of values, often found in F file fields like I. Note that the various dependency fields in F also use comma-separated values, but the L class is more suitable for these as it is for example also capable of finding overlapping dependency declarations. =head1 CONSTRUCTOR =over =item new (initial values) The initial values list is parsed and may contain strings that are in fact comma-separated lists. These are split appropriately using L' I routine. =back =cut sub new { my $self = bless [], shift; tie @$self, 'Array::Unique'; $self->add(@_) if @_; $self; } =head1 METHODS =over =item as_string Returns text representation of the list. A simple join of the elements by C<, >. The same function is used for overloading the stringification operation. =cut sub as_string { return join( ', ', @{ $_[0] } ); } sub _parse { my $self = shift; my @output; for (@_) { my @items = quotewords( qr/\s*,\s*/, 1, $_ ); push @output, @items; } return @output; } =item add I<@items> Adds the given items to the list. Items that are already present are not added, keeping the list unique. =cut sub add { my ( $self, @items ) = @_; push @$self, $self->_parse(@items); } =item sort A handy method for sorting the list. =cut sub sort { my $self = shift; @$self = sort @$self; } =back =cut 1; WNPP000755001750001750 012234004042 14526 5ustar00damdam000000000000DhMakePerl-0.80/lib/DebianBug.pm000444001750001750 552312234004042 15743 0ustar00damdam000000000000DhMakePerl-0.80/lib/Debian/WNPPpackage Debian::WNPP::Bug; use strict; use warnings; our $VERSION = '0.64'; =head1 NAME Debian::WNPP::Bug - handy representation of Debian WNPP bug reports =head1 SYNOPSIS my $b = Debian::WNPP::Bug->new( { number => 1234, title => 'RFP: nice-package -- do nice things easier', type => 'rfp', package => 'nice-package', short_description => 'do nice things together', submitter => "Joe Developer " } ); print "$b"; # 1234 =cut use base qw(Class::Accessor); __PACKAGE__->mk_accessors( qw( number title type package short_description submitter ) ); =head1 CONSTRUCTOR =over =item new Constructs new instance of the class. Initial values are to be given as a hash reference. =back =head1 FIELDS =over =item number The unique ID of the big in the BTS. =item title The title of the bug. Usually something like RFP: nice-package -- do nice things easier =item type The type of the WNPP bug. Either of: =over =item RFP request for package =item ITP intent to package =item O orphaned package =item RFH request for help =item RFA request for adoption =item ITA intent to adopt =back =item package Package name =item short_description The short description of the package =item submitter The bug submitter in the form C<< Full Name >> =back =head1 OVERLOADS =over =item "" C object instances stringify via the method L<|as_string>. The default C method returns the bug number. =cut use overload '""' => \&as_string; =back =head1 METHODS =over =item type_and_number Returns a string representing the bug type and number in the form I #I, e.g. C. =cut sub type_and_number { my $self = shift; return $self->type . ' #' . $self->number; } =item as_string Used for the "" overload. Returns the bug number. =cut sub as_string { my $self = shift; return $self->number; } =back =head1 AUTHOR =over 4 =item Damyan Ivanov =back =head1 COPYRIGHT & LICENSE =over 4 =item Copyright (C) 2010 Damyan Ivanov =back This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. =cut 1; Query.pm000444001750001750 1200312234004042 16342 0ustar00damdam000000000000DhMakePerl-0.80/lib/Debian/WNPPpackage Debian::WNPP::Query; use strict; use warnings; our $VERSION = '0.74'; =head1 NAME Debian::WNPP::Query - offline storage of Debian's work-needing package lists =head1 SYNOPSIS my $wnpp = Debian::WNPP::Query->new( { cache_dir => '/somewhere', network_enabled => 0, ttl => 3600 * 24, bug_types => [qw( ITP RFP )] } ); my @bugs = $wnpp->bugs_for_package('ken-lee'); =head1 DESCRIPTION Debian::WNPP::Query provides a way to retrieve and cache the contents of Debian's "Work-needing and prospective packages" lists. =head1 CONSTRUCTOR B is the constructor. Initial field values are to be given as a hash reference. If B is given, it is read. =cut use base 'Class::Accessor'; __PACKAGE__->mk_accessors( qw( cache_file ttl bug_types _bug_types _cache ) ); use autodie; use Debian::WNPP::Bug; use File::Basename qw(dirname); use File::Path; use Storable (); use WWW::Mechanize (); our %list_url = ( ITP => 'http://www.debian.org/devel/wnpp/being_packaged', RFP => 'http://www.debian.org/devel/wnpp/requested', ITA => 'http://www.debian.org/devel/wnpp/being_adopted', RFA => 'http://www.debian.org/devel/wnpp/rfa_bypackage', O => 'http://www.debian.org/devel/wnpp/orphaned', ); sub new { my $class = shift; my $self = $class->SUPER::new(@_); # default to all types $self->_bug_types( { map( ( $_ => 1 ), @{ $self->bug_types || [ keys %list_url ] } ), } ); # default TTL $self->ttl( 24 * 3600 ) unless defined $self->ttl; $self->_cache( {} ); $self->_read_cache if $self->cache_file; $self->_fetch if not $self->_cache->{timestamp} or ( ( time - $self->_cache->{timestamp} ) > $self->ttl ); return $self; } sub _read_cache { my $self = shift; return unless $self->cache_file and -e $self->cache_file; $self->_cache( eval { Storable::retrieve( $self->cache_file ) } || {} ); } sub _write_cache { my $self = shift; return unless $self->cache_file; File::Path::make_path( dirname( $self->cache_file ) ); $self->_cache->{timestamp} = scalar(time); Storable::nstore( $self->_cache, $self->cache_file ); } sub _fetch { my $self = shift; my $browser = WWW::Mechanize->new(); while( my( $type, $url ) = each %list_url ) { eval { $browser->get($url); }; if ($@) { warn "Error retrieving the list of $type bugs:\n"; warn $@; next; } for my $link ( $browser->links ) { next unless $link->url =~ m{^http://bugs.debian.org/(\d+)}; my $bug = $1; my $desc = $link->text; $desc =~ s/^([^:]+): //; my $package = $1; push @{ $self->_cache->{$package} ||= [] }, Debian::WNPP::Bug->new( { type => $type, number => $bug, package => $package, short_description => $desc, title => "$type: $package -- $desc", } ); } } $self->_write_cache; } =head1 FIELDS =over =item cache_file I The path to the file holding the offline cache of the WNPP lists. If not specified, no cache is read or written. =item ttl I The time after which the on-disk cache is considered too old and WNPP pages are retrieved afresh. Ignored if B is not defined. Defaults to 86400 (1 day). =item bug_types I Specified which bug types to retrieve. For example, if you are interested in ITP and RFP bugs, there is no point in downloading, parsing and storing ITA/RFA/O bugs. By default all types of bugs are processed. =back =head1 METHODS =over =item bugs_for_package(I) Returns a list of bugs matching the given package name. Normally the list would contain only one bug, but there are no guarantees. =cut sub bugs_for_package { my ( $self, $package ) = @_; if (exists $self->_cache->{ $package }) { return @{ $self->_cache->{ $package } }; } return (); } =back =head1 SEE ALSO =over =item L =item L =back =head1 AUTHOR AND COPYRIGHT =over =item Copyright (C) 2010 Damyan Ivanov =back This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. =cut 1; DhMakePerl000755001750001750 012234004042 14534 5ustar00damdam000000000000DhMakePerl-0.80/libConfig.pm000444001750001750 2154312234004042 16461 0ustar00damdam000000000000DhMakePerl-0.80/lib/DhMakePerlpackage DhMakePerl::Config; use strict; use warnings; our $VERSION = '0.77'; =head1 NAME DhMakePerl::Config - dh-make-perl configuration class =cut use base 'Class::Accessor'; use Dpkg::Source::Package; use constant options => ( 'apt-contents-dir=s', 'arch=s', 'backups!', 'basepkgs=s', 'bdepends=s', 'bdependsi=s', 'build-source!', 'build!', 'closes=i', 'config-file=s', 'core-ok', 'cpan-mirror=s', 'cpan=s', 'cpanplus=s', 'data-dir=s', 'dbflags=s', 'depends=s', 'desc=s', 'dh=i', 'dist=s', 'email|e=s', 'exclude|i:s{,}', 'home-dir=s', 'install!', 'intrusive!', 'network!', 'nometa', 'notest', 'only|o=s@', 'packagename|p=s', 'pkg-perl!', 'recursive!', 'requiredeps', 'sources-list=s', 'source-format=s', 'vcs=s', 'verbose!', 'version=s', ); use constant commands => ( 'make', 'refresh|R', 'refresh-cache', 'dump-config', 'locate', 'help' ); __PACKAGE__->mk_accessors( do { my @opts = ( __PACKAGE__->options, __PACKAGE__->commands ); for (@opts) { s/[=:!|].*//; s/-/_/g; } @opts; }, 'command', 'cpan2deb', 'cpan2dsc', '_explicitly_set', ); use File::Basename qw(basename); use File::Spec::Functions qw(catfile); use Getopt::Long; use Tie::IxHash (); use YAML (); use constant DEFAULTS => { backups => 1, data_dir => '/usr/share/dh-make-perl', dbflags => ( $> == 0 ? "" : "-rfakeroot" ), dh => 9, dist => '', email => '', exclude => qr/$Dpkg::Source::Package::diff_ignore_default_regexp/, home_dir => "$ENV{HOME}/.dh-make-perl", network => 1, only => { map ( ( $_ => 1 ), qw(control copyright docs examples rules) ), }, source_format => '3.0 (quilt)', vcs => 'git', verbose => 1, }; use constant cpan2deb_DEFAULTS => { build => 1, #recursive => 1, }; use constant cpan2dsc_DEFAULTS => { build_source => 1, #recursive => 1, }; sub new { my $class = shift; my $values = shift || {}; my $cpan2deb = basename($0) eq 'cpan2deb'; my $cpan2dsc = basename($0) eq 'cpan2dsc'; my $self = $class->SUPER::new( { %{ $class->DEFAULTS }, ( $cpan2deb ? %{ $class->cpan2deb_DEFAULTS } : () ), ( $cpan2dsc ? %{ $class->cpan2dsc_DEFAULTS } : () ), cpan2deb => $cpan2deb, cpan2dsc => $cpan2dsc, %$values, }, ); $self->_explicitly_set( {} ) unless $self->_explicitly_set; return $self; } =head1 METHODS =over =item parse_command_line_options() Parses command line options and populates object members. =cut sub parse_command_line_options { my $self = shift; # first get 'regular' options. commands are parsed in another # run below. Getopt::Long::Configure( qw( pass_through no_auto_abbrev no_ignore_case ) ); my %opts; GetOptions( \%opts, $self->options, ) or die "Error parsing command-line options\n"; # Make CPAN happy, make the user happy: Be more tolerant! # Accept names to be specified with double-colon, dash or slash $opts{cpan} =~ s![/-]!::!g if $opts{cpan}; # "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." $opts{exclude} = '^$' if ! defined $opts{exclude}; # switch not specified # take everything $opts{exclude} = $self->DEFAULTS->{'exclude'} if ! $opts{exclude}; # arguments not specified # back to defaults # handle comma-separated multiple values in --only $opts{only} = { map ( ( $_ => 1 ), split( /,/, join( ',', @{ $opts{only} } ) ) ) } if $opts{only}; while ( my ( $k, $v ) = each %opts ) { my $field = $k; $field =~ s/-/_/g; $self->$field( $opts{$k} ); $self->_explicitly_set->{$k} = 1; } # see what are we told to do %opts = (); Getopt::Long::Configure('no_pass_through'); GetOptions( \%opts, $self->commands ) or die "Error parsing command-line options\n"; if (%opts) { my $cmd = ( keys %opts )[0]; warn "WARNING: double dashes in front of sub-commands are deprecated\n"; warn "WARNING: for instance, use '$cmd' instead of '--$cmd'\n"; } else { my %cmds; for( $self->commands ) { my $c = $_; $c =~ s/\|.+//; # strip short alternatives $cmds{$c} = 1; } # treat the first non-option as command # if it looks like one $opts{ shift(@ARGV) } = 1 if $ARGV[0] and $cmds{ $ARGV[0] }; # by default, create source package $opts{make} = 1 unless %opts; } if ( scalar( keys %opts ) > 1 ) { die "Only one of " . map( $_, $self->commands ) . " can be specified\n"; } $self->command( ( keys %opts )[0] ); $self->verbose(1) if $self->command eq 'make' and not $self->_explicitly_set->{verbose}; if ($self->cpan2deb) { @ARGV == 1 or die "cpan2deb requires exactly one non-option argument"; $self->cpan( shift @ARGV ); $self->_explicitly_set->{cpan} = 1; $self->build(1); $self->command('make'); } if ($self->cpan2dsc) { @ARGV == 1 or die "cpan2dsc requires exactly one non-option argument"; $self->cpan( shift @ARGV ); $self->_explicitly_set->{cpan} = 1; $self->build_source(1); $self->command('make'); } $self->check_obsolete_entries; } =item parse_config_file() Parse configuration file. I member is used for location the file, if not set, F file in I is used. =cut sub parse_config_file { my $self = shift; my $fn = $self->config_file || catfile( $self->home_dir, 'dh-make-perl.conf' ); if ( -e $fn ) { local $@; my $yaml = eval { YAML::LoadFile($fn) }; die "Error parsing $fn: $@" if $@; die "Error parsing $fn: config-file is not allowed in the configuration file" if $yaml->{'config-file'}; for ( $self->options ) { ( my $key = $_ ) =~ s/[!=|].*//; next unless exists $yaml->{$key}; my $value = delete $yaml->{$key}; next if $self->_explicitly_set ->{$key}; # cmd-line opts take precedence ( my $opt = $key ) =~ s/-/_/g; $self->$opt($value); } die "Error parsing $fn: the following keys are not known:\n" . join( "\n", map( " - $_", keys %$yaml ) ) if %$yaml; $self->check_obsolete_entries; } } =item dump_config() Returns a string representation of all configuration options. Suitable for populating configuration file. =cut sub dump_config { my $self = shift; my %hash; tie %hash, 'Tie::IxHash'; for my $opt ( $self->options ) { $opt =~ s/[=!|].*//; ( my $field = $opt ) =~ s/-/_/g; $hash{$opt} = $self->$field; } local $YAML::UseVersion = 1; local $YAML::Stringify = 1; return YAML::Dump( \%hash ); } =item check_obsolete_entries Checks for presence of deprecated/obsolete entries and warns/dies if any is found. =cut sub check_obsolete_entries { my ($self) = @_; warn "--notest ignored. if you don't want to run the tests when building the package, add 'nocheck' to DEB_BUILD_OPTIONS\n" if $self->notest; if ( $self->dh < 8 ) { warn "debhelper compatibility levels before 8 are not supported.\n"; exit(1); } } =back =head1 COPYRIGHT & LICENSE =over =item Copyright (C) 2008-2010 Damyan Ivanov =item Copyright (C) 2009-2010 Gregor Herrmann =item Copyright (C) 2009 Ryan Niebur =back This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. =cut 1; PodParser.pm000444001750001750 1063412234004042 17152 0ustar00damdam000000000000DhMakePerl-0.80/lib/DhMakePerlpackage DhMakePerl::PodParser; use strict; use warnings; our $VERSION = '0.51'; use base qw(Pod::Parser); =head1 NAME DhMakePerl::PodParser - internal helper module for DhMakePerl =head1 SYNOPSIS DhMakePerl::PodParser is used by DhMakePerl to extract some information from the module-to-be-packaged. It sub-classes from L - Please refer to it for further documentation. =head1 METHODS =over =item set_names Defines the names of the sections that should be fetched from the POD =cut sub set_names { my ( $parser, @names ) = @_; foreach my $n (@names) { $parser->{_deb_}->{$n} = undef; } } =item get Gets the contents for the specified POD section. The single argument should be one of the values given to L. =cut sub get { my ( $parser, $name ) = @_; $parser->{_deb_}->{$name}; } =item cleanup Empties the information held by the parser object =cut sub cleanup { my $parser = shift; delete $parser->{_current_}; foreach my $k ( keys %{ $parser->{_deb_} } ) { $parser->{_deb_}->{$k} = undef; } } =item command Overrides base class' L L method. Gets each of the POD's commands (sections), and defines how it should react to each of them. In this particular implementation, it basically filters out anything except for the C<=head> sections defined in L. =cut sub command { my ( $parser, $command, $paragraph, $line_num ) = @_; $paragraph =~ s/\s+$//s; if ( $command =~ /head/ && exists( $parser->{_deb_}->{$paragraph} ) ) { $parser->{_current_} = $paragraph; $parser->{_lineno_} = $line_num; } else { delete $parser->{_current_}; } #print "GOT: $command -> $paragraph\n"; } =item add_text Hands back the text it received as it occurred in the input stream (see the L's documentation for L, L and L). Content is ignored if more than 15 lines away from the section start. =cut sub add_text { my ( $parser, $paragraph, $line_num ) = @_; return unless exists $parser->{_current_}; return if ( $line_num - $parser->{_lineno_} > 15 ); $paragraph =~ s/^\s+//s; $paragraph =~ s/\s+$//s; $paragraph = $parser->interpolate( $paragraph, $line_num ); $parser->{_deb_}->{ $parser->{_current_} } .= "\n\n" . $paragraph; #print "GOT: $paragraph'\n"; } =item verbatim Called by L for verbatim paragraphs. Redirected to L. =cut sub verbatim { shift->add_text(@_) } =item textblock Called by L for ordinary text paragraphs. Redirected to L. =cut sub textblock { shift->add_text(@_) } =item interior_sequence L is called by L when, eh, an interior sequence occurs in the text. Interior sequences are things like IE...E. This implementation decodes C, C, C, C and numeric character codes, all used by C escape. =cut sub interior_sequence { my ( $parser, $seq_command, $seq_argument ) = @_; if ( $seq_command eq 'E' ) { my %map = ( 'gt' => '>', 'lt' => '<', 'sol' => '/', 'verbar' => '|' ); return $map{$seq_argument} if exists $map{$seq_argument}; return chr($seq_argument) if ( $seq_argument =~ /^\d+$/ ); # html names... } return $seq_argument; } 1; =back =head1 SEE ALSO L =head1 AUTHOR =over 4 =item Paolo Molaro =item Documentation added by Gunnar Wolf and Damyan Ivanov =back =head1 COPYRIGHT & LICENSE =over 4 =item Copyright (C) 2001, Paolo Molaro =item Copyright (C) 2008, Gunnar Wolf =item Copyright (C) 2008, Damyan Ivanov =back This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. =cut Utils.pm000444001750001750 1565612234004042 16364 0ustar00damdam000000000000DhMakePerl-0.80/lib/DhMakePerlpackage DhMakePerl::Utils; use strict; use warnings; our $VERSION = '0.71'; =head1 NAME DhMakePerl::Utils - helper routines for dh-make-perl and alike =head1 SYNOPSIS use DhMakePerl::Utils qw(is_core_module); my $v = is_core_module('Test::More', '1.002'); my $v = nice_perl_ver('5.010001'); =cut our @EXPORT_OK = qw( find_core_perl_dependency find_cpan_module find_cpan_distribution is_core_module nice_perl_ver split_version_relation ); use base 'Exporter'; use 5.10.0; use Module::CoreList (); use Debian::Dependency; =head1 FUNCTIONS None of he following functions is exported by default. =over =item find_cpan_module Returns CPAN::Module object that corresponds to the supplied argument. Returns undef if no module is found by CPAN. If the CPAN module needs to be configured in some way, that should be done before calling this function. =cut sub find_cpan_module { my( $name ) = @_; my $mod; # expand() returns a list of matching items when called in list # context, so after retrieving it, we try to match exactly what # the user asked for. Specially important when there are # different modules which only differ in case. # # This Closes: #451838 my @mod = CPAN::Shell->expand( 'Module', '/^' . $name . '$/' ); foreach (@mod) { my $file = $_->cpan_file(); $file =~ s#.*/##; # remove directory $file =~ s/(.*)-.*/$1/; # remove version and extension $file =~ s/-/::/g; # convert dashes to colons if ( $file eq $name ) { $mod = $_; last; } } $mod = shift @mod unless ($mod); return $mod; } =item find_cpan_distribution Returns CPAN::Distribution object that corresponds to the supplied argument. Returns undef if no distribution is found by CPAN. If the CPAN module needs to be configured in some way, that should be done before calling this function. =cut sub find_cpan_distribution { my( $name ) = @_; $name =~ s/::/-/g; return CPAN::Shell->expand( 'Distribution', "/\\/$name-[^\\/]+\\.(tar|zip)/" ); } =item is_core_module I, I Returns the version of the C package containing the given I (at least version I). Returns C if I is not a core module. =cut sub is_core_module { my ( $module, $ver ) = @_; my $v = Module::CoreList->first_release($module, $ver); # 5.009002 return unless defined $v; $v = version->new($v); # v5.9.2 ( $v = $v->normal ) =~ s/^v//; # "5.9.2" return $v; } =item nice_perl_ver I Re-formats perl version to match Debian's perl package versions. For example C<5.010> (and C<5.01>) is converted to C<5.10>. =cut sub nice_perl_ver { my( $v ) = @_; if( $v =~ /\.(\d+)$/ and $v !~ /\..+\./ ) { # do nothing for 5.9.1 my $minor = $1; if( length($minor) % 3 ) { # right-pad with zeroes so that the number of digits after the dot # is a multiple of 3 $minor .= '0' x ( 3 - length($minor) % 3 ); } my $ver = 0 + substr( $minor, 0, 3 ); if( length($minor) > 3 ) { $ver .= '.' . ( 0 + substr( $minor, 3 ) ); } $v =~ s/\.\d+$/.$ver/; $v .= '.0' if $v =~ /^\d+\.\d+$/; # force three-component version } return $v; } =item core_module_perls I[, I] Returns a list of Perl versions that have I. If I is given, the list contains only Perl versions containing I at least version I. =cut sub core_module_perls { my( $module, $version ) = @_; my @ret; $version = version->new($version) if $version; for my $v( sort keys %Module::CoreList::version ){ # Module::CoreList::version includes families (i.e. "5") as well as # full versions, skip the families. next unless ($v =~ /^\d+\.\d+(?:\.|$)/); next unless exists $Module::CoreList::version{$v}{$module}; my $found = $Module::CoreList::version{$v}{$module}; push @ret, $v if not $version or $found and version->new($found) >= $version; } return @ret; } =item find_core_perl_dependency( $module[, $version] ) return a dependency on perl containing the required module version. If the module is not available in any perl released by Debian, return undef. =cut our %debian_perl = ( '5.8' => { min => Dpkg::Version->new('5.8.8'), max => Dpkg::Version->new('5.8.8'), }, '5.10' => { min => Dpkg::Version->new('5.10.0'), max => Dpkg::Version->new('5.10.1'), }, ); sub find_core_perl_dependency { my ( $module, $version ) = @_; if ( $module eq 'perl' ) { return Debian::Dependency->new('perl') unless $version; return Debian::Dependency->new( 'perl', nice_perl_ver($version) ); } my $perl_dep; my @perl_releases = core_module_perls( $module, $version ); for my $v (@perl_releases) { $v = nice_perl_ver($v); $v =~ /^(\d+\.\d+)(?:\.|$)/; my $major = $1 or die "[$v] is a strange version"; # we want to avoid depending on things like 5.8.9 which aren't in # Debian and can contain stuff newer than in 5.10.0 if ( $debian_perl{$major} and $debian_perl{$major}{max} >= $v ) { return Debian::Dependency->new( 'perl', $v ); } } # not a core module return undef; } =item split_version_relation I Splits the string, typically found in dependency fields' values in CPAN META into relation and version. If no relation is found in the string, C<< >= >> is assumed. Returns a list of relation and version. The relation is suitable for using in Debian package dependency version requirements. For example =over =item split_version_relation('0.45') returns ( '>=', '0.45' ) =item split_version_relation('< 0.56') returns ( '<<', '0.56' ) =back =cut sub split_version_relation { my $in = shift; $in =~ s/^\s*([<>=!])\s*//; my $rel = $1 // '>='; $rel = '>>' if $rel eq '>'; $rel = '<<' if $rel eq '<'; return ( $rel, $in ); } =back =head1 COPYRIGHT & LICENSE =over =item Copyright (C) 2008, 2009, 2010 Damyan Ivanov =back This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. =cut 1; # End of DhMakePerl Command000755001750001750 012234004042 16112 5ustar00damdam000000000000DhMakePerl-0.80/lib/DhMakePerldump_config.pm000444001750001750 213712234004042 21102 0ustar00damdam000000000000DhMakePerl-0.80/lib/DhMakePerl/Commandpackage DhMakePerl::Command::dump_config; =head1 NAME DhMakePerl::Command::dump_config - dh-make-perl dump-config implementation =cut use strict; use warnings; our $VERSION = '0.65'; use base 'DhMakePerl'; =head1 METHODS =over =item execute The main command entry point. =cut sub execute { my $self = shift; print $self->cfg->dump_config; return 0; } =back =head1 COPYRIGHT & LICENSE =over =item Copyright (C) 2009, 2010 Damyan Ivanov =back This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. =cut 1; locate.pm000444001750001750 403012234004042 20051 0ustar00damdam000000000000DhMakePerl-0.80/lib/DhMakePerl/Commandpackage DhMakePerl::Command::locate; =head1 NAME DhMakePerl::Command::locate - dh-make-perl locate implementation =head1 DESCRIPTION This module implements the I command of L. =cut use strict; use warnings; our $VERSION = '0.66'; use base 'DhMakePerl'; use DhMakePerl::Utils qw(is_core_module); =head1 METHODS =over =item execute Provides I command implementation. =cut sub execute { my $self = shift; @ARGV == 1 or die "locate command requires exactly one non-option argument\n"; my $apt_contents = $self->get_apt_contents; unless ($apt_contents) { die <find_perl_module_package($mod) ) { print "$mod is in $pkg package\n"; return 0; } print "$mod is not found in any Debian package\n"; return 1; } =back =cut 1; =head1 COPYRIGHT & LICENSE =over =item Copyright (C) 2009 Franck Joncourt =item Copyright (C) 2009, 2010 Damyan Ivanov =back This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. =cut Packaging.pm000444001750001750 13726212234004042 20544 0ustar00damdam000000000000DhMakePerl-0.80/lib/DhMakePerl/Commandpackage DhMakePerl::Command::Packaging; use strict; use warnings; our $VERSION = '0.77'; use feature 'switch'; =head1 NAME DhMakePerl::Command::Packaging - common routines for 'make' and 'refresh' dh-make-perl commands =cut use base 'DhMakePerl'; __PACKAGE__->mk_accessors( qw( start_dir main_dir debian_dir mod_cpan_version meta perlname author version rules docs examples copyright control ) ); use Array::Unique; use Carp qw(confess); use CPAN (); use CPAN::Meta; use Cwd qw( getcwd ); use Debian::Control::FromCPAN; use Debian::Dependencies; use Debian::Rules; use DhMakePerl::PodParser (); use File::Basename qw(basename dirname); use File::Find qw(find); use File::Path (); use File::Spec::Functions qw(catfile catpath splitpath); use Parse::DebianChangelog; use Text::Balanced qw(extract_quotelike); use Text::Wrap qw(fill); use User::pwent; use constant debstdversion => '3.9.5'; our %DEFAULTS = ( start_dir => getcwd(), ); sub new { my $class = shift; $class = ref($class) if ref($class); my $self = $class->SUPER::new(@_); while( my( $k, $v ) = each %DEFAULTS ) { $self->$k($v) unless defined $self->$k; } $self->cfg or die "cfg is mandatory"; my @docs; tie @docs, 'Array::Unique'; $self->docs( \@docs ); my @examples; tie @examples, 'Array::Unique'; $self->examples( \@examples ); $self->control( Debian::Control::FromCPAN->new ) unless $self->control; return $self; } =head1 METHODS =over =item main_file(file_name) Constructs a file name relative to the main source directory, L =cut sub main_file { my( $self, $file ) = @_; catfile( $self->main_dir, $file ); } =item debian_file(file_name) Constructs a file name relative to the debian/ sub-directory of the main source directory. =cut sub debian_file { my( $self, $file ) = @_; catfile( $self->main_file('debian'), $file ); } sub build_pl { my ($self) = @_; return $self->main_file('Build.PL'); } sub makefile_pl { my ($self) = @_; return $self->main_file('Makefile.PL'); } sub get_developer { my $self = shift; my $email = $self->cfg->email; my ( $user, $pwnam, $name, $mailh ); $user = $ENV{LOGNAME} || $ENV{USER}; $pwnam = getpwuid($<); die "Cannot determine current user\n" unless $pwnam; if ( defined $ENV{DEBFULLNAME} ) { $name = $ENV{DEBFULLNAME}; } else { $name = $pwnam->gecos; $name =~ s/,.*//; } $user ||= $pwnam->name; $name ||= $user; $email ||= ( $ENV{DEBEMAIL} || $ENV{EMAIL} ); unless ($email) { chomp( $mailh = `cat /etc/mailname` ); $email = $user . '@' . $mailh; } $email =~ s/^(.*)\s+<(.*)>$/$2/; return "$name <$email>"; } sub fill_maintainer { my $self = shift; my $src = $self->control->source; my $maint = $self->get_developer; if ( $self->cfg->pkg_perl ) { my $pkg_perl_maint = "Debian Perl Group "; unless ( ( $src->Maintainer // '' ) eq $pkg_perl_maint ) { my $old_maint = $src->Maintainer; $src->Maintainer($pkg_perl_maint); $src->Uploaders->add($old_maint) if $old_maint; } $src->Uploaders->add($maint); } else { $src->Maintainer($maint); } } sub process_meta { my ($self) = @_; $self->meta({}); # Command line option nometa causes this function not to be run if( $self->cfg->nometa ) { return; } my $meta = $self->main_file('META.json'); if ( -e $meta ) { print "Using META.json\n" if $self->cfg->verbose; } else { $meta = $self->main_file('META.yml'); if ( -e $meta ) { print "Using META.yml\n" if $self->cfg->verbose; } else { print "WARNING: Neither META.json nor META.yml was found\n"; return; } } $meta = CPAN::Meta->load_file($meta); $self->meta( $meta->as_struct ); } sub set_package_name { my $self = shift; my $pkgname; if (defined $self->cfg->packagename) { $pkgname = $self->cfg->packagename; } else { $pkgname = Debian::Control::FromCPAN->module_name_to_pkg_name( $self->perlname ); } $self->control->source->Source($pkgname) unless $self->control->source->Source; $self->control->binary_tie->Push( $pkgname => Debian::Control::Stanza::Binary->new( { Package => $pkgname } ) ) unless $self->control->binary->{$pkgname}; } sub pkgname { @_ == 1 or die 'Syntax: $obj->pkgname()'; my $self = shift; my $pkg = $self->control->binary_tie->Values(0)->Package; defined($pkg) and $pkg ne '' or confess "called before set_package_name()"; return $pkg; } sub srcname { @_ == 1 or die 'Syntax: $obj->srcname()'; my $self = shift; my $pkg = $self->control->source->Source; defined($pkg) and $pkg ne '' or confess "called before set_package_name()"; return $pkg; } sub get_wnpp { my ( $self, $package ) = @_; return undef unless $self->cfg->network; my $wnpp = Debian::WNPP::Query->new( { cache_file => catfile( $self->cfg->home_dir, 'wnpp.cache' ) } ); my @bugs = $wnpp->bugs_for_package($package); return $bugs[0]; } sub extract_basic { my ($self) = @_; $self->extract_name_ver(); my $src = $self->control->source; my $bin = $self->control->binary_tie->Values(0); $src->Section('perl') unless defined $src->Section; $src->Priority('optional') unless defined $src->Priority; if ( $self->cfg->arch ) { printf "Forcing architecture to '%s'\n", $self->cfg->arch; $bin->Architecture( $self->cfg->arch ); } else { $bin->Architecture('all'); find( sub { $self->check_for_xs }, $self->main_dir ); } $self->cfg->dh('9') if $bin->Architecture eq 'any' and not $self->cfg->_explicitly_set->{dh}; printf( "Found: %s %s (%s arch=%s)\n", $self->perlname, $self->version, $self->pkgname, $bin->Architecture ) if $self->cfg->verbose; $self->debian_dir( $self->main_file('debian') ); find( { no_chdir => 1, wanted => sub { return if $File::Find::name =~ $self->cfg->exclude; if (/\.(pm|pod)$/) { $self->extract_desc($_) unless $bin->short_description and $bin->long_description; $self->extract_basic_copyright($_) unless $self->author and $self->copyright; } }, }, $self->main_dir ); } sub sanitize_version { my $self = shift; my ($ver) = @_; return undef unless defined($ver); $ver =~ s/^v//; $ver =~ s/[^-.+a-zA-Z0-9]+/-/g; $ver = "0$ver" unless $ver =~ /^\d/; return $ver; } sub extract_name_ver { my ($self) = @_; my ( $name, $ver ); if ( defined $self->meta->{name} and defined $self->meta->{version} ) { $name = $self->meta->{name}; $ver = $self->meta->{version}; } elsif ( defined $self->cfg->packagename and defined $self->cfg->version ) { $name = $self->cfg->packagename; $ver = $self->cfg->version; } else { if ( -e $self->build_pl ) { print "Extracting name and version from Build.PL\n"; $self->extract_name_ver_from_build( $self->build_pl ); } elsif ( -e $self->makefile_pl ) { print "Extracting name and version from Makefile.PL\n"; $self->extract_name_ver_from_makefile( $self->makefile_pl ); } else { if ( $self->cfg->cpan ) { my $name = $self->cfg->cpan; $name =~ s/::/-/g; $self->perlname($name); } else { die "Unable to determine dist name, no Build.PL, no Makefile.PL\nPlease use --cpan.\n"; } } $name = $self->perlname; $ver = $self->version; } $ver = $self->cfg->version if $self->cfg->version; defined($ver) and $ver ne '' or die "Unable to determine dist version\. Please use --version.\n"; # final sanitazing of name and version $name =~ s/::/-/g; $ver = $self->sanitize_version($ver) unless $self->cfg->version; $name or $ver or die "Unable to determine distribution name and version. Aborting.\n"; $name or die "Unable to determine distribution name. Aborting.\n"; $ver or die "Unable to determine distribution version. Aborting.\n"; $self->perlname($name); $self->version($ver); $self->set_package_name; } sub extract_name_ver_from_build { my ( $self, $build ) = @_; my ( $file, $name, $ver, $vfrom, $dir ); { local $/ = undef; my $fh = $self->_file_r($build); $file = $fh->getline; } # Replace q[quotes] by "quotes" $file =~ s/q\[(.+)]/'$1'/g; # Get the name if ($file =~ /([\'\"]?) dist_name\1\s* (=>|,) \s* ([\'\"]?) (\S+)\3/xs ) { $name = $4; } elsif ( $file =~ /([\'\"]?) module_name\1\s* (=>|,) \s* (\S+)/xs ) { $name = $self->unquote($2); $name =~ s/::/-/g; # just in case we need it later $vfrom = $name; $vfrom =~ s/-/::/g; $vfrom =~s{::}{/}g; $vfrom = "lib/$vfrom.pm"; } $name =~ s/,.*$//; # band aid: need to find a solution also for build in directories # warn "name is $name (cpan name: $self->cfg->cpan)\n"; $name = $self->cfg->cpan if ( $name eq '__PACKAGE__' && $self->cfg->cpan ); $name = $self->cfg->cpanplus if ( $name eq '__PACKAGE__' && $self->cfg->cpanplus ); # Get the version if ( defined $self->cfg->version ) { # Explicitly specified $ver = $self->cfg->version; } elsif ( $file =~ /([\'\"]?)\sdist_version\1\s*(=>|,)\s*([\'\"]?)([^\s,]*)\3/s ) { $ver = $4; # Where is the version taken from? $vfrom = $4 if $file =~ /([\'\"]?)dist_version_from\1\s*(=>|,)\s*([\'\"]?)([^\s,]*)\3/s; } elsif ( $file =~ /([\'\"]?)dist_version_from\1\s*(=>|,)\s*([\'\"]?)([^\s,]*)\3/s ) { $vfrom = $4; } $dir = dirname($build) || './'; for ( ( $name, $ver ) ) { next unless defined; next unless /^\$/; # decode simple vars s/(\$\w+).*/$1/; if ( $file =~ /\Q$_\E\s*=\s*([\'\"]?)(\S+)\1\s*;/ ) { $_ = $2; } } unless ( defined $ver ) { local $/ = "\n"; # apply the method used by makemaker if ( defined $dir and defined $vfrom and -f "$dir/$vfrom" and -r "$dir/$vfrom" ) { my $fh = $self->_file_r("$dir/$vfrom"); while ( my $lin = $fh->getline ) { if ( $lin =~ /([\$*])(([\w\:\']*)\bVERSION)\b.*\=/ ) { no strict; #warn "ver: $lin"; $ver = ( eval $lin )[0]; last; } } $fh->close; } else { if ( $self->mod_cpan_version ) { $ver = $self->mod_cpan_version; warn "Cannot use internal module data to gather the " . "version; using cpan_version\n"; } else { die "Cannot use internal module data to gather the " . "version; use --cpan or --version\n"; } } } $self->perlname($name); $self->version($ver); $self->set_package_name; if ( defined($vfrom) ) { $self->extract_desc("$dir/$vfrom"); $self->extract_basic_copyright("$dir/$vfrom"); } } sub extract_name_ver_from_makefile { my ( $self, $makefile ) = @_; my ( $file, $name, $ver, $vfrom, $dir ); { local $/ = undef; my $fh = $self->_file_r($makefile); $file = $fh->getline; } # Get the name if ($file =~ /([\'\"]?) DISTNAME\1\s* (=>|,) \s* (\S+)/xs ) { # Regular MakeMaker $name = $self->unquote($3); } elsif ( $file =~ /([\'\"]?) NAME\1\s* (=>|,) \s* (\S+)\s*,?/xs ) { # Regular MakeMaker $name = $self->unquote($3); } elsif ( $file =~ m{ name \s* (\S+) # Quoted name \s*; }xs ) { # Module::Install syntax $name = $self->unquote($1); } $name =~ s/,.*$//; # band aid: need to find a solution also for build in directories # warn "name is $name (cpan name: $self->cfg->cpan)\n"; $name = $self->cfg->cpan if ( $name eq '__PACKAGE__' && $self->cfg->cpan ); $name = $self->cfg->cpanplus if ( $name eq '__PACKAGE__' && $self->cfg->cpanplus ); # Get the version if ( defined $self->cfg->version ) { # Explicitly specified $ver = $self->cfg->version; } elsif ( $file =~ /([\'\"]?)\bVERSION\1\s*(=>|,)\s*([\'\"]?)([^\s,]*)\3/s ) { # Regular MakeMaker $ver = $4; # Where is the version taken from? $vfrom = $4 if $file =~ /([\'\"]?)VERSION_FROM\1\s*(=>|,)\s*([\'\"]?)([^\s,]*)\3/s; } elsif ( $file =~ /([\'\"]?)VERSION_FROM\1\s*(=>|,)\s*([\'\"]?)([^\s,]*)\3/s ) { # Regular MakeMaker pointing to where the version is taken from $vfrom = $4; } elsif ( $file =~ m{ \bversion\b\s* # The word version \(?\s* # Optional open-parens (['"]?) # Optional quotes ([\d_.]+) # The actual version. \1 # Optional close-quotes \s*\)? # Optional close-parenthesis. }sx ) { # Module::Install $ver = $2; } $dir = dirname($makefile) || './'; for ( ( $name, $ver ) ) { next unless defined; next unless /^\$/; # decode simple vars s/(\$\w+).*/$1/; if ( $file =~ /\Q$_\E\s*=\s*([\'\"]?)(\S+)\1\s*;/ ) { $_ = $2; } } unless ( defined $ver ) { local $/ = "\n"; # apply the method used by makemaker if ( defined $dir and defined $vfrom and -f "$dir/$vfrom" and -r "$dir/$vfrom" ) { my $fh = $self->_file_r("$dir/$vfrom"); while ( my $lin = $fh->getline ) { if ( $lin =~ /([\$*])(([\w\:\']*)\bVERSION)\b.*\=/ ) { no strict; #warn "ver: $lin"; $ver = ( eval $lin )[0]; last; } } $fh->close; } else { if ( $self->mod_cpan_version ) { $ver = $self->mod_cpan_version; warn "Cannot use internal module data to gather the " . "version; using cpan_version\n"; } else { die "Cannot use internal module data to gather the " . "version; use --cpan or --version\n"; } } } $self->perlname($name); $self->version($ver); $self->set_package_name; if ( defined($vfrom) ) { $self->extract_desc("$dir/$vfrom"); $self->extract_basic_copyright("$dir/$vfrom"); } } sub extract_desc { my ( $self, $file ) = @_; my $bin = $self->control->binary_tie->Values(0); my $desc = $bin->short_description; $desc and return; return unless -f $file; my ( $parser, $modulename ); $parser = new DhMakePerl::PodParser; $parser->set_names(qw(NAME DESCRIPTION DETAILS)); $parser->parse_from_file($file); if ( $desc ) { # No-op - We already have it, probably from the command line } elsif ( $self->meta->{abstract} ) { # Get it from META.yml $desc = $self->meta->{abstract}; } elsif ( my $my_desc = $parser->get('NAME') ) { # Parse it, fix it, send it! $my_desc =~ s/^\s*\S+\s+-\s+//s; $my_desc =~ s/^\s+//s; $my_desc =~ s/\s+$//s; $my_desc =~ s/^([^\s])/ $1/mg; $my_desc =~ s/\n.*$//s; $desc = $my_desc; } if ( defined($desc) ) { # Replace linefeed (not followed by a space) in short description with # spaces $desc =~ s/\n(?=\S)/ /gs; $desc =~ s/^\s+//; # strip leading spaces } # have a fall-back for the short description $desc ||= '(no short description found)'; $bin->short_description($desc); my $long_desc; unless ( $bin->long_description ) { $long_desc = $parser->get('DESCRIPTION') || $parser->get('DETAILS') || ''; ( $modulename = $self->perlname ) =~ s/-/::/g; $long_desc =~ s/This module/$modulename/; $long_desc =~ s/This library/$modulename/; local ($Text::Wrap::columns) = 78; $long_desc = fill( "", "", $long_desc ); } if ( defined($long_desc) ) { $long_desc =~ s/^[\s\n]+//s; $long_desc =~ s/\s+$//s; $long_desc =~ s/^\t/ /mg; $long_desc =~ s/\r//g; $long_desc = '(no description was found)' if $long_desc eq ''; $bin->long_description( "$long_desc\n\nThis description was automagically extracted from the module by dh-make-perl.\n" ); } $parser->cleanup; } sub check_for_xs { my ($self) = @_; # we need the relative path here. Otherwise the check will give bogus # results if the working dir matches the pattern my $rel_path = substr( $File::Find::name, length( $self->main_dir ) ); ( $rel_path !~ m{/(?:examples?|samples|eg|t|docs|win32?|demos?)/} ) and ( !$self->cfg->exclude or $rel_path !~ $self->cfg->exclude ) && /\.(xs|c|cpp|cxx)$/i && do { $self->control->binary_tie->Values(0)->Architecture('any'); }; } sub extract_basic_copyright { my ( $self, $file ) = @_; for my $f ( map( $self->main_file($_), qw(LICENSE LICENCE COPYING) ) ) { if ( -f $f ) { my $fh = $self->_file_r($f); $self->copyright( join( '', $fh->getlines ) ); } } if ( defined($file) ) { my ( $parser, $modulename ); $parser = new DhMakePerl::PodParser; return unless -f $file; $parser->set_names(qw(COPYRIGHT AUTHOR AUTHORS)); $parser->parse_from_file($file); $self->copyright( $parser->get('COPYRIGHT') || $parser->get('LICENSE') || $parser->get('COPYRIGHT & LICENSE') ) unless $self->copyright; if ( !$self->author ) { if ( ref $self->meta->{author} ) { # Does the author information appear in META.yml? $self->author( join( ', ', @{ $self->meta->{author} } ) ); } else { # Get it from the POD - and clean up # trailing/preceding spaces! my $a = $parser->get('AUTHOR') || $parser->get('AUTHORS'); $a =~ s/^\s*(\S.*\S)\s*$/$1/gs if $a; $self->author($a); } } $parser->cleanup; } } sub extract_docs { my ( $self ) = @_; my $dir = $self->main_dir; $dir .= '/' unless $dir =~ m(/$); find( { preprocess => sub { my $bn = basename $File::Find::dir; return () if $bn eq '.svn-base' or $bn eq '.svn' or $bn eq '.git'; return @_; }, wanted => sub { push( @{ $self->docs }, substr( $File::Find::name, length($dir) ) ) if ( $File::Find::name ne $self->main_dir . '/README' and /^\b(README|TODO|BUGS|NEWS|ANNOUNCE)\b/i and !/\.(pod|pm)$/ and ( !$self->cfg->exclude or $File::Find::name !~ $self->cfg->exclude ) and !/\.svn-base$/ and $File::Find::name !~ m{debian/README\.(?:source|[Dd]ebian)} ); }, }, $dir ); } sub extract_examples { my ( $self ) = @_; my $dir = $self->main_dir; $dir .= '/' unless $dir =~ m{/$}; find( sub { return if $_ eq '.'; # skip the directory itself my $exampleguess = substr( $File::Find::name, length($dir) ); push( @{ $self->examples }, ( -d $exampleguess ? $exampleguess . '/*' : $exampleguess ) ) if ( /^(examples?|eg|samples?)$/i and ( !$self->cfg->exclude or $File::Find::name !~ $self->cfg->exclude ) ); }, $dir ); } sub read_rules { my $self = shift; return if $self->rules; my $file = $self->debian_file('rules'); $self->rules( Debian::Rules->new($file) ); } sub create_rules { my ( $self ) = @_; my $file = $self->debian_file('rules'); $self->rules( Debian::Rules->new($file) ); if ( $self->rules->is_dh7tiny ) { print "$file already uses DH7 tiny rules\n" if $self->cfg->verbose; return; } $self->backup_file($file); my $rulesname = 'rules.dh7.tiny'; for my $source ( catfile( $self->cfg->home_dir, $rulesname ), catfile( $self->cfg->data_dir, $rulesname ) ) { if ( -e $source ) { print "Using rules: $source\n" if $self->cfg->verbose; $self->rules->read($source); last; }; } $self->rules->write; chmod( 0755, $file ) or die "chmod($file): $!"; } sub create_compat { my ( $self, $file ) = @_; my $fh = $self->_file_w($file); $fh->print( $self->cfg->dh, "\n" ); $fh->close; } sub update_file_list( $ % ) { my ( $self, %p ) = @_; my $pkgname = $self->pkgname; while ( my ( $file, $new_content ) = each %p ) { next unless @$new_content; # pkgname.foo file my $pkg_file = $self->debian_file("$pkgname.$file"); my %uniq_content; my @existing_content; # if a package.foo exists read its values first if ( -r $pkg_file ) { my $fh = $self->_file_r($pkg_file); @existing_content = $fh->getlines; chomp(@existing_content); # make list of files for package.foo unique $uniq_content{$_} = 1 for @existing_content; } $uniq_content{$_} = 1 for @$new_content; # write package.foo file with unique entries open F, '>', $pkg_file or die $!; for ( @existing_content, @$new_content ) { # we have the unique hash # we delete from it each printed line # so if a line is not in the hash, this means we have already # printed it next unless exists $uniq_content{$_}; delete $uniq_content{$_}; print F "$_\n"; } close F; } } sub create_copyright { my ( $self, $filename ) = @_; my ( $fh, %fields, @res, @incomplete, $year ); $fh = $self->_file_w($filename); # In case author string spawns more than one line, indent them all. my $cprt_author = $self->author || '(information incomplete)'; $cprt_author =~ s/\n/\n /gs; $cprt_author =~ s/^\s*$/ ./gm; push @res, 'Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/'; # Header section %fields = ( 'Upstream-Name' => $self->perlname, 'Upstream-Contact' => $cprt_author, 'Source' => $self->upsurl ); for my $key ( sort keys %fields ) { my $full = "$key"; if ( $fields{$key} ) { push @res, "$full: $fields{$key}"; } else { push @incomplete, "Could not get the information for $full"; } } push( @res, "DISCLAIMER: This copyright info was automatically extracted ", " from the perl module. It may not be accurate, so you better ", " check the module sources in order to ensure the module for its ", " inclusion in Debian or for general legal information. Please, ", " if licensing information is incorrectly generated, file a bug ", " on dh-make-perl.", " NOTE: Don't forget to remove this disclaimer once you are happy", " with this file." ); push @res, ''; # Files section - We cannot "parse" the module's licensing # information for anything besides general information. push @res, 'Files: *'; # Absence of author should have already been reported in the # Header section push @res, "Copyright: $cprt_author"; # This is far from foolproof, but usually works with most # boilerplate-generated modules. # # We go over the most common combinations only my ( %texts, %licenses ); %texts = ( 'Artistic' => " This program is free software; you can redistribute it and/or modify\n" . " it under the terms of the Artistic License, which comes with Perl.\n" . " .\n" . " On Debian systems, the complete text of the Artistic License can be\n" . " found in `/usr/share/common-licenses/Artistic'.", 'Artistic-2.0' => do { require Software::License::Artistic_2_0; my $artistic2 = Software::License::Artistic_2_0->new( { holder => 'noname', } ); my $text = $artistic2->license; $text =~ s/\n$//s; $text =~ s/^\n/.\n/mg; $text =~ s/^/ /mg; $text; }, 'GPL-1+' => " This program is free software; you can redistribute it and/or modify\n" . " it under the terms of the GNU General Public License as published by\n" . " the Free Software Foundation; either version 1, or (at your option)\n" . " any later version.\n" . " .\n" . " On Debian systems, the complete text of version 1 of the GNU General\n" . " Public License can be found in `/usr/share/common-licenses/GPL-1'.", 'GPL-2' => " This program is free software; you can redistribute it and/or modify\n" . " it under the terms of the GNU General Public License as published by\n" . " the Free Software Foundation; version 2 dated June, 1991.\n" . " .\n" . " On Debian systems, the complete text of version 2 of the GNU General\n" . " Public License can be found in `/usr/share/common-licenses/GPL-2'.", 'GPL-2+' => " This program is free software; you can redistribute it and/or modify\n" . " it under the terms of the GNU General Public License as published by\n" . " the Free Software Foundation; version 2 dated June, 1991, or (at your\n" . " option) any later version.\n" . " .\n" . " On Debian systems, the complete text of version 2 of the GNU General\n" . " Public License can be found in `/usr/share/common-licenses/GPL-2'.", 'GPL-3' => " This program is free software; you can redistribute it and/or modify\n" . " it under the terms of the GNU General Public License as published by\n" . " the Free Software Foundation; version 3 dated June, 2007.\n" . " .\n" . " On Debian systems, the complete text of version 3 of the GNU General\n" . " Public License can be found in `/usr/share/common-licenses/GPL-3'.", 'GPL-3+' => " This program is free software; you can redistribute it and/or modify\n" . " it under the terms of the GNU General Public License as published by\n" . " the Free Software Foundation; version 3 dated June, 2007, or (at your\n" . " option) any later version.\n" . " .\n" . " On Debian systems, the complete text of version 3 of the GNU General\n" . " Public License can be found in `/usr/share/common-licenses/GPL-3'.", 'Apache-2.0' => " Licensed under the Apache License, Version 2.0 (the \"License\");\n" . " you may not use this file except in compliance with the License.\n" . " You may obtain a copy of the License at\n" . " http://www.apache.org/licenses/LICENSE-2.0\n" . " Unless required by applicable law or agreed to in writing, software\n" . " distributed under the License is distributed on an \"AS IS\" BASIS,\n" . " WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n" . " See the License for the specific language governing permissions and\n" . " limitations under the License.\n" . " .\n" . " On Debian systems, the complete text of the Apache License,\n" . " Version 2.0 can be found in `/usr/share/common-licenses/Apache-2.0'.", 'unparsable' => " No known license could be automatically determined for this module.\n" . " If this module conforms to a commonly used license, please report this\n" . " as a bug in dh-make-perl. In any case, please find the proper license\n" . " and fix this file!" ); if ( $self->meta->{license} or $self->copyright ) { my $mangle_cprt; # Pre-mangle the copyright information for the common similar cases $mangle_cprt = $self->copyright || ''; # avoid warning $mangle_cprt =~ s/GENERAL PUBLIC LICENSE/GPL/g; # Of course, more licenses (i.e. LGPL, BSD-like, Public # Domain, etc.) could be added... Feel free to do so. Keep in # mind that many licenses are not meant to be used as # templates (i.e. you must add the author name and some # information within the licensing text as such). if ( $self->meta->{license} ) { foreach ( @{ $self->meta->{license} } ) { if (/apache_2_0/) { $licenses{'Apache-2.0'} = 1; next; } if (/artistic_1/) { $licenses{'Artistic'} = 1; next; } if (/artistic_2/) { $licenses{'Artistic-2.0'} = 1; next; } # EU::MM and M::B converts the 'gpl' without a version to gpl_1. # As GPL without a version means *any* GPL, I think it's safe to use GPL-1+ here if (/gpl_1/) { $licenses{'GPL-1+'} = 1; next; } if (/perl_5/) { $licenses{'GPL-1+'} = 1; $licenses{'Artistic'} = 1; next; } } } else { if ( $mangle_cprt =~ /terms\s*as\s*Perl\s*itself/is ) { $licenses{'GPL-1+'} = 1; $licenses{'Artistic'} = 1; } if ( $mangle_cprt =~ /[^L]GPL/ ) { if ( $mangle_cprt =~ /GPL.*version\s*1.*later\s+version/is ) { $licenses{'GPL-1+'} = 1; } elsif ( $mangle_cprt =~ /GPL.*version\s*2.*later\s+version/is ) { $licenses{'GPL-2+'} = 1; } elsif ( $mangle_cprt =~ /GPL.*version\s*2/is ) { $licenses{'GPL-2'} = 1; } elsif ( $mangle_cprt =~ /GPL.*version\s*3.*later\s+version/is ) { $licenses{'GPL-3+'} = 1; } elsif ( $mangle_cprt =~ /GPL.*version\s*3/is ) { $licenses{'GPL-3'} = 1; } } if ( $mangle_cprt =~ /Artistic\s*License\s*2\.0/is ) { $licenses{'Artistic-2.0'} = 1; } elsif ( $mangle_cprt =~ /Artistic\s*License/is ) { $licenses{'Artistic'} = 1; } if ( $mangle_cprt =~ /Apache\s*License.*2\.0/is ) { $licenses{'Apache-2.0'} = 1; } # Other licenses? if ( !keys(%licenses) ) { $licenses{unparsable} = 1; push( @incomplete, "Licensing information is present, but cannot be parsed" ); } } push @res, "License: " . join( ' or ', sort keys %licenses ); } else { push @res, "License: "; push @incomplete, 'No licensing information found'; } # debian/* files information - We default to the module being # licensed as the super-set of the module and Perl itself. $licenses{'Artistic'} = $licenses{'GPL-1+'} = 1; $year = (localtime)[5] + 1900; push( @res, "", "Files: debian/*" ); if ( $self->cfg->command eq 'refresh' ) { my @from_changelog = $self->copyright_from_changelog( $self->get_developer, $year ); $from_changelog[0] = "Copyright:" . $from_changelog[0]; push @res, @from_changelog; } else { push @res, "Copyright: $year, " . $self->get_developer; } push @res, "License: " . join( ' or ', sort keys %licenses ); map { $texts{$_} && push( @res, '', "License: $_", $texts{$_} ) } sort keys %licenses; $fh->print( join( "\n", @res, '' ) ); $fh->close; $self->_warn_incomplete_copyright( join( "\n", @incomplete ) ) if @incomplete; } sub upsurl { my $self = shift; return sprintf( "https://metacpan.org/release/%s", $self->perlname ); } my $ACTUAL_NAME_RE = '\pL[\s\pL\-\'\.]*\pL'; # See http://www.faqs.org/rfcs/rfc2822.html # Section 3.4.1 use Email::Address; my $EMAIL_RE = $Email::Address::addr_spec; my $EMAIL_CHANGES_RE = qr{ ^ # beginining of line \s+\*\s # item marker Email\schange:\s # email change token ($ACTUAL_NAME_RE) # actual name \s+->\s+ # gap between name and email ($EMAIL_RE) # email address $ # end of line }xms; my $PERSON_PARSE_RE = qr{ \A # beginining of string ($ACTUAL_NAME_RE) # actual name \s # gap \<$EMAIL_RE\> # logged email \z # end of string }xms; # This is what needs fixing. sub copyright_from_changelog { my ( $self, $firstmaint, $firstyear ) = @_; my %maintainers = (); @{ $maintainers{$firstmaint} } = ($firstyear); my $chglog = Parse::DebianChangelog->init( { infile => $self->debian_file('changelog') } ); my %email_changes = (); foreach ( $chglog->data() ) { my $person = $_->Maintainer; my $date = $_->Date; my @date_pieces = split( " ", $date ); my $year = $date_pieces[3]; if (my %changes = ($_->Changes =~ m/$EMAIL_CHANGES_RE/xmsg)) { # This way round since we are going backward in time thru changelog foreach my $p (keys %changes) { $changes{$p} =~ s{[\s\n]+$}{}xms; } %email_changes = ( %changes, %email_changes ); } if (my ($name) = ($person =~ $PERSON_PARSE_RE)) { if (exists $email_changes{$name}) { $person = "$name <$email_changes{$name}>"; } } if ( defined( $maintainers{$person} ) ) { push @{ $maintainers{$person} }, $year; @{ $maintainers{$person} } = sort( @{ $maintainers{$person} } ); } else { @{ $maintainers{$person} } = ($year); } } my @strings; foreach my $maint_name ( keys %maintainers ) { my $str = " "; my %uniq = map { $_ => 0 } @{ $maintainers{$maint_name} }; foreach ( sort keys %uniq ) { $str .= $_; $str .= ", "; } $str .= $maint_name; push @strings, $str; } @strings = sort @strings; return @strings; } sub _warn_incomplete_copyright { my $self = shift; print '*' x 10, ' Copyright information incomplete! Upstream copyright information could not be automatically determined. If you are building this package for your personal use, you might disregard this information; however, if you intend to upload this package to Debian (or in general, if you plan on distributing it), you must look into the complete copyright information. The causes for this warning are: ', @_, "\n"; } sub write_source_format { my ( $self, $path ) = @_; my ( $vol, $dir, $file ) = splitpath($path); $dir = catpath( $vol, $dir ); if ( $self->cfg->source_format eq '1.0' ) { # this is the default, remove debian/source File::Path::rmtree($dir); } else { # make sure the directory exists File::Path::mkpath($dir) unless -d $dir; my $fh = $self->_file_w($path); $fh->print( $self->cfg->source_format, "\n" ); $fh->close; } } sub module_build { my $self = shift; # dehbelper prefers Makefile.PL over Build.PL unless the former is a # Module::Build::Compat wrapper return 'Module-Build' if $self->makefile_pl_is_MBC; return 'MakeMaker' if -e $self->makefile_pl; return ( -f $self->main_file('Build.PL') ) ? "Module-Build" : "MakeMaker"; } =item explained_dependency I<$reason>, I<$dependencies>, I<@dependencies> Adds the list of dependencies to I<$dependencies> and shows I<$reason> if in verbose mode. Used to both bump a dependency and tell the user why. I<$dependencies> is an instance of L class, and I<@dependencies> is a list of L instances or strings. The message printed looks like C<< $reason needs @dependencies >>. =cut sub explained_dependency { my ( $self, $reason, $deps, @to_add ) = @_; $deps->add(@to_add); warn sprintf( "%s needs %s\n", $reason, join( ', ', @to_add ) ); } =item configure_cpan Configure CPAN module. It is safe to call this method more than once, it will do nothing if CPAN is already configured. =cut sub configure_cpan { my $self = shift; return if $CPAN::Config_loaded; my $save_cwd = getcwd(); CPAN::HandleConfig->load( be_silent => not $self->cfg->verbose ) if $self->cfg->network; unshift( @{ $CPAN::Config->{'urllist'} }, $self->cfg->cpan_mirror ) if $self->cfg->cpan_mirror; $CPAN::Config->{'tar_verbosity'} = $self->cfg->verbose ? 'v' : ''; $CPAN::Config->{'load_module_verbosity'} = $self->cfg->verbose ? 'verbose' : 'silent'; $CPAN::Config->{build_requires_install_policy} = 'no'; $CPAN::Config->{prerequisites_policy} = 'ignore'; chdir $save_cwd; } =item discover_dependencies Just a wrapper around $self->control->discover_dependencies which provides the right parameters to it. Returns a list of missing modules. =cut sub discover_dependencies { my $self = shift; if ( my $apt_contents = $self->get_apt_contents ) { my $wnpp_query; $wnpp_query = Debian::WNPP::Query->new( { cache_file => catfile( $self->cfg->home_dir, 'wnpp.cache' ) } ) if $self->cfg->network; # control->discover_dependencies needs configured CPAN $self->configure_cpan; return $self->control->discover_dependencies( { dir => $self->main_dir, verbose => $self->cfg->verbose, apt_contents => $self->apt_contents, require_deps => $self->cfg->requiredeps, wnpp_query => $wnpp_query, intrusive => $self->cfg->intrusive, } ); } else { warn "No APT contents can be loaded.\n"; warn "Please install 'apt-file' package (at least version 2.5.0) and\n"; warn "run 'apt-file update' as root.\n"; warn "Dependencies not updated.\n"; return (); } } =item discover_utility_deps Determines whether a certain version of L or L is needed by the build process. The following special cases are detected: =over =item Module::AutoInstall If L is discovered in L, debhelper dependency is raised to 7.2.13. =item Module::Build::Tiny if L is present in the build-dependencies, debhelper dependency is raised to 9.20130630. =item dh --with=quilt C needs debhelper 7.0.8 and quilt 0.46-7. =item dh --with=bash-completion C needs debhelper 7.0.8 and bash-completion 1:1.0-3. =item dh --with=perl_dbi C needs debhelper 7.0.8 and libdbi-perl 1.612. =item dh --buildsystem=buildsystem C needs debhelper 7.3.7. =item quilt.make If F is included in F, a build-dependency on C is added. =item debhelper override targets Targets named C are supported by debhelper since 7.0.50 =item Makefile.PL created by Module::Build::Compat Building such packages requires debhelper 7.0.17 (see L) =back =item Module::Build The proper build-dependency in this case is perl The on perl without a version is set as Lenny has already 5.10 which includes first Module::Build. =back =cut sub discover_utility_deps { my ( $self, $control ) = @_; my $deps = $control->source->Build_Depends; # remove any existing dependencies $deps->remove( 'quilt', 'debhelper' ); # start with the minimum my $debhelper_version = $self->cfg->dh; $debhelper_version = '9.20120312' if $debhelper_version eq '9'; $deps->add( Debian::Dependency->new( 'debhelper', $debhelper_version ) ); if ( $control->binary_tie->Values(0)->Architecture eq 'all' ) { $control->source->Build_Depends_Indep->add('perl'); } else { $deps->add('perl'); } $self->explained_dependency( 'Module::AutoInstall', $deps, 'debhelper (>= 7.2.13)' ) if -e catfile( $self->main_dir, qw( inc Module AutoInstall.pm ) ); $self->explained_dependency( 'Module::Build::Tiny', $deps, 'debhelper (>= 9.20130630)' ) if $deps->has('libmodule-build-tiny-perl'); for ( @{ $self->rules->lines } ) { $self->explained_dependency( 'dh --with', $deps, 'debhelper (>= 7.0.8)' ) if /dh\s+.*--with/; $self->explained_dependency( 'dh --with=quilt', $deps, 'quilt (>= 0.46-7)', ) if /dh\s+.*--with[= ]quilt/; $self->explained_dependency( 'dh --with=bash-completion', $deps, 'bash-completion (>= 1:1.0-3)' ) if (/dh\s+.*--with[= ]bash[-_]completion/); $self->explained_dependency( 'dh --with=perl_dbi', $deps, 'libdbi-perl (>= 1.612)' ) if (/dh\s+.*--with[= ]perl[-_]dbi/); $self->explained_dependency( 'override_dh_* target', $deps, 'debhelper (>= 7.0.50)' ) if /^override_dh_/; $self->explained_dependency( 'quilt.make', $deps, 'quilt' ) if m{^include /usr/share/quilt/quilt.make}; $self->explained_dependency( 'dh* --max-parallel', $deps, 'debhelper (>= 7.4.4)' ) if /dh.* --max-parallel/; # Modular --buildsystem support for debhelper needs 7.3.7. $self->explained_dependency( 'dh* --buildsystem', $deps, 'debhelper (>= 7.3.7)' ) if /dh.* --buildsystem/; } if ( -e $self->main_file('Makefile.PL') and -e $self->main_file('Build.PL') ) { $self->explained_dependency( 'Compatibility Makefile.PL', $deps, 'debhelper (>= 7.0.17)', 'perl' ) if $self->makefile_pl_is_MBC; } # there are old packages that still build-depend on libmodule-build-perl # or perl (>= 5.10) | libmodule-build-perl. # Since M::B is part of perl 5.10, the build-dependency needs correction # and we replace this Build-Depends with simply perl, as lenny has the # required version. # Remove perl from Build-Depends-Indep as then perl will be already in # Build-Depends. if ( $self->module_build eq 'Module-Build' ) { $deps->remove('perl (>= 5.10) | libmodule-build-perl'); $deps->remove('libmodule-build-perl'); $control->source->Build_Depends_Indep->remove('perl'); $self->explained_dependency( 'Module::Build', $deps, 'perl' ); } # some mandatory dependencies my $bin_deps = $control->binary_tie->Values(0)->Depends; $bin_deps += '${shlibs:Depends}' if $self->control->binary_tie->Values(0)->Architecture eq 'any'; $bin_deps += '${misc:Depends}, ${perl:Depends}'; } =item makefile_pl_is_MBC Checks if F is a compatibility wrapper around Build.PL provided by Module::Build::Compat. =cut sub makefile_pl_is_MBC { my $self = shift; my $mf = $self->makefile_pl; return undef unless -e $mf; my $fh = $self->_file_r($mf); while( defined( $_ = <$fh> ) ) { if ( /^[^#"]*Module::Build::Compat/ ) { return 1; } } return 0; } =item backup_file(file_name) Creates a backup copy of the specified file by adding C<.bak> to its name. If the backup already exists, it is overwritten. Does nothing unless the C option is set. =cut sub backup_file { my( $self, $file ) = @_; if ( $self->cfg->backups ) { warn "W: overwriting $file.bak\n" if -e "$file.bak" and $self->cfg->verbose; rename( $file, "$file.bak" ); } } =item unquote(I) Runs its argument through L's C method and returns the extracted content with quotes removed. Dies if C can't find quoted string. =cut sub unquote { my ( $self, $input ) = @_; my $unquoted = (extract_quotelike($input))[5]; die "Unable to find quoted string in [$input]" unless defined $unquoted; return $unquoted; } =back =cut sub _file_r { my ( $self, $filename ) = @_; my $fh = IO::File->new( $filename, 'r' ) or die "Cannot open $filename: $!\n"; return $fh; } sub _file_w { my ( $self, $filename ) = @_; my $fh = IO::File->new( $filename, 'w' ) or die "Cannot open $filename: $!\n"; return $fh; } =head1 COPYRIGHT & LICENSE =over 4 =item Copyright (C) 2000, 2001 Paolo Molaro =item Copyright (C) 2002, 2003, 2008 Ivan Kohler =item Copyright (C) 2003, 2004 Marc 'HE' Brockschmidt =item Copyright (C) 2005-2007 Gunnar Wolf =item Copyright (C) 2006 Frank Lichtenheld =item Copyright (C) 2007-2013 Gregor Herrmann =item Copyright (C) 2007,2008,2009,2010,2012,2013 Damyan Ivanov =item Copyright (C) 2008, Roberto C. Sanchez =item Copyright (C) 2009-2011, Salvatore Bonaccorso =item Copyright (C) 2011, Nicholas Bamber =back This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. =cut 1; make.pm000444001750001750 6133712234004042 17554 0ustar00damdam000000000000DhMakePerl-0.80/lib/DhMakePerl/Commandpackage DhMakePerl::Command::make; use warnings; use strict; our $VERSION = '0.77'; use 5.010; # we use smart matching use base 'DhMakePerl::Command::Packaging'; __PACKAGE__->mk_accessors( qw( cfg apt_contents main_dir debian_dir meta start_dir perlname version pkgversion copyright author extrasfields extrapfields docs examples ) ); =head1 NAME DhMakePerl::Command::make - implementation of 'dh-make-perl make' =cut =head1 SYNOPSIS TO BE FILLED use DhMakePerl; my $foo = DhMakePerl->new(); ... =head1 METHODS =over =cut use AptPkg::Cache (); use CPAN (); use Debian::Dependencies (); use Debian::Dependency (); use Debian::WNPP::Query; use DhMakePerl::Utils qw( find_cpan_module find_cpan_distribution is_core_module ); use Email::Date::Format qw(email_date); use File::Basename qw( basename dirname ); use File::Copy qw( copy move ); use File::Path (); use File::Spec::Functions qw( catdir catfile updir ); use Module::Depends (); use Module::Build::ModuleInfo; use Text::Wrap qw( wrap ); sub check_deprecated_overrides { my $self = shift; my $overrides = catfile( $self->cfg->data_dir, 'overrides' ); if ( -e $overrides ) { warn "*** deprecated overrides file ignored\n"; warn "***\n"; warn "*** Overrides mechanism is deprecated in dh-make-perl 0.65\n"; warn "*** You may want to remove $overrides\n"; } } sub execute { my ( $self, $already_done ) = @_; die "CPANPLUS support disabled, sorry" if $self->cfg->cpanplus; $self->check_deprecated_overrides; my $tarball = $self->setup_dir(); $self->process_meta; $self->findbin_fix(); $self->extract_basic(); $tarball //= $self->guess_tarball if $self->cfg->{vcs} eq 'git'; unless ( defined $self->cfg->version ) { $self->pkgversion( $self->version . '-1' ); } else { $self->pkgversion( $self->cfg->version ); } $self->fill_maintainer; my $bin = $self->control->binary_tie->Values(0); $bin->short_description( $self->cfg->desc ) if $self->cfg->desc; if ( $tarball and $tarball =~ /(?:\.tar\.gz|\.tgz)$/ ) { my $dest = sprintf( "%s/%s_%s.orig.tar.gz", dirname($tarball), $self->pkgname, $self->version ); move( $tarball, $dest ) or die "move($tarball, $dest): $!"; $tarball = $dest; } # Here I init the git repo. If the upstream has a debian/ directory, this is # removed in a separate git commit $self->git_import_upstream__init_debian if $self->cfg->{vcs} eq 'git'; # if the upstream has a debian/ directory, rename it to debian.bak so that # dh-make-perl can create its own debian/ directory. If we're creating a git # repo, the original debian/ directory was already dealt with by # git_import_upstream__init_debian() if ( -d $self->debian_dir ) { $self->warning( $self->debian_dir . ' already exists' ); my $bak = $self->debian_dir . '.bak'; $self->warning( "moving to $bak" ); if ( -d $bak ) { $self->warning("overwriting existing $bak"); File::Path::rmtree($bak); } rename $self->debian_dir, $bak or die $!; } my $apt_contents = $self->get_apt_contents; my $src = $self->control->source; my @missing = $self->discover_dependencies; $bin->Depends->add( $self->cfg->depends ) if $self->cfg->depends; $src->Build_Depends->add( $self->cfg->bdepends ) if $self->cfg->bdepends; $src->Build_Depends_Indep->add( $self->cfg->bdependsi ) if $self->cfg->bdependsi; $self->extract_docs; $self->extract_examples; die "Cannot find a description for the package: use the --desc switch\n" unless $bin->short_description; print "Package does not provide a long description - ", " Please fill it in manually.\n" if ( !defined $bin->long_description or $bin->long_description =~ /^\s*\.?\s*$/ ) and $self->cfg->verbose; printf( "Using maintainer: %s\n", $src->Maintainer ) if $self->cfg->verbose; print "Found docs: @{ $self->docs }\n" if $self->cfg->verbose; print "Found examples: @{ $self->examples }\n" if @{ $self->examples } and $self->cfg->verbose; # start writing out the data mkdir( $self->debian_dir, 0755 ) || die "Cannot create " . $self->debian_dir . " dir: $!\n"; $self->write_source_format( catfile( $self->debian_dir, 'source', 'format' ) ); $self->create_changelog( $self->debian_file('changelog'), $self->cfg->closes // $self->get_wnpp( $self->pkgname ) ); $self->create_rules; # now that rules are there, see if we need some dependency for them $self->discover_utility_deps( $self->control ); $self->control->prune_perl_deps; $self->prune_deps; $src->Standards_Version( $self->debstdversion ); $src->Homepage( $self->upsurl ); if ( $self->cfg->pkg_perl ) { my $vcs = lc( $self->cfg->vcs ); if ( $vcs eq 'svn' ) { $self->control->source->Vcs_Svn( sprintf( "svn://svn.debian.org/pkg-perl/trunk/%s/", $self->pkgname ) ); $self->control->source->Vcs_Browser( sprintf( "http://anonscm.debian.org/viewvc/pkg-perl/trunk/%s/", $self->pkgname ) ); } elsif ( $vcs eq 'git' ) { $self->control->source->Vcs_Git( sprintf( "git://anonscm.debian.org/pkg-perl/packages/%s.git", $self->pkgname ) ); $self->control->source->Vcs_Browser( sprintf( "http://anonscm.debian.org/gitweb/?p=pkg-perl/packages/%s.git", $self->pkgname ) ); } else { warn "Version control system '$vcs' not known. Please submit a patch :)\n"; } } $self->control->write( $self->debian_file('control') ); $self->create_compat( $self->debian_file('compat') ); $self->create_watch( $self->debian_file('watch') ); #create_readme("$debiandir/README.Debian"); $self->create_copyright( $self->debian_file('copyright') ); $self->update_file_list( docs => $self->docs, examples => $self->examples ); if ( $self->cfg->recursive ) { $already_done //= {}; my $mod_name = $self->perlname; $mod_name =~ s/-/::/g; $already_done->{$mod_name} = 1; for my $m (@missing) { next if exists $already_done->{$m}; if ( $self->cfg->verbose ) { print "\n"; print "==================================\n"; print " recursively building $m\n"; print "==================================\n"; } my $new_cfg = DhMakePerl::Config->new( { %{ $self->cfg }, cpan => $m, } ); my $maker = $self->new( { cfg => $new_cfg } ); $maker->execute($already_done) } } $self->git_add_debian($tarball) if $self->cfg->{vcs} eq 'git'; $self->build_source_package if $self->cfg->build_source; $self->build_package if $self->cfg->build or $self->cfg->install; $self->install_package if $self->cfg->install; print "--- Done\n" if $self->cfg->verbose; $self->package_already_exists($apt_contents) or $self->modules_already_packaged($apt_contents); # explicitly call Debian::Rules destroy # this is needed because after the rename the object's # destroy method would update a file on a stale path $self->rules( undef ); $self->rename_to_debian_package_dir; return(0); } sub guess_tarball { my $self = shift; my $try = catfile( $self->main_dir, '..', $self->control->source->Source . '_' . $self->version . '.orig.tar.gz' ); print "Trying $try..."; if ( -f $try ) { print " found!\n"; return $try; } else { print " not found.\n"; return undef; } } sub setup_dir { my ($self) = @_; my ( $tarball ); if ( $self->cfg->cpan ) { my ( $new_maindir, $orig_pwd, $mod, $dist ); # CPAN::Distribution::get() sets $ENV{'PWD'} to $CPAN::Config->{build_dir} # so we have to save it here $orig_pwd = $ENV{'PWD'}; # Is the module a core module? if ( is_core_module( $self->cfg->cpan ) ) { die $self->cfg->cpan . " is a standard module. Will not build without --core-ok.\n" unless $self->cfg->core_ok; } $self->configure_cpan; if ( $mod = find_cpan_module( $self->cfg->cpan ) ) { $self->mod_cpan_version( $mod->cpan_version ); $dist = $CPAN::META->instance( 'CPAN::Distribution', $mod->cpan_file ); } elsif ( $dist = find_cpan_distribution( $self->cfg->cpan ) ) { my $ver; if ( $dist->base_id =~ /-v?(\d[\d._]*)\./ ) { $self->mod_cpan_version($1); } else { die "Unable to determine the version of " . $dist->base_id . "\n"; } } else { die "Can't find '" . $self->cfg->cpan . "' module or distribution on CPAN\n"; } $dist->get; # <- here $ENV{'PWD'} gets set to $HOME/.cpan/build chdir $orig_pwd; # so set it back $dist->pretty_id =~ /^(.)(.)/; $tarball = $CPAN::Config->{'keep_source_where'} . "/authors/id/$1/$1$2/"; # the file is under authors/id/A/AU/AUTHOR directory # how silly there is no $dist->filename method $tarball .= $dist->pretty_id; $self->main_dir( $dist->dir ); copy( $tarball, $orig_pwd ) or die "copy($tarball, $orig_pwd): $!"; $tarball = $orig_pwd . "/" . basename($tarball); # build_dir contains a random part since 1.88_59 # use the new CPAN::Distribution::base_id (introduced in 1.91_53) $new_maindir = $orig_pwd . "/" . $dist->base_id; # rename existing directory if ( -d $new_maindir && rename $new_maindir, "$new_maindir.$$" ) { print '=' x 70, "\n"; print "Unpacked tarball already existed, directory renamed to $new_maindir.$$\n"; print '=' x 70, "\n"; } system( "mv", $self->main_dir, "$new_maindir" ) == 0 or die "Failed to move " . $self->main_dir . " to $new_maindir: $!"; $self->main_dir($new_maindir); } elsif ( $self->cfg->cpanplus ) { die "CPANPLUS support is b0rken at the moment."; # my ($cb, $href, $file); # eval "use CPANPLUS 0.045;"; # $cb = CPANPLUS::Backend->new(conf => {debug => 1, verbose => 1}); # $href = $cb->fetch( modules => [ $self->cfg->cpanplus ], fetchdir => $ENV{'PWD'}); # die "Cannot get " . $self->cfg->cpanplus . "\n" if keys(%$href) != 1; # $file = (values %$href)[0]; # print $file, "\n\n"; # $self->main_dir( # $cb->extract( files => [ $file ], extractdir => $ENV{'PWD'} )->{$file} # ); } else { my $maindir = shift(@ARGV) || '.'; $maindir =~ s/\/$//; $self->main_dir($maindir); my $guessed_tarball = catfile( $self->start_dir, "..", basename( $self->start_dir ) . ".tar.gz" ); print "Trying $guessed_tarball..."; if ( -f $guessed_tarball ) { $tarball = $guessed_tarball; print " found.\n"; } else { print " not found.\n"; } } return $tarball; } sub build_package { my ( $self ) = @_; my $main_dir = $self->main_dir; # uhmf! dpkg-genchanges doesn't cope with the deb being in another dir.. #system("dpkg-buildpackage -b -us -uc " . $self->cfg->dbflags) == 0 system("fakeroot make -C $main_dir -f debian/rules clean"); system("make -C $main_dir -f debian/rules build") == 0 || die "Cannot create deb package: 'debian/rules build' failed.\n"; system("fakeroot make -C $main_dir -f debian/rules binary") == 0 || die "Cannot create deb package: 'fakeroot debian/rules binary' failed.\n"; } sub build_source_package { my ( $self ) = @_; my $main_dir = $self->main_dir; # uhmf! dpkg-genchanges doesn't cope with the deb being in another dir.. #system("dpkg-buildpackage -S -us -uc " . $self->cfg->dbflags) == 0 system("fakeroot make -C $main_dir -f debian/rules clean"); system("dpkg-source -b $main_dir") == 0 || die "Cannot create source package: 'dpkg-source -b' failed.\n"; } sub install_package { my ($self) = @_; my ( $archspec, $debname ); my $arch = $self->control->binary_tie->Values(0)->Architecture; if ( !defined $arch || $arch eq 'any' ) { $archspec = `dpkg --print-architecture`; chomp($archspec); } else { $archspec = $arch; } $debname = sprintf( "%s_%s-1_%s.deb", $self->pkgname, $self->version, $archspec ); my $deb = $self->start_dir . "/$debname"; system("dpkg -i $deb") == 0 || die "Cannot install package $deb\n"; } sub findbin_fix { my ($self) = @_; # FindBin requires to know the name of the invoker - and requires it to be # Makefile.PL to function properly :-/ $0 = $self->makefile_pl(); if ( exists $FindBin::{Bin} ) { FindBin::again(); } } # finds the list of modules that the distribution depends on # if $build_deps is true, returns build-time dependencies, otherwise # returns run-time dependencies sub run_depends { my ( $self, $depends_module, $build_deps ) = @_; no warnings; local *STDERR; open( STDERR, ">/dev/null" ); my $mod_dep = $depends_module->new(); $mod_dep->dist_dir( $self->main_dir ); $mod_dep->find_modules(); my $deps = $build_deps ? $mod_dep->build_requires : $mod_dep->requires; my $error = $mod_dep->error(); die "Error: $error\n" if $error; return $deps; } # filter @deps to contain only one instance of each package # say we have te following list of dependencies: # libppi-perl, libppi-perl (>= 3.0), libarm-perl, libalpa-perl, libarm-perl (>= 2) # we want a clean list instead: # libalpa-perl, libarm-perl (>= 2), libppi-perl (>= 3.0) sub prune_deps(@) { my $self = shift; my %deps; for (@_) { my $p = $_->pkg; my $v = $_->ver; if ( exists $deps{$p} ) { my $cur_ver = $deps{$p}; $deps{$p} = $v if defined($v) and ( not defined($cur_ver) or $cur_ver < $v ); } else { $deps{$p} = $v; } } return map( Debian::Dependency->new( $_, $deps{$_} ), sort( keys(%deps) ) ); } sub create_changelog { my ( $self, $file, $bug ) = @_; my $fh = $self->_file_w($file); my $closes = $bug ? " (Closes: #$bug)" : ''; my $changelog_dist = $self->cfg->pkg_perl ? "UNRELEASED" : "unstable"; $fh->printf( "%s (%s) %s; urgency=low\n", $self->srcname, $self->pkgversion, $changelog_dist ); $fh->print("\n * Initial Release.$closes\n\n"); $fh->printf( " -- %s %s\n", $self->get_developer, email_date(time) ); #$fh->print("Local variables:\nmode: debian-changelog\nEnd:\n"); $fh->close; } sub create_readme { my ( $self, $filename ) = @_; my $fh = $self->_file_w($filename); $fh->printf( "This is the debian package for the %s module. It was created by %s using dh-make-perl. ", $self->perlname, $self->maintainer, ); $fh->close; } sub create_watch { my ( $self, $filename ) = @_; my $fh = $self->_file_w($filename); my $version_re = 'v?(\d[\d.-]*)\.(?:tar(?:\.gz|\.bz2)?|tgz|zip)'; $fh->printf( "version=3\n%s .*/%s-%s\$\n", $self->upsurl, $self->perlname, $version_re ); $fh->close; } sub search_pkg_perl { my $self = shift; return undef unless $self->cfg->network; my $pkg = $self->pkgname; require LWP::UserAgent; require LWP::ConnCache; my ( $ua, $resp ); $ua = LWP::UserAgent->new; $ua->env_proxy; $ua->conn_cache( LWP::ConnCache->new ); $resp = $ua->get( "http://anonscm.debian.org/gitweb/?p=pkg-perl/packages/$pkg.git"); return { url => $resp->request->uri } if $resp->is_success; $resp = $ua->get( "http://anonscm.debian.org/gitweb/?p=pkg-perl/attic/$pkg.git"); return { url => $resp->request->uri } if $resp->is_success; return undef; } sub rename_to_debian_package_dir { my( $self ) = @_; return unless $self->cfg->cpan; my $maindir = $self->main_dir; my $newmaindir = catdir( $maindir, updir(), $self->pkgname ); if( -d $newmaindir ) { warn "$newmaindir already exists, skipping rename"; return; } rename $maindir, $newmaindir or die "rename failed: $self->main_dir to $newmaindir"; $self->main_dir( $newmaindir ); return; } sub package_already_exists { my( $self, $apt_contents ) = @_; my $found; eval { my $apt_cache = AptPkg::Cache->new; $found = $apt_cache->packages->lookup( $self->pkgname ) if $apt_cache; }; warn "Error initializing AptPkg::Cache: $@" if $@; if ($found) { warn "**********\n"; warn "WARNING: a package named\n"; warn " '" . $self->pkgname ."'\n"; warn " is already available in APT repositories\n"; warn "Maintainer: ", $found->{Maintainer}, "\n"; my $short_desc = (split( /\n/, $found->{LongDesc} ))[0]; warn "Description: $short_desc\n"; } elsif ($apt_contents) { $found = $apt_contents->find_perl_module_package( $self->perlname ); if ($found) { ( my $mod_name = $self->perlname ) =~ s/-/::/g; warn "**********\n"; warn "NOTICE: the package '$found', available in APT repositories\n"; warn " already contains a module named " . $self->perlname . "\n"; } elsif ( $found = $self->search_pkg_perl ) { warn "********************\n"; warn sprintf( "The Debian Perl Group has a repository for the %s package\n at %s\n", $self->pkgname, $found->{url} ); warn "You may want to contact them to avoid duplication of effort.\n"; warn "More information is available at https://wiki.debian.org/Teams/DebianPerlGroup\n"; } } else { ( my $mod_name = $self->perlname ) =~ s/-/::/g; require Debian::DpkgLists; my @found = Debian::DpkgLists->scan_perl_mod($mod_name); if (@found) { warn "**********\n"; warn "NOTICE: the following locally installed package(s) already\n"; warn " contain $mod_name\n"; warn " ", join ( ', ', @found ), "\n"; $found = 1; } } return $found ? 1 : 0; } sub modules_already_packaged { my( $self, $apt_contents ) = @_; my @modules; File::Find::find( sub { if (basename($File::Find::dir) =~ /^(?: \.(?:git|svn|hg|) |CVS |eg|samples?|examples? |t|xt |inc|privinc )$/x ) { $File::Find::prune = 1; return; } if (/.+\.pm$/) { my $mi = Module::Build::ModuleInfo->new_from_file($_); push @modules, $mi->packages_inside; } }, $self->main_dir, ); my $found; sub show_notice($$) { warn $_[0] unless $_[1]; $_[1] = 1; } my $notice = <find_perl_module_package($mod); if ($found) { show_notice( $notice, $notice_shown ); warn " $mod is in '$found' (APT)\n"; } } if ( !$found ) { require Debian::DpkgLists; my @found = Debian::DpkgLists->scan_perl_mod($mod); if (@found) { show_notice( $notice, $notice_shown ); warn " $mod is in " . join( ', ', @found ), " (local .deb)\n"; $found = 1; } } } warn "\n" if $notice_shown; return $found ? 1 : 0; } sub git_import_upstream__init_debian { my ( $self ) = @_; require Git; Git::command( 'init', $self->main_dir ); my $git = Git->repository( $self->main_dir ); $git->command( qw(symbolic-ref HEAD refs/heads/upstream) ); $git->command( 'add', '.' ); $git->command( 'commit', '-m', "Import original source of " . $self->perlname . ' ' . $self->version ); $git->command( 'tag', "upstream/".$self->version, 'upstream' ); $git->command( qw( checkout -b master upstream ) ); if ( -d $self->debian_dir ) { # remove debian/ directory if the upstream ships it. This goes into the # 'master' branch, so the 'upstream' branch contains the original debian/ # directory, and thus matches the pristine-tar. Here I also remove the # debian/ directory from the working tree; git has the history, so I don't # need the debian.bak $git->command( 'rm', '-r', $self->debian_dir ); $git->command( 'commit', '-m', 'Removed debian directory embedded in upstream source' ); } } sub git_add_debian { my ( $self, $tarball ) = @_; require Git; require File::Which; my $git = Git->repository( $self->main_dir ); $git->command( 'add', 'debian' ); $git->command( 'commit', '-m', 'Initial packaging by dh-make-perl' ); $git->command( qw( remote add origin ), sprintf( "ssh://git.debian.org/git/pkg-perl/packages/%s.git", $self->pkgname ), ) if $self->cfg->pkg_perl; if ( File::Which::which('pristine-tar') and $tarball ) { $ENV{GIT_DIR} = File::Spec->catdir( $self->main_dir, '.git' ); system( 'pristine-tar', 'commit', $tarball, "upstream/".$self->version ) >= 0 or warn "error running pristine-tar: $!\n"; } else { warn "W: pristine-tar not available. Please run\n"; warn "W: apt-get install pristine-tar\n"; warn "W: followed by\n"; warn "W: pristine-tar commit $tarball upstream/" . $self->version . "\n"; } } =item warning I ... In verbose mode, prints supplied arguments on STDERR, prepended with C and suffixed with a new line. Does nothing in non-verbose mode. =cut sub warning { my $self = shift; return unless $self->cfg->verbose; warn "W: ", @_, "\n"; } =back =head1 AUTHOR dh-make-perl was created by Paolo Molaro. It is currently maintained by Gunnar Wolf and others, under the umbrella of the Debian Perl Group =head1 BUGS Please report any bugs or feature requests to the Debian Bug Tracking System (L, use I as package name) or to the L mailing list. =head1 SUPPORT You can find documentation for this module with the perldoc command. perldoc DhMakePerl You can also look for information at: =over 4 =item * Debian Bugtracking System L =back =head1 COPYRIGHT & LICENSE =over 4 =item Copyright (C) 2000, 2001 Paolo Molaro =item Copyright (C) 2002, 2003, 2008 Ivan Kohler =item Copyright (C) 2003, 2004 Marc 'HE' Brockschmidt =item Copyright (C) 2005-2007 Gunnar Wolf =item Copyright (C) 2006 Frank Lichtenheld =item Copyright (C) 2007-2013 Gregor Herrmann =item Copyright (C) 2007,2008,2009,2010,2011,2012 Damyan Ivanov =item Copyright (C) 2008, Roberto C. Sanchez =item Copyright (C) 2009-2010, Salvatore Bonaccorso =item Copyright (C) 2013, Axel Beckert =back This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. =cut 1; # End of DhMakePerl help.pm000444001750001750 244012234004042 17535 0ustar00damdam000000000000DhMakePerl-0.80/lib/DhMakePerl/Commandpackage DhMakePerl::Command::help; =head1 NAME DhMakePerl::Command::help - dh-make-perl help implementation =head1 DESCRIPTION This module implements the I command of L. =cut use strict; use warnings; our $VERSION = '0.65'; use base 'DhMakePerl'; use Pod::Usage; =head1 METHODS =over =item execute Provides I command implementation. =cut sub execute { my $self = shift; # Help requested? Nice, we can just die! Isn't it helpful? die pod2usage( -message => "See `man 1 dh-make-perl' for details.\n" ) } =back =cut 1; =head1 COPYRIGHT & LICENSE =over =item Copyright (C) 2008, 2009, 2010 Damyan Ivanov =back This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. =cut refresh_cache.pm000444001750001750 233712234004042 21373 0ustar00damdam000000000000DhMakePerl-0.80/lib/DhMakePerl/Commandpackage DhMakePerl::Command::refresh_cache; =head1 NAME DhMakePerl::Command::refresh_cache - dh-make-perl refresh-cache implementation =head1 DESCRIPTION This module implements the I command of L. =cut use strict; use warnings; our $VERSION = '0.65'; use base 'DhMakePerl'; =head1 METHODS =over =item execute Provides I command implementation. =cut sub execute { my $self = shift; $self->get_apt_contents; return 0; } =back =cut 1; =head1 COPYRIGHT & LICENSE =over =item Copyright (C) 2008, 2009, 2010 Damyan Ivanov =back This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. =cut refresh.pm000444001750001750 1502712234004042 20270 0ustar00damdam000000000000DhMakePerl-0.80/lib/DhMakePerl/Commandpackage DhMakePerl::Command::refresh; =head1 NAME DhMakePerl::Command::refresh - dh-make-perl refresh implementation =head1 DESCRIPTION This module implements the I command of L. =cut use strict; use warnings; our $VERSION = '0.77'; use base 'DhMakePerl::Command::Packaging'; use Debian::Control::FromCPAN; use Debian::WNPP::Query (); use File::Spec::Functions qw(catfile); use Tie::File; =head1 METHODS =over =item execute Provides I command implementation. =cut sub execute { my $self = shift; $self->main_dir( $ARGV[0] || '.' ); print "Engaging refresh mode in " . $self->main_dir . "\n" if $self->cfg->verbose; if ( not $self->cfg->_explicitly_set->{'source-format'} and -e ( my $f = catfile( $self->debian_file('source'), 'format' ) ) ) { open( my $fh, '<', $f ) or die "open($f): $!"; my $present = <$fh>; close $fh; chomp($present) if $present; if ($present) { $self->cfg->source_format($present); print "Detected source format: $present\n" if $self->cfg->verbose; } } $self->control->read( $self->debian_file('control') ); $self->fill_maintainer; $self->process_meta; $self->extract_basic(); # also detects arch-dep package $self->extract_docs if $self->cfg->only->{docs}; $self->extract_examples if $self->cfg->only->{examples}; print "Found docs: @{ $self->docs }\n" if @{ $self->docs } and $self->cfg->verbose; print "Found examples: @{ $self->examples }\n" if @{ $self->examples } and $self->cfg->verbose; if ( $self->cfg->only->{only} ) { $self->create_rules; $self->create_compat( $self->debian_file('compat') ); } if ( $self->cfg->only->{examples} ) { $self->update_file_list( examples => $self->examples ); } if ( $self->cfg->only->{docs} ) { $self->update_file_list( docs => $self->docs ); } if ( $self->cfg->only->{copyright} ) { $self->backup_file( $self->debian_file('copyright') ); $self->create_copyright( $self->debian_file('copyright') ); } if ( $self->cfg->only->{control} ) { my $control = $self->control; if ( -e catfile( $self->debian_file('patches'), 'series' ) and $self->cfg->source_format ne '3.0 (quilt)' ) { $self->add_quilt($control); } else { $self->drop_quilt($control); } $self->write_source_format( catfile( $self->debian_dir, 'source', 'format' ) ); $self->discover_dependencies; $self->discover_utility_deps($control); $control->prune_perl_deps(); $self->backup_file( $self->debian_file('control') ); $control->write( $self->debian_file('control') ); } print "--- Done\n" if $self->cfg->verbose; return 0; } =item add_quilt( $control ) Plugs quilt into F and F. Depends on F being in DH7 three-liner format. Also adds debian/README.source documenting quilt usage. =cut sub add_quilt { my( $self, $control ) = @_; $self->read_rules; $self->rules->add_quilt; # README.source my $quilt_mini_doc = <debian_file('README.source'); my $quilt_already_documented = 0; my $readme_source_exists = -e $readme; if($readme_source_exists) { my @readme; tie @readme, 'Tie::File', $readme or die "Unable to tie '$readme': $!"; for( @readme ) { if( m{quilt/README.source} ) { $quilt_already_documented = 1; last; } } } print "README.source already documents quilt\n" if $quilt_already_documented and $self->cfg->verbose; unless($quilt_already_documented) { my $fh; open( $fh, '>>', $readme ) or die "Unable to open '$readme' for writing: $!"; print $fh "\n\n" if $readme_source_exists; print $fh $quilt_mini_doc; close $fh; } } =item drop_quilt( $control ) removes quilt from F. Expects that L<|add_quilt> was used to add quilt to F. If F exists, references to quilt are removed from it (and the file removed if empty after that). Both dh7-style (C) and old-fashioned (C<$(QUILT_STAMPFN)> target dependency) are supported. =cut sub drop_quilt { my( $self, $control ) = @_; $self->read_rules; $self->rules->drop_quilt; # README.source my $readme = $self->debian_file('README.source'); if( -e $readme ) { my @readme; tie @readme, 'Tie::File', $readme or die "Unable to tie '$readme': $!"; my( $start, $end ); for( my $i = 0; defined( $_ = $readme[$i] ); $i++ ) { if( m{^This package uses quilt } ) { $start = $i; next; } if( defined($start) and m{^See /usr/share/doc/quilt/README.source} ) { $end = $i; last; } } if( defined($start) and defined($end) ) { print "Removing references to quilt from README.source\n" if $self->cfg->verbose; splice @readme, $start, $end-$start+1; # file is now empty? if( join( '', @readme ) =~ /^\s*$/ ) { unlink $readme or die "unlink($readme): $!"; } } } } =back =cut 1; =head1 COPYRIGHT & LICENSE =over =item Copyright (C) 2008, 2009, 2010 Damyan Ivanov =item Copyright (C) 2010 gregor herrmann =back This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. =cut share000755001750001750 012234004042 13114 5ustar00damdam000000000000DhMakePerl-0.80rules.dh7.tiny000555001750001750 3612234004042 15733 0ustar00damdam000000000000DhMakePerl-0.80/share#!/usr/bin/make -f %: dh $@ xt000755001750001750 012234004042 12445 5ustar00damdam000000000000DhMakePerl-0.80pod-spelling.t000444001750001750 10112234004042 15334 0ustar00damdam000000000000DhMakePerl-0.80/xtuse Test::More; use Test::Spelling; all_pod_files_spelling_ok(); privinc000755001750001750 012234004042 13464 5ustar00damdam000000000000DhMakePerl-0.80My000755001750001750 012234004042 14051 5ustar00damdam000000000000DhMakePerl-0.80/privincBuilder.pm000444001750001750 305712234004042 16137 0ustar00damdam000000000000DhMakePerl-0.80/privinc/Mypackage My::Builder; use strict; use warnings; use base qw(Module::Build); sub ACTION_orig { my $self = shift; $self->ACTION_manifest(); $self->SUPER::ACTION_dist(); my $dn = $self->dist_name; my $ver = $self->dist_version; my $pkg_name = 'dh-make-perl'; my $orig = "$pkg_name\_$ver.orig.tar.gz"; my $dist = "$dn-$ver.tar.gz"; print "Moving $dist to ../\n"; rename $dist, "../$dist" or die "rename( $dist, ../$dist ): $!"; if ( -e "../$orig" ) { print "Deleting ../$orig\n"; unlink("../$orig") or die "unlink(../$orig): $!"; } print "Linking ../$orig to ../$dist\n"; link "../$dist", "../$orig" or die "link( ../$dist, ../$orig ): $!"; $self->ACTION_distclean; unlink 'MANIFEST', 'MANIFEST.bak', 'META.yml', 'META.json'; } sub ACTION_dist { warn <