From: Ondřej Surý Date: Sun, 3 Aug 2025 07:32:21 +0000 (+0200) Subject: php8.4 (8.4.11-1) unstable; urgency=medium X-Git-Tag: archive/raspbian/8.4.11-1+rpi1~48 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=b2f7cca22cc08b5682776909759dba17ea684c98;p=php8.4.git php8.4 (8.4.11-1) unstable; urgency=medium * New upstream version 8.4.11 [dgit import unpatched php8.4 8.4.11-1] --- b2f7cca22cc08b5682776909759dba17ea684c98 diff --cc debian/PEAR-Builder-print-info-about-php-dev.patch index 00000000,00000000..95d41633 new file mode 100644 --- /dev/null +++ b/debian/PEAR-Builder-print-info-about-php-dev.patch @@@ -1,0 -1,0 +1,10 @@@ ++--- a/PEAR/Builder.php 2011-05-14 20:43:01.000000000 +0000 +++++ b/PEAR/Builder.php 2011-05-26 15:56:41.096485701 +0000 ++@@ -309,5 +309,7 @@ class PEAR_Builder extends PEAR_Common ++ } ++ ++ if (!$err) { +++ print "If the command failed with 'phpize: not found' then you need to install php@PHP_VERSION@-dev package"; +++ print "You can do it by running 'apt-get install php@PHP_VERSION@-dev' as a root user"; ++ return $this->raiseError("`phpize' failed"); ++ } diff --cc debian/README.Debian.security index 00000000,00000000..e75c57b1 new file mode 100644 --- /dev/null +++ b/debian/README.Debian.security @@@ -1,0 -1,0 +1,23 @@@ ++The Debian stable security team does not provide security support for ++certain configurations known to be inherently insecure. This includes ++the interpreter itself, extensions, and user scripts written in the PHP ++language. Most specifically, but not exclusively, the security team will ++not provide support for the following. ++ ++ * Security issues which are caused by careless programming, such as: ++ - extracting a tar file without first checking the contents; ++ - using unserialize() on untrusted data; ++ - relying on a specific value of short_open_tag. ++ ++ * Vulnerabilities involving any kind of open_basedir violation, as ++ this feature is not considered a security model either by us or by ++ PHP upstream. ++ ++ * Any "works as expected" vulnerabilities, such as "user can cause ++ PHP to crash by writing a malicious PHP script", unless such ++ vulnerabilities involve some kind of higher-level DoS or privilege ++ escalation that would not otherwise be available. ++ ++PHP upstream has published a statement regarding their view on security ++and the PHP interpreter: ++http://www.php.net/security-note.php diff --cc debian/README.source index 00000000,00000000..bd56f405 new file mode 100644 --- /dev/null +++ b/debian/README.source @@@ -1,0 -1,0 +1,45 @@@ ++ == Generation of the php5-dbg package Depends == ++ ++The following command can be used to generate a heuristic list of ++packages the php5-dbg package probably needs to Depend on: ++ ++dh_testdir && egrep '^Package' debian/control | cut '-d ' -f2 | \ ++ egrep -v '(^php5|dbg|dev|common|pear)$' | tr "\n" "|" | sed 's/|$//' |\ ++ sed -r 's/([^|]+)(\||$)/ \1 (= ${binary:Version}) \2/g'; echo ++ ++ == Making some sense out of the configure options == ++ ++The COMMON_CONFIG variable contains the configure options that are to ++be used on all the SAPIs. Built-in extensions and other general options ++should be set here. ++The shared extensions are built when building the apache2 SAPI and as ++such they need to be specified there. ++The calls to configure for the other SAPIs usually only need ++--without-foo when the extension or feature is otherwise enabled by ++default. ++ ++ == The *modulelist files == ++ ++When building a new module (or extension) on an individual binary ++package, it must be added to the debian/modulelist file. However, if ++the extension is to be included in an existing binary package, it ++must be added to the debian/extramodulelist file. ++ ++The format of these files is: ++" " ++ ++E.g. for, if we want the mysql extension to be shipped in the ++php5-mysql package we use: ++"mysql MySQL mysql" ++But we also want mysqli and the PDO in the same package, so we add the ++following lines to extramoduleslist: ++"mysql MySQLi mysqli ++mysql MySQL_PDO pdo_mysql" ++ ++ == More debian/rules foo == ++ ++* The shared extensions are built under the apache2 target (see above). ++* The CLI SAPI is built on the build-cli-stamp AND build-cgi-stamp, with ++ different configure options. ++ ++ -- Ondřej Surý , Tue, 27 Nov 2012 17:01:53 +0100 diff --cc debian/changelog index 00000000,00000000..64649af3 new file mode 100644 --- /dev/null +++ b/debian/changelog @@@ -1,0 -1,0 +1,1507 @@@ ++php8.4 (8.4.11-1) unstable; urgency=medium ++ ++ * New upstream version 8.4.11 ++ ++ -- Ondřej Surý Sun, 03 Aug 2025 09:32:21 +0200 ++ ++php8.4 (8.4.10-1) unstable; urgency=medium ++ ++ * Set PHP_BUILD_PROVIDER to Debian with option to override this from ++ shell environment ++ * New upstream version 8.4.10 ++ ++ -- Ondřej Surý Thu, 03 Jul 2025 14:35:27 +0200 ++ ++php8.4 (8.4.8-1) unstable; urgency=medium ++ ++ * Move setting ICU_CXXFLAGS to the right place in d/rules ++ * Use ICU >= 75 version to determine the need for C++11 or C++17 ++ * New upstream version 8.4.8 ++ ++ -- Ondřej Surý Sat, 07 Jun 2025 16:22:04 +0200 ++ ++php8.4 (8.4.7-1) unstable; urgency=medium ++ ++ * New upstream version 8.4.7 ++ ++ -- Ondřej Surý Fri, 09 May 2025 08:06:27 +0200 ++ ++php8.4 (8.4.6-2) unstable; urgency=medium ++ ++ * Remove libxmltok1-dev from Build-Depends (Closes: #871826) ++ ++ -- Ondřej Surý Mon, 14 Apr 2025 18:59:47 +0200 ++ ++php8.4 (8.4.6-1) unstable; urgency=medium ++ ++ * New upstream version 8.4.6 ++ ++ -- Ondřej Surý Fri, 11 Apr 2025 03:47:19 +0200 ++ ++php8.4 (8.4.5-1) unstable; urgency=medium ++ ++ * New upstream version 8.4.5 ++ - [CVE-2024-11235]: Reference counting in php_request_shutdown ++ causes Use-After-Free. ++ - [CVE-2025-1219]: libxml streams use wrong `content-type` header ++ when requesting a redirected resource. ++ - [CVE-2025-1736]: Stream HTTP wrapper header check might omit ++ basic auth header. ++ - [CVE-2025-1861]: Stream HTTP wrapper truncate redirect location ++ to 1024 bytes. ++ - [CVE-2025-1734]: Streams HTTP wrapper does not fail for headers ++ without colon. ++ - [CVE-2025-1217]: Header parser of `http` stream wrapper does not ++ handle folded headers. ++ ++ -- Ondřej Surý Thu, 13 Mar 2025 16:28:14 +0100 ++ ++php8.4 (8.4.4-1) unstable; urgency=medium ++ ++ * New upstream version 8.4.4 ++ ++ -- Ondřej Surý Sat, 15 Feb 2025 09:51:15 +0100 ++ ++php8.4 (8.4.3-1) unstable; urgency=medium ++ ++ * New upstream version 8.4.3 ++ * Remove the C++11 compatibility patch (Closes: #1092329) ++ ++ -- Ondřej Surý Sun, 19 Jan 2025 14:35:15 +0100 ++ ++php8.4 (8.4.2-1) unstable; urgency=medium ++ ++ * Add --enable-rtld-deepbind configure flag, disable it by default ++ except for apache (Closes: #1089097) ++ * New upstream version 8.4.2 ++ ++ -- Ondřej Surý Tue, 24 Dec 2024 06:58:15 +0100 ++ ++php8.4 (8.4.1-6) unstable; urgency=medium ++ ++ * Bump php-common dependency to >= 2:95~ ++ ++ -- Ondřej Surý Wed, 04 Dec 2024 12:17:25 +0100 ++ ++php8.4 (8.4.1-5) unstable; urgency=medium ++ ++ * Remove the /usr/lib/libphp.so symbolic link if unowned ++ (Closes: #1035798) ++ ++ -- Ondřej Surý Mon, 02 Dec 2024 08:28:50 +0100 ++ ++php8.4 (8.4.1-4) unstable; urgency=medium ++ ++ * Upload to unstable. ++ ++ -- Ondřej Surý Wed, 27 Nov 2024 13:57:13 +0100 ++ ++php8.4 (8.4.1-3) experimental; urgency=medium ++ ++ * Revert "ext/gmp: gmp_pow fix FPE with large values" patch ++ ++ -- Ondřej Surý Mon, 25 Nov 2024 18:17:44 +0100 ++ ++php8.4 (8.4.1-2) experimental; urgency=medium ++ ++ * Fix GH-16870: gmp_pow(64, 11) throws overflow exception ++ ++ -- Ondřej Surý Thu, 21 Nov 2024 15:37:00 +0100 ++ ++php8.4 (8.4.1-1) experimental; urgency=medium ++ ++ * New upstream version 8.4.1 ++ ++ -- Ondřej Surý Thu, 21 Nov 2024 14:21:13 +0100 ++ ++php8.4 (8.4.0~rc4-1) experimental; urgency=medium ++ ++ * New upstream version 8.4.0~rc4 ++ ++ -- Ondřej Surý Sat, 16 Nov 2024 10:40:32 +0100 ++ ++php8.4 (8.4.0~rc3-1) experimental; urgency=medium ++ ++ * New upstream version 8.4.0~rc3 ++ ++ -- Ondřej Surý Wed, 30 Oct 2024 12:23:46 +0100 ++ ++php8.4 (8.4.0~rc1-2) experimental; urgency=medium ++ ++ * Bump required versions for several build-dependencies ++ ++ -- Ondřej Surý Wed, 02 Oct 2024 11:50:27 +0200 ++ ++php8.4 (8.4.0~rc1-1) experimental; urgency=medium ++ ++ * New upstream version 8.4.0~rc1 ++ * Bump PHP API number to 20240924 ++ ++ -- Ondřej Surý Fri, 27 Sep 2024 05:39:51 +0200 ++ ++php8.4 (8.4.0~beta5-1) experimental; urgency=medium ++ ++ * New upstream version 8.4.0~beta5 ++ ++ -- Ondřej Surý Sat, 14 Sep 2024 13:40:48 +0200 ++ ++php8.4 (8.4.0~beta4-1) experimental; urgency=medium ++ ++ * New upstream version 8.4.0~beta4 ++ ++ -- Ondřej Surý Fri, 30 Aug 2024 11:14:08 +0200 ++ ++php8.4 (8.4.0~beta3-1) experimental; urgency=medium ++ ++ * New upstream version 8.4.0~beta3 ++ ++ -- Ondřej Surý Tue, 27 Aug 2024 05:20:02 +0200 ++ ++php8.4 (8.4.0~alpha4-1) experimental; urgency=medium ++ ++ * New upstream version 8.4.0~alpha4 ++ ++ -- Ondřej Surý Fri, 02 Aug 2024 18:03:15 +0200 ++ ++php8.4 (8.4.0~alpha2-1) experimental; urgency=medium ++ ++ * New upstream version 8.4.0~alpha2 ++ * Update d/watch to use qa.php.net site ++ ++ -- Ondřej Surý Sat, 20 Jul 2024 21:07:00 +0200 ++ ++php8.4 (8.4.0~alpha1-1) experimental; urgency=medium ++ ++ * Update upstream signing keys for PHP 8.4 ++ * New upstream version 8.4.0~alpha1 ++ * The IMAP extension has been unbundled and moved to PECL. ++ * The pspell extension has been unbundled and moved to PECL. ++ * Bump phpapi to 20230901 ++ ++ -- Ondřej Surý Sat, 06 Jul 2024 07:48:05 +0200 ++ ++php8.3 (8.3.9-1) experimental; urgency=medium ++ ++ * Add Restart=on-failure to the systemd service file ++ * New upstream version 8.3.9 ++ * Remove the patch that fixed GH-14480 (merged upstream) ++ ++ -- Ondřej Surý Fri, 05 Jul 2024 13:48:48 +0200 ++ ++php8.3 (8.3.8-2) experimental; urgency=medium ++ ++ * Fix GH-14480: Method visibility issue introduced in version 8.3.8 (#14484) ++ ++ -- Ondřej Surý Sat, 08 Jun 2024 22:27:05 +0200 ++ ++php8.3 (8.3.8-1) experimental; urgency=medium ++ ++ * New upstream version 8.3.8 ++ + [CVE-2024-4577]: Bypass of CVE-2012-1823, Argument Injection in ++ PHP-CGI. ++ + [CVE-2024-5458]: Filter bypass in filter_var FILTER_VALIDATE_URL. ++ + [CVE-2024-5585]: Bypass of CVE-2024-1874. ++ ++ -- Ondřej Surý Thu, 06 Jun 2024 17:16:55 +0200 ++ ++php8.3 (8.3.7-2) experimental; urgency=medium ++ ++ * Fix the php-config mangling script in configure embeds the options in ++ a single quote ++ ++ -- Ondřej Surý Thu, 23 May 2024 12:29:30 +0200 ++ ++php8.3 (8.3.7-1) experimental; urgency=medium ++ ++ * New upstream version 8.3.7 ++ ++ -- Ondřej Surý Mon, 13 May 2024 17:25:50 +0200 ++ ++php8.3 (8.3.6-1) experimental; urgency=medium ++ ++ * New upstream version 8.3.6 ++ ++ -- Ondřej Surý Thu, 11 Apr 2024 22:16:27 +0200 ++ ++php8.3 (8.3.4-1) experimental; urgency=medium ++ ++ [ Ondřej Surý ] ++ * New upstream version 8.3.4 ++ * Just don't set PHP extra version at all - it makes a little ++ sense when we are just updating upstream versions ++ * Remove hardcoded dependency on libmagic1 (Closes: #1065985) ++ ++ [ Andrey Rakhmatullin ] ++ * Fix FTBFS with -Werror=implicit-function-declaration (Closes: #1066234). ++ ++ -- Ondřej Surý Sat, 16 Mar 2024 09:31:56 +0100 ++ ++php8.3 (8.3.3-1) experimental; urgency=medium ++ ++ * New upstream version 8.3.3 ++ ++ -- Ondřej Surý Thu, 15 Feb 2024 19:30:31 +0100 ++ ++php8.3 (8.3.2-1) experimental; urgency=medium ++ ++ [ Ondřej Surý ] ++ * New upstream version 8.3.2 ++ ++ [ Athos Ribeiro ] ++ * Fix PHP_EXTRA_VERSION setting ++ * Test the PHP_EXTRA_VERSION setting ++ * Move disabling the upstream GC routine to a patch (Closes: #831752) ++ ++ -- Ondřej Surý Sat, 20 Jan 2024 14:05:31 +0100 ++ ++php8.3 (8.3.1-1) experimental; urgency=medium ++ ++ * New upstream version 8.3.1 ++ ++ -- Ondřej Surý Thu, 21 Dec 2023 21:05:27 +0100 ++ ++php8.3 (8.3.0-5) experimental; urgency=medium ++ ++ * Disable avx512vbmi detection with gcc < 6 ++ ++ -- Ondřej Surý Tue, 05 Dec 2023 08:12:00 +0100 ++ ++php8.3 (8.3.0-4) experimental; urgency=medium ++ ++ * Disable AVX detection with GCC < 6 ++ ++ -- Ondřej Surý Mon, 04 Dec 2023 19:54:57 +0100 ++ ++php8.3 (8.3.0-3) experimental; urgency=medium ++ ++ * Also disable avx detection with older compilers ++ ++ -- Ondřej Surý Sun, 03 Dec 2023 08:59:08 +0100 ++ ++php8.3 (8.3.0-2) experimental; urgency=medium ++ ++ * We also have to disable assembly code with gcc 4.9 on i386. ++ ++ -- Ondřej Surý Sat, 02 Dec 2023 22:10:03 +0100 ++ ++php8.3 (8.3.0-1) experimental; urgency=medium ++ ++ * New upstream version 8.3.0 ++ ++ -- Ondřej Surý Fri, 24 Nov 2023 09:03:44 +0100 ++ ++php8.3 (8.3.0~rc5-1) experimental; urgency=medium ++ ++ * New upstream version 8.3.0~rc5 ++ ++ -- Ondřej Surý Thu, 26 Oct 2023 08:55:54 +0200 ++ ++php8.3 (8.3.0~rc3-1) experimental; urgency=medium ++ ++ * Reintroduce patch to copy config.guess, config.sub, and ltmain.sh ++ * New upstream version 8.3.0~rc3 ++ ++ -- Ondřej Surý Fri, 06 Oct 2023 11:18:21 +0200 ++ ++php8.3 (8.3.0~rc1-1) experimental; urgency=medium ++ ++ * New upstream version 8.3.0~rc1 ++ * Bump PHPAPI to 20230831 ++ ++ -- Ondřej Surý Sat, 02 Sep 2023 08:28:02 +0200 ++ ++php8.3 (8.3.0~beta3-2) experimental; urgency=medium ++ ++ * Disable DTrace as it still FTBFS ++ ++ -- Ondřej Surý Tue, 29 Aug 2023 11:19:05 +0200 ++ ++php8.3 (8.3.0~beta3-1) experimental; urgency=medium ++ ++ * New upstream version 8.3.0~beta3 ++ ++ -- Ondřej Surý Tue, 29 Aug 2023 09:27:19 +0200 ++ ++php8.3 (8.3.0~beta2-1) experimental; urgency=medium ++ ++ * New upstream version 8.3.0~beta2 ++ * Remove DTrace build patch, fixed upstream ++ * Enable DTrace on all architectures ++ * Pull patch to fix DTrace enabled build ++ ++ -- Ondřej Surý Sun, 20 Aug 2023 13:28:13 +0200 ++ ++php8.3 (8.3.0~alpha3-1) experimental; urgency=medium ++ ++ * New upstream version 8.3.0~alpha3 ++ * Bump PHPAPI to 20220830 ++ ++ -- Ondřej Surý Mon, 10 Jul 2023 09:57:19 +0200 ++ ++php8.3 (8.3.0~alpha1-1) experimental; urgency=low ++ ++ * New upstream version 8.3.0~alpha1 ++ ++ -- Ondřej Surý Fri, 09 Jun 2023 19:15:41 +0200 ++ ++php8.2 (8.2.6-1) unstable; urgency=medium ++ ++ * New upstream version 8.2.6 ++ ++ -- Ondřej Surý Fri, 12 May 2023 08:08:36 +0200 ++ ++php8.2 (8.2.5-2) unstable; urgency=medium ++ ++ * Hard code sed path to /bin/sed (Closes: #1034423) ++ * Remove timestamps from phar (Closes: #1034892) ++ ++ -- Ondřej Surý Thu, 27 Apr 2023 10:13:47 +0200 ++ ++php8.2 (8.2.5-1) unstable; urgency=medium ++ ++ * New upstream version 8.2.5 ++ ++ -- Ondřej Surý Fri, 14 Apr 2023 06:07:56 +0200 ++ ++php8.2 (8.2.4-1) unstable; urgency=medium ++ ++ * New upstream version 8.2.4 ++ ++ -- Ondřej Surý Thu, 16 Mar 2023 15:24:40 +0100 ++ ++php8.2 (8.2.3-1) unstable; urgency=medium ++ ++ * New upstream version 8.2.3 (Closes: #1031368) ++ + CVE-2023-0567: Fixed bug #81744 (Password_verify() always return true ++ with some hash). ++ + CVE-2023-0568: Fixed bug #81746 (1-byte array overrun in common path ++ resolve code). ++ + CVE-2023-0662: Fixed bug GHSA-54hq-v5wp-fqgv (DOS vulnerability when ++ parsing multipart request body). ++ ++ -- Ondřej Surý Tue, 14 Feb 2023 17:51:54 +0100 ++ ++php8.2 (8.2.2-3) unstable; urgency=medium ++ ++ * Disable OPcache JIT by default (fixup) ++ ++ -- Ondřej Surý Tue, 07 Feb 2023 12:27:52 +0100 ++ ++php8.2 (8.2.2-2) unstable; urgency=medium ++ ++ * Disable OPcache JIT by default (can be re-enabled at runtime) ++ ++ -- Ondřej Surý Tue, 07 Feb 2023 11:54:06 +0100 ++ ++php8.2 (8.2.2-1) unstable; urgency=medium ++ ++ * New upstream version 8.2.2 ++ ++ -- Ondřej Surý Fri, 03 Feb 2023 10:34:17 +0100 ++ ++php8.2 (8.2.1-2) unstable; urgency=medium ++ ++ * Fix GH-10187: Segfault in stripslashes() with arm64 ++ ++ -- Ondřej Surý Fri, 13 Jan 2023 11:35:02 +0100 ++ ++php8.2 (8.2.1-1) unstable; urgency=medium ++ ++ * New upstream version 8.2.1 ++ ++ -- Ondřej Surý Fri, 06 Jan 2023 16:12:40 +0100 ++ ++php8.2 (8.2.0-4) unstable; urgency=medium ++ ++ * Upload to unstable ++ ++ -- Ondřej Surý Thu, 05 Jan 2023 13:39:04 +0100 ++ ++php8.2 (8.2.0-3) experimental; urgency=medium ++ ++ * Revert "Disable xxHash vectorization on ppc64el" ++ * Pull xxHash ppc64el fix from xxHash upstream ++ ++ -- Ondřej Surý Sat, 10 Dec 2022 11:52:05 +0100 ++ ++php8.2 (8.2.0-2) experimental; urgency=medium ++ ++ * Disable xxHash vectorization on ppc64el ++ ++ -- Ondřej Surý Sat, 10 Dec 2022 11:40:36 +0100 ++ ++php8.2 (8.2.0-1) experimental; urgency=medium ++ ++ * Update d/watch for PHP 8.2.0 ++ * New upstream version 8.2.0 ++ ++ -- Ondřej Surý Thu, 08 Dec 2022 14:09:11 +0100 ++ ++php8.2 (8.2.0~rc7-1) experimental; urgency=medium ++ ++ * New upstream version 8.2.0~rc7 ++ ++ -- Ondřej Surý Sat, 26 Nov 2022 15:11:52 +0100 ++ ++php8.2 (8.2.0~rc5-1) experimental; urgency=medium ++ ++ * New upstream version 8.2.0~rc5 ++ + CVE-2022-31630: OOB read due to insufficient input validation in ++ imageloadfont() ++ + CVE-2022-37454: buffer overflow in hash_update() on long parameter ++ ++ -- Ondřej Surý Fri, 28 Oct 2022 19:55:40 +0200 ++ ++php8.2 (8.2.0~rc4-1) experimental; urgency=medium ++ ++ * New upstream version 8.2.0~rc4 ++ ++ -- Ondřej Surý Mon, 24 Oct 2022 12:09:06 +0200 ++ ++php8.2 (8.2.0~rc3-1) experimental; urgency=medium ++ ++ * New upstream version 8.2.0~rc3 ++ + CVE-2022-31628: phar wrapper: DOS when using quine gzip file. ++ + CVE-2022-31629: Don't mangle HTTP variable names that clash with ++ ones that have a specific semantic meaning. ++ ++ -- Ondřej Surý Mon, 24 Oct 2022 12:08:58 +0200 ++ ++php8.2 (8.2.0~rc1-2) experimental; urgency=medium ++ ++ * Use media-types instead of mime-support (Closes: #1010155) ++ * Make the build (mostly) reproducible (Closes: #1001648) ++ * Export SED := /bin/sed in d/rules (Closes: #1015188) ++ ++ -- Ondřej Surý Sun, 18 Sep 2022 12:02:59 +0200 ++ ++php8.2 (8.2.0~rc1-1) experimental; urgency=medium ++ ++ * New upstream version 8.2.0~rc1 ++ * Bump d/phpapi to 20220829 ++ ++ -- Ondřej Surý Wed, 14 Sep 2022 12:20:18 +0200 ++ ++php8.2 (8.2.0~beta2-1) experimental; urgency=medium ++ ++ [ Simon Deziel ] ++ * debian: use non-capturing group with FilesMatch ++ * Add a brief comment explaning non-capturing group regexes ++ ++ [ Ondřej Surý ] ++ * New upstream version 8.2.0~beta2 ++ ++ -- Ondřej Surý Mon, 15 Aug 2022 11:37:56 +0200 ++ ++php8.2 (8.2.0~alpha3-1) experimental; urgency=medium ++ ++ * d/watch: Switch upstream location, add alpha/beta/rc version mangling ++ * Add Sergey Panteleev signing key ++ * New upstream version 8.2.0~alpha3 ++ ++ -- Ondřej Surý Thu, 07 Jul 2022 18:18:07 +0200 ++ ++php8.2 (8.2.0~alpha2-1) experimental; urgency=medium ++ ++ * New upstream version 8.2.0~alpha2 ++ * Refresh patches for PHP 8.2 ++ * Update phpapi for PHP 8.2 ++ ++ -- Ondřej Surý Wed, 06 Jul 2022 16:06:45 +0200 ++ ++php8.1 (8.1.7-2) unstable; urgency=medium ++ ++ * Add Provides: php-json to PHP SAPIS ++ ++ -- Ondřej Surý Sat, 25 Jun 2022 09:57:04 +0200 ++ ++php8.1 (8.1.7-1) unstable; urgency=medium ++ ++ * New upstream version 8.1.7 ++ ++ -- Ondřej Surý Fri, 10 Jun 2022 14:16:47 +0200 ++ ++php8.1 (8.1.6-1) unstable; urgency=medium ++ ++ * New upstream version 8.1.6 ++ ++ -- Ondřej Surý Tue, 17 May 2022 18:42:21 +0200 ++ ++php8.1 (8.1.5-1) unstable; urgency=medium ++ ++ * New upstream version 8.1.5 ++ ++ -- Ondřej Surý Thu, 21 Apr 2022 11:51:30 +0200 ++ ++php8.1 (8.1.4-1) unstable; urgency=medium ++ ++ * New upstream version 8.1.4 ++ ++ -- Ondřej Surý Sun, 20 Mar 2022 17:43:51 +0100 ++ ++php8.1 (8.1.3-1) unstable; urgency=medium ++ ++ * New upstream version 8.1.3 ++ + CVE-2021-21708: Fix use-after-free due to php_filter_float() failing ++ for ints (Closes: #1006672) ++ ++ -- Ondřej Surý Mon, 21 Feb 2022 15:47:42 +0100 ++ ++php8.1 (8.1.2-1) unstable; urgency=medium ++ ++ * New upstream version 8.1.2 ++ ++ -- Ondřej Surý Mon, 24 Jan 2022 11:36:08 +0100 ++ ++php8.1 (8.1.1-4) unstable; urgency=medium ++ ++ * Override result of AC_PROG_LN_S to fix FTBFS on ppc64el ++ ++ -- Ondřej Surý Mon, 03 Jan 2022 15:34:56 +0100 ++ ++php8.1 (8.1.1-3) unstable; urgency=medium ++ ++ * Fail the build when the dtrace call fails (Closes: #1000784) ++ ++ -- Ondřej Surý Fri, 31 Dec 2021 10:25:19 +0100 ++ ++php8.1 (8.1.1-2) unstable; urgency=medium ++ ++ * Lower the OpenSSL requirement to 1.0.1 ++ ++ -- Ondřej Surý Fri, 31 Dec 2021 08:25:33 +0100 ++ ++php8.1 (8.1.1-1) unstable; urgency=medium ++ ++ * New upstream version 8.1.1 ++ ++ -- Ondřej Surý Mon, 20 Dec 2021 22:13:08 +0100 ++ ++php8.1 (8.1.0-1) unstable; urgency=medium ++ ++ * Update d/watch for final PHP 8.1 ++ * New upstream version 8.1.0 ++ ++ -- Ondřej Surý Thu, 25 Nov 2021 20:57:29 +0100 ++ ++php8.1 (8.1.0~rc6-3) unstable; urgency=medium ++ ++ * Backported from 7.3.33 ++ - XML: ++ . Fix #79971: special character is breaking the path in xml function. ++ (CVE-2021-21707) ++ ++ -- Ondřej Surý Fri, 19 Nov 2021 07:45:31 +0100 ++ ++php8.1 (8.1.0~rc6-2) unstable; urgency=medium ++ ++ [ Pino Toscano ] ++ * Enable AppArmor (--with-fpm-apparmor) only on Linux archs ++ (Closes: #999495) ++ * Fix Vcs-* fields ++ ++ -- Ondřej Surý Sat, 13 Nov 2021 12:54:26 +0100 ++ ++php8.1 (8.1.0~rc6-1) unstable; urgency=medium ++ ++ * Update d/watch for updated location ++ * New upstream version 8.1.0~rc6 ++ ++ -- Ondřej Surý Thu, 11 Nov 2021 20:50:27 +0100 ++ ++php8.1 (8.1.0~rc5-2) unstable; urgency=medium ++ ++ * d/rules: Fix FTBFS on armhf. Use -mfpu=vfpv3-d16 in CFLAGS ++ (Pulled from Ubuntu.) ++ * Revert "Disable Zend fiber asm on armhf (FTBFS)" ++ ++ -- Ondřej Surý Wed, 10 Nov 2021 12:05:30 +0100 ++ ++php8.1 (8.1.0~rc5-1) unstable; urgency=medium ++ ++ * New upstream version 8.1.0~rc5 ++ * Disable Zend fiber asm on armhf (FTBFS) ++ ++ -- Ondřej Surý Thu, 04 Nov 2021 15:57:08 +0100 ++ ++php8.1 (8.1.0~rc4-1+u1) unstable; urgency=low ++ ++ * Upload to unstable ++ ++ -- Ondřej Surý Mon, 25 Oct 2021 13:35:13 +0200 ++ ++php8.1 (8.1.0~rc4-1) experimental; urgency=medium ++ ++ * New upstream version 8.1.0~rc4 ++ ++ -- Ondřej Surý Thu, 14 Oct 2021 18:09:23 +0200 ++ ++php8.1 (8.1.0~rc2-1) experimental; urgency=medium ++ ++ * New upstream version 8.1.0~rc2 ++ ++ -- Ondřej Surý Thu, 23 Sep 2021 22:52:45 +0200 ++ ++php8.1 (8.1.0~rc1-1) experimental; urgency=medium ++ ++ * New upstream version 8.1.0~rc1 ++ * Update the systz patch to v21 ++ * Add Patrick Allaert GPG key as upstream signing key ++ * Bump PHPAPI to 20210902 ++ ++ -- Ondřej Surý Mon, 13 Sep 2021 18:23:41 +0200 ++ ++php8.1 (8.1.0~beta3-1) experimental; urgency=medium ++ ++ * New upstream version 8.1.0~beta3 ++ * Check for symlink before removing directory in the postrm scripts ++ * Update packaging and patches for PHP 8.1.0 beta3 ++ ++ -- Ondřej Surý Wed, 25 Aug 2021 15:12:26 +0200 ++ ++php8.0 (8.0.9-1) unstable; urgency=medium ++ ++ * New upstream version 8.0.9 ++ ++ -- Ondřej Surý Fri, 30 Jul 2021 15:01:13 +0200 ++ ++php8.0 (8.0.8-1) unstable; urgency=medium ++ ++ * New upstream version 8.0.8 (Closes: #990575) ++ + CVE-2021-21705: SSRF bypass in FILTER_VALIDATE_URL ++ + CVE-2021-21704: Stack buffer overflow in firebird_info_cb ++ + CVE-2021-21704: SIGSEGV in firebird_handle_doer ++ + CVE-2021-21704: SIGSEGV in firebird_stmt_execute ++ + CVE-2021-21704: Crash while parsing blob data in firebird_fetch_blob ++ ++ -- Ondřej Surý Thu, 01 Jul 2021 17:25:46 +0200 ++ ++php8.0 (8.0.7-1) unstable; urgency=medium ++ ++ * Disable LTO (needed for Ubuntu Hirsute) - now for real ++ * New upstream version 8.0.7 ++ ++ -- Ondřej Surý Fri, 04 Jun 2021 12:03:18 +0200 ++ ++php8.0 (8.0.5-2) unstable; urgency=medium ++ ++ * Disable LTO (needed for Ubuntu Hirsute) ++ * Revert: Fix bug #80892 PDO::PARAM_INT on pdo_pgsql ++ ++ -- Ondřej Surý Mon, 03 May 2021 13:29:29 +0200 ++ ++php8.0 (8.0.5-1) unstable; urgency=medium ++ ++ * New upstream version 8.0.5 ++ ++ -- Ondřej Surý Sat, 01 May 2021 10:38:31 +0200 ++ ++php8.0 (8.0.3-3) unstable; urgency=medium ++ ++ * Allow printing credits buffer larger than 4k ++ ++ -- Ondřej Surý Sat, 03 Apr 2021 16:19:27 +0200 ++ ++php8.0 (8.0.3-2) unstable; urgency=medium ++ ++ * Update the packaging credits ++ ++ -- Ondřej Surý Thu, 18 Mar 2021 10:40:39 +0100 ++ ++php8.0 (8.0.3-1) unstable; urgency=medium ++ ++ * New upstream version 8.0.3 ++ ++ -- Ondřej Surý Fri, 05 Mar 2021 08:50:54 +0100 ++ ++php8.0 (8.0.2-7) unstable; urgency=medium ++ ++ * Bump php-common depends to 1:81~ ++ ++ -- Ondřej Surý Tue, 23 Feb 2021 15:58:27 +0100 ++ ++php8.0 (8.0.2-6) unstable; urgency=medium ++ ++ * Add example configuration to not pass URLs for missing files to ++ PHP-FPM ++ ++ -- Ondřej Surý Sat, 20 Feb 2021 17:48:30 +0100 ++ ++php8.0 (8.0.2-5) unstable; urgency=medium ++ ++ * Revert "Don't pass URLs for missing files to PHP-FPM" ++ ++ -- Ondřej Surý Fri, 19 Feb 2021 16:33:16 +0100 ++ ++php8.0 (8.0.2-4) unstable; urgency=medium ++ ++ [ Svante Signell ] ++ * Add patch to disable HR Timers on GNU Hurd (Closes: #951834) ++ * Add --without build-stamp to dh invocation ++ ++ -- Ondřej Surý Tue, 16 Feb 2021 19:42:14 +0100 ++ ++php8.0 (8.0.2-3) unstable; urgency=medium ++ ++ [ Sylvain Beucler ] ++ * Update obsolete/non-free FPM configuration procedure ++ ++ [ Kevin Locke ] ++ * Don't pass URLs for missing files to PHP-FPM ++ ++ [ Ondřej Surý ] ++ * Check if the logrotate script exists (GH #1534) ++ ++ -- Ondřej Surý Sun, 14 Feb 2021 15:02:37 +0100 ++ ++php8.0 (8.0.2-2) unstable; urgency=medium ++ ++ * Enable AppArmor support in FPM ++ * Enable FPM ACL support ++ ++ -- Ondřej Surý Fri, 12 Feb 2021 11:14:38 +0100 ++ ++php8.0 (8.0.2-1) unstable; urgency=medium ++ ++ * New upstream version 8.0.2 ++ * Force hardcoded path to be /bin/sed (Closes: #960786) ++ ++ -- Ondřej Surý Sun, 07 Feb 2021 12:39:18 +0100 ++ ++php8.0 (8.0.1-1) unstable; urgency=medium ++ ++ * New upstream version 8.0.1 ++ ++ -- Ondřej Surý Tue, 12 Jan 2021 11:05:21 +0100 ++ ++php8.0 (8.0.0-1) unstable; urgency=medium ++ ++ * Update d/watch for production PHP 8.0 release ++ * New upstream version 8.0.0 ++ ++ -- Ondřej Surý Fri, 27 Nov 2020 12:28:33 +0100 ++ ++php8.0 (8.0.0~rc3-4) unstable; urgency=medium ++ ++ * Copy the files from auxdir in a separate variable to sync with PHP 7.3 ++ and lower ++ ++ -- Ondřej Surý Sat, 31 Oct 2020 18:05:42 +0100 ++ ++php8.0 (8.0.0~rc3-3) unstable; urgency=medium ++ ++ * Move the non-m4 files from LIBTOOL_FILES to FILES_BUILD ++ ++ -- Ondřej Surý Sat, 31 Oct 2020 11:06:16 +0100 ++ ++php8.0 (8.0.0~rc3-2) unstable; urgency=medium ++ ++ * Move the system wide phpize files to LIBTOOL_FILES ++ ++ -- Ondřej Surý Sat, 31 Oct 2020 11:05:46 +0100 ++ ++php8.0 (8.0.0~rc3-1) unstable; urgency=medium ++ ++ * New upstream version 8.0.0~rc3 ++ ++ -- Ondřej Surý Fri, 30 Oct 2020 20:32:59 +0100 ++ ++php8.0 (8.0.0~rc1-6) unstable; urgency=medium ++ ++ * In phpize, copy the foreign files from their respective packages ++ (libtool, pkg-config, shtool) ++ ++ -- Ondřej Surý Sun, 18 Oct 2020 21:42:45 +0200 ++ ++php8.0 (8.0.0~rc1-5) unstable; urgency=medium ++ ++ * Include all libtool files from phpize.m4 ++ ++ -- Ondřej Surý Sun, 18 Oct 2020 13:38:45 +0200 ++ ++php8.0 (8.0.0~rc1-4) unstable; urgency=medium ++ ++ * Use system-wide pkg.m4 from pkg-config package in phpize ++ * Restore the patch to use system-wide libtool and pkg-config m4 files ++ ++ -- Ondřej Surý Sat, 17 Oct 2020 08:33:56 +0200 ++ ++php8.0 (8.0.0~rc1-3) unstable; urgency=medium ++ ++ [ Chris Hofstaedtler ] ++ * Use netcat-openbsd to build instead of netcat-traditional (Closes: #963261) ++ ++ [ Pino Toscano ] ++ * Disable AppArmor support on non-Linux archs (Closes: #951857) ++ * Enable systemd integration only on Linux archs (Closes: #951834) ++ ++ [ Ondřej Surý ] ++ * Use just php_module in the apache2 .load file ++ ++ -- Ondřej Surý Sun, 11 Oct 2020 16:01:02 +0200 ++ ++php8.0 (8.0.0~rc1-2) unstable; urgency=medium ++ ++ * Disable the MySQL extension testing as it's too complicated ++ ++ -- Ondřej Surý Sat, 10 Oct 2020 21:45:35 +0200 ++ ++php8.0 (8.0.0~rc1-1) unstable; urgency=medium ++ ++ * Regenerate d/control for PHP 8.0 ++ * New upstream version 8.0.0~rc1 ++ * Specify the socket via ./configure option rather than patch ++ * XMLRPC extension is no longer bundled ++ * The JSON extension is always available ++ * Fix syntax-error-in-dep5-copyright ++ * Update lintian overrides ++ * Remove obsolete d/NEWS ++ ++ -- Ondřej Surý Wed, 07 Oct 2020 20:11:17 +0200 ++ ++php7.4 (7.4.11-1) unstable; urgency=medium ++ ++ * New upstream version 7.4.11 ++ ++ -- Ondřej Surý Tue, 06 Oct 2020 12:34:39 +0200 ++ ++php7.4 (7.4.10-1) unstable; urgency=medium ++ ++ * New upstream version 7.4.10 ++ * Lower the minimal debhelper dependency to >= 9.20150101~ ++ * Use libenchant-dev as Build-Depends alternative to libenchant-2-dev ++ * Remove deprecated calls from enchant-2 (Closes: #954855) ++ ++ -- Ondřej Surý Tue, 08 Sep 2020 12:22:27 +0200 ++ ++php7.4 (7.4.9-2) unstable; urgency=medium ++ ++ * Pull upstream patch for enchant-2 and change build-dep (Closes: #954855) ++ ++ -- Ondřej Surý Thu, 27 Aug 2020 15:37:23 +0200 ++ ++php7.4 (7.4.9-1) unstable; urgency=medium ++ ++ * New upstream version 7.4.9 ++ ++ -- Ondřej Surý Fri, 07 Aug 2020 16:27:40 +0200 ++ ++php7.4 (7.4.8-1) unstable; urgency=medium ++ ++ * Finish updating the packaging to dh compat level 10 ++ * New upstream version 7.4.8 ++ * Adjust for upstream phar.phar -> phar7.4.phar binary rename ++ ++ -- Ondřej Surý Mon, 13 Jul 2020 18:35:53 +0200 ++ ++php7.4 (7.4.7-1) unstable; urgency=medium ++ ++ * New upstream version 7.4.7 ++ ++ -- Ondřej Surý Fri, 12 Jun 2020 09:42:27 +0200 ++ ++php7.4 (7.4.6-1) unstable; urgency=medium ++ ++ * Properly detect CRC32 APIs on aarch64 from configure ++ * New upstream version 7.4.6 ++ ++ -- Ondřej Surý Thu, 14 May 2020 11:59:59 +0200 ++ ++php7.4 (7.4.5-1) unstable; urgency=medium ++ ++ * New upstream version 7.4.5 ++ ++ -- Ondřej Surý Sun, 19 Apr 2020 09:35:13 +0200 ++ ++php7.4 (7.4.4-1) unstable; urgency=medium ++ ++ * Add (non-existent yet) systemd-tmpfiles package as alternative to systemd ++ * php-fpm has to depend on procps due kill usage in systemd service file ++ (Closes: #861855) ++ * New upstream version 7.4.4 ++ ++ -- Ondřej Surý Fri, 20 Mar 2020 14:45:16 +0100 ++ ++php7.4 (7.4.3-4) unstable; urgency=medium ++ ++ * Remove /etc/init/php@PHP_VERSION@-fpm.conf, not ++ /etc/init/php@PHP_VERSION@.conf (Closes: #951745) ++ ++ -- Ondřej Surý Sun, 23 Feb 2020 08:07:28 +0100 ++ ++php7.4 (7.4.3-3) unstable; urgency=medium ++ ++ * Fixup upstart removal (missing prepare-files update) (Closes: #951745) ++ ++ -- Ondřej Surý Fri, 21 Feb 2020 18:01:35 +0100 ++ ++php7.4 (7.4.3-2) unstable; urgency=medium ++ ++ * Remove the PIDFile= setting from systemd unit file (it should not be ++ needed with Type=notify) ++ * Use php-fpm-socket-helper from php-common >= 1:73 to update the ++ default socket ++ ++ -- Ondřej Surý Fri, 21 Feb 2020 09:59:48 +0100 ++ ++php7.4 (7.4.3-1) unstable; urgency=medium ++ ++ * Remove upstart support, use systemd-tmpfiles to create tmpfiles ++ (Closes: #923032) ++ * New upstream version 7.4.3 ++ ++ -- Ondřej Surý Thu, 20 Feb 2020 13:12:06 +0100 ++ ++php7.4 (7.4.2-7) unstable; urgency=medium ++ ++ * Add a note about PIDFile= and pid= match in php-fpm.conf ++ * Silently ignore errors from update-alternatives in php-fpm.service ++ ++ -- Ondřej Surý Sat, 08 Feb 2020 13:04:50 +0100 ++ ++php7.4 (7.4.2-6) unstable; urgency=medium ++ ++ * Use absolute path to update-alternatives ++ ++ -- Ondřej Surý Wed, 05 Feb 2020 17:47:54 +0100 ++ ++php7.4 (7.4.2-5) unstable; urgency=medium ++ ++ * Move the update-alternatives call from postinst/prerm to systemd startup script ++ ++ -- Ondřej Surý Sat, 01 Feb 2020 18:44:05 +0100 ++ ++php7.4 (7.4.2-4) unstable; urgency=medium ++ ++ * Make the creation of the default socket work on new installs ++ ++ -- Ondřej Surý Sat, 01 Feb 2020 14:11:48 +0100 ++ ++php7.4 (7.4.2-3) unstable; urgency=medium ++ ++ * Use a mock socket file for setting up FPM socket alternatives ++ ++ -- Ondřej Surý Sat, 01 Feb 2020 13:09:39 +0100 ++ ++php7.4 (7.4.2-2) unstable; urgency=medium ++ ++ * Create a generic /run/php/php-fpm.sock socket using update-alternatives ++ ++ -- Ondřej Surý Sat, 01 Feb 2020 10:17:27 +0100 ++ ++php7.4 (7.4.2-1) unstable; urgency=medium ++ ++ * New upstream version 7.4.2 ++ * Disable dh_autoreconf for PHP, it breaks the build ++ ++ -- Ondřej Surý Thu, 23 Jan 2020 12:20:45 +0100 ++ ++php7.4 (7.4.1-1) unstable; urgency=medium ++ ++ * Update d/watch for final release ++ * New upstream version 7.4.1 ++ * Bump the debhelper compat to 10 ++ * Bump the Standards Version (no change) ++ ++ -- Ondřej Surý Tue, 21 Jan 2020 09:23:37 +0100 ++ ++php7.4 (7.4.0-1) unstable; urgency=medium ++ ++ * New upstream version 7.4.0 ++ ++ -- Ondřej Surý Thu, 28 Nov 2019 08:25:29 +0100 ++ ++php7.4 (7.4.0~rc6-1) experimental; urgency=medium ++ ++ * Fix the FTBFS with MySQL 8.0 ++ * New upstream version 7.4.0~rc6 ++ ++ -- Ondřej Surý Tue, 19 Nov 2019 18:49:28 +0100 ++ ++php7.4 (7.4.0~rc4-1) experimental; urgency=medium ++ ++ * Bump d/phpapi to 20190902 ++ * New upstream version 7.4.0~rc4 ++ ++ -- Ondřej Surý Sat, 26 Oct 2019 11:10:04 +0200 ++ ++php7.4 (7.4.0~rc3-1) experimental; urgency=medium ++ ++ * New upstream version 7.4.0~rc3 ++ * GMP now uses autodetection (don't pass /usr to configure) ++ * Bump d/phpapi to 20190902 ++ ++ -- Ondřej Surý Tue, 08 Oct 2019 08:08:28 +0200 ++ ++php7.4 (7.4.0~beta4-2) experimental; urgency=medium ++ ++ * Enable FFI experimental extension ++ * Add libffi to B-D ++ ++ -- Ondřej Surý Wed, 28 Aug 2019 10:50:48 +0200 ++ ++php7.4 (7.4.0~beta4-1) experimental; urgency=medium ++ ++ * Remove 0003-libtool2.2.patch, it's no longer needed [GL #1236] ++ * New upstream version 7.4.0~beta4 ++ ++ -- Ondřej Surý Tue, 27 Aug 2019 15:22:26 +0200 ++ ++php7.4 (7.4.0~beta2-1) experimental; urgency=medium ++ ++ * New upstream version 7.4.0~beta2 ++ * Rebase patches for PHP 7.4.0~beta2 ++ ++ -- Ondřej Surý Thu, 08 Aug 2019 13:41:59 +0200 ++ ++php7.4 (7.4.0~beta1-1) experimental; urgency=medium ++ ++ * New upstream version 7.4.0~beta1 ++ * Rebase patches for PHP 7.4.0~beta1 ++ * Configure option --with-libxml-dir is now named --with-libxml ++ * The recode extension has been moved to PECL. ++ * The interbase extension has been moved to PECL. ++ * The configure option for zip extension has changed from --enable-zip to --with-zlib ++ * The WDDX extension has been deprecated and moved to PECL. ++ * The configure options to enable GD extension has changed to --enable-gd and --with-external-gd ++ * Regenerated d/control ++ * Update the configure options according to UPGRADING file (mostly pkg-config related changes) ++ * Cleanup the missing documentation ++ * Update phpapi to 20190529 ++ ++ -- Ondřej Surý Wed, 07 Aug 2019 17:47:41 +0200 ++ ++php7.4 (7.4.0~alpha2-1) experimental; urgency=low ++ ++ * New upstream version 7.4.0~alpha2 ++ ++ -- Ondřej Surý Wed, 10 Jul 2019 09:36:25 +0200 ++ ++php7.3 (7.3.7-1) unstable; urgency=medium ++ ++ * New upstream version 7.3.7 ++ ++ -- Ondřej Surý Wed, 10 Jul 2019 08:52:54 +0200 ++ ++php7.3 (7.3.6-1) unstable; urgency=medium ++ ++ [ Ondřej Surý ] ++ * New upstream version 7.3.6 ++ ++ [ Andreas Beckmann ] ++ * php7.3-curl: Add Breaks against php7.0-curl for smoother upgrades from stretch. (Closes: #929689) ++ ++ -- Ondřej Surý Fri, 31 May 2019 13:36:51 +0200 ++ ++php7.3 (7.3.5-1) unstable; urgency=medium ++ ++ * New upstream version 7.3.5 ++ ++ -- Ondřej Surý Fri, 03 May 2019 10:16:15 +0200 ++ ++php7.3 (7.3.4-2) unstable; urgency=medium ++ ++ [Andreas Beckmann] ++ * php7.3-common: Add Breaks against php7.0-curl for smoother upgrades from ++ stretch. (Closes: #925106) ++ * php7.3-common: Add Breaks against gforge-common from jessie which uses a ++ deprecated constructor syntax. ++ * Deterministically generate debian/control by sorting the extension ++ packages. ++ ++ -- Ondřej Surý Sat, 13 Apr 2019 19:05:48 +0000 ++ ++php7.3 (7.3.4-1) unstable; urgency=medium ++ ++ * Update d/watch for new php.net pages ++ * New upstream version 7.3.4 ++ * Enforce C++11 for intl compilation on older distributions ++ ++ -- Ondřej Surý Wed, 10 Apr 2019 06:55:43 +0000 ++ ++php7.3 (7.3.3-1) unstable; urgency=medium ++ ++ * New upstream version 7.3.3 ++ * Update systzdata patch to v18 (Courtesy of RemiRepo) ++ * Add patch for OpenSSL 1.1.1b (Courtesy of RemiRepo) ++ ++ -- Ondřej Surý Thu, 07 Mar 2019 19:43:34 +0000 ++ ++php7.3 (7.3.2-3) unstable; urgency=medium ++ ++ * Update systzdata patch to v17 (Courtesy of remirepo) ++ ++ -- Ondřej Surý Fri, 08 Feb 2019 15:05:54 +0000 ++ ++php7.3 (7.3.2-2) unstable; urgency=medium ++ ++ * Fix the icu patch condition for icu >= 60 ++ ++ -- Ondřej Surý Fri, 08 Feb 2019 10:49:26 +0000 ++ ++php7.3 (7.3.2-1) unstable; urgency=medium ++ ++ * New upstream version 7.3.2 ++ ++ -- Ondřej Surý Thu, 07 Feb 2019 17:58:05 +0000 ++ ++php7.3 (7.3.1-3) unstable; urgency=medium ++ ++ * Always build spoofchecker, because we are enforcing icu >= 50.1 ++ (Closes: #921199) ++ ++ -- Ondřej Surý Tue, 05 Feb 2019 10:25:33 +0000 ++ ++php7.3 (7.3.1-2) unstable; urgency=high ++ ++ * Add patch to use pkg-config instead of icu-config to detect icu ++ libraries (Closes: #916110) ++ ++ -- Ondřej Surý Mon, 21 Jan 2019 09:09:55 +0000 ++ ++php7.3 (7.3.1-1) unstable; urgency=medium ++ ++ * New upstream version 7.3.1 ++ ++ -- Ondřej Surý Sun, 13 Jan 2019 10:13:20 +0000 ++ ++php7.3 (7.3.0-2) unstable; urgency=medium ++ ++ * Add upstream patch to fix OPcache optimization problem for ++ ArrayAccess->offsetGet ++ * Add upstream patch to fix infinite loop in preg_replace_callback ++ * Fix check for rl_completion_matches in readline extension ++ ++ -- Ondřej Surý Mon, 17 Dec 2018 09:51:53 +0000 ++ ++php7.3 (7.3.0-1) unstable; urgency=medium ++ ++ * Update d/watch for the final PHP 7.3.0 release ++ * New upstream version 7.3.0 ++ ++ -- Ondřej Surý Thu, 06 Dec 2018 20:22:15 +0000 ++ ++php7.3 (7.3.0~rc6-1) unstable; urgency=medium ++ ++ * New upstream version 7.3.0~rc6 ++ ++ -- Ondřej Surý Sun, 25 Nov 2018 10:01:25 +0000 ++ ++php7.3 (7.3.0~rc5-2) unstable; urgency=medium ++ ++ * Don't use sed found by configure, use the sed command as available in ++ the host system (Closes: #913620) ++ ++ -- Ondřej Surý Tue, 13 Nov 2018 09:10:56 +0000 ++ ++php7.3 (7.3.0~rc5-1) unstable; urgency=medium ++ ++ * New upstream version 7.3.0~rc5 ++ * Enable lmdb support in dba extension ++ ++ -- Ondřej Surý Mon, 12 Nov 2018 09:54:24 +0000 ++ ++php7.3 (7.3.0~rc4-2) unstable; urgency=medium ++ ++ * Restore correct patch name for ++ 0040-Add-patch-to-install-php7-module-directly-to-APXS_LI.patch ++ ++ -- Ondřej Surý Sun, 04 Nov 2018 04:54:20 +0000 ++ ++php7.3 (7.3.0~rc4-1) unstable; urgency=medium ++ ++ * New upstream version 7.3.0~rc4 ++ * Rebase patches for PHP 7.4.0~rc4 ++ ++ -- Ondřej Surý Thu, 25 Oct 2018 08:57:33 +0000 ++ ++php7.3 (7.3.0~rc3-3) unstable; urgency=medium ++ ++ * Add patch to use pkg-config for FreeType2 library detection ++ (Closes: #911460) ++ * Remove libmcrypt-dev from Build-Depends ++ ++ -- Ondřej Surý Thu, 25 Oct 2018 06:39:32 +0000 ++ ++php7.3 (7.3.0~rc3-2) unstable; urgency=medium ++ ++ * Disable the enabled modules in prerm, because in postrm the phpquery ++ script is not aware of already removed sapi (Closes: #911018) ++ ++ -- Ondřej Surý Mon, 15 Oct 2018 09:53:04 +0000 ++ ++php7.3 (7.3.0~rc3-1) unstable; urgency=medium ++ ++ * New upstream version 7.3.0~rc3 ++ * Rebase patches for PHP 7.3.0~rc3 ++ ++ -- Ondřej Surý Sat, 13 Oct 2018 13:47:36 +0000 ++ ++php7.3 (7.3.0~rc2-3) unstable; urgency=medium ++ ++ * Remove ancient mv_conffile (from php5) ++ * Remove spurious L from phpize script (Closes: #909110) ++ * Downgrade dh-php from Recommends to Suggests (Closes: #910620) ++ ++ -- Ondřej Surý Tue, 09 Oct 2018 13:22:52 +0000 ++ ++php7.3 (7.3.0~rc2-2) unstable; urgency=medium ++ ++ * Fix the Vcs-* links ++ * Apply upstream patch to allow disabling pcre jit and disable it on ++ mips and s390x archs ++ * Extra 'L' is gone (Closes: #909110) ++ ++ -- Ondřej Surý Thu, 04 Oct 2018 14:25:15 +0000 ++ ++php7.3 (7.3.0~rc2-1) unstable; urgency=medium ++ ++ * New upstream version 7.3.0~rc2 ++ * Rebase patches for PHP 7.3.0~rc2 ++ ++ -- Ondřej Surý Mon, 01 Oct 2018 11:42:35 +0000 ++ ++php7.3 (7.3.0~beta2-3) unstable; urgency=medium ++ ++ * Disable assembly code with gcc 4.8 on i386 ++ ++ -- Ondřej Surý Mon, 20 Aug 2018 08:07:58 +0000 ++ ++php7.3 (7.3.0~beta2-2) unstable; urgency=medium ++ ++ * Remove dependency on pcre3 and add libpcre2-dev to phpX.Y-dev ++ ++ -- Ondřej Surý Sun, 19 Aug 2018 16:12:50 +0000 ++ ++php7.3 (7.3.0~beta2-1) unstable; urgency=medium ++ ++ * New upstream version 7.3.0~beta2 ++ * Rebase patches for PHP 7.3.0~beta2 ++ * Fix phpdbg.1 installation path from srcdir to builddir ++ * Bump d/phpapi to 20180731 ++ ++ -- Ondřej Surý Sun, 19 Aug 2018 07:49:10 +0000 ++ ++php7.3 (7.3.0~beta1-1) unstable; urgency=medium ++ ++ [ Lior Kaplan ] ++ * Fix syntax typo ++ ++ [ Ondřej Surý ] ++ * New upstream version 7.3.0~beta1 ++ * Rebase patches for PHP 7.3.0beta1 ++ ++ -- Ondřej Surý Fri, 03 Aug 2018 13:52:09 +0000 ++ ++php7.3 (7.3.0~alpha4-1) unstable; urgency=medium ++ ++ * Use cpuid.h instead of custom assembler ++ * New upstream version 7.3.0~alpha4 ++ * Rebase patches for PHP 7.3.0~alpha4 ++ ++ -- Ondřej Surý Wed, 25 Jul 2018 11:11:09 +0000 ++ ++php7.3 (7.3.0~alpha3-2) unstable; urgency=medium ++ ++ * Remove traces of ext_skel modifications ++ * Add profile to all default-mysql-server alternatives ++ * Bump d/phpapi for PHP 7.3 ++ * Add libargon2-dev as new alternative build-dependency to ++ libargon2-0-dev ++ ++ -- Ondřej Surý Sat, 14 Jul 2018 13:57:34 +0000 ++ ++php7.3 (7.3.0~alpha3-1) unstable; urgency=medium ++ ++ * Update upstream signing-key.asc for PHP 7.3 ++ * New upstream version 7.3.0~alpha3 ++ * Build-Depend on libpcre2-dev ++ * Rebase patches for PHP 7.3.0~alpha3 ++ ++ -- Ondřej Surý Mon, 09 Jul 2018 13:49:59 +0000 ++ ++php7.2 (7.2.7-2) unstable; urgency=medium ++ ++ * Update the maintainer email to team+pkg-php@tracker.debian.org ++ * Update the Vcs-* links to salsa.d.o ++ ++ -- Ondřej Surý Mon, 09 Jul 2018 12:28:45 +0000 ++ ++php7.2 (7.2.7-1) unstable; urgency=medium ++ ++ * New upstream version 7.2.7 ++ * Refresh patches for PHP 7.2.7 ++ ++ -- Ondřej Surý Fri, 22 Jun 2018 07:35:11 +0000 ++ ++php7.2 (7.2.6-1) unstable; urgency=medium ++ ++ * New upstream version 7.2.6 ++ * Rebase patches for PHP version 7.2.6 ++ ++ -- Ondřej Surý Mon, 11 Jun 2018 14:54:56 +0000 ++ ++php7.2 (7.2.5-1) unstable; urgency=medium ++ ++ * New upstream version 7.2.5 ++ * Rebase patches for PHP 7.2.5 ++ ++ -- Ondřej Surý Sat, 05 May 2018 04:56:32 +0000 ++ ++php7.2 (7.2.4-1) unstable; urgency=medium ++ ++ * New upstream version 7.2.4 ++ * Rebase patches on top of new upstream release. ++ ++ -- Ondřej Surý Thu, 05 Apr 2018 08:50:27 +0000 ++ ++php7.2 (7.2.3-1) unstable; urgency=medium ++ ++ * New upstream version 7.2.3 ++ * Rebase patches on top of new upstream release. ++ ++ -- Ondřej Surý Tue, 06 Mar 2018 11:15:04 +0000 ++ ++php7.2 (7.2.2-3) unstable; urgency=medium ++ ++ * Add explicit libpcre3 >= 2:8.35 dependency as dh_genshlibs is failing ++ to add versioned dependency for some reason. ++ ++ -- Ondřej Surý Tue, 06 Feb 2018 16:07:40 +0000 ++ ++php7.2 (7.2.2-2) unstable; urgency=medium ++ ++ * Remove explicit libpcre3 dependency and let dh_genshlibs do its magic ++ ++ -- Ondřej Surý Tue, 06 Feb 2018 13:00:04 +0000 ++ ++php7.2 (7.2.2-1) unstable; urgency=medium ++ ++ * New upstream version 7.2.2 ++ * Rebase patches on top of new upstream release ++ * Regenerate d/control to finish php7.2-sodium removal ++ ++ -- Ondřej Surý Thu, 01 Feb 2018 15:19:04 +0000 ++ ++php7.2 (7.2.1-1) unstable; urgency=medium ++ ++ * Update the Vcs-* to salsa.d.o ++ * Slightly update debian/copyright (most changes were already in) ++ * New upstream version 7.2.1 ++ * Rebase patches on top of new upstream release ++ ++ -- Ondřej Surý Fri, 05 Jan 2018 11:21:04 +0000 ++ ++php7.2 (7.2.0-2) unstable; urgency=medium ++ ++ * Get rid of extra php7.2-sodium module ++ ++ -- Ondřej Surý Wed, 06 Dec 2017 14:15:47 +0000 ++ ++php7.2 (7.2.0-1) unstable; urgency=low ++ ++ * Update PHP 7.2 signing keys ++ * New upstream version 7.2.0 ++ * Rebase patches for new upstream release. ++ ++ -- Ondřej Surý Thu, 30 Nov 2017 13:55:57 +0000 ++ ++php7.2 (7.2.0~rc6-1) unstable; urgency=medium ++ ++ * New upstream version 7.2.0~rc6 ++ * Rebase patches for new upstream version. ++ ++ -- Ondřej Surý Sun, 12 Nov 2017 03:30:05 +0000 ++ ++php7.2 (7.2.0~rc5-1) unstable; urgency=medium ++ ++ * New upstream version 7.2.0~rc5 ++ * Rebase patches for new upstream release ++ ++ -- Ondřej Surý Fri, 27 Oct 2017 13:33:55 +0000 ++ ++php7.2 (7.2.0~rc4-2) unstable; urgency=medium ++ ++ * Fix the usage of internal allocator in xmlrpc extension ++ ++ -- Ondřej Surý Tue, 24 Oct 2017 18:54:46 +0000 ++ ++php7.2 (7.2.0~rc4-1) unstable; urgency=medium ++ ++ * New upstream version 7.2.0~rc4 ++ * Rebase patches on top of new upstream version 7.2.0~rc4 ++ ++ -- Ondřej Surý Sun, 22 Oct 2017 13:07:11 +0000 ++ ++php7.2 (7.2.0~rc3-1) unstable; urgency=medium ++ ++ * New upstream version 7.2.0~rc3 ++ * Refresh patches for PHP 7.2.0~rc3 ++ ++ -- Ondřej Surý Thu, 28 Sep 2017 18:26:49 +0200 ++ ++php7.2 (7.2.0~rc2-1) unstable; urgency=medium ++ ++ * New upstream version 7.2.0~rc2 ++ * Rebase patches on top of PHP 7.2.0~rc2 ++ ++ -- Ondřej Surý Mon, 18 Sep 2017 11:24:14 +0200 ++ ++php7.2 (7.2.0~rc1-1) unstable; urgency=medium ++ ++ * New upstream version 7.2.0~rc1 ++ * Rebase patches on top of PHP 7.2.0~rc1 ++ * Update d/copyright (License check courtesy of Luca Falavigna) ++ * Rewrap the files in d/ with wrap-and-sort -a ++ ++ -- Ondřej Surý Thu, 31 Aug 2017 14:00:16 +0200 ++ ++php7.2 (7.2.0~beta3-2) unstable; urgency=medium ++ ++ * Enable Argon2 support for password hashing functions ++ * Enable shared libsodium extension ++ ++ -- Ondřej Surý Fri, 25 Aug 2017 11:35:23 +0200 ++ ++php7.2 (7.2.0~beta3-1) unstable; urgency=medium ++ ++ * Allow libgcrypt11-dev when it's not a transitional package ++ * New upstream version 7.2.0~beta3 ++ * Refresh patches on top of PHP 7.2.0~beta3 ++ ++ -- Ondřej Surý Fri, 18 Aug 2017 15:00:36 +0200 ++ ++php7.2 (7.2.0~beta2-2) experimental; urgency=medium ++ ++ * Update Vcs-* links to https://gitlab.com/deb.sury.org/... ++ * Stop depending on obsolete automake1.11 ++ * Switch build-depends to libgcrypt20-dev ++ ++ -- Ondřej Surý Fri, 04 Aug 2017 11:56:09 +0200 ++ ++php7.2 (7.2.0~beta2-1) experimental; urgency=medium ++ ++ * Update d/watch for PHP 7.2 ++ * New upstream version 7.2.0~beta2 ++ * Rebase patches for PHP 7.2.0~beta2 ++ ++ -- Ondřej Surý Thu, 03 Aug 2017 20:42:38 +0200 ++ ++php7.2 (7.2.0~beta1-1) experimental; urgency=medium ++ ++ * New upstream version 7.2.0~beta1 ++ * Enable support for libsodium crypto ++ * Rebase patches on top of PHP 7.2.0~beta1 ++ * Update phpapi for PHP 7.2 to 20170718 ++ ++ -- Ondřej Surý Thu, 27 Jul 2017 13:29:34 +0200 ++ ++php7.2 (7.2.0~alpha3-1) experimental; urgency=medium ++ ++ * New upstream version 7.2.0~alpha3 ++ * Rebase patches on top of PHP 7.2.0~alpha3 ++ * Update d/rules with configure.in -> configure.ac rename ++ * Remove mcrypt extension that has been removed upstream ++ * Update phpapi to 20160731 ++ ++ -- Ondřej Surý Thu, 06 Jul 2017 13:50:44 +0200 diff --cc debian/compat index 00000000,00000000..f599e28b new file mode 100644 --- /dev/null +++ b/debian/compat @@@ -1,0 -1,0 +1,1 @@@ ++10 diff --cc debian/control index 00000000,00000000..10a0a2cd new file mode 100644 --- /dev/null +++ b/debian/control @@@ -1,0 -1,0 +1,842 @@@ ++Source: php8.4 ++Section: php ++Priority: optional ++Maintainer: Debian PHP Maintainers ++Uploaders: Ondřej Surý , ++ Lior Kaplan ++Build-Depends: apache2-bin (>= 2.4), ++ apache2-dev (>= 2.4), ++ autoconf (>= 2.63), ++ automake, ++ bison, ++ chrpath, ++ debhelper (>= 9.20160709~), ++ default-libmysqlclient-dev | libmysqlclient-dev, ++ dh-apache2, ++ dpkg-dev (>= 1.16.1~), ++ firebird-dev [!hurd-any !m68k !hppa !ppc64] | firebird2.5-dev [!hurd-any !m68k !hppa !ppc64] | firebird2.1-dev [!hurd-any !m68k !hppa !ppc64], ++ flex, ++ freetds-dev, ++ libacl1-dev, ++ libapparmor-dev [linux-any], ++ libapr1-dev (>= 1.2.7-8), ++ libargon2-dev | libargon2-0-dev, ++ libbz2-dev, ++ libcurl4-openssl-dev | libcurl-dev, ++ libdb-dev, ++ libedit-dev (>= 2.11-20080614-4), ++ libenchant-2-dev | libenchant-dev, ++ libevent-dev (>= 1.4.11), ++ libexpat1-dev (>= 1.95.2-2.1), ++ libffi-dev, ++ libfreetype6-dev, ++ libgcrypt20-dev (>> 1.6.3) | libgcrypt11-dev (<< 1.5.4), ++ libgd-dev (>= 2.1.0) | libgd2-dev, ++ libglib2.0-dev, ++ libgmp3-dev, ++ libicu-dev (>= 50.1), ++ libjpeg-dev | libjpeg62-dev, ++ libkrb5-dev, ++ libldap2-dev, ++ liblmdb-dev, ++ libmagic-dev, ++ libmhash-dev (>= 0.8.8), ++ libnss-myhostname [linux-any], ++ libonig-dev, ++ libpam0g-dev, ++ libpcre2-dev (>= 10.30), ++ libpng-dev, ++ libpq-dev (>= 10.0), ++ libqdbm-dev, ++ libsasl2-dev, ++ libsnmp-dev, ++ libsodium-dev, ++ libsqlite3-dev (>= 3.7.7), ++ libssl-dev (>= 1.1.1), ++ libsystemd-dev [linux-any], ++ libtidy-dev (>= 1:5.2.0), ++ libtool (>= 2.2), ++ libwebp-dev, ++ libwrap0-dev, ++ libxml2-dev (>= 2.9.4), ++ libxslt1-dev (>= 1.0.18), ++ libzip-dev (>= 1.0.0), ++ locales-all | language-pack-de, ++ netbase, ++ netcat-openbsd, ++ re2c, ++ systemtap-sdt-dev, ++ tzdata, ++ unixodbc-dev, ++ zlib1g-dev (>= 1.2.11) ++Build-Conflicts: bind-dev, ++ libxmlrpc-core-c3-dev ++Standards-Version: 4.5.0.0 ++Vcs-Git: https://salsa.debian.org/php-team/php.git -b debian/main/8.4 ++Vcs-Browser: https://salsa.debian.org/php-team/php/-/tree/debian/main/8.4 ++Homepage: http://www.php.net/ ++ ++Package: libapache2-mod-php8.4 ++Section: httpd ++Architecture: any ++Depends: media-types | mime-support, ++ php8.4-cli, ++ php8.4-common (= ${binary:Version}), ++ php8.4-opcache, ++ tzdata, ++ ucf, ++ ${misc:Depends}, ++ ${shlibs:Depends} ++Provides: libapache2-mod-php, ++ php-json, ++ php8.4-json, ++ ${php:Provides} ++Recommends: apache2 ++Suggests: php-pear ++Description: server-side, HTML-embedded scripting language (Apache 2 module) ++ This package provides the PHP module for the Apache 2 webserver (as ++ found in the apache2-mpm-prefork package). Please note that this package ++ ONLY works with Apache's prefork MPM, as it is not compiled thread-safe. ++ . ++ ${php:Extensions} ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: libphp8.4-embed ++Architecture: any ++Depends: media-types | mime-support, ++ php8.4-cli, ++ php8.4-common (= ${binary:Version}), ++ php8.4-opcache, ++ tzdata, ++ ucf, ++ ${misc:Depends}, ++ ${shlibs:Depends} ++Provides: libphp-embed, ++ php-json, ++ php8.4-json, ++ ${php:Provides} ++Suggests: php-pear ++Description: HTML-embedded scripting language (Embedded SAPI library) ++ This package provides the library /usr/lib/libphp8.4.so which can ++ be used by application developers to embed PHP scripting functionality. ++ . ++ ${php:Extensions} ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ . ++ WARNING: The embed SAPI is experimental and there's no guarantee that ++ the API/ABI will be kept compatible even between minor releases. You ++ have been warned. ++ ++Package: php8.4 ++Architecture: all ++Depends: libapache2-mod-php8.4 | php8.4-fpm | php8.4-cgi, ++ php8.4-common, ++ ${misc:Depends} ++Provides: php ++Description: server-side, HTML-embedded scripting language (metapackage) ++ This package is a metapackage that, when installed, guarantees that you ++ have at least one of the four server-side versions of the PHP interpreter ++ installed. Removing this package won't remove PHP from your system, however ++ it may remove other packages that depend on this one. ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php8.4-cgi ++Architecture: any ++Depends: media-types | mime-support, ++ php8.4-cli, ++ php8.4-common (= ${binary:Version}), ++ php8.4-opcache, ++ tzdata, ++ ucf, ++ ${misc:Depends}, ++ ${shlibs:Depends} ++Provides: php-cgi, ++ php-json, ++ php8.4-json, ++ ${php:Provides} ++Suggests: php-pear ++Description: server-side, HTML-embedded scripting language (CGI binary) ++ This package provides the /usr/lib/cgi-bin/php CGI interpreter built ++ for use in Apache 2 with mod_actions, or any other CGI httpd that ++ supports a similar mechanism. Note that MOST users probably ++ want the php8.4-fpm package. ++ . ++ ${php:Extensions} ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php8.4-cli ++Architecture: any ++Depends: libedit2 (>= 2.11-20080614-4), ++ media-types | mime-support, ++ php8.4-common (= ${binary:Version}), ++ php8.4-opcache, ++ php8.4-readline, ++ tzdata, ++ ucf, ++ ${misc:Depends}, ++ ${shlibs:Depends} ++Provides: php-cli, ++ php-json, ++ php8.4-json, ++ ${php:Provides} ++Suggests: php-pear ++Description: command-line interpreter for the PHP scripting language ++ This package provides the /usr/bin/php8.4 command interpreter, useful for ++ testing PHP scripts from a shell or performing general shell scripting tasks. ++ . ++ ${php:Extensions} ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php8.4-dev ++Depends: autoconf (>= 2.63), ++ automake (>= 1.11), ++ libpcre2-dev (>= 10.30), ++ libssl-dev, ++ php8.4-cli (>= ${binary:Version}), ++ php8.4-common (= ${binary:Version}), ++ pkg-config, ++ shtool, ++ ${libtool:Depends}, ++ ${misc:Depends}, ++ ${perl:Depends} ++Conflicts: ${libtool:Conflicts} ++Architecture: any ++Recommends: pkg-php-tools ++Suggests: dh-php ++Description: Files for PHP8.4 module development ++ This package provides the files from the PHP8.4 source needed for compiling ++ additional modules. ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php8.4-fpm ++Architecture: any ++Depends: media-types | mime-support, ++ php8.4-cli, ++ php8.4-common (= ${binary:Version}), ++ php8.4-opcache, ++ procps, ++ systemd | systemd-tmpfiles, ++ tzdata, ++ ucf, ++ ${misc:Depends}, ++ ${shlibs:Depends} ++Provides: php-fpm, ++ php-json, ++ php8.4-json, ++ ${php:Provides} ++Suggests: php-pear ++Pre-Depends: ${misc:Pre-Depends} ++Description: server-side, HTML-embedded scripting language (FPM-CGI binary) ++ This package provides the Fast Process Manager interpreter that runs ++ as a daemon and receives Fast/CGI requests. Note that MOST Apache users ++ probably want the libapache2-mod-php8.4 package. ++ . ++ ${php:Extensions} ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php8.4-phpdbg ++Architecture: any ++Depends: media-types | mime-support, ++ php8.4-cli, ++ php8.4-common (= ${binary:Version}), ++ php8.4-opcache, ++ tzdata, ++ ucf, ++ ${misc:Depends}, ++ ${shlibs:Depends} ++Provides: php-json, ++ php-phpdbg, ++ php8.4-json, ++ ${php:Provides} ++Recommends: php-readline ++Description: server-side, HTML-embedded scripting language (PHPDBG binary) ++ This package provides the /usr/bin/phpdbg command interpreter, useful for ++ stepthrough debugging of PHP code. ++ . ++ ${php:Extensions} ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php8.4-xsl ++Architecture: all ++Depends: php8.4-common, ++ php8.4-xml, ++ ${misc:Depends} ++Description: XSL module for PHP (dummy) ++ This package is a transitional dummy package and can be safely ++ removed. ++ ++Package: php8.4-bcmath ++Architecture: any ++Depends: php-common (>= 2:95~), ++ ucf, ++ ${misc:Depends}, ++ ${php:Depends}, ++ ${php-bcmath:Depends}, ++ ${shlibs:Depends} ++Pre-Depends: ${misc:Pre-Depends}, ++ ${php-bcmath:Pre-Depends} ++Built-Using: ${php:Built-Using} ++Replaces: ${php-bcmath:Replaces} ++Breaks: ${php-bcmath:Breaks} ++Conflicts: ${php-bcmath:Conflicts} ++Provides: ${php-bcmath:Provides} ++Recommends: ${php-bcmath:Recommends} ++Description: Bcmath module for PHP ++ This package provides the Bcmath module(s) for PHP. ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php8.4-bz2 ++Architecture: any ++Depends: php-common (>= 2:95~), ++ ucf, ++ ${misc:Depends}, ++ ${php:Depends}, ++ ${php-bz2:Depends}, ++ ${shlibs:Depends} ++Pre-Depends: ${misc:Pre-Depends}, ++ ${php-bz2:Pre-Depends} ++Built-Using: ${php:Built-Using} ++Replaces: ${php-bz2:Replaces} ++Breaks: ${php-bz2:Breaks} ++Conflicts: ${php-bz2:Conflicts} ++Provides: ${php-bz2:Provides} ++Recommends: ${php-bz2:Recommends} ++Description: bzip2 module for PHP ++ This package provides the bzip2 module(s) for PHP. ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php8.4-common ++Architecture: any ++Depends: php-common (>= 2:95~), ++ ucf, ++ ${misc:Depends}, ++ ${php:Depends}, ++ ${php-common:Depends}, ++ ${shlibs:Depends} ++Pre-Depends: ${misc:Pre-Depends}, ++ ${php-common:Pre-Depends} ++Built-Using: ${php:Built-Using} ++Replaces: ${php-common:Replaces} ++Breaks: ${php-common:Breaks} ++Conflicts: ${php-common:Conflicts} ++Provides: ${php-common:Provides} ++Recommends: ${php-common:Recommends} ++Description: documentation, examples and common module for PHP ++ This package provides the documentation, examples and common module(s) for PHP. ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php8.4-curl ++Architecture: any ++Depends: php-common (>= 2:95~), ++ ucf, ++ ${misc:Depends}, ++ ${php:Depends}, ++ ${php-curl:Depends}, ++ ${shlibs:Depends} ++Pre-Depends: ${misc:Pre-Depends}, ++ ${php-curl:Pre-Depends} ++Built-Using: ${php:Built-Using} ++Replaces: ${php-curl:Replaces} ++Breaks: ${php-curl:Breaks} ++Conflicts: ${php-curl:Conflicts} ++Provides: ${php-curl:Provides} ++Recommends: ${php-curl:Recommends} ++Description: CURL module for PHP ++ This package provides the CURL module(s) for PHP. ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php8.4-dba ++Architecture: any ++Depends: php-common (>= 2:95~), ++ ucf, ++ ${misc:Depends}, ++ ${php:Depends}, ++ ${php-dba:Depends}, ++ ${shlibs:Depends} ++Pre-Depends: ${misc:Pre-Depends}, ++ ${php-dba:Pre-Depends} ++Built-Using: ${php:Built-Using} ++Replaces: ${php-dba:Replaces} ++Breaks: ${php-dba:Breaks} ++Conflicts: ${php-dba:Conflicts} ++Provides: ${php-dba:Provides} ++Recommends: ${php-dba:Recommends} ++Description: DBA module for PHP ++ This package provides the DBA module(s) for PHP. ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php8.4-enchant ++Architecture: any ++Depends: php-common (>= 2:95~), ++ ucf, ++ ${misc:Depends}, ++ ${php:Depends}, ++ ${php-enchant:Depends}, ++ ${shlibs:Depends} ++Pre-Depends: ${misc:Pre-Depends}, ++ ${php-enchant:Pre-Depends} ++Built-Using: ${php:Built-Using} ++Replaces: ${php-enchant:Replaces} ++Breaks: ${php-enchant:Breaks} ++Conflicts: ${php-enchant:Conflicts} ++Provides: ${php-enchant:Provides} ++Recommends: ${php-enchant:Recommends} ++Description: Enchant module for PHP ++ This package provides the Enchant module(s) for PHP. ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php8.4-gd ++Architecture: any ++Depends: php-common (>= 2:95~), ++ ucf, ++ ${misc:Depends}, ++ ${php:Depends}, ++ ${php-gd:Depends}, ++ ${shlibs:Depends} ++Pre-Depends: ${misc:Pre-Depends}, ++ ${php-gd:Pre-Depends} ++Built-Using: ${php:Built-Using} ++Replaces: ${php-gd:Replaces} ++Breaks: ${php-gd:Breaks} ++Conflicts: ${php-gd:Conflicts} ++Provides: ${php-gd:Provides} ++Recommends: ${php-gd:Recommends} ++Description: GD module for PHP ++ This package provides the GD module(s) for PHP. ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php8.4-gmp ++Architecture: any ++Depends: php-common (>= 2:95~), ++ ucf, ++ ${misc:Depends}, ++ ${php:Depends}, ++ ${php-gmp:Depends}, ++ ${shlibs:Depends} ++Pre-Depends: ${misc:Pre-Depends}, ++ ${php-gmp:Pre-Depends} ++Built-Using: ${php:Built-Using} ++Replaces: ${php-gmp:Replaces} ++Breaks: ${php-gmp:Breaks} ++Conflicts: ${php-gmp:Conflicts} ++Provides: ${php-gmp:Provides} ++Recommends: ${php-gmp:Recommends} ++Description: GMP module for PHP ++ This package provides the GMP module(s) for PHP. ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php8.4-interbase ++Architecture: any ++Depends: php-common (>= 2:95~), ++ ucf, ++ ${misc:Depends}, ++ ${php:Depends}, ++ ${php-interbase:Depends}, ++ ${shlibs:Depends} ++Pre-Depends: ${misc:Pre-Depends}, ++ ${php-interbase:Pre-Depends} ++Built-Using: ${php:Built-Using} ++Replaces: ${php-interbase:Replaces} ++Breaks: ${php-interbase:Breaks} ++Conflicts: ${php-interbase:Conflicts} ++Provides: ${php-interbase:Provides} ++Recommends: ${php-interbase:Recommends} ++Description: Interbase module for PHP ++ This package provides the Interbase module(s) for PHP. ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php8.4-intl ++Architecture: any ++Depends: php-common (>= 2:95~), ++ ucf, ++ ${misc:Depends}, ++ ${php:Depends}, ++ ${php-intl:Depends}, ++ ${shlibs:Depends} ++Pre-Depends: ${misc:Pre-Depends}, ++ ${php-intl:Pre-Depends} ++Built-Using: ${php:Built-Using} ++Replaces: ${php-intl:Replaces} ++Breaks: ${php-intl:Breaks} ++Conflicts: ${php-intl:Conflicts} ++Provides: ${php-intl:Provides} ++Recommends: ${php-intl:Recommends} ++Description: Internationalisation module for PHP ++ This package provides the Internationalisation module(s) for PHP. ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php8.4-ldap ++Architecture: any ++Depends: php-common (>= 2:95~), ++ ucf, ++ ${misc:Depends}, ++ ${php:Depends}, ++ ${php-ldap:Depends}, ++ ${shlibs:Depends} ++Pre-Depends: ${misc:Pre-Depends}, ++ ${php-ldap:Pre-Depends} ++Built-Using: ${php:Built-Using} ++Replaces: ${php-ldap:Replaces} ++Breaks: ${php-ldap:Breaks} ++Conflicts: ${php-ldap:Conflicts} ++Provides: ${php-ldap:Provides} ++Recommends: ${php-ldap:Recommends} ++Description: LDAP module for PHP ++ This package provides the LDAP module(s) for PHP. ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php8.4-mbstring ++Architecture: any ++Depends: php-common (>= 2:95~), ++ ucf, ++ ${misc:Depends}, ++ ${php:Depends}, ++ ${php-mbstring:Depends}, ++ ${shlibs:Depends} ++Pre-Depends: ${misc:Pre-Depends}, ++ ${php-mbstring:Pre-Depends} ++Built-Using: ${php:Built-Using} ++Replaces: ${php-mbstring:Replaces} ++Breaks: ${php-mbstring:Breaks} ++Conflicts: ${php-mbstring:Conflicts} ++Provides: ${php-mbstring:Provides} ++Recommends: ${php-mbstring:Recommends} ++Description: MBSTRING module for PHP ++ This package provides the MBSTRING module(s) for PHP. ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php8.4-mysql ++Architecture: any ++Depends: php-common (>= 2:95~), ++ ucf, ++ ${misc:Depends}, ++ ${php:Depends}, ++ ${php-mysql:Depends}, ++ ${shlibs:Depends} ++Pre-Depends: ${misc:Pre-Depends}, ++ ${php-mysql:Pre-Depends} ++Built-Using: ${php:Built-Using} ++Replaces: ${php-mysql:Replaces} ++Breaks: ${php-mysql:Breaks} ++Conflicts: ${php-mysql:Conflicts} ++Provides: ${php-mysql:Provides} ++Recommends: ${php-mysql:Recommends} ++Description: MySQL module for PHP ++ This package provides the MySQL module(s) for PHP. ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php8.4-odbc ++Architecture: any ++Depends: php-common (>= 2:95~), ++ ucf, ++ ${misc:Depends}, ++ ${php:Depends}, ++ ${php-odbc:Depends}, ++ ${shlibs:Depends} ++Pre-Depends: ${misc:Pre-Depends}, ++ ${php-odbc:Pre-Depends} ++Built-Using: ${php:Built-Using} ++Replaces: ${php-odbc:Replaces} ++Breaks: ${php-odbc:Breaks} ++Conflicts: ${php-odbc:Conflicts} ++Provides: ${php-odbc:Provides} ++Recommends: ${php-odbc:Recommends} ++Description: ODBC module for PHP ++ This package provides the ODBC module(s) for PHP. ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php8.4-opcache ++Architecture: any ++Depends: php-common (>= 2:95~), ++ ucf, ++ ${misc:Depends}, ++ ${php:Depends}, ++ ${php-opcache:Depends}, ++ ${shlibs:Depends} ++Pre-Depends: ${misc:Pre-Depends}, ++ ${php-opcache:Pre-Depends} ++Built-Using: ${php:Built-Using} ++Replaces: ${php-opcache:Replaces} ++Breaks: ${php-opcache:Breaks} ++Conflicts: ${php-opcache:Conflicts} ++Provides: ${php-opcache:Provides} ++Recommends: ${php-opcache:Recommends} ++Description: Zend OpCache module for PHP ++ This package provides the Zend OpCache module(s) for PHP. ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php8.4-pgsql ++Architecture: any ++Depends: php-common (>= 2:95~), ++ ucf, ++ ${misc:Depends}, ++ ${php:Depends}, ++ ${php-pgsql:Depends}, ++ ${shlibs:Depends} ++Pre-Depends: ${misc:Pre-Depends}, ++ ${php-pgsql:Pre-Depends} ++Built-Using: ${php:Built-Using} ++Replaces: ${php-pgsql:Replaces} ++Breaks: ${php-pgsql:Breaks} ++Conflicts: ${php-pgsql:Conflicts} ++Provides: ${php-pgsql:Provides} ++Recommends: ${php-pgsql:Recommends} ++Description: PostgreSQL module for PHP ++ This package provides the PostgreSQL module(s) for PHP. ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php8.4-readline ++Architecture: any ++Depends: php-common (>= 2:95~), ++ ucf, ++ ${misc:Depends}, ++ ${php:Depends}, ++ ${php-readline:Depends}, ++ ${shlibs:Depends} ++Pre-Depends: ${misc:Pre-Depends}, ++ ${php-readline:Pre-Depends} ++Built-Using: ${php:Built-Using} ++Replaces: ${php-readline:Replaces} ++Breaks: ${php-readline:Breaks} ++Conflicts: ${php-readline:Conflicts} ++Provides: ${php-readline:Provides} ++Recommends: ${php-readline:Recommends} ++Description: readline module for PHP ++ This package provides the readline module(s) for PHP. ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php8.4-snmp ++Architecture: any ++Depends: php-common (>= 2:95~), ++ ucf, ++ ${misc:Depends}, ++ ${php:Depends}, ++ ${php-snmp:Depends}, ++ ${shlibs:Depends} ++Pre-Depends: ${misc:Pre-Depends}, ++ ${php-snmp:Pre-Depends} ++Built-Using: ${php:Built-Using} ++Replaces: ${php-snmp:Replaces} ++Breaks: ${php-snmp:Breaks} ++Conflicts: ${php-snmp:Conflicts} ++Provides: ${php-snmp:Provides} ++Recommends: ${php-snmp:Recommends} ++Description: SNMP module for PHP ++ This package provides the SNMP module(s) for PHP. ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php8.4-soap ++Architecture: any ++Depends: php-common (>= 2:95~), ++ ucf, ++ ${misc:Depends}, ++ ${php:Depends}, ++ ${php-soap:Depends}, ++ ${shlibs:Depends} ++Pre-Depends: ${misc:Pre-Depends}, ++ ${php-soap:Pre-Depends} ++Built-Using: ${php:Built-Using} ++Replaces: ${php-soap:Replaces} ++Breaks: ${php-soap:Breaks} ++Conflicts: ${php-soap:Conflicts} ++Provides: ${php-soap:Provides} ++Recommends: ${php-soap:Recommends} ++Description: SOAP module for PHP ++ This package provides the SOAP module(s) for PHP. ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php8.4-sqlite3 ++Architecture: any ++Depends: php-common (>= 2:95~), ++ ucf, ++ ${misc:Depends}, ++ ${php:Depends}, ++ ${php-sqlite3:Depends}, ++ ${shlibs:Depends} ++Pre-Depends: ${misc:Pre-Depends}, ++ ${php-sqlite3:Pre-Depends} ++Built-Using: ${php:Built-Using} ++Replaces: ${php-sqlite3:Replaces} ++Breaks: ${php-sqlite3:Breaks} ++Conflicts: ${php-sqlite3:Conflicts} ++Provides: ${php-sqlite3:Provides} ++Recommends: ${php-sqlite3:Recommends} ++Description: SQLite3 module for PHP ++ This package provides the SQLite3 module(s) for PHP. ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php8.4-sybase ++Architecture: any ++Depends: php-common (>= 2:95~), ++ ucf, ++ ${misc:Depends}, ++ ${php:Depends}, ++ ${php-sybase:Depends}, ++ ${shlibs:Depends} ++Pre-Depends: ${misc:Pre-Depends}, ++ ${php-sybase:Pre-Depends} ++Built-Using: ${php:Built-Using} ++Replaces: ${php-sybase:Replaces} ++Breaks: ${php-sybase:Breaks} ++Conflicts: ${php-sybase:Conflicts} ++Provides: ${php-sybase:Provides} ++Recommends: ${php-sybase:Recommends} ++Description: Sybase module for PHP ++ This package provides the Sybase module(s) for PHP. ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php8.4-tidy ++Architecture: any ++Depends: php-common (>= 2:95~), ++ ucf, ++ ${misc:Depends}, ++ ${php:Depends}, ++ ${php-tidy:Depends}, ++ ${shlibs:Depends} ++Pre-Depends: ${misc:Pre-Depends}, ++ ${php-tidy:Pre-Depends} ++Built-Using: ${php:Built-Using} ++Replaces: ${php-tidy:Replaces} ++Breaks: ${php-tidy:Breaks} ++Conflicts: ${php-tidy:Conflicts} ++Provides: ${php-tidy:Provides} ++Recommends: ${php-tidy:Recommends} ++Description: tidy module for PHP ++ This package provides the tidy module(s) for PHP. ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php8.4-xml ++Architecture: any ++Depends: php-common (>= 2:95~), ++ ucf, ++ ${misc:Depends}, ++ ${php:Depends}, ++ ${php-xml:Depends}, ++ ${shlibs:Depends} ++Pre-Depends: ${misc:Pre-Depends}, ++ ${php-xml:Pre-Depends} ++Built-Using: ${php:Built-Using} ++Replaces: ${php-xml:Replaces} ++Breaks: ${php-xml:Breaks} ++Conflicts: ${php-xml:Conflicts} ++Provides: ${php-xml:Provides} ++Recommends: ${php-xml:Recommends} ++Description: DOM, SimpleXML, XML, and XSL module for PHP ++ This package provides the DOM, SimpleXML, XML, and XSL module(s) for PHP. ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php8.4-zip ++Architecture: any ++Depends: php-common (>= 2:95~), ++ ucf, ++ ${misc:Depends}, ++ ${php:Depends}, ++ ${php-zip:Depends}, ++ ${shlibs:Depends} ++Pre-Depends: ${misc:Pre-Depends}, ++ ${php-zip:Pre-Depends} ++Built-Using: ${php:Built-Using} ++Replaces: ${php-zip:Replaces} ++Breaks: ${php-zip:Breaks} ++Conflicts: ${php-zip:Conflicts} ++Provides: ${php-zip:Provides} ++Recommends: ${php-zip:Recommends} ++Description: Zip module for PHP ++ This package provides the Zip module(s) for PHP. ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. diff --cc debian/control.in index 00000000,00000000..48144511 new file mode 100644 --- /dev/null +++ b/debian/control.in @@@ -1,0 -1,0 +1,290 @@@ ++Source: php@PHP_VERSION@ ++Section: php ++Priority: optional ++Maintainer: Debian PHP Maintainers ++Uploaders: Ondřej Surý , ++ Lior Kaplan ++Build-Depends: apache2-bin (>= 2.4), ++ apache2-dev (>= 2.4), ++ autoconf (>= 2.63), ++ automake, ++ bison, ++ chrpath, ++ debhelper (>= 9.20160709~), ++ default-libmysqlclient-dev | libmysqlclient-dev, ++ dh-apache2, ++ dpkg-dev (>= 1.16.1~), ++ firebird-dev [!hurd-any !m68k !hppa !ppc64] | firebird2.5-dev [!hurd-any !m68k !hppa !ppc64] | firebird2.1-dev [!hurd-any !m68k !hppa !ppc64], ++ flex, ++ freetds-dev, ++ libacl1-dev, ++ libapparmor-dev [linux-any], ++ libapr1-dev (>= 1.2.7-8), ++ libargon2-dev | libargon2-0-dev, ++ libbz2-dev, ++ libcurl4-openssl-dev | libcurl-dev, ++ libdb-dev, ++ libedit-dev (>= 2.11-20080614-4), ++ libenchant-2-dev | libenchant-dev, ++ libevent-dev (>= 1.4.11), ++ libexpat1-dev (>= 1.95.2-2.1), ++ libffi-dev, ++ libfreetype6-dev, ++ libgcrypt20-dev (>> 1.6.3) | libgcrypt11-dev (<< 1.5.4), ++ libgd-dev (>= 2.1.0) | libgd2-dev, ++ libglib2.0-dev, ++ libgmp3-dev, ++ libicu-dev (>= 50.1), ++ libjpeg-dev | libjpeg62-dev, ++ libkrb5-dev, ++ libldap2-dev, ++ liblmdb-dev, ++ libmagic-dev, ++ libmhash-dev (>= 0.8.8), ++ libnss-myhostname [linux-any], ++ libonig-dev, ++ libpam0g-dev, ++ libpcre2-dev (>= 10.30), ++ libpng-dev, ++ libpq-dev (>= 10.0), ++ libqdbm-dev, ++ libsasl2-dev, ++ libsnmp-dev, ++ libsodium-dev, ++ libsqlite3-dev (>= 3.7.7), ++ libssl-dev (>= 1.1.1), ++ libsystemd-dev [linux-any], ++ libtidy-dev (>= 1:5.2.0), ++ libtool (>= 2.2), ++ libwebp-dev, ++ libwrap0-dev, ++ libxml2-dev (>= 2.9.4), ++ libxslt1-dev (>= 1.0.18), ++ libzip-dev (>= 1.0.0), ++ locales-all | language-pack-de, ++ netbase, ++ netcat-openbsd, ++ re2c, ++ systemtap-sdt-dev, ++ tzdata, ++ unixodbc-dev, ++ zlib1g-dev (>= 1.2.11) ++Build-Conflicts: bind-dev, ++ libxmlrpc-core-c3-dev ++Standards-Version: 4.5.0.0 ++Vcs-Git: https://salsa.debian.org/php-team/php.git -b debian/main/@PHP_VERSION@ ++Vcs-Browser: https://salsa.debian.org/php-team/php/-/tree/debian/main/@PHP_VERSION@ ++Homepage: http://www.php.net/ ++ ++Package: libapache2-mod-php@PHP_VERSION@ ++Section: httpd ++Architecture: any ++Depends: media-types | mime-support, ++ php@PHP_VERSION@-cli, ++ php@PHP_VERSION@-common (= ${binary:Version}), ++ php@PHP_VERSION@-opcache, ++ tzdata, ++ ucf, ++ ${misc:Depends}, ++ ${shlibs:Depends} ++Provides: libapache2-mod-php, ++ php-json, ++ php@PHP_VERSION@-json, ++ ${php:Provides} ++Recommends: apache2 ++Suggests: php-pear ++Description: server-side, HTML-embedded scripting language (Apache 2 module) ++ This package provides the PHP module for the Apache 2 webserver (as ++ found in the apache2-mpm-prefork package). Please note that this package ++ ONLY works with Apache's prefork MPM, as it is not compiled thread-safe. ++ . ++ ${php:Extensions} ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: libphp@PHP_VERSION@-embed ++Architecture: any ++Depends: media-types | mime-support, ++ php@PHP_VERSION@-cli, ++ php@PHP_VERSION@-common (= ${binary:Version}), ++ php@PHP_VERSION@-opcache, ++ tzdata, ++ ucf, ++ ${misc:Depends}, ++ ${shlibs:Depends} ++Provides: libphp-embed, ++ php-json, ++ php@PHP_VERSION@-json, ++ ${php:Provides} ++Suggests: php-pear ++Description: HTML-embedded scripting language (Embedded SAPI library) ++ This package provides the library /usr/lib/libphp@PHP_VERSION@.so which can ++ be used by application developers to embed PHP scripting functionality. ++ . ++ ${php:Extensions} ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ . ++ WARNING: The embed SAPI is experimental and there's no guarantee that ++ the API/ABI will be kept compatible even between minor releases. You ++ have been warned. ++ ++Package: php@PHP_VERSION@ ++Architecture: all ++Depends: libapache2-mod-php@PHP_VERSION@ | php@PHP_VERSION@-fpm | php@PHP_VERSION@-cgi, ++ php@PHP_VERSION@-common, ++ ${misc:Depends} ++Provides: php ++Description: server-side, HTML-embedded scripting language (metapackage) ++ This package is a metapackage that, when installed, guarantees that you ++ have at least one of the four server-side versions of the PHP interpreter ++ installed. Removing this package won't remove PHP from your system, however ++ it may remove other packages that depend on this one. ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php@PHP_VERSION@-cgi ++Architecture: any ++Depends: media-types | mime-support, ++ php@PHP_VERSION@-cli, ++ php@PHP_VERSION@-common (= ${binary:Version}), ++ php@PHP_VERSION@-opcache, ++ tzdata, ++ ucf, ++ ${misc:Depends}, ++ ${shlibs:Depends} ++Provides: php-cgi, ++ php-json, ++ php@PHP_VERSION@-json, ++ ${php:Provides} ++Suggests: php-pear ++Description: server-side, HTML-embedded scripting language (CGI binary) ++ This package provides the /usr/lib/cgi-bin/php CGI interpreter built ++ for use in Apache 2 with mod_actions, or any other CGI httpd that ++ supports a similar mechanism. Note that MOST users probably ++ want the php@PHP_VERSION@-fpm package. ++ . ++ ${php:Extensions} ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php@PHP_VERSION@-cli ++Architecture: any ++Depends: libedit2 (>= 2.11-20080614-4), ++ media-types | mime-support, ++ php@PHP_VERSION@-common (= ${binary:Version}), ++ php@PHP_VERSION@-opcache, ++ php@PHP_VERSION@-readline, ++ tzdata, ++ ucf, ++ ${misc:Depends}, ++ ${shlibs:Depends} ++Provides: php-cli, ++ php-json, ++ php@PHP_VERSION@-json, ++ ${php:Provides} ++Suggests: php-pear ++Description: command-line interpreter for the PHP scripting language ++ This package provides the /usr/bin/php@PHP_VERSION@ command interpreter, useful for ++ testing PHP scripts from a shell or performing general shell scripting tasks. ++ . ++ ${php:Extensions} ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php@PHP_VERSION@-dev ++Depends: autoconf (>= 2.63), ++ automake (>= 1.11), ++ libpcre2-dev (>= 10.30), ++ libssl-dev, ++ php@PHP_VERSION@-cli (>= ${binary:Version}), ++ php@PHP_VERSION@-common (= ${binary:Version}), ++ pkg-config, ++ shtool, ++ ${libtool:Depends}, ++ ${misc:Depends}, ++ ${perl:Depends} ++Conflicts: ${libtool:Conflicts} ++Architecture: any ++Recommends: pkg-php-tools ++Suggests: dh-php ++Description: Files for PHP@PHP_VERSION@ module development ++ This package provides the files from the PHP@PHP_VERSION@ source needed for compiling ++ additional modules. ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php@PHP_VERSION@-fpm ++Architecture: any ++Depends: media-types | mime-support, ++ php@PHP_VERSION@-cli, ++ php@PHP_VERSION@-common (= ${binary:Version}), ++ php@PHP_VERSION@-opcache, ++ procps, ++ systemd | systemd-tmpfiles, ++ tzdata, ++ ucf, ++ ${misc:Depends}, ++ ${shlibs:Depends} ++Provides: php-fpm, ++ php-json, ++ php@PHP_VERSION@-json, ++ ${php:Provides} ++Suggests: php-pear ++Pre-Depends: ${misc:Pre-Depends} ++Description: server-side, HTML-embedded scripting language (FPM-CGI binary) ++ This package provides the Fast Process Manager interpreter that runs ++ as a daemon and receives Fast/CGI requests. Note that MOST Apache users ++ probably want the libapache2-mod-php@PHP_VERSION@ package. ++ . ++ ${php:Extensions} ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php@PHP_VERSION@-phpdbg ++Architecture: any ++Depends: media-types | mime-support, ++ php@PHP_VERSION@-cli, ++ php@PHP_VERSION@-common (= ${binary:Version}), ++ php@PHP_VERSION@-opcache, ++ tzdata, ++ ucf, ++ ${misc:Depends}, ++ ${shlibs:Depends} ++Provides: php-json, ++ php-phpdbg, ++ php@PHP_VERSION@-json, ++ ${php:Provides} ++Recommends: php-readline ++Description: server-side, HTML-embedded scripting language (PHPDBG binary) ++ This package provides the /usr/bin/phpdbg command interpreter, useful for ++ stepthrough debugging of PHP code. ++ . ++ ${php:Extensions} ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. ++ ++Package: php@PHP_VERSION@-xsl ++Architecture: all ++Depends: php@PHP_VERSION@-common, ++ php@PHP_VERSION@-xml, ++ ${misc:Depends} ++Description: XSL module for PHP (dummy) ++ This package is a transitional dummy package and can be safely ++ removed. diff --cc debian/copyright index 00000000,00000000..3ffd5951 new file mode 100644 --- /dev/null +++ b/debian/copyright @@@ -1,0 -1,0 +1,726 @@@ ++Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ ++Upstream-Name: php ++Upstream-Contact: https://bugs.php.net/ ++Source: http://php.net/downloads.php ++ ++Files: * ++Copyright: 1999-2018 The PHP Group. ++License: PHP-3.01 ++ ++Files: TSRM/* ++Copyright: 1999-2006 Andi Gutmans, Sascha Schumann, Zeev Suraski. ++License: BSD-TSRM ++ ++Files: pear/install-pear-nozlib.phar ++Copyright: ++ 1996-2005 Daniel Stenberg ++ 1997-2006 The PHP Group ++ 2004 The PEAR Group ++ 2001-2015 The PEAR developers ++ 2004-2005 Michael Wallner ++ 2004-2008 Greg Beaver ++ Alexander Merz ++ Baba Buehler ++ Bertrand Mansion ++ David C. Morse ++ Hannes Magnusson ++ Hans Lellelid ++ Helgi Þormar Þorbjörnsson ++ Ian Eure ++ Mark Wiesemann ++ Martin Jansen ++ Moritz Heidkamp ++ Paul M. Jones ++ Pierre-Alain Joye ++ Sara Golemon ++ Stephan Schmidt ++ Sterling Hughes ++ Stig Bakken ++ Tatsuhiko Miyagawa ++ Tomas V. V. Cox ++ Vincent Blavet ++ Wez Furlong ++ 1997-2008 Vincent Blavet ++ 2003 Sérgio Gonçalves Carvalho ++ 2003-2008 Stephan Schmidt ++ 2008 Chuck Burgess ++License: BSD-2-clause and LGPL-3+ ++ ++Files: Zend/* ++Copyright: 1999-2006 Zend Technologies Ltd. ++License: Zend-Engine-2.00 ++ ++Files: ext/phar/tar.c ++Copyright: 2003-2007 Tim Kientzle ++ 1999-2015 The PHP Group. ++License: BSD-2-clause ++ ++Files: sapi/fpm/* ++Copyright: 2007-2009 Andrei Nigmatulin ++License: BSD-2-clause ++ ++Files: ext/bcmath/libbcmath/* ++Copyright: 1991, 1992, 1993, 1994, 1997 Free Software Foundation, Inc. ++ 2000 Philip A. Nelson ++License: LGPL-2+ ++ ++Files: ext/fileinfo/libmagic/* ++Copyright: 1985-1995 Ian F. Darwin ++ 1994-2009 Christos Zoulas ++License: BSD-2-clause-libmagic ++ ++Files: ext/date/lib/* ++Copyright: 2015-2017 Derick Rethans ++ 2017 MongoDB, Inc. ++License: Expat ++ ++Files: ext/mbstring/libmbfl/* ++Copyright: 1998,1999,2000,2001 HappySize, Inc. ++License: LGPL-2.1 ++ ++Files: debian/* ++Copyright: Ondřej Surý ++License: Expat ++ ++Files: debian/patches/0013-Add-support-for-use-of-the-system-timezone-database.patch ++Copyright: 2008 Red Hat, Inc. ++License: PHP-3.01 ++ ++Files: ext/standard/rand.c ++Copyright: 1997-2002 Makoto Matsumoto and Takuji Nishimura, ++ 2000-2003 Richard J. Wagner ++ 1999-2015 The PHP Group. ++License: BSD-3-clause and PHP-3.01 ++ ++Files: ext/pdo_odbc/odbc_driver.c ++Copyright: 1999-2015 The PHP Group. ++License: PHP-3.0 ++ ++Files: ext/gd/tests/Rochester-Regular.otf ++Copyright: 2012 Sideshow ++License: Apache-2.0 ++ ++Files: ext/gd/libgd/* ++Copyright: 1991-2002, Thomas G. Lane ++ 1994-2002, Cold Spring Harbor Laboratory ++ 1996-2002, Thomas Boutell (Boutell.Com, Inc.) ++ 1999-2002, Greg Roelofs ++ 1999-2002, John Ellson ++ 1999-2002, Philip Warner ++ 2000-2002, Maurice Szmurlo ++ 2000-2002, Johan Van den Brande ++ 2000-2002, Doug Becker ++ 2000-2009, Pierre-Alain Joye ++License: GD ++ ++Files: ext/hash/sha3/* ++Copyright: Guido Bertoni,Joan Daemen, Michaël Peeters, Gilles Van Assche and Ronny Van Keer ++License: CC0 ++ ++Files: ext/hash/sha3/*/brg_endian.h ++Copyright: 1998-2008, Brian Gladman ++License: BSD-3-clause ++ ++Files: ext/mbstring/oniguruma/src/st.h ext/mbstring/oniguruma/src/st.c ++Copyright: 1989 Peter Moore ++License: public-domain ++ This is a public domain general purpose hash table package. ++ ++Files: ext/mbstring/oniguruma/ ++Copyright: 2002-2015 K.Kosako ++License: BSD-2-clause ++ ++Files: ext/mbstring/ucgendat/ ++Copyright: 1999-2003 The OpenLDAP Foundation ++License: OpenLDAP ++ ++Files: ext/zip/lib/* ++Copyright: 1999-2008 Dieter Baron and Thomas Klausner ++License: BSD-3-clause ++ ++Files: ext/zip/lib/config.h ++Copyright: 1999-2018 The PHP Group. ++License: PHP-3.01 ++ ++Files: ext/sqlite3/libsqlite/* ++Copyright: D. Richard Hipp ++License: public-domain ++ The files listed have been put on the public domain by the sqlite3 ++ contributors. ++ ++Files: main/mergesort.c ++Copyright: 1992, 1993 The Regents of the University of California ++License: BSD-4-clause ++ ++License: PHP-3.0 ++ -------------------------------------------------------------------- ++ The PHP License, version 3.0 ++ Copyright (c) 1999 - 2006 The PHP Group. All rights reserved. ++ -------------------------------------------------------------------- ++ . ++ Redistribution and use in source and binary forms, with or without ++ modification, is permitted provided that the following conditions ++ are met: ++ . ++ 1. Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ . ++ 2. Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in ++ the documentation and/or other materials provided with the ++ distribution. ++ . ++ 3. The name "PHP" must not be used to endorse or promote products ++ derived from this software without prior written permission. For ++ written permission, please contact group@php.net. ++ . ++ 4. Products derived from this software may not be called "PHP", nor ++ may "PHP" appear in their name, without prior written permission ++ from group@php.net. You may indicate that your software works in ++ conjunction with PHP by saying "Foo for PHP" instead of calling ++ it "PHP Foo" or "phpfoo" ++ . ++ 5. The PHP Group may publish revised and/or new versions of the ++ license from time to time. Each version will be given a ++ distinguishing version number. ++ Once covered code has been published under a particular version ++ of the license, you may always continue to use it under the terms ++ of that version. You may also choose to use such covered code ++ under the terms of any subsequent version of the license ++ published by the PHP Group. No one other than the PHP Group has ++ the right to modify the terms applicable to covered code created ++ under this License. ++ . ++ 6. Redistributions of any form whatsoever must retain the following ++ acknowledgment: ++ "This product includes PHP, freely available from ++ ". ++ . ++ THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND ++ ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, ++ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A ++ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PHP ++ DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, ++ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ++ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR ++ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, ++ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ++ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED ++ OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++License: PHP-3.01 ++ -------------------------------------------------------------------- ++ The PHP License, version 3.01 ++ Copyright (c) 1999 - 2015 The PHP Group. All rights reserved. ++ -------------------------------------------------------------------- ++ . ++ Redistribution and use in source and binary forms, with or without ++ modification, is permitted provided that the following conditions ++ are met: ++ . ++ 1. Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ . ++ 2. Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in ++ the documentation and/or other materials provided with the ++ distribution. ++ . ++ 3. The name "PHP" must not be used to endorse or promote products ++ derived from this software without prior written permission. For ++ written permission, please contact group@php.net. ++ . ++ 4. Products derived from this software may not be called "PHP", nor ++ may "PHP" appear in their name, without prior written permission ++ from group@php.net. You may indicate that your software works in ++ conjunction with PHP by saying "Foo for PHP" instead of calling ++ it "PHP Foo" or "phpfoo" ++ . ++ 5. The PHP Group may publish revised and/or new versions of the ++ license from time to time. Each version will be given a ++ distinguishing version number. ++ Once covered code has been published under a particular version ++ of the license, you may always continue to use it under the terms ++ of that version. You may also choose to use such covered code ++ under the terms of any subsequent version of the license ++ published by the PHP Group. No one other than the PHP Group has ++ the right to modify the terms applicable to covered code created ++ under this License. ++ . ++ 6. Redistributions of any form whatsoever must retain the following ++ acknowledgment: ++ "This product includes PHP software, freely available from ++ ". ++ . ++ THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND ++ ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, ++ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A ++ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PHP ++ DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, ++ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ++ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR ++ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, ++ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ++ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED ++ OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++License: Zend-Engine-2.00 ++ Redistribution and use in source and binary forms, with or without ++ modification, is permitted provided that the following conditions ++ are met: ++ . ++ 1. Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ . ++ 2. Redistributions in binary form must reproduce the above ++ copyright notice, this list of conditions and the following ++ disclaimer in the documentation and/or other materials provided ++ with the distribution. ++ . ++ 3. The names "Zend" and "Zend Engine" must not be used to endorse ++ or promote products derived from this software without prior ++ permission from Zend Technologies Ltd. For written permission, ++ please contact license@zend.com. ++ . ++ 4. Zend Technologies Ltd. may publish revised and/or new versions ++ of the license from time to time. Each version will be given a ++ distinguishing version number. ++ Once covered code has been published under a particular version ++ of the license, you may always continue to use it under the ++ terms of that version. You may also choose to use such covered ++ code under the terms of any subsequent version of the license ++ published by Zend Technologies Ltd. No one other than Zend ++ Technologies Ltd. has the right to modify the terms applicable ++ to covered code created under this License. ++ . ++ 5. Redistributions of any form whatsoever must retain the following ++ acknowledgment: ++ "This product includes the Zend Engine, freely available at ++ http://www.zend.com" ++ . ++ 6. All advertising materials mentioning features or use of this ++ software must display the following acknowledgment: ++ "The Zend Engine is freely available at http://www.zend.com" ++ . ++ THIS SOFTWARE IS PROVIDED BY ZEND TECHNOLOGIES LTD. ``AS IS'' AND ++ ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, ++ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A ++ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ZEND ++ TECHNOLOGIES LTD. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF ++ USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ++ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ++ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT ++ OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ SUCH DAMAGE. ++ ++License: Expat ++ Permission is hereby granted, free of charge, to any person obtaining ++ a copy of this software and associated documentation files (the ++ "Software"), to deal in the Software without restriction, including ++ without limitation the rights to use, copy, modify, merge, publish, ++ distribute, sublicense, and/or sell copies of the Software, and to ++ permit persons to whom the Software is furnished to do so, subject to ++ the following conditions: ++ . ++ The above copyright notice and this permission notice shall be ++ included in all copies or substantial portions of the Software. ++ . ++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS ++ BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ++ ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ++ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++ SOFTWARE. ++ ++License: BSD-3-clause ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions ++ are met: ++ . ++ 1. Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ . ++ 2. Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ . ++ 3. The names of its contributors may not be used to endorse or promote ++ products derived from this software without specific prior written ++ permission. ++ . ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR ++ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, ++ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, ++ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ++ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ++ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ++ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ++ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++License: LGPL-2+ ++ This library is free software; you can redistribute it and/or modify ++ it under the terms of the GNU Lesser General Public License as ++ published by the Free Software Foundation; either version 2 of the ++ License, or (at your option) any later version. ++ . ++ This library 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 ++ Lesser General Public License for more details. ++ . ++ You should have received a copy of the GNU Lesser General Public ++ License along with this library; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ . ++ On Debian systems, the complete text of the GNU Lesser General Public ++ License version 2 can be found in ‘/usr/share/common-licenses/LGPL-2’. ++ ++License: LGPL-2.1 ++ This library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License. ++ . ++ This library 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 ++ Lesser General Public License for more details. ++ . ++ You should have received a copy of the GNU Lesser General Public ++ License along with this library; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ . ++ On Debian systems, the complete text of the GNU Lesser General Public ++ License version 2.1 can be found in ‘/usr/share/common-licenses/LGPL-2.1’. ++ ++License: LGPL-3+ ++ This library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 3 of the License, or (at your option) any later version. ++ . ++ This library 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 ++ Lesser General Public License for more details. ++ . ++ You should have received a copy of the GNU Lesser General Public ++ License along with this library; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ . ++ On Debian GNU/Linux systems, the complete text of the GNU Lesser General ++ Public License can be found in `/usr/share/common-licenses/LGPL'. ++ ++License: BSD-2-clause ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions ++ are met: ++ 1. Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ 2. Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ . ++ THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR ++ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ++ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ++ IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, ++ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT ++ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF ++ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++License: BSD-2-clause-libmagic ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions ++ are met: ++ . ++ 1. Redistributions of source code must retain the above copyright ++ notice immediately at the beginning of the file, without modification, ++ this list of conditions, and the following disclaimer. ++ . ++ 2. Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ . ++ THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ++ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ++ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ SUCH DAMAGE. ++ ++License: BSD-TSRM ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ . ++ - Redistributions of source code must retain the above copyright notice, ++ this list of conditions and the following disclaimer. ++ . ++ - Neither name of the copyright holders nor the names of their contributors ++ may be used to endorse or promote products derived from this software ++ without specific prior written permission. ++ . ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS ++ IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, ++ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR ++ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ++ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, ++ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, ++ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ++ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ++ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ++ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ++ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++License: Apache-2.0 ++ Licensed to the Apache Software Foundation (ASF) under one or more ++ contributor license agreements. See the NOTICE file distributed with ++ this work for additional information regarding copyright ownership. ++ The ASF licenses this file to You under the Apache License, Version 2.0 ++ (the "License"); you may not use this file except in compliance with ++ the License. You may obtain a copy of the License at ++ . ++ http://www.apache.org/licenses/LICENSE-2.0 ++ . ++ Unless required by applicable law or agreed to in writing, software ++ distributed under the License is distributed on an "AS IS" BASIS, ++ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++ See the License for the specific language governing permissions and ++ limitations under the License. ++ . ++ On Debian systems, the full text of the Apache Software License version 2 can ++ be found in the file `/usr/share/common-licenses/Apache-2.0'. ++ ++License: GD ++ Permission has been granted to copy, distribute and modify gd in any ++ context without fee, including a commercial application, provided that ++ this notice is present in user-accessible supporting documentation. ++ . ++ This does not affect your ownership of the derived work itself, and the ++ intent is to assure proper credit for the authors of gd, not to ++ interfere with your productive use of gd. If you have questions, ask. ++ "Derived works" includes all programs that utilize the library. Credit ++ must be given in user-accessible documentation. ++ . ++ This software is provided "AS IS." The copyright holders disclaim all ++ warranties, either express or implied, including but not limited to ++ implied warranties of merchantability and fitness for a particular ++ purpose, with respect to this code and accompanying documentation. ++ ++License: CC0 ++ Statement of Purpose ++ . ++ The laws of most jurisdictions throughout the world automatically ++ confer exclusive Copyright and Related Rights (defined below) upon ++ the creator and subsequent owner(s) (each and all, an "owner") of an ++ original work of authorship and/or a database (each, a "Work"). ++ . ++ Certain owners wish to permanently relinquish those rights to a Work ++ for the purpose of contributing to a commons of creative, cultural ++ and scientific works ("Commons") that the public can reliably and ++ without fear of later claims of infringement build upon, modify, ++ incorporate in other works, reuse and redistribute as freely as ++ possible in any form whatsoever and for any purposes, including ++ without limitation commercial purposes. These owners may contribute ++ to the Commons to promote the ideal of a free culture and the further ++ production of creative, cultural and scientific works, or to gain ++ reputation or greater distribution for their Work in part through the ++ use and efforts of others. ++ . ++ For these and/or other purposes and motivations, and without any ++ expectation of additional consideration or compensation, the person ++ associating CC0 with a Work (the "Affirmer"), to the extent that he ++ or she is an owner of Copyright and Related Rights in the Work, ++ voluntarily elects to apply CC0 to the Work and publicly distribute ++ the Work under its terms, with knowledge of his or her Copyright and ++ Related Rights in the Work and the meaning and intended legal effect ++ of CC0 on those rights. ++ . ++ 1. Copyright and Related Rights. A Work made available under CC0 may ++ be protected by copyright and related or neighboring rights ++ ("Copyright and Related Rights"). Copyright and Related Rights ++ include, but are not limited to, the following: ++ . ++ i. the right to reproduce, adapt, distribute, perform, display, ++ communicate, and translate a Work; ++ . ++ ii. moral rights retained by the original author(s) and/or ++ performer(s); ++ . ++ iii. publicity and privacy rights pertaining to a person's image or ++ likeness depicted in a Work; ++ . ++ iv. rights protecting against unfair competition in regards to a ++ Work, subject to the limitations in paragraph 4(a), below; ++ . ++ v. rights protecting the extraction, dissemination, use and reuse of ++ data in a Work; ++ . ++ vi. database rights (such as those arising under Directive 96/9/EC ++ of the European Parliament and of the Council of 11 March 1996 ++ on the legal protection of databases, and under any national ++ implementation thereof, including any amended or successor ++ version of such directive); and ++ . ++ vii. other similar, equivalent or corresponding rights throughout ++ the world based on applicable law or treaty, and any national ++ implementations thereof. ++ . ++ 2. Waiver. To the greatest extent permitted by, but not in ++ contravention of, applicable law, Affirmer hereby overtly, fully, ++ permanently, irrevocably and unconditionally waives, abandons, and ++ surrenders all of Affirmer's Copyright and Related Rights and ++ associated claims and causes of action, whether now known or ++ unknown (including existing as well as future claims and causes of ++ action), in the Work (i) in all territories worldwide, (ii) for ++ the maximum duration provided by applicable law or treaty ++ (including future time extensions), (iii) in any current or future ++ medium and for any number of copies, and (iv) for any purpose ++ whatsoever, including without limitation commercial, advertising ++ or promotional purposes (the "Waiver"). Affirmer makes the Waiver ++ for the benefit of each member of the public at large and to the ++ detriment of Affirmer's heirs and successors, fully intending that ++ such Waiver shall not be subject to revocation, rescission, ++ cancellation, termination, or any other legal or equitable action ++ to disrupt the quiet enjoyment of the Work by the public as ++ contemplated by Affirmer's express Statement of Purpose. ++ . ++ 3. Public License Fallback. Should any part of the Waiver for any ++ reason be judged legally invalid or ineffective under applicable ++ law, then the Waiver shall be preserved to the maximum extent ++ permitted taking into account Affirmer's express Statement of ++ Purpose. In addition, to the extent the Waiver is so judged ++ Affirmer hereby grants to each affected person a royalty-free, non ++ transferable, non sublicensable, non exclusive, irrevocable and ++ unconditional license to exercise Affirmer's Copyright and Related ++ Rights in the Work (i) in all territories worldwide, (ii) for the ++ maximum duration provided by applicable law or treaty (including ++ future time extensions), (iii) in any current or future medium and ++ for any number of copies, and (iv) for any purpose whatsoever, ++ including without limitation commercial, advertising or ++ promotional purposes (the "License"). The License shall be deemed ++ effective as of the date CC0 was applied by Affirmer to the ++ Work. Should any part of the License for any reason be judged ++ legally invalid or ineffective under applicable law, such partial ++ invalidity or ineffectiveness shall not invalidate the remainder ++ of the License, and in such case Affirmer hereby affirms that he ++ or she will not (i) exercise any of his or her remaining Copyright ++ and Related Rights in the Work or (ii) assert any associated ++ claims and causes of action with respect to the Work, in either ++ case contrary to Affirmer's express Statement of Purpose. ++ . ++ 4. Limitations and Disclaimers. ++ . ++ a. No trademark or patent rights held by Affirmer are waived, ++ abandoned, surrendered, licensed or otherwise affected by this ++ document. ++ . ++ b. Affirmer offers the Work as-is and makes no representations or ++ warranties of any kind concerning the Work, express, implied, ++ statutory or otherwise, including without limitation warranties ++ of title, merchantability, fitness for a particular purpose, non ++ infringement, or the absence of latent or other defects, ++ accuracy, or the present or absence of errors, whether or not ++ discoverable, all to the greatest extent permissible under ++ applicable law. ++ . ++ c. Affirmer disclaims responsibility for clearing rights of other ++ persons that may apply to the Work or any use thereof, including ++ without limitation any person's Copyright and Related Rights in ++ the Work. Further, Affirmer disclaims responsibility for ++ obtaining any necessary consents, permissions or other rights ++ required for any use of the Work. ++ . ++ d. Affirmer understands and acknowledges that Creative Commons is ++ not a party to this document and has no duty or obligation with ++ respect to this CC0 or use of the Work. ++ ++License: OpenLDAP ++ . ++ Redistribution and use of this software and associated documentation ++ ("Software"), with or without modification, are permitted provided ++ that the following conditions are met: ++ . ++ 1. Redistributions in source form must retain copyright statements ++ and notices, ++ . ++ 2. Redistributions in binary form must reproduce applicable copyright ++ statements and notices, this list of conditions, and the following ++ disclaimer in the documentation and/or other materials provided ++ with the distribution, and ++ . ++ 3. Redistributions must contain a verbatim copy of this document. ++ . ++ The OpenLDAP Foundation may revise this license from time to time. ++ Each revision is distinguished by a version number. You may use this ++ Software under terms of this license revision or under the terms of ++ any subsequent revision of the license. ++ . ++ THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS ++ CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, ++ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ++ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ++ IN NO EVENT SHALL THE OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE ++ AUTHOR(S) OR OWNER(S) OF THE SOFTWARE BE LIABLE FOR ANY DIRECT, ++ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ++ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR ++ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, ++ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING ++ IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE ++ POSSIBILITY OF SUCH DAMAGE. ++ . ++ The names of the authors and copyright holders must not be used in ++ advertising or otherwise to promote the sale, use or other dealing in ++ this Software without specific, written prior permission. Title to ++ copyright in this Software shall at all times remain with copyright ++ holders. ++ . ++ OpenLDAP is a registered trademark of the OpenLDAP Foundation. ++ ++License: BSD-4-clause ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions ++ are met: ++ 1. Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ 2. Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ 3. All advertising materials mentioning features or use of this software ++ must display the following acknowledgement: ++ This product includes software developed by the University of ++ California, Berkeley and its contributors. ++ 4. Neither the name of the University nor the names of its contributors ++ may be used to endorse or promote products derived from this software ++ without specific prior written permission. ++ . ++ THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) AND CONTRIBUTORS ``AS IS'' AND ++ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) OR CONTRIBUTORS BE LIABLE ++ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ SUCH DAMAGE. diff --cc debian/freexian-dists index 00000000,00000000..3101ed8d new file mode 100644 --- /dev/null +++ b/debian/freexian-dists @@@ -1,0 -1,0 +1,4 @@@ ++DISTS=${DISTS//bionic} ++DISTS=${DISTS//xenial} ++DISTS=${DISTS//jessie} ++DISTS=${DISTS//stretch} diff --cc debian/gbp.conf index 00000000,00000000..fe9b1b52 new file mode 100644 --- /dev/null +++ b/debian/gbp.conf @@@ -1,0 -1,0 +1,10 @@@ ++[DEFAULT] ++debian-branch = debian/main/8.4 ++upstream-branch = upstream/8.4 ++pristine-tar = True ++ ++[dch] ++meta = 1 ++ ++[import-orig] ++filter = ['.gitignore'] diff --cc debian/libapache2-mod-php.apache2 index 00000000,00000000..1d5f6b60 new file mode 100644 --- /dev/null +++ b/debian/libapache2-mod-php.apache2 @@@ -1,0 -1,0 +1,2 @@@ ++mod debian/php@PHP_VERSION@.load ++mod debian/php@PHP_VERSION@.conf diff --cc debian/libapache2-mod-php.dirs.extra index 00000000,00000000..1204391b new file mode 100644 --- /dev/null +++ b/debian/libapache2-mod-php.dirs.extra @@@ -1,0 -1,0 +1,2 @@@ ++/etc/apache2/mods-available ++/usr/lib/apache2/modules diff --cc debian/libapache2-mod-php.install.extra index 00000000,00000000..3a6a7805 new file mode 100755 --- /dev/null +++ b/debian/libapache2-mod-php.install.extra @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/apache2/modules/libphp@PHP_VERSION@.so /usr/lib/apache2/modules/ diff --cc debian/libapache2-mod-php.postinst.extra index 00000000,00000000..923e475f new file mode 100644 --- /dev/null +++ b/debian/libapache2-mod-php.postinst.extra @@@ -1,0 -1,0 +1,48 @@@ ++if [ -e /usr/share/apache2/apache2-maintscript-helper ]; then ++ . /usr/share/apache2/apache2-maintscript-helper ++ ++ php_enable() { ++ local a2query_ret=0 ++ a2query -m "php@PHP_VERSION@" > /dev/null 2>&1 || a2query_ret=$? ++ if [ "$a2query_ret" -eq 0 ] ; then ++ apache2_msg "info" "$DPKG_MAINTSCRIPT_PACKAGE: not switching MPM - already enabled" ++ return 1 ++ elif [ "$a2query_ret" -eq 32 ] ; then ++ apache2_msg "info" "$DPKG_MAINTSCRIPT_PACKAGE: not switching MPM - disabled by maintainer" ++ return 1 ++ fi ++ ++ PHP_MODULE=$(a2query -m | sed -n 's/^\(php[\.0-9]*\) (enabled.*)/\1/p') ++ if [ -n "$PHP_MODULE" -a "$PHP_MODULE" != "php@PHP_VERSION@" ]; then ++ apache2_msg "err" "$DPKG_MAINTSCRIPT_PACKAGE: $PHP_MODULE module already enabled, not enabling PHP @PHP_VERSION@" ++ return 1 ++ fi ++ ++ mpm=$(a2query -M) ++ case "$(a2query -M)" in ++ prefork|itk) return 0;; ++ *) if apache2_switch_mpm prefork; then return 0; fi;; ++ esac ++ apache2_msg "err" "$DPKG_MAINTSCRIPT_PACKAGE: Could not switch to prefork MPM, not enabling PHP @PHP_VERSION@" ++ return 1 ++ } ++ ++else ++ echo "Warning: Could not load Apache 2.4 maintainer script helper." ++ ++ php_enable() { ++ return 1; ++ } ++ ++fi ++ ++# we've registered a trigger to handle extension updates. ++if [ "$1" = "triggered" ] && [ "$2" = "/etc/php/@PHP_VERSION@/apache2/conf.d" ]; then ++ if [ -e /usr/share/apache2/apache2-maintscript-helper ]; then ++ . /usr/share/apache2/apache2-maintscript-helper ++ apache2_reload restart ++ fi ++ exit 0 ++elif [ "$1" != "configure" ]; then ++ exit 0 ++fi diff --cc debian/libphp-embed.dirs.extra index 00000000,00000000..0bf940b3 new file mode 100644 --- /dev/null +++ b/debian/libphp-embed.dirs.extra @@@ -1,0 -1,0 +1,1 @@@ ++/usr/lib diff --cc debian/libphp-embed.install.extra index 00000000,00000000..f11d27a7 new file mode 100644 --- /dev/null +++ b/debian/libphp-embed.install.extra @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/libphp@PHP_VERSION@.so diff --cc debian/libphp-embed.postinst.extra index 00000000,00000000..f7190859 new file mode 100644 --- /dev/null +++ b/debian/libphp-embed.postinst.extra @@@ -1,0 -1,0 +1,6 @@@ ++if [ "$1" = "configure" ]; then ++ update-alternatives \ ++ --install /usr/lib/libphp@PHP_MAJOR@.so libphp@PHP_MAJOR@ /usr/lib/libphp@PHP_VERSION@.so @PHP_MAJOR@@PHP_MINOR@ ++fi ++ ++[ "$1" = "configure" ] && ldconfig diff --cc debian/libphp-embed.postrm.extra index 00000000,00000000..8807e49f new file mode 100644 --- /dev/null +++ b/debian/libphp-embed.postrm.extra @@@ -1,0 -1,0 +1,6 @@@ ++if [ "$1" = "remove" ] || [ "$1" = "purge" ]; then ++ if [ -L /usr/lib/libphp.so ] && [ "$(realpath -L /usr/lib/libphp.so)" = /usr/lib/libphp@PHP_VERSION@.so ]; then ++ rm -f /usr/lib/libphp.so ++ fi ++ ldconfig ++fi diff --cc debian/libphp-embed.prerm.extra index 00000000,00000000..02518d5e new file mode 100644 --- /dev/null +++ b/debian/libphp-embed.prerm.extra @@@ -1,0 -1,0 +1,3 @@@ ++if [ "$1" = "remove" -o "$1" = "deconfigure" ]; then ++ update-alternatives --remove libphp@PHP_MAJOR@ /usr/lib/libphp@PHP_VERSION@.so ++fi diff --cc debian/patches/0001-libtool_fixes.patch index 00000000,00000000..e506f2c5 new file mode 100644 --- /dev/null +++ b/debian/patches/0001-libtool_fixes.patch @@@ -1,0 -1,0 +1,21 @@@ ++From: Debian PHP Maintainers ++Date: Sat, 2 May 2015 10:26:50 +0200 ++Subject: libtool_fixes ++ ++--- ++ configure.ac | 2 -- ++ 1 file changed, 2 deletions(-) ++ ++diff --git a/configure.ac b/configure.ac ++index 49d7ffe..8b42844 100644 ++--- a/configure.ac +++++ b/configure.ac ++@@ -1573,8 +1573,6 @@ AC_PROVIDE_IFELSE([PHP_REQUIRE_CXX], [], [ ++ ]) ++ AC_PROG_LIBTOOL ++ ++-PHP_SET_LIBTOOL_VARIABLE([--silent]) ++- ++ dnl libtool 1.4.3 needs this. ++ PHP_SET_LIBTOOL_VARIABLE([--preserve-dup-deps]) ++ diff --cc debian/patches/0002-debian_quirks.patch index 00000000,00000000..4dec0ea8 new file mode 100644 --- /dev/null +++ b/debian/patches/0002-debian_quirks.patch @@@ -1,0 -1,0 +1,143 @@@ ++From: Debian PHP Maintainers ++Date: Sat, 2 May 2015 10:26:51 +0200 ++Subject: debian_quirks ++ ++--- ++ configure.ac | 6 +++++- ++ php.ini-development | 2 +- ++ php.ini-production | 2 +- ++ sapi/cli/php.1.in | 11 ++++++----- ++ scripts/Makefile.frag | 4 ++-- ++ scripts/php-config.in | 6 +++--- ++ scripts/phpize.in | 4 ++-- ++ 7 files changed, 20 insertions(+), 15 deletions(-) ++ ++diff --git a/configure.ac b/configure.ac ++index 8b42844..b3572d2 100644 ++--- a/configure.ac +++++ b/configure.ac ++@@ -1130,7 +1130,7 @@ AS_VAR_IF([PHP_CLI], [no], [with_pear=no]) ++ PHP_ARG_WITH([pear], ++ [whether to install PEAR], ++ [AS_HELP_STRING([[--with-pear[=DIR]]], ++- [Install PEAR in DIR [PREFIX/lib/php]])], +++ [Install PEAR in DIR [PREFIX/share/php]])], ++ [no], ++ [yes]) ++ ++@@ -1158,6 +1158,8 @@ AS_VAR_IF([PHP_PEAR], [no],, [ ++ [pear]) ++ ]) ++ +++PEAR_INSTALLDIR=/usr/share/php +++ ++ dnl Configuring Zend and TSRM. ++ dnl ---------------------------------------------------------------------------- ++ ++@@ -1323,6 +1325,8 @@ datadir=$(eval eval echo $datadir) ++ dnl Build extension directory path. ++ ZEND_MODULE_API_NO=$($EGREP '#define ZEND_MODULE_API_NO ' $srcdir/Zend/zend_modules.h|"${SED}" 's/#define ZEND_MODULE_API_NO //') ++ +++AC_SUBST(ZEND_MODULE_API_NO) +++ ++ AC_ARG_VAR([EXTENSION_DIR], ++ [Default directory for dynamically loadable PHP extensions. If left empty, it ++ is determined automatically. Can be overridden using the PHP 'extension_dir' ++diff --git a/php.ini-development b/php.ini-development ++index 6e5064d..d912779 100644 ++--- a/php.ini-development +++++ b/php.ini-development ++@@ -736,7 +736,7 @@ default_charset = "UTF-8" ++ ;;;;;;;;;;;;;;;;;;;;;;;;; ++ ++ ; UNIX: "/path1:/path2" ++-;include_path = ".:/php/includes" +++;include_path = ".:/usr/share/php" ++ ; ++ ; Windows: "\path1;\path2" ++ ;include_path = ".;c:\php\includes" ++diff --git a/php.ini-production b/php.ini-production ++index c62faf5..cb3363b 100644 ++--- a/php.ini-production +++++ b/php.ini-production ++@@ -738,7 +738,7 @@ default_charset = "UTF-8" ++ ;;;;;;;;;;;;;;;;;;;;;;;;; ++ ++ ; UNIX: "/path1:/path2" ++-;include_path = ".:/php/includes" +++;include_path = ".:/usr/share/php" ++ ; ++ ; Windows: "\path1;\path2" ++ ;include_path = ".;c:\php\includes" ++diff --git a/sapi/cli/php.1.in b/sapi/cli/php.1.in ++index e8ac382..acd292c 100644 ++--- a/sapi/cli/php.1.in +++++ b/sapi/cli/php.1.in ++@@ -374,13 +374,14 @@ Shows configuration for extension ++ Show configuration file names ++ .SH FILES ++ .TP 15 ++-.B php\-cli.ini +++.B /etc/php/@PHP_MAJOR_VERSION@.@PHP_MINOR_VERSION@/cli/php.ini ++ The configuration file for the CLI version of PHP. ++ .TP ++-.B php.ini ++-The standard configuration file will only be used when ++-.B php\-cli.ini ++-cannot be found. ++++.B /etc/php/@PHP_MAJOR_VERSION@.@PHP_MINOR_VERSION@/cgi/php.ini ++++The configuration file for the CGI version of PHP. ++++.TP ++++.B /etc/php/@PHP_MAJOR_VERSION@.@PHP_MINOR_VERSION@/apache2/php.ini ++++The configuration file for the version of PHP that apache2 uses. ++ .SH EXAMPLES ++ .TP 5 ++ \fI@program_prefix@php \-r 'echo "Hello World\\n";'\fP ++diff --git a/scripts/Makefile.frag b/scripts/Makefile.frag ++index cf56852..82aa641 100644 ++--- a/scripts/Makefile.frag +++++ b/scripts/Makefile.frag ++@@ -2,8 +2,8 @@ ++ # Build environment install ++ # ++ ++-phpincludedir = $(includedir)/php ++-phpbuilddir = $(libdir)/build +++phpincludedir = $(includedir)/php/$(DEBIAN_PHP_API) +++phpbuilddir = $(prefix)/lib/php/$(DEBIAN_PHP_API)/build ++ ++ BUILD_FILES = \ ++ scripts/phpize.m4 \ ++diff --git a/scripts/php-config.in b/scripts/php-config.in ++index 87c2008..59a6b14 100644 ++--- a/scripts/php-config.in +++++ b/scripts/php-config.in ++@@ -6,10 +6,10 @@ datarootdir="@datarootdir@" ++ exec_prefix="@exec_prefix@" ++ version="@PHP_VERSION@" ++ vernum="@PHP_VERSION_ID@" ++-include_dir="@includedir@/php" +++include_dir="@includedir@/php/@DEBIAN_PHP_API@" ++ lib_dir="@orig_libdir@" ++-includes="-I$include_dir -I$include_dir/main -I$include_dir/TSRM -I$include_dir/Zend -I$include_dir/ext -I$include_dir/ext/date/lib" ++-ldflags="@PHP_LDFLAGS@" +++includes="-I$include_dir -I$include_dir/main -I$include_dir/TSRM -I$include_dir/Zend -I$include_dir/ext -I$include_dir/ext/date/lib $(getconf LFS_CFLAGS)" +++ldflags="-L$prefix/lib/php/@DEBIAN_PHP_API@ @PHP_LDFLAGS@" ++ libs="@EXTRA_LIBS@" ++ extension_dir="@EXTENSION_DIR@" ++ man_dir=`eval echo @mandir@` ++diff --git a/scripts/phpize.in b/scripts/phpize.in ++index 2f11765..30080ef 100644 ++--- a/scripts/phpize.in +++++ b/scripts/phpize.in ++@@ -4,8 +4,8 @@ ++ prefix='@prefix@' ++ datarootdir='@datarootdir@' ++ exec_prefix="`eval echo @exec_prefix@`" ++-phpdir="`eval echo @libdir@`/build" ++-includedir="`eval echo @includedir@`/php" +++phpdir="$prefix/lib/php/@DEBIAN_PHP_API@/build" +++includedir="$prefix/include/php/@DEBIAN_PHP_API@" ++ builddir="`pwd`" ++ SED="@SED@" ++ diff --cc debian/patches/0003-php-5.4.9-phpinfo.patch index 00000000,00000000..9b97e9b1 new file mode 100644 --- /dev/null +++ b/debian/patches/0003-php-5.4.9-phpinfo.patch @@@ -1,0 -1,0 +1,38 @@@ ++From: Debian PHP Maintainers ++Date: Sat, 2 May 2015 10:26:51 +0200 ++Subject: php-5.4.9-phpinfo ++ ++Drop "Configure Command" from phpinfo as it doesn't ++provide any useful information. ++The available extensions are not related to this command. ++--- ++ ext/standard/info.c | 3 --- ++ ext/standard/tests/general_functions/phpinfo.phpt | 1 - ++ 2 files changed, 4 deletions(-) ++ ++diff --git a/ext/standard/info.c b/ext/standard/info.c ++index 4ed33f3..ab1f302 100644 ++--- a/ext/standard/info.c +++++ b/ext/standard/info.c ++@@ -816,9 +816,6 @@ PHPAPI ZEND_COLD void php_print_info(int flag) ++ #ifdef PHP_BUILD_ARCH ++ php_info_print_table_row(2, "Architecture", PHP_BUILD_ARCH); ++ #endif ++-#ifdef CONFIGURE_COMMAND ++- php_info_print_table_row(2, "Configure Command", CONFIGURE_COMMAND ); ++-#endif ++ ++ if (sapi_module.pretty_name) { ++ php_info_print_table_row(2, "Server API", sapi_module.pretty_name ); ++diff --git a/ext/standard/tests/general_functions/phpinfo.phpt b/ext/standard/tests/general_functions/phpinfo.phpt ++index ac7cabd..6a98638 100644 ++--- a/ext/standard/tests/general_functions/phpinfo.phpt +++++ b/ext/standard/tests/general_functions/phpinfo.phpt ++@@ -17,7 +17,6 @@ ++ ++ System => %s ++ Build Date => %r(.+?)%r ++-Configure Command => %s ++ Server API => Command Line Interface ++ Virtual Directory Support => %s ++ Configuration File (php.ini) Path => %s diff --cc debian/patches/0004-extension_api.patch index 00000000,00000000..9ba22199 new file mode 100644 --- /dev/null +++ b/debian/patches/0004-extension_api.patch @@@ -1,0 -1,0 +1,66 @@@ ++From: Debian PHP Maintainers ++Date: Sat, 2 May 2015 10:26:51 +0200 ++Subject: extension_api ++ ++--- ++ configure.ac | 5 ++++- ++ scripts/php-config.in | 4 ++++ ++ 2 files changed, 8 insertions(+), 1 deletion(-) ++ ++diff --git a/configure.ac b/configure.ac ++index b3572d2..1ade7e7 100644 ++--- a/configure.ac +++++ b/configure.ac ++@@ -1327,12 +1327,14 @@ ZEND_MODULE_API_NO=$($EGREP '#define ZEND_MODULE_API_NO ' $srcdir/Zend/zend_modu ++ ++ AC_SUBST(ZEND_MODULE_API_NO) ++ +++DEBIAN_PHP_API=$ZEND_MODULE_API_NO +++ ++ AC_ARG_VAR([EXTENSION_DIR], ++ [Default directory for dynamically loadable PHP extensions. If left empty, it ++ is determined automatically. Can be overridden using the PHP 'extension_dir' ++ INI directive.]) ++ AS_VAR_IF([EXTENSION_DIR],, [ ++- extbasedir=$ZEND_MODULE_API_NO +++ extbasedir=$DEBIAN_PHP_API ++ AS_VAR_IF([oldstyleextdir], [yes], [ ++ AS_VAR_IF([PHP_DEBUG], [1], [part1=debug], [part1=no-debug]) ++ AS_VAR_IF([PHP_THREAD_SAFETY], [yes], [part2=zts], [part2=non-zts]) ++@@ -1456,6 +1458,7 @@ PHP_SUBST([CPPFLAGS]) ++ PHP_SUBST([CXX]) ++ PHP_SUBST([CXXFLAGS]) ++ PHP_SUBST([CXXFLAGS_CLEAN]) +++PHP_SUBST_OLD(DEBIAN_PHP_API) ++ PHP_SUBST_OLD([EXTENSION_DIR]) ++ PHP_SUBST([EXTRA_LDFLAGS]) ++ PHP_SUBST([EXTRA_LDFLAGS_PROGRAM]) ++diff --git a/scripts/php-config.in b/scripts/php-config.in ++index 59a6b14..3d4e0f1 100644 ++--- a/scripts/php-config.in +++++ b/scripts/php-config.in ++@@ -20,6 +20,7 @@ php_cli_binary=NONE ++ php_cgi_binary=NONE ++ configure_options="@CONFIGURE_OPTIONS@" ++ php_sapis="@PHP_INSTALLED_SAPIS@" +++phpapi="@DEBIAN_PHP_API@" ++ ini_dir="@EXPANDED_PHP_CONFIG_FILE_SCAN_DIR@" ++ ini_path="@EXPANDED_PHP_CONFIG_FILE_PATH@" ++ php_embed_type="@PHP_EMBED_TYPE@" ++@@ -72,6 +73,8 @@ case "$1" in ++ echo $php_embed_lib;; ++ --php-binary) ++ echo $php_binary;; +++--phpapi) +++ echo $phpapi;; ++ --php-sapis) ++ echo $php_sapis;; ++ --configure-options) ++@@ -101,6 +104,7 @@ Options: ++ --man-dir [$man_dir] ++ --php-binary [$php_binary] ++ --php-sapis [$php_sapis] +++ --phpapi [$phpapi] ++ --ini-path [$ini_path] ++ --ini-dir [$ini_dir] ++ --configure-options [$configure_options] diff --cc debian/patches/0005-php.ini_securitynotes.patch index 00000000,00000000..661abba9 new file mode 100644 --- /dev/null +++ b/debian/patches/0005-php.ini_securitynotes.patch @@@ -1,0 -1,0 +1,34 @@@ ++From: Debian PHP Maintainers ++Date: Sat, 2 May 2015 10:26:52 +0200 ++Subject: php.ini_securitynotes ++ ++--- ++ php.ini-development | 8 +++++++- ++ 1 file changed, 7 insertions(+), 1 deletion(-) ++ ++diff --git a/php.ini-development b/php.ini-development ++index d912779..6509686 100644 ++--- a/php.ini-development +++++ b/php.ini-development ++@@ -315,6 +315,12 @@ serialize_precision = -1 ++ ; or per-virtualhost web server configuration file. ++ ; Note: disables the realpath cache ++ ; https://php.net/open-basedir +++ +++; NOTE: this is considered a "broken" security measure. +++; Applications relying on this feature will not receive full +++; support by the security team. For more information please +++; see /usr/share/doc/php-common/README.Debian.security +++; ++ ;open_basedir = ++ ++ ; This directive allows you to disable certain functions. ++@@ -1289,7 +1295,7 @@ session.save_handler = files ++ ; where MODE is the octal representation of the mode. Note that this ++ ; does not overwrite the process's umask. ++ ; https://php.net/session.save-path ++-;session.save_path = "/tmp" +++;session.save_path = "/var/lib/php/sessions" ++ ++ ; Whether to use strict session mode. ++ ; Strict session mode does not accept an uninitialized session ID, and diff --cc debian/patches/0006-Add-support-for-use-of-the-system-timezone-database.patch index 00000000,00000000..8823fa61 new file mode 100644 --- /dev/null +++ b/debian/patches/0006-Add-support-for-use-of-the-system-timezone-database.patch @@@ -1,0 -1,0 +1,675 @@@ ++From: Debian PHP Maintainers ++Date: Wed, 25 Aug 2021 16:47:17 +0200 ++Subject: Add-support-for-use-of-the-system-timezone-database ++ ++# License: MIT ++# http://opensource.org/licenses/MIT ++ ++# License: MIT ++# http://opensource.org/licenses/MIT ++ ++Add support for use of the system timezone database, rather ++than embedding a copy. Discussed upstream but was not desired. ++ ++History: ++r21: adapt for timelib 2021.03 (in 8.1.0) ++r20: adapt for timelib 2020.03 (in 8.0.10RC1) ++r19: adapt for timelib 2020.02 (in 8.0.0beta2) ++r18: adapt for autotool change in 7.3.3RC1 ++r17: adapt for timelib 2018.01 (in 7.3.2RC1) ++r16: adapt for timelib 2017.06 (in 7.2.3RC1) ++r15: adapt for timelib 2017.05beta7 (in 7.2.0RC1) ++r14: improve check for valid tz file ++r13: adapt for upstream changes to use PHP allocator ++r12: adapt for upstream changes for new zic ++r11: use canonical names to avoid more case sensitivity issues ++ round lat/long from zone.tab towards zero per builtin db ++r10: make timezone case insensitive ++r9: fix another compile error without --with-system-tzdata configured (Michael Heimpold) ++r8: fix compile error without --with-system-tzdata configured ++r7: improve check for valid timezone id to exclude directories ++r6: fix fd leak in r5, fix country code/BC flag use in ++ timezone_identifiers_list() using system db, ++ fix use of PECL timezonedb to override system db, ++r5: reverts addition of "System/Localtime" fake tzname. ++ updated for 5.3.0, parses zone.tab to pick up mapping between ++ timezone name, country code and long/lat coords ++r4: added "System/Localtime" tzname which uses /etc/localtime ++r3: fix a crash if /usr/share/zoneinfo doesn't exist (Raphael Geissert) ++r2: add filesystem trawl to set up name alias index ++r1: initial revision ++--- ++ ext/date/config0.m4 | 13 ++ ++ ext/date/lib/parse_tz.c | 535 +++++++++++++++++++++++++++++++++++++++++++++++- ++ 2 files changed, 545 insertions(+), 3 deletions(-) ++ ++diff --git a/ext/date/config0.m4 b/ext/date/config0.m4 ++index 5af6be1..bac3004 100644 ++--- a/ext/date/config0.m4 +++++ b/ext/date/config0.m4 ++@@ -4,6 +4,19 @@ AC_CHECK_HEADERS([io.h]) ++ dnl Check for strtoll, atoll ++ AC_CHECK_FUNCS([strtoll atoll]) ++ +++PHP_ARG_WITH(system-tzdata, for use of system timezone data, +++[ --with-system-tzdata[=DIR] to specify use of system timezone data], +++no, no) +++ +++if test "$PHP_SYSTEM_TZDATA" != "no"; then +++ AC_DEFINE(HAVE_SYSTEM_TZDATA, 1, [Define if system timezone data is used]) +++ +++ if test "$PHP_SYSTEM_TZDATA" != "yes"; then +++ AC_DEFINE_UNQUOTED(HAVE_SYSTEM_TZDATA_PREFIX, "$PHP_SYSTEM_TZDATA", +++ [Define for location of system timezone data]) +++ fi +++fi +++ ++ AX_CHECK_COMPILE_FLAG([-Wno-implicit-fallthrough], ++ [PHP_DATE_CFLAGS="$PHP_DATE_CFLAGS -Wno-implicit-fallthrough"],, ++ [-Werror]) ++diff --git a/ext/date/lib/parse_tz.c b/ext/date/lib/parse_tz.c ++index c7f9358..88a746c 100644 ++--- a/ext/date/lib/parse_tz.c +++++ b/ext/date/lib/parse_tz.c ++@@ -26,9 +26,22 @@ ++ #include "timelib.h" ++ #include "timelib_private.h" ++ +++#ifdef HAVE_SYSTEM_TZDATA +++#include +++#include +++#include +++#include +++#include +++ +++#include "php_scandir.h" +++ +++#else ++ #define TIMELIB_SUPPORTS_V2DATA ++ #define TIMELIB_SUPPORT_SLIM_FILE ++ #include "timezonedb.h" +++#endif +++ +++#include ++ ++ #if (defined(__APPLE__) || defined(__APPLE_CC__)) && (defined(__BIG_ENDIAN__) || defined(__LITTLE_ENDIAN__)) ++ # if defined(__LITTLE_ENDIAN__) ++@@ -95,6 +108,11 @@ static int read_php_preamble(const unsigned char **tzf, timelib_tzinfo *tz) ++ { ++ uint32_t version; ++ +++ if (memcmp(*tzf, "TZif", 4) == 0) { +++ *tzf += 20; +++ return 0; +++ } +++ ++ /* read ID */ ++ version = (*tzf)[3] - '0'; ++ *tzf += 4; ++@@ -577,7 +595,429 @@ void timelib_dump_tzinfo(timelib_tzinfo *tz) ++ } ++ } ++ ++-static int seek_to_tz_position(const unsigned char **tzf, const char *timezone, const timelib_tzdb *tzdb) +++#ifdef HAVE_SYSTEM_TZDATA +++ +++#ifdef HAVE_SYSTEM_TZDATA_PREFIX +++#define ZONEINFO_PREFIX HAVE_SYSTEM_TZDATA_PREFIX +++#else +++#define ZONEINFO_PREFIX "/usr/share/zoneinfo" +++#endif +++ +++/* System timezone database pointer. */ +++static const timelib_tzdb *timezonedb_system; +++ +++/* Hash table entry for the cache of the zone.tab mapping table. */ +++struct location_info { +++ char code[2]; +++ double latitude, longitude; +++ char name[64]; +++ char *comment; +++ struct location_info *next; +++}; +++ +++/* Cache of zone.tab. */ +++static struct location_info **system_location_table; +++ +++/* Size of the zone.tab hash table; a random-ish prime big enough to +++ * prevent too many collisions. */ +++#define LOCINFO_HASH_SIZE (1021) +++ +++/* Compute a case insensitive hash of str */ +++static uint32_t tz_hash(const char *str) +++{ +++ const unsigned char *p = (const unsigned char *)str; +++ uint32_t hash = 5381; +++ int c; +++ +++ while ((c = tolower(*p++)) != '\0') { +++ hash = (hash << 5) ^ hash ^ c; +++ } +++ +++ return hash % LOCINFO_HASH_SIZE; +++} +++ +++/* Parse an ISO-6709 date as used in zone.tab. Returns end of the +++ * parsed string on success, or NULL on parse error. On success, +++ * writes the parsed number to *result. */ +++static char *parse_iso6709(char *p, double *result) +++{ +++ double v, sign; +++ char *pend; +++ size_t len; +++ +++ if (*p == '+') +++ sign = 1.0; +++ else if (*p == '-') +++ sign = -1.0; +++ else +++ return NULL; +++ +++ p++; +++ for (pend = p; *pend >= '0' && *pend <= '9'; pend++) +++ ;; +++ +++ /* Annoying encoding used by zone.tab has no decimal point, so use +++ * the length to determine the format: +++ * +++ * 4 = DDMM +++ * 5 = DDDMM +++ * 6 = DDMMSS +++ * 7 = DDDMMSS +++ */ +++ len = pend - p; +++ if (len < 4 || len > 7) { +++ return NULL; +++ } +++ +++ /* p => [D]DD */ +++ v = (p[0] - '0') * 10.0 + (p[1] - '0'); +++ p += 2; +++ if (len == 5 || len == 7) +++ v = v * 10.0 + (*p++ - '0'); +++ /* p => MM[SS] */ +++ v += (10.0 * (p[0] - '0') +++ + p[1] - '0') / 60.0; +++ p += 2; +++ /* p => [SS] */ +++ if (len > 5) { +++ v += (10.0 * (p[0] - '0') +++ + p[1] - '0') / 3600.0; +++ p += 2; +++ } +++ +++ /* Round to five decimal place, not because it's a good idea, +++ * but, because the builtin data uses rounded data, so, match +++ * that. */ +++ *result = trunc(v * sign * 100000.0) / 100000.0; +++ +++ return p; +++} +++ +++/* This function parses the zone.tab file to build up the mapping of +++ * timezone to country code and geographic location, and returns a +++ * hash table. The hash table is indexed by the function: +++ * +++ * tz_hash(timezone-name) +++ */ +++static struct location_info **create_location_table(void) +++{ +++ struct location_info **li, *i; +++ char zone_tab[PATH_MAX]; +++ char line[512]; +++ FILE *fp; +++ +++ strncpy(zone_tab, ZONEINFO_PREFIX "/zone.tab", sizeof zone_tab); +++ +++ fp = fopen(zone_tab, "r"); +++ if (!fp) { +++ return NULL; +++ } +++ +++ li = calloc(LOCINFO_HASH_SIZE, sizeof *li); +++ +++ while (fgets(line, sizeof line, fp)) { +++ char *p = line, *code, *name, *comment; +++ uint32_t hash; +++ double latitude, longitude; +++ +++ while (isspace(*p)) +++ p++; +++ +++ if (*p == '#' || *p == '\0' || *p == '\n') +++ continue; +++ +++ if (!isalpha(p[0]) || !isalpha(p[1]) || p[2] != '\t') +++ continue; +++ +++ /* code => AA */ +++ code = p; +++ p[2] = 0; +++ p += 3; +++ +++ /* coords => [+-][D]DDMM[SS][+-][D]DDMM[SS] */ +++ p = parse_iso6709(p, &latitude); +++ if (!p) { +++ continue; +++ } +++ p = parse_iso6709(p, &longitude); +++ if (!p) { +++ continue; +++ } +++ +++ if (!p || *p != '\t') { +++ continue; +++ } +++ +++ /* name = string */ +++ name = ++p; +++ while (*p != '\t' && *p && *p != '\n') +++ p++; +++ +++ *p++ = '\0'; +++ +++ /* comment = string */ +++ comment = p; +++ while (*p != '\t' && *p && *p != '\n') +++ p++; +++ +++ if (*p == '\n' || *p == '\t') +++ *p = '\0'; +++ +++ hash = tz_hash(name); +++ i = malloc(sizeof *i); +++ memcpy(i->code, code, 2); +++ strncpy(i->name, name, sizeof i->name); +++ i->comment = strdup(comment); +++ i->longitude = longitude; +++ i->latitude = latitude; +++ i->next = li[hash]; +++ li[hash] = i; +++ /* printf("%s [%u, %f, %f]\n", name, hash, latitude, longitude); */ +++ } +++ +++ fclose(fp); +++ +++ return li; +++} +++ +++/* Return location info from hash table, using given timezone name. +++ * Returns NULL if the name could not be found. */ +++const struct location_info *find_zone_info(struct location_info **li, +++ const char *name) +++{ +++ uint32_t hash = tz_hash(name); +++ const struct location_info *l; +++ +++ if (!li) { +++ return NULL; +++ } +++ +++ for (l = li[hash]; l; l = l->next) { +++ if (timelib_strcasecmp(l->name, name) == 0) +++ return l; +++ } +++ +++ return NULL; +++} +++ +++/* Filter out some non-tzdata files and the posix/right databases, if +++ * present. */ +++static int index_filter(const struct dirent *ent) +++{ +++ return strcmp(ent->d_name, ".") != 0 +++ && strcmp(ent->d_name, "..") != 0 +++ && strcmp(ent->d_name, "posix") != 0 +++ && strcmp(ent->d_name, "posixrules") != 0 +++ && strcmp(ent->d_name, "right") != 0 +++ && strstr(ent->d_name, ".list") == NULL +++ && strstr(ent->d_name, ".tab") == NULL; +++} +++ +++static int sysdbcmp(const void *first, const void *second) +++{ +++ const timelib_tzdb_index_entry *alpha = first, *beta = second; +++ +++ return timelib_strcasecmp(alpha->id, beta->id); +++} +++ +++ +++/* Create the zone identifier index by trawling the filesystem. */ +++static void create_zone_index(timelib_tzdb *db) +++{ +++ size_t dirstack_size, dirstack_top; +++ size_t index_size, index_next; +++ timelib_tzdb_index_entry *db_index; +++ char **dirstack; +++ +++ /* LIFO stack to hold directory entries to scan; each slot is a +++ * directory name relative to the zoneinfo prefix. */ +++ dirstack_size = 32; +++ dirstack = malloc(dirstack_size * sizeof *dirstack); +++ dirstack_top = 1; +++ dirstack[0] = strdup(""); +++ +++ /* Index array. */ +++ index_size = 64; +++ db_index = malloc(index_size * sizeof *db_index); +++ index_next = 0; +++ +++ do { +++ struct dirent **ents; +++ char name[PATH_MAX], *top; +++ int count; +++ +++ /* Pop the top stack entry, and iterate through its contents. */ +++ top = dirstack[--dirstack_top]; +++ snprintf(name, sizeof name, ZONEINFO_PREFIX "/%s", top); +++ +++ count = php_scandir(name, &ents, index_filter, php_alphasort); +++ +++ while (count > 0) { +++ struct stat st; +++ const char *leaf = ents[count - 1]->d_name; +++ +++ snprintf(name, sizeof name, ZONEINFO_PREFIX "/%s/%s", +++ top, leaf); +++ +++ if (strlen(name) && stat(name, &st) == 0) { +++ /* Name, relative to the zoneinfo prefix. */ +++ const char *root = top; +++ +++ if (root[0] == '/') root++; +++ +++ snprintf(name, sizeof name, "%s%s%s", root, +++ *root ? "/": "", leaf); +++ +++ if (S_ISDIR(st.st_mode)) { +++ if (dirstack_top == dirstack_size) { +++ dirstack_size *= 2; +++ dirstack = realloc(dirstack, +++ dirstack_size * sizeof *dirstack); +++ } +++ dirstack[dirstack_top++] = strdup(name); +++ } +++ else { +++ if (index_next == index_size) { +++ index_size *= 2; +++ db_index = realloc(db_index, +++ index_size * sizeof *db_index); +++ } +++ +++ db_index[index_next++].id = strdup(name); +++ } +++ } +++ +++ free(ents[--count]); +++ } +++ +++ if (count != -1) free(ents); +++ free(top); +++ } while (dirstack_top); +++ +++ qsort(db_index, index_next, sizeof *db_index, sysdbcmp); +++ +++ db->index = db_index; +++ db->index_size = index_next; +++ +++ free(dirstack); +++} +++ +++#define FAKE_HEADER "1234\0??\1??" +++#define FAKE_UTC_POS (7 - 4) +++ +++/* Create a fake data segment for database 'sysdb'. */ +++static void fake_data_segment(timelib_tzdb *sysdb, +++ struct location_info **info) +++{ +++ size_t n; +++ char *data, *p; +++ +++ data = malloc(3 * sysdb->index_size + 7); +++ +++ p = mempcpy(data, FAKE_HEADER, sizeof(FAKE_HEADER) - 1); +++ +++ for (n = 0; n < sysdb->index_size; n++) { +++ const struct location_info *li; +++ timelib_tzdb_index_entry *ent; +++ +++ ent = (timelib_tzdb_index_entry *)&sysdb->index[n]; +++ +++ /* Lookup the timezone name in the hash table. */ +++ if (strcmp(ent->id, "UTC") == 0) { +++ ent->pos = FAKE_UTC_POS; +++ continue; +++ } +++ +++ li = find_zone_info(info, ent->id); +++ if (li) { +++ /* If found, append the BC byte and the +++ * country code; set the position for this +++ * section of timezone data. */ +++ ent->pos = (p - data) - 4; +++ *p++ = '\1'; +++ *p++ = li->code[0]; +++ *p++ = li->code[1]; +++ } +++ else { +++ /* If not found, the timezone data can +++ * point at the header. */ +++ ent->pos = 0; +++ } +++ } +++ +++ sysdb->data = (unsigned char *)data; +++} +++ +++/* Returns true if the passed-in stat structure describes a +++ * probably-valid timezone file. */ +++static int is_valid_tzfile(const struct stat *st, int fd) +++{ +++ if (fd) { +++ char buf[20]; +++ if (read(fd, buf, 20)!=20) { +++ return 0; +++ } +++ lseek(fd, SEEK_SET, 0); +++ if (memcmp(buf, "TZif", 4)) { +++ return 0; +++ } +++ } +++ return S_ISREG(st->st_mode) && st->st_size > 20; +++} +++ +++/* To allow timezone names to be used case-insensitively, find the +++ * canonical name for this timezone, if possible. */ +++static const char *canonical_tzname(const char *timezone) +++{ +++ if (timezonedb_system) { +++ timelib_tzdb_index_entry *ent, lookup; +++ +++ lookup.id = (char *)timezone; +++ +++ ent = bsearch(&lookup, timezonedb_system->index, +++ timezonedb_system->index_size, sizeof lookup, +++ sysdbcmp); +++ if (ent) { +++ return ent->id; +++ } +++ } +++ +++ return timezone; +++} +++ +++/* Return the mmap()ed tzfile if found, else NULL. On success, the +++ * length of the mapped data is placed in *length. */ +++static char *map_tzfile(const char *timezone, size_t *length) +++{ +++ char fname[PATH_MAX]; +++ struct stat st; +++ char *p; +++ int fd; +++ +++ if (timezone[0] == '\0' || strstr(timezone, "..") != NULL) { +++ return NULL; +++ } +++ +++ snprintf(fname, sizeof fname, ZONEINFO_PREFIX "/%s", canonical_tzname(timezone)); +++ +++ fd = open(fname, O_RDONLY); +++ if (fd == -1) { +++ return NULL; +++ } else if (fstat(fd, &st) != 0 || !is_valid_tzfile(&st, fd)) { +++ close(fd); +++ return NULL; +++ } +++ +++ *length = st.st_size; +++ p = mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, fd, 0); +++ close(fd); +++ +++ return p != MAP_FAILED ? p : NULL; +++} +++ +++#endif +++ +++static int inmem_seek_to_tz_position(const unsigned char **tzf, const char *timezone, const timelib_tzdb *tzdb) ++ { ++ int left = 0, right = tzdb->index_size - 1; ++ ++@@ -603,9 +1043,48 @@ static int seek_to_tz_position(const unsigned char **tzf, const char *timezone, ++ return 0; ++ } ++ +++static int seek_to_tz_position(const unsigned char **tzf, const char *timezone, +++ char **map, size_t *maplen, +++ const timelib_tzdb *tzdb) +++{ +++#ifdef HAVE_SYSTEM_TZDATA +++ if (tzdb == timezonedb_system) { +++ char *orig; +++ +++ orig = map_tzfile(timezone, maplen); +++ if (orig == NULL) { +++ return 0; +++ } +++ +++ (*tzf) = (unsigned char *)orig; +++ *map = orig; +++ return 1; +++ } +++ else +++#endif +++ { +++ return inmem_seek_to_tz_position(tzf, timezone, tzdb); +++ } +++} +++ ++ const timelib_tzdb *timelib_builtin_db(void) ++ { +++#ifdef HAVE_SYSTEM_TZDATA +++ if (timezonedb_system == NULL) { +++ timelib_tzdb *tmp = malloc(sizeof *tmp); +++ +++ tmp->version = "0.system"; +++ tmp->data = NULL; +++ create_zone_index(tmp); +++ system_location_table = create_location_table(); +++ fake_data_segment(tmp, system_location_table); +++ timezonedb_system = tmp; +++ } +++ +++ return timezonedb_system; +++#else ++ return &timezonedb_builtin; +++#endif ++ } ++ ++ const timelib_tzdb_index_entry *timelib_timezone_identifiers_list(const timelib_tzdb *tzdb, int *count) ++@@ -617,7 +1096,30 @@ const timelib_tzdb_index_entry *timelib_timezone_identifiers_list(const timelib_ ++ int timelib_timezone_id_is_valid(const char *timezone, const timelib_tzdb *tzdb) ++ { ++ const unsigned char *tzf; ++- return (seek_to_tz_position(&tzf, timezone, tzdb)); +++ +++#ifdef HAVE_SYSTEM_TZDATA +++ if (tzdb == timezonedb_system) { +++ char fname[PATH_MAX]; +++ struct stat st; +++ +++ if (timezone[0] == '\0' || strstr(timezone, "..") != NULL) { +++ return 0; +++ } +++ +++ if (system_location_table) { +++ if (find_zone_info(system_location_table, timezone) != NULL) { +++ /* found in cache */ +++ return 1; +++ } +++ } +++ +++ snprintf(fname, sizeof fname, ZONEINFO_PREFIX "/%s", canonical_tzname(timezone)); +++ +++ return stat(fname, &st) == 0 && is_valid_tzfile(&st, 0); +++ } +++#endif +++ +++ return (inmem_seek_to_tz_position(&tzf, timezone, tzdb)); ++ } ++ ++ static int skip_64bit_preamble(const unsigned char **tzf, timelib_tzinfo *tz) ++@@ -662,6 +1164,8 @@ static timelib_tzinfo* timelib_tzinfo_ctor(const char *name) ++ timelib_tzinfo *timelib_parse_tzfile(const char *timezone, const timelib_tzdb *tzdb, int *error_code) ++ { ++ const unsigned char *tzf; +++ char *memmap = NULL; +++ size_t maplen; ++ timelib_tzinfo *tmp; ++ int version; ++ int transitions_result, types_result; ++@@ -669,7 +1173,7 @@ timelib_tzinfo *timelib_parse_tzfile(const char *timezone, const timelib_tzdb *t ++ ++ *error_code = TIMELIB_ERROR_NO_ERROR; ++ ++- if (seek_to_tz_position(&tzf, timezone, tzdb)) { +++ if (seek_to_tz_position(&tzf, timezone, &memmap, &maplen, tzdb)) { ++ tmp = timelib_tzinfo_ctor(timezone); ++ ++ version = read_preamble(&tzf, tmp, &type); ++@@ -712,11 +1216,36 @@ timelib_tzinfo *timelib_parse_tzfile(const char *timezone, const timelib_tzdb *t ++ return NULL; ++ } ++ +++#ifdef HAVE_SYSTEM_TZDATA +++ if (memmap) { +++ const struct location_info *li; +++ +++ /* TZif-style - grok the location info from the system database, +++ * if possible. */ +++ +++ if ((li = find_zone_info(system_location_table, timezone)) != NULL) { +++ tmp->location.comments = timelib_strdup(li->comment); +++ strncpy(tmp->location.country_code, li->code, 2); +++ tmp->location.longitude = li->longitude; +++ tmp->location.latitude = li->latitude; +++ tmp->bc = 1; +++ } +++ else { +++ set_default_location_and_comments(&tzf, tmp); +++ } +++ +++ /* Now done with the mmap segment - discard it. */ +++ munmap(memmap, maplen); +++ } else { +++#endif ++ if (type == TIMELIB_TZINFO_PHP) { ++ read_location(&tzf, tmp); ++ } else { ++ set_default_location_and_comments(&tzf, tmp); ++ } +++#ifdef HAVE_SYSTEM_TZDATA +++ } +++#endif ++ } else { ++ *error_code = TIMELIB_ERROR_NO_SUCH_TIMEZONE; ++ tmp = NULL; diff --cc debian/patches/0007-strcmp_null-OnUpdateErrorLog.patch index 00000000,00000000..186f6270 new file mode 100644 --- /dev/null +++ b/debian/patches/0007-strcmp_null-OnUpdateErrorLog.patch @@@ -1,0 -1,0 +1,25 @@@ ++From: Debian PHP Maintainers ++Date: Sat, 2 May 2015 10:26:53 +0200 ++Subject: strcmp_null-OnUpdateErrorLog ++ ++--- ++ tests/func/null-new_val.phpt | 10 ++++++++++ ++ 1 file changed, 10 insertions(+) ++ create mode 100644 tests/func/null-new_val.phpt ++ ++diff --git a/tests/func/null-new_val.phpt b/tests/func/null-new_val.phpt ++new file mode 100644 ++index 0000000..412da39 ++--- /dev/null +++++ b/tests/func/null-new_val.phpt ++@@ -0,0 +1,10 @@ +++--TEST-- +++ini_restore strcmp NULL new_val +++--FILE-- +++ +++--EXPECT-- diff --cc debian/patches/0008-qdbm-is-usr_include_qdbm.patch index 00000000,00000000..5069f1a4 new file mode 100644 --- /dev/null +++ b/debian/patches/0008-qdbm-is-usr_include_qdbm.patch @@@ -1,0 -1,0 +1,23 @@@ ++From: Debian PHP Maintainers ++Date: Sat, 2 May 2015 10:26:53 +0200 ++Subject: qdbm-is-usr_include_qdbm ++ ++--- ++ ext/dba/config.m4 | 4 ++++ ++ 1 file changed, 4 insertions(+) ++ ++diff --git a/ext/dba/config.m4 b/ext/dba/config.m4 ++index 6d8867e..17cddfc 100644 ++--- a/ext/dba/config.m4 +++++ b/ext/dba/config.m4 ++@@ -166,6 +166,10 @@ if test "$PHP_QDBM" != "no"; then ++ THIS_PREFIX=$i ++ THIS_INCLUDE=$i/include/qdbm/depot.h ++ break +++ elif test -f "$i/include/qdbm/depot.h"; then +++ THIS_PREFIX=$i +++ THIS_INCLUDE=$i/include/qdbm/depot.h +++ break ++ fi ++ done ++ diff --cc debian/patches/0009-session_save_path.patch index 00000000,00000000..0e97026b new file mode 100644 --- /dev/null +++ b/debian/patches/0009-session_save_path.patch @@@ -1,0 -1,0 +1,35 @@@ ++From: Debian PHP Maintainers ++Date: Sat, 2 May 2015 10:26:54 +0200 ++Subject: session_save_path ++ ++--- ++ ext/session/session.c | 2 +- ++ php.ini-production | 2 +- ++ 2 files changed, 2 insertions(+), 2 deletions(-) ++ ++diff --git a/ext/session/session.c b/ext/session/session.c ++index 70e1673..1c69ca1 100644 ++--- a/ext/session/session.c +++++ b/ext/session/session.c ++@@ -897,7 +897,7 @@ static PHP_INI_MH(OnUpdateRefererCheck) ++ ++ /* {{{ PHP_INI */ ++ PHP_INI_BEGIN() ++- STD_PHP_INI_ENTRY("session.save_path", "", PHP_INI_ALL, OnUpdateSaveDir, save_path, php_ps_globals, ps_globals) +++ STD_PHP_INI_ENTRY("session.save_path", "/var/lib/php/sessions", PHP_INI_ALL, OnUpdateSaveDir, save_path, php_ps_globals, ps_globals) ++ STD_PHP_INI_ENTRY("session.name", "PHPSESSID", PHP_INI_ALL, OnUpdateName, session_name, php_ps_globals, ps_globals) ++ PHP_INI_ENTRY("session.save_handler", "files", PHP_INI_ALL, OnUpdateSaveHandler) ++ STD_PHP_INI_BOOLEAN("session.auto_start", "0", PHP_INI_PERDIR, OnUpdateBool, auto_start, php_ps_globals, ps_globals) ++diff --git a/php.ini-production b/php.ini-production ++index cb3363b..e0c83c8 100644 ++--- a/php.ini-production +++++ b/php.ini-production ++@@ -1291,7 +1291,7 @@ session.save_handler = files ++ ; where MODE is the octal representation of the mode. Note that this ++ ; does not overwrite the process's umask. ++ ; https://php.net/session.save-path ++-;session.save_path = "/tmp" +++;session.save_path = "/var/lib/php/sessions" ++ ++ ; Whether to use strict session mode. ++ ; Strict session mode does not accept an uninitialized session ID, and diff --cc debian/patches/0010-php-fpm-man-section-and-cleanup.patch index 00000000,00000000..3646c135 new file mode 100644 --- /dev/null +++ b/debian/patches/0010-php-fpm-man-section-and-cleanup.patch @@@ -1,0 -1,0 +1,48 @@@ ++From: Debian PHP Maintainers ++Date: Sat, 2 May 2015 10:26:54 +0200 ++Subject: php-fpm-man-section-and-cleanup ++ ++--- ++ sapi/fpm/php-fpm.8.in | 22 ++-------------------- ++ 1 file changed, 2 insertions(+), 20 deletions(-) ++ ++diff --git a/sapi/fpm/php-fpm.8.in b/sapi/fpm/php-fpm.8.in ++index 941b911..533d5a7 100644 ++--- a/sapi/fpm/php-fpm.8.in +++++ b/sapi/fpm/php-fpm.8.in ++@@ -141,22 +141,8 @@ The configuration file for the php-fpm daemon. ++ .TP ++ .B php.ini ++ The standard php configuration file. ++-.SH EXAMPLES ++-For any unix systems which use init.d for their main process manager, you should use the init script provided to start and stop the php-fpm daemon. ++-.P ++-.PD 1 ++-.RS ++-sudo /etc/init.d/php-fpm start ++-.RE ++-.TP ++-For any unix systems which use systemd for their main process manager, you should use the unit file provided to start and stop the php-fpm daemon. ++-.P ++-.PD 1 ++-.RS ++-sudo systemctl start php-fpm.service ++-.RE ++-.TP ++-If your installation has no appropriate init script, launch php-fpm with no arguments. It will launch as a daemon (background process) by default. The file @php_fpm_localstatedir@/run/php-fpm.pid determines whether php-fpm is already up and running. Once started, php-fpm then responds to several POSIX signals: +++.SH SIGNAL +++Once started, php-fpm then responds to several POSIX signals: ++ .P ++ .PD 0 ++ .RS ++@@ -170,10 +156,6 @@ If your installation has no appropriate init script, launch php-fpm with no argu ++ .RE ++ .PD 1 ++ .P ++-.SH TIPS ++-The PHP-FPM CGI daemon will work well with most popular webservers, including Apache2, lighttpd and nginx. ++-.PD 1 ++-.P ++ .SH SEE ALSO ++ For a more or less complete description of PHP-FPM look here: ++ .PD 0 diff --cc debian/patches/0011-fpm-config.patch index 00000000,00000000..1be805b4 new file mode 100644 --- /dev/null +++ b/debian/patches/0011-fpm-config.patch @@@ -1,0 -1,0 +1,37 @@@ ++From: Debian PHP Maintainers ++Date: Sat, 2 May 2015 10:26:54 +0200 ++Subject: fpm-config ++ ++--- ++ sapi/fpm/php-fpm.conf.in | 8 +++++--- ++ 1 file changed, 5 insertions(+), 3 deletions(-) ++ ++diff --git a/sapi/fpm/php-fpm.conf.in b/sapi/fpm/php-fpm.conf.in ++index f1b48ad..f24a64c 100644 ++--- a/sapi/fpm/php-fpm.conf.in +++++ b/sapi/fpm/php-fpm.conf.in ++@@ -14,14 +14,16 @@ ++ ; Pid file ++ ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@ ++ ; Default Value: none ++-;pid = run/php-fpm.pid +++; Warning: if you change the value here, you need to modify systemd +++; service PIDFile= setting to match the value here. +++pid = @EXPANDED_LOCALSTATEDIR@/run/php/php@PHP_MAJOR_VERSION@.@PHP_MINOR_VERSION@-fpm.pid ++ ++ ; Error log file ++ ; If it's set to "syslog", log is sent to syslogd instead of being written ++ ; into a local file. ++ ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@ ++ ; Default Value: log/php-fpm.log ++-;error_log = log/php-fpm.log +++error_log = @EXPANDED_LOCALSTATEDIR@/log/php@PHP_MAJOR_VERSION@.@PHP_MINOR_VERSION@-fpm.log ++ ++ ; syslog_facility is used to specify what type of program is logging the ++ ; message. This lets syslogd specify that messages from different facilities ++@@ -139,4 +141,4 @@ ++ ; Relative path can also be used. They will be prefixed by: ++ ; - the global prefix if it's been set (-p argument) ++ ; - @prefix@ otherwise ++-include=@php_fpm_sysconfdir@/php-fpm.d/*.conf +++include=@php_fpm_sysconfdir@/pool.d/*.conf diff --cc debian/patches/0012-php-fpm-sysconfdir.patch index 00000000,00000000..8e7dcab5 new file mode 100644 --- /dev/null +++ b/debian/patches/0012-php-fpm-sysconfdir.patch @@@ -1,0 -1,0 +1,21 @@@ ++From: Debian PHP Maintainers ++Date: Sat, 2 May 2015 10:26:54 +0200 ++Subject: php-fpm-sysconfdir ++ ++--- ++ sapi/fpm/fpm/fpm_conf.c | 2 +- ++ 1 file changed, 1 insertion(+), 1 deletion(-) ++ ++diff --git a/sapi/fpm/fpm/fpm_conf.c b/sapi/fpm/fpm/fpm_conf.c ++index ac4343b..88c505d 100644 ++--- a/sapi/fpm/fpm/fpm_conf.c +++++ b/sapi/fpm/fpm/fpm_conf.c ++@@ -1852,7 +1852,7 @@ int fpm_conf_init_main(int test_conf, int force_daemon) /* {{{ */ ++ char *tmp; ++ ++ if (fpm_globals.prefix == NULL) { ++- spprintf(&tmp, 0, "%s/php-fpm.conf", PHP_SYSCONFDIR); +++ spprintf(&tmp, 0, "%s/php/%d.%d/fpm/php-fpm.conf", PHP_SYSCONFDIR, PHP_MAJOR_VERSION, PHP_MINOR_VERSION); ++ } else { ++ spprintf(&tmp, 0, "%s/etc/php-fpm.conf", fpm_globals.prefix); ++ } diff --cc debian/patches/0013-lp564920-fix-big-files.patch index 00000000,00000000..4f9e3db1 new file mode 100644 --- /dev/null +++ b/debian/patches/0013-lp564920-fix-big-files.patch @@@ -1,0 -1,0 +1,27 @@@ ++From: Debian PHP Maintainers ++Date: Sat, 2 May 2015 10:26:54 +0200 ++Subject: lp564920-fix-big-files ++ ++--- ++ main/streams/plain_wrapper.c | 8 +++++++- ++ 1 file changed, 7 insertions(+), 1 deletion(-) ++ ++diff --git a/main/streams/plain_wrapper.c b/main/streams/plain_wrapper.c ++index 85771ea..aaa8518 100644 ++--- a/main/streams/plain_wrapper.c +++++ b/main/streams/plain_wrapper.c ++@@ -767,7 +767,13 @@ static int php_stdiop_set_option(php_stream *stream, int option, int value, void ++ ++ switch (value) { ++ case PHP_STREAM_MMAP_SUPPORTED: ++- return fd == -1 ? PHP_STREAM_OPTION_RETURN_ERR : PHP_STREAM_OPTION_RETURN_OK; +++ if (fd == -1) +++ return PHP_STREAM_OPTION_RETURN_ERR; +++ /* Don't mmap large files */ +++ do_fstat(data, 1); +++ if (data->sb.st_size > 4 * 1024 * 1024) +++ return PHP_STREAM_OPTION_RETURN_ERR; +++ return PHP_STREAM_OPTION_RETURN_OK; ++ ++ case PHP_STREAM_MMAP_MAP_RANGE: ++ if (do_fstat(data, 1) != 0) { diff --cc debian/patches/0014-temporary-path-fixes-for-multiarch.patch index 00000000,00000000..b5f9d174 new file mode 100644 --- /dev/null +++ b/debian/patches/0014-temporary-path-fixes-for-multiarch.patch @@@ -1,0 -1,0 +1,54 @@@ ++From: Debian PHP Maintainers ++Date: Sat, 2 May 2015 10:26:54 +0200 ++Subject: temporary-path-fixes-for-multiarch ++ ++--- ++ ext/dba/config.m4 | 2 +- ++ ext/ldap/config.m4 | 4 ++-- ++ ext/pdo_dblib/config.m4 | 2 +- ++ 3 files changed, 4 insertions(+), 4 deletions(-) ++ ++diff --git a/ext/dba/config.m4 b/ext/dba/config.m4 ++index 17cddfc..b9b3423 100644 ++--- a/ext/dba/config.m4 +++++ b/ext/dba/config.m4 ++@@ -336,7 +336,7 @@ AC_DEFUN([PHP_DBA_DB_CHECK],[ ++ AS_VAR_IF([THIS_INCLUDE],, ++ [AC_MSG_ERROR([DBA: Could not find necessary header file(s).])]) ++ for LIB in m4_normalize([$2]); do ++- if test -f $THIS_PREFIX/$PHP_LIBDIR/lib$LIB.a || test -f $THIS_PREFIX/$PHP_LIBDIR/lib$LIB.$SHLIB_SUFFIX_NAME; then +++ if test -f $THIS_PREFIX/$PHP_LIBDIR/lib$LIB.a || test -f $THIS_PREFIX/$PHP_LIBDIR/$DEB_HOST_MULTIARCH/lib$LIB.$SHLIB_SUFFIX_NAME || test -f $THIS_PREFIX/$PHP_LIBDIR/lib$LIB.$SHLIB_SUFFIX_NAME; then ++ lib_found=""; ++ PHP_TEMP_LDFLAGS([-L$THIS_PREFIX/$PHP_LIBDIR], [-l$LIB], ++ [AC_LINK_IFELSE([AC_LANG_PROGRAM([#include "$THIS_INCLUDE"], ++diff --git a/ext/ldap/config.m4 b/ext/ldap/config.m4 ++index bb57d63..295cdf5 100644 ++--- a/ext/ldap/config.m4 +++++ b/ext/ldap/config.m4 ++@@ -72,11 +72,11 @@ if test "$PHP_LDAP" != "no"; then ++ AH_TEMPLATE([HAVE_ORALDAP], ++ [Define to 1 if the ldap extension uses the Oracle Instant Client.]) ++ ++- if test -f $LDAP_LIBDIR/liblber.a || test -f $LDAP_LIBDIR/liblber.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/liblber.a || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/liblber.$SHLIB_SUFFIX_NAME; then +++ if test -f $LDAP_LIBDIR/liblber.a || test -f $LDAP_LIBDIR/liblber.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$DEB_HOST_MULTIARCH/liblber.a || test -f $LDAP_LIBDIR/$DEB_HOST_MULTIARCH/liblber.$SHLIB_SUFFIX_NAME; then ++ PHP_ADD_LIBRARY_WITH_PATH([lber], [$LDAP_LIBDIR], [LDAP_SHARED_LIBADD]) ++ PHP_ADD_LIBRARY_WITH_PATH([ldap], [$LDAP_LIBDIR], [LDAP_SHARED_LIBADD]) ++ ++- elif test -f $LDAP_LIBDIR/libldap.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/libldap.$SHLIB_SUFFIX_NAME.3 || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/libldap.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/libldap.$SHLIB_SUFFIX_NAME.3 || test -f $LDAP_LIBDIR/libldap.3.dylib; then +++ elif test -f $LDAP_LIBDIR/libldap.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/libldap.$SHLIB_SUFFIX_NAME.3 || test -f $LDAP_LIBDIR/$DEB_HOST_MULTIARCH/libldap.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$DEB_HOST_MULTIARCH/libldap.$SHLIB_SUFFIX_NAME.3 || test -f $LDAP_LIBDIR/libldap.3.dylib; then ++ PHP_ADD_LIBRARY_WITH_PATH([ldap], [$LDAP_LIBDIR], [LDAP_SHARED_LIBADD]) ++ ++ elif test -f $LDAP_LIBDIR/libclntsh.$SHLIB_SUFFIX_NAME.12.1 || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/libclntsh.$SHLIB_SUFFIX_NAME.12.1; then ++diff --git a/ext/pdo_dblib/config.m4 b/ext/pdo_dblib/config.m4 ++index 4cfea50..423623f 100644 ++--- a/ext/pdo_dblib/config.m4 +++++ b/ext/pdo_dblib/config.m4 ++@@ -22,7 +22,7 @@ if test "$PHP_PDO_DBLIB" != "no"; then ++ AC_MSG_ERROR([Directory $PHP_PDO_DBLIB is not a FreeTDS installation directory]) ++ fi ++ ++- if test ! -r "$PDO_FREETDS_INSTALLATION_DIR/$PHP_LIBDIR/libsybdb.a" && test ! -r "$PDO_FREETDS_INSTALLATION_DIR/$PHP_LIBDIR/libsybdb.so"; then +++ if test ! -r "$PDO_FREETDS_INSTALLATION_DIR/$PHP_LIBDIR/libsybdb.a" && test ! -r "$PDO_FREETDS_INSTALLATION_DIR/$PHP_LIBDIR/$DEB_HOST_MULTIARCH/libsybdb.so" && test ! -r "$PDO_FREETDS_INSTALLATION_DIR/$PHP_LIBDIR/libsybdb.so"; then ++ AC_MSG_ERROR([[Could not find $PDO_FREETDS_INSTALLATION_DIR/$PHP_LIBDIR/libsybdb.[a|so]]]) ++ fi ++ diff --cc debian/patches/0015-hurd-noptrace.patch index 00000000,00000000..68f1a5c6 new file mode 100644 --- /dev/null +++ b/debian/patches/0015-hurd-noptrace.patch @@@ -1,0 -1,0 +1,24 @@@ ++From: Debian PHP Maintainers ++Date: Sat, 2 May 2015 10:26:54 +0200 ++Subject: hurd-noptrace ++ ++--- ++ sapi/fpm/config.m4 | 5 +++++ ++ 1 file changed, 5 insertions(+) ++ ++diff --git a/sapi/fpm/config.m4 b/sapi/fpm/config.m4 ++index 4d4952e..4441600 100644 ++--- a/sapi/fpm/config.m4 +++++ b/sapi/fpm/config.m4 ++@@ -85,6 +85,11 @@ AC_DEFUN([PHP_FPM_TRACE], ++ pid_t child; ++ int status; ++ +++ /* broken ptrace on Hurd, avoid hanging */ +++ #ifdef __GNU__ +++ return 10; +++ #endif +++ ++ if ( (child = fork()) ) { /* parent */ ++ int ret = 0; ++ diff --cc debian/patches/0016-php-5.3.3-macropen.patch index 00000000,00000000..0f5c46b0 new file mode 100644 --- /dev/null +++ b/debian/patches/0016-php-5.3.3-macropen.patch @@@ -1,0 -1,0 +1,55 @@@ ++From: Debian PHP Maintainers ++Date: Sat, 2 May 2015 10:26:55 +0200 ++Subject: php-5.3.3-macropen ++ ++--- ++ ext/dba/dba.c | 2 +- ++ ext/dba/dba_db3.c | 4 ++-- ++ ext/dba/dba_db4.c | 4 ++-- ++ 3 files changed, 5 insertions(+), 5 deletions(-) ++ ++diff --git a/ext/dba/dba.c b/ext/dba/dba.c ++index 7982e42..c4b988c 100644 ++--- a/ext/dba/dba.c +++++ b/ext/dba/dba.c ++@@ -917,7 +917,7 @@ static void php_dba_open(INTERNAL_FUNCTION_PARAMETERS, bool persistent) ++ } ++ } ++ ++- if (error || hptr->open(connection->info, &error) == FAILURE) { +++ if (error || (hptr->open)(connection->info, &error) == FAILURE) { ++ if (EXPECTED(!EG(exception))) { ++ if (error) { ++ php_error_docref(NULL, E_WARNING, "Driver initialization failed for handler: %s: %s", hptr->name, error); ++diff --git a/ext/dba/dba_db3.c b/ext/dba/dba_db3.c ++index 8efc8d4..a59121e 100644 ++--- a/ext/dba/dba_db3.c +++++ b/ext/dba/dba_db3.c ++@@ -81,9 +81,9 @@ DBA_OPEN_FUNC(db3) ++ dbp->set_errcall(dbp, php_dba_db3_errcall_fcn); ++ if( ++ #if (DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1)) ++- (err=dbp->open(dbp, 0, ZSTR_VAL(info->path), NULL, type, gmode, filemode)) == 0) { +++ (err=(dbp->open)(dbp, 0, ZSTR_VAL(info->path), NULL, type, gmode, filemode)) == 0) { ++ #else ++- (err=dbp->open(dbp, ZSTR_VAL(info->path), NULL, type, gmode, filemode)) == 0) { +++ (err=(dbp->open)(dbp, ZSTR_VAL(info->path), NULL, type, gmode, filemode)) == 0) { ++ #endif ++ dba_db3_data *data; ++ ++diff --git a/ext/dba/dba_db4.c b/ext/dba/dba_db4.c ++index f64db55..5798fb1 100644 ++--- a/ext/dba/dba_db4.c +++++ b/ext/dba/dba_db4.c ++@@ -110,9 +110,9 @@ DBA_OPEN_FUNC(db4) ++ dbp->set_errcall(dbp, php_dba_db4_errcall_fcn); ++ if ( ++ #if (DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1)) ++- (err=dbp->open(dbp, 0, ZSTR_VAL(info->path), NULL, type, gmode, filemode)) == 0) { +++ (err=(dbp->open)(dbp, 0, ZSTR_VAL(info->path), NULL, type, gmode, filemode)) == 0) { ++ #else ++- (err=dbp->open(dbp, ZSTR_VAL(info->path), NULL, type, gmode, filemode)) == 0) { +++ (err=(dbp->open)(dbp, ZSTR_VAL(info->path), NULL, type, gmode, filemode)) == 0) { ++ #endif ++ dba_db4_data *data; ++ diff --cc debian/patches/0017-php-5.2.4-embed.patch index 00000000,00000000..81cceadd new file mode 100644 --- /dev/null +++ b/debian/patches/0017-php-5.2.4-embed.patch @@@ -1,0 -1,0 +1,21 @@@ ++From: Debian PHP Maintainers ++Date: Sat, 2 May 2015 10:26:55 +0200 ++Subject: php-5.2.4-embed ++ ++--- ++ sapi/embed/config.m4 | 2 +- ++ 1 file changed, 1 insertion(+), 1 deletion(-) ++ ++diff --git a/sapi/embed/config.m4 b/sapi/embed/config.m4 ++index 2bb5ed4..6cdcb9c 100644 ++--- a/sapi/embed/config.m4 +++++ b/sapi/embed/config.m4 ++@@ -15,7 +15,7 @@ if test "$PHP_EMBED" != "no"; then ++ SAPI_SHARED="libs/libphp.dylib" ++ PHP_EMBED_TYPE=shared-dylib ++ ], [PHP_EMBED_TYPE=shared]) ++- INSTALL_IT="\$(mkinstalldirs) \$(INSTALL_ROOT)\$(orig_libdir); \$(INSTALL) -m 0755 $SAPI_SHARED \$(INSTALL_ROOT)\$(orig_libdir)" +++ INSTALL_IT="\$(mkinstalldirs) \$(INSTALL_ROOT)\$(orig_libdir); \$(LIBTOOL) --mode=install \$(INSTALL) -m 0755 $SAPI_SHARED \$(INSTALL_ROOT)\$(orig_libdir)" ++ ], ++ [static], [ ++ LIBPHP_CFLAGS="-static" diff --cc debian/patches/0018-php-fpm-m68k.patch index 00000000,00000000..782a7225 new file mode 100644 --- /dev/null +++ b/debian/patches/0018-php-fpm-m68k.patch @@@ -1,0 -1,0 +1,60 @@@ ++From: Debian PHP Maintainers ++Date: Sat, 2 May 2015 10:26:55 +0200 ++Subject: php-fpm-m68k ++ ++--- ++ sapi/fpm/fpm/fpm_atomic.h | 34 ++++++++++++++++++++++++++++++++++ ++ 1 file changed, 34 insertions(+) ++ ++diff --git a/sapi/fpm/fpm/fpm_atomic.h b/sapi/fpm/fpm/fpm_atomic.h ++index 02009f6..3d43007 100644 ++--- a/sapi/fpm/fpm/fpm_atomic.h +++++ b/sapi/fpm/fpm/fpm_atomic.h ++@@ -3,6 +3,12 @@ ++ #ifndef FPM_ATOMIC_H ++ #define FPM_ATOMIC_H 1 ++ +++#if defined(__m68k__) +++#define _GNU_SOURCE +++#include +++#include +++#endif +++ ++ #include ++ #include ++ ++@@ -131,6 +137,34 @@ static inline atomic_uint_t atomic_cmp_set(atomic_t *lock, atomic_uint_t old, at ++ #error Sparc v8 and predecessors are not and will not be supported (see bug report 53310) ++ #endif /* #if (__sparcv9 || __sparcv9__) */ ++ +++#elif defined(__m68k__) && defined(__linux__) +++ +++typedef signed int atomic_int_t __attribute__((__aligned__(4))); +++typedef unsigned int atomic_uint_t __attribute__((__aligned__(4))); +++typedef volatile unsigned int atomic_t __attribute__((__aligned__(4))); +++ +++#ifndef SYS_atomic_cmpxchg_32 +++#define SYS_atomic_cmpxchg_32 335 +++#endif +++ +++static inline atomic_uint_t atomic_cas_32(atomic_t *lock, atomic_uint_t old, atomic_uint_t new) /* {{{ */ +++{ +++ register atomic_t *a0 asm("a0") = lock; +++ register atomic_uint_t d2 asm("d2") = old; +++ register atomic_uint_t d1 asm("d1") = new; +++ register atomic_uint_t d0 asm("d0") = SYS_atomic_cmpxchg_32; +++ +++ asm volatile("trap #0" : "+r" (d0), "+r" (d1), "+r" (a0) : "r" (d2) : "memory", "a1"); +++ return (d0); +++} +++/* }}} */ +++ +++static inline atomic_uint_t atomic_cmp_set(atomic_t *lock, atomic_uint_t old, atomic_uint_t set) /* {{{ */ +++{ +++ return (atomic_cas_32(lock, old, set) == old); +++} +++/* }}} */ +++ ++ #else ++ ++ #error Unsupported processor. Please open a bug report (https://github.com/php/php-src/issues). diff --cc debian/patches/0019-expose_all_built_and_installed_apis.patch index 00000000,00000000..0687d907 new file mode 100644 --- /dev/null +++ b/debian/patches/0019-expose_all_built_and_installed_apis.patch @@@ -1,0 -1,0 +1,43 @@@ ++From: Debian PHP Maintainers ++Date: Sat, 2 May 2015 10:26:56 +0200 ++Subject: expose_all_built_and_installed_apis ++ ++--- ++ scripts/man1/php-config.1.in | 2 +- ++ scripts/php-config.in | 5 ++++- ++ 2 files changed, 5 insertions(+), 2 deletions(-) ++ ++diff --git a/scripts/man1/php-config.1.in b/scripts/man1/php-config.1.in ++index 9944ac9..3114207 100644 ++--- a/scripts/man1/php-config.1.in +++++ b/scripts/man1/php-config.1.in ++@@ -52,7 +52,7 @@ Full path to php CLI or CGI binary ++ .TP ++ .PD 0 ++ .B \-\-php-sapis ++-Show all SAPI modules available +++Show all SAPI modules installed on the Debian system ++ .TP ++ .PD 0 ++ .B \-\-configure-options ++diff --git a/scripts/php-config.in b/scripts/php-config.in ++index 3d4e0f1..9e415da 100644 ++--- a/scripts/php-config.in +++++ b/scripts/php-config.in ++@@ -19,12 +19,15 @@ exe_extension="@EXEEXT@" ++ php_cli_binary=NONE ++ php_cgi_binary=NONE ++ configure_options="@CONFIGURE_OPTIONS@" ++-php_sapis="@PHP_INSTALLED_SAPIS@" +++#php_sapis="@PHP_INSTALLED_SAPIS@" ++ phpapi="@DEBIAN_PHP_API@" ++ ini_dir="@EXPANDED_PHP_CONFIG_FILE_SCAN_DIR@" ++ ini_path="@EXPANDED_PHP_CONFIG_FILE_PATH@" ++ php_embed_type="@PHP_EMBED_TYPE@" ++ +++# Query the dpkg database for available PHP sapis +++php_sapis=$(dpkg-query -W -f='${Package} ' libapache2-mod-php${program_suffix} php${program_suffix}-cgi php${program_suffix}-cli php${program_suffix}-fpm libphp${program_suffix}-embed php${program_suffix}-phpdbg 2>/dev/null | sed -e "s|libapache2-mod-php${program_suffix}|apache2handler|;s|php${program_suffix}-cgi|cgi|;s|php${program_suffix}-cli|cli|;s|php${program_suffix}-fpm|fpm|;s|libphp${program_suffix}-embed|embed|;s|php${program_suffix}-phpdbg|phpdbg|;") +++ ++ # Set php_cli_binary and php_cgi_binary if available ++ for sapi in $php_sapis; do ++ case $sapi in diff --cc debian/patches/0020-Use-system-timezone.patch index 00000000,00000000..ca36e2ef new file mode 100644 --- /dev/null +++ b/debian/patches/0020-Use-system-timezone.patch @@@ -1,0 -1,0 +1,43 @@@ ++From: Debian PHP Maintainers ++Date: Sat, 2 May 2015 10:26:56 +0200 ++Subject: Use system timezone ++ ++Upstream don't want this patch. See ++http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=730771 for a summary. ++ ++This delta is recovered from previous versions of the system timezone patch in ++Debian, and appears to have inadvertently been dropped. Author unknown. ++ ++To be used in tandem with use_embedded_timezonedb.patch and use_embedded_timezonedb_fixes.patch. ++--- ++ ext/date/php_date.c | 17 +++++++++++++++++ ++ 1 file changed, 17 insertions(+) ++ ++diff --git a/ext/date/php_date.c b/ext/date/php_date.c ++index 94ffd97..172e2f0 100644 ++--- a/ext/date/php_date.c +++++ b/ext/date/php_date.c ++@@ -566,6 +566,23 @@ static const char* guess_timezone(const timelib_tzdb *tzdb) ++ } else if (*DATEG(default_timezone)) { ++ return DATEG(default_timezone); ++ } +++ /* Try to guess timezone from system information */ +++ { +++ struct tm *ta, tmbuf; +++ time_t the_time; +++ char *tzid = NULL; +++ +++ the_time = time(NULL); +++ ta = php_localtime_r(&the_time, &tmbuf); +++ if (ta) { +++ tzid = timelib_timezone_id_from_abbr(ta->tm_zone, ta->tm_gmtoff, ta->tm_isdst); +++ } +++ if (! tzid) { +++ tzid = "UTC"; +++ } +++ +++ return tzid; +++ } ++ /* Fallback to UTC */ ++ return "UTC"; ++ } diff --cc debian/patches/0021-php-fpm-do-reload-on-SIGHUP.patch index 00000000,00000000..878a324a new file mode 100644 --- /dev/null +++ b/debian/patches/0021-php-fpm-do-reload-on-SIGHUP.patch @@@ -1,0 -1,0 +1,67 @@@ ++From: Debian PHP Maintainers ++Date: Sat, 2 May 2015 10:26:56 +0200 ++Subject: php-fpm-do-reload-on-SIGHUP ++ ++--- ++ sapi/fpm/fpm/fpm_events.c | 5 +++++ ++ sapi/fpm/fpm/fpm_signals.c | 3 +++ ++ sapi/fpm/php-fpm.8.in | 2 +- ++ 3 files changed, 9 insertions(+), 1 deletion(-) ++ ++diff --git a/sapi/fpm/fpm/fpm_events.c b/sapi/fpm/fpm/fpm_events.c ++index 1ccf2c9..30d638a 100644 ++--- a/sapi/fpm/fpm/fpm_events.c +++++ b/sapi/fpm/fpm/fpm_events.c ++@@ -131,6 +131,11 @@ static void fpm_got_signal(struct fpm_event_s *ev, short which, void *arg) /* {{ ++ zlog(ZLOG_NOTICE, "Reloading in progress ..."); ++ fpm_pctl(FPM_PCTL_STATE_RELOADING, FPM_PCTL_ACTION_SET); ++ break; +++ case 'H' : /* SIGHUP */ +++ zlog(ZLOG_DEBUG, "received SIGHUP"); +++ zlog(ZLOG_NOTICE, "Reloading in progress ..."); +++ fpm_pctl(FPM_PCTL_STATE_RELOADING, FPM_PCTL_ACTION_SET); +++ break; ++ } ++ ++ if (fpm_globals.is_child) { ++diff --git a/sapi/fpm/fpm/fpm_signals.c b/sapi/fpm/fpm/fpm_signals.c ++index aca7c9e..5481e55 100644 ++--- a/sapi/fpm/fpm/fpm_signals.c +++++ b/sapi/fpm/fpm/fpm_signals.c ++@@ -160,6 +160,7 @@ static void sig_handler(int signo) /* {{{ */ ++ [SIGINT] = 'I', ++ [SIGUSR1] = '1', ++ [SIGUSR2] = '2', +++ [SIGHUP] = 'H', ++ [SIGQUIT] = 'Q', ++ [SIGCHLD] = 'C' ++ }; ++@@ -209,6 +210,7 @@ int fpm_signals_init_main(void) ++ 0 > sigaction(SIGINT, &act, 0) || ++ 0 > sigaction(SIGUSR1, &act, 0) || ++ 0 > sigaction(SIGUSR2, &act, 0) || +++ 0 > sigaction(SIGHUP, &act, 0) || ++ 0 > sigaction(SIGCHLD, &act, 0) || ++ 0 > sigaction(SIGQUIT, &act, 0)) { ++ ++@@ -242,6 +244,7 @@ int fpm_signals_init_child(void) ++ 0 > sigaction(SIGINT, &act_dfl, 0) || ++ 0 > sigaction(SIGUSR1, &act_dfl, 0) || ++ 0 > sigaction(SIGUSR2, &act_dfl, 0) || +++ 0 > sigaction(SIGHUP, &act_dfl, 0) || ++ 0 > sigaction(SIGCHLD, &act_dfl, 0) || ++ 0 > sigaction(SIGQUIT, &act, 0)) { ++ ++diff --git a/sapi/fpm/php-fpm.8.in b/sapi/fpm/php-fpm.8.in ++index 533d5a7..64ee547 100644 ++--- a/sapi/fpm/php-fpm.8.in +++++ b/sapi/fpm/php-fpm.8.in ++@@ -152,7 +152,7 @@ Once started, php-fpm then responds to several POSIX signals: ++ .TP ++ .B SIGUSR1 \fPre-open log file ++ .TP ++-.B SIGUSR2 \fPgraceful reload of all workers + reload of fpm conf/binary +++.B SIGUSR2,SIGHUP \fPgraceful reload of all workers + reload of fpm conf/binary ++ .RE ++ .PD 1 ++ .P diff --cc debian/patches/0022-php-5.4.8-ldap_r.patch index 00000000,00000000..506ae393 new file mode 100644 --- /dev/null +++ b/debian/patches/0022-php-5.4.8-ldap_r.patch @@@ -1,0 -1,0 +1,25 @@@ ++From: Debian PHP Maintainers ++Date: Sat, 2 May 2015 10:26:56 +0200 ++Subject: php-5.4.8-ldap_r ++ ++Use -lldap_r by default. ++--- ++ ext/ldap/config.m4 | 5 ++++- ++ 1 file changed, 4 insertions(+), 1 deletion(-) ++ ++diff --git a/ext/ldap/config.m4 b/ext/ldap/config.m4 ++index 295cdf5..19a38cb 100644 ++--- a/ext/ldap/config.m4 +++++ b/ext/ldap/config.m4 ++@@ -72,7 +72,10 @@ if test "$PHP_LDAP" != "no"; then ++ AH_TEMPLATE([HAVE_ORALDAP], ++ [Define to 1 if the ldap extension uses the Oracle Instant Client.]) ++ ++- if test -f $LDAP_LIBDIR/liblber.a || test -f $LDAP_LIBDIR/liblber.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$DEB_HOST_MULTIARCH/liblber.a || test -f $LDAP_LIBDIR/$DEB_HOST_MULTIARCH/liblber.$SHLIB_SUFFIX_NAME; then +++ if test -f $LDAP_LIBDIR/libldap_r.a || test -f $LDAP_LIBDIR/libldap_r.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$DEB_HOST_MULTIARCH/libldap_r.a || test -f $LDAP_LIBDIR/$DEB_HOST_MULTIARCH/libldap_r.$SHLIB_SUFFIX_NAME; then +++ PHP_ADD_LIBRARY_WITH_PATH(lber, $LDAP_LIBDIR, LDAP_SHARED_LIBADD) +++ PHP_ADD_LIBRARY_WITH_PATH(ldap_r, $LDAP_LIBDIR, LDAP_SHARED_LIBADD) +++ elif test -f $LDAP_LIBDIR/liblber.a || test -f $LDAP_LIBDIR/liblber.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$DEB_HOST_MULTIARCH/liblber.a || test -f $LDAP_LIBDIR/$DEB_HOST_MULTIARCH/liblber.$SHLIB_SUFFIX_NAME; then ++ PHP_ADD_LIBRARY_WITH_PATH([lber], [$LDAP_LIBDIR], [LDAP_SHARED_LIBADD]) ++ PHP_ADD_LIBRARY_WITH_PATH([ldap], [$LDAP_LIBDIR], [LDAP_SHARED_LIBADD]) ++ diff --cc debian/patches/0023-php-5.4.9-fixheader.patch index 00000000,00000000..4bf4f717 new file mode 100644 --- /dev/null +++ b/debian/patches/0023-php-5.4.9-fixheader.patch @@@ -1,0 -1,0 +1,24 @@@ ++From: Debian PHP Maintainers ++Date: Sat, 2 May 2015 10:26:56 +0200 ++Subject: php-5.4.9-fixheader ++ ++Make generated php_config.h constant across rebuilds. ++--- ++ configure.ac | 4 ++-- ++ 1 file changed, 2 insertions(+), 2 deletions(-) ++ ++diff --git a/configure.ac b/configure.ac ++index 1ade7e7..6b0d761 100644 ++--- a/configure.ac +++++ b/configure.ac ++@@ -1398,8 +1398,8 @@ EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM $PHP_LDFLAGS" ++ ++ AC_ARG_VAR([PHP_UNAME], ++ [System information (defaults to the 'uname -a' output)]) ++-AS_VAR_IF([PHP_UNAME],, [PHP_UNAME=$(uname -a | xargs)]) ++-AC_DEFINE_UNQUOTED([PHP_UNAME], ["$PHP_UNAME"], [The 'uname -a' output.]) +++AS_VAR_IF([PHP_UNAME],, [PHP_UNAME=$(uname | xargs)]) +++AC_DEFINE_UNQUOTED([PHP_UNAME], ["$PHP_UNAME"], [The 'uname' output.]) ++ ++ PHP_OS=$(uname | xargs) ++ AC_DEFINE_UNQUOTED([PHP_OS], ["$PHP_OS"], [The 'uname' output.]) diff --cc debian/patches/0024-php-5.6.0-noNO.patch index 00000000,00000000..ae739e76 new file mode 100644 --- /dev/null +++ b/debian/patches/0024-php-5.6.0-noNO.patch @@@ -1,0 -1,0 +1,53 @@@ ++From: Debian PHP Maintainers ++Date: Sat, 2 May 2015 10:26:56 +0200 ++Subject: php-5.6.0-noNO ++ ++--- ++ ext/standard/tests/strings/setlocale_variation2.phpt | 11 ++++++++--- ++ 1 file changed, 8 insertions(+), 3 deletions(-) ++ ++diff --git a/ext/standard/tests/strings/setlocale_variation2.phpt b/ext/standard/tests/strings/setlocale_variation2.phpt ++index 6f62f71..d8666ba 100644 ++--- a/ext/standard/tests/strings/setlocale_variation2.phpt +++++ b/ext/standard/tests/strings/setlocale_variation2.phpt ++@@ -47,6 +47,7 @@ function list_system_locales() { ++ //try different locale names ++ $failure_locale = array(); ++ $success_count = 0; +++$expected = 0; ++ ++ echo "-- Test setlocale() with all available locale in the system --\n"; ++ // gather all locales installed in the system(stored $all_system_locales), ++@@ -56,6 +57,10 @@ function list_system_locales() { ++ if(setlocale(LC_ALL,$value )){ ++ $success_count++; ++ } +++ else if ($value == 'no_NO.ISO-8859-1') { +++ // ignore this one, see rhbz #971416 +++ $expected++; +++ } ++ else{ ++ //failure values are put in to an array $failure_locale ++ $failure_locale[] = $value; ++@@ -64,11 +69,11 @@ function list_system_locales() { ++ ++ echo "No of locales found on the machine = ".count($all_system_locales)."\n"; ++ echo "No of setlocale() success = ".$success_count."\n"; ++-echo "Expected no of failures = 0\n"; +++echo "Expected no of failures = $expected\n"; ++ echo "Test "; ++ // check if there were any failure of setlocale() function earlier, if any ++ // failure then dump the list of failing locales ++-if($success_count != count($all_system_locales)){ +++if(($success_count + $expected) != count($all_system_locales)){ ++ echo "FAILED\n"; ++ echo "Names of locale() for which setlocale() failed ...\n"; ++ var_dump($failure_locale); ++@@ -84,6 +89,6 @@ function list_system_locales() { ++ -- Test setlocale() with all available locale in the system -- ++ No of locales found on the machine = %d ++ No of setlocale() success = %d ++-Expected no of failures = 0 +++Expected no of failures = %d ++ Test PASSED ++ Done diff --cc debian/patches/0025-php-5.6.0-oldpcre.patch index 00000000,00000000..a28f92f2 new file mode 100644 --- /dev/null +++ b/debian/patches/0025-php-5.6.0-oldpcre.patch @@@ -1,0 -1,0 +1,39 @@@ ++From: Debian PHP Maintainers ++Date: Sat, 2 May 2015 10:26:57 +0200 ++Subject: php-5.6.0-oldpcre ++ ++--- ++ ext/pcre/tests/grep2.phpt | 10 ++-------- ++ ext/pcre/tests/match_flags3.phpt | 2 +- ++ 2 files changed, 3 insertions(+), 9 deletions(-) ++ ++diff --git a/ext/pcre/tests/grep2.phpt b/ext/pcre/tests/grep2.phpt ++index 9721dfb..4c35ec3 100644 ++--- a/ext/pcre/tests/grep2.phpt +++++ b/ext/pcre/tests/grep2.phpt ++@@ -36,12 +36,6 @@ ++ string(1) "1" ++ } ++ bool(true) ++-array(3) { ++- [5]=> ++- string(1) "a" ++- ["xyz"]=> ++- string(2) "q6" ++- [6]=> ++- string(3) "h20" +++array(0) { ++ } ++-bool(false) +++bool(true) ++diff --git a/ext/pcre/tests/match_flags3.phpt b/ext/pcre/tests/match_flags3.phpt ++index 6511c71..05c62a0 100644 ++--- a/ext/pcre/tests/match_flags3.phpt +++++ b/ext/pcre/tests/match_flags3.phpt ++@@ -41,5 +41,5 @@ ++ } ++ } ++ ++-Warning: preg_match(): Compilation failed: %s name must start with a non-digit at offset %d in %smatch_flags3.php on line %d +++Warning: preg_match(): Numeric named subpatterns are not allowed in %smatch_flags3.php on line %d ++ bool(false) diff --cc debian/patches/0026-hack-phpdbg-to-explicitly-link-with-libedit.patch index 00000000,00000000..7bac3b1a new file mode 100644 --- /dev/null +++ b/debian/patches/0026-hack-phpdbg-to-explicitly-link-with-libedit.patch @@@ -1,0 -1,0 +1,21 @@@ ++From: Debian PHP Maintainers ++Date: Sat, 2 May 2015 10:26:57 +0200 ++Subject: hack-phpdbg-to-explicitly-link-with-libedit ++ ++--- ++ sapi/phpdbg/config.m4 | 2 +- ++ 1 file changed, 1 insertion(+), 1 deletion(-) ++ ++diff --git a/sapi/phpdbg/config.m4 b/sapi/phpdbg/config.m4 ++index 55f8fa3..612ed26 100644 ++--- a/sapi/phpdbg/config.m4 +++++ b/sapi/phpdbg/config.m4 ++@@ -32,7 +32,7 @@ if test "$PHP_PHPDBG" != "no"; then ++ if test "$PHP_READLINE" != "no" || test "$PHP_LIBEDIT" != "no"; then ++ AC_DEFINE([HAVE_PHPDBG_READLINE], [1], ++ [Define to 1 if the phpdbg SAPI has libedit/readline integration.]) ++- PHPDBG_EXTRA_LIBS="$PHP_READLINE_LIBS" +++ PHPDBG_EXTRA_LIBS="-ledit -ltermcap" ++ AC_MSG_RESULT([ok]) ++ else ++ AC_MSG_RESULT([readline is not available]) diff --cc debian/patches/0027-Don-t-put-INSTALL_ROOT-into-phar.phar-exec-stanza.patch index 00000000,00000000..1b1a04cf new file mode 100644 --- /dev/null +++ b/debian/patches/0027-Don-t-put-INSTALL_ROOT-into-phar.phar-exec-stanza.patch @@@ -1,0 -1,0 +1,21 @@@ ++From: =?utf-8?b?T25kxZllaiBTdXLDvQ==?= ++Date: Fri, 4 Dec 2015 15:53:50 +0100 ++Subject: Don't put $(INSTALL_ROOT) into phar.phar exec stanza ++ ++--- ++ ext/phar/Makefile.frag | 2 +- ++ 1 file changed, 1 insertion(+), 1 deletion(-) ++ ++diff --git a/ext/phar/Makefile.frag b/ext/phar/Makefile.frag ++index cedde76..58d8337 100644 ++--- a/ext/phar/Makefile.frag +++++ b/ext/phar/Makefile.frag ++@@ -23,7 +23,7 @@ PHP_PHARCMD_EXECUTABLE = ` \ ++ else \ ++ $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; \ ++ fi;` ++-PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(INSTALL_ROOT)$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";` +++PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";` ++ ++ $(builddir)/phar/phar.inc: $(srcdir)/phar/phar.inc ++ -@test -d $(builddir)/phar || mkdir $(builddir)/phar diff --cc debian/patches/0028-Really-expand-libdir-datadir-into-EXPANDED_LIBDIR-DA.patch index 00000000,00000000..cd5ec1e7 new file mode 100644 --- /dev/null +++ b/debian/patches/0028-Really-expand-libdir-datadir-into-EXPANDED_LIBDIR-DA.patch @@@ -1,0 -1,0 +1,24 @@@ ++From: =?utf-8?b?T25kxZllaiBTdXLDvQ==?= ++Date: Mon, 14 Mar 2016 16:09:34 +0100 ++Subject: Really expand $libdir/$datadir into @EXPANDED_LIBDIR/DATADIR@ ++ ++--- ++ configure.ac | 4 ++-- ++ 1 file changed, 2 insertions(+), 2 deletions(-) ++ ++diff --git a/configure.ac b/configure.ac ++index 6b0d761..fc7f49e 100644 ++--- a/configure.ac +++++ b/configure.ac ++@@ -1358,9 +1358,9 @@ EXPANDED_LOCALSTATEDIR=$(eval echo $localstatedir) ++ EXPANDED_BINDIR=$(eval echo $bindir) ++ EXPANDED_SBINDIR=$(eval echo $sbindir) ++ EXPANDED_MANDIR=$(eval echo $mandir) ++-EXPANDED_LIBDIR=$libdir +++EXPANDED_LIBDIR=$(eval echo $libdir) ++ EXPANDED_SYSCONFDIR=$(eval echo $sysconfdir) ++-EXPANDED_DATADIR=$datadir +++EXPANDED_DATADIR=$(eval echo $datadir) ++ EXPANDED_PHP_CONFIG_FILE_PATH=$(eval echo "$PHP_CONFIG_FILE_PATH") ++ EXPANDED_PHP_CONFIG_FILE_SCAN_DIR=$(eval echo "$PHP_CONFIG_FILE_SCAN_DIR") ++ INCLUDE_PATH=.:$EXPANDED_PEAR_INSTALLDIR diff --cc debian/patches/0029-Fix-ext-date-lib-parse_tz-PATH_MAX-HURD-FTBFS.patch index 00000000,00000000..3db03504 new file mode 100644 --- /dev/null +++ b/debian/patches/0029-Fix-ext-date-lib-parse_tz-PATH_MAX-HURD-FTBFS.patch @@@ -1,0 -1,0 +1,23 @@@ ++From: Svante Signell ++Date: Thu, 31 Mar 2016 14:58:42 +0200 ++Subject: Fix ext/date/lib/parse_tz PATH_MAX HURD FTBFS ++ ++--- ++ ext/date/lib/parse_tz.c | 4 ++++ ++ 1 file changed, 4 insertions(+) ++ ++diff --git a/ext/date/lib/parse_tz.c b/ext/date/lib/parse_tz.c ++index 88a746c..2f958ed 100644 ++--- a/ext/date/lib/parse_tz.c +++++ b/ext/date/lib/parse_tz.c ++@@ -43,6 +43,10 @@ ++ ++ #include ++ +++#if !defined(PATH_MAX) +++#define PATH_MAX 4096 +++#endif +++ ++ #if (defined(__APPLE__) || defined(__APPLE_CC__)) && (defined(__BIG_ENDIAN__) || defined(__LITTLE_ENDIAN__)) ++ # if defined(__LITTLE_ENDIAN__) ++ # undef WORDS_BIGENDIAN diff --cc debian/patches/0030-Add-patch-to-install-php7-module-directly-to-APXS_LI.patch index 00000000,00000000..516d3585 new file mode 100644 --- /dev/null +++ b/debian/patches/0030-Add-patch-to-install-php7-module-directly-to-APXS_LI.patch @@@ -1,0 -1,0 +1,34 @@@ ++From: Thijs Kinkhorst ++Date: Wed, 15 Jun 2016 09:18:03 +0200 ++Subject: Add patch to install php7 module directly to APXS_LIBEXEC ++ ++--- ++ sapi/apache2handler/config.m4 | 15 +++------------ ++ 1 file changed, 3 insertions(+), 12 deletions(-) ++ ++diff --git a/sapi/apache2handler/config.m4 b/sapi/apache2handler/config.m4 ++index e335721..e754933 100644 ++--- a/sapi/apache2handler/config.m4 +++++ b/sapi/apache2handler/config.m4 ++@@ -69,18 +69,9 @@ if test "$PHP_APXS2" != "no"; then ++ [AC_MSG_ERROR([Please note that Apache version >= 2.4 is required])]) ++ ++ APXS_LIBEXECDIR='$(INSTALL_ROOT)'$($APXS -q LIBEXECDIR) ++- if test -z $($APXS -q SYSCONFDIR); then ++- INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \ ++- $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \ ++- -i -n php" ++- else ++- APXS_SYSCONFDIR='$(INSTALL_ROOT)'$($APXS -q SYSCONFDIR) ++- INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \ ++- \$(mkinstalldirs) '$APXS_SYSCONFDIR' && \ ++- $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \ ++- -S SYSCONFDIR='$APXS_SYSCONFDIR' \ ++- -i -a -n php" ++- fi +++ INSTALL_IT="\$(mkinstalldirs) '$APXS_LIBEXECDIR' && \ +++ $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \ +++ -i -n php" ++ ++ LIBPHP_CFLAGS="-shared" ++ PHP_SUBST([LIBPHP_CFLAGS]) diff --cc debian/patches/0031-libtool2.2.patch index 00000000,00000000..92ed5c44 new file mode 100644 --- /dev/null +++ b/debian/patches/0031-libtool2.2.patch @@@ -1,0 -1,0 +1,33 @@@ ++From: Debian PHP Maintainers ++Date: Sat, 2 May 2015 10:26:51 +0200 ++Subject: libtool2.2 ++ ++--- ++ scripts/phpize.in | 5 ++++- ++ 1 file changed, 4 insertions(+), 1 deletion(-) ++ ++diff --git a/scripts/phpize.in b/scripts/phpize.in ++index 30080ef..0874c3e 100644 ++--- a/scripts/phpize.in +++++ b/scripts/phpize.in ++@@ -9,9 +9,11 @@ includedir="$prefix/include/php/@DEBIAN_PHP_API@" ++ builddir="`pwd`" ++ SED="@SED@" ++ ++-FILES_BUILD="php.m4 shtool libtool.m4 ax_check_compile_flag.m4 ax_gcc_func_attribute.m4 php_cxx_compile_stdcxx.m4 pkg.m4 \ +++aclocaldir="$prefix/share/aclocal" +++FILES_BUILD="php.m4 shtool ax_check_compile_flag.m4 ax_gcc_func_attribute.m4 php_cxx_compile_stdcxx.m4 \ ++ config.guess config.sub ltmain.sh Makefile.global gen_stub.php" ++ FILES="run-tests*.php" +++LIBTOOL_FILES="pkg.m4 libtool.m4 ltoptions.m4 ltsugar.m4 ltversion.m4 lt~obsolete.m4" ++ CLEAN_FILES="$FILES *.o *.lo *.la .libs/ build/ modules/ \ ++ config.nice configure configure.ac \ ++ config.h config.h.in conftest* libtool config.cache autom4te.cache/ \ ++@@ -149,6 +151,7 @@ phpize_copy_files() ++ test -d build || mkdir build ++ ++ (cd "$phpdir" && cp $FILES_BUILD "$builddir"/build) +++ (cd "$aclocaldir" && cp $LIBTOOL_FILES "$builddir"/build) ++ (cd "$phpdir" && cp $FILES "$builddir") ++ } ++ diff --cc debian/patches/0032-Include-all-libtool-files-from-phpize.m4.patch index 00000000,00000000..d7402d19 new file mode 100644 --- /dev/null +++ b/debian/patches/0032-Include-all-libtool-files-from-phpize.m4.patch @@@ -1,0 -1,0 +1,23 @@@ ++From: =?utf-8?b?T25kxZllaiBTdXLDvQ==?= ++Date: Sun, 18 Oct 2020 13:31:37 +0200 ++Subject: Include all libtool files from phpize.m4 ++ ++--- ++ scripts/phpize.m4 | 4 ++++ ++ 1 file changed, 4 insertions(+) ++ ++diff --git a/scripts/phpize.m4 b/scripts/phpize.m4 ++index be7065b..6fb4f33 100644 ++--- a/scripts/phpize.m4 +++++ b/scripts/phpize.m4 ++@@ -5,6 +5,10 @@ dnl comments starting with # and empty newlines from the included files. ++ m4_include([build/ax_check_compile_flag.m4]) ++ m4_include([build/ax_gcc_func_attribute.m4]) ++ m4_include([build/libtool.m4]) +++m4_include([build/ltoptions.m4]) +++m4_include([build/ltsugar.m4]) +++m4_include([build/ltversion.m4]) +++m4_include([build/lt~obsolete.m4]) ++ m4_include([build/php_cxx_compile_stdcxx.m4]) ++ m4_include([build/php.m4]) ++ m4_include([build/pkg.m4]) diff --cc debian/patches/0033-In-phpize-also-copy-config.guess-config.sub-ltmain.s.patch index 00000000,00000000..1975e49d new file mode 100644 --- /dev/null +++ b/debian/patches/0033-In-phpize-also-copy-config.guess-config.sub-ltmain.s.patch @@@ -1,0 -1,0 +1,42 @@@ ++From: =?utf-8?b?T25kxZllaiBTdXLDvQ==?= ++Date: Sun, 18 Oct 2020 20:38:15 +0200 ++Subject: In phpize, also copy config.guess, config.sub, ++ ltmain.sh and shtool from their respective packages ++ ++--- ++ scripts/phpize.in | 12 ++++++++++-- ++ 1 file changed, 10 insertions(+), 2 deletions(-) ++ ++diff --git a/scripts/phpize.in b/scripts/phpize.in ++index 0874c3e..66086aa 100644 ++--- a/scripts/phpize.in +++++ b/scripts/phpize.in ++@@ -9,11 +9,18 @@ includedir="$prefix/include/php/@DEBIAN_PHP_API@" ++ builddir="`pwd`" ++ SED="@SED@" ++ +++libtool_version=$(dpkg-query -f'${Version}' -W libtool) ++ aclocaldir="$prefix/share/aclocal" ++-FILES_BUILD="php.m4 shtool ax_check_compile_flag.m4 ax_gcc_func_attribute.m4 php_cxx_compile_stdcxx.m4 \ ++- config.guess config.sub ltmain.sh Makefile.global gen_stub.php" +++if dpkg --compare-versions "$libtool_version" ge 2.4.6-0.1~; then \ +++ auxdir="/usr/share/libtool/build-aux" +++else \ +++ auxdir="/usr/share/libtool/config" +++fi +++FILES_BUILD="php.m4 /usr/bin/shtool ax_check_compile_flag.m4 ax_gcc_func_attribute.m4 php_cxx_compile_stdcxx.m4 \ +++ Makefile.global gen_stub.php" ++ FILES="run-tests*.php" ++ LIBTOOL_FILES="pkg.m4 libtool.m4 ltoptions.m4 ltsugar.m4 ltversion.m4 lt~obsolete.m4" +++AUX_FILES="config.sub config.guess ltmain.sh" ++ CLEAN_FILES="$FILES *.o *.lo *.la .libs/ build/ modules/ \ ++ config.nice configure configure.ac \ ++ config.h config.h.in conftest* libtool config.cache autom4te.cache/ \ ++@@ -152,6 +159,7 @@ phpize_copy_files() ++ ++ (cd "$phpdir" && cp $FILES_BUILD "$builddir"/build) ++ (cd "$aclocaldir" && cp $LIBTOOL_FILES "$builddir"/build) +++ (cd "$auxdir" && cp $AUX_FILES "$builddir"/build) ++ (cd "$phpdir" && cp $FILES "$builddir") ++ } ++ diff --cc debian/patches/0034-Show-packaging-credits.patch index 00000000,00000000..21e2220f new file mode 100644 --- /dev/null +++ b/debian/patches/0034-Show-packaging-credits.patch @@@ -1,0 -1,0 +1,210 @@@ ++From: =?utf-8?b?T25kxZllaiBTdXLDvQ==?= ++Date: Mon, 22 Feb 2021 12:03:44 +0100 ++Subject: Show packaging credits ++ ++--- ++ ext/standard/credits.c | 143 +++++++++++++++++++++++++++++++++++++++++++++++++ ++ ext/standard/credits.h | 2 + ++ ext/standard/info.c | 2 + ++ ext/standard/info.h | 1 + ++ 4 files changed, 148 insertions(+) ++ ++diff --git a/ext/standard/credits.c b/ext/standard/credits.c ++index 4e8722d..98dfe93 100644 ++--- a/ext/standard/credits.c +++++ b/ext/standard/credits.c ++@@ -15,6 +15,12 @@ ++ +----------------------------------------------------------------------+ ++ */ ++ +++#include +++#include +++#include +++#include +++#include +++ ++ #include "php.h" ++ #include "info.h" ++ #include "SAPI.h" ++@@ -121,8 +127,145 @@ PHPAPI ZEND_COLD void php_print_credits(int flag) /* {{{ */ ++ php_info_print_table_end(); ++ } ++ +++ php_print_packaging_credits(flag, 0); +++ ++ if (!sapi_module.phpinfo_as_text && flag & PHP_CREDITS_FULLPAGE) { ++ PUTS("\n"); ++ } ++ } ++ /* }}} */ +++ +++PHPAPI void php_print_packaging_credits(int flag, int top) /* {{{ */ +++{ +++ if (flag && PHP_CREDITS_PACKAGING) { +++ /* Packaging */ +++ int fd = -1; +++ char buf[4096]; +++ ssize_t bytes = -1; +++ char *pos = NULL; +++ enum { +++ DEBIAN = 0, +++ DEBSURYORG = 1, +++ FREEXIAN = 2 +++ } packaging = DEBIAN; +++ +++ fd = open("/usr/lib/php/packaging", O_RDONLY); +++ if (fd == -1) { +++ goto print; +++ } +++ +++ bytes = read(fd, buf, sizeof(buf) - 1); +++ close(fd); +++ +++ if (bytes <= 0) { +++ goto print; +++ } +++ +++ buf[bytes] = '\0'; +++ pos = strchr(buf, '\n'); +++ if (pos != NULL) { +++ bytes = pos - buf; +++ *pos = '\0'; +++ } +++ +++ if (strncmp(buf, "deb.sury.org", sizeof(buf)) == 0) { +++ packaging = DEBSURYORG; +++ } else if (strncmp(buf, "freexian", sizeof(buf)) == 0) { +++ packaging = FREEXIAN; +++ } +++ +++ print: +++ if ((top && packaging != FREEXIAN) || (!top && packaging == FREEXIAN)) +++ { +++ return; +++ } +++ switch (packaging) { +++ case DEBSURYORG: +++ php_info_print_table_start(); +++ php_info_print_table_colspan_header(1, "Debian Packaging"); +++ if (!sapi_module.phpinfo_as_text) { +++ PUTS(""); +++ PUTS("DEB.SURY.ORG, an Ondřej Surý project"); +++ PUTS("\n"); +++ } else { +++ php_info_print_table_row(1, "DEB.SURY.ORG, an Ondřej Surý project"); +++ } +++ php_info_print_table_end(); +++ break; +++ case FREEXIAN: +++ fd = -1; +++ bytes = -1; +++ +++ if (!sapi_module.phpinfo_as_text) { +++ PUTS("

PHP Vendor

\n"); +++ } else { +++ PUTS("PHP Vendor\n"); +++ } +++ +++ php_info_print_table_start(); +++ php_info_print_table_colspan_header(1, "Debian Packaging"); +++ +++ if (!sapi_module.phpinfo_as_text) { +++ fd = open("/etc/php/freexian-sponsor.html", O_RDONLY); +++ } else { +++ fd = open("/etc/php/freexian-sponsor.txt", O_RDONLY); +++ if (fd == -1) { +++ fd = open("/etc/php/freexian-sponsor.html", O_RDONLY); +++ } +++ } +++ +++ if (fd > 0) { +++ bytes = read(fd, buf, sizeof(buf) - 1); +++ close(fd); +++ } +++ +++ if (bytes > 0) { +++ buf[bytes] = '\0'; +++ } +++ +++ if (!sapi_module.phpinfo_as_text) { +++ PUTS(""); +++ +++ PUTS("This PHP version is maintained by " +++ "Freexian SARL as part of " +++ "their PHP LTS offer" +++ ); +++ +++ if (bytes > 0) { +++ PUTS(" and is made available exclusively for "); +++ PUTS(buf); +++ } else { +++ PUTS(". This service is run together with Ondřej Surý, " +++ "that's why a small subset of the PHP LTS packages " +++ "are made freely available on " +++ "DEB.SURY.ORG."); +++ } +++ PUTS("\n"); +++ } else { +++ PUTS("This PHP version is maintained by " +++ "Freexian SARL as part of " +++ "their PHP LTS offer" +++ ); +++ if (bytes > 0) { +++ PUTS(" and is made available exclusively for "); +++ PUTS(buf); +++ } else { +++ PUTS(". This service is run together with Ondřej Surý, " +++ "that's why a small subset of the PHP LTS packages " +++ "are made freely available on " +++ "DEB.SURY.ORG ."); +++ } +++ } +++ php_info_print_table_end(); +++ break; +++ case DEBIAN: +++ default: +++ php_info_print_table_start(); +++ php_info_print_table_colspan_header(1, "Debian Packaging"); +++ php_info_print_table_row(1, "Ondřej Surý"); +++ php_info_print_table_end(); +++ break; +++ } +++ } +++} +++/* }}} */ ++diff --git a/ext/standard/credits.h b/ext/standard/credits.h ++index a0c5d1e..3efaa86 100644 ++--- a/ext/standard/credits.h +++++ b/ext/standard/credits.h ++@@ -35,4 +35,6 @@ ++ ++ PHPAPI void php_print_credits(int flag); ++ +++PHPAPI void php_print_packaging_credits(int flag, int top); +++ ++ #endif ++diff --git a/ext/standard/info.c b/ext/standard/info.c ++index ab1f302..a7dd7d9 100644 ++--- a/ext/standard/info.c +++++ b/ext/standard/info.c ++@@ -770,6 +770,8 @@ PHPAPI ZEND_COLD void php_print_info(int flag) ++ php_info_print("phpinfo()\n"); ++ } ++ +++ php_print_packaging_credits(flag, 1); +++ ++ if (flag & PHP_INFO_GENERAL) { ++ const char *zend_version = get_zend_version(); ++ char temp_api[10]; ++diff --git a/ext/standard/info.h b/ext/standard/info.h ++index 380d2b6..7d11343 100644 ++--- a/ext/standard/info.h +++++ b/ext/standard/info.h ++@@ -43,6 +43,7 @@ ++ #define PHP_CREDITS_FULLPAGE (1<<5) ++ #define PHP_CREDITS_QA (1<<6) ++ #define PHP_CREDITS_WEB (1<<7) +++#define PHP_CREDITS_PACKAGING (1<<8) ++ #define PHP_CREDITS_ALL 0xFFFFFFFF ++ ++ #endif /* HAVE_CREDITS_DEFS */ diff --cc debian/patches/0035-Allow-printing-credits-buffer-larger-than-4k.patch index 00000000,00000000..a174117f new file mode 100644 --- /dev/null +++ b/debian/patches/0035-Allow-printing-credits-buffer-larger-than-4k.patch @@@ -1,0 -1,0 +1,44 @@@ ++From: =?utf-8?b?T25kxZllaiBTdXLDvQ==?= ++Date: Sat, 3 Apr 2021 16:12:43 +0200 ++Subject: Allow printing credits buffer larger than 4k ++ ++--- ++ ext/standard/credits.c | 18 ++++++++++++++++-- ++ 1 file changed, 16 insertions(+), 2 deletions(-) ++ ++diff --git a/ext/standard/credits.c b/ext/standard/credits.c ++index 98dfe93..8ea0f5b 100644 ++--- a/ext/standard/credits.c +++++ b/ext/standard/credits.c ++@@ -233,7 +233,14 @@ PHPAPI void php_print_packaging_credits(int flag, int top) /* {{{ */ ++ ++ if (bytes > 0) { ++ PUTS(" and is made available exclusively for "); ++- PUTS(buf); +++ do { +++ PUTS(buf); +++ +++ bytes = read(fd, buf, sizeof(buf) - 1); +++ if (bytes > 0) { +++ buf[bytes] = '\0'; +++ } +++ } while (bytes > 0); ++ } else { ++ PUTS(". This service is run together with Ondřej Surý, " ++ "that's why a small subset of the PHP LTS packages " ++@@ -248,7 +255,14 @@ PHPAPI void php_print_packaging_credits(int flag, int top) /* {{{ */ ++ ); ++ if (bytes > 0) { ++ PUTS(" and is made available exclusively for "); ++- PUTS(buf); +++ do { +++ PUTS(buf); +++ +++ bytes = read(fd, buf, sizeof(buf) - 1); +++ if (bytes > 0) { +++ buf[bytes] = '\0'; +++ } +++ } while (bytes > 0); ++ } else { ++ PUTS(". This service is run together with Ondřej Surý, " ++ "that's why a small subset of the PHP LTS packages " diff --cc debian/patches/0036-Don-t-close-the-credits-buffer-file-descriptor-too-e.patch index 00000000,00000000..f9b84d3e new file mode 100644 --- /dev/null +++ b/debian/patches/0036-Don-t-close-the-credits-buffer-file-descriptor-too-e.patch @@@ -1,0 -1,0 +1,30 @@@ ++From: =?utf-8?b?T25kxZllaiBTdXLDvQ==?= ++Date: Tue, 22 Jun 2021 15:48:57 +0200 ++Subject: Don't close the credits buffer file descriptor too early ++ ++--- ++ ext/standard/credits.c | 4 +++- ++ 1 file changed, 3 insertions(+), 1 deletion(-) ++ ++diff --git a/ext/standard/credits.c b/ext/standard/credits.c ++index 8ea0f5b..1103bea 100644 ++--- a/ext/standard/credits.c +++++ b/ext/standard/credits.c ++@@ -216,7 +216,6 @@ PHPAPI void php_print_packaging_credits(int flag, int top) /* {{{ */ ++ ++ if (fd > 0) { ++ bytes = read(fd, buf, sizeof(buf) - 1); ++- close(fd); ++ } ++ ++ if (bytes > 0) { ++@@ -270,6 +269,9 @@ PHPAPI void php_print_packaging_credits(int flag, int top) /* {{{ */ ++ "DEB.SURY.ORG ."); ++ } ++ } +++ if (fd > 0) { +++ close(fd); +++ } ++ php_info_print_table_end(); ++ break; ++ case DEBIAN: diff --cc debian/patches/0037-Lower-the-OpenSSL-requirement-to-1.0.1.patch index 00000000,00000000..7b950339 new file mode 100644 --- /dev/null +++ b/debian/patches/0037-Lower-the-OpenSSL-requirement-to-1.0.1.patch @@@ -1,0 -1,0 +1,120 @@@ ++From: =?utf-8?b?T25kxZllaiBTdXLDvQ==?= ++Date: Fri, 31 Dec 2021 07:40:21 +0100 ++Subject: Lower the OpenSSL requirement to 1.0.1 ++ ++--- ++ build/php.m4 | 2 +- ++ ext/openssl/config0.m4 | 2 +- ++ ext/openssl/openssl.c | 9 ++++++++- ++ ext/openssl/php_openssl.h | 4 +++- ++ ext/openssl/xp_ssl.c | 9 +++++++++ ++ 5 files changed, 22 insertions(+), 4 deletions(-) ++ ++diff --git a/build/php.m4 b/build/php.m4 ++index d8a5cbf..74a9989 100644 ++--- a/build/php.m4 +++++ b/build/php.m4 ++@@ -1808,7 +1808,7 @@ dnl ++ AC_DEFUN([PHP_SETUP_OPENSSL],[ ++ found_openssl=no ++ ++- PKG_CHECK_MODULES([OPENSSL], [openssl >= 1.1.1], [found_openssl=yes]) +++ PKG_CHECK_MODULES([OPENSSL], [openssl >= 1.0.1], [found_openssl=yes]) ++ ++ if test "$found_openssl" = "yes"; then ++ PHP_EVAL_LIBLINE([$OPENSSL_LIBS], [$1]) ++diff --git a/ext/openssl/config0.m4 b/ext/openssl/config0.m4 ++index 70ecb0a..62a92aa 100644 ++--- a/ext/openssl/config0.m4 +++++ b/ext/openssl/config0.m4 ++@@ -1,7 +1,7 @@ ++ PHP_ARG_WITH([openssl], ++ [for OpenSSL support], ++ [AS_HELP_STRING([--with-openssl], ++- [Include OpenSSL support (requires OpenSSL >= 1.1.1)])]) +++ [Include OpenSSL support (requires OpenSSL >= 1.0.1)])]) ++ ++ PHP_ARG_WITH([system-ciphers], ++ [whether to use system default cipher list instead of hardcoded value], ++diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c ++index 8a0d58d..5a47c09 100644 ++--- a/ext/openssl/openssl.c +++++ b/ext/openssl/openssl.c ++@@ -96,7 +96,7 @@ ++ #endif ++ #define DEBUG_SMIME 0 ++ ++-#if !defined(OPENSSL_NO_EC) && defined(EVP_PKEY_EC) +++#if !defined(OPENSSL_NO_EC) && defined(EVP_PKEY_EC) && OPENSSL_VERSION_NUMBER >= 0x10002000L ++ #define HAVE_EVP_PKEY_EC 1 ++ ++ /* the OPENSSL_EC_EXPLICIT_CURVE value was added ++@@ -1293,6 +1293,13 @@ PHP_MINIT_FUNCTION(openssl) ++ OpenSSL_add_all_ciphers(); ++ OpenSSL_add_all_digests(); ++ OpenSSL_add_all_algorithms(); +++ +++#if !defined(OPENSSL_NO_AES) && defined(EVP_CIPH_CCM_MODE) && OPENSSL_VERSION_NUMBER < 0x100020000 +++ EVP_add_cipher(EVP_aes_128_ccm()); +++ EVP_add_cipher(EVP_aes_192_ccm()); +++ EVP_add_cipher(EVP_aes_256_ccm()); +++#endif +++ ++ SSL_load_error_strings(); ++ #else ++ #if PHP_OPENSSL_API_VERSION >= 0x30000 && defined(LOAD_OPENSSL_LEGACY_PROVIDER) ++diff --git a/ext/openssl/php_openssl.h b/ext/openssl/php_openssl.h ++index 134081f..f4ded12 100644 ++--- a/ext/openssl/php_openssl.h +++++ b/ext/openssl/php_openssl.h ++@@ -35,7 +35,9 @@ extern zend_module_entry openssl_module_entry; ++ #endif ++ #else ++ /* OpenSSL version check */ ++-#if OPENSSL_VERSION_NUMBER < 0x30000000L +++#if OPENSSL_VERSION_NUMBER < 0x10002000L +++#define PHP_OPENSSL_API_VERSION 0x10001 +++#elif OPENSSL_VERSION_NUMBER < 0x30000000L ++ #define PHP_OPENSSL_API_VERSION 0x10100 ++ #elif OPENSSL_VERSION_NUMBER < 0x30200000L ++ #define PHP_OPENSSL_API_VERSION 0x30000 ++diff --git a/ext/openssl/xp_ssl.c b/ext/openssl/xp_ssl.c ++index ec41379..ebc8313 100644 ++--- a/ext/openssl/xp_ssl.c +++++ b/ext/openssl/xp_ssl.c ++@@ -33,8 +33,11 @@ ++ #include ++ #include ++ #include +++ +++#if OPENSSL_VERSION_NUMBER >= 0x10002000L ++ #include ++ #include +++#endif ++ ++ #ifdef PHP_WIN32 ++ #include "win32/winutil.h" ++@@ -86,8 +89,10 @@ ++ ++ #ifndef OPENSSL_NO_TLSEXT ++ #define HAVE_TLS_SNI 1 +++#if OPENSSL_VERSION_NUMBER >= 0x10002000L ++ #define HAVE_TLS_ALPN 1 ++ #endif +++#endif ++ ++ #ifndef LIBRESSL_VERSION_NUMBER ++ #define HAVE_SEC_LEVEL 1 ++@@ -1312,8 +1317,12 @@ static zend_result php_openssl_set_server_ecdh_curve(php_stream *stream, SSL_CTX ++ ++ zvcurve = php_stream_context_get_option(PHP_STREAM_CONTEXT(stream), "ssl", "ecdh_curve"); ++ if (zvcurve == NULL) { +++#if OPENSSL_VERSION_NUMBER >= 0x10002000L ++ SSL_CTX_set_ecdh_auto(ctx, 1); ++ return SUCCESS; +++#else +++ curve_nid = NID_X9_62_prime256v1; +++#endif ++ } else { ++ if (!try_convert_to_string(zvcurve)) { ++ return FAILURE; diff --cc debian/patches/0038-Override-result-of-AC_PROG_LN_S-to-fix-FTBFS-on-ppc6.patch index 00000000,00000000..29dd8819 new file mode 100644 --- /dev/null +++ b/debian/patches/0038-Override-result-of-AC_PROG_LN_S-to-fix-FTBFS-on-ppc6.patch @@@ -1,0 -1,0 +1,24 @@@ ++From: =?utf-8?b?T25kxZllaiBTdXLDvQ==?= ++Date: Mon, 3 Jan 2022 15:32:12 +0100 ++Subject: Override result of AC_PROG_LN_S to fix FTBFS on ppc64el ++ ++--- ++ configure.ac | 5 +++++ ++ 1 file changed, 5 insertions(+) ++ ++diff --git a/configure.ac b/configure.ac ++index fc7f49e..cfc1305 100644 ++--- a/configure.ac +++++ b/configure.ac ++@@ -122,6 +122,11 @@ AC_PROG_CPP ++ AC_USE_SYSTEM_EXTENSIONS ++ AC_PROG_LN_S ++ +++if test "$LN_S" != "ln -s"; then +++ AC_MSG_WARN([Overriding result of AC_PROG_LN_S, ln -s always works here]) +++ LN_S='ln -s' +++fi +++ ++ AS_VAR_IF([cross_compiling], [yes], ++ [AC_CHECK_PROGS([BUILD_CC], [gcc clang c99 c89 cc cl], [none]) ++ AC_MSG_CHECKING([for native build C compiler]) diff --cc debian/patches/0039-Update-gcc-func-attr-macro.patch index 00000000,00000000..4f562ca7 new file mode 100644 --- /dev/null +++ b/debian/patches/0039-Update-gcc-func-attr-macro.patch @@@ -1,0 -1,0 +1,30 @@@ ++From: Ming Chen ++Date: Mon, 2 Mar 2020 09:40:36 +0800 ++Subject: ax_gcc_func_attribute: Revise the detection of unknown attributes ++ ++GCC outputs a warning when Wstrict-prototypes is on, in such case the ++attribute detection always fails even if the attribute is actually ++supported. This change checks for the "-Wattributes" warning in ++conftest.err instead of the existence of the file. ++ ++Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/php8.1/+bug/1882279 ++Forwarded: https://github.com/php/php-src/pull/8483 ++Origin: http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=commitdiff;h=df0894ad1a8195df67a52108b931e07d708cec9a ++Last-Update: 2022-05-02 ++--- ++ build/ax_gcc_func_attribute.m4 | 2 +- ++ 1 file changed, 1 insertion(+), 1 deletion(-) ++ ++diff --git a/build/ax_gcc_func_attribute.m4 b/build/ax_gcc_func_attribute.m4 ++index 79f3eef..4633093 100644 ++--- a/build/ax_gcc_func_attribute.m4 +++++ b/build/ax_gcc_func_attribute.m4 ++@@ -227,7 +227,7 @@ AC_DEFUN([AX_GCC_FUNC_ATTRIBUTE], [ ++ dnl GCC doesn't exit with an error if an unknown attribute is ++ dnl provided but only outputs a warning, so accept the attribute ++ dnl only if no warning were issued. ++- [AS_IF([test -s conftest.err], +++ [AS_IF([grep -- -Wattributes conftest.err], ++ [AS_VAR_SET([ac_var], [no])], ++ [AS_VAR_SET([ac_var], [yes])])], ++ [AS_VAR_SET([ac_var], [no])]) diff --cc debian/patches/0040-scripts-php-.in-Explicitly-define-the-path-to-sed.patch index 00000000,00000000..7d1bbc0f new file mode 100644 --- /dev/null +++ b/debian/patches/0040-scripts-php-.in-Explicitly-define-the-path-to-sed.patch @@@ -1,0 -1,0 +1,42 @@@ ++From: Vagrant Cascadian ++Date: Thu, 13 Apr 2023 15:59:57 -0700 ++Subject: scripts/php*.in: Explicitly define the path to sed. ++ ++The full path is detected by configure, resulting in a different build ++depending on if it is built on a usrmerge or non-usrmerge system. ++ ++Since usrmerge systems contain compatibility symlinks for the ++non-usrmerge paths, use the non-usrmerge path which is compatible in ++both systems. ++ ++https://tests.reproducible-builds.org/debian/issues/bookworm/paths_vary_due_to_usrmerge_issue.html ++--- ++ scripts/php-config.in | 2 +- ++ scripts/phpize.in | 2 +- ++ 2 files changed, 2 insertions(+), 2 deletions(-) ++ ++diff --git a/scripts/php-config.in b/scripts/php-config.in ++index 9e415da..5fb2a92 100644 ++--- a/scripts/php-config.in +++++ b/scripts/php-config.in ++@@ -1,6 +1,6 @@ ++ #! /bin/sh ++ ++-SED="@SED@" +++SED="/bin/sed" ++ prefix="@prefix@" ++ datarootdir="@datarootdir@" ++ exec_prefix="@exec_prefix@" ++diff --git a/scripts/phpize.in b/scripts/phpize.in ++index 66086aa..a7c9f9d 100644 ++--- a/scripts/phpize.in +++++ b/scripts/phpize.in ++@@ -7,7 +7,7 @@ exec_prefix="`eval echo @exec_prefix@`" ++ phpdir="$prefix/lib/php/@DEBIAN_PHP_API@/build" ++ includedir="$prefix/include/php/@DEBIAN_PHP_API@" ++ builddir="`pwd`" ++-SED="@SED@" +++SED="/bin/sed" ++ ++ libtool_version=$(dpkg-query -f'${Version}' -W libtool) ++ aclocaldir="$prefix/share/aclocal" diff --cc debian/patches/0041-Remove-timestamps-from-phar.patch index 00000000,00000000..3318af51 new file mode 100644 --- /dev/null +++ b/debian/patches/0041-Remove-timestamps-from-phar.patch @@@ -1,0 -1,0 +1,38 @@@ ++From: Vagrant Cascadian ++Date: Tue, 25 Apr 2023 11:20:24 -0700 ++Subject: Remove timestamps from "phar". ++ ++Thanks to Jelle van der Waa! ++ ++https://gist.github.com/jelly/96847934239aac19c512c54ca65d6baa ++--- ++ ext/phar/phar.c | 2 +- ++ ext/phar/util.c | 2 +- ++ 2 files changed, 2 insertions(+), 2 deletions(-) ++ ++diff --git a/ext/phar/phar.c b/ext/phar/phar.c ++index 7650478..f807094 100644 ++--- a/ext/phar/phar.c +++++ b/ext/phar/phar.c ++@@ -2965,7 +2965,7 @@ void phar_flush_ex(phar_archive_data *phar, zend_string *user_stub, bool is_defa ++ 4: metadata-len ++ +: metadata ++ */ ++- mytime = time(NULL); +++ mytime = 0; ++ phar_set_32(entry_buffer, entry->uncompressed_filesize); ++ phar_set_32(entry_buffer+4, mytime); ++ phar_set_32(entry_buffer+8, entry->compressed_filesize); ++diff --git a/ext/phar/util.c b/ext/phar/util.c ++index e49e15a..91dd417 100644 ++--- a/ext/phar/util.c +++++ b/ext/phar/util.c ++@@ -701,7 +701,7 @@ phar_entry_data *phar_get_or_create_entry_data(char *fname, size_t fname_len, ch ++ ++ phar_add_virtual_dirs(phar, path, path_len); ++ etemp.is_modified = 1; ++- etemp.timestamp = time(0); +++ etemp.timestamp = 0; ++ etemp.is_crc_checked = 1; ++ etemp.phar = phar; ++ etemp.filename = estrndup(path, path_len); diff --cc debian/patches/0042-Disable-assembly-detection-in-Zend-arithmetic-with-g.patch index 00000000,00000000..cac45324 new file mode 100644 --- /dev/null +++ b/debian/patches/0042-Disable-assembly-detection-in-Zend-arithmetic-with-g.patch @@@ -1,0 -1,0 +1,48 @@@ ++From: =?utf-8?b?T25kxZllaiBTdXLDvQ==?= ++Date: Sat, 2 Dec 2023 22:09:36 +0100 ++Subject: Disable assembly detection in Zend arithmetic with gcc < 5 ++ ++--- ++ Zend/zend_operators.h | 8 ++++---- ++ 1 file changed, 4 insertions(+), 4 deletions(-) ++ ++diff --git a/Zend/zend_operators.h b/Zend/zend_operators.h ++index 6a3d54a..057f911 100644 ++--- a/Zend/zend_operators.h +++++ b/Zend/zend_operators.h ++@@ -528,7 +528,7 @@ ZEND_API void zend_reset_lc_ctype_locale(void); ++ ++ static zend_always_inline void fast_long_increment_function(zval *op1) ++ { ++-#if ZEND_USE_ASM_ARITHMETIC && defined(__i386__) && !(4 == __GNUC__ && 8 == __GNUC_MINOR__) +++#if ZEND_USE_ASM_ARITHMETIC && defined(__i386__) && (__GNUC__ > 4) ++ __asm__ goto( ++ "addl $1,(%0)\n\t" ++ "jo %l1\n" ++@@ -591,7 +591,7 @@ overflow: ZEND_ATTRIBUTE_COLD_LABEL ++ ++ static zend_always_inline void fast_long_decrement_function(zval *op1) ++ { ++-#if ZEND_USE_ASM_ARITHMETIC && defined(__i386__) && !(4 == __GNUC__ && 8 == __GNUC_MINOR__) +++#if ZEND_USE_ASM_ARITHMETIC && defined(__i386__) && (__GNUC__ > 4) ++ __asm__ goto( ++ "subl $1,(%0)\n\t" ++ "jo %l1\n" ++@@ -654,7 +654,7 @@ overflow: ZEND_ATTRIBUTE_COLD_LABEL ++ ++ static zend_always_inline void fast_long_add_function(zval *result, zval *op1, zval *op2) ++ { ++-#if ZEND_USE_ASM_ARITHMETIC && defined(__i386__) && !(4 == __GNUC__ && 8 == __GNUC_MINOR__) +++#if ZEND_USE_ASM_ARITHMETIC && defined(__i386__) && (__GNUC__ > 4) ++ __asm__ goto( ++ "movl (%1), %%eax\n\t" ++ "addl (%2), %%eax\n\t" ++@@ -744,7 +744,7 @@ overflow: ZEND_ATTRIBUTE_COLD_LABEL ++ ++ static zend_always_inline void fast_long_sub_function(zval *result, zval *op1, zval *op2) ++ { ++-#if ZEND_USE_ASM_ARITHMETIC && defined(__i386__) && !(4 == __GNUC__ && 8 == __GNUC_MINOR__) +++#if ZEND_USE_ASM_ARITHMETIC && defined(__i386__) && (__GNUC__ > 4) ++ __asm__ goto( ++ "movl (%1), %%eax\n\t" ++ "subl (%2), %%eax\n\t" diff --cc debian/patches/0043-Disable-avx-detection-with-gcc-6.patch index 00000000,00000000..ca7be1c9 new file mode 100644 --- /dev/null +++ b/debian/patches/0043-Disable-avx-detection-with-gcc-6.patch @@@ -1,0 -1,0 +1,43 @@@ ++From: =?utf-8?b?T25kxZllaiBTdXLDvQ==?= ++Date: Sat, 2 Dec 2023 22:09:36 +0100 ++Subject: Disable avx detection with gcc < 6 ++ ++--- ++ Zend/zend_cpuinfo.h | 17 +++++++++++++---- ++ 1 file changed, 13 insertions(+), 4 deletions(-) ++ ++diff --git a/Zend/zend_cpuinfo.h b/Zend/zend_cpuinfo.h ++index 7e53ba6..7e4a076 100644 ++--- a/Zend/zend_cpuinfo.h +++++ b/Zend/zend_cpuinfo.h ++@@ -215,9 +215,14 @@ static inline int zend_cpu_supports_avx512(void) { ++ #ifdef PHP_HAVE_BUILTIN_CPU_INIT ++ __builtin_cpu_init(); ++ #endif ++- return __builtin_cpu_supports("avx512f") && __builtin_cpu_supports("avx512dq") ++- && __builtin_cpu_supports("avx512cd") && __builtin_cpu_supports("avx512bw") ++- && __builtin_cpu_supports("avx512vl"); +++ return __builtin_cpu_supports("avx512f") +++#if (__GNUC__ > 5) +++ && __builtin_cpu_supports("avx512dq") +++ && __builtin_cpu_supports("avx512cd") +++ && __builtin_cpu_supports("avx512bw") +++ && __builtin_cpu_supports("avx512vl") +++#endif +++ ; ++ } ++ #endif ++ ++@@ -227,7 +232,11 @@ static inline int zend_cpu_supports_avx512_vbmi(void) { ++ #ifdef PHP_HAVE_BUILTIN_CPU_INIT ++ __builtin_cpu_init(); ++ #endif ++- return zend_cpu_supports_avx512() && __builtin_cpu_supports("avx512vbmi"); +++ return zend_cpu_supports_avx512() +++#if (__GNUC__ > 5) +++ && __builtin_cpu_supports("avx512vbmi") +++#endif +++ ; ++ } ++ #endif ++ diff --cc debian/patches/0044-Disable-garbage-collection-routine.patch index 00000000,00000000..68e31e93 new file mode 100644 --- /dev/null +++ b/debian/patches/0044-Disable-garbage-collection-routine.patch @@@ -1,0 -1,0 +1,54 @@@ ++From: Athos Ribeiro ++Date: Sat, 20 Jan 2024 14:01:24 +0100 ++Subject: Disable GC in ini files ++ ++Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=831752 ++Bug-Ubuntu: https://bugs.launchpad.net/debian/+source/php7.3/+bug/1772915 ++Forwarded: not-needed ++Last-Update: 2024-01-19 ++ ++This is disabled in the Debian packages due to the strict permissions on ++/var/lib/php. Instead, GC is performed through /etc/cron.d/php, which uses the ++session.gc_maxlifetime setting. ++Last-Update: 2024-01-19 ++--- ++ php.ini-development | 7 ++++++- ++ php.ini-production | 7 ++++++- ++ 2 files changed, 12 insertions(+), 2 deletions(-) ++ ++diff --git a/php.ini-development b/php.ini-development ++index 6509686..ef35f3e 100644 ++--- a/php.ini-development +++++ b/php.ini-development ++@@ -1362,7 +1362,12 @@ session.serialize_handler = php ++ ; Development Value: 1 ++ ; Production Value: 1 ++ ; https://php.net/session.gc-probability ++-session.gc_probability = 1 +++; Debian Default Value: 0 +++; This is disabled in the Debian packages due to the strict permissions +++; on /var/lib/php. Instead, GC is performed through /etc/cron.d/php, +++; which uses the session.gc_maxlifetime setting. Please, check +++; /usr/share/doc/php8.3-common/README.Debian.gz for further reference. +++session.gc_probability = 0 ++ ++ ; Defines the probability that the 'garbage collection' process is started on every ++ ; session initialization. The probability is calculated by using gc_probability/gc_divisor, ++diff --git a/php.ini-production b/php.ini-production ++index e0c83c8..d0ef58b 100644 ++--- a/php.ini-production +++++ b/php.ini-production ++@@ -1358,7 +1358,12 @@ session.serialize_handler = php ++ ; Development Value: 1 ++ ; Production Value: 1 ++ ; https://php.net/session.gc-probability ++-session.gc_probability = 1 +++; Debian Default Value: 0 +++; This is disabled in the Debian packages due to the strict permissions +++; on /var/lib/php. Instead, GC is performed through /etc/cron.d/php, +++; which uses the session.gc_maxlifetime setting. Please, check +++; /usr/share/doc/php8.2-common/README.Debian.gz for further reference. +++session.gc_probability = 0 ++ ++ ; Defines the probability that the 'garbage collection' process is started on every ++ ; session initialization. The probability is calculated by using gc_probability/gc_divisor, diff --cc debian/patches/0045-Add-missing-header-includes.patch index 00000000,00000000..f6f34faf new file mode 100644 --- /dev/null +++ b/debian/patches/0045-Add-missing-header-includes.patch @@@ -1,0 -1,0 +1,22 @@@ ++From: Andrey Rakhmatullin ++Date: Sat, 16 Mar 2024 09:04:24 +0100 ++Subject: Add missing header includes. ++ ++Bug-Debian: https://bugs.debian.org/1066234 ++Last-Update: 2024-03-15 ++--- ++ ext/standard/credits.c | 1 + ++ 1 file changed, 1 insertion(+) ++ ++diff --git a/ext/standard/credits.c b/ext/standard/credits.c ++index 1103bea..f981b01 100644 ++--- a/ext/standard/credits.c +++++ b/ext/standard/credits.c ++@@ -24,6 +24,7 @@ ++ #include "php.h" ++ #include "info.h" ++ #include "SAPI.h" +++#include "credits.h" ++ ++ #define CREDIT_LINE(module, authors) php_info_print_table_row(2, module, authors) ++ diff --cc debian/patches/0046-Add-enable-rtld-deepbind-configure-flag.patch index 00000000,00000000..d9478544 new file mode 100644 --- /dev/null +++ b/debian/patches/0046-Add-enable-rtld-deepbind-configure-flag.patch @@@ -1,0 -1,0 +1,50 @@@ ++From: Daniil Gentili ++Date: Wed, 13 Nov 2024 12:24:29 +0000 ++Subject: Add --enable-rtld-deepbind configure flag ++ ++--- ++ Zend/zend_portability.h | 2 +- ++ configure.ac | 17 +++++++++++++++++ ++ 2 files changed, 18 insertions(+), 1 deletion(-) ++ ++diff --git a/Zend/zend_portability.h b/Zend/zend_portability.h ++index e419540..44d4daf 100644 ++--- a/Zend/zend_portability.h +++++ b/Zend/zend_portability.h ++@@ -161,7 +161,7 @@ ++ ++ # if defined(RTLD_GROUP) && defined(RTLD_WORLD) && defined(RTLD_PARENT) ++ # define DL_LOAD(libname) dlopen(libname, PHP_RTLD_MODE | RTLD_GLOBAL | RTLD_GROUP | RTLD_WORLD | RTLD_PARENT) ++-# elif defined(RTLD_DEEPBIND) && !defined(__SANITIZE_ADDRESS__) && !__has_feature(memory_sanitizer) +++# elif defined(RTLD_DEEPBIND) && !defined(__SANITIZE_ADDRESS__) && !__has_feature(memory_sanitizer) && defined(PHP_USE_RTLD_DEEPBIND) ++ # define DL_LOAD(libname) dlopen(libname, PHP_RTLD_MODE | RTLD_GLOBAL | RTLD_DEEPBIND) ++ # else ++ # define DL_LOAD(libname) dlopen(libname, PHP_RTLD_MODE | RTLD_GLOBAL) ++diff --git a/configure.ac b/configure.ac ++index cfc1305..38d4fca 100644 ++--- a/configure.ac +++++ b/configure.ac ++@@ -867,6 +867,23 @@ AS_VAR_IF([PHP_RTLD_NOW], [yes], ++ [Define to 1 if 'dlopen()' uses the 'RTLD_NOW' mode flag instead of ++ 'RTLD_LAZY'.])]) ++ +++if test "$PHP_SAPI" = "apache2handler"; then +++ PHP_RTLD_DEEPBIND_DEFAULT=yes +++else +++ PHP_RTLD_DEEPBIND_DEFAULT=no +++fi +++ +++PHP_ARG_ENABLE([rtld-deepbind], +++ [whether to dlopen extensions with RTLD_DEEPBIND], +++ [AS_HELP_STRING([--enable-rtld-deepbind], +++ [Use dlopen with RTLD_DEEPBIND])], +++ [$PHP_RTLD_DEEPBIND_DEFAULT], +++ [$PHP_RTLD_DEEPBIND_DEFAULT]) +++ +++if test "$PHP_RTLD_DEEPBIND" = "yes"; then +++ AC_DEFINE(PHP_USE_RTLD_DEEPBIND, 1, [ Use dlopen with RTLD_DEEPBIND ]) +++fi +++ ++ PHP_ARG_WITH([layout], ++ [layout of installed files], ++ [AS_HELP_STRING([--with-layout=TYPE], diff --cc debian/patches/series index 00000000,00000000..dccd8b86 new file mode 100644 --- /dev/null +++ b/debian/patches/series @@@ -1,0 -1,0 +1,46 @@@ ++0001-libtool_fixes.patch ++0002-debian_quirks.patch ++0003-php-5.4.9-phpinfo.patch ++0004-extension_api.patch ++0005-php.ini_securitynotes.patch ++0006-Add-support-for-use-of-the-system-timezone-database.patch ++0007-strcmp_null-OnUpdateErrorLog.patch ++0008-qdbm-is-usr_include_qdbm.patch ++0009-session_save_path.patch ++0010-php-fpm-man-section-and-cleanup.patch ++0011-fpm-config.patch ++0012-php-fpm-sysconfdir.patch ++0013-lp564920-fix-big-files.patch ++0014-temporary-path-fixes-for-multiarch.patch ++0015-hurd-noptrace.patch ++0016-php-5.3.3-macropen.patch ++0017-php-5.2.4-embed.patch ++0018-php-fpm-m68k.patch ++0019-expose_all_built_and_installed_apis.patch ++0020-Use-system-timezone.patch ++0021-php-fpm-do-reload-on-SIGHUP.patch ++0022-php-5.4.8-ldap_r.patch ++0023-php-5.4.9-fixheader.patch ++0024-php-5.6.0-noNO.patch ++0025-php-5.6.0-oldpcre.patch ++0026-hack-phpdbg-to-explicitly-link-with-libedit.patch ++0027-Don-t-put-INSTALL_ROOT-into-phar.phar-exec-stanza.patch ++0028-Really-expand-libdir-datadir-into-EXPANDED_LIBDIR-DA.patch ++0029-Fix-ext-date-lib-parse_tz-PATH_MAX-HURD-FTBFS.patch ++0030-Add-patch-to-install-php7-module-directly-to-APXS_LI.patch ++0031-libtool2.2.patch ++0032-Include-all-libtool-files-from-phpize.m4.patch ++0033-In-phpize-also-copy-config.guess-config.sub-ltmain.s.patch ++0034-Show-packaging-credits.patch ++0035-Allow-printing-credits-buffer-larger-than-4k.patch ++0036-Don-t-close-the-credits-buffer-file-descriptor-too-e.patch ++0037-Lower-the-OpenSSL-requirement-to-1.0.1.patch ++0038-Override-result-of-AC_PROG_LN_S-to-fix-FTBFS-on-ppc6.patch ++0039-Update-gcc-func-attr-macro.patch ++0040-scripts-php-.in-Explicitly-define-the-path-to-sed.patch ++0041-Remove-timestamps-from-phar.patch ++0042-Disable-assembly-detection-in-Zend-arithmetic-with-g.patch ++0043-Disable-avx-detection-with-gcc-6.patch ++0044-Disable-garbage-collection-routine.patch ++0045-Add-missing-header-includes.patch ++0046-Add-enable-rtld-deepbind-configure-flag.patch diff --cc debian/php-cgi.apache2 index 00000000,00000000..38de4e1d new file mode 100644 --- /dev/null +++ b/debian/php-cgi.apache2 @@@ -1,0 -1,0 +1,1 @@@ ++conf debian/php@PHP_VERSION@-cgi.conf diff --cc debian/php-cgi.conf index 00000000,00000000..9f4da4b2 new file mode 100644 --- /dev/null +++ b/debian/php-cgi.conf @@@ -1,0 -1,0 +1,34 @@@ ++# This file replaces old system MIME types and sets them only in the ++# Apache webserver ++ ++# Using (?:pattern) instead of (pattern) is a small optimization that ++# avoid capturing the matching pattern (as $1) which isn't used here ++# application/x-httpd-php phtml php ++ ++ SetHandler application/x-httpd-php ++ ++# application/x-httpd-php-source phps ++ ++ SetHandler application/x-httpd-php-source ++ # Deny access to raw php sources by default ++ # To re-enable it's recommended to enable access to the files ++ # only in specific virtual host or directory ++ Require all denied ++ ++# Deny access to files without filename (e.g. '.php') ++ ++ Require all denied ++ ++ ++# To enable PHP CGI site-wide, just uncomment following lines, however ++# as a security measure, it's recommended to enable PHP just in the ++# specific virtual servers or just specific directories ++ ++#ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ ++# ++# AllowOverride None ++# Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch ++# Order allow,deny ++# Allow from all ++# ++#Action application/x-httpd-php /cgi-bin/php@PHP_VERSION@ diff --cc debian/php-cgi.dirs.extra index 00000000,00000000..4c87a133 new file mode 100644 --- /dev/null +++ b/debian/php-cgi.dirs.extra @@@ -1,0 -1,0 +1,4 @@@ ++/etc/apache2/mods-available ++/usr/lib/cgi-bin ++/usr/bin ++/usr/share/man/man1 diff --cc debian/php-cgi.install.extra index 00000000,00000000..50513e0e new file mode 100644 --- /dev/null +++ b/debian/php-cgi.install.extra @@@ -1,0 -1,0 +1,3 @@@ ++usr/bin/php-cgi@PHP_VERSION@ ++usr/share/man/man1/php-cgi@PHP_VERSION@.1 ++usr/lib/cgi-bin/php@PHP_VERSION@ diff --cc debian/php-cgi.postinst.extra index 00000000,00000000..792915b6 new file mode 100644 --- /dev/null +++ b/debian/php-cgi.postinst.extra @@@ -1,0 -1,0 +1,14 @@@ ++php_enable() { ++ # Don't enable PHP CGI by default ++ return 1 ++} ++ ++if [ "$1" = "configure" ]; then ++ update-alternatives \ ++ --install /usr/bin/php-cgi php-cgi /usr/bin/php-cgi@PHP_VERSION@ @PHP_MAJOR@@PHP_MINOR@ \ ++ --slave /usr/share/man/man1/php-cgi.1.gz php-cgi.1.gz \ ++ /usr/share/man/man1/php-cgi@PHP_VERSION@.1.gz ++ ++ update-alternatives \ ++ --install /usr/lib/cgi-bin/php php-cgi-bin /usr/lib/cgi-bin/php@PHP_VERSION@ @PHP_MAJOR@@PHP_MINOR@ ++fi diff --cc debian/php-cgi.prerm.extra index 00000000,00000000..8803e261 new file mode 100644 --- /dev/null +++ b/debian/php-cgi.prerm.extra @@@ -1,0 -1,0 +1,4 @@@ ++if [ "$1" = "remove" -o "$1" = "deconfigure" ]; then ++ update-alternatives --remove php-cgi /usr/bin/php-cgi@PHP_VERSION@ ++ update-alternatives --remove php-cgi-bin /usr/lib/cgi-bin/php@PHP_VERSION@ ++fi diff --cc debian/php-cli.dirs.extra index 00000000,00000000..1317f865 new file mode 100644 --- /dev/null +++ b/debian/php-cli.dirs.extra @@@ -1,0 -1,0 +1,2 @@@ ++/usr/bin ++/usr/share/man/man1 diff --cc debian/php-cli.install.extra index 00000000,00000000..b32f655b new file mode 100644 --- /dev/null +++ b/debian/php-cli.install.extra @@@ -1,0 -1,0 +1,6 @@@ ++usr/bin/php@PHP_VERSION@ ++usr/share/man/man1/php@PHP_VERSION@.1 ++usr/bin/phar@PHP_VERSION@.phar ++usr/bin/phar@PHP_VERSION@ ++usr/share/man/man1/phar@PHP_VERSION@.phar.1 ++usr/share/man/man1/phar@PHP_VERSION@.1 diff --cc debian/php-cli.links index 00000000,00000000..c1a4e9d0 new file mode 100644 --- /dev/null +++ b/debian/php-cli.links @@@ -1,0 -1,0 +1,2 @@@ ++/usr/bin/phar@PHP_VERSION@.phar /usr/bin/phar.phar@PHP_VERSION@ ++/usr/share/man/man1/phar@PHP_VERSION@.phar.1 /usr/share/man/man1/phar.phar@PHP_VERSION@.1 diff --cc debian/php-cli.postinst.extra index 00000000,00000000..ca4e3255 new file mode 100644 --- /dev/null +++ b/debian/php-cli.postinst.extra @@@ -1,0 -1,0 +1,7 @@@ ++if [ "$1" = "configure" ]; then ++ for binary in php phar phar.phar; do ++ update-alternatives \ ++ --install /usr/bin/${binary} ${binary} /usr/bin/${binary}@PHP_VERSION@ @PHP_MAJOR@@PHP_MINOR@ \ ++ --slave /usr/share/man/man1/${binary}.1.gz ${binary}.1.gz /usr/share/man/man1/${binary}@PHP_VERSION@.1.gz ++ done ++fi diff --cc debian/php-cli.prerm.extra index 00000000,00000000..dea3984a new file mode 100644 --- /dev/null +++ b/debian/php-cli.prerm.extra @@@ -1,0 -1,0 +1,5 @@@ ++if [ "$1" = "remove" -o "$1" = "deconfigure" ]; then ++ for binary in php phar phar phar.phar; do ++ update-alternatives --remove ${binary} /usr/bin/${binary}@PHP_VERSION@ ++ done ++fi diff --cc debian/php-common.README.Debian index 00000000,00000000..a4b48241 new file mode 100644 --- /dev/null +++ b/debian/php-common.README.Debian @@@ -1,0 -1,0 +1,184 @@@ ++Table of Contents: ++---------------------------------------------------------------------- ++* Using PHP with threaded webservers (e.g. apache2-mpm-worker) ++* Problems starting Apache HTTP Server with PHP 5 ++* Session storage ++* Other caveats ++* PHP and Apache 2 Multiviews (HTTP Content Negotiation) ++* PHP CGI and Apache HTTP Server ++* Configuration layout ++* Timezone data from system timezone database ++* Further documentation, errata, etc ++ ++Using PHP with threaded webservers (e.g. apache2-mpm-worker) ++---------------------------------------------------------------------- ++ ++ After much back-and-forth with upstream (and even building our ++ packages thread-safe for a while), we're currently admitting defeat ++ on that front, and are NOT building any thread-safe versions of PHP ++ for any webservers. Our recommendation is that, if you need to use ++ a threaded webserver, you should use php-fpm and interface to your ++ webserver with FastCGI. ++ ++Session storage ++---------------------------------------------------------------------- ++ ++ Session files are stored in /var/lib/php/sessions. For security ++ purposes, this directory is unreadable to non-root users. This means ++ that PHP running from Apache HTTP Server, for example, will not be ++ able to clean up stale session files. Instead, we have a cron job ++ run every 30 minutes that cleans up stale session files; ++ /etc/cron.d/php. You may need to modify how often this runs, if ++ you've modified session.gc_maxlifetime in your php.ini; otherwise, ++ it may be too lax or overly aggressive in cleaning out stale session ++ files. ++ ++ WARNING: If you modify the session handling in any way (e.g. put ++ session files in subdirectories, use different session handler), you ++ always have to check and possibly disable or modify the session ++ cleanup cron job that is located in /etc/cron.d/php. ++ ++Other caveats ++---------------------------------------------------------------------- ++ ++ Configuration directives extension_dir and include_path should be ++ commented out, unless you need special settings for them so PHP will ++ look in compiled-in paths. If you set them, you should also add ++ appropriate PHP install directories there. ++ ++PHP and Apache 2 Multiviews (HTTP Content Negotiation) ++---------------------------------------------------------------------- ++ ++ Apache 2’s mod_negotiation needs files to have a MIME-Type (amongst ++ others) associated with them in order to be considered for HTTP ++ content negotiation. ++ ++ Per default, the Debian PHP packages use Apache 2 handlers ++ (SetHandler directive) to enable PHP interpretation, while no ++ MIME-Type is being associated with the common PHP file extensions. ++ ++ Thus, by default, the HTTP content negotiation is disabled for PHP ++ file extensions. ++ ++ Possible use cases: ++ ++ 1) You intend to use HTTP content negotiation in order to tidy up URLs: ++ ++ For example, you wanted the file “http://example.org/foo.php” ++ being accessible as “http://example.org/foo”, too. In that case ++ you really shouldn’t abuse mod_negotiation but use mod_rewrite. ++ ++ An example of rewrite-rules, which allow any file ending in “.php” ++ to be accessed without this extension is: ++ ++ RewriteCond "%{REQUEST_FILENAME}" !-f ++ RewriteCond "%{REQUEST_FILENAME}" !-d ++ RewriteRule "^(.*)$" "$1.php" [last] ++ ++ Depending on your setup you may need to set other flags, too, ++ especially “passthrough” or “qsappend”. ++ ++ 2) You really wanted to use HTTP content negotiation on PHP files ++ (be they interpreted or not). ++ ++ An example for this might be, when you have the files ++ ++ http://example.org/foo.php ++ http://example.org/foo.js ++ ++ which both do the same job, but the former is executed as PHP on ++ the server-side, while the later is executed as JavaScript on the ++ client-side. ++ ++ If you really want it, just add MIME type definitions for file ++ extensions you need to your Apache 2 configuration. For example ++ to recognize php and phps extensions you would add: ++ ++ AddType application/x-php php ++ AddType application/x-php-source phps ++ ++ This scenario is really very rarely used (if at all)! ++ ++PHP CGI and Apache HTTP Server ++---------------------------------------------------------------------- ++ ++ In simple cases, what you probably want isn't the php-cgi package ++ at all, but rather the libapache2-mod-php package, which will ++ configure itself on installation and Just Work(tm). However, if you ++ have a need to use the CGI version of PHP with Apache HTTP Server, ++ the following should help get you going, though there are dozens of ++ different ways to do this. ++ ++ The current recommended approach is to install the php-fpm package ++ and use FastCGI to interface to your webserver. Run: ++ a2enconf php@PHP_VERSION@-fpm ++ to enable it in Apache 2.x. ++ ++ Please note that this process will never be made automatic, as ++ php-cgi is meant to be a webserver-agnostic package that can be ++ used with any httpd, and we don't want it to conflict with the ++ httpd-specific packages such as libapache2-mod-php. If both were ++ installed side-by-side and both were automatically enabled, the ++ results would be a bit confusing, obviously. ++ ++ You should also be aware that a server deployed in CGI mode is open ++ to several possible vulnerabilities. See the upstream CGI security ++ page to learn how to defend yourself from such attacks: ++ http://www.php.net/manual/en/security.cgi-bin.php ++ ++ To use php-cgi with Apache HTTP Server: ++ 1) activate php@PHP_VERSION@_cgi module: run 'a2enconf php@PHP_VERSION@-cgi' ++ 2) this will also activate the mod_actions module as a dependency ++ 3) comment out the last block of configuration in the ++ /etc/apache2/conf-enabled/php@PHP_VERSION@-cgi.conf file to enable ++ server-wide PHP CGI or add the mentioned configuration block to ++ one or more virtual hosts or directories. ++ 4) It's advised to not mix-and-match multiple SAPIs (such as ++ php-cgi along with libapache2-mod-php) in the same apache2 ++ configuration as it is likely to create unpredictable results. ++ ++Configuration Layout ++---------------------------------------------------------------------- ++ ++ Each SAPI (apache2/apache2filter/cgi/cli/fpm) has a different ++ central configuration file /etc/php5/@PHP_VERSION@/$SAPI/php.ini. ++ ++ Additionally, each SAPI is configured with the compile-time option ++ ++ --with-config-file-scan-dir=/etc/php/@PHP_VERSION@/$SAPI/conf.d ++ ++ Any file found in this directory ending in .ini will be treated as a ++ configuration file by the PHP SAPI. ++ ++ The rationale behind this method is that each SAPI can thus be ++ identically configured with a minimal amount of conffile handling. ++ ++ Note that the usage of the PHP_INI_SCAN_DIR environment variable ++ overrides what is set with --with-config-file-scan-dir and thus the ++ directory /etc/php/@PHP_VERSION@/$SAPI/conf.d will no longer be included. ++ ++Timezone data from system timezone database ++---------------------------------------------------------------------- ++ ++ Debian PHP has been patched to use the system wide timezone database ++ from the tzdata package, making sure any updates there are ++ automatically used by PHP as well. ++ ++ Note that this requires that the PHP process has access to ++ /etc/localtime and /usr/share/zoneinfo. For any regular installation ++ this should be the case, but in specific secured environments when ++ reading the timezone database is impossible PHP will give a ++ "Timezone database is corrupt - this should *never* happen!" error. ++ ++Further documentation, errata, misc. ++---------------------------------------------------------------------- ++ ++ Errata and other general information about PHP in Debian can be ++ found in the debian wiki at: ++ ++ http://wiki.debian.org/PHP ++ ++ If after reading the documentation in this file you still have ++ unanswered questions, that's a good next place to go. ++ ++ -- Ondřej Surý , Mon, 1 Aug 2016 11:53:53 +0200 diff --cc debian/php-common.dirs.extra index 00000000,00000000..fd84b030 new file mode 100644 --- /dev/null +++ b/debian/php-common.dirs.extra @@@ -1,0 -1,0 +1,3 @@@ ++/usr/lib/php/@PHP_VERSION@ ++/usr/lib/php/@PHP_API@ ++/usr/share/doc/php@PHP_VERSION@-common diff --cc debian/php-common.docs index 00000000,00000000..d371b619 new file mode 100644 --- /dev/null +++ b/debian/php-common.docs @@@ -1,0 -1,0 +1,5 @@@ ++EXTENSIONS ++README.md ++UPGRADING ++UPGRADING.INTERNALS ++debian/README.Debian.security diff --cc debian/php-common.lintian-overrides.extra index 00000000,00000000..5f9bf7aa new file mode 100644 --- /dev/null +++ b/debian/php-common.lintian-overrides.extra @@@ -1,0 -1,0 +1,4 @@@ ++php@PHP_VERSION@-common: non-standard-dir-perm var/lib/php/@PHP_VERSION@/sessions/ 1733 != 0755 ++php@PHP_VERSION@-common: package-contains-empty-directory usr/lib/php/@PHP_VERSION@/libexec/ ++php@PHP_VERSION@-common: missing-dependency-on-phpapi ++php@PHP_VERSION@-common: embedded-library usr/lib/php/*/fileinfo.so: file diff --cc debian/php-common.preinst.extra index 00000000,00000000..1836956a new file mode 100644 --- /dev/null +++ b/debian/php-common.preinst.extra @@@ -1,0 -1,0 +1,26 @@@ ++if [ "$1" = "upgrade" ]; then ++ for inidir in /etc/php/mods-available /etc/php/@PHP_VERSION@/mods-available; do ++ for dsoname in zlib; do ++ inifile=${dsoname}.ini ++ if [ -e ${inidir}/${inifile} ]; then ++ for ext in '~' '%' .bak .ucf-new .ucf-old .ucf-dist; do ++ rm -f ${inidir}/${inifile}${ext} ++ done ++ rm -f ${inidir}/${inifile} ++ if which ucf >/dev/null; then ++ ucf --purge ${inidir}/${inifile} >/dev/null || true ++ fi ++ if which ucfr >/dev/null; then ++ ucfr --force --purge @package@ ${inidir}/${inifile} >/dev/null || true ++ fi ++ fi ++ # Cleanup of the old symlinks (including broken symlinks) ++ find /etc/php/ -type l | \ ++ while read symlink; do ++ if [ "$(readlink $symlink)" = "${inidir}/$inifile" ]; then ++ rm -f "${symlink}" ++ fi ++ done ++ done ++ done ++fi diff --cc debian/php-common.substvars.extra index 00000000,00000000..11a9192a new file mode 100644 --- /dev/null +++ b/debian/php-common.substvars.extra @@@ -1,0 -1,0 +1,1 @@@ ++php-common:Breaks=php7.0-curl (<< 7.0.33-1~), php7.2-sodium (<< 7.2.12~), gforge-common (<< 6) diff --cc debian/php-curl.substvars.extra index 00000000,00000000..ad655e93 new file mode 100644 --- /dev/null +++ b/debian/php-curl.substvars.extra @@@ -1,0 -1,0 +1,1 @@@ ++php-curl:Breaks=php7.0-curl (<< 7.0.33-1~) diff --cc debian/php-dev.dirs index 00000000,00000000..9c68fefa new file mode 100644 --- /dev/null +++ b/debian/php-dev.dirs @@@ -1,0 -1,0 +1,2 @@@ ++/usr/bin ++/usr/share/lintian/overrides diff --cc debian/php-dev.files index 00000000,00000000..3b8b761c new file mode 100644 --- /dev/null +++ b/debian/php-dev.files @@@ -1,0 -1,0 +1,6 @@@ ++usr/bin/php-config@PHP_VERSION@ ++usr/bin/phpize@PHP_VERSION@ ++usr/share/man/man1/php-config@PHP_VERSION@.1 ++usr/share/man/man1/phpize@PHP_VERSION@.1 ++usr/include ++usr/lib/php/@PHP_VERSION@/build diff --cc debian/php-dev.install index 00000000,00000000..78b1167d new file mode 100644 --- /dev/null +++ b/debian/php-dev.install @@@ -1,0 -1,0 +1,6 @@@ ++usr/bin/php-config@PHP_VERSION@ ++usr/bin/phpize@PHP_VERSION@ ++usr/include/php/*/* ++usr/lib/php/*/build/* ++usr/share/man/man1/php-config@PHP_VERSION@.1 ++usr/share/man/man1/phpize@PHP_VERSION@.1 diff --cc debian/php-dev.lintian-overrides index 00000000,00000000..91854e96 new file mode 100644 --- /dev/null +++ b/debian/php-dev.lintian-overrides @@@ -1,0 -1,0 +1,2 @@@ ++php@PHP_VERSION@-dev: script-not-executable usr/lib/php/@PHP_API@/build/run-tests.php ++php@PHP_VERSION@-dev: script-not-executable usr/lib/php/20200930/build/gen_stub.php diff --cc debian/php-dev.postinst index 00000000,00000000..18ef0f45 new file mode 100644 --- /dev/null +++ b/debian/php-dev.postinst @@@ -1,0 -1,0 +1,16 @@@ ++#!/bin/sh ++ ++set -e ++ ++if [ "$1" = "configure" ]; then ++ update-alternatives \ ++ --install /usr/bin/php-config php-config /usr/bin/php-config@PHP_VERSION@ @PHP_MAJOR@@PHP_MINOR@ \ ++ --slave /usr/share/man/man1/php-config.1.gz php-config.1.gz /usr/share/man/man1/php-config@PHP_VERSION@.1.gz ++ update-alternatives \ ++ --install /usr/bin/phpize phpize /usr/bin/phpize@PHP_VERSION@ @PHP_MAJOR@@PHP_MINOR@ \ ++ --slave /usr/share/man/man1/phpize.1.gz phpize.1.gz /usr/share/man/man1/phpize@PHP_VERSION@.1.gz ++fi ++ ++#DEBHELPER# ++ ++exit 0 diff --cc debian/php-dev.prerm index 00000000,00000000..02bcb00b new file mode 100644 --- /dev/null +++ b/debian/php-dev.prerm @@@ -1,0 -1,0 +1,12 @@@ ++#!/bin/sh ++ ++set -e ++ ++if [ "$1" = "remove" -o "$1" = "purge" ]; then ++ update-alternatives --remove php-config /usr/bin/php-config@PHP_VERSION@ ++ update-alternatives --remove phpize /usr/bin/phpize@PHP_VERSION@ ++fi ++ ++#DEBHELPER# ++ ++exit 0 diff --cc debian/php-fpm-checkconf index 00000000,00000000..a7effe8a new file mode 100644 --- /dev/null +++ b/debian/php-fpm-checkconf @@@ -1,0 -1,0 +1,9 @@@ ++#!/bin/sh ++/usr/sbin/php-fpm@PHP_VERSION@ -t >/dev/null 2>/dev/null ++ret=$? ++if [ "$ret" -ne 0 ]; then ++ echo "PHP FPM configuration is broken:" ++ /usr/sbin/php-fpm@PHP_VERSION@ -t ++ exit 1 ++fi ++exit 0 diff --cc debian/php-fpm-reopenlogs index 00000000,00000000..0a3bc742 new file mode 100644 --- /dev/null +++ b/debian/php-fpm-reopenlogs @@@ -1,0 -1,0 +1,7 @@@ ++#!/bin/sh ++CONFFILE=/etc/php/@PHP_VERSION@/fpm/php-fpm.conf ++[ -r /etc/default/php@PHP_VERSION@-fpm ] && . /etc/default/php@PHP_VERSION@-fpm ++CONF_PIDFILE=$(sed -n 's/^[[:space:]]*pid[[:space:]]*=[[:space:]]*//p' $CONFFILE) ++PIDFILE=${CONF_PIDFILE:-/run/php/php@PHP_VERSION@-fpm.pid} ++[ -r "$PIDFILE" ] && kill -USR1 $(cat "$PIDFILE") > /dev/null ++exit 0 diff --cc debian/php-fpm.apache2 index 00000000,00000000..54b47230 new file mode 100644 --- /dev/null +++ b/debian/php-fpm.apache2 @@@ -1,0 -1,0 +1,1 @@@ ++conf debian/php@PHP_VERSION@-fpm.conf diff --cc debian/php-fpm.conf index 00000000,00000000..755ecc83 new file mode 100644 --- /dev/null +++ b/debian/php-fpm.conf @@@ -1,0 -1,0 +1,34 @@@ ++# Redirect to local php-fpm if mod_php is not available ++ ++ ++ # Enable http authorization headers ++ ++ SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1 ++ ++ ++ # Using (?:pattern) instead of (pattern) is a small optimization that ++ # avoid capturing the matching pattern (as $1) which isn't used here ++ ++ SetHandler "proxy:unix:/run/php/php@PHP_VERSION@-fpm.sock|fcgi://localhost" ++ ++# The default configuration works for most of the installation, however it could ++# be improved in various ways. One simple improvement is to not pass files that ++# doesn't exist to the handler as shown below, for more configuration examples ++# see https://wiki.apache.org/httpd/PHP-FPM ++# ++# ++# SetHandler "proxy:unix:/run/php/php@PHP_VERSION@-fpm.sock|fcgi://localhost" ++# ++# ++ ++ # Deny access to raw php sources by default ++ # To re-enable it's recommended to enable access to the files ++ # only in specific virtual host or directory ++ Require all denied ++ ++ # Deny access to files without filename (e.g. '.php') ++ ++ Require all denied ++ ++ ++ diff --cc debian/php-fpm.dirs.extra index 00000000,00000000..c1381424 new file mode 100644 --- /dev/null +++ b/debian/php-fpm.dirs.extra @@@ -1,0 -1,0 +1,3 @@@ ++/etc/php/@PHP_VERSION@/fpm/pool.d ++/usr/sbin ++/usr/lib/php/@PHP_VERSION@ diff --cc debian/php-fpm.init index 00000000,00000000..865376e5 new file mode 100644 --- /dev/null +++ b/debian/php-fpm.init @@@ -1,0 -1,0 +1,161 @@@ ++#!/bin/sh ++### BEGIN INIT INFO ++# Provides: php@PHP_VERSION@-fpm ++# Required-Start: $remote_fs $network ++# Required-Stop: $remote_fs $network ++# Default-Start: 2 3 4 5 ++# Default-Stop: 0 1 6 ++# Short-Description: starts php@PHP_VERSION@-fpm ++# Description: Starts The PHP FastCGI Process Manager Daemon ++### END INIT INFO ++ ++# Author: Ondrej Sury ++ ++PATH=/sbin:/usr/sbin:/bin:/usr/bin ++DESC="PHP @PHP_VERSION@ FastCGI Process Manager" ++NAME=php-fpm@PHP_VERSION@ ++CONFFILE=/etc/php/@PHP_VERSION@/fpm/php-fpm.conf ++DAEMON=/usr/sbin/$NAME ++DAEMON_ARGS="--daemonize --fpm-config $CONFFILE" ++CONF_PIDFILE=$(sed -n 's/^pid[ =]*//p' $CONFFILE) ++PIDFILE=${CONF_PIDFILE:-/run/php/php@PHP_VERSION@-fpm.pid} ++TIMEOUT=30 ++SCRIPTNAME=/etc/init.d/$NAME ++ ++# Exit if the package is not installed ++[ -x "$DAEMON" ] || exit 0 ++ ++# Read configuration variable file if it is present ++[ -r /etc/default/$NAME ] && . /etc/default/$NAME ++ ++# Load the VERBOSE setting and other rcS variables ++. /lib/init/vars.sh ++ ++# Define LSB log_* functions. ++# Depend on lsb-base (>= 3.0-6) to ensure that this file is present. ++. /lib/lsb/init-functions ++ ++# ++# Function that starts the daemon/service ++# ++do_start() ++{ ++ # Return ++ # 0 if daemon has been started ++ # 1 if daemon was already running ++ # 2 if daemon could not be started ++ start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \ ++ || return 1 ++ start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \ ++ $DAEMON_ARGS 2>/dev/null \ ++ || return 2 ++ # Add code here, if necessary, that waits for the process to be ready ++ # to handle requests from services started subsequently which depend ++ # on this one. As a last resort, sleep for some time. ++} ++ ++# ++# Function that stops the daemon/service ++# ++do_stop() ++{ ++ # Return ++ # 0 if daemon has been stopped ++ # 1 if daemon was already stopped ++ # 2 if daemon could not be stopped ++ # other if a failure occurred ++ start-stop-daemon --stop --quiet --retry=QUIT/$TIMEOUT/TERM/5/KILL/5 --pidfile $PIDFILE --name $NAME ++ RETVAL="$?" ++ [ "$RETVAL" = 2 ] && return 2 ++ # Wait for children to finish too if this is a daemon that forks ++ # and if the daemon is only ever run from this initscript. ++ # If the above conditions are not satisfied then add some other code ++ # that waits for the process to drop all resources that could be ++ # needed by services started subsequently. A last resort is to ++ # sleep for some time. ++ start-stop-daemon --stop --quiet --oknodo --retry=0/30/TERM/5/KILL/5 --exec $DAEMON ++ [ "$?" = 2 ] && return 2 ++ # Many daemons don't delete their pidfiles when they exit. ++ rm -f $PIDFILE ++ return "$RETVAL" ++} ++ ++# ++# Function that sends a SIGHUP to the daemon/service ++# ++do_reload() { ++ # ++ # If the daemon can reload its configuration without ++ # restarting (for example, when it is sent a SIGHUP), ++ # then implement that here. ++ # ++ start-stop-daemon --stop --signal USR2 --quiet --pidfile $PIDFILE --name $NAME ++ return 0 ++} ++ ++case "$1" in ++ start) ++ [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" ++ systemd-tmpfiles --remove --create /usr/lib/tmpfiles.d/php@PHP_VERSION@-fpm.conf ++ case "$?" in ++ 0) ++ do_start ++ case "$?" in ++ 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; ++ 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; ++ esac ++ ;; ++ 1) [ "$VERBOSE" != no ] && log_end_msg 1 ;; ++ esac ++ ;; ++ stop) ++ [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" ++ do_stop ++ case "$?" in ++ 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; ++ 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; ++ esac ++ ;; ++ status) ++ status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? ++ ;; ++ reload|force-reload) ++ log_daemon_msg "Reloading $DESC" "$NAME" ++ do_reload ++ log_end_msg $? ++ ;; ++ reopen-logs) ++ log_daemon_msg "Reopening $DESC logs" $NAME ++ if start-stop-daemon --stop --signal USR1 --oknodo --quiet \ ++ --pidfile $PIDFILE --exec $DAEMON ++ then ++ log_end_msg 0 ++ else ++ log_end_msg 1 ++ fi ++ ;; ++ restart) ++ log_daemon_msg "Restarting $DESC" "$NAME" ++ do_stop ++ case "$?" in ++ 0|1) ++ do_start ++ case "$?" in ++ 0) log_end_msg 0 ;; ++ 1) log_end_msg 1 ;; # Old process is still running ++ *) log_end_msg 1 ;; # Failed to start ++ esac ++ ;; ++ *) ++ # Failed to stop ++ log_end_msg 1 ++ ;; ++ esac ++ ;; ++ *) ++ echo "Usage: $SCRIPTNAME {start|stop|status|restart|reload|force-reload}" >&2 ++ exit 1 ++ ;; ++esac ++ ++: diff --cc debian/php-fpm.install.extra index 00000000,00000000..f8038fd0 new file mode 100644 --- /dev/null +++ b/debian/php-fpm.install.extra @@@ -1,0 -1,0 +1,3 @@@ ++usr/share/man/man8/php-fpm@PHP_VERSION@.8 ++usr/sbin/php-fpm@PHP_VERSION@ ++usr/share/php/@PHP_VERSION@/fpm/status.html diff --cc debian/php-fpm.logrotate index 00000000,00000000..cb932054 new file mode 100644 --- /dev/null +++ b/debian/php-fpm.logrotate @@@ -1,0 -1,0 +1,13 @@@ ++/var/log/php@PHP_VERSION@-fpm.log { ++ rotate 12 ++ weekly ++ missingok ++ notifempty ++ compress ++ delaycompress ++ postrotate ++ if [ -x /usr/lib/php/php@PHP_VERSION@-fpm-reopenlogs ]; then ++ /usr/lib/php/php@PHP_VERSION@-fpm-reopenlogs; ++ fi ++ endscript ++} diff --cc debian/php-fpm.maintscript index 00000000,00000000..6ff500c2 new file mode 100644 --- /dev/null +++ b/debian/php-fpm.maintscript @@@ -1,0 -1,0 +1,1 @@@ ++rm_conffile /etc/init/php@PHP_VERSION@-fpm.conf 7.4.3-4~ php@PHP_VERSION@-fpm diff --cc debian/php-fpm.postinst.extra index 00000000,00000000..8e0d74a8 new file mode 100644 --- /dev/null +++ b/debian/php-fpm.postinst.extra @@@ -1,0 -1,0 +1,22 @@@ ++if [ -e /usr/share/apache2/apache2-maintscript-helper ]; then ++ . /usr/share/apache2/apache2-maintscript-helper ++ ++ php_enable() { ++ # Don't enable PHP FPM by default when Apache 2 is installed ++ apache2_msg notice "NOTICE: Not enabling PHP @PHP_VERSION@ FPM by default." ++ apache2_msg notice "NOTICE: To enable PHP @PHP_VERSION@ FPM in Apache2 do:" ++ apache2_msg notice "NOTICE: a2enmod proxy_fcgi setenvif" ++ apache2_msg notice "NOTICE: a2enconf php@PHP_VERSION@-fpm" ++ apache2_msg notice "NOTICE: You are seeing this message because you have apache2 package installed." ++ return 1 ++ } ++else ++ php_enable() { ++ # Don't enable PHP FPM by default when Apache 2 is not installed ++ return 1 ++ } ++fi ++ ++if [ "$1" = "triggered" ] && [ "$2" = "/etc/php/@PHP_VERSION@/fpm/conf.d" ]; then ++ invoke-rc.d php@PHP_VERSION@-fpm restart ++fi diff --cc debian/php-fpm.prerm.extra index 00000000,00000000..e69de29b new file mode 100644 --- /dev/null +++ b/debian/php-fpm.prerm.extra diff --cc debian/php-fpm.service index 00000000,00000000..c73d73f5 new file mode 100644 --- /dev/null +++ b/debian/php-fpm.service @@@ -1,0 -1,0 +1,15 @@@ ++[Unit] ++Description=The PHP @PHP_VERSION@ FastCGI Process Manager ++Documentation=man:php-fpm@PHP_VERSION@(8) ++After=network.target ++ ++[Service] ++Type=notify ++ExecStart=/usr/sbin/php-fpm@PHP_VERSION@ --nodaemonize --fpm-config /etc/php/@PHP_VERSION@/fpm/php-fpm.conf ++ExecStartPost=-/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/@PHP_VERSION@/fpm/pool.d/www.conf @PHP_MAJOR@@PHP_MINOR@ ++ExecStopPost=-/usr/lib/php/php-fpm-socket-helper remove /run/php/php-fpm.sock /etc/php/@PHP_VERSION@/fpm/pool.d/www.conf @PHP_MAJOR@@PHP_MINOR@ ++ExecReload=/bin/kill -USR2 $MAINPID ++Restart=on-failure ++ ++[Install] ++WantedBy=multi-user.target diff --cc debian/php-fpm.tmpfile index 00000000,00000000..1074344e new file mode 100644 --- /dev/null +++ b/debian/php-fpm.tmpfile @@@ -1,0 -1,0 +1,2 @@@ ++#Type Path Mode UID GID Age Argument ++ d /run/php 0755 www-data www-data - - diff --cc debian/php-module.bug-control.in index 00000000,00000000..2849edad new file mode 100644 --- /dev/null +++ b/debian/php-module.bug-control.in @@@ -1,0 -1,0 +1,1 @@@ ++report-with: php@PHP_VERSION@-common php@PHP_VERSION@-cli libphp@PHP_VERSION@-embed libapache2-mod-php@PHP_VERSION@ libapache2-mod-php@PHP_VERSION@filter php@PHP_VERSION@-cgi php@PHP_VERSION@-fpm diff --cc debian/php-module.bug-script.in index 00000000,00000000..fcabba47 new file mode 100755 --- /dev/null +++ b/debian/php-module.bug-script.in @@@ -1,0 -1,0 +1,20 @@@ ++#!/bin/sh ++ ++MATCH="^[[:space:]]*($|;)" ++ ++echo "==== Additional PHP @PHP_VERSION@ information ====" >&3 ++echo "" >&3 ++echo "++++ PHP @PHP_VERSION SAPI (php@PHP_VERSION@query -S): ++++" >&3 ++/usr/sbin/php@PHP_VERSION@query -S >&3 ++echo "" >&3 ++echo "++++ PHP @PHP_VERSION@ Extensions (php@PHP_VERSION@query -M -v): ++++" >&3 ++/usr/sbin/php@PHP_VERSION@query -M -v >&3 ++echo "" >&3 ++ ++echo "++++ Configuration files: ++++" >&3 ++for dsoname in @extensions@; do ++ inifile=${dsoname}.ini ++ echo "**** /etc/php/@PHP_VERSION@/mods-available/$dsoname.ini ****" >&3 ++ grep -Ev "$MATCH" "/etc/php/@PHP_VERSION@/mods-available/$dsoname.ini" >&3 ++ echo "" >&3 ++done diff --cc debian/php-module.control.in index 00000000,00000000..ac266b94 new file mode 100644 --- /dev/null +++ b/debian/php-module.control.in @@@ -1,0 -1,0 +1,22 @@@ ++Package: @package@ ++Architecture: any ++Depends: php-common (>= 2:95~), ++ ucf, ++ ${misc:Depends}, ++ ${php:Depends}, ++ ${php-@ext@:Depends}, ++ ${shlibs:Depends} ++Pre-Depends: ${misc:Pre-Depends}, ++ ${php-@ext@:Pre-Depends} ++Built-Using: ${php:Built-Using} ++Replaces: ${php-@ext@:Replaces} ++Breaks: ${php-@ext@:Breaks} ++Conflicts: ${php-@ext@:Conflicts} ++Provides: ${php-@ext@:Provides} ++Recommends: ${php-@ext@:Recommends} ++Description: @description@ module for PHP ++ This package provides the @description@ module(s) for PHP. ++ . ++ PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used ++ open source general-purpose scripting language that is especially suited ++ for web development and can be embedded into HTML. diff --cc debian/php-module.dirs.in index 00000000,00000000..e1f5a4b2 new file mode 100644 --- /dev/null +++ b/debian/php-module.dirs.in @@@ -1,0 -1,0 +1,3 @@@ ++/etc/php/@PHP_VERSION@/mods-available ++/usr/lib/php/@PHP_API@ ++#EXTRA# diff --cc debian/php-module.ini.in index 00000000,00000000..085c296f new file mode 100644 --- /dev/null +++ b/debian/php-module.ini.in @@@ -1,0 -1,0 +1,3 @@@ ++; configuration for php @extname@ module ++; priority=@priority@ ++@extension@=@dsoname@.so diff --cc debian/php-module.lintian-overrides.in index 00000000,00000000..bf699428 new file mode 100644 --- /dev/null +++ b/debian/php-module.lintian-overrides.in @@@ -1,0 -1,0 +1,2 @@@ ++@package@: maintainer-script-empty prerm ++#EXTRA# diff --cc debian/php-module.postinst.in index 00000000,00000000..7991ec34 new file mode 100644 --- /dev/null +++ b/debian/php-module.postinst.in @@@ -1,0 -1,0 +1,36 @@@ ++#!/bin/sh ++ ++set -e ++ ++#EXTRA# ++ ++if [ "$1" = "configure" ]; then ++ # Install the new versioned configuration ++ inidir=/etc/php/@PHP_VERSION@/mods-available ++ ++ if [ -e /usr/lib/php/php-maintscript-helper ] ; then ++ . /usr/lib/php/php-maintscript-helper ++ ++ for dsoname in @extensions@; do ++ inifile=${dsoname}.ini ++ ++ # Register new conffile with UCF ++ ucf /usr/share/@package@/@module@/${inifile} ${inidir}/${inifile} ++ ucfr --force @package@ ${inidir}/${inifile} ++ ++ if [ -f "${inidir}/${inifile}.dpkg-new" ]; then ++ md5sum="$(md5sum ${inidir}/${inifile}.dpkg-new | sed -e 's/ .*//')" ++ old_md5sum="$(md5sum ${inidir}/${inifile} | sed -e 's/ .*//')" ++ if [ "$md5sum" = "$old_md5sum" ]; then ++ mv "${inidir}/${inifile}.dpkg-new" "${inidir}/${inifile}" ++ fi ++ fi ++ ++ php_invoke enmod @PHP_VERSION@ ALL ${dsoname} ++ done ++ fi ++fi ++ ++#DEBHELPER# ++ ++exit 0 diff --cc debian/php-module.postrm.in index 00000000,00000000..6564db16 new file mode 100644 --- /dev/null +++ b/debian/php-module.postrm.in @@@ -1,0 -1,0 +1,56 @@@ ++#!/bin/sh ++ ++set -e ++ ++#EXTRA# ++ ++if [ "$1" = "remove" ]; then ++ if [ -e /usr/lib/php/php-maintscript-helper ] ; then ++ . /usr/lib/php/php-maintscript-helper ++ ++ for dsoname in @extensions@; do ++ php_invoke dismod @PHP_VERSION@ ALL ${dsoname} ++ done ++ fi ++fi ++ ++if [ "$1" = "purge" ]; then ++ inidir=/etc/php/@PHP_VERSION@/mods-available ++ ++ for dsoname in @extensions@; do ++ inifile=${dsoname}.ini ++ ++ for ext in '~' '%' .bak .ucf-new .ucf-old .ucf-dist; do ++ rm -f ${inidir}/${inifile}${ext} ++ done ++ rm -f ${inidir}/${inifile} ++ if which ucf >/dev/null; then ++ ucf --purge ${inidir}/${inifile} ++ fi ++ if which ucfr >/dev/null; then ++ ucfr --purge @package@ ${inidir}/${inifile} ++ fi ++ ++ # Final cleanup of possible leftover symlinks ++ find /etc/php/ -type l | \ ++ while read symlink; do ++ if [ "$(readlink $symlink)" = "${inidir}/$inifile" ]; then ++ rm -f "${symlink}" ++ fi ++ done ++ done ++ ++ for dir in \ ++ /etc/php/@PHP_VERSION@/mods-available \ ++ /etc/php/@PHP_VERSION@ \ ++ /etc/php; ++ do ++ if [ ! -L $dir ] && [ -d $dir ]; then ++ rmdir --ignore-fail-on-non-empty $dir ++ fi ++ done ++fi ++ ++#DEBHELPER# ++ ++exit 0 diff --cc debian/php-module.preinst.in index 00000000,00000000..1154b9fa new file mode 100644 --- /dev/null +++ b/debian/php-module.preinst.in @@@ -1,0 -1,0 +1,39 @@@ ++#!/bin/sh ++ ++set -e ++ ++#EXTRA# ++ ++if [ "$1" = "upgrade" ]; then ++ # First purge the old unversioned configuration ++ inidir=/etc/php/mods-available ++ for dsoname in @extensions@; do ++ inifile=${dsoname}.ini ++ if [ -e ${inidir}/${inifile} ]; then ++ for ext in '~' '%' .bak .ucf-new .ucf-old .ucf-dist; do ++ rm -f ${inidir}/${inifile}${ext} ++ done ++ rm -f ${inidir}/${inifile} ++ if which ucf >/dev/null; then ++ ucf --purge ${inidir}/${inifile} >/dev/null || true ++ fi ++ if which ucfr >/dev/null; then ++ ucfr --force --purge @package@ ${inidir}/${inifile} >/dev/null || true ++ fi ++ fi ++ # Cleanup of the old symlinks (including broken symlinks) ++ find /etc/php/ -type l | \ ++ while read symlink; do ++ if [ "$(readlink $symlink)" = "${inidir}/$inifile" ]; then ++ rm -f "${symlink}" ++ fi ++ done ++ done ++ if [ -d "$inidir" ]; then ++ rmdir --ignore-fail-on-non-empty "$inidir"; ++ fi ++fi ++ ++#DEBHELPER# ++ ++exit 0 diff --cc debian/php-module.prerm.in index 00000000,00000000..58166c7c new file mode 100644 --- /dev/null +++ b/debian/php-module.prerm.in @@@ -1,0 -1,0 +1,9 @@@ ++#!/bin/sh ++ ++set -e ++ ++#EXTRA# ++ ++#DEBHELPER# ++ ++exit 0 diff --cc debian/php-module.substvars.in index 00000000,00000000..33b27123 new file mode 100644 --- /dev/null +++ b/debian/php-module.substvars.in @@@ -1,0 -1,0 +1,1 @@@ ++#EXTRA# diff --cc debian/php-module.triggers.in index 00000000,00000000..11fa8580 new file mode 100644 --- /dev/null +++ b/debian/php-module.triggers.in @@@ -1,0 -1,0 +1,3 @@@ ++activate-noawait /etc/php/@PHP_VERSION@/apache2/conf.d ++activate-noawait /etc/php/@PHP_VERSION@/apache2filter/conf.d ++activate-noawait /etc/php/@PHP_VERSION@/fpm/conf.d diff --cc debian/php-phpdbg.dirs.extra index 00000000,00000000..1317f865 new file mode 100644 --- /dev/null +++ b/debian/php-phpdbg.dirs.extra @@@ -1,0 -1,0 +1,2 @@@ ++/usr/bin ++/usr/share/man/man1 diff --cc debian/php-phpdbg.install.extra index 00000000,00000000..8790945c new file mode 100644 --- /dev/null +++ b/debian/php-phpdbg.install.extra @@@ -1,0 -1,0 +1,2 @@@ ++usr/bin/phpdbg@PHP_VERSION@ ++usr/share/man/man1/phpdbg@PHP_VERSION@.1 diff --cc debian/php-phpdbg.postinst.extra index 00000000,00000000..87b2d08e new file mode 100644 --- /dev/null +++ b/debian/php-phpdbg.postinst.extra @@@ -1,0 -1,0 +1,5 @@@ ++if [ "$1" = "configure" ]; then ++ update-alternatives \ ++ --install /usr/bin/phpdbg phpdbg /usr/bin/phpdbg@PHP_VERSION@ @PHP_MAJOR@@PHP_MINOR@ \ ++ --slave /usr/share/man/man1/phpdbg.1.gz phpdbg.1.gz /usr/share/man/man1/phpdbg@PHP_VERSION@.1.gz ++fi diff --cc debian/php-phpdbg.prerm.extra index 00000000,00000000..1bb83246 new file mode 100644 --- /dev/null +++ b/debian/php-phpdbg.prerm.extra @@@ -1,0 -1,0 +1,3 @@@ ++if [ "$1" = "remove" -o "$1" = "deconfigure" ]; then ++ update-alternatives --remove phpdbg /usr/bin/phpdbg@PHP_VERSION@ ++fi diff --cc debian/php-sapi.bug-control index 00000000,00000000..f900d595 new file mode 100644 --- /dev/null +++ b/debian/php-sapi.bug-control @@@ -1,0 -1,0 +1,1 @@@ ++report-with: php@PHP_VERSION@-common diff --cc debian/php-sapi.bug-script index 00000000,00000000..b0c7f485 new file mode 100755 --- /dev/null +++ b/debian/php-sapi.bug-script @@@ -1,0 -1,0 +1,23 @@@ ++#!/bin/sh ++ ++MATCH="^[[:space:]]*($|;)" ++ ++echo "==== Additional PHP @PHP_VERSION@ information ====" >&3 ++echo "" >&3 ++echo "++++ PHP @PHP_VERSION@ SAPI (php@PHP_VERSION@query -S): ++++" >&3 ++/usr/sbin/php@PHP_VERSION@query -S >&3 ++echo "" >&3 ++echo "++++ PHP @PHP_VERSION@ Extensions (php@PHP_VERSION@query -M -v): ++++" >&3 ++/usr/sbin/php@PHP_VERSION@query -M -v >&3 ++echo "" >&3 ++ ++echo "++++ Configuration files: ++++" >&3 ++"**** /etc/php/@PHP_VERSION@/@sapi@/php.ini ****" >&3 ++grep -Ev "$MATCH" /etc/php/@PHP_VERSION@/@sapi@/php.ini >&3 ++echo "" >&3 ++find /etc/php/@PHP_VERSION@/@sapi@/conf.d/ -name '*.ini' | \ ++while read CONF; do ++ echo "**** $CONF ****" >&3 ++ grep -Ev "$MATCH" "$CONF" >&3 ++ echo "" >&3 ++done diff --cc debian/php-sapi.dirs index 00000000,00000000..8c53b979 new file mode 100644 --- /dev/null +++ b/debian/php-sapi.dirs @@@ -1,0 -1,0 +1,4 @@@ ++#EXTRA# ++/etc/php/@PHP_VERSION@/@sapi@ ++/etc/php/@PHP_VERSION@/@sapi@/conf.d ++/usr/lib/php/@PHP_VERSION@/sapi/ diff --cc debian/php-sapi.install index 00000000,00000000..18d42181 new file mode 100644 --- /dev/null +++ b/debian/php-sapi.install @@@ -1,0 -1,0 +1,2 @@@ ++#EXTRA# ++usr/lib/php/@PHP_VERSION@/sapi/@sapi@ diff --cc debian/php-sapi.lintian-overrides index 00000000,00000000..a14482c8 new file mode 100644 --- /dev/null +++ b/debian/php-sapi.lintian-overrides @@@ -1,0 -1,0 +1,27 @@@ ++# The extensions directory must exist, even if empty ++@sapi@: package-contains-empty-directory @extdir@/ ++# Not a spelling mistake, just a compilation curiosity ++@sapi@: spelling-error-in-binary * ment meant ++# Not a spelling mistake, tz code for Tahiti ++@sapi@: spelling-error-in-binary * taht that ++@sapi@: missing-dependency-on-phpapi ++# dh-apache2 bug: http://bugs.debian.org/796328 ++libapache2-mod-php@PHP_VERSION@: apache2-module-depends-on-real-apache2-package * ++libapache2-mod-php@PHP_VERSION@: apache2-module-does-not-ship-load-file libphp@PHP_VERSION@ ++libapache2-mod-php@PHP_VERSION@: embedded-library usr/lib/apache2/modules/libphp@PHP_VERSION@.so: file ++libapache2-mod-php@PHP_VERSION@: non-standard-apache2-module-package-name libapache2-mod-php@PHP_VERSION@ != libapache2-libphp@PHP_VERSION@ ++libphp@PHP_VERSION@-embed: embedded-library usr/lib/libphp@PHP_VERSION@.so: file ++libphp@PHP_VERSION@-embed: ldconfig-symlink-missing-for-shlib usr/lib/libphp.so usr/lib/libphp@PHP_VERSION@.so libphp.so ++libphp@PHP_VERSION@-embed: maintscript-calls-ldconfig postinst ++libphp@PHP_VERSION@-embed: maintscript-calls-ldconfig postrm ++libphp@PHP_VERSION@-embed: package-must-activate-ldconfig-trigger usr/lib/libphp@PHP_VERSION@.so ++libphp@PHP_VERSION@-embed: package-name-doesnt-match-sonames libphp ++libphp@PHP_VERSION@-embed: shlib-without-versioned-soname usr/lib/libphp@PHP_VERSION@.so libphp.so ++php@PHP_VERSION@-cgi: embedded-library usr/bin/php-cgi@PHP_VERSION@: file ++php@PHP_VERSION@-cgi: embedded-library usr/lib/cgi-bin/php@PHP_VERSION@: file ++php@PHP_VERSION@-cli: embedded-library usr/bin/php@PHP_VERSION@: file ++php@PHP_VERSION@-cli: php-script-with-unusual-interpreter usr/bin/phar@PHP_VERSION@.phar /usr/bin/php@PHP_VERSION@ ++php@PHP_VERSION@-fpm: apache2-reverse-dependency-calls-wrapper-script postinst a2enconf ++php@PHP_VERSION@-fpm: apache2-reverse-dependency-calls-wrapper-script postinst a2enmod ++php@PHP_VERSION@-fpm: embedded-library usr/sbin/php-fpm@PHP_VERSION@: file ++php@PHP_VERSION@-phpdbg: embedded-library usr/bin/phpdbg@PHP_VERSION@: file diff --cc debian/php-sapi.postinst index 00000000,00000000..ac6f09fb new file mode 100644 --- /dev/null +++ b/debian/php-sapi.postinst @@@ -1,0 -1,0 +1,35 @@@ ++#!/bin/sh ++ ++set -e ++ ++#EXTRA# ++ ++CONFDIR=/etc/php/@PHP_VERSION@/@sapi@/conf.d ++ ++if [ "$1" = "configure" ]; then ++ phpini="/etc/php/@PHP_VERSION@/@sapi@/php.ini" ++ ++ if [ "@sapi@" = "cli" ]; then ++ ucf /usr/lib/php/@PHP_VERSION@/php.ini-production.@sapi@ $phpini ++ else ++ ucf /usr/lib/php/@PHP_VERSION@/php.ini-production $phpini ++ fi ++ ucfr @package@ $phpini ++ ++ if [ -e /usr/lib/php/php-maintscript-helper ]; then ++ . /usr/lib/php/php-maintscript-helper ++ ++ mods=$(phpquery -M -v @PHP_VERSION@) ++ for mod in $mods; do ++ php_invoke enmod @PHP_VERSION@ @sapi@ $mod ++ done ++ fi ++ ++ if [ -n "$2" ] && dpkg --compare-versions "$2" lt "7.0.3-2~"; then ++ rm -f /etc/php/@PHP_VERSION@/@sapi@/conf.d/20-opcache.ini; ++ fi ++fi ++ ++#DEBHELPER# ++ ++exit 0 diff --cc debian/php-sapi.postrm index 00000000,00000000..e4a6dfea new file mode 100644 --- /dev/null +++ b/debian/php-sapi.postrm @@@ -1,0 -1,0 +1,40 @@@ ++#!/bin/sh ++ ++set -e ++ ++#EXTRA# ++ ++php_enable() { return 0; } ++ ++if [ "$1" = "purge" ]; then ++ phpini=/etc/php/@PHP_VERSION@/@sapi@/php.ini ++ # remove the flag to remember the original state ++ if [ -e /etc/php/@PHP_VERSION@/@sapi@/.start ]; then ++ rm -f /etc/php/@PHP_VERSION@/@sapi@/.start ++ fi ++ for ext in '~' '%' .bak .ucf-new .ucf-old .ucf-dist; do ++ rm -f $phpini$ext ++ done ++ rm -f $phpini ++ if which ucf >/dev/null; then ++ ucf --purge $phpini ++ fi ++ if which ucfr >/dev/null; then ++ ucfr --purge @package@ $phpini ++ fi ++ ++ for dir in \ ++ /etc/php/@PHP_VERSION@/@sapi@/conf.d \ ++ /etc/php/@PHP_VERSION@/@sapi@ \ ++ /etc/php/@PHP_VERSION@ \ ++ /etc/php; ++ do ++ if [ ! -L $dir ] && [ -d $dir ]; then ++ rmdir --ignore-fail-on-non-empty $dir ++ fi ++ done ++fi ++ ++#DEBHELPER# ++ ++exit 0 diff --cc debian/php-sapi.prerm index 00000000,00000000..91357282 new file mode 100644 --- /dev/null +++ b/debian/php-sapi.prerm @@@ -1,0 -1,0 +1,29 @@@ ++#!/bin/sh ++ ++set -e ++ ++#EXTRA# ++ ++php_enable() { return 0; } ++ ++if [ "$1" = "remove" ]; then ++ if [ -e /usr/lib/php/php-maintscript-helper ]; then ++ . /usr/lib/php/php-maintscript-helper ++ ++ mods=$(phpquery -M -v @PHP_VERSION@) ++ for mod in $mods; do ++ php_invoke dismod @PHP_VERSION@ @sapi@ $mod ++ done ++ else ++ for mod in /etc/php/@PHP_VERSION@/@sapi@/conf.d/*.ini; do ++ rm -f $mod ++ for ext in '~' '%' .bak .ucf-new .ucf-old .ucf-dist; do ++ rm -f $mod$ext ++ done ++ done ++ fi ++fi ++ ++#DEBHELPER# ++ ++exit 0 diff --cc debian/php-sapi.triggers index 00000000,00000000..8a0ccc56 new file mode 100644 --- /dev/null +++ b/debian/php-sapi.triggers @@@ -1,0 -1,0 +1,2 @@@ ++interest-noawait /etc/php/@PHP_VERSION@/@sapi@/conf.d ++#EXTRA# diff --cc debian/php-snmp.substvars.extra index 00000000,00000000..8e41a003 new file mode 100644 --- /dev/null +++ b/debian/php-snmp.substvars.extra @@@ -1,0 -1,0 +1,1 @@@ ++php-snmp:Recommends=snmp diff --cc debian/php-xml.postinst.extra index 00000000,00000000..526e8aef new file mode 100644 --- /dev/null +++ b/debian/php-xml.postinst.extra @@@ -1,0 -1,0 +1,7 @@@ ++if [ "$1" = "configure" ] && [ -n "$2" ]; then ++ for sapi in $(phpquery -v @PHP_VERSION@ -S); do ++ if [ -h /etc/php/@PHP_VERSION@/$sapi/conf.d/20-xml.ini ]; then ++ rm /etc/php/@PHP_VERSION@/$sapi/conf.d/20-xml.ini; ++ fi ++ done ++fi diff --cc debian/php-xml.substvars.extra index 00000000,00000000..93fb4dfa new file mode 100644 --- /dev/null +++ b/debian/php-xml.substvars.extra @@@ -1,0 -1,0 +1,2 @@@ ++php-xml:Breaks=php@PHP_VERSION@-xsl (<< 7.0.3-6~) ++php-xml:Replaces=php@PHP_VERSION@-xsl (<< 7.0.3-6~) diff --cc debian/php.bug-control index 00000000,00000000..24f0c5d6 new file mode 100644 --- /dev/null +++ b/debian/php.bug-control @@@ -1,0 -1,0 +1,1 @@@ ++Submit-As: php@PHP_VERSION@-common diff --cc debian/php.conf index 00000000,00000000..812eb046 new file mode 100644 --- /dev/null +++ b/debian/php.conf @@@ -1,0 -1,0 +1,27 @@@ ++# Using (?:pattern) instead of (pattern) is a small optimization that ++# avoid capturing the matching pattern (as $1) which isn't used here ++ ++ SetHandler application/x-httpd-php ++ ++ ++ SetHandler application/x-httpd-php-source ++ # Deny access to raw php sources by default ++ # To re-enable it's recommended to enable access to the files ++ # only in specific virtual host or directory ++ Require all denied ++ ++# Deny access to files without filename (e.g. '.php') ++ ++ Require all denied ++ ++ ++# Running PHP scripts in user directories is disabled by default ++# ++# To re-enable PHP in user directories comment the following lines ++# (from to .) Do NOT set it to On as it ++# prevents .htaccess files from disabling it. ++ ++ ++ php_admin_flag engine Off ++ ++ diff --cc debian/php.load index 00000000,00000000..2ae07665 new file mode 100644 --- /dev/null +++ b/debian/php.load @@@ -1,0 -1,0 +1,3 @@@ ++# Conflicts: php5 ++# Depends: mpm_prefork ++LoadModule php_module /usr/lib/apache2/modules/libphp@PHP_VERSION@.so diff --cc debian/phpapi index 00000000,00000000..f4255371 new file mode 100644 --- /dev/null +++ b/debian/phpapi @@@ -1,0 -1,0 +1,1 @@@ ++20240924 diff --cc debian/phpdbg.1 index 00000000,00000000..b697fb29 new file mode 100644 --- /dev/null +++ b/debian/phpdbg.1 @@@ -1,0 -1,0 +1,59 @@@ ++.TH PHP5DBG 1 ++.SH NAME ++php5dbg \- The interactive PHP debugger ++.SH SYNOPSIS ++.B php5dbg ++[OPTION] ++[\fB\-e\fIFILE\fR] ++.SH DESCRIPTION ++.B php5dbg ++a lightweight, powerful, easy to use debugging platform for PHP5. ++.SH OPTIONS ++The following switches are implemented (just like cli SAPI): ++.TP ++.BR \-n ++No \fBphp.ini\fR file will be used ++.TP ++.BR \-c \fIpath\fB|\fIfile\fR ++Look for \fBphp.ini\fR file in the directory \fIpath\fR or use the specified \fIfile\fR ++.TP ++.BR \-z \fIfile\fR ++Load Zend extension \fIfile\fR ++.TP ++.BR \-d \fIfoo\fB[=\fIbar\fB]\fR ++Define INI entry \fIfoo\fR with value \fIbar\fR ++.PP The following switches change the default behaviour of phpdbg: ++.TP ++.BR \-v ++Disables quietness ++.TP ++.BR \-s ++Enabled stepping ++.TP ++.BR -e \fIfile\fR ++Sets execution context ++.TP ++.BR \-b ++Disables use of colour on the console ++.TP ++.BR \-I ++Ignore .phpdbginit (default init file) ++.TP ++.BR \-i \fIpath\fB|\ffile\fR ++Override .phpgdbinit location (implies -I) ++.TP ++.BR \-O \fIfile\fR ++Set oplog output to \fIfile\fR ++.TP ++.BR \-q ++Do not print banner on startup ++.TP ++.BR \-r ++Jump straight to run ++.TP ++.BR \-E ++Enable step through eval() ++.SH NOTES ++Passing -rr will cause phpdbg to quit after execution, rather than returning to the console ++.SH AUTHOR ++This manual pages was written by Ondrej Sury for Debian project. diff --cc debian/prepare-files index 00000000,00000000..e0ef78f2 new file mode 100644 --- /dev/null +++ b/debian/prepare-files @@@ -1,0 -1,0 +1,33 @@@ ++PEAR-Builder-print-info-about-php@PHP_VERSION@-dev.patch ++php@PHP_VERSION@.bug-control ++php@PHP_VERSION@-cgi.conf ++php@PHP_VERSION@-cli.links ++php@PHP_VERSION@-common.dirs.extra ++php@PHP_VERSION@-common.docs ++php@PHP_VERSION@-common.lintian-overrides.extra ++php@PHP_VERSION@-common.preinst.extra ++php@PHP_VERSION@-common.README.Debian ++php@PHP_VERSION@-common.substvars.extra ++php@PHP_VERSION@.conf ++php@PHP_VERSION@-curl.substvars.extra ++php@PHP_VERSION@dbg.1 ++php@PHP_VERSION@-dev.dirs ++php@PHP_VERSION@-dev.files ++php@PHP_VERSION@-dev.install ++php@PHP_VERSION@-dev.lintian-overrides ++php@PHP_VERSION@-dev.postinst ++php@PHP_VERSION@-dev.prerm ++php@PHP_VERSION@-fpm.conf ++php@PHP_VERSION@-fpm.init ++php@PHP_VERSION@-fpm.logrotate ++php@PHP_VERSION@-fpm-reopenlogs ++php@PHP_VERSION@-fpm.service ++php@PHP_VERSION@-fpm.tmpfile ++php@PHP_VERSION@-fpm.maintscript ++php@PHP_VERSION@.load ++php@PHP_VERSION@-xml.substvars.extra ++php@PHP_VERSION@-xml.postinst.extra ++php@PHP_VERSION@-snmp.substvars.extra ++php@PHP_VERSION@-cgi.NEWS ++php@PHP_VERSION@-fpm.NEWS ++libapache2-mod-php@PHP_VERSION@.NEWS diff --cc debian/rules index 00000000,00000000..2378b694 new file mode 100755 --- /dev/null +++ b/debian/rules @@@ -1,0 -1,0 +1,615 @@@ ++#!/usr/bin/make -f ++ ++# Uncomment this to turn on verbose mode. ++export DH_VERBOSE=1 ++ ++# This has to be exported to make some magic below work. ++export DH_OPTIONS ++ ++# Hardcode correct absolute path to sed ++export ac_cv_path_SED = $(shell command -v sed) ++ ++SANE_ARCHS := amd64 i386 arm64 ++ ++# Enable parallel builds ++PARALLEL=--parallel ++ ++# Enable this for debugging the sed scripts ++#SED=$(CURDIR)/debian/sedsed ++export SED := /bin/sed ++ ++# Make the shell scripts fail after first failed command (important for SAPI loops) ++SHELL := /bin/sh -e ++ ++# enable dpkg build flags ++export DEB_BUILD_MAINT_OPTIONS = hardening=+all optimize=-lto ++DPKG_EXPORT_BUILDFLAGS = 1 ++include /usr/share/dpkg/default.mk ++ ++export PHP_BUILD_PROVIDER ?= Debian ++ ++export DEB_HOST_MULTIARCH ++PHP_SOURCE_VERSION := $(DEB_VERSION) ++PHP_UPSTREAM_VERSION := $(DEB_VERSION_UPSTREAM) ++PHP_DEBIAN_REVISION := $(shell echo $(PHP_SOURCE_VERSION) | $(SED) -e 's/.*-//') ++PHP_DFSG_VERSION := $(shell echo $(PHP_UPSTREAM_VERSION) | $(SED) -e 's/+.*//') ++PHP_MAJOR_VERSION := $(shell echo $(PHP_DFSG_VERSION) | awk -F. '{print $$1}') ++PHP_MINOR_VERSION := $(shell echo $(PHP_DFSG_VERSION) | awk -F. '{print $$2}') ++PHP_RELEASE_VERSION := $(shell echo $(PHP_DFSG_VERSION) | awk -F. '{print $$3}') ++ ++ICU_VERSION := $(shell dpkg -s libicu-dev | sed -ne 's/^Version: \(.*\)$$/\1/p') ++ ++ifeq ($(shell dpkg --compare-versions $(ICU_VERSION) ge 75;echo $$?),0) ++export ICU_CXXFLAGS := -std=c++17 ++else ++export ICU_CXXFLAGS := -std=c++11 ++endif ++ ++# Enable ZTS build if $(DEB_SOURCE) ends with -zts ++ZTS=$(shell echo $(DEB_SOURCE) | sed 's/php$(PHP_MAJOR_VERSION).$(PHP_MINOR_VERSION)//') ++ifeq ($(ZTS),-zts) ++$(warning Enabling ZTS build) ++CONFIGURE_ZTS := --enable-maintainer-zts ++endif ++ ++PHP_NAME_VERSION := $(PHP_MAJOR_VERSION).$(PHP_MINOR_VERSION)$(ZTS) ++PHP_ZEND_VERSION := $(shell $(SED) -ne 's/\#define ZEND_MODULE_API_NO //p' Zend/zend_modules.h)$(ZTS) ++ ++ifneq ($(DEB_SOURCE),php$(PHP_NAME_VERSION)) ++$(error $(DEB_SOURCE) != php$(PHP_NAME_VERSION)) ++endif ++REAL_TARGETS := apache2 phpdbg embed fpm cgi cli ++EXTRA_TARGETS := ext ++TARGETS := $(EXTRA_TARGETS) $(REAL_TARGETS) ++ ++# Special package names ++PHP_PHP := php$(PHP_NAME_VERSION) ++PHP_COMMON := php$(PHP_NAME_VERSION)-common ++PHP_FPM := php$(PHP_NAME_VERSION)-fpm ++PHP_LIBEMBED := libphp$(PHP_NAME_VERSION)-embed ++PHP_DEV := php$(PHP_NAME_VERSION)-dev ++PHP_APACHE2 := libapache2-mod-php$(PHP_NAME_VERSION) ++PHP_CGI := php$(PHP_NAME_VERSION)-cgi ++PHP_CLI := php$(PHP_NAME_VERSION)-cli ++PHP_PHPDBG := php$(PHP_NAME_VERSION)-phpdbg ++ ++# Generic commands ++ ++SED_VARIABLES := \ ++ $(SED) -e "s,@sapi@,$${sapi},g" |\ ++ $(SED) -e "s,@package@,$${package},g" |\ ++ $(SED) -e "s,@extensions@,$${extensions},g" |\ ++ $(SED) -e "s,@module@,$${module},g" |\ ++ $(SED) -e "s,@extdir@,$${extdir},g" |\ ++ $(SED) -e "s,@priority@,$${priority},g" |\ ++ $(SED) -e "s,@PHP_VERSION@,$(PHP_NAME_VERSION),g" |\ ++ $(SED) -e "s,@PHP_MAJOR@,$(PHP_MAJOR_VERSION),g" |\ ++ $(SED) -e "s,@PHP_MINOR@,$(PHP_MINOR_VERSION),g" |\ ++ $(SED) -e "s,@PHP_RELEASE@,$(PHP_RELEASE_VERSION),g" |\ ++ $(SED) -e "s,@PHP_API@,$(PHP_ZEND_VERSION),g" ++ ++SED_REPLACEMENT := $(SED) -e "/\#EXTRA\#/ r debian/$${versionless}.$${tmpl}.extra" | $(SED_VARIABLES) | $(SED) -e '/\#EXTRA\#/ d' ++ ++SAPI_PACKAGE := \ ++ case $${sapi} in \ ++ embed) package=$(PHP_LIBEMBED); source=libphp-$${sapi} ;; \ ++ apache2) package=$(PHP_APACHE2); source=libapache2-mod-php ;; \ ++ *) package=php$(PHP_NAME_VERSION)-$${sapi}; source=php-$${sapi} ;; \ ++ esac; \ ++ versionless=$$(echo $${package} | $(SED) -e 's/$(PHP_NAME_VERSION)//g'); ++ ++MODULE_PACKAGE := \ ++ package=php$(PHP_NAME_VERSION)-$${module}; \ ++ versionless=$$(echo $${package} | $(SED) -e 's/$(PHP_NAME_VERSION)//g'); ++ ++LIBTOOL_VERSION := $(shell dpkg-query -f'$${Version}' -W libtool) ++ ++# Disable the test now ++RUN_TESTS := yes ++ifeq (nocheck,$(filter nocheck,$(DEB_BUILD_PROFILES))) ++ $(warning Disabling tests due DEB_BUILD_PROFILES) ++ DEB_BUILD_OPTIONS += nocheck ++ RUN_TESTS := no ++else ++ ifeq (nocheck,$(filter nocheck,$(DEB_BUILD_OPTIONS))) ++ $(warning Disabling tests due DEB_BUILD_OPTIONS) ++ RUN_TESTS := no ++ endif ++endif ++ifeq (,$(filter $(DEB_HOST_ARCH),$(SANE_ARCHS))) ++ $(warning Disabling checks on $(DEB_HOST_ARCH)) ++ RUN_TESTS := no ++endif ++ ++CONFIGURE_PCRE_JIT := ++ifeq (,$(filter $(DEB_HOST_ARCH),$(SANE_ARCHS))) ++ CONFIGURE_PCRE_JIT := --without-pcre-jit ++endif ++ ++ifeq ($(DEB_HOST_ARCH_OS),linux) ++ CONFIGURE_SYSTEMD := --with-fpm-systemd ++ CONFIGURE_APPARMOR := --with-fpm-apparmor ++endif ++ ++# specify some options to our patch system ++QUILT_DIFF_OPTS := -p ++QUILT_NO_DIFF_TIMESTAMPS := 1 ++export QUILT_DIFF_OPTS QUILT_NO_DIFF_TIMESTAMPS ++ ++export PROG_SENDMAIL := /usr/sbin/sendmail ++ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) ++ DEB_CFLAGS_MAINT_APPEND += -O2 ++else ++ DEB_CFLAGS_MAINT_APPEND += -O0 ++endif ++DEB_CFLAGS_MAINT_APPEND += -Wall -pedantic -fsigned-char -fno-strict-aliasing ++DEB_CFLAGS_MAINT_APPEND += $(shell getconf LFS_CFLAGS) ++ ++# OpenSSL 3.0 support ++DEB_CFLAGS_MAINT_APPEND += -DOPENSSL_SUPPRESS_DEPRECATED ++ ++# Enable IEEE-conformant floating point math on alphas (not the default) ++ifeq (alpha-linux-gnu,$(DEB_HOST_GNU_TYPE)) ++ DEB_CFLAGS_MAINT_APPEND += -mieee ++endif ++ ++ifeq (arm-linux-gnueabihf,$(DEB_HOST_GNU_TYPE)) ++ DEB_CFLAGS_MAINT_APPEND += -mfpu=vfpv3-d16 ++endif ++ ++# Enable producing of debugging information ++DEB_CFLAGS_MAINT_APPEND += -g ++ ++DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed ++ ++export DEB_CFLAGS_MAINT_APPEND ++export DEB_LDFLAGS_MAINT_APPEND ++ ++# some other helpful (for readability at least) shorthand variables ++PHPIZE_BUILDDIR := /usr/lib/php/$(PHP_ZEND_VERSION)/build/ ++ ++COMMON_CONFIG := \ ++ --build=$(DEB_BUILD_GNU_TYPE) \ ++ --host=$(DEB_HOST_GNU_TYPE) \ ++ --config-cache --cache-file=$(CURDIR)/config.cache \ ++ --libdir=\$${prefix}/lib/php \ ++ --libexecdir=\$${prefix}/lib/php \ ++ --datadir=\$${prefix}/share/php/$(PHP_NAME_VERSION) \ ++ --program-suffix=$(PHP_NAME_VERSION) \ ++ --sysconfdir=/etc \ ++ --localstatedir=/var \ ++ --mandir=/usr/share/man \ ++ --disable-all \ ++ --disable-debug \ ++ --disable-rpath \ ++ --disable-static \ ++ --disable-dtrace \ ++ --with-pic \ ++ --with-layout=GNU \ ++ --without-pear \ ++ --enable-filter \ ++ --with-openssl \ ++ --with-password-argon2=/usr \ ++ --with-external-pcre \ ++ --enable-hash \ ++ --with-mhash=/usr \ ++ --with-libxml \ ++ --enable-session \ ++ --with-sodium \ ++ --with-system-tzdata \ ++ --with-zlib=/usr \ ++ --with-zlib-dir=/usr \ ++ $(CONFIGURE_ZTS) \ ++ $(CONFIGURE_PCRE_JIT) ++ ++# disable all SAPIs in extension build ++export ext_config = \ ++ --prefix=/usr --enable-cli --disable-cgi --disable-phpdbg \ ++ --with-config-file-path=/etc/php/$(PHP_NAME_VERSION)/apache2 \ ++ --with-config-file-scan-dir=/etc/php/$(PHP_NAME_VERSION)/apache2/conf.d \ ++ $(COMMON_CONFIG) ++ ++export apache2_config = \ ++ --prefix=/usr --with-apxs2=/usr/bin/apxs2 --enable-cli --disable-cgi --disable-phpdbg \ ++ --with-config-file-path=/etc/php/$(PHP_NAME_VERSION)/apache2 \ ++ --with-config-file-scan-dir=/etc/php/$(PHP_NAME_VERSION)/apache2/conf.d \ ++ $(COMMON_CONFIG) ++ ++export cgi_config = \ ++ --prefix=/usr --enable-cgi --enable-cli --disable-phpdbg \ ++ --enable-force-cgi-redirect --enable-fastcgi \ ++ --with-config-file-path=/etc/php/$(PHP_NAME_VERSION)/cgi \ ++ --with-config-file-scan-dir=/etc/php/$(PHP_NAME_VERSION)/cgi/conf.d \ ++ $(COMMON_CONFIG) \ ++ --enable-pcntl ++ ++export cli_config = \ ++ --prefix=/usr --enable-cli --disable-cgi --disable-phpdbg \ ++ --with-config-file-path=/etc/php/$(PHP_NAME_VERSION)/cli \ ++ --with-config-file-scan-dir=/etc/php/$(PHP_NAME_VERSION)/cli/conf.d \ ++ $(COMMON_CONFIG) \ ++ --enable-pcntl \ ++ --with-libedit=shared,/usr ++ ++export embed_config = \ ++ --prefix=/usr --enable-embed --enable-cli --disable-cgi --disable-phpdbg \ ++ --with-config-file-path=/etc/php/$(PHP_NAME_VERSION)/embed \ ++ --with-config-file-scan-dir=/etc/php/$(PHP_NAME_VERSION)/embed/conf.d \ ++ $(COMMON_CONFIG) \ ++ --without-mm \ ++ --enable-pcntl ++ ++export fpm_config = \ ++ --prefix=/usr --enable-fpm --enable-cli --disable-cgi --disable-phpdbg \ ++ --sysconfdir=/etc/php/$(PHP_NAME_VERSION)/fpm \ ++ --with-fpm-user=www-data --with-fpm-group=www-data \ ++ --with-fpm-acl \ ++ --with-config-file-path=/etc/php/$(PHP_NAME_VERSION)/fpm \ ++ --with-config-file-scan-dir=/etc/php/$(PHP_NAME_VERSION)/fpm/conf.d \ ++ $(COMMON_CONFIG) \ ++ --with-libevent-dir=/usr \ ++ $(CONFIGURE_SYSTEMD) \ ++ $(CONFIGURE_APPARMOR) ++ ++export phpdbg_config = \ ++ --prefix=/usr --enable-phpdbg --enable-cli --disable-cgi \ ++ --with-config-file-path=/etc/php/$(PHP_NAME_VERSION)/phpdbg \ ++ --with-config-file-scan-dir=/etc/php/$(PHP_NAME_VERSION)/phpdbg/conf.d \ ++ $(COMMON_CONFIG) \ ++ --enable-pcntl \ ++ --with-libedit=shared,/usr ++ ++BUILTIN_EXTENSION_CHECK=$$e=get_loaded_extensions(); natcasesort($$e); \ ++ $$s="The following extensions are built in:"; \ ++ foreach($$e as $$i) { $$s .= " $$i"; } \ ++ echo("php:Extensions=" . wordwrap($$s . ".\n", 75, "\$${Newline}")); ++ ++include $(CURDIR)/debian/rules.d/*.mk ++ ++#extensions ++ ++ext_DEBS := $(addprefix php$(PHP_NAME_VERSION)-,$(ext_PACKAGES)) ++ext_EXTENSIONS := $(foreach ext_package,$(ext_PACKAGES),$($(ext_package)_EXTENSIONS)) ++ext_config += $(foreach ext_ext,$(ext_EXTENSIONS),$($(ext_ext)_config)) ++ ++#$(info Enabled packages $(ext_DEBS)) ++#$(info Enabled extensions $(ext_EXTENSIONS)) ++#$(info Enabled config $(ext_config)) ++ ++%: ++ dh $@ --with systemd --with apache2 --without=build-stamp --without autoreconf $(PARALLEL) ++ ++PREPARE_FILES := $(addprefix debian/,$(shell cat debian/prepare-files)) ++ ++prepared: prepared-stamp debian/control debian/source.lintian-overrides ++prepared-stamp: ++ ./buildconf --force ++ touch prepared-stamp ++ ++unprepared: ++ dh_testdir ++ -[ -f ext/ext_skel.in ] && mv ext/ext_skel.in ext/ext_skel ++ rm -f prepared-stamp ++ ++override_dh_auto_clean: unprepared ++ rm -f $(subst @PHP_VERSION@,$(PHP_NAME_VERSION),$(PREPARE_FILES)) ++ ++ rm -rf test-results.txt ++ ++ # clean up autogenerated cruft ++ cat debian/modulelist | while read module extname dsoname priority; do \ ++ $(MODULE_PACKAGE) \ ++ for cruft in postinst preinst prerm postrm; do \ ++ rm -f debian/$${package}.$${cruft}; \ ++ done; \ ++ done ++ ++ extdir=`debian/tmp/usr/bin/php-config$(PHP_NAME_VERSION) --extension-dir | cut -b2- `; \ ++ for sapi in $(REAL_TARGETS); do \ ++ $(SAPI_PACKAGE) \ ++ for cruft in preinst postinst prerm postrm links dirs triggers lintian-overrides; do \ ++ rm -f debian/$${package}.$${cruft}; \ ++ done; \ ++ done ++ ++ # clean build directories ++ for target in $(TARGETS); do \ ++ dh_auto_clean --builddirectory $${target}-build $(PARALLEL); \ ++ rm -rf $${target}-build; \ ++ done ++ ++ # remove shared config.cache ++ rm -f $(CURDIR)/config.cache ++ ++override_dh_auto_configure-indep: ++ ++override_dh_auto_configure-arch: prepared ++ for target in $(TARGETS); do \ ++ dh_auto_configure --builddirectory $${target}-build $(PARALLEL) -- $$(eval echo \$${$${target}_config}); \ ++ done ++ ++override_dh_auto_build-indep: ++ ++override_dh_auto_build-arch: ++ for target in $(TARGETS); do \ ++ dh_auto_build --builddirectory $${target}-build $(PARALLEL); \ ++ done ++ ++override_dh_auto_install: ++ for target in $(TARGETS); do \ ++ dh_auto_install --builddirectory $${target}-build $(PARALLEL) -- install INSTALL_ROOT=$(CURDIR)/debian/tmp; \ ++ done ++ ++PCNTL_FUNCTIONS := $(shell < ext/pcntl/php_pcntl.h $(SED) -ne "/^PHP_FUNCTION/ s/PHP_FUNCTION(\(.*\));/\1/;t end;d;:end p" | tr '\n' ',') ++ ++override_dh_auto_test-indep: ++ ++override_dh_auto_test-arch: test-results.txt ++ ++test-results.txt: ++ifeq (yes,$(RUN_TESTS)) ++ mkdir -p temp_session_store ++ extensions=""; \ ++ for f in $(CURDIR)/ext-build/modules/*.so; do \ ++ ext=`basename "$$f"`; \ ++ test -d "$(CURDIR)/ext/$${ext%.so}/tests" || continue; \ ++ test "$$ext" != "imap.so" || continue; \ ++ test "$$ext" != "interbase.so" || continue; \ ++ test "$$ext" != "ldap.so" || continue; \ ++ test "$$ext" != "odbc.so" || continue; \ ++ test "$$ext" != "pgsql.so" || continue; \ ++ test "$$ext" != "pdo_dblib.so" || continue; \ ++ test "$$ext" != "pdo_firebird.so" || continue; \ ++ test "$$ext" != "pdo_odbc.so" || continue; \ ++ test "$$ext" != "pdo_pgsql.so" || continue; \ ++ test "$$ext" != "snmp.so" || continue; \ ++ test "$$ext" != "opcache.so" || continue; \ ++ test "$$ext" != "mysqlnd.so" || continue; \ ++ test "$$ext" != "mysqli.so" || continue; \ ++ test "$$ext" != "pdo_mysql.so" || continue; \ ++ test "$$ext" != "wddx.so" || continue; \ ++ extensions="$$extensions -d extension=$$ext"; \ ++ done; \ ++ [ "$$extensions" ] || { echo "extensions list is empty"; exit 1; }; \ ++ env NO_INTERACTION=1 \ ++ TEST_PHP_CGI_EXECUTABLE=$(CURDIR)/cgi-build/sapi/php-cgi \ ++ TEST_PHP_EXECUTABLE=$(CURDIR)/cli-build/sapi/cli/php \ ++ $(CURDIR)/cli-build/sapi/cli/php run-tests.php \ ++ -n \ ++ -d extension_dir=$(CURDIR)/ext-build/modules/ \ ++ $$extensions | \ ++ tee test-results.txt ++ rm -rf temp_session_store ++ @for test in `find . -name '*.log' -a '!' -name 'config.log' -a '!' -name 'bootstrap.log' -a '!' -name 'run.log'`; do \ ++ echo; \ ++ echo -n "$${test#./}:"; \ ++ cat $$test; \ ++ echo; \ ++ done | tee -a test-results.txt ++else ++ echo 'nocheck found in DEB_BUILD_OPTIONS or unsupported architecture' | tee test-results.txt ++endif ++ ++prepare-files-stamp: ++ # Do this first so we don't overwrite any debhelper-generated files ++ # ++ # generate versioned files from versionless variants ++ for file in $(PREPARE_FILES); do \ ++ versionless=$$(echo $$file | $(SED) -e 's/@PHP_VERSION@//g'); \ ++ versioned=$$(echo $$file | $(SED) -e 's/@PHP_VERSION@/$(PHP_NAME_VERSION)/g'); \ ++ package=$$(echo $$file | $(SED) -e 's,^debian/,,;s/\..*$$//;s/@PHP_VERSION@/$(PHP_NAME_VERSION)/g'); \ ++ < $${versionless} $(SED_REPLACEMENT) > $${versioned}; \ ++ if [ -x $${versionless} ]; then chmod +x $${versioned}; fi; \ ++ done ++ # generate config snippets and maintscripts for the different sapi implementations ++ # from the templates ++ for sapi in $(REAL_TARGETS); do \ ++ $(SAPI_PACKAGE) \ ++ mkdir -p "debian/tmp/usr/lib/php/$(PHP_NAME_VERSION)/sapi/"; \ ++ touch "debian/tmp/usr/lib/php/$(PHP_NAME_VERSION)/sapi/$${sapi}"; \ ++ for tmpl in postrm prerm postinst dirs install triggers bug-script bug-control; do \ ++ < debian/php-sapi.$${tmpl} $(SED_REPLACEMENT) > debian/$${package}.$${tmpl}; \ ++ if [ -x debian/php-sapi.$${tmpl} ]; then chmod +x debian/$${package}.$${tmpl}; fi; \ ++ done; \ ++ < debian/php-sapi.lintian-overrides $(SED_REPLACEMENT) | grep -E "^$${package}" > debian/$${package}.lintian-overrides; \ ++ done ++ ++ for module in $(ext_PACKAGES); do \ ++ package=php$(PHP_NAME_VERSION)-$${module}; \ ++ extensions=$$(eval echo \$${$${module}_EXTENSIONS}); \ ++ description=$$(eval echo \$${$${module}_DESCRIPTION}); \ ++ for tmpl in preinst postinst postrm prerm bug-script bug-control triggers dirs substvars lintian-overrides; do \ ++ < debian/php-module.$${tmpl}.in \ ++ $(SED) -e "/\#EXTRA\#/ r debian/$${package}.$${tmpl}.extra" | \ ++ $(SED) -e "s,@package@,$${package},g" \ ++ -e "s,@extensions@,$${extensions},g" \ ++ -e "s,@module@,$${module},g" \ ++ -e "s|@description@|$${description}|g" \ ++ -e "s,@PHP_VERSION@,$(PHP_NAME_VERSION),g" \ ++ -e "s,@PHP_API@,$${phpapi},g" | \ ++ $(SED) -e '/\#EXTRA\#/ d' \ ++ > debian/$${package}.$${tmpl}; \ ++ done; \ ++ provides=""; \ ++ for dsoname in $${extensions}; do \ ++ normalized=$$(echo $${dsoname} | sed -e 's/_/-/g'); \ ++ priority=$$(eval echo \$${$${dsoname}_PRIORITY}); \ ++ if [ -z "$${priority}" ]; then priority=20; fi; \ ++ extension=$$(eval echo \$${$${dsoname}_EXTENSION}); \ ++ if [ -z "$${extension}" ]; then extension=extension; fi; \ ++ mkdir -p debian/tmp/usr/share/$${package}/$${module}/; \ ++ $(SED) -e "s,@extname@,$${module}," \ ++ -e "s,@dsoname@,$${dsoname}," \ ++ -e "s,@extension@,$${extension}," \ ++ -e "s,@priority@,$${priority}," \ ++ < debian/php-module.ini.in \ ++ > debian/tmp/usr/share/$${package}/$${module}/$${dsoname}.ini; \ ++ echo "usr/lib/php/*/$${dsoname}.so" >> debian/$${package}.install; \ ++ echo "usr/share/$${package}/$${module}/$${dsoname}.ini" >> debian/$${package}.install; \ ++ if [ "$${normalized}" = "opcache" ]; then echo "opcache.jit=off" >> debian/tmp/usr/share/$${package}/$${module}/$${dsoname}.ini; fi; \ ++ if [ "$${normalized}" != "gettext" ]; then provides="php-$${normalized}, $${provides}"; fi; \ ++ if [ "$${module}" != "$${normalized}" ]; then provides="php$(PHP_NAME_VERSION)-$${normalized}, $${provides}"; fi; \ ++ done; \ ++ echo "php-$${module}:Provides=$${provides}" >> debian/$${package}.substvars; \ ++ done ++ touch prepare-files-stamp ++ ++remove-files-stamp: ++ # get rid of dreaded libtool files ++ find debian/tmp/ -name '*.la' -delete ++ # get rid of static versions of PHP modules (WTF?) ++ rm -f debian/tmp/usr/lib/php/$(PHP_ZEND_VERSION)/*.a ++ ++ rm -rf \ ++ debian/tmp/.filemap \ ++ debian/tmp/.channels \ ++ debian/tmp/.lock \ ++ debian/tmp/.depdb* \ ++ debian/tmp/usr/bin/pear* \ ++ debian/tmp/usr/bin/pecl* \ ++ debian/tmp/usr/share/php/.filemap \ ++ debian/tmp/usr/share/php/.lock \ ++ debian/tmp/usr/share/php/.depdb* \ ++ debian/tmp/usr/share/php/*.php \ ++ debian/tmp/usr/share/php/.registry/ \ ++ debian/tmp/usr/share/php/.channels/ \ ++ debian/tmp/usr/share/php/doc/ \ ++ debian/tmp/usr/share/php/Archive/ \ ++ debian/tmp/usr/share/php/Console/ \ ++ debian/tmp/usr/share/php/Structures/ \ ++ debian/tmp/usr/share/php/test/ \ ++ debian/tmp/usr/share/php/XML/ \ ++ debian/tmp/usr/share/php/OS/ \ ++ debian/tmp/usr/share/php/PEAR/ \ ++ debian/tmp/usr/share/php/data/ \ ++ debian/tmp/etc/pear.conf ++ # shipping duplicate files from other packages is hell for security audits ++ rm -f \ ++ debian/tmp$(PHPIZE_BUILDDIR)/config.guess \ ++ debian/tmp$(PHPIZE_BUILDDIR)/config.sub \ ++ debian/tmp$(PHPIZE_BUILDDIR)/libtool.m4 \ ++ debian/tmp$(PHPIZE_BUILDDIR)/pkg.m4 \ ++ debian/tmp$(PHPIZE_BUILDDIR)/ltmain.sh \ ++ debian/tmp$(PHPIZE_BUILDDIR)/shtool ++ touch remove-files-stamp ++ ++override_dh_installdirs: prepare-files-stamp ++ dh_installdirs ++ ++override_dh_install-arch: remove-files-stamp prepare-fpm-pools ++# Rename Apache2 SAPI ++ mv -u debian/tmp/usr/lib/apache2/modules/libphp.so debian/tmp/usr/lib/apache2/modules/libphp$(PHP_NAME_VERSION).so ++# Rename embed SAPI ++ mv -u debian/tmp/usr/lib/php/libphp.so debian/tmp/usr/lib/libphp$(PHP_NAME_VERSION).so ++# Install extra CGI-BIN ++ install -d -m 755 debian/tmp/usr/lib/cgi-bin/ ++ ln debian/tmp/usr/bin/php-cgi$(PHP_NAME_VERSION) debian/tmp/usr/lib/cgi-bin/php$(PHP_NAME_VERSION) ++ ++ dh_install --fail-missing ++ ++# Install a helper script for checking PHP FPM configuration ++ mkdir -p debian/$(PHP_FPM)/usr/lib/php/ ++ install -m 755 debian/$(PHP_FPM)-reopenlogs debian/$(PHP_FPM)/usr/lib/php/ ++ ++ # sanitize php.ini files ++ mkdir -p debian/$(PHP_COMMON)/usr/lib/php/$(PHP_NAME_VERSION)/ ++ cat php.ini-production | tr "\t" " " | \ ++ $(SED) -e'/disable_functions =/ s/$$/ $(PCNTL_FUNCTIONS)/g;' \ ++ -e'/expose_php =/ s/On/Off/g;' \ ++ > debian/$(PHP_COMMON)/usr/lib/php/$(PHP_NAME_VERSION)/php.ini-production ++ ++ cat php.ini-production | tr "\t" " " | \ ++ $(SED) -e'/memory_limit =/ s/128M/-1/g;' \ ++ > debian/$(PHP_COMMON)/usr/lib/php/$(PHP_NAME_VERSION)/php.ini-production.cli ++ ++ cat php.ini-development | tr "\t" " " | \ ++ $(SED) -e'/disable_functions =/ s/$$/ $(PCNTL_FUNCTIONS)/g;' \ ++ > debian/$(PHP_COMMON)/usr/lib/php/$(PHP_NAME_VERSION)/php.ini-development ++ ++ifeq (yes,$(RUN_TESTS)) ++ mkdir -p debian/$(PHP_COMMON)/usr/share/doc/$(PHP_COMMON)/ ++endif ++ ++ $(SED) -i \ ++ -e's@[[:space:]]*'"'"'-ffile-prefix-map=[^'"'"']*'"'"'@@g' \ ++ -e's@[[:space:]]*'"'"'-fdebug-prefix-map=[^'"'"']*'"'"'@@g' \ ++ -e's@-ffile-prefix-map=[^ ]*[ ]*@@g' \ ++ -e's@-fdebug-prefix-map=[^ ]*[ ]*@@g' \ ++ -e's@$(CURDIR)@/tmp/buildd/nonexistent@g' \ ++ debian/$(PHP_DEV)/usr/include/php/*/main/build-defs.h \ ++ debian/$(PHP_DEV)/usr/bin/php-config$(PHP_NAME_VERSION) ++ ++override_dh_installinit: ++ dh_installinit --restart-after-upgrade ++ ++override_dh_systemd_start: ++ dh_systemd_start --restart-after-upgrade ++ ++override_dh_apache2: ++ for sapi in apache2 cgi fpm; do \ ++ $(SAPI_PACKAGE) \ ++ < debian/$${versionless}.apache2 $(SED_REPLACEMENT) > debian/$${package}.apache2; \ ++ done ++ dh_apache2 --conditional=php_enable ++ ++override_dh_installdocs-indep: ++ dh_installdocs -i ++ ++override_dh_installdocs-arch: ++ dh_installdocs -p$(PHP_COMMON) ++ dh_installdocs -a --remaining-packages --link-doc=$(PHP_COMMON) ++ ++override_dh_compress: ++ dh_compress -Xphp.ini ++ ++override_dh_installchangelogs-arch: ++ dh_installchangelogs -a -p$(PHP_COMMON) NEWS ++ ++override_dh_installchangelogs-indep: ++ dh_installchangelogs -i NEWS ++ ++override_dh_strip: ++ dh_strip --dbgsym-migration='php$(PHP_NAME_VERSION)-dbg' || dh_strip ++ ++override_dh_makeshlibs-arch: ++ dh_makeshlibs -a -p$(PHP_LIBEMBED) -V '$(PHP_LIBEMBED) (>= $(PHP_MAJOR_VERSION).$(PHP_MINOR_VERSION))' ++ ++override_dh_gencontrol-arch: ++ # Bail-out if PHPAPI has changed ++ stored=$$(cat debian/phpapi); \ ++ for sapi in $(REAL_TARGETS); do \ ++ $(SAPI_PACKAGE) \ ++ $${sapi}-build/sapi/cli/php -n -r '$(BUILTIN_EXTENSION_CHECK)' \ ++ >> debian/$${package}.substvars; \ ++ phpapi=$$(sh $${sapi}-build/scripts/php-config --phpapi); \ ++ if [ "$${phpapi}" != "$${stored}" ]; then \ ++ echo "PHPAPI has changed from $${stored} to $${phpapi}, please modify debian/phpapi"; \ ++ exit 1; \ ++ fi; \ ++ echo "php:Provides=phpapi-$${phpapi}" >> debian/$${package}.substvars; \ ++ done; \ ++ if dpkg --compare-versions $(LIBTOOL_VERSION) gt 2.4.6-0.1~; then \ ++ echo "libtool:Depends=libtool (>= 2.4.6-0.1~)" >> debian/php$(PHP_NAME_VERSION)-dev.substvars; \ ++ else \ ++ echo "libtool:Depends=libtool" >> debian/php$(PHP_NAME_VERSION)-dev.substvars; \ ++ fi ++ dh_gencontrol -a ++ ++debian/control: debian/control.in debian/rules debian/changelog debian/source.lintian-overrides debian/rules.d/* debian/php-module.control.in ++ $(SED) -e "s/@PHP_VERSION@/$(PHP_NAME_VERSION)/g" -e "s/@BUILT_USING@/$(BUILT_USING)/g" >$@ <$< ++ for ext in $(sort $(ext_PACKAGES)); do \ ++ package=php$(PHP_NAME_VERSION)-$${ext}; \ ++ description=$$(eval echo \$${$${ext}_DESCRIPTION}); \ ++ echo >>$@; \ ++ $(SED) -e "s|@ext@|$${ext}|" -e "s|@package@|$${package}|" -e "s|@description@|$${description}|" >>$@ debian/tests/$${t}; \ ++ done ++ ++debian/source.lintian-overrides: debian/source.lintian-overrides.in debian/rules debian/changelog ++ $(SED) -e "s/@PHP_VERSION@/$(PHP_NAME_VERSION)/g" >$@ <$< ++ ++.PHONY: prepared unprepared debian/control debian/source.lintian-overrides diff --cc debian/rules.d/ext-bcmath.mk index 00000000,00000000..6673ced1 new file mode 100644 --- /dev/null +++ b/debian/rules.d/ext-bcmath.mk @@@ -1,0 -1,0 +1,6 @@@ ++ext_PACKAGES += bcmath ++bcmath_DESCRIPTION := Bcmath ++bcmath_EXTENSIONS := bcmath ++bcmath_config = --enable-bcmath=shared ++export bcmath_EXTENSIONS ++export bcmath_DESCRIPTION diff --cc debian/rules.d/ext-bz2.mk index 00000000,00000000..1666467e new file mode 100644 --- /dev/null +++ b/debian/rules.d/ext-bz2.mk @@@ -1,0 -1,0 +1,6 @@@ ++ext_PACKAGES += bz2 ++bz2_DESCRIPTION := bzip2 ++bz2_EXTENSIONS := bz2 ++bz2_config := --with-bz2=shared,/usr ++export bz2_EXTENSIONS ++export bz2_DESCRIPTION diff --cc debian/rules.d/ext-common.mk index 00000000,00000000..3719047d new file mode 100644 --- /dev/null +++ b/debian/rules.d/ext-common.mk @@@ -1,0 -1,0 +1,24 @@@ ++ext_PACKAGES += common ++common_DESCRIPTION := documentation, examples and common ++common_EXTENSIONS := calendar ctype exif fileinfo ffi ftp gettext iconv pdo phar posix shmop sockets sysvmsg sysvsem sysvshm tokenizer ++calendar_config = --enable-calendar=shared ++ctype_config = --enable-ctype=shared ++exif_config = --enable-exif=shared ++fileinfo_config = --enable-fileinfo=shared ++ffi_config = --with-ffi=shared ++ftp_config = --enable-ftp=shared --with-openssl-dir=/usr ++gettext_config = --with-gettext=shared,/usr ++iconv_config = --with-iconv=shared ++pdo_config = --enable-pdo=shared ++pdo_PRIORITY := 10 ++phar_config = --enable-phar=shared ++posix_config = --enable-posix=shared ++shmop_config = --enable-shmop=shared ++sockets_config = --enable-sockets=shared ++sysvmsg_config = --enable-sysvmsg=shared ++sysvsem_config = --enable-sysvsem=shared ++sysvshm_config = --enable-sysvshm=shared ++tokenizer_config = --enable-tokenizer=shared ++export pdo_PRIORITY ++export common_EXTENSIONS ++export common_DESCRIPTION diff --cc debian/rules.d/ext-curl.mk index 00000000,00000000..d173ca87 new file mode 100644 --- /dev/null +++ b/debian/rules.d/ext-curl.mk @@@ -1,0 -1,0 +1,6 @@@ ++ext_PACKAGES += curl ++curl_DESCRIPTION := CURL ++curl_EXTENSIONS := curl ++curl_config := --with-curl=shared ++export curl_EXTENSIONS ++export curl_DESCRIPTION diff --cc debian/rules.d/ext-dba.mk index 00000000,00000000..d557e261 new file mode 100644 --- /dev/null +++ b/debian/rules.d/ext-dba.mk @@@ -1,0 -1,0 +1,13 @@@ ++ext_PACKAGES += dba ++dba_DESCRIPTION := DBA ++dba_EXTENSIONS := dba ++dba_config = \ ++ --enable-dba=shared \ ++ --with-db4=/usr \ ++ --without-gdbm \ ++ --with-qdbm=/usr \ ++ --with-lmdb=/usr \ ++ --enable-inifile \ ++ --enable-flatfile ++export dba_EXTENSIONS ++export dba_DESCRIPTION diff --cc debian/rules.d/ext-enchant.mk index 00000000,00000000..1200a34c new file mode 100644 --- /dev/null +++ b/debian/rules.d/ext-enchant.mk @@@ -1,0 -1,0 +1,6 @@@ ++ext_PACKAGES += enchant ++enchant_DESCRIPTION := Enchant ++enchant_EXTENSIONS := enchant ++enchant_config := --with-enchant=shared ++export enchant_EXTENSIONS ++export enchant_DESCRIPTION diff --cc debian/rules.d/ext-gd.mk index 00000000,00000000..07b8ba68 new file mode 100644 --- /dev/null +++ b/debian/rules.d/ext-gd.mk @@@ -1,0 -1,0 +1,8 @@@ ++ext_PACKAGES += gd ++gd_DESCRIPTION := GD ++gd_EXTENSIONS := gd ++gd_config := \ ++ --enable-gd=shared,/usr \ ++ --with-external-gd ++export gd_EXTENSIONS ++export gd_DESCRIPTION diff --cc debian/rules.d/ext-gmp.mk index 00000000,00000000..a5b49daf new file mode 100644 --- /dev/null +++ b/debian/rules.d/ext-gmp.mk @@@ -1,0 -1,0 +1,6 @@@ ++ext_PACKAGES += gmp ++gmp_DESCRIPTION := GMP ++gmp_EXTENSIONS := gmp ++gmp_config := --with-gmp=shared ++export gmp_EXTENSIONS ++export gmp_DESCRIPTION diff --cc debian/rules.d/ext-interbase.mk index 00000000,00000000..cc1a9637 new file mode 100644 --- /dev/null +++ b/debian/rules.d/ext-interbase.mk @@@ -1,0 -1,0 +1,8 @@@ ++ifneq ($(DEB_HOST_ARCH),$(filter $(DEB_HOST_ARCH),hurd-i386 m68k hppa ppc64)) ++ ext_PACKAGES += interbase ++ interbase_DESCRIPTION := Interbase ++ interbase_EXTENSIONS := pdo_firebird ++ pdo_firebird_config := --with-pdo-firebird=shared,/usr ++ export interbase_EXTENSIONS ++ export interbase_DESCRIPTION ++endif diff --cc debian/rules.d/ext-intl.mk index 00000000,00000000..f58f5a49 new file mode 100644 --- /dev/null +++ b/debian/rules.d/ext-intl.mk @@@ -1,0 -1,0 +1,6 @@@ ++ext_PACKAGES += intl ++intl_DESCRIPTION := Internationalisation ++intl_EXTENSIONS := intl ++intl_config := --enable-intl=shared ++export intl_EXTENSIONS ++export intl_DESCRIPTION diff --cc debian/rules.d/ext-ldap.mk index 00000000,00000000..da8d40e8 new file mode 100644 --- /dev/null +++ b/debian/rules.d/ext-ldap.mk @@@ -1,0 -1,0 +1,7 @@@ ++ext_PACKAGES += ldap ++ldap_DESCRIPTION := LDAP ++ldap_EXTENSIONS := ldap ++ldap_config := --with-ldap=shared,/usr \ ++ --with-ldap-sasl ++export ldap_EXTENSIONS ++export ldap_DESCRIPTION diff --cc debian/rules.d/ext-mbstring.mk index 00000000,00000000..6d978c3d new file mode 100644 --- /dev/null +++ b/debian/rules.d/ext-mbstring.mk @@@ -1,0 -1,0 +1,9 @@@ ++ext_PACKAGES += mbstring ++mbstring_DESCRIPTION := MBSTRING ++mbstring_EXTENSIONS := mbstring ++mbstring_config = \ ++ --enable-mbstring=shared \ ++ --enable-mbregex \ ++ --enable-mbregex-backtrack ++export mbstring_EXTENSIONS ++export mbstring_DESCRIPTION diff --cc debian/rules.d/ext-mysql.mk index 00000000,00000000..c635c5c4 new file mode 100644 --- /dev/null +++ b/debian/rules.d/ext-mysql.mk @@@ -1,0 -1,0 +1,10 @@@ ++ext_PACKAGES += mysql ++mysql_DESCRIPTION := MySQL ++mysql_EXTENSIONS := mysqlnd mysqli pdo_mysql ++mysqlnd_config := --enable-mysqlnd=shared --enable-mysqlnd-compression-support --with-zlib-dir=/usr ++mysqli_config := --with-mysqli=shared,mysqlnd --with-mysql-sock=/var/run/mysqld/mysqld.sock ++pdo_mysql_config := --with-pdo-mysql=shared,mysqlnd --with-mysql-sock=/var/run/mysqld/mysqld.sock ++mysqlnd_PRIORITY := 10 ++export mysqlnd_PRIORITY ++export mysql_EXTENSIONS ++export mysql_DESCRIPTION diff --cc debian/rules.d/ext-odbc.mk index 00000000,00000000..0852b1f6 new file mode 100644 --- /dev/null +++ b/debian/rules.d/ext-odbc.mk @@@ -1,0 -1,0 +1,7 @@@ ++ext_PACKAGES += odbc ++odbc_DESCRIPTION := ODBC ++odbc_EXTENSIONS := odbc pdo_odbc ++odbc_config := --with-unixODBC=shared,/usr ++pdo_odbc_config := --with-pdo-odbc=shared,unixODBC,/usr ++export odbc_EXTENSIONS ++export odbc_DESCRIPTION diff --cc debian/rules.d/ext-pgsql.mk index 00000000,00000000..1e62a95c new file mode 100644 --- /dev/null +++ b/debian/rules.d/ext-pgsql.mk @@@ -1,0 -1,0 +1,7 @@@ ++ext_PACKAGES += pgsql ++pgsql_DESCRIPTION := PostgreSQL ++pgsql_EXTENSIONS := pgsql pdo_pgsql ++pgsql_config := --with-pgsql=shared,/usr ++pdo_pgsql_config := --with-pdo-pgsql=shared,/usr ++export pgsql_EXTENSIONS ++export pgsql_DESCRIPTION diff --cc debian/rules.d/ext-readline.mk index 00000000,00000000..15fe5e76 new file mode 100644 --- /dev/null +++ b/debian/rules.d/ext-readline.mk @@@ -1,0 -1,0 +1,6 @@@ ++ext_PACKAGES += readline ++readline_DESCRIPTION := readline ++readline_EXTENSIONS := readline ++readline_config := --with-libedit=shared ++export readline_EXTENSIONS ++export readline_DESCRIPTION diff --cc debian/rules.d/ext-snmp.mk index 00000000,00000000..d6dce4f1 new file mode 100644 --- /dev/null +++ b/debian/rules.d/ext-snmp.mk @@@ -1,0 -1,0 +1,6 @@@ ++ext_PACKAGES += snmp ++snmp_DESCRIPTION := SNMP ++snmp_EXTENSIONS := snmp ++snmp_config := --with-snmp=shared,/usr ++export snmp_EXTENSIONS ++export snmp_DESCRIPTION diff --cc debian/rules.d/ext-soap.mk index 00000000,00000000..4d374c0b new file mode 100644 --- /dev/null +++ b/debian/rules.d/ext-soap.mk @@@ -1,0 -1,0 +1,8 @@@ ++ext_PACKAGES += soap ++soap_DESCRIPTION := SOAP ++soap_EXTENSIONS := soap ++soap_config = \ ++ --enable-soap=shared \ ++ --with-libxml-dir=/usr ++export soap_EXTENSIONS ++export soap_DESCRIPTION diff --cc debian/rules.d/ext-sqlite3.mk index 00000000,00000000..3bfa20a1 new file mode 100644 --- /dev/null +++ b/debian/rules.d/ext-sqlite3.mk @@@ -1,0 -1,0 +1,7 @@@ ++ext_PACKAGES += sqlite3 ++sqlite3_DESCRIPTION := SQLite3 ++sqlite3_EXTENSIONS := sqlite3 pdo_sqlite ++sqlite3_config := --with-sqlite3=shared ++pdo_sqlite_config := --with-pdo-sqlite=shared ++export sqlite3_EXTENSIONS ++export sqlite3_DESCRIPTION diff --cc debian/rules.d/ext-sybase.mk index 00000000,00000000..542398f1 new file mode 100644 --- /dev/null +++ b/debian/rules.d/ext-sybase.mk @@@ -1,0 -1,0 +1,6 @@@ ++ext_PACKAGES += sybase ++sybase_DESCRIPTION := Sybase ++sybase_EXTENSIONS := pdo_dblib ++pdo_dblib_config := --with-pdo-dblib=shared,/usr ++export sybase_EXTENSIONS ++export sybase_DESCRIPTION diff --cc debian/rules.d/ext-tidy.mk index 00000000,00000000..2b0c6786 new file mode 100644 --- /dev/null +++ b/debian/rules.d/ext-tidy.mk @@@ -1,0 -1,0 +1,6 @@@ ++ext_PACKAGES += tidy ++tidy_DESCRIPTION := tidy ++tidy_EXTENSIONS := tidy ++tidy_config := --with-tidy=shared,/usr ++export tidy_EXTENSIONS ++export tidy_DESCRIPTION diff --cc debian/rules.d/ext-xml.mk index 00000000,00000000..edb8b2ef new file mode 100644 --- /dev/null +++ b/debian/rules.d/ext-xml.mk @@@ -1,0 -1,0 +1,13 @@@ ++ext_PACKAGES += xml ++xml_DESCRIPTION := DOM, SimpleXML, XML, and XSL ++xml_EXTENSIONS := dom simplexml xml xmlreader xmlwriter xsl ++dom_config = --enable-dom=shared ++simplexml_config = --enable-simplexml=shared ++xml_config = --enable-xml=shared ++xml_PRIORITY := 15 ++xmlreader_config = --enable-xmlreader=shared ++xmlwriter_config = --enable-xmlwriter=shared ++xsl_config := --with-xsl=shared ++export xml_PRIORITY ++export xml_EXTENSIONS ++export xml_DESCRIPTION diff --cc debian/rules.d/ext-zip.mk index 00000000,00000000..41405d6c new file mode 100644 --- /dev/null +++ b/debian/rules.d/ext-zip.mk @@@ -1,0 -1,0 +1,7 @@@ ++ext_PACKAGES += zip ++zip_DESCRIPTION := Zip ++zip_EXTENSIONS := zip ++zip_config = \ ++ --with-zip=shared ++export zip_EXTENSIONS ++export zip_DESCRIPTION diff --cc debian/rules.d/opcache.mk index 00000000,00000000..11d0adf7 new file mode 100644 --- /dev/null +++ b/debian/rules.d/opcache.mk @@@ -1,0 -1,0 +1,10 @@@ ++ext_PACKAGES += opcache ++opcache_DESCRIPTION := Zend OpCache ++opcache_EXTENSIONS := opcache ++opcache_PRIORITY := 10 ++opcache_EXTENSION := zend_extension ++opcache_config := --enable-opcache --enable-opcache-file --enable-huge-code-pages ++export opcache_EXTENSIONS ++export opcache_DESCRIPTION ++export opcache_PRIORITY ++export opcache_EXTENSION diff --cc debian/rules.d/prepare-fpm-pools.mk index 00000000,00000000..2a598cf1 new file mode 100644 --- /dev/null +++ b/debian/rules.d/prepare-fpm-pools.mk @@@ -1,0 -1,0 +1,43 @@@ ++ifeq ($(PHP_MAJOR_VERSION),5) ++# PHP 5.x version ++# install the FPM configuration files to respective locations and customize them for Debian ++prepare-fpm-pools: ++ mkdir -p debian/$(PHP_FPM)/etc/php/$(PHP_NAME_VERSION)/fpm/ ++ sed -r '/('"'"'|\[)www('"'"'|\])/Q' \ ++ < debian/tmp/etc/php-fpm.conf.default | \ ++ sed -e's,^pid[[:space:]]*=[[:space:]].*,pid = /run/php/$(PHP_FPM).pid,' \ ++ -e's,^error_log[[:space:]]*=[[:space:]].*,error_log = /var/log/$(PHP_FPM).log,' \ ++ -e's,^include[[:space:]]*=[[:space:]]*.*,include=/etc/php/$(PHP_NAME_VERSION)/fpm/pool.d/*.conf,' \ ++ > debian/$(PHP_FPM)/etc/php/$(PHP_NAME_VERSION)/fpm/php-fpm.conf ++ ++ mkdir -p debian/$(PHP_FPM)/etc/php/$(PHP_NAME_VERSION)/fpm/pool.d/ ++ sed -nr '/('"'"'|\[)www('"'"'|\])/{h;p;d};x;/www/{x;p}' \ ++ < debian/tmp/etc/php-fpm.conf.default | \ ++ sed -e's,^listen = .*,listen = /run/php/$(PHP_FPM).sock,' \ ++ -e's{^;listen\.owner{listen.owner{;' \ ++ -e's{^;listen\.group{listen.group{;' \ ++ > debian/$(PHP_FPM)/etc/php/$(PHP_NAME_VERSION)/fpm/pool.d/www.conf ++ ++ rm -f \ ++ debian/tmp/etc/php-fpm.conf.default ++else ++# install the FPM configuration files to respective locations and customize them for Debian ++prepare-fpm-pools: ++ mkdir -p debian/$(PHP_FPM)/etc/php/$(PHP_NAME_VERSION)/fpm/ ++ sed -e's,^pid[[:space:]]*=[[:space:]].*,pid = /run/php/$(PHP_FPM).pid,' \ ++ -e's,^error_log[[:space:]]*=[[:space:]].*,error_log = /var/log/$(PHP_FPM).log,' \ ++ -e's,^include[[:space:]]*=[[:space:]]*.*,include=/etc/php/$(PHP_NAME_VERSION)/fpm/pool.d/*.conf,' \ ++ < debian/tmp/etc/php-fpm.conf.default \ ++ > debian/$(PHP_FPM)/etc/php/$(PHP_NAME_VERSION)/fpm/php-fpm.conf ++ ++ mkdir -p debian/$(PHP_FPM)/etc/php/$(PHP_NAME_VERSION)/fpm/pool.d/ ++ sed -e's,^listen = .*,listen = /run/php/$(PHP_FPM).sock,' \ ++ -e's{^;listen\.owner{listen.owner{;' \ ++ -e's{^;listen\.group{listen.group{;' \ ++ < debian/tmp/etc/php-fpm.d/www.conf.default \ ++ > debian/$(PHP_FPM)/etc/php/$(PHP_NAME_VERSION)/fpm/pool.d/www.conf ++ ++ rm -f \ ++ debian/tmp/etc/php-fpm.conf.default \ ++ debian/tmp/etc/php-fpm.d/www.conf.default ++endif diff --cc debian/sedsed index 00000000,00000000..60493858 new file mode 100755 --- /dev/null +++ b/debian/sedsed @@@ -1,0 -1,0 +1,3 @@@ ++#!/bin/sh ++echo "Calling sed $@..." >&2 ++exec sed "$@" diff --cc debian/source.lintian-overrides index 00000000,00000000..d6a26cb4 new file mode 100644 --- /dev/null +++ b/debian/source.lintian-overrides @@@ -1,0 -1,0 +1,3 @@@ ++php8.4 source: license-problem-json-evil README.REDIST.BINS ++php8.4 source: missing-build-dependency-for-dh_-command dh_systemd_start * ++php8.4 source: source-is-missing ext/standard/tests/image/* diff --cc debian/source.lintian-overrides.in index 00000000,00000000..f0c5d564 new file mode 100644 --- /dev/null +++ b/debian/source.lintian-overrides.in @@@ -1,0 -1,0 +1,3 @@@ ++php@PHP_VERSION@ source: license-problem-json-evil README.REDIST.BINS ++php@PHP_VERSION@ source: missing-build-dependency-for-dh_-command dh_systemd_start * ++php@PHP_VERSION@ source: source-is-missing ext/standard/tests/image/* diff --cc debian/source/format index 00000000,00000000..163aaf8d new file mode 100644 --- /dev/null +++ b/debian/source/format @@@ -1,0 -1,0 +1,1 @@@ ++3.0 (quilt) diff --cc debian/source/include-binaries index 00000000,00000000..5b6eeea5 new file mode 100644 --- /dev/null +++ b/debian/source/include-binaries @@@ -1,0 -1,0 +1,1 @@@ ++debian/patches/use_updated_install-pear-nozlib.phar.patch diff --cc debian/tests.in/cgi index 00000000,00000000..937951f5 new file mode 100644 --- /dev/null +++ b/debian/tests.in/cgi @@@ -1,0 -1,0 +1,32 @@@ ++#!/bin/sh ++set -e ++ ++# Author: Robie Basak ++ ++# /etc/apache2/conf-available/php@PHP_VERSION@-cgi.conf should exist. ++ ++if [ ! -f /etc/apache2/conf-available/php@PHP_VERSION@-cgi.conf ]; then ++ echo "/etc/apache2/conf-available/php@PHP_VERSION@-cgi.conf not found" >&2 ++ exit 1 ++fi ++ ++echo "Action application/x-httpd-php /cgi-bin/php@PHP_VERSION@" >> /etc/apache2/conf-available/php@PHP_VERSION@-cgi.conf ++ ++cat > /var/www/html/hello.php < ++EOT ++ ++# Make sure that any mod_php mechanism is disabled, since we want to get CGI ++# mode here. ++a2dismod php@PHP_VERSION@ 2>/dev/null || true ++ ++# Ensure that fpm is disabled, since we want to get CGI here ++a2dismod proxy-fcgi 2>/dev/null || true ++a2disconf php@PHP_VERSION@ 2>/dev/null || true ++ ++a2enmod actions 2>/dev/null || true ++a2enmod cgi 2>/dev/null || true ++a2enconf php@PHP_VERSION@-cgi 2>/dev/null || true ++service apache2 restart 2>/dev/null ++result=`wget -O- http://localhost/hello.php 2>/dev/null` ++test "$result" = "Hello, world!" diff --cc debian/tests.in/cli index 00000000,00000000..1e38ab97 new file mode 100644 --- /dev/null +++ b/debian/tests.in/cli @@@ -1,0 -1,0 +1,12 @@@ ++#!/bin/sh ++set -e ++ ++# Author: Robie Basak ++ ++cd "$ADTTMP" ++cat > hello.php < ++EOT ++ ++result=`php@PHP_VERSION@ hello.php` ++test "$result" = "Hello, world!" diff --cc debian/tests.in/control index 00000000,00000000..706c6c88 new file mode 100644 --- /dev/null +++ b/debian/tests.in/control @@@ -1,0 -1,0 +1,21 @@@ ++Tests: cli ++Depends: php@PHP_VERSION@-cli, ++ wget ++ ++Tests: cgi ++Depends: apache2, ++ php@PHP_VERSION@-cgi, ++ wget ++Restrictions: needs-root ++ ++Tests: mod-php ++Depends: apache2, ++ libapache2-mod-php@PHP_VERSION@, ++ wget ++Restrictions: needs-root ++ ++Tests: fpm ++Depends: apache2, ++ php@PHP_VERSION@-fpm, ++ wget ++Restrictions: needs-root diff --cc debian/tests.in/fpm index 00000000,00000000..dc77c20b new file mode 100644 --- /dev/null +++ b/debian/tests.in/fpm @@@ -1,0 -1,0 +1,32 @@@ ++#!/bin/sh ++set -e ++ ++# PHP-FPM test based on mod-php test ++# Author: Neal Gompa ++ ++# /etc/apache2/conf-available/php@PHP_VERSION@-fpm.conf should exist. ++ ++if [ ! -f /etc/apache2/conf-available/php@PHP_VERSION@-fpm.conf ]; then ++ echo "/etc/apache2/conf-available/php@PHP_VERSION@-fpm.conf not found" >&2 ++ exit 1 ++fi ++ ++cat > /var/www/html/hello.php < ++EOT ++ ++# Make sure that any CGI mechanism is disabled, since we want to test ++# php-fpm here. ++a2dismod actions 2>/dev/null || true ++a2dismod cgi 2>/dev/null || true ++a2disconf php@PHP_VERSION@-cgi 2>/dev/null || true ++ ++# Ensure that mod_php is disabled ++a2dismod php@PHP_VERSION@ 2>/dev/null || true ++ ++# php-fpm configuration requires mod_proxy_fcgi ++a2enmod proxy_fcgi 2>/dev/null || true ++a2enconf php@PHP_VERSION@-fpm 2>/dev/null || true ++service apache2 restart 2>/dev/null ++result=`wget -O- http://localhost/hello.php 2>/dev/null` ++test "$result" = "Hello, world!" diff --cc debian/tests.in/mod-php index 00000000,00000000..9b822d16 new file mode 100644 --- /dev/null +++ b/debian/tests.in/mod-php @@@ -1,0 -1,0 +1,38 @@@ ++#!/bin/sh ++set -e ++ ++# Author: Robie Basak ++ ++ ++# /etc/apache2/mods-available/php@PHP_VERSION@.{conf,load} should exist. ++ ++if [ ! -f /etc/apache2/mods-available/php@PHP_VERSION@.conf ]; then ++ echo "/etc/apache2/mods-available/php@PHP_VERSION@.conf not found" >&2 ++ exit 1 ++fi ++ ++if [ ! -f /etc/apache2/mods-available/php@PHP_VERSION@.load ]; then ++ echo "/etc/apache2/mods-available/php@PHP_VERSION@.load not found" >&2 ++ exit 1 ++fi ++ ++ ++cat > /var/www/html/hello.php < ++EOT ++ ++# Make sure that any CGI mechanism is disabled, since we want to test mod_php ++# mode here. ++a2dismod actions 2>/dev/null || true ++a2dismod cgi 2>/dev/null || true ++a2disconf php@PHP_VERSION@-cgi 2>/dev/null || true ++ ++# Make sure that fpm configuration is disabled for the same reasons we disabled ++# CGI mechanisms ++a2dismod proxy_fcgi 2>/dev/null || true ++a2disconf php@PHP_VERSION@-fpm 2>/dev/null || true ++ ++a2enmod php@PHP_VERSION@ 2>/dev/null || true ++service apache2 restart 2>/dev/null ++result=`wget -O- http://localhost/hello.php 2>/dev/null` ++test "$result" = "Hello, world!" diff --cc debian/tests/cgi index 00000000,00000000..48d810ef new file mode 100644 --- /dev/null +++ b/debian/tests/cgi @@@ -1,0 -1,0 +1,32 @@@ ++#!/bin/sh ++set -e ++ ++# Author: Robie Basak ++ ++# /etc/apache2/conf-available/php8.4-cgi.conf should exist. ++ ++if [ ! -f /etc/apache2/conf-available/php8.4-cgi.conf ]; then ++ echo "/etc/apache2/conf-available/php8.4-cgi.conf not found" >&2 ++ exit 1 ++fi ++ ++echo "Action application/x-httpd-php /cgi-bin/php8.4" >> /etc/apache2/conf-available/php8.4-cgi.conf ++ ++cat > /var/www/html/hello.php < ++EOT ++ ++# Make sure that any mod_php mechanism is disabled, since we want to get CGI ++# mode here. ++a2dismod php8.4 2>/dev/null || true ++ ++# Ensure that fpm is disabled, since we want to get CGI here ++a2dismod proxy-fcgi 2>/dev/null || true ++a2disconf php8.4 2>/dev/null || true ++ ++a2enmod actions 2>/dev/null || true ++a2enmod cgi 2>/dev/null || true ++a2enconf php8.4-cgi 2>/dev/null || true ++service apache2 restart 2>/dev/null ++result=`wget -O- http://localhost/hello.php 2>/dev/null` ++test "$result" = "Hello, world!" diff --cc debian/tests/cli index 00000000,00000000..763c4249 new file mode 100644 --- /dev/null +++ b/debian/tests/cli @@@ -1,0 -1,0 +1,12 @@@ ++#!/bin/sh ++set -e ++ ++# Author: Robie Basak ++ ++cd "$ADTTMP" ++cat > hello.php < ++EOT ++ ++result=`php8.4 hello.php` ++test "$result" = "Hello, world!" diff --cc debian/tests/control index 00000000,00000000..edf70a6d new file mode 100644 --- /dev/null +++ b/debian/tests/control @@@ -1,0 -1,0 +1,21 @@@ ++Tests: cli ++Depends: php8.4-cli, ++ wget ++ ++Tests: cgi ++Depends: apache2, ++ php8.4-cgi, ++ wget ++Restrictions: needs-root ++ ++Tests: mod-php ++Depends: apache2, ++ libapache2-mod-php8.4, ++ wget ++Restrictions: needs-root ++ ++Tests: fpm ++Depends: apache2, ++ php8.4-fpm, ++ wget ++Restrictions: needs-root diff --cc debian/tests/fpm index 00000000,00000000..0af5e472 new file mode 100644 --- /dev/null +++ b/debian/tests/fpm @@@ -1,0 -1,0 +1,32 @@@ ++#!/bin/sh ++set -e ++ ++# PHP-FPM test based on mod-php test ++# Author: Neal Gompa ++ ++# /etc/apache2/conf-available/php8.4-fpm.conf should exist. ++ ++if [ ! -f /etc/apache2/conf-available/php8.4-fpm.conf ]; then ++ echo "/etc/apache2/conf-available/php8.4-fpm.conf not found" >&2 ++ exit 1 ++fi ++ ++cat > /var/www/html/hello.php < ++EOT ++ ++# Make sure that any CGI mechanism is disabled, since we want to test ++# php-fpm here. ++a2dismod actions 2>/dev/null || true ++a2dismod cgi 2>/dev/null || true ++a2disconf php8.4-cgi 2>/dev/null || true ++ ++# Ensure that mod_php is disabled ++a2dismod php8.4 2>/dev/null || true ++ ++# php-fpm configuration requires mod_proxy_fcgi ++a2enmod proxy_fcgi 2>/dev/null || true ++a2enconf php8.4-fpm 2>/dev/null || true ++service apache2 restart 2>/dev/null ++result=`wget -O- http://localhost/hello.php 2>/dev/null` ++test "$result" = "Hello, world!" diff --cc debian/tests/mod-php index 00000000,00000000..ed7bd5fb new file mode 100644 --- /dev/null +++ b/debian/tests/mod-php @@@ -1,0 -1,0 +1,38 @@@ ++#!/bin/sh ++set -e ++ ++# Author: Robie Basak ++ ++ ++# /etc/apache2/mods-available/php8.4.{conf,load} should exist. ++ ++if [ ! -f /etc/apache2/mods-available/php8.4.conf ]; then ++ echo "/etc/apache2/mods-available/php8.4.conf not found" >&2 ++ exit 1 ++fi ++ ++if [ ! -f /etc/apache2/mods-available/php8.4.load ]; then ++ echo "/etc/apache2/mods-available/php8.4.load not found" >&2 ++ exit 1 ++fi ++ ++ ++cat > /var/www/html/hello.php < ++EOT ++ ++# Make sure that any CGI mechanism is disabled, since we want to test mod_php ++# mode here. ++a2dismod actions 2>/dev/null || true ++a2dismod cgi 2>/dev/null || true ++a2disconf php8.4-cgi 2>/dev/null || true ++ ++# Make sure that fpm configuration is disabled for the same reasons we disabled ++# CGI mechanisms ++a2dismod proxy_fcgi 2>/dev/null || true ++a2disconf php8.4-fpm 2>/dev/null || true ++ ++a2enmod php8.4 2>/dev/null || true ++service apache2 restart 2>/dev/null ++result=`wget -O- http://localhost/hello.php 2>/dev/null` ++test "$result" = "Hello, world!" diff --cc debian/upstream/signing-key.asc index 00000000,00000000..f7a2b1de new file mode 100644 --- /dev/null +++ b/debian/upstream/signing-key.asc @@@ -1,0 -1,0 +1,212 @@@ ++-----BEGIN PGP PUBLIC KEY BLOCK----- ++ ++mQINBFg4q4YBEAD50HOLDAVpW88rUHnX/TYTCLpqmHMKXPjuf1l3ZEkY3PXF6wqm ++qaWWMPeWJFsik3cMebtLQzsgXHl4xDUBQhOOtdfax2ZKBHQmoUknw2dKkqdkVLh8 ++Xpu8tw00SmcTiAFVCA2+HOqQ+Drq9NUpnMeJpJZiZu84eZbJBEzgabi0s4jf67NH ++7E3ENFb8DRilcM1aNT0rD1xVKR1spMKmBmOoJ/pj5OlWNH34/qdeqIrvKB46/pFE ++LH8SRiorYTDhQTaS0PlT3LxRqVWo8+JlgnFIe96p2d7JF1A1DwQUJerRY4789gNY ++zjW4fh1tc6jtTE2opbLVfbqujHsxrHFKoBO4CPBcPtzf6TUPxDevvBh9omsd+V5F ++W7k/VFIiWFQv0RfQe8nwkNjmA0U3TOX3xKrU+59RU6w+uOuQy564jxg691a7peiQ ++2Y90FqIVUlEL9Guf8U9ezp1DGo/UhnRNJcPmSwhYRcKMUV53mDqWQW8p7XXjSqnV ++VF3cP9bc94UNAf28kXvnJBMGOZwp19dqD7ws+25WM6qQ7u7qQoGZzSI4Wn0ZaXnF ++rXwQXfY4+R20XSDt3oxGP8h08VSz09Xd3C7XV8Eg+0RrTSXVtZruAdcOIE/AWK4a ++BpN7yfGlMTfOOoYZa5tPFYf906yE56vtHcfJttJ7CO+kQMIW5PgRVMAE/QARAQAB ++tBlFcmljIEEgTWFubiA8ZXJpY0BlYW0ubWU+iQJOBBMBCgAhBQJYOKxcAhsDBQsJ ++CAcDBRUKCQgLBRYCAwEAAh4BAheAACEJEGPxWptxU3bKFiEEr9hpH9rt8DvfbkYF ++Y/Fam3FTdsr/ShAAxODmai32oTE2V2fmtffhmMiQ+5yHo7dFfG+qzx7sKTpJIvbR ++WoY2vMUlNjr+czm5QOugDZu2rYvPajkQY9qO6JeX/y70pL+rIFUR73Lkt0dH60ED ++VBUBiRUaFr4ggijjFwcGiFtfV2GE6UqcwKLL5/dMRnQOvXcDAVmW+5+i8R5fXJ2/ ++EYOQrXDaMBLllk/Qu5BwCS9a1xt8w0l3BpiYllZzY5SvRd3dIfutKvRTMTrdNMas ++DyrYG7OqLwRD7rW4LgT8Qe0WuHCHRXTy3TJQEz2F5s8ThdXUgoi2Gm8qUAn+sqzK ++zE5dWj+AnJ9D+rrzRxf/Mz8xe9Z4ZX7LJfWADKXO9xUCGpaoE/ajY/LQvnqgdl1J ++mSK8vy27KiDyWRdYD79NTESRfVgUuRZameVi8/JyLIUrkB/Bji98fAX8y859mbFb ++hSu/yb1YlUR4YS/PU2Qisp8HwQUPSjJNF9zT9DBmqXtdfV713Yry+xwH3letiyd8 ++1D5NzgxJGv3lMqTyusT9NOtHof1WzDQFgRayma8ZwamZ6odKbnFiA8aZQiJFgniJ ++YMICkEfbfMrwazgnJ/tLDsFk3UdHC1LNPQ4gvkW4oC2HynsRXEoYb9b7LPwsb1Hr ++WYI+SpdBEzW8DZq1bK7hiUvMWI/ufQSoqrPICQxrU14rdb5VQ/K6Gqgi/ru0HUVy ++aWMgQSBNYW5uIDxlcmljQGVhbWFubi5jb20+iQJOBBMBCgAhBQJYOKuGAhsDBQsJ ++CAcDBRUKCQgLBRYCAwEAAh4BAheAACEJEGPxWptxU3bKFiEEr9hpH9rt8DvfbkYF ++Y/Fam3FTdsoUTRAAg2YDJkmQlKRdm0u9Oh2oY+e16UI+ceOaZ0gryfCswM/rNieq ++sjiJJP5N0CYTeyOg/RkHQOAUuVft65bjjWSpTHY6LS9XYcYg5mt4StTCib5q9PhW ++78gOnkE3tm6Ql5njpcUhio5O9qCGz2FgXJW07pOFSrOePTL4BH3oxQnb0PyNTWXQ ++LWo9Sa5XlBwqHgBFauyq7J75HlfD7uyKbQIb4Eu/Ba+5uAPesyeeBWt0D9pA/vy3 ++9UXcXgzB80R8mVvqFR/xpDkeo8ce/J2G0BJTNSA0GqqiqdKKlwbYhd3r4LxziWUM ++W3hvI+PFtqxZlBLI17wO4GIVqQt6J8tDo9e9gbjPwEVtoNDBt+3ymOdqoGZtlMG6 ++6/VEvrtmQMPBY8VVjKDPvupVXhobyJjnj2NLj0a9xhRuJNhX8WGk4Td+U/n1j+Su ++OmhVQN9dDhdcorsX2vuB6Wj7sk22JxVhPu9jfZqIWUER6gO6lJTOhP5M2A2xKJc2 ++CmwRwZ7OXEc265MJNY7qEzNM0fno4y8JMPJn6+CVimjKHolFPTZW9YbhKwgaG564 ++XoypW1GAbesiyhsdIE8Re8mXl6/1BGjXVgjZ/xzTU1grrDobWNX7sbh4+3EdEiUD ++QAzuURvW3lyW0Ulfizx4Ofc06ejmgNDlcUILq3EKauoLnD+/jjPxCKZfsUi0HkVy ++aWMgQSBNYW5uIDxlcmljQHNpeHRocmVlLm1lPokCUQQTAQoAOwIbAwULCQgHAwUV ++CgkICwUWAgMBAAIeAQIXgBYhBK/YaR/a7fA7325GBWPxWptxU3bKBQJbTfHrAhkB ++AAoJEGPxWptxU3bK9BkQAJAzmFm25lvXuMoiPiRDAo1qRvdoMgLB+rk0eZQn6Lt5 ++0bFZ+6iMRlLilNBLFXDW0uIYO01tTpsItmI1V2LnXaPjOpThvcNQEB14T+5UmfJG ++PuRQT/CsoGBewB0A2DCRJi7HhxV9Ex/3z/4ETcr2FipO8seOIL8DOKRqNOa+2H9E ++pYI9gE37lKPfU1KtFtM9gHiQH2MkTsXQHe0QQHYnq9nwn0gQXyqjqE2nPm8/Gl6V ++5IbyaLeV0AsDh+5zqDcGquTOt1wbT1CPN/Ozloh5NpL/l8MpNbYFLZfzOXtiMRq0 ++vxEfWMO5j6GeYQOYD3xvR3VUuByK13XMYa2s43LHeNypeHTFAk27J+bZD5TgtCYS ++CVFTxaHqzNZW/w50kDrdwTRJC24w31PN4S9dZ505Mx3+xVswsrvnqogkldkjt81m ++hO249tKqFj1zHijs0XdQCTvEHmdsti4mw6Mvb+ZmmqJxYkhNe0Vc/b1UijYpdPBj ++sptLewW/F/PeOD0mEa7BA2BJV2x/slsyESVwWif7gVT73idPNQK93LQyMedRhRuM ++pxv1X/yfoRtGsXepIO/oVNxme8/TvXJaoFDzIqR1ERkkYVVKHXWQNtDhxIfX7ynK ++XZlpJvP5bYrDyBzQm02zCOqZmI+s2uZMCe6V3p2tiDU7F+UCcSIxoiTBJpKkxj4p ++tBxFcmljIE1hbm4gPGVyaWNtYW5uQHBocC5uZXQ+iQJOBBMBCgA4FiEEr9hpH9rt ++8DvfbkYFY/Fam3FTdsoFAmRjnNgCGwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AA ++CgkQY/Fam3FTdsqv3BAAhDY7/d3oxt3YzD5HGdJhqL0Ij6pqBMpW/GbF12eKxnnm ++z0VitT7lzayD7UHzUzTT8ZwSbrOaH2SIUFMl//vgL4PW7aUpYgSl00mowvazp1CG ++2085B8H8N1rXJKgUYuQfdmco8qfha0iI6YWH65CSBNupl5maCBwXk6cX3C2XVJ3A ++P6rz4bnVJLohc88PQwSX33hWEHYxQh2mJ0Eb40QTB+pS2iU2W2+Mhd33ryAGrCIZ ++od76uCkNge+vioshDOlKxDA1j77tJiAO3FJkix1LOM13SQmapeqP7HnGfkNPZSNa ++ZiOcOxM6rPAGk1sBUZSfktnDu4gdW74yC/IcCqyQZVyXV3OVvatkBXHz90yje5zC ++6YKP3IU/CUU4XMdWr9KfYpnfi42JF1KT9G8Iv33HbpMikgJrJtHgUxoKXQ0rzoT3 ++gh4jUK8q4OPaCRBVCE3MqVwyc4Joj0/97X4/Hqa78pf874xKNRY5K18NDM+su3Ww ++Yfp7kkEpc2YMHDjzUenQZJRKHOIJXgwK0pibSM41okMZFE3o9G8DdMUMQRqeCM/c ++bpivfmnCAVqGk5VFLYcWxQsq0b6nlqTv9k+fqH3WtJAS1NDzX1axrJ0tPfKPQlZT ++vBAZIp6KDfO1MvovnVO21erG33lI2o+0fonX3k6gPuQKbXNZG4QcaSTAV9WUp0G5 ++Ag0EWDitOwEQALQtlBtJl9A9sOxcPeeObMwDz3csw0I56VgUfvngLSHToiq2IEVd ++4TSFQKb+/FsMvTsUEtJIf+0E2LzzZ9h1ha+SqUK4PsQhf5cr2TjIYU2hPP2fqYdJ ++d2r0GgjavK0OfcW5geUtDu/YUBAfMqm5SCkYlRdTqReL09YuINRayqgDdfsK8i4j ++ltBMnTeS/vtoGn+T6v0w+aJ5aKl7VNPmVYs6pFrz3EKj8qV5WE+WVZ5KukaaLGMj ++rxiItN6OV3V7PAaxvTB8b+KaWU76Dibw9Pm1Y0qUigehX3OgS16xdHwwqg9ZlWPo ++FCcet4rsVLVyuOvdBZT+MHvhzRc6fVUnHocKdo4DIntWCTyiAveel/BQrlzE/Gyw ++k20BY6JQO4+ceeTwRUI/6IwAfGYups+qMPIsnWWQl1S5jXJ+1ba9jnHsrhjhfoSL ++tp3Yb+1FE1GMNzY6VL+TAckLXrhK9a0goONJwqhLD4ZKJPhi/epieWg8A1u5dOxy ++Cxh53e1UHKMD+ntp4SPUMthPdJQ7GeJYlBJxLDakBF2v7f91ynNgN0vj67laq+u5 ++CRzQx+nW7C22mIr2pevIomjQpy01nmVDhdSEJcteOpjoPJBRiY44M3jEq5BGkKiU ++1XnlBHV/qK9rXJ2gXT4uRkRVGkSu56+Zi0OTwICwkkXumFxjaw2VnxnfABEBAAGJ ++AjYEGAEKAAkFAlg4rTsCGyAAIQkQY/Fam3FTdsoWIQSv2Gkf2u3wO99uRgVj8Vqb ++cVN2yrKxD/9QgFZmvesPlsmr7EcHWDOAhpi+DJYwzr9ADC1VE69bXQ/5ilCBoOj2 ++z9xhsrm/CmCNMRW9mwgFjExCyEhJbUfLUcH0bVde5fR43ZoPhi8tf2WZiLJTy559 ++Apb6bowiOWMnFGcBdhxmTOeCSYTvmuvcSKQckJHfykD3R8eUIaSoN2qJJjRZ0F6x ++MJXJtVg6+oNfHQ6WdrFO0ULwDN4JywtZMtYn23h9pxvB91x5K0qvttHGZ3FOBzVV ++YmvKQVRimKDTA9KpxVULlh4jrnwub+tAJIQqpaKLdwlYCCrJQ4o8CSGP5xrhfLkd ++HwpLxjGePjb58xp4m+/gJdrBChk2N5xlk/XnTnT1YOeM7CsooEa3SQOV7Yws5w3b ++uRVZISqtSbi9jFZGGKq1WxK6zfp5eWLzoklsOO4Z/8Ji3bHZ1cJxw4Cu3o7UJBc3 ++6xv15daGA0fUxkYarRsOQtBxGj3KZ5vbWBVSZvGUAVp0gFOUEWnIaDJrc2Mzt4Co ++Fx/fZ8nLOxKS0BmfRzXgT9KLlodKAwU6y+Vf9/f9Q6NcRPqyWdpYHz0hQz4+OF3y ++GZWKc2vC+l31f6+HyiE5n5GyBLEth/kdmgJRDlyQqkgh9CUv5l89etp286/3Eeyl ++hwujn3U4NMqkXxz7dFUYSueGezBM+GOyGFL74Cdt5moQyZjrxaVGsrkCDQRYOK0d ++ARAAxbj34OlZA1kiEjolyHGVcSErfvhNxmoqOl/sP1l2vvMMHaJEPxwrG8zKvnrp ++EemgP/qi13R/bruRFWMdMvXVMq61IqXBPbv6clygVFEXVKEFTaA+P27W1qxSwM+5 ++FeVb8EDzI949Zd3FqLNNjuQbHAKjszZCRIaEeHib7UC5iGxlh0K51o24pI0UPoK3 ++EHAoTg2jDey8PdPNknYvYjEY5Q5TDuarpYnKBghd5jJxVSCARselhwvfm+Ztg1ta ++p3ULDRtyPNDfZiLz27W31g61q0+ABwxP0ssuBGQPQWDpg5C6huGyiwfZ9HLffae4 ++vpAV2Thl/VaUoXU+OJhGDeSb5CA6KkiMrdF8qIDvhGtu9Sv7NRZbd83SrPGsXa5v ++wzKgQI/NGN+jzHnyCXjlJXWlcFiUUml0DRpL5Pu6lU5jqDp+8UHufjGX/dorm5ew ++faSUprtPBG0sIBW20ZXZ2QI8dnGpM0pzT9S87auMYq0QxiCm/OgfC1IzoWJamFyB ++YaJFLuocFlhyAvvBX0uSbZk1HKG0iShQO+RoRldzcCUiKzhxQQmOkbAh5KdWJTwV ++6n0zbrOFLCYdiMUP6Vu6s5kAykIr7CxTbXgyVudBlmElxPIKc5Eee8NRlPAzddhU ++t2F+o/xrSx92DpWQYmjSSG3fQIwcnOnQTIa3yY48vILcsg8AEQEAAYkCNgQYAQoA ++CQUCWDitHQIbDAAhCRBj8VqbcVN2yhYhBK/YaR/a7fA7325GBWPxWptxU3bKVWUP ++/j2A5yJvkbEK5gktiWlglEoGmm0W9+AGyKrYPTfDRTtj486L6OseprYtJ5boMUsY ++QqAv7XEkIUYoUn8KbZ4K3h+kaK19o4WAs7+B2OOA8VCy4WbfzjSwpxdKqXjD1b1n ++6g+D/124vjEOp6+6/eY5A75HUG3/hX7282TTWRfV+0xHIxeGWqM9FRSn61JBNPko ++zm7EPe0sJbFwHESI6Nn3ieCJG4W6I1KdnXoYxyQSH0y6bVj5HjAmxFpl66WuYDTZ ++owvjUiRlMcAtGErLFsN+NV4xREczmAGE9hRXD2OjGdcLML4FEIMXDttUvzncvCBK ++raBdkLRF927ZoG0tdaWIZ2a2/0XAoIsWsQLKDFtS7Z8YHn9oxDSi1XauCNqKA9+F ++mgRBjRBqwBDhb4JHx84ZRFaiygAqktt5QZ33/M5/bneDdeg3XfDBMrKOFcoQ1Q/D ++xmq+N08762A2c4tSc87orXR49tbi9pl0UJ2LG6bGpk+iR4E+QE9mryh4CzCSBZqE ++rBDtl+BTgdMsy17c0Sf/ZZlCwtSjrwgxpMIq3cAe8ahiLzrC13r/cNs0zE2xZqav ++xJbOJr/UMYzkXWjcKWtl60P55k3Xd24XeAj/XH777kuFY/6rE887MGFdkbnMnY/f ++55HBa5Lv1kZ+iHrDu4XgDeuSOQp+kAjCs0jZaUApdZ0FuQINBFg4rQABEADNKGim ++7IUB68YJ9YY8ETZgkDonFlbS0377+iPpsb5ALHb56E77l5WXE/xw3O7qYFQADXmw ++9GgqrX4lQz6XR0ke+kyA7kOdExQFRgrgWtJvOxIWcOSCHUb0sPy9uJ1j/il7PoxB ++PDZ6LbmPMFgOeaXAF1c3SkIcUwgFrAu/4YU73kcJl31/00hnhMCPoiAsqjysx2PM ++s0IgICYFY/B+VzU2snfhNcI0t/7MCPH/xqGp1XJedW96vOl8spgjdZqZNEhNurJa ++jiqqqo+M+VmlchDoPI0f7bPqiAb/6ejeIlql7l8LpOkRmIokxhw7nfJr5vLGHIGD ++MmdWotGI4h11RNcNuoBDLAxD1dNiRr53qzogSI7vRUZOtX5pl9873IqiovWYH1mp ++0Qu6eSOQfMVi4VDTNh0LDApXCksMP0DbiB1ir1jbVyj0E9qjBY2uPPZlzhLKvfy+ ++Dflm9nLhPFxMWXvTtWRR4CprE+ubkoTABR4K9Zx6NCcCCw3eugnbioiMj2TVZ7+R ++Xkt4DD3akIewI4sNc+eTLnh8aVJtWQTeJjYN4ULeXqO4y9UzPDZVNtN+y3LG97uB ++UqFwXPT60cBIhYhAPd6StQkEcI4HvyXlDzrUPtA8zq+kECD8G1Wq3Eo1HhBrH4Wb ++WsoSbZPJasBPNSZa/encxRuudiYVMVQeNNWo8QARAQABiQRVBBgBCgAJBQJYOK0A ++AhsCAkAJEGPxWptxU3bKwV0gBBkBCgAGBQJYOK0AAAoJEL7FVeIqFDVT5AQP/Asy ++OIjxYhVg1m8YOZNwvggG48gwKH/ZfPFPSc3jd+FjQH/G1aM9iWAIFqt1kQkTXVW1 ++NCNR7wMZor3d5qryeBTkSRu2LTcBlsmCsYdI8vguxa4jjAVBqWfYT8MBfYiEwSCz ++vENSL2hMeW3Ck2oZrSyIfRJ9UlXTa9TNCuRwqcgfOMx5rbJMlmlBhlxzMZs9sU/X ++dSvl+eBiUtMS8q3mPfocWDBBWT91aNME4Rkiwgn9uqDGwILO2fGl7AaqqMHdt1kP ++h6Y6qxmhV9yj3C4W/CVl2AVkSRV6Kzai2f3jQ5A7dv36ppOAqhV7EZByh0Sye3KH ++9AEBiUyANZQzJaWPG8McMlqojCJR1lF1yGgPGil27z62g5o3LicljlBiBkvycyp6 ++wSVgYngPOkTS/GOuQRpI3jHW8SvE852Y+sOHJ49PF9roUBu9/w0zkY6/casgOJn7 ++pFUrThH6wrP+GP2V7V09DAMV7gqj5bdZruwRaLwjFRd5Pe8EBqLWx8ntchUKp68N ++y7Bzv0TdXz9yaao9a/w2qQb61XdKwolkkkflsVx5+FesLHk6/Sb7lKZaHp5g72Ix ++Av6R84SHn+rHaPPqGLaSGiZUCGO2pC8zZwaND662KqAiTRrskvYCXwJXDXOuvj/G ++K9ADn+vP5/mdJiAI7JOB9am22UJkjBP5/ptKLicYFiEEr9hpH9rt8DvfbkYFY/Fa ++m3FTdsoGrRAAlZi9v25eV1LsP6JkDASm/bEWgto/a/zQBaZZwl60y8MfpZihBU4C ++01jKyW1K0XQ13HG5q/z5w1OcK+0asCqkK/HJf+gZ8U0E4osLWJBp4CwDw6pDrotZ ++woAmATVwzOPV9cuwJg6T3AgawpoZQgDl3kJG57OruFhrAhOxYFBkHU/lefOguY+D ++3VEIZhN4/4NjpK4JOdeUXBXOwcGRh7c3ijJJeqfwkxCYR5r1sksY3zI+It74o0aV ++/utQ1IpPIwIROmlfns0KCxXclVGNPStg3LZzS8x3wmXGDVBG5zeMqklC1/Eqrfkv ++LPWWLZTQfHWitKSeADGaFw5qqMfwzczyOoz2GMIFNq1zwBsF0V1enFKqKH8ritAA ++m+lUFu+S/0B/tL+4SNFHP1qMA+A2Hb9vju/GO+F909XOFq1alfkI5lu4FKt7qCX2 ++6QwHSsafPun6/mvrQh+pa/DxwF8EpuLvRg5vilHv2VwbFz8PojiRsiV78SDBpQuY ++BCIkG30XeWtxYjR5/lnDgut1b+xVaO1DFMrI7uR2SGrZuQzHrtyoUOfpjovKRc7x ++TUGWXYtVdQxEmj9NWBShREhACuxqJtKJn+XD5EPSP2QAqNeNbaksJpMcSXunKitg ++4ZOOmGMfzqdUQDCThyyEQkAo5dIpqM2dFNK+I/J/8QqXovhBoCTlBaU= ++=SHny ++-----END PGP PUBLIC KEY BLOCK----- ++-----BEGIN PGP PUBLIC KEY BLOCK----- ++ ++mDMEZiANXBYJKwYBBAHaRw8BAQdARP8nnoCEXdWhbte9/J1LeQZVMQ3vPM7ADToq ++ZGNvXDe0JkNhbHZpbiBCdWNrbGV5IChQSFApIDxjYWx2aW5iQHBocC5uZXQ+iJME ++ExYKADsWIQSdf5mgy48FyKaVjWJWqXr3YAo5pgUCZiANXAIbAwULCQgHAgIiAgYV ++CgkICwIEFgIDAQIeBwIXgAAKCRBWqXr3YAo5ppvGAP9TWg8OSAuIZqsBwxd62k01 ++YbG08JClqfB8/aPeoEqPcQEA++VwjC5BppelKywM6CtYtxR0tM+zt3OjjKlN400A ++wga4OARmIA1cEgorBgEEAZdVAQUBAQdA+SOq91v3irC1wiZR9kesStsulsJ+liFC ++01oLuT9OhwEDAQgHiHgEGBYKACAWIQSdf5mgy48FyKaVjWJWqXr3YAo5pgUCZiAN ++XAIbDAAKCRBWqXr3YAo5pkbYAP9oqokC5fA5yWPdi3fXGEl4K66tkebIOa5Pbm23 ++Hng4PwEAplx8F6SVD7tfszojqJDf5W4w4q0F0wknPSCLjCuldAQ= ++=anm6 ++-----END PGP PUBLIC KEY BLOCK----- ++-----BEGIN PGP PUBLIC KEY BLOCK----- ++ ++mQINBGZLNvEBEADLRJ//ovPDl1oL8OUdCevYx12mazjaxcimm2ei5WxRxYlB1LSj ++jFzWrzvSlwq8WXoxjyb7lLw+VHSXokO88Jx3zAUpepZNT2wQ3/YTGw4i6wq2uyyP ++sgVPELe9qr0Y8mROPf2CHsDfEaFzoXYZZ31ucXzP7N1bIH0uvH3THYOMAQ3Ag637 ++py8exU5lehs9m8mLv0pQIDsWJUCsXsjiDptI0/8qRaBbuP10bo8gJlxCH+7UQI+A ++dac0drMgbIWqfsVhm64nbvOIwxMz+wliNztXlkw1anmK5Q9ceUrpkkjiFuEvstyy ++Blwqpr8a4sOfT7wxjs/2wg7IdJvcQZFVbVRw+WVZ3eVgSkoqoCGd2KrbaQjktCih ++kmSxd6gTCJYUOVUl/Nxrz35AW7kIOUICsYrd6Zh7Xr+jyjfVcGs55bbxzl5QCsPc ++DtHXdOQ2oAVC3zqkjWDDloFdGHIVW5W7flc9jvfg7otmmSlsCTABc97JCoOdlDoR ++tp4wLg50RZXfQJ8FNpqebyFhFmGO4AGkbYuycGiupVq5rfdWM46V7K0yWftSZSKF ++HiD+B2hq3docuk+o4g2AdZV0eEH3/UKRz0L1p5VCWk/yU+oF+tzDrhCwfGSy8PQL ++4zfnkfttSFMmrlrgohyAF5QvBYZt99MWO1Hr8O2hPOkcZ6CLgsvrMaD2mQARAQAB ++tCtTYWtpIFRha2FtYWNoaSAoZm9yIHBocC5uZXQpIDxzYWtpQHBocC5uZXQ+iQJO ++BBMBCAA4FiEEBhbpPZWvRxJD4mdhdwQm4X67s90FAmZLNvECGwMFCwkIBwIGFQoJ ++CAsCBBYCAwECHgECF4AACgkQdwQm4X67s90g4Q/6A8hovyPm0qUadEJzXEWVLdLB ++qwHf5Aagxu8TEQUhn7ku/VKWfx8UBaI/5hTpPEC+LexkeweaK3xjs6DeIyFeeY87 ++ZpujZ8U2pS1DgrYNH11lRPcJM9sh5X5p0EnsHZMAIAqNq+k5bv0jYNNKduf5v44C ++ls1mg+I5CBhpgeZGRE+QLxRGb3YoQC3HwRnXHCYNsQNYbRhYgsUwfwxoHiGpM1Ej ++eeX37mVhETDnJNnxKf/7r0nAVcQZqz1okJyhNBpM1Y/NgCxuTyG222TZmJOYuNby ++ZIT2ZG6z0IbQZbst4rhWmJk1oEA8EV5chMMOwP0eUuKWBHqT/QCmrX9JyWKeTm7X ++Jb1LBi416esrTNKicrPnhZopTkEEHFc60RvchO8XlZYepisiJprUjW2T2KY+FbKw ++wQOFDQk99dVwYocd4CzzkdG/dKeda+Dj6oz/lIniEtPQREC/rZGlQNw+czkHhvk1 ++Vu49BrYMY+AfnJ3QZqQr5xAQaVehnpcxaUPM23pOmLiFm0lrtuU32yIXeCy+UEX+ ++0k2f6iODlr+3792cbpMcH7Bk0YNOm8b9SNYvqVPrunFGttg04TtnTMFpDaN3i8GW ++oMXj+NmrFnQLBy/dpc3YvRD/hqtRXDwRXTNoIaCg1vttFWV4F86XHs0p5xoKeUfH ++oHlV1320gZCBn8dm+a65Ag0EZks28QEQANZ9UNHdyJJSGTqjLIPQQET+E11Nmpwb ++sLjLiQMFKZEmL0VPtqjh2qtLeKGSD9BQQNLHfEU48M3GiUNqH21UDWh6ObDCGE2u ++PvL3U/C8w+2F4IABv8WD8FVaZkREX9MoRiPVd1HOEAOYsgP9Qwv60jVM+REDSnk/ ++0lUfbcvt/JIxNYoRnBLR2LEG2WV0GNnBFpkJ5+KzR/cdtZEoxodNJvE2QOeN2BM7 ++Rj4LTtwxh6sCI2Xd60Si7nNtHSn/C/1/+KA2igH/w1+buS3pJXkhtH+Z6/8kBdUz ++7GgfIzRBfnJ78+H9PFjIPPa0/waRsaS1Sgk9FLNFXMrmjzg8v67qmhjgMrdPcVGk ++W0S2WvK3pY1FiYf0iMlfW4kKwPJAKNM3x+x35Bsf2a6tIAQkZOjcidJppenAX3tl ++9T0vpuCO4eaEKnP2Dyxgnpm8+Um9kwhapjhU0tJVx//vMzqovb6dG5zSiG1XZt5k ++0YpJMVEuuYpuwTnJCBkZz8nzb7+JQ12he0IT2mPsXgMlq2Ddj9OnuoCZpeM/Ykjx ++OGwVZfNvEJUUhbcH6Vu5gPnG3+5tXbwWnC1jeA45pKkq4BHYQnoBW03OAcavKxUW ++ud8Xh5E4FNAWJQ2VyrI1Bl1raXL7mvbDxRXMLGyaz2KDRRoKtpYCvjoBr6azfIR1 ++yjDTheJpAHGxABEBAAGJAjYEGAEIACAWIQQGFuk9la9HEkPiZ2F3BCbhfruz3QUC ++Zks28QIbDAAKCRB3BCbhfruz3b8ND/4mPooynDsIAXQ2ygvAXC/zpIKm1fc9f81J ++u3hC99vMBdTHjMD4miBxRrlUZNAWqpzORMJqMZFQy0BHvwphKDtRyhE+PPu9pQHq ++cOe9weiCKu+MCTrlS0hUuzg7RBrzzOrf2GuQYS8SbHBqb1CrWQFnOJ0L5tGHd0sR ++q7KPY9P3Wy9OPX1JX8eo637LgxKbWC5i4spd4qRpXYU1xaeoG8s353O8oTdNCfHq ++xKI2G3lu3J9ojMNUxRbi0ATS3VOXGkLkhyvtDeXDwe+N+9cTRwMc8QEEYvBhL9+B ++1NUMzRfC3GSQ+e9oDBVrvtEYs4pY+H56ETm56Dl2j8uiyCGHSsjjL48lDc1pQXnl ++G9aQn/zANQFG6PdMsYYV+qN+Ktp3sd6a3LN83UaeGxfaOn3A+SsShQenAGKUmGWi ++DNMJdeCrLwXvSFJO+qEFMrkEFnKb1lPCLkGer/5oM/KLyLZDzOy3+3/Wl0B0nFZI ++lNw5VZB9OUC4PcR7ZPsFhb5QIxpQrq3o6g1eQXrxTrZVJzk/0K3Lm+U29jbmGgQT ++4S31gnxwzXNKEkVFnMlCnAFHA3XR8l3W2tswMbPSSogcNS3GPro6LL3ImaCVxmrI ++/w1QgGZrxP53PNSyH0MxH1kVTqTcxnGJL6BUt/pTdScHstABscsNO/h9K2rfsNin ++uiQPA0QDZA== ++=67ZA ++-----END PGP PUBLIC KEY BLOCK----- diff --cc debian/watch index 00000000,00000000..99dcc0f3 new file mode 100644 --- /dev/null +++ b/debian/watch @@@ -1,0 -1,0 +1,3 @@@ ++version=4 ++opts=pgpsigurlmangle=s/$/.asc/ \ ++https://www.php.net/downloads.php /distributions/php-(8\.4\..*)\.tar\.xz debian