⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.155
Server IP:
57.129.66.90
Server:
Linux vps-7f548908 5.15.0-160-generic #170-Ubuntu SMP Wed Oct 1 10:06:56 UTC 2025 x86_64
Server Software:
LiteSpeed
PHP Version:
8.2.27
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
bin
/
Edit File: dh_phppear
#!/usr/bin/perl -w =head1 NAME dh_phppear - calculates PHP PEAR substvars =head1 SYNOPSIS B
[S
>] [S
>] =head1 DESCRIPTION B
is a debhelper program that is responsible for generating the B<${phppear:*}> substitutions and adding them to substvars files. The program will look at F
(or F
) in the package, and will use this information to generate: =over 2 =item * B<${phppear:summary}>, B<${phppear:description}> and B<${phppear:channel}> =item * B<${phppear:Debian-Depends}>, B<${phppear:Debian-Recommends}>, B<${phppear:Debian-Suggests}> and B<${phppear:Debian-Breaks}> =back B
the
package should be used (and updated) instead of introducing a new standalone channel package. The program will look at F
in the package, and will use this information to generate: =over 2 =item * B<${phppear:channel-name}>, B<${phppear:channel-summary}> and B<${phppear:channel-alias}> =item * B<${phppear:channel-common-description}> =back Those variables will be substituted into the package's F
file wherever the token B<${phppear:*}> are placed. =head1 OPTIONS =over 4 =item B<--sourcedirectory=>I
Assume that the original package source tree is at the specified directory rather than the top level directory of the Debian source package tree. This feature requires pkg-php-tools (>= 1.14~). =back =head1 FILES =over 4 =item F
Package that don't want to follow automatic PEAR package name to Debian package name conversion can override the conversion by creating this file. It can be installed in BI
. This feature requires pkg-php-tools (>= 1~). The format is a set of lines, with each line having the following fields: =over 6 =item I
The channel URL as found in F
(example: I
). =item I
The PEAR package name (example: I
). =item I
The resulting Debian package name (example: I
). Use I
if the package is compiled from the php source package. Use I
if the PEAR package can't be simply translated to Debian name. =item I
Optional, for composer packages only, can be I
if the version constraint from the original package should not be used for the replacement. Useful when a package is being replaced by a PHP extension that doesn't follow the same versioning scheme. =back =back =head1 ADVANCED USAGE =head2 Building a PECL package A PECL package is a PEAR package which is compiled. Extra steps are needed: =over 2 =item * Adding B
, B
(>= 1.6~) and B
to Build-Depends. =item * Adding B<${shlibs:Depends}> and B<${misc:Depends}> to Depends. =item * Adding B<--with php> to B
line in I
. =back =head2 Patching B
will remove md5sums and sha1sums to ease patching. You can patch as usual. =head2 Removing some files from the upstream tarball If some files are removed from the upstream tarball, the package will be incomplete unless they are stripped from the I
file in the PEAR package subdir. This can be done after the I
step. Example: override_dh_auto_configure: dh_auto_configure -O--buildsystem=phppear # Remove references of JsMin sed -i '/JsMin\.php/d' */package.xml This feature requires pkg-php-tools (>= 1.1~). =head2 Building a channel package (DEPRECATED) B
the B
package should be used (and updated) instead of introducing a new standalone channel package. Simply put the F
file downloaded from the PEAR channel in the root of the package source and use a I
similar to a PEAR package. This feature requires pkg-php-tools (>= 1.3~). =cut use strict; use warnings; use Cwd (); use File::Spec; use Debian::Debhelper::Dh_Lib; sub _shell_exec { my $child_pid = open(my $output, "-|", @_) // error("@_ failed to fork: $!"); if ($child_pid) { waitpid $child_pid, 0; } else { exit 0; } if ($? == -1) { error("@_ failed to execute: $!"); } elsif ($? & 127) { error("@_ died with signal ".($? & 127)); } elsif ($? != 0) { error("@_ returned exit code ".($? >> 8)); } return $output; } my $opt_sourcedir = '.'; init(options => { "D=s" => \$opt_sourcedir, "sourcedirectory=s" => \$opt_sourcedir, }); # Check and canonalize $opt_sourcedir { # Get relative sourcedir abs_path (without symlinks) my $abspath = Cwd::abs_path($opt_sourcedir); my $cwd = Cwd::getcwd(); if (! -d $abspath || $abspath !~ /^\Q$cwd\E/) { error("invalid or non-existing path to the source directory: ".$opt_sourcedir); } $opt_sourcedir = File::Spec->abs2rel($abspath, $cwd); } foreach my $package (@{$dh{DOPACKAGES}}) { if (-e File::Spec->catfile($opt_sourcedir, "package.xml") || -e File::Spec->catfile($opt_sourcedir, "package2.xml")) { my $substvars = _shell_exec('/usr/bin/pkgtools', '-v', '--sourcedirectory', $opt_sourcedir, 'phppear', 'substvars'); while (<$substvars>) { /^([^=]+)=\s*(.*)$/; addsubstvar($package, $1, $2); } } if (-e File::Spec->catfile($opt_sourcedir, "channel.xml")) { my $substvars = _shell_exec('/usr/bin/pkgtools', '-v', '--sourcedirectory', $opt_sourcedir, 'phppearchannel', 'substvars'); while (<$substvars>) { /^([^=]+)=\s*(.*)$/; addsubstvar($package, $1, $2); } } } =head1 CONFORMING TO Debian policy, version 3.9.6. PHP PEAR policy, version yet-to-be-written. =head1 SEE ALSO L
, L
, F =head1 AUTHOR Mathieu Parent
Simpan