/usr/bin/dh_phpcomposer is in pkg-php-tools 1.11.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | #!/usr/bin/perl -w
=head1 NAME
dh_phpcomposer - calculates PHP Composer substvars
=head1 SYNOPSIS
B<dh_phpcomposer> [S<I<debhelper options>>]
=head1 DESCRIPTION
B<dh_phpcomposer> is a debhelper program that is responsible for generating
the B<${phpcomposer:*}> substitutions and adding them to substvars files.
The program will look for F<composer.json> file in your package root,
and will use this information to generate:
This feature requires pkg-php-tools (>= 1.7~).
=over 2
=item *
B<${phpcomposer:name}> and B<${phpcomposer:description}>
=item *
B<${phpcomposer:Debian-require}>, B<${phpcomposer:Debian-require-dev}>,
B<${phpcomposer:Debian-conflict}>, B<${phpcomposer:Debian-replace}>,
B<${phpcomposer:Debian-provide}> and B<${phpcomposer:Debian-suggest}>
=back
Those variables will be substituted into your package's F<control>
file wherever you place the token B<${phpcomposer:*}>.
=head1 FILES
=over 4
=item debian/pkg-php-tools-overrides
Package that don't want to follow automatic Composer package name to Debian package
name conversion can override the conversion by creating this file.
More information is available L<dh_phppear(1)>
=back
=cut
use strict;
use Config;
use Debian::Debhelper::Dh_Lib;
use Text::Wrap;
sub _shell_exec {
my $command=shift;
my $output = `$command`;
if ($? == -1) {
error("$command failed to execute: $!");
}
elsif ($? & 127) {
error("$command died with signal ".($? & 127));
}
elsif ($? != 0) {
error("$command returned exit code ".($? >> 8));
}
return $output;
}
init();
foreach my $package (@{$dh{DOPACKAGES}}) {
if (-e "composer.json") {
my $substvars = _shell_exec('/usr/share/pkg-php-tools/scripts/phppkginfo -d composer_substvars .');
for (split /^/, $substvars) {
if (/^([\w-]+):\s*(.*)$/) {
if ($1 eq 'description') {
local($Text::Wrap::separator) = '${Newline}';
# Wrap and replace empty lines with a dot
my $description = join('${Newline}.${Newline}', split('${Newline}${Newline}', wrap("", "", $2)));
addsubstvar($package, "phpcomposer:description", $description);
} else {
addsubstvar($package, "phpcomposer:".$1, $2);
}
} else {
warning("Malformed line: $_");
}
}
}
}
=head1 CONFORMS TO
Debian policy, version 3.9.4
PHP PEAR policy, version yet-to-be-written
=head1 SEE ALSO
F</usr/share/doc/pkg-php-tools/README.Composer>, L<pkg-php-tools(7)>
L<debhelper(7)> (Note: This program is not part of debhelper)
=head1 AUTHOR
Mathieu Parent <sathieu@debian.org>
|