Import Upstream version 92

This commit is contained in:
zhouganqing 2023-01-16 11:16:34 +08:00
commit 73586e9072
54 changed files with 4034 additions and 0 deletions

View File

@ -0,0 +1,632 @@
php-defaults (92) unstable; urgency=medium
* Update the list of the broken PECL modules with the PHP 8.1 upgrade
-- Ondřej Surý <ondrej@debian.org> Tue, 11 Jan 2022 21:51:17 +0100
php-defaults (91) unstable; urgency=medium
* Start the PHP 8.1 transition
-- Ondřej Surý <ondrej@debian.org> Fri, 31 Dec 2021 12:16:23 +0100
php-defaults (90) experimental; urgency=medium
* Actually regenerate d/control with the new default PHP version
-- Ondřej Surý <ondrej@debian.org> Wed, 24 Nov 2021 17:18:11 +0100
php-defaults (89) experimental; urgency=medium
* Bump the Debian version to PHP 8.1
-- Ondřej Surý <ondrej@debian.org> Tue, 23 Nov 2021 11:54:47 +0100
php-defaults (88) unstable; urgency=medium
[David Prévot]
* Ensure binary packages get a higher version for the revert
* Dont depend on PHP 8.0 packages
-- Ondřej Surý <ondrej@debian.org> Tue, 23 Nov 2021 11:48:13 +0100
php-defaults (87) unstable; urgency=medium
* Revert "Start the transition to PHP 8.0"
-- Ondřej Surý <ondrej@debian.org> Sat, 20 Nov 2021 08:20:12 +0100
php-defaults (86) unstable; urgency=medium
* Revert "Bump the Debian version to PHP 8.1"
-- Ondřej Surý <ondrej@debian.org> Fri, 19 Nov 2021 21:34:10 +0100
php-defaults (85) unstable; urgency=medium
* Drop gettext from the list of the modules
* Fix the d/rules script break on empty PHP_BREAKS_PACKAGES
* Bump the Debian version to PHP 8.1
-- Ondřej Surý <ondrej@debian.org> Thu, 04 Nov 2021 14:57:36 +0100
php-defaults (84) unstable; urgency=medium
* No change version bump.
-- Ondřej Surý <ondrej@debian.org> Mon, 21 Jun 2021 07:29:15 +0200
php-defaults (83) unstable; urgency=medium
* Don't try to execute uninstalled php cli binaries to prevent session
files pile up
-- Ondřej Surý <ondrej@debian.org> Mon, 21 Jun 2021 07:29:15 +0200
php-defaults (82) unstable; urgency=medium
* No change version bump.
-- Ondřej Surý <ondrej@debian.org> Sat, 13 Mar 2021 13:53:51 +0100
php-defaults (81) unstable; urgency=medium
* php8.0: XMLRPC has been moved from base to PECL
* Add phpX.Y-mbstring to php-all-dev dependencies
* Add virtual php-gettext package
-- Ondřej Surý <ondrej@debian.org> Mon, 22 Feb 2021 11:45:43 +0100
php-defaults (80) unstable; urgency=medium
* Upload to unstable
-- Ondřej Surý <ondrej@debian.org> Sat, 20 Feb 2021 07:44:19 +0100
php-defaults (80~exp3) experimental; urgency=medium
* Add phpX.Y-mbstring to php-all-dev dependencies
-- Ondřej Surý <ondrej@debian.org> Fri, 19 Feb 2021 21:13:06 +0100
php-defaults (80~exp2) experimental; urgency=medium
* Remove dummy dependency packages for XMLRPC
+ XMLRPC extension has been removed
-- Ondřej Surý <ondrej@debian.org> Wed, 13 Jan 2021 09:22:11 +0100
php-defaults (80~exp1) experimental; urgency=medium
[Ondřej Surý]
* Start the transition to PHP 8.0
[Bryce Harrington]
* d/control.in: Make php packages cross-installable to i386.
- Drop sed dependency for php-common. sed is an Essential
package, and the versioned dependency (>= 4.1.1-1) is obsolete.
- Make php-common "Multi-Arch: foreign" to indicate it has no
dependencies on architecture-dependent packages.
-- Ondřej Surý <ondrej@debian.org> Thu, 10 Dec 2020 18:13:52 +0100
php-defaults (79) unstable; urgency=medium
* Add xml extension to php-all-dev
-- Ondřej Surý <ondrej@debian.org> Sun, 11 Oct 2020 20:02:55 +0200
php-defaults (78) unstable; urgency=medium
* Update d/gbp.conf for main branch
* Add PHP 8.0 to supported versions to initiate soft transition
-- Ondřej Surý <ondrej@debian.org> Sat, 10 Oct 2020 12:54:06 +0200
php-defaults (77) unstable; urgency=medium
* Convert to debhelper 10
-- Ondřej Surý <ondrej@debian.org> Mon, 21 Sep 2020 15:10:10 +0200
php-defaults (76) unstable; urgency=medium
* Register the default PHP version with highest priority;
* And make php-common Breaks all non-default versions of PHP
(Closes: #911832, #958423, #958424, #959742)
* Update policy version to be valid
-- Ondřej Surý <ondrej@debian.org> Mon, 11 May 2020 15:22:18 +0200
php-defaults (75) unstable; urgency=medium
* Remove the php-recode, as there's no php7.4-recode anymore
(Closes: #955027)
-- Ondřej Surý <ondrej@debian.org> Fri, 27 Mar 2020 08:44:39 +0100
php-defaults (74) unstable; urgency=medium
* Remove PHP 7.3 from supported versions to finish the transition
-- Ondřej Surý <ondrej@debian.org> Mon, 23 Mar 2020 12:05:57 +0100
php-defaults (73) unstable; urgency=medium
* Add a small shell helper to update the default PHP-FPM socket location
-- Ondřej Surý <ondrej@debian.org> Fri, 21 Feb 2020 09:37:24 +0100
php-defaults (72) unstable; urgency=medium
* Fix porting error that prevented PHP SAPIs to be restarted on upgrade
-- Ondřej Surý <ondrej@debian.org> Wed, 22 Jan 2020 13:25:56 +0100
php-defaults (71) unstable; urgency=medium
* Switch default PHP to 7.4
-- Ondřej Surý <ondrej@debian.org> Wed, 18 Dec 2019 15:06:21 +0100
php-defaults (70) unstable; urgency=medium
* Start soft transition to PHP 7.4
-- Ondřej Surý <ondrej@sury.org> Wed, 14 Aug 2019 08:50:10 +0200
php-defaults (69) unstable; urgency=medium
* Add support for calling dismod in preinst scripts
-- Ondřej Surý <ondrej@debian.org> Mon, 17 Dec 2018 10:14:00 +0000
php-defaults (68) unstable; urgency=medium
* Make enabling/disabling modules silent (debug level)
-- Ondřej Surý <ondrej@debian.org> Sun, 04 Nov 2018 04:09:45 +0000
php-defaults (67) unstable; urgency=medium
* Bump the epoch due to mistake
-- Ondřej Surý <ondrej@debian.org> Mon, 15 Oct 2018 16:16:32 +0000
php-defaults (66) unstable; urgency=medium
* Reinstate the postrm script to purge /var/lib/php on php-common
purge
-- Ondřej Surý <ondrej@debian.org> Mon, 15 Oct 2018 11:28:14 +0000
php-defaults (65) unstable; urgency=medium
* Replace Debian's with latest in debian/control.in
-- Ondřej Surý <ondrej@debian.org> Sun, 14 Oct 2018 09:16:11 +0000
php-defaults (64) unstable; urgency=medium
* Bump the PHP default and supported version to PHP 7.3
* Remove the PHP default version from php-all-dev
-- Ondřej Surý <ondrej@debian.org> Sun, 14 Oct 2018 08:36:42 +0000
php-defaults (63) unstable; urgency=medium
* Add PHP 7.3 to supported PHP version (start the soft transition)
-- Ondřej Surý <ondrej@debian.org> Tue, 02 Oct 2018 11:44:30 +0000
php-defaults (62) unstable; urgency=medium
* Update the maintainer email to team+pkg-php@tracker.debian.org
-- Ondřej Surý <ondrej@debian.org> Mon, 09 Jul 2018 12:15:20 +0000
php-defaults (61) unstable; urgency=medium
* Drop PHP 7.0 and 7.1 from supported versions (Related to: #872998)
-- Ondřej Surý <ondrej@debian.org> Thu, 12 Apr 2018 06:41:38 +0000
php-defaults (60) unstable; urgency=medium
* Start the soft-transition to PHP 7.2 by adding 7.2 to a list of
supported versions and making PHP 7.2 the default Debian version
(Closes: #872998)
-- Ondřej Surý <ondrej@debian.org> Thu, 25 Jan 2018 09:08:27 +0000
php-defaults (59) unstable; urgency=medium
* Regenerate d/control to really get rid of php-mcrypt
-- Ondřej Surý <ondrej@debian.org> Mon, 22 Jan 2018 05:35:50 +0000
php-defaults (58) unstable; urgency=medium
* mcrypt extension has been removed in PHP 7.2, remove it from the module list
-- Ondřej Surý <ondrej@debian.org> Sun, 14 Jan 2018 06:57:07 +0000
php-defaults (57) unstable; urgency=medium
* Update the Vcs-* to salsa.d.o
-- Ondřej Surý <ondrej@debian.org> Thu, 04 Jan 2018 15:40:13 +0000
php-defaults (56) unstable; urgency=medium
* Actually update d/control to contain PHP 7.1 (Closes: #881416)
-- Ondřej Surý <ondrej@debian.org> Sun, 12 Nov 2017 03:34:17 +0000
php-defaults (55) unstable; urgency=medium
* Remove PrivateNetwork=true because it's not compatible with 3.16.0
(Debian Jessie) kernel
-- Ondřej Surý <ondrej@debian.org> Tue, 05 Sep 2017 06:42:01 +0200
php-defaults (54) unstable; urgency=medium
* Update Vcs-* fields to https://gitlab.com/deb.sury.org
* Soft transition for PHP modules - add PHP 7.1 to supported PHP versions
-- Ondřej Surý <ondrej@debian.org> Fri, 04 Aug 2017 10:01:32 +0200
php-defaults (53) unstable; urgency=medium
* phpquery now has non-zero exit status if live-link is missing
(Courtesy of Vincent Deygas)
-- Ondřej Surý <ondrej@debian.org> Thu, 06 Jul 2017 13:46:00 +0200
php-defaults (52) unstable; urgency=medium
* Change Vcs-* URLs to gitlab.sury.org
-- Ondřej Surý <ondrej@debian.org> Wed, 19 Apr 2017 14:52:09 +0200
php-defaults (51) unstable; urgency=medium
* Add lintian-override for missing-build-dependency-for-dh_-command
* Fix typo when enabling PHP extension (Closes: #855844)
-- Ondřej Surý <ondrej@debian.org> Fri, 03 Mar 2017 10:28:39 +0100
php-defaults (50) unstable; urgency=medium
* Fix priority-parsing when previous lines contain numbers
-- Ondřej Surý <ondrej@debian.org> Thu, 02 Mar 2017 13:50:26 +0100
php-defaults (49) unstable; urgency=medium
* PrivateDevices=true cannot be used as it mount /dev read-only (Closes: #849861)
-- Ondřej Surý <ondrej@debian.org> Sun, 01 Jan 2017 20:43:53 +0100
php-defaults (48) unstable; urgency=medium
[ Daniel Schaal ]
* Add support for systemd timers for phpsessionclean
[ Ondřej Surý ]
* Remove extra diversion for Ubuntu Wily (no longer supported)
* Build without systemd support on Ubuntu 12.04 LTS
* Move systemd units to main directory, it's a native package after all
-- Ondřej Surý <ondrej@debian.org> Sat, 31 Dec 2016 14:57:06 +0100
php-defaults (47) unstable; urgency=medium
* Allow relaxed ; priority=<num> parsing
-- Ondřej Surý <ondrej@debian.org> Wed, 14 Dec 2016 13:56:31 +0100
php-defaults (46) unstable; urgency=medium
[ Ondřej Surý ]
* Update d/control.in with new policy version and https
[ Thijs Kinkhorst ]
* Remove self from uploaders.
-- Ondřej Surý <ondrej@debian.org> Mon, 07 Nov 2016 10:47:32 +0100
php-defaults (45) unstable; urgency=medium
* Fix small issues in sessionclean script (Courtesy of Martijn Grendelman)
+ PHP-FPM binary is named php-fpm@VERSION@
+ Fix too much escaping when touching session files
-- Ondřej Surý <ondrej@debian.org> Mon, 26 Sep 2016 13:30:43 +0200
php-defaults (44) unstable; urgency=medium
* Don't lose status from check_mod() (Closes: #834189)
-- Ondřej Surý <ondrej@debian.org> Mon, 15 Aug 2016 11:14:54 +0200
php-defaults (43) unstable; urgency=medium
* Move -ignore_session_path to be the first argument
-- Ondřej Surý <ondrej@debian.org> Tue, 12 Jul 2016 10:43:00 +0200
php-defaults (42) unstable; urgency=medium
* Silence errors from find caused by time race.
-- Ondřej Surý <ondrej@debian.org> Thu, 16 Jun 2016 09:01:09 +0200
php-defaults (41) unstable; urgency=medium
* Match only the first ; priority=[0-9] line in the ini file
-- Ondřej Surý <ondrej@debian.org> Wed, 18 May 2016 10:18:28 +0200
php-defaults (40) unstable; urgency=medium
* Only use dpkg-divert on Ubuntu 15.10 (Closes: #823515)
-- Ondřej Surý <ondrej@debian.org> Mon, 09 May 2016 11:55:13 +0200
php-defaults (39) unstable; urgency=medium
* Change Vcs-Browser links to https cgit
* Bump standards to 3.9.8 (no change)
-- Ondřej Surý <ondrej@debian.org> Wed, 04 May 2016 15:26:40 +0200
php-defaults (38) unstable; urgency=medium
* Fix the bug where sessionclean doesn't touch session files
* Replace the while loop with for loop to prevent launching subshell in
the sessionclean script
* Reverse sort the output of -V, so the default version is more likely
to be at the top (this needs to be fixed when f.e. we have 7.1 as
supported, but 7.0 as default, if that ever happens)
* Add lintian override for phar dpkg-divert
* Add couple of more lintian-overrides for things that are correct
-- Ondřej Surý <ondrej@debian.org> Fri, 29 Apr 2016 10:50:18 +0200
php-defaults (37) unstable; urgency=medium
* Instead of conflicting with old php5 packages, use dpkg-divert to move
/usr/bin/phar away
* We need to divert to /usr/bin/phar.php5 to prevent clash with updated
php5 packages
-- Ondřej Surý <ondrej@debian.org> Wed, 27 Apr 2016 21:12:16 +0200
php-defaults (36) unstable; urgency=medium
* Stop overloading variables in php-maintscript-helper, it was causing
the next PHP version on the list to enable just the last SAPI on the
previous list. This was affecting only co-installable PHP versions
installed side-by-side.
-- Ondřej Surý <ondrej@debian.org> Thu, 03 Mar 2016 16:15:20 +0100
php-defaults (35) unstable; urgency=medium
* Simplify the package versions to use only SUPPORTED_VERSION for common
packages and DEB_VERSION for php-common and php-all-dev to be able to
update mixed versions
-- Ondřej Surý <ondrej@debian.org> Tue, 01 Mar 2016 16:28:34 +0100
php-defaults (34) unstable; urgency=medium
* Just little fix here and there
-- Ondřej Surý <ondrej@debian.org> Tue, 01 Mar 2016 12:08:28 +0100
php-defaults (33) unstable; urgency=medium
* Create independent mods-available directory for each PHP version
* php-common needs to have different version then the rest of the
packages, so it's just $(DEB_EPOCH):$(DEB_VERSION) and it doesn't
include supported PHP versions
-- Ondřej Surý <ondrej@debian.org> Mon, 29 Feb 2016 09:45:39 +0100
php-defaults (32) unstable; urgency=medium
* Bump epoch to 1, so the new version number is higher than the old one
-- Ondřej Surý <ondrej@debian.org> Tue, 23 Feb 2016 20:47:04 +0100
php-defaults (31) unstable; urgency=medium
* Generate package version numbers from PHP supported versions and
changelog version
* Remove php-dbg package
* Bump standards version to 3.9.7 (no change)
-- Ondřej Surý <ondrej@debian.org> Tue, 23 Feb 2016 20:25:43 +0100
php-defaults (30) unstable; urgency=medium
* Regenerate d/control
-- Ondřej Surý <ondrej@debian.org> Tue, 23 Feb 2016 18:41:09 +0100
php-defaults (29) unstable; urgency=medium
* Update modulelist to match the new extension packages
-- Ondřej Surý <ondrej@debian.org> Tue, 23 Feb 2016 10:12:44 +0100
php-defaults (28) unstable; urgency=medium
* php-all-dev needs to pull phpX.Y-json packages in addition to phpX.Y-dev
-- Ondřej Surý <ondrej@debian.org> Thu, 18 Feb 2016 16:39:48 +0100
php-defaults (27) unstable; urgency=medium
* Add php-fpm default package
-- Ondřej Surý <ondrej@debian.org> Mon, 15 Feb 2016 11:40:38 +0100
php-defaults (26) unstable; urgency=medium
[ Tugdual Saunier ]
* Fix priorities handling in php-helper
-- Ondřej Surý <ondrej@debian.org> Thu, 04 Feb 2016 14:16:34 +0100
php-defaults (25) unstable; urgency=medium
* Supress dpkg-statoverride --list output (Closes: #812983)
-- Ondřej Surý <ondrej@debian.org> Tue, 02 Feb 2016 11:17:14 +0100
php-defaults (24) unstable; urgency=medium
* Make -v ALL -s ALL default if -v or -s was not specified
-- Ondřej Surý <ondrej@debian.org> Tue, 26 Jan 2016 12:37:20 +0100
php-defaults (23) unstable; urgency=medium
* Add CLI to list of supported SAPIS in sessionclean script
* Fix versioned binaries' names that sessionclean script checks
-- Ondřej Surý <ondrej@debian.org> Fri, 08 Jan 2016 10:08:32 +0100
php-defaults (22) unstable; urgency=medium
* Fix php-dev description (Closes: #809725)
-- Ondřej Surý <ondrej@debian.org> Mon, 04 Jan 2016 11:45:29 +0100
php-defaults (21) unstable; urgency=medium
* Remove automatic (de-)registration of modules on '-s ALL'
-- Ondřej Surý <ondrej@debian.org> Tue, 29 Dec 2015 18:06:26 +0100
php-defaults (20) unstable; urgency=medium
* Fix typo in enchant modules name
* Add d/control to .PHONY rules, so we can always regenerate it
* Fix double php-dev package in d/control.in
-- Ondřej Surý <ondrej@debian.org> Tue, 29 Dec 2015 16:19:25 +0100
php-defaults (19) unstable; urgency=medium
* Add default php-dbg package to complete the set of the dependency
packages
* Add Enchant, GMP and XSL default dependency packages
-- Ondřej Surý <ondrej@debian.org> Tue, 29 Dec 2015 14:22:09 +0100
php-defaults (18) unstable; urgency=medium
* Fix a -dev package generation (missing coma)
* Fix permissions on /var/lib/php/sessions from php-common package
(Closes: #807164)
-- Ondřej Surý <ondrej@debian.org> Mon, 21 Dec 2015 11:03:38 +0100
php-defaults (17) unstable; urgency=medium
* Add PHP_SUPPORTED_VERSIONS to d/rules
* Only one version (7.0) is supported under normal conditions
* Update modulelist to up-to-date list of internal modules
-- Ondřej Surý <ondrej@debian.org> Fri, 18 Dec 2015 09:33:43 +0100
php-defaults (16) unstable; urgency=medium
* Replace @PHP_VERSION@ in debian/control generated from
php-module.control.in (Closes: #807386)
-- Ondřej Surý <ondrej@debian.org> Tue, 08 Dec 2015 16:47:59 +0100
php-defaults (15) unstable; urgency=medium
[ Jan Wagner ]
* Adding 'PHP_INI_SCAN_DIR=/etc/php/${version}/${conf_dir}/conf.d/' to
session cleanup script when calling php
[ Ondřej Surý ]
* Upload to unstable
-- Ondřej Surý <ondrej@debian.org> Fri, 04 Dec 2015 12:09:32 +0100
php-defaults (14) experimental; urgency=medium
* Fix missing field in d/copyright
* Update d/control
* Don't generate php-json, php-interbase and php-opcache (yet)
-- Ondřej Surý <ondrej@debian.org> Thu, 26 Nov 2015 15:20:27 +0100
php-defaults (13) experimental; urgency=medium
* Add meta packages for all modules
* Bump a version to one higher than src:php-modules
-- Ondřej Surý <ondrej@debian.org> Thu, 26 Nov 2015 15:12:33 +0100
php-defaults (10) experimental; urgency=medium
* Get rid of php5 -> replace with php${version}
-- Ondřej Surý <ondrej@debian.org> Thu, 26 Nov 2015 15:10:04 +0100
php-defaults (9) unstable; urgency=medium
* Update copyright on everything to match the Expat license
-- Ondřej Surý <ondrej@debian.org> Tue, 25 Aug 2015 15:37:07 +0200
php-defaults (8) unstable; urgency=medium
* Add missing phpdbg SAPI to php-maintscript-helper script
-- Ondřej Surý <ondrej@debian.org> Mon, 03 Aug 2015 13:28:49 +0200
php-defaults (7) unstable; urgency=medium
* Autogenerate debian/control with default PHP version from debian/rules
* Move the session dir to php-common package
-- Ondřej Surý <ondrej@debian.org> Thu, 30 Jul 2015 11:22:30 +0200
php-defaults (6) unstable; urgency=medium
* Fix the location of live link
-- Ondřej Surý <ondrej@debian.org> Thu, 30 Jul 2015 10:08:58 +0200
php-defaults (5) unstable; urgency=medium
* Move the dependencies from phpX.Y-common to php-common
* We can get rid of lsof since we don't use it anymore
* Add ${misc:Depends} and wrap-and-sort -ab files
-- Ondřej Surý <ondrej@debian.org> Thu, 30 Jul 2015 08:45:59 +0200
php-defaults (4) unstable; urgency=medium
* Add a mandatory /etc/php/mods-available directory
* Purge /var/lib/php on php-common removal
-- Ondřej Surý <ondrej@debian.org> Wed, 29 Jul 2015 11:27:18 +0200
php-defaults (3) unstable; urgency=medium
* Initial php-defaults package
* Move the mods-available directory directly under /etc/php
-- Ondřej Surý <ondrej@debian.org> Tue, 28 Jul 2015 15:00:58 +0200

View File

@ -0,0 +1 @@
10

View File

@ -0,0 +1,563 @@
Source: php-defaults
Section: php
Priority: optional
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
XSBC-Original-Maintainer: Debian PHP Maintainers <team+pkg-php@tracker.debian.org>
Uploaders: Ondřej Surý <ondrej@debian.org>,
Lior Kaplan <kaplan@debian.org>
Standards-Version: 4.5.0.2
Build-Depends: debhelper (>= 10)
Vcs-Git: https://salsa.debian.org/php-team/php-defaults.git
Vcs-Browser: https://salsa.debian.org/php-team/php-defaults
Package: libapache2-mod-php
Architecture: all
Depends: libapache2-mod-php8.1,
${misc:Depends}
Description: server-side, HTML-embedded scripting language (Apache 2 module) (default)
This package provides the PHP module for the Apache 2 webserver.
.
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.
.
This package is a dependency package, which depends on latest stable
PHP version (currently 8.1).
Package: libphp-embed
Architecture: all
Depends: libphp8.1-embed,
${misc:Depends}
Description: HTML-embedded scripting language (Embedded SAPI library) (default)
This package provides the library /usr/lib/libphp.so which can
be used by application developers to embed PHP scripting functionality.
.
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.
.
This package is a dependency package, which depends on latest stable
PHP version (currently 8.1).
Package: php
Architecture: all
Depends: php8.1,
${misc:Depends}
Description: server-side, HTML-embedded scripting language (default)
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.
.
This package is a dependency package, which depends on latest stable
PHP version (currently 8.1).
Package: php-all-dev
Architecture: all
Depends: php8.1-dev,
php8.1-json,
php8.1-mbstring,
php8.1-xml,
${misc:Depends}
Description: package depending on all supported PHP development packages
This package is a dependency package used as a build dependency for other
packages to avoid hardcoded dependencies on specific PHP development
packages.
Package: php-bcmath
Architecture: all
Depends: php-common,
php8.1-bcmath,
${misc:Depends}
Description: Bcmath module for PHP [default]
This package provides a Bcmath module 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.
.
This package is a dependency package, which depends on Debian's default
PHP version (currently 8.1).
Package: php-bz2
Architecture: all
Depends: php-common,
php8.1-bz2,
${misc:Depends}
Description: bzip2 module for PHP [default]
This package provides a bzip2 module 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.
.
This package is a dependency package, which depends on Debian's default
PHP version (currently 8.1).
Package: php-cgi
Architecture: all
Depends: php8.1-cgi,
${misc:Depends}
Description: server-side, HTML-embedded scripting language (CGI binary) (default)
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-fpm package that provide FastCGI support.
.
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.
.
This package is a dependency package, which depends on latest stable
PHP version (currently 8.1).
Package: php-cli
Architecture: all
Depends: php8.1-cli,
${misc:Depends}
Description: command-line interpreter for the PHP scripting language (default)
This package provides the /usr/bin/php command interpreter, useful for
testing PHP scripts from a shell or performing general shell scripting tasks.
.
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.
.
This package is a dependency package, which depends on latest stable
PHP version (currently 8.1).
Package: php-common
Architecture: all
Multi-Arch: foreign
Section: php
Depends: psmisc (>= 22.15-1~),
${misc:Depends}
Breaks: php-amqp (<< 1.11.0-4~),
php-apcu (<< 5.1.21+4.0.11-7~),
php-ast (<< 1.0.16-4~),
php-ds (<< 1.4.0-4~),
php-facedetect (<< 1.1.0-19-g135c72a-10~),
php-gearman (<< 2.1.0+1.1.2-11~),
php-gmagick (<< 2.0.6~rc1+1.1.7~rc3-10~),
php-gnupg (<< 1.5.0-6~),
php-igbinary (<< 3.2.6+2.0.8-6~),
php-imagick (<< 3.6.0-4~),
php-libvirt-php (<< 0.5.5-16~),
php-lua (<< 2.0.7+1.1.0-13~),
php-mailparse (<< 3.1.2+2.1.7~dev20160128-7~),
php-memcache (<< 8.0+4.0.5.2+3.0.9~20170802.e702b5f9+-7~),
php-memcached (<< 3.1.5+2.2.0-14~),
php-mongodb (<< 1.12.0+1.9.2+1.7.5-4~),
php-msgpack (<< 2.2.0~rc1+2.1.2+0.5.7-6~),
php-mysqlnd-ms (<< 1.6.0+svn333622-15~),
php-oauth (<< 2.0.7+1.2.3-14~),
php-pcov (<< 1.0.11-4~),
php-pecl-http (<< 4.2.1+php8-2~),
php-ps (<< 1.4.4+1.3.7-6~),
php-psr (<< 1.2.0-4~),
php-radius (<< 1.4.0~b1-22~),
php-raphf (<< 2.0.1+1.1.2-13~),
php-redis (<< 5.3.5+4.3.0-5~),
php-rrd (<< 2.0.3+1.1.3-6~),
php-smbclient (<< 1.0.6-6~),
php-ssh2 (<< 1.3.1+0.13-6~),
php-stomp (<< 2.0.2+1.0.9-15~),
php-tideways (<< 5.0.4-13~),
php-uopz (<< 7.1.1+6.1.2-5~),
php-uploadprogress (<< 2.0.2+1.1.4-6~),
php-uuid (<< 1.2.0-11~),
php-xdebug (<< 3.1.2+2.9.8+2.8.1+2.5.5-4~),
php-xmlrpc (<< 3:1.0.0~rc3-4~),
php-yac (<< 2.3.1+0.9.2-4~),
php-yaml (<< 2.2.2+2.1.0+2.0.4+1.3.2-5~),
php-zmq (<< 1.1.3-23~),
php5.6-common,
php5.6-common (<< 5.6.18+dfsg-10~),
php5.6-json (<< 1.3.9-2~),
php7.0-common,
php7.0-common (<< 7.0.3-11~),
php7.1-common,
php7.2-common,
php7.3-common,
php7.4-common,
php8.0-common
Description: Common files for PHP packages
This package contains common utilities shared among all packaged PHP
versions.
.
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-curl
Architecture: all
Depends: php-common,
php8.1-curl,
${misc:Depends}
Description: CURL module for PHP [default]
This package provides a CURL module 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.
.
This package is a dependency package, which depends on Debian's default
PHP version (currently 8.1).
Package: php-dev
Architecture: all
Depends: php8.1-dev,
${misc:Depends}
Description: Files for PHP module development (default)
Headers and other PHP 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.
.
This package is a dependency package, which depends on latest stable
PHP version (currently 8.1).
Package: php-enchant
Architecture: all
Depends: php-common,
php8.1-enchant,
${misc:Depends}
Description: Enchant module for PHP [default]
This package provides a Enchant module 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.
.
This package is a dependency package, which depends on Debian's default
PHP version (currently 8.1).
Package: php-fpm
Architecture: all
Depends: php8.1-fpm,
${misc:Depends}
Description: server-side, HTML-embedded scripting language (FPM-CGI binary) (default)
This package provides the Fast Process Manager interpreter that runs
as a daemon and receives Fast/CGI requests.
.
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.
.
This package is a dependency package, which depends on latest stable
PHP version (currently 8.1).
Package: php-gd
Architecture: all
Depends: php-common,
php8.1-gd,
${misc:Depends}
Description: GD module for PHP [default]
This package provides a GD module 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.
.
This package is a dependency package, which depends on Debian's default
PHP version (currently 8.1).
Package: php-gmp
Architecture: all
Depends: php-common,
php8.1-gmp,
${misc:Depends}
Description: GMP module for PHP [default]
This package provides a GMP module 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.
.
This package is a dependency package, which depends on Debian's default
PHP version (currently 8.1).
Package: php-imap
Architecture: all
Depends: php-common,
php8.1-imap,
${misc:Depends}
Description: IMAP module for PHP [default]
This package provides a IMAP module 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.
.
This package is a dependency package, which depends on Debian's default
PHP version (currently 8.1).
Package: php-interbase
Architecture: all
Depends: php-common,
php8.1-interbase,
${misc:Depends}
Description: Interbase module for PHP [default]
This package provides a Interbase module 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.
.
This package is a dependency package, which depends on Debian's default
PHP version (currently 8.1).
Package: php-intl
Architecture: all
Depends: php-common,
php8.1-intl,
${misc:Depends}
Description: Internationalisation module for PHP [default]
This package provides a Internationalisation module 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.
.
This package is a dependency package, which depends on Debian's default
PHP version (currently 8.1).
Package: php-json
Architecture: all
Depends: php-common,
php8.1-json,
${misc:Depends}
Description: JSON module for PHP [default]
This package provides a JSON module 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.
.
This package is a dependency package, which depends on Debian's default
PHP version (currently 8.1).
Package: php-ldap
Architecture: all
Depends: php-common,
php8.1-ldap,
${misc:Depends}
Description: LDAP module for PHP [default]
This package provides a LDAP module 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.
.
This package is a dependency package, which depends on Debian's default
PHP version (currently 8.1).
Package: php-mbstring
Architecture: all
Depends: php-common,
php8.1-mbstring,
${misc:Depends}
Description: MBSTRING module for PHP [default]
This package provides a MBSTRING module 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.
.
This package is a dependency package, which depends on Debian's default
PHP version (currently 8.1).
Package: php-mysql
Architecture: all
Depends: php-common,
php8.1-mysql,
${misc:Depends}
Description: MySQL module for PHP [default]
This package provides a MySQL module 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.
.
This package is a dependency package, which depends on Debian's default
PHP version (currently 8.1).
Package: php-odbc
Architecture: all
Depends: php-common,
php8.1-odbc,
${misc:Depends}
Description: ODBC module for PHP [default]
This package provides a ODBC module 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.
.
This package is a dependency package, which depends on Debian's default
PHP version (currently 8.1).
Package: php-pgsql
Architecture: all
Depends: php-common,
php8.1-pgsql,
${misc:Depends}
Description: PostgreSQL module for PHP [default]
This package provides a PostgreSQL module 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.
.
This package is a dependency package, which depends on Debian's default
PHP version (currently 8.1).
Package: php-phpdbg
Architecture: all
Depends: php8.1-phpdbg,
${misc:Depends}
Description: server-side, HTML-embedded scripting language (PHPDBG binary) (default)
This package provides the /usr/bin/phpdbg command interpreter, useful for
stepthrough debugging of PHP code.
.
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.
.
This package is a dependency package, which depends on latest stable
PHP version (currently 8.1).
Package: php-pspell
Architecture: all
Depends: php-common,
php8.1-pspell,
${misc:Depends}
Description: pspell module for PHP [default]
This package provides a pspell module 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.
.
This package is a dependency package, which depends on Debian's default
PHP version (currently 8.1).
Package: php-readline
Architecture: all
Depends: php-common,
php8.1-readline,
${misc:Depends}
Description: readline module for PHP [default]
This package provides a readline module 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.
.
This package is a dependency package, which depends on Debian's default
PHP version (currently 8.1).
Package: php-snmp
Architecture: all
Depends: php-common,
php8.1-snmp,
${misc:Depends}
Description: SNMP module for PHP [default]
This package provides a SNMP module 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.
.
This package is a dependency package, which depends on Debian's default
PHP version (currently 8.1).
Package: php-soap
Architecture: all
Depends: php-common,
php8.1-soap,
${misc:Depends}
Description: SOAP module for PHP [default]
This package provides a SOAP module 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.
.
This package is a dependency package, which depends on Debian's default
PHP version (currently 8.1).
Package: php-sqlite3
Architecture: all
Depends: php-common,
php8.1-sqlite3,
${misc:Depends}
Description: SQLite3 module for PHP [default]
This package provides a SQLite3 module 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.
.
This package is a dependency package, which depends on Debian's default
PHP version (currently 8.1).
Package: php-sybase
Architecture: all
Depends: php-common,
php8.1-sybase,
${misc:Depends}
Description: Sybase module for PHP [default]
This package provides a Sybase module 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.
.
This package is a dependency package, which depends on Debian's default
PHP version (currently 8.1).
Package: php-tidy
Architecture: all
Depends: php-common,
php8.1-tidy,
${misc:Depends}
Description: tidy module for PHP [default]
This package provides a tidy module 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.
.
This package is a dependency package, which depends on Debian's default
PHP version (currently 8.1).
Package: php-xml
Architecture: all
Depends: php-common,
php8.1-xml,
${misc:Depends}
Description: DOM, SimpleXML, WDDX, XML, and XSL module for PHP [default]
This package provides a DOM, SimpleXML, WDDX, XML, and XSL module 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.
.
This package is a dependency package, which depends on Debian's default
PHP version (currently 8.1).
Package: php-zip
Architecture: all
Depends: php-common,
php8.1-zip,
${misc:Depends}
Description: Zip module for PHP [default]
This package provides a Zip module 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.
.
This package is a dependency package, which depends on Debian's default
PHP version (currently 8.1).

View File

@ -0,0 +1,194 @@
Source: php-defaults
Section: php
Priority: optional
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
XSBC-Original-Maintainer: Debian PHP Maintainers <team+pkg-php@tracker.debian.org>
Uploaders: Ondřej Surý <ondrej@debian.org>,
Lior Kaplan <kaplan@debian.org>
Standards-Version: 4.5.0.2
Build-Depends: debhelper (>= 10)
Vcs-Git: https://salsa.debian.org/php-team/php-defaults.git
Vcs-Browser: https://salsa.debian.org/php-team/php-defaults
Package: libapache2-mod-php
Architecture: all
Depends: libapache2-mod-php@PHP_VERSION@,
${misc:Depends}
Description: server-side, HTML-embedded scripting language (Apache 2 module) (default)
This package provides the PHP module for the Apache 2 webserver.
.
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.
.
This package is a dependency package, which depends on latest stable
PHP version (currently @PHP_VERSION@).
Package: libphp-embed
Architecture: all
Depends: libphp@PHP_VERSION@-embed,
${misc:Depends}
Description: HTML-embedded scripting language (Embedded SAPI library) (default)
This package provides the library /usr/lib/libphp.so which can
be used by application developers to embed PHP scripting functionality.
.
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.
.
This package is a dependency package, which depends on latest stable
PHP version (currently @PHP_VERSION@).
Package: php
Architecture: all
Depends: php@PHP_VERSION@,
${misc:Depends}
Description: server-side, HTML-embedded scripting language (default)
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.
.
This package is a dependency package, which depends on latest stable
PHP version (currently @PHP_VERSION@).
Package: php-all-dev
Architecture: all
Depends: ${misc:Depends},
@PHP_DEV_PACKAGES@
Description: package depending on all supported PHP development packages
This package is a dependency package used as a build dependency for other
packages to avoid hardcoded dependencies on specific PHP development
packages.
Package: php-cgi
Architecture: all
Depends: php@PHP_VERSION@-cgi,
${misc:Depends}
Description: server-side, HTML-embedded scripting language (CGI binary) (default)
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-fpm package that provide FastCGI support.
.
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.
.
This package is a dependency package, which depends on latest stable
PHP version (currently @PHP_VERSION@).
Package: php-cli
Architecture: all
Depends: php@PHP_VERSION@-cli,
${misc:Depends}
Description: command-line interpreter for the PHP scripting language (default)
This package provides the /usr/bin/php command interpreter, useful for
testing PHP scripts from a shell or performing general shell scripting tasks.
.
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.
.
This package is a dependency package, which depends on latest stable
PHP version (currently @PHP_VERSION@).
Package: php-common
Architecture: all
Multi-Arch: foreign
Section: php
Depends: psmisc (>= 22.15-1~),
${misc:Depends}
Breaks: php-amqp (<< 1.11.0-4~),
php-apcu (<< 5.1.21+4.0.11-7~),
php-ast (<< 1.0.16-4~),
php-ds (<< 1.4.0-4~),
php-facedetect (<< 1.1.0-19-g135c72a-10~),
php-gearman (<< 2.1.0+1.1.2-11~),
php-gmagick (<< 2.0.6~rc1+1.1.7~rc3-10~),
php-gnupg (<< 1.5.0-6~),
php-igbinary (<< 3.2.6+2.0.8-6~),
php-imagick (<< 3.6.0-4~),
php-libvirt-php (<< 0.5.5-16~),
php-lua (<< 2.0.7+1.1.0-13~),
php-mailparse (<< 3.1.2+2.1.7~dev20160128-7~),
php-memcache (<< 8.0+4.0.5.2+3.0.9~20170802.e702b5f9+-7~),
php-memcached (<< 3.1.5+2.2.0-14~),
php-mongodb (<< 1.12.0+1.9.2+1.7.5-4~),
php-msgpack (<< 2.2.0~rc1+2.1.2+0.5.7-6~),
php-mysqlnd-ms (<< 1.6.0+svn333622-15~),
php-oauth (<< 2.0.7+1.2.3-14~),
php-pcov (<< 1.0.11-4~),
php-pecl-http (<< 4.2.1+php8-2~),
php-ps (<< 1.4.4+1.3.7-6~),
php-psr (<< 1.2.0-4~),
php-radius (<< 1.4.0~b1-22~),
php-raphf (<< 2.0.1+1.1.2-13~),
php-redis (<< 5.3.5+4.3.0-5~),
php-rrd (<< 2.0.3+1.1.3-6~),
php-smbclient (<< 1.0.6-6~),
php-ssh2 (<< 1.3.1+0.13-6~),
php-stomp (<< 2.0.2+1.0.9-15~),
php-tideways (<< 5.0.4-13~),
php-uopz (<< 7.1.1+6.1.2-5~),
php-uploadprogress (<< 2.0.2+1.1.4-6~),
php-uuid (<< 1.2.0-11~),
php-xdebug (<< 3.1.2+2.9.8+2.8.1+2.5.5-4~),
php-xmlrpc (<< 3:1.0.0~rc3-4~),
php-yac (<< 2.3.1+0.9.2-4~),
php-yaml (<< 2.2.2+2.1.0+2.0.4+1.3.2-5~),
php-zmq (<< 1.1.3-23~),
php5.6-common (<< 5.6.18+dfsg-10~),
php5.6-json (<< 1.3.9-2~),
php7.0-common (<< 7.0.3-11~),
@PHP_BREAKS_PACKAGES@
Description: Common files for PHP packages
This package contains common utilities shared among all packaged PHP
versions.
.
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-dev
Architecture: all
Depends: php@PHP_VERSION@-dev,
${misc:Depends}
Description: Files for PHP module development (default)
Headers and other PHP 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.
.
This package is a dependency package, which depends on latest stable
PHP version (currently @PHP_VERSION@).
Package: php-fpm
Architecture: all
Depends: php@PHP_VERSION@-fpm,
${misc:Depends}
Description: server-side, HTML-embedded scripting language (FPM-CGI binary) (default)
This package provides the Fast Process Manager interpreter that runs
as a daemon and receives Fast/CGI requests.
.
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.
.
This package is a dependency package, which depends on latest stable
PHP version (currently @PHP_VERSION@).
Package: php-phpdbg
Architecture: all
Depends: php@PHP_VERSION@-phpdbg,
${misc:Depends}
Description: server-side, HTML-embedded scripting language (PHPDBG binary) (default)
This package provides the /usr/bin/phpdbg command interpreter, useful for
stepthrough debugging of PHP code.
.
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.
.
This package is a dependency package, which depends on latest stable
PHP version (currently @PHP_VERSION@).

View File

@ -0,0 +1,32 @@
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Author: Ondřej Surý <ondrej@debian.org>
Files: *
Copyright: 2015 Ondřej Surý
License: Expat
Files: php-maintscript-helper
Copyright: 2012 Arno Töll
2013-2015 Ondřej Surý
License: Expat
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.

View File

@ -0,0 +1,7 @@
[DEFAULT]
debian-branch = main
debian-tag = debian/%(version)s
pristine-tar = False
[dch]
meta = 1

View File

@ -0,0 +1,24 @@
bcmath Bcmath
bz2 bzip2
curl CURL
enchant Enchant
gd GD
gmp GMP
imap IMAP
interbase Interbase
intl Internationalisation
json JSON
ldap LDAP
mbstring MBSTRING
mysql MySQL
odbc ODBC
pgsql PostgreSQL
pspell pspell
readline readline
snmp SNMP
soap SOAP
sqlite3 SQLite3
sybase Sybase
tidy tidy
xml DOM, SimpleXML, WDDX, XML, and XSL
zip Zip

View File

@ -0,0 +1,3 @@
/usr/lib/cgi-bin/php8.1 /usr/lib/cgi-bin/php.default
usr/bin/php-cgi8.1 usr/bin/php-cgi.default
usr/share/man/man1/php-cgi8.1.1.gz usr/share/man/man1/php-cgi.default.1.gz

View File

@ -0,0 +1,3 @@
usr/bin/php-cgi@PHP_VERSION@ usr/bin/php-cgi.default
usr/share/man/man1/php-cgi@PHP_VERSION@.1.gz usr/share/man/man1/php-cgi.default.1.gz
/usr/lib/cgi-bin/php@PHP_VERSION@ /usr/lib/cgi-bin/php.default

View File

@ -0,0 +1,17 @@
#!/bin/sh
set -e
if [ "$1" = "configure" ]; then
update-alternatives \
--install /usr/bin/php-cgi php-cgi /usr/bin/php-cgi.default 100 \
--slave /usr/share/man/man1/php-cgi.1.gz php-cgi.1.gz \
/usr/share/man/man1/php-cgi.default.1.gz
update-alternatives \
--install /usr/lib/cgi-bin/php php-cgi-bin /usr/lib/cgi-bin/php.default 100
fi
#DEBHELPER#
exit 0

View File

@ -0,0 +1,12 @@
#!/bin/sh
set -e
if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ]; then
update-alternatives --remove php-cgi /usr/bin/php-cgi.default
update-alternatives --remove php-cgi-bin /usr/lib/cgi-bin/php.default
fi
#DEBHELPER#
exit 0

View File

@ -0,0 +1,6 @@
usr/bin/phar.phar8.1 usr/bin/phar.phar.default
usr/bin/phar8.1 usr/bin/phar.default
usr/bin/php8.1 usr/bin/php.default
usr/share/man/man1/phar.phar8.1.1.gz usr/share/man/man1/phar.phar.default.1.gz
usr/share/man/man1/phar8.1.1.gz usr/share/man/man1/phar.default.1.gz
usr/share/man/man1/php8.1.1.gz usr/share/man/man1/php.default.1.gz

View File

@ -0,0 +1,6 @@
usr/bin/php@PHP_VERSION@ usr/bin/php.default
usr/share/man/man1/php@PHP_VERSION@.1.gz usr/share/man/man1/php.default.1.gz
usr/bin/phar@PHP_VERSION@ usr/bin/phar.default
usr/share/man/man1/phar@PHP_VERSION@.1.gz usr/share/man/man1/phar.default.1.gz
usr/bin/phar.phar@PHP_VERSION@ usr/bin/phar.phar.default
usr/share/man/man1/phar.phar@PHP_VERSION@.1.gz usr/share/man/man1/phar.phar.default.1.gz

View File

@ -0,0 +1,15 @@
#!/bin/sh
set -e
if [ "$1" = "configure" ]; then
for binary in php phar phar.phar; do
update-alternatives \
--install /usr/bin/${binary} ${binary} /usr/bin/${binary}.default 100 \
--slave /usr/share/man/man1/${binary}.1.gz ${binary}.1.gz /usr/share/man/man1/${binary}.default.1.gz
done
fi
#DEBHELPER#
exit 0

View File

@ -0,0 +1,13 @@
#!/bin/sh
set -e
if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ]; then
for binary in php phar phar phar.phar; do
update-alternatives --remove ${binary} /usr/bin/${binary}.default
done
fi
#DEBHELPER#
exit 0

View File

@ -0,0 +1,2 @@
/var/lib/php/modules
/var/lib/php/sessions

View File

@ -0,0 +1,8 @@
php-fpm-socket-helper /usr/lib/php/
php-helper /usr/lib/php/
php-maintscript-helper /usr/lib/php/
phpenmod /usr/sbin/
phpquery /usr/sbin/
phpsessionclean.service /lib/systemd/system/
phpsessionclean.timer /lib/systemd/system/
sessionclean /usr/lib/php/

View File

@ -0,0 +1 @@
/usr/sbin/phpenmod /usr/sbin/phpdismod

View File

@ -0,0 +1 @@
/usr/sbin/phpenmod /usr/sbin/phpdismod

View File

@ -0,0 +1,8 @@
# We are diverting files from old php5-cli to allow coinstalling with new PHP packaging
php-common: diversion-for-unknown-file usr/bin/phar preinst:8
php-common: diversion-for-unknown-file usr/share/man/man1/phar.1.gz preinst:11
# Yes, we need this
php-common: non-standard-dir-perm var/lib/php/sessions/ 1733 != 0755
# Shell snippets, not to be run, but included
php-common: script-not-executable usr/lib/php/php-helper
php-common: script-not-executable usr/lib/php/php-maintscript-helper

View File

@ -0,0 +1,14 @@
# /etc/cron.d/php@PHP_VERSION@: crontab fragment for PHP
# This purges session files in session.save_path older than X,
# where X is defined in seconds as the largest value of
# session.gc_maxlifetime from all your SAPI php.ini files
# or 24 minutes if not defined. The script triggers only
# when session.save_handler=files.
#
# WARNING: The scripts tries hard to honour all relevant
# session PHP options, but if you do something unusual
# you have to disable this script and take care of your
# sessions yourself.
# Look for and purge old sessions every 30 minutes
09,39 * * * * root [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi

View File

@ -0,0 +1,18 @@
#!/bin/sh
set -e
if [ "$1" = "configure" ]; then
if ! dpkg-statoverride --list /var/lib/php/sessions >/dev/null; then
dpkg-statoverride --update --quiet --add root root 01733 /var/lib/php/sessions
fi
fi
# Remove old registry directory
if [ -d "/var/lib/php/modules/registry" ]; then
rm -r /var/lib/php/modules/registry;
fi
#DEBHELPER#
exit 0

View File

@ -0,0 +1,14 @@
#!/bin/sh
# postrm script for php-common
#
# see: dh_installdeb(1)
set -e
if [ "$1" = "purge" ]; then
rm -rf /var/lib/php
fi
#DEBHELPER#
exit 0

View File

@ -0,0 +1,13 @@
#!/bin/sh
set -e
if [ "$1" = "remove" -o "$1" = "purge" ]; then
if dpkg-statoverride --list /var/lib/php/sessions >/dev/null; then
dpkg-statoverride --remove /var/lib/php/sessions;
fi
fi
#DEBHELPER#
exit 0

View File

@ -0,0 +1,4 @@
usr/bin/php-config8.1 usr/bin/php-config.default
usr/bin/phpize8.1 usr/bin/phpize.default
usr/share/man/man1/php-config8.1.1.gz usr/share/man/man1/php-config.default.1.gz
usr/share/man/man1/phpize8.1.1.gz usr/share/man/man1/phpize.default.1.gz

View File

@ -0,0 +1,4 @@
usr/bin/php-config@PHP_VERSION@ usr/bin/php-config.default
usr/share/man/man1/php-config@PHP_VERSION@.1.gz usr/share/man/man1/php-config.default.1.gz
usr/bin/phpize@PHP_VERSION@ usr/bin/phpize.default
usr/share/man/man1/phpize@PHP_VERSION@.1.gz usr/share/man/man1/phpize.default.1.gz

View File

@ -0,0 +1,16 @@
#!/bin/sh
set -e
if [ "$1" = "configure" ]; then
update-alternatives \
--install /usr/bin/php-config php-config /usr/bin/php-config.default 100 \
--slave /usr/share/man/man1/php-config.1.gz php-config.1.gz /usr/share/man/man1/php-config.default.1.gz
update-alternatives \
--install /usr/bin/phpize phpize /usr/bin/phpize.default 100 \
--slave /usr/share/man/man1/phpize.1.gz phpize.1.gz /usr/share/man/man1/phpize.default.1.gz
fi
#DEBHELPER#
exit 0

View File

@ -0,0 +1,12 @@
#!/bin/sh
set -e
if [ "$1" = "remove" ] || [ "$1" = "purge" ]; then
update-alternatives --remove php-config /usr/bin/php-config.default
update-alternatives --remove phpize /usr/bin/phpize.default
fi
#DEBHELPER#
exit 0

View File

@ -0,0 +1,14 @@
Package: @package@
Architecture: all
Depends: php-common,
@depends@,
${misc:Depends}
Description: @description@ module for PHP [default]
This package provides a @description@ module 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.
.
This package is a dependency package, which depends on Debian's default
PHP version (currently @PHP_VERSION@).

View File

@ -0,0 +1,2 @@
usr/bin/phpdbg8.1 usr/bin/phpdbg.default
usr/share/man/man1/phpdbg8.1.1.gz usr/share/man/man1/phpdbg.default.1.gz

View File

@ -0,0 +1,2 @@
usr/bin/phpdbg@PHP_VERSION@ usr/bin/phpdbg.default
usr/share/man/man1/phpdbg@PHP_VERSION@.1.gz usr/share/man/man1/phpdbg.default.1.gz

View File

@ -0,0 +1,13 @@
#!/bin/sh
set -e
if [ "$1" = "configure" ]; then
update-alternatives \
--install /usr/bin/phpdbg phpdbg /usr/bin/phpdbg.default 100 \
--slave /usr/share/man/man1/phpdbg.1.gz phpdbg.1.gz /usr/share/man/man1/phpdbg.default.1.gz
fi
#DEBHELPER#
exit 0

View File

@ -0,0 +1,11 @@
#!/bin/sh
set -e
if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ]; then
update-alternatives --remove phpdbg /usr/bin/phpdbg@PHP_VERSION@
fi
#DEBHELPER#
exit 0

View File

@ -0,0 +1,95 @@
#!/usr/bin/make -f
# -*- makefile -*-
# debian/rules for PHP defaults
# Copyright (C) 2011 Ondřej Surý
# Published under the Expat license
#
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
include /usr/share/dpkg/default.mk
PHP_DEFAULT_VERSION := 8.1
PHP_SUPPORTED_VERSIONS := 8.1
PHP_BREAKS_VERSIONS := 5.6 7.0 7.1 7.2 7.3 7.4 8.0
, := ,
PHP_DEV_PACKAGES := $(addprefix php,$(addsuffix -dev$(,),$(PHP_SUPPORTED_VERSIONS))), $(addprefix php,$(addsuffix -json$(,),$(PHP_SUPPORTED_VERSIONS))), $(addprefix php,$(addsuffix -xml$(,),$(PHP_SUPPORTED_VERSIONS))), $(addprefix php,$(addsuffix -mbstring$(,),$(PHP_SUPPORTED_VERSIONS)))
PHP_BREAKS_PACKAGES := $(addprefix php,$(addsuffix -common$(,),$(PHP_BREAKS_VERSIONS)))
PHP_COMMON_DIRS := $(addprefix /etc/php/,$(addsuffix /mods-available,$(PHP_SUPPORTED_VERSIONS)))
PHP_COMMON_DEB_VERSION := 2:$(DEB_VERSION)
PHP_DEB_VERSION := 2:$(PHP_DEFAULT_VERSION)+$(DEB_VERSION)
SED=sed
export DH_OPTIONS
DH_SYSTEMD := --with systemd
# Disable systemd on non-Linux buildds
ifneq (linux,$(DEB_HOST_ARCH_OS))
DH_SYSTEMD :=
endif
%:
dh $@ $(DH_SYSTEMD)
override_dh_auto_configure:
:
override_dh_auto_make:
:
override_dh_auto_install:
:
override_dh_installcron:
dh_installcron -pphp-common --name=php
debian/control: debian/control.in debian/rules debian/changelog
$(SED) -e "s/@PHP_VERSION@/$(PHP_DEFAULT_VERSION)/g" \
-e "s/@PHP_DEV_PACKAGES@/$(PHP_DEV_PACKAGES)/g" \
-e "s/@PHP_BREAKS_PACKAGES@/$(PHP_BREAKS_PACKAGES),/g" \
>$@ <$<
echo >> $@
cat debian/modulelist | while read -r module description; do \
package=php-$${module}; \
depends=php$(PHP_DEFAULT_VERSION)-$${module}; \
$(SED) -e "s/@package@/$${package}/" \
-e "s/@depends@/$${depends}/" \
-e "s/@description@/$${description}/" \
-e "s/@PHP_VERSION@/$(PHP_DEFAULT_VERSION)/g" \
< debian/php-module.control.in \
>> $@; \
echo >> $@; \
done
for f in php-cgi.links php-cli.links php-common.links php-dev.links php-phpdbg.links; do \
$(SED) -e "s/@PHP_VERSION@/$(PHP_DEFAULT_VERSION)/g" \
< "debian/$$f.in" > "debian/$$f"; \
done
-wrap-and-sort -ab
override_dh_installdirs:
dh_installdirs -i -pphp-common $(PHP_COMMON_DIRS)
dh_installdirs -i --remaining-packages
override_dh_fixperms:
chmod 01733 debian/php-common/var/lib/php/sessions
dh_fixperms -i -pphp-common -X/var/lib/php/sessions
dh_fixperms -i --remaining-packages
override_dh_gencontrol:
dh_gencontrol -pphp-common -- -v$(PHP_COMMON_DEB_VERSION)
dh_gencontrol -pphp-all-dev -- -v$(PHP_COMMON_DEB_VERSION)
dh_gencontrol --remaining-packages -- -v$(PHP_DEB_VERSION)
override_dh_systemd_enable:
dh_systemd_enable --package=php-common phpsessionclean.timer
override_dh_systemd_start:
dh_systemd_start --package=php-common phpsessionclean.timer
dh_systemd_start --package=php-common --no-start phpsessionclean.service
.PHONY: debian/control

View File

@ -0,0 +1 @@
3.0 (native)

View File

@ -0,0 +1 @@
php-defaults source: missing-build-dependency-for-dh_-command dh_systemd_start *

View File

@ -0,0 +1 @@
misc:Depends=

View File

@ -0,0 +1 @@
DISTS=""

View File

@ -0,0 +1,25 @@
#!/bin/sh
DEFAULT_SOCKET="${2}"
POOL_FILE="${3}"
PRIORITY="${4}"
[ -r "${POOL_FILE}" ] || exit 0
SOCKET=$(sed -n 's/^listen[[:space:]]*=[[:space:]]*\([^[:space:]]*\)/\1/p' "${POOL_FILE}")
[ -S "${SOCKET}" ] || exit 0
case "$1" in
start|install)
/usr/bin/update-alternatives --quiet --install "${DEFAULT_SOCKET}" php-fpm.sock "${SOCKET}" "${PRIORITY}" 2>/dev/null
;;
stop|remove)
/usr/bin/update-alternatives --quiet --remove php-fpm.sock "${SOCKET}" 2>/dev/null
;;
*)
exit 1
;;
esac
exit 0

View File

@ -0,0 +1,208 @@
#!/bin/sh
#
# php-helper - a PHP module manager for Debian
#
# Copyright 2013-2015 Ondřej Surý <ondrej@sury.org>
#
# 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.
warning() {
echo "WARNING: ${@}" >&2
}
remove_state() {
local action=$1
local version=$2
local sapi=$3
local modname=$4
local state_dir="$(get_state_dir "$version" "$sapi")"
rm -f "${state_dir}/${action}_by_admin/${modname}"
rm -f "${state_dir}/${action}_by_maint/${modname}"
return 0
}
mod_registry() {
local action=$1
local version=$2
local modname=$3
local registry_dir="$(get_registry_dir "$version")"
local registry_file="${registry_dir}/${modname}"
case $action in
register)
if [ ! -d "$registry_dir" ]; then
mkdir -p "$registry_dir"
fi
touch "$registry_file"
;;
unregister)
rm -f "$registry_file"
;;
status)
if [ -e "$registry_file" ]; then
return 0
else
return 1
fi
;;
*)
return 1
;;
esac
return 0
}
record_state() {
local action=$1
local version=$2
local sapi=$3
local modname=$4
local state_dir="$(get_state_dir "$version" $sapi)"
local admin_state="${state_dir}/${action}_by_admin/$modname"
local maint_state="${state_dir}/${action}_by_maint/$modname"
if [ -e "$admin_state" ]; then
return
fi
if [ -e "$maint_state" ]; then
if [ "$MAINT_MODE" = "yes" ]; then
return
else
rm "$maint_state"
fi
fi
# cleanup previous state
remove_state disabled "$version" "$sapi" "$modname"
remove_state enabled "$version" "$sapi" "$modname"
if [ "$MAINT_MODE" = "yes" ]; then
mkdir -p "$(dirname $maint_state)"
touch "$maint_state"
else
mkdir -p "$(dirname $admin_state)"
touch "$admin_state"
fi
return 0
}
output() {
if [ "$QUIET" != "yes" ]; then
echo "$@"
fi
}
get_priority() {
local version=$1
local sapi=$2
local modname=$3
local source_ini="/etc/php/${version}/mods-available/${modname}.ini"
module_ret=0
module_exists "$version" "$modname" || module_ret=$?
if [ "$module_ret" -eq 0 ]; then
priority=$(sed -ne "s/^;[[:space:]]*priority[[:space:]]*=[[:space:]]*\([0-9]\+\)[[:space:]]*$/\\1/p; /^[0-9]\+$/q" "$source_ini")
[ -z "$priority" ] && priority=20
echo "$priority"
return 0
fi
return $module_ret
}
get_live_link() {
local version=$1
local sapi=$2
local modname=$3
local priority=$4
echo "/etc/php/${version}/${sapi}/conf.d/${priority}-${modname}.ini"
}
get_live_link_content() {
local version=$1
local sapi=$2
local modname=$3
local priority=$4
echo "/etc/php/${version}/mods-available/${modname}.ini"
}
module_exists() {
local version=$1
local modname=$2
local source_ini="/etc/php/${version}/mods-available/${modname}.ini"
if [ ! -r "${source_ini}" ]; then
return 1
fi
return 0
}
get_state_dir() {
local version=$1
local sapi=$2
echo "/var/lib/php/modules/${version}/${sapi}"
return 0
}
get_registry_dir() {
local version=$1
echo "/var/lib/php/modules/${version}/registry"
return 0
}
get_version_dir() {
echo "/usr/lib/php"
return 0
}
get_sapi_dir() {
local version=$1
echo "/usr/lib/php/${version}/sapi"
return 0
}
list_parts() {
local dir=$1
local regex=${2:-}
if [ -d "$dir" ]; then
find "$dir" -mindepth 1 -maxdepth 1 \! \( -name '*.dpkg-old' -name '*.dpkg-new' -name '*.dpkg-dist' -name '*~' -name '*.bak' -name '*.ucf-old' -name '*.ucf-new' -name '*.ucf-dist' -name '*%' \) -printf '%f\n'
return $?
else
return 1
fi
}
list_parts_regex() {
local dir=$1
local regex=$2
if [ -d "$dir" ]; then
find "$dir" -mindepth 1 -maxdepth 1 -regex "$regex" -printf '%f\n'
return $?
else
return 1
fi
}

View File

@ -0,0 +1,286 @@
#!/bin/sh
#
# php-maintscript-helper - PHP helper function for maintainer scripts
#
# Copyright (C) 2012 Arno Töll <debian@toell.net>
# 2013 Ondřej Surý <ondrej@sury.org>
#
# 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.
#
# VARIABLES
#
# global environment variables used by php-maintscript-helper:
# * PHP_MAINTSCRIPT_DEBUG:
# set this to any non-zero value to get debug output
# * PHP_MAINTSCRIPT_HELPER_QUIET:
# set this to any non-zero value to omit any output
# * EXPORT_PHP_MAINTSCRIPT_HELPER:
# will be defined by php-maintscript-helper
# to avoid inclusion loops. Do not set this
# variable manually
# * PHP_MAINTSCRIPT_NAME
# * PHP_MAINTSCRIPT_PACKAGE
# * PHP_MAINTSCRIPT_METHOD
# * PHP_MAINTSCRIPT_ARGUMENT
# these variables contain information about the
# maintainer script which is calling the
# maintscript-helper. It contains arguments which
# dpkg supplies to maintainer scripts and similar
# information. These variables are an
# implementation detail and not to be changed.
#
# You might want to set them manually only if you
# are calling php-maintscript-helper from
# some place which does not preserve the original
# script arguments for example when calling from
# a subfunction instead of the main function in
# your maintainer script
#
# INITIALIZATION
#
if [ -n "${EXPORT_PHP_MAINTSCRIPT_HELPER:-}" ] ; then
return
else
EXPORT_PHP_MAINTSCRIPT_HELPER=1
if [ -n "${PHP_MAINTSCRIPT_DEBUG:-}" ] ; then
set -x
fi
if [ -z "$1" ] ; then
echo "You must invoke php-maintscript-helper with an unmodified environment when sourcing it" >&2
return 1
fi
PHP_MAINTSCRIPT_NAME="$DPKG_MAINTSCRIPT_NAME"
[ "$PHP_MAINTSCRIPT_NAME" ] || PHP_MAINTSCRIPT_NAME="${0##*.}"
case "$PHP_MAINTSCRIPT_NAME" in
preinst|prerm|postrm|postinst)
# yay - recognized script
;;
*)
echo "php-maintscript-helper invoked from an unrecognized maintainer script: exiting" >&2
return 1
;;
esac
PHP_MAINTSCRIPT_PACKAGE="$DPKG_MAINTSCRIPT_PACKAGE"
if [ -z "$PHP_MAINTSCRIPT_PACKAGE" ]; then
PHP_MAINTSCRIPT_PACKAGE="${0##*/}"
PHP_MAINTSCRIPT_PACKAGE="${PHP_MAINTSCRIPT_PACKAGE%.*}"
fi
if [ -z "$PHP_MAINTSCRIPT_METHOD" ] ; then
PHP_MAINTSCRIPT_METHOD="$1"
fi
case "$PHP_MAINTSCRIPT_METHOD" in
install|upgrade|abort-upgrade|configure|abort-remove|abort-deconfigure|remove|failed-upgrade|purge|disappear|abort-install)
# yay - recognized script
;;
*)
echo "php-maintscript-helper invoked from a modified environment. Please hint required arguments manually" >&2
return 1
;;
esac
if [ -z "$PHP_MAINTSCRIPT_ARGUMENT" ] ; then
PHP_MAINTSCRIPT_ARGUMENT="${2:-}"
fi
fi
#
# FUNCTIONS
#
#
# Function php_msg
# print out a warning to both, the syslog and a local standard output.
# This function should generally be used to display messages related to
# the web server in maintainer scripts.
# Parameters:
# priority
# The message priority. Recognized values are the same as defined
# by syslog(3), thus: one among debug, info, notice, warning,
# err, crit, alert, emerg.
# If no known priority is recognized, the priority is set to
# "warning".
# message
# The message as a string. It is printed out verbatim.
# Behavior:
# No message is displayed if PHP_MAINTSCRIPT_HELPER_QUIET is defined
# Returns:
# this function always returns 0
# Since: 5.5.0+dfsg-7
php_msg()
(
PRIORITY="$1"
MSG="$2"
case "$PRIORITY" in
debug|info|notice|warning|err|crit|alert|emerg)
;;
*)
PRIORITY="warning"
;;
esac
if [ -n "${PHP_MAINTSCRIPT_DEBUG:-}" ] || [ "$PRIORITY" != "debug" ]; then
[ -z "$PHP_MAINTSCRIPT_HELPER_QUIET" ] && echo "$MSG" >&2
fi
[ -x /usr/bin/logger ] || return 0
LOGGER="/usr/bin/logger -p daemon.$PRIORITY -t $PHP_MAINTSCRIPT_PACKAGE "
$LOGGER "$MSG" || return 0
)
#
# Function php_invoke
# invokes an PHP configuration helper to enable or disable a
# particular piece of configuration, a site or a module. It carefully
# checks whether the supplied configuration snippet exists and reloads the
# web server if the site administrator desires that by call dpkg trigger
# /etc/php/VERSION/SAPI/conf.d which is defined for apache2, apache2filter and fpm.
#
# Parameters:
# command - The command to invoke. Recognized commands are "enconf",
# "enmod", "ensite", "disconf", "dismod", "dissite"
#
# sapi - Either the specific SAPI (apache2, apache2filter, fpm,
# cgi, cli, embed, phpdbg) or ALL
#
# arguments
# - A single argument (e.g. a module) which shall be
# enabled or disabled respectively.
#
# Returns
# 0 if the changes could be activated
# 1 otherwise
# Since: 5.5.0+dsfg-7
php_invoke()
(
CMD=$1
VERSION=$2
SAPI=$3
MOD=$4
sapi_list=""
[ -x "/usr/sbin/php$CMD" ] || return 1
[ -x "/usr/sbin/phpquery" ] || return 1
case "$VERSION" in
ALL)
version_list=$(phpquery -V)
;;
*)
version_list="$VERSION"
# FIXME - check if the version is supported
;;
esac
for version in $version_list; do
case "$SAPI" in
apache2|apache2filter|fpm|cli|cgi|embed|phpdbg)
sapi_list="$SAPI"
;;
ALL)
sapi_list=$(phpquery -S -v "$version")
case "$CMD" in
enmod|dismod)
"php$CMD" -q -v "$version" -m -r "$MOD" || return 1
;;
*)
return 1
;;
esac
;;
*)
return 1
;;
esac
for sapi in $sapi_list; do
case "$CMD" in
enmod)
phpquery_ret=0
phpquery -v "$version" -s "$sapi" -m "$MOD" > /dev/null 2>&1 || phpquery_ret=$?
if [ "$phpquery_ret" -eq 0 ] ; then
# configuration is already enabled
"php$CMD" -m -v "$version" -s "$sapi" -q "$MOD" > /dev/null 2>&1 || return 1
php_msg "debug" "php_invoke $MOD: already enabled for PHP $version $sapi sapi"
PHP_NEED_ACTION=1
elif [ "$phpquery_ret" -eq 32 ] ; then
# the maintainer disabled the module
php_msg "info" "php_invoke $MOD: no action - module was disabled by maintainer for PHP $version $sapi sapi"
return 0
else
# coming here either means:
# a) we have no clue about the module (e.g. for upgrades prior to maintscript-helper
# b) it's a fresh install
PHP_NEED_ACTION=1
"php$CMD" -m -v "$version" -s "$sapi" -q "$MOD" > /dev/null 2>&1 || return 1
php_msg "debug" "php_invoke: Enabled module $MOD for $sapi sapi"
fi
;;
dismod)
phpquery_ret=0
phpquery -v "$version" -s "$sapi" -m "$MOD" > /dev/null 2>&1 || phpquery_ret=$?
if [ "$phpquery_ret" -eq 0 ] ; then
if [ "$PHP_MAINTSCRIPT_NAME" = 'postrm' ] && [ "$PHP_MAINTSCRIPT_METHOD" = "purge" ] ; then
"php$CMD" -p -f -v "$version" -s "$sapi" -q "$MOD" || return 1
php_msg "debug" "php_invoke $PHP_MAINTSCRIPT_NAME: Purging module $MOD for PHP $version $sapi sapi"
PHP_NEED_ACTION=1
elif [ "$PHP_MAINTSCRIPT_NAME" = 'postrm' ] || [ "$PHP_MAINTSCRIPT_NAME" = 'prerm' ] || [ "$PHP_MAINTSCRIPT_NAME" = 'preinst' ] ; then
if [ "$PHP_MAINTSCRIPT_METHOD" = "remove" ] || [ "$PHP_MAINTSCRIPT_METHOD" = "upgrade" ] ; then
"php$CMD" -m -f -v "$version" -s "$sapi" -q "$MOD" || return 1
php_msg "debug" "php_invoke $PHP_MAINTSCRIPT_NAME: Disabled module $MOD for PHP $version $sapi sapi"
PHP_NEED_ACTION=1
fi
else
php_msg "error" "php_invoke: module $MOD not supported in $PHP_MAINTSCRIPT_NAME for PHP $version $sapi sapi"
return 1
fi
elif [ "$phpquery_ret" -eq 32 ] || [ "$phpquery_ret" -eq 33 ] ; then
if [ "$PHP_MAINTSCRIPT_NAME" = 'postrm' ] && [ "$PHP_MAINTSCRIPT_METHOD" = "purge" ] ; then
php_msg "debug" "php_invoke $PHP_MAINTSCRIPT_NAME: Purging state for $MOD for PHP $version $sapi sapi"
# this will return RC=1
( "php$CMD" -p -f -v "$version" -s "$sapi" -q "$MOD" > /dev/null 2>&1 )
else
php_msg "debug" "php_invoke $MOD $PHP_MAINTSCRIPT_NAME: No action required for PHP $version $sapi sapi"
fi
else
php_msg "debug" "php_invoke $MOD $PHP_MAINTSCRIPT_NAME: No action required for PHP $version $sapi sapi"
fi
;;
*)
return 1
;;
esac
if [ -n "${PHP_NEED_ACTION:-}" ]; then
dpkg-trigger "/etc/php/$version/$sapi/conf.d"
fi
done
done
)
# vim: syntax=sh sw=8 sts=8 sr noet

278
php-defaults-92ubuntu1/phpenmod Executable file
View File

@ -0,0 +1,278 @@
#!/bin/sh
#
# phpenmod - a PHP module manager for Debian
#
# Copyright 2013-2015 Ondřej Surý <ondrej@sury.org>
#
# 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.
set -ue
SCRIPT_NAME=${0##*/}
QUIET=no
NEED_RESTART=no
MAINT_MODE=no
. /usr/lib/php/php-helper
usage() {
[ -n "$@" ] && warning $@
echo "usage: ${SCRIPT_NAME} [ -v ALL|php_version ] [ -s ALL|sapi_name ] module_name [ module_name_2 ]"
exit 1
}
resolve_versions() {
local versions=$1
if [ "$versions" = "ALL" ]; then
versions=$(phpquery -V)
fi
echo $versions
}
resolve_sapis() {
local version=$1
local sapis=$2
if [ "$sapis" = "ALL" ]; then
sapis=$(phpquery -S -v $version)
fi
echo $sapis
}
enmods() {
local versions="$1"
local sapis="$2"
local mods="$3"
local register="$4"
local versions
local sapis
local version
local sapi
local mod
for mod in $mods; do
for version in $(resolve_versions "$versions"); do
for sapi in $(resolve_sapis "$version" "$sapis"); do
enmod_ret=0
enmod "$version" "$sapi" "$mod" || enmod_ret=$?
case $enmod_ret in
0)
NEED_RESTART=yes
record_state enabled "$version" "$sapi" "$mod"
;;
esac
done
if [ "$register" = "yes" ]; then
mod_registry register "$version" "$mod"
fi
done
done
}
dismods() {
local versions="$1"
local sapis="$2"
local mods="$3"
local register="$4"
local purge="$5"
local version
local sapi
local mod
for mod in $mods; do
for version in $(resolve_versions "$versions"); do
for sapi in $(resolve_sapis "$version" "$sapis"); do
local dismod_ret=0
dismod "$version" "$sapi" "$mod" "$purge" || dismod_ret=$?
case $dismod_ret in
0)
NEED_RESTART=yes
record_state disabled "$version" "$sapi" "$mod"
;;
esac
done
done
if [ "$purge" = "yes" ]; then
remove_state enabled "$version" "$sapi" "$mod"
remove_state disabled "$version" "$sapi" "$mod"
mod_registry unregister "$version" "$mod"
elif [ "$register" = "yes" ]; then
mod_registry unregister "$version" "$mod"
fi
done
}
enmod() {
local version=$1
local sapi=$2
local modname=$3
if ! module_exists "$version" "$modname"; then
warning "Module $modname ini file doesn't exist under /etc/php/${version}/mods-available"
return 1
fi
local priority=$(get_priority "$version" "$sapi" "$modname")
local live_link=$(get_live_link "$version" "$sapi" "$modname" "$priority")
local live_link_content=$(get_live_link_content "$version" "$sapi" "$modname" "$priority")
local module_state=0
phpquery -q -v "$version" -s "$sapi" -m "$modname" || module_state=$?
case "$module_state" in
# module enabled, but re-enable the conf.d link just in case
0)
;;
# module not yet enabled
1)
;;
# module disabled by maintainer script
33)
;;
# module disabled by site administrator
# enable module only if not running in maintainer mode
32)
if [ "$MAINT_MODE" = "yes" ]; then
warning "Not enabling the ${modname} module for PHP ${version} ${sapi} SAPI since the module"
warning "was disabled by local administrator."
return 1
fi
;;
34)
warning "Not enabling the ${modname} module for PHP ${version} ${sapi} SAPI since module symlink"
warning "already exists in /etc/php/${version}/${sapi}/conf.d with different content."
return 1
;;
# fail if we get any different result
*)
warning "Unable to get module state, run phpquery -v ${version} -s ${sapi} -m ${modname} manually"
warning "and fix the module state."
return 1
esac
if [ -d "/etc/php/${version}/$sapi/conf.d" ]; then
if [ ! -h "${live_link}" ]; then
ln -s "${live_link_content}" "${live_link}"
fi
else
warning "Directory /etc/php/${version}/${sapi}/conf.d doesn't exist, not enabling the module"
return 1
fi
return 0
}
dismod() {
local version=$1
local sapi=$2
local modname=$3
local purge=$4
if ! module_exists "$version" "$modname"; then
if [ "$purge" = "no" ]; then
warning "Module ${modname} ini file doesn't exist under /etc/php/${version}/mods-available"
return 1
fi
fi
local priority=$(get_priority "$version" "$sapi" "$modname")
local live_link=$(get_live_link "$version" "$sapi" "$modname" "$priority")
local live_link_content=$(get_live_link_content "$version" "$sapi" "$modname" "$priority")
local module_state=0
phpquery -q -v "$version" -s "$sapi" -m "$modname" || module_state=$?
case $module_state in
# module enabled
0)
;;
# module not enabled, but re-remove the link just in case
1|32|33)
;;
34)
warning "Not disabling module ${modname} for ${sapi} SAPI. The configuration was"
warning "modified by local administrator."
return 1
;;
# fail if we get any different result
*)
warning "Unable to get module state, run phpquery -v ${version} -s ${sapi} -m ${modname} manually"
warning "and fix the module state."
return 1
esac
if [ -d "/etc/php/${version}/${sapi}/conf.d" ]; then
if [ -h "$live_link" ]; then
rm -f "$live_link"
fi
fi
return 0
}
versions=
sapis=
register=no
purge=no
while getopts pfv:s:mqr opt; do
case $opt in
r) register=yes;;
v)
if [ "$versions" = "ALL" -o \( "$OPTARG" = "ALL" -a -n "$versions" \) ]; then
warning "You cannot specify ALL and individual versions"
usage
fi
versions="${versions}${versions:+ }$OPTARG"
;;
s)
if [ "$sapis" = "ALL" -o \( "$OPTARG" = "ALL" -a -n "$sapis" \) ]; then
warning "You cannot specify ALL and individual sapis"
usage
fi
sapis="${sapis}${sapis:+ }$OPTARG"
;;
m) MAINT_MODE=yes;;
p) purge=yes;;
q) QUIET=yes;;
\?) usage;;
esac
done
shift $(expr $OPTIND - 1)
mods=""
for mod in $@; do
mods="${mods}${mods:+ }${mod%%/*}"
done
# If -v or -s was not specified run on every version and every SAPI
[ -z "$versions" ] && versions=ALL
[ -z "$sapis" ] && sapis=ALL
[ -z "$mods" ] && usage
case "${SCRIPT_NAME}" in
phpenmod)
enmods "$versions" "$sapis" "$mods" "$register"
;;
phpdismod)
dismods "$versions" "$sapis" "$mods" "$register" "$purge"
;;
*)
usage
;;
esac
exit 0

252
php-defaults-92ubuntu1/phpquery Executable file
View File

@ -0,0 +1,252 @@
#!/bin/sh
#
# phpquery - a PHP module manager for Debian
#
# Copyright 2013-2015 Ondřej Surý <ondrej@sury.org>
#
# 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.
set -ue
SCRIPT_NAME=${0##*/}
QUIET=no
. /usr/lib/php/php-helper
usage() {
[ -n "$@" ] && warning $@
echo "usage: ${SCRIPT_NAME} [ -d ] [ -q ] -v version_name -s sapi_name [ -m module_name ] [ -M ] [ -S ] [ -V ]"
exit 1
}
check_mod() {
local version=$1
local sapi=$2
local modname=$3
if ! module_exists $version $modname; then
output "No module matches $modname"
return 1
fi
local priority=$(get_priority $version $sapi $modname)
local live_link=$(get_live_link $version $sapi $modname $priority)
local live_link_content=$(get_live_link_content $version $sapi $modname $priority)
found=no
local state_dir="$(get_state_dir $version $sapi)"
if [ -e "${live_link}" ] ; then
if [ -h "${live_link}" ] ; then
local content="$(readlink "${live_link}")"
if [ "${content}" = "${live_link_content}" ] ; then
if [ -e "${state_dir}/enabled_by_admin/$modname" ]; then
output "$modname (Enabled for $sapi by local administrator)"
return 0
elif [ -e "${state_dir}/enabled_by_maint/$modname" ]; then
output "$modname (Enabled for $sapi by maintainer script)"
return 0
fi
output "$modname (Enabled for $sapi by unknown)"
return 0
else
output "Module $modname symlink was modified by local administrator."
return 34
fi
fi
else
if [ -e "${state_dir}/disabled_by_admin/$modname" ]; then
output "No module matches $modname (Disabled for $sapi by local administrator)"
return 32
elif [ -e "${state_dir}/disabled_by_maint/$modname" ]; then
output "No module matches $modname (Disabled for $sapi by maintainer script)"
return 33
fi
output "No module matches $modname (Disabled for $sapi by unknown)"
return 1
fi
}
list_mod() {
local _version=$1
local _sapi=$2
local verbose=$3
if [ "$_version" = "ALL" ]; then
versions=$(list_version)
else
versions=$_version
fi
for version in $versions; do
local registry_dir="$(get_registry_dir "$version")"
if [ -d "$registry_dir" ]; then
for mod in $(list_parts "$registry_dir"); do
if [ "$_sapi" = "ALL" ]; then
sapis=$(list_sapi $version)
else
sapis="$_sapi"
fi
if [ "$verbose" = "yes" ]; then
for sapi in $sapis; do
check_mod $version $sapi $mod
done
else
echo $mod
fi
done
fi
done
return 0
}
list_version() {
local version_dir="$(get_version_dir)"
if [ -d "$version_dir" ]; then
local version=
for version in $(list_parts_regex "$version_dir" '.*[0-9]\.[0-9]'); do
echo $version;
done | sort -rn
fi
}
list_sapi() {
local version=$1
local sapi_dir="$(get_sapi_dir $version)"
if [ -d "$sapi_dir" ]; then
for sapi in $(list_parts "$sapi_dir"); do
echo $sapi;
done
fi
}
check_version() {
local version=$1
local version_dir=$(get_version_dir)
if [ -d "$version_dir/$version" ]; then
return 0
fi
return 1
}
check_sapi() {
local version=$1
local sapi=$2
local sapi_dir="$(get_sapi_dir $version)"
if [ -e "$sapi_dir/$sapi" ]; then
return 0
fi
return 1
}
action() {
local action=$1
local version=$2
local sapi=$3
local mod=$4
local verbose=$5
ret=0
case "$action" in
check_mod)
[ -z "$version" -o -z "$sapi" ] && usage "You need to specify version (-v) and sapi (-s)"
check_version "$version" || usage "Invalid PHP version ($version) specified"
check_sapi "$version" "$sapi" || usage "Invalid SAPI ($sapi) specified"
check_mod "$version" "$sapi" "$mod" || ret=$?
;;
check_sapi)
[ -z "$version" ] && usage "You need to specify version (-v)"
check_version "$version" || usage "Invalid PHP version ($version) specified"
check_sapi "$version" "$sapi" || ret=$?
if [ "$ret" -eq 0 ]; then
output "$sapi"
fi
;;
check_version)
check_version $version || ret=$?
if [ "$ret" -eq 0 ]; then
output "$sapi"
fi
;;
list_version) list_version || ret=$?;;
list_mod) list_mod "$version" "$sapi" "$verbose" || ret=$?;;
list_sapi) list_sapi "$version" || ret=$?;;
*) usage "Unknown action $action"; ret=3;;
esac
return $ret
}
verbose=no
action=
version=
sapi=
mod=
double_action() {
usage "Cannot use $1 and $2 at the same time, pick only one mode of operation.";
}
while getopts ds:m:SMqv:V opt; do
case $opt in
v)
version="$OPTARG"
;;
V)
[ -n "$action" ] && double_action $action list_version;
action=list_version
;;
s)
sapi="$OPTARG"
;;
S)
[ -n "$action" ] && double_action $action list_sapi
action="list_sapi"
;;
m)
mod="$OPTARG"
;;
M)
[ -n "$action" ] && double_action $action list_mod
action="list_mod"
;;
q)
QUIET=yes
;;
d)
verbose=yes
;;
\?) usage "Unknown parameter specified";;
esac
done
shift $(expr $OPTIND - 1)
if [ -z "$action" ]; then
if [ -n "$mod" ]; then
action=check_mod
elif [ -n "$sapi" ]; then
action=check_sapi
elif [ -n "$version" ]; then
action=check_version
else
usage "You need to specify at least one action."
fi
fi
action "$action" "$version" "$sapi" "$mod" "$verbose"
exit $?

View File

@ -0,0 +1,9 @@
[Unit]
Description=Clean php session files
[Service]
Type=oneshot
ExecStart=/usr/lib/php/sessionclean
ProtectHome=true
ProtectSystem=true
PrivateTmp=true

View File

@ -0,0 +1,9 @@
[Unit]
Description=Clean PHP session files every 30 mins
[Timer]
OnCalendar=*-*-* *:09,39:00
Persistent=true
[Install]
WantedBy=timers.target

View File

@ -0,0 +1,58 @@
#!/bin/sh -e
#
# sessionclean - a script to cleanup stale PHP sessions
#
# Copyright 2013-2015 Ondřej Surý <ondrej@sury.org>
#
# 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.
SAPIS="apache2:apache2 apache2filter:apache2 cgi:php@VERSION@ fpm:php-fpm@VERSION@ cli:php@VERSION@"
# Iterate through all web SAPIs
(
proc_names=""
for version in $(/usr/sbin/phpquery -V); do
for sapi in ${SAPIS}; do
conf_dir=${sapi%%:*}
proc_name=${sapi##*:}
if [ -e "/etc/php/${version}/${conf_dir}/php.ini" ] && [ -x "/usr/bin/php${version}" ]; then
# Get all session variables once so we don't need to start PHP to get each config option
session_config=$(PHP_INI_SCAN_DIR=/etc/php/${version}/${conf_dir}/conf.d/ "/usr/bin/php${version}" -c "/etc/php/${version}/${conf_dir}/php.ini" -d "error_reporting='~E_ALL'" -r 'foreach(ini_get_all("session") as $k => $v) echo "$k=".$v["local_value"]."\n";')
save_handler=$(echo "$session_config" | sed -ne 's/^session\.save_handler=\(.*\)$/\1/p')
save_path=$(echo "$session_config" | sed -ne 's/^session\.save_path=\(.*;\)\?\(.*\)$/\2/p')
gc_maxlifetime=$(($(echo "$session_config" | sed -ne 's/^session\.gc_maxlifetime=\(.*\)$/\1/p')/60))
if [ "$save_handler" = "files" ] && [ -d "$save_path" ]; then
proc_names="$proc_names $(echo "$proc_name" | sed -e "s,@VERSION@,$version,")";
printf "%s:%s\n" "$save_path" "$gc_maxlifetime"
fi
fi
done
done
# first find all open session files and touch them (hope it's not massive amount of files)
for pid in $(pidof $proc_names); do
find "/proc/$pid/fd" -ignore_readdir_race -lname "$save_path/sess_*" -exec touch -c {} \; 2>/dev/null
done ) | \
sort -rn -t: -k2,2 | \
sort -u -t: -k 1,1 | \
while IFS=: read -r save_path gc_maxlifetime; do
# find all files older then maxlifetime and delete them
find -O3 "$save_path/" -ignore_readdir_race -depth -mindepth 1 -name 'sess_*' -type f -cmin "+$gc_maxlifetime" -delete
done
exit 0

25
php-fpm-socket-helper Executable file
View File

@ -0,0 +1,25 @@
#!/bin/sh
DEFAULT_SOCKET="${2}"
POOL_FILE="${3}"
PRIORITY="${4}"
[ -r "${POOL_FILE}" ] || exit 0
SOCKET=$(sed -n 's/^listen[[:space:]]*=[[:space:]]*\([^[:space:]]*\)/\1/p' "${POOL_FILE}")
[ -S "${SOCKET}" ] || exit 0
case "$1" in
start|install)
/usr/bin/update-alternatives --quiet --install "${DEFAULT_SOCKET}" php-fpm.sock "${SOCKET}" "${PRIORITY}" 2>/dev/null
;;
stop|remove)
/usr/bin/update-alternatives --quiet --remove php-fpm.sock "${SOCKET}" 2>/dev/null
;;
*)
exit 1
;;
esac
exit 0

208
php-helper Normal file
View File

@ -0,0 +1,208 @@
#!/bin/sh
#
# php-helper - a PHP module manager for Debian
#
# Copyright 2013-2015 Ondřej Surý <ondrej@sury.org>
#
# 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.
warning() {
echo "WARNING: ${@}" >&2
}
remove_state() {
local action=$1
local version=$2
local sapi=$3
local modname=$4
local state_dir="$(get_state_dir "$version" "$sapi")"
rm -f "${state_dir}/${action}_by_admin/${modname}"
rm -f "${state_dir}/${action}_by_maint/${modname}"
return 0
}
mod_registry() {
local action=$1
local version=$2
local modname=$3
local registry_dir="$(get_registry_dir "$version")"
local registry_file="${registry_dir}/${modname}"
case $action in
register)
if [ ! -d "$registry_dir" ]; then
mkdir -p "$registry_dir"
fi
touch "$registry_file"
;;
unregister)
rm -f "$registry_file"
;;
status)
if [ -e "$registry_file" ]; then
return 0
else
return 1
fi
;;
*)
return 1
;;
esac
return 0
}
record_state() {
local action=$1
local version=$2
local sapi=$3
local modname=$4
local state_dir="$(get_state_dir "$version" $sapi)"
local admin_state="${state_dir}/${action}_by_admin/$modname"
local maint_state="${state_dir}/${action}_by_maint/$modname"
if [ -e "$admin_state" ]; then
return
fi
if [ -e "$maint_state" ]; then
if [ "$MAINT_MODE" = "yes" ]; then
return
else
rm "$maint_state"
fi
fi
# cleanup previous state
remove_state disabled "$version" "$sapi" "$modname"
remove_state enabled "$version" "$sapi" "$modname"
if [ "$MAINT_MODE" = "yes" ]; then
mkdir -p "$(dirname $maint_state)"
touch "$maint_state"
else
mkdir -p "$(dirname $admin_state)"
touch "$admin_state"
fi
return 0
}
output() {
if [ "$QUIET" != "yes" ]; then
echo "$@"
fi
}
get_priority() {
local version=$1
local sapi=$2
local modname=$3
local source_ini="/etc/php/${version}/mods-available/${modname}.ini"
module_ret=0
module_exists "$version" "$modname" || module_ret=$?
if [ "$module_ret" -eq 0 ]; then
priority=$(sed -ne "s/^;[[:space:]]*priority[[:space:]]*=[[:space:]]*\([0-9]\+\)[[:space:]]*$/\\1/p; /^[0-9]\+$/q" "$source_ini")
[ -z "$priority" ] && priority=20
echo "$priority"
return 0
fi
return $module_ret
}
get_live_link() {
local version=$1
local sapi=$2
local modname=$3
local priority=$4
echo "/etc/php/${version}/${sapi}/conf.d/${priority}-${modname}.ini"
}
get_live_link_content() {
local version=$1
local sapi=$2
local modname=$3
local priority=$4
echo "/etc/php/${version}/mods-available/${modname}.ini"
}
module_exists() {
local version=$1
local modname=$2
local source_ini="/etc/php/${version}/mods-available/${modname}.ini"
if [ ! -r "${source_ini}" ]; then
return 1
fi
return 0
}
get_state_dir() {
local version=$1
local sapi=$2
echo "/var/lib/php/modules/${version}/${sapi}"
return 0
}
get_registry_dir() {
local version=$1
echo "/var/lib/php/modules/${version}/registry"
return 0
}
get_version_dir() {
echo "/usr/lib/php"
return 0
}
get_sapi_dir() {
local version=$1
echo "/usr/lib/php/${version}/sapi"
return 0
}
list_parts() {
local dir=$1
local regex=${2:-}
if [ -d "$dir" ]; then
find "$dir" -mindepth 1 -maxdepth 1 \! \( -name '*.dpkg-old' -name '*.dpkg-new' -name '*.dpkg-dist' -name '*~' -name '*.bak' -name '*.ucf-old' -name '*.ucf-new' -name '*.ucf-dist' -name '*%' \) -printf '%f\n'
return $?
else
return 1
fi
}
list_parts_regex() {
local dir=$1
local regex=$2
if [ -d "$dir" ]; then
find "$dir" -mindepth 1 -maxdepth 1 -regex "$regex" -printf '%f\n'
return $?
else
return 1
fi
}

286
php-maintscript-helper Normal file
View File

@ -0,0 +1,286 @@
#!/bin/sh
#
# php-maintscript-helper - PHP helper function for maintainer scripts
#
# Copyright (C) 2012 Arno Töll <debian@toell.net>
# 2013 Ondřej Surý <ondrej@sury.org>
#
# 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.
#
# VARIABLES
#
# global environment variables used by php-maintscript-helper:
# * PHP_MAINTSCRIPT_DEBUG:
# set this to any non-zero value to get debug output
# * PHP_MAINTSCRIPT_HELPER_QUIET:
# set this to any non-zero value to omit any output
# * EXPORT_PHP_MAINTSCRIPT_HELPER:
# will be defined by php-maintscript-helper
# to avoid inclusion loops. Do not set this
# variable manually
# * PHP_MAINTSCRIPT_NAME
# * PHP_MAINTSCRIPT_PACKAGE
# * PHP_MAINTSCRIPT_METHOD
# * PHP_MAINTSCRIPT_ARGUMENT
# these variables contain information about the
# maintainer script which is calling the
# maintscript-helper. It contains arguments which
# dpkg supplies to maintainer scripts and similar
# information. These variables are an
# implementation detail and not to be changed.
#
# You might want to set them manually only if you
# are calling php-maintscript-helper from
# some place which does not preserve the original
# script arguments for example when calling from
# a subfunction instead of the main function in
# your maintainer script
#
# INITIALIZATION
#
if [ -n "${EXPORT_PHP_MAINTSCRIPT_HELPER:-}" ] ; then
return
else
EXPORT_PHP_MAINTSCRIPT_HELPER=1
if [ -n "${PHP_MAINTSCRIPT_DEBUG:-}" ] ; then
set -x
fi
if [ -z "$1" ] ; then
echo "You must invoke php-maintscript-helper with an unmodified environment when sourcing it" >&2
return 1
fi
PHP_MAINTSCRIPT_NAME="$DPKG_MAINTSCRIPT_NAME"
[ "$PHP_MAINTSCRIPT_NAME" ] || PHP_MAINTSCRIPT_NAME="${0##*.}"
case "$PHP_MAINTSCRIPT_NAME" in
preinst|prerm|postrm|postinst)
# yay - recognized script
;;
*)
echo "php-maintscript-helper invoked from an unrecognized maintainer script: exiting" >&2
return 1
;;
esac
PHP_MAINTSCRIPT_PACKAGE="$DPKG_MAINTSCRIPT_PACKAGE"
if [ -z "$PHP_MAINTSCRIPT_PACKAGE" ]; then
PHP_MAINTSCRIPT_PACKAGE="${0##*/}"
PHP_MAINTSCRIPT_PACKAGE="${PHP_MAINTSCRIPT_PACKAGE%.*}"
fi
if [ -z "$PHP_MAINTSCRIPT_METHOD" ] ; then
PHP_MAINTSCRIPT_METHOD="$1"
fi
case "$PHP_MAINTSCRIPT_METHOD" in
install|upgrade|abort-upgrade|configure|abort-remove|abort-deconfigure|remove|failed-upgrade|purge|disappear|abort-install)
# yay - recognized script
;;
*)
echo "php-maintscript-helper invoked from a modified environment. Please hint required arguments manually" >&2
return 1
;;
esac
if [ -z "$PHP_MAINTSCRIPT_ARGUMENT" ] ; then
PHP_MAINTSCRIPT_ARGUMENT="${2:-}"
fi
fi
#
# FUNCTIONS
#
#
# Function php_msg
# print out a warning to both, the syslog and a local standard output.
# This function should generally be used to display messages related to
# the web server in maintainer scripts.
# Parameters:
# priority
# The message priority. Recognized values are the same as defined
# by syslog(3), thus: one among debug, info, notice, warning,
# err, crit, alert, emerg.
# If no known priority is recognized, the priority is set to
# "warning".
# message
# The message as a string. It is printed out verbatim.
# Behavior:
# No message is displayed if PHP_MAINTSCRIPT_HELPER_QUIET is defined
# Returns:
# this function always returns 0
# Since: 5.5.0+dfsg-7
php_msg()
(
PRIORITY="$1"
MSG="$2"
case "$PRIORITY" in
debug|info|notice|warning|err|crit|alert|emerg)
;;
*)
PRIORITY="warning"
;;
esac
if [ -n "${PHP_MAINTSCRIPT_DEBUG:-}" ] || [ "$PRIORITY" != "debug" ]; then
[ -z "$PHP_MAINTSCRIPT_HELPER_QUIET" ] && echo "$MSG" >&2
fi
[ -x /usr/bin/logger ] || return 0
LOGGER="/usr/bin/logger -p daemon.$PRIORITY -t $PHP_MAINTSCRIPT_PACKAGE "
$LOGGER "$MSG" || return 0
)
#
# Function php_invoke
# invokes an PHP configuration helper to enable or disable a
# particular piece of configuration, a site or a module. It carefully
# checks whether the supplied configuration snippet exists and reloads the
# web server if the site administrator desires that by call dpkg trigger
# /etc/php/VERSION/SAPI/conf.d which is defined for apache2, apache2filter and fpm.
#
# Parameters:
# command - The command to invoke. Recognized commands are "enconf",
# "enmod", "ensite", "disconf", "dismod", "dissite"
#
# sapi - Either the specific SAPI (apache2, apache2filter, fpm,
# cgi, cli, embed, phpdbg) or ALL
#
# arguments
# - A single argument (e.g. a module) which shall be
# enabled or disabled respectively.
#
# Returns
# 0 if the changes could be activated
# 1 otherwise
# Since: 5.5.0+dsfg-7
php_invoke()
(
CMD=$1
VERSION=$2
SAPI=$3
MOD=$4
sapi_list=""
[ -x "/usr/sbin/php$CMD" ] || return 1
[ -x "/usr/sbin/phpquery" ] || return 1
case "$VERSION" in
ALL)
version_list=$(phpquery -V)
;;
*)
version_list="$VERSION"
# FIXME - check if the version is supported
;;
esac
for version in $version_list; do
case "$SAPI" in
apache2|apache2filter|fpm|cli|cgi|embed|phpdbg)
sapi_list="$SAPI"
;;
ALL)
sapi_list=$(phpquery -S -v "$version")
case "$CMD" in
enmod|dismod)
"php$CMD" -q -v "$version" -m -r "$MOD" || return 1
;;
*)
return 1
;;
esac
;;
*)
return 1
;;
esac
for sapi in $sapi_list; do
case "$CMD" in
enmod)
phpquery_ret=0
phpquery -v "$version" -s "$sapi" -m "$MOD" > /dev/null 2>&1 || phpquery_ret=$?
if [ "$phpquery_ret" -eq 0 ] ; then
# configuration is already enabled
"php$CMD" -m -v "$version" -s "$sapi" -q "$MOD" > /dev/null 2>&1 || return 1
php_msg "debug" "php_invoke $MOD: already enabled for PHP $version $sapi sapi"
PHP_NEED_ACTION=1
elif [ "$phpquery_ret" -eq 32 ] ; then
# the maintainer disabled the module
php_msg "info" "php_invoke $MOD: no action - module was disabled by maintainer for PHP $version $sapi sapi"
return 0
else
# coming here either means:
# a) we have no clue about the module (e.g. for upgrades prior to maintscript-helper
# b) it's a fresh install
PHP_NEED_ACTION=1
"php$CMD" -m -v "$version" -s "$sapi" -q "$MOD" > /dev/null 2>&1 || return 1
php_msg "debug" "php_invoke: Enabled module $MOD for $sapi sapi"
fi
;;
dismod)
phpquery_ret=0
phpquery -v "$version" -s "$sapi" -m "$MOD" > /dev/null 2>&1 || phpquery_ret=$?
if [ "$phpquery_ret" -eq 0 ] ; then
if [ "$PHP_MAINTSCRIPT_NAME" = 'postrm' ] && [ "$PHP_MAINTSCRIPT_METHOD" = "purge" ] ; then
"php$CMD" -p -f -v "$version" -s "$sapi" -q "$MOD" || return 1
php_msg "debug" "php_invoke $PHP_MAINTSCRIPT_NAME: Purging module $MOD for PHP $version $sapi sapi"
PHP_NEED_ACTION=1
elif [ "$PHP_MAINTSCRIPT_NAME" = 'postrm' ] || [ "$PHP_MAINTSCRIPT_NAME" = 'prerm' ] || [ "$PHP_MAINTSCRIPT_NAME" = 'preinst' ] ; then
if [ "$PHP_MAINTSCRIPT_METHOD" = "remove" ] || [ "$PHP_MAINTSCRIPT_METHOD" = "upgrade" ] ; then
"php$CMD" -m -f -v "$version" -s "$sapi" -q "$MOD" || return 1
php_msg "debug" "php_invoke $PHP_MAINTSCRIPT_NAME: Disabled module $MOD for PHP $version $sapi sapi"
PHP_NEED_ACTION=1
fi
else
php_msg "error" "php_invoke: module $MOD not supported in $PHP_MAINTSCRIPT_NAME for PHP $version $sapi sapi"
return 1
fi
elif [ "$phpquery_ret" -eq 32 ] || [ "$phpquery_ret" -eq 33 ] ; then
if [ "$PHP_MAINTSCRIPT_NAME" = 'postrm' ] && [ "$PHP_MAINTSCRIPT_METHOD" = "purge" ] ; then
php_msg "debug" "php_invoke $PHP_MAINTSCRIPT_NAME: Purging state for $MOD for PHP $version $sapi sapi"
# this will return RC=1
( "php$CMD" -p -f -v "$version" -s "$sapi" -q "$MOD" > /dev/null 2>&1 )
else
php_msg "debug" "php_invoke $MOD $PHP_MAINTSCRIPT_NAME: No action required for PHP $version $sapi sapi"
fi
else
php_msg "debug" "php_invoke $MOD $PHP_MAINTSCRIPT_NAME: No action required for PHP $version $sapi sapi"
fi
;;
*)
return 1
;;
esac
if [ -n "${PHP_NEED_ACTION:-}" ]; then
dpkg-trigger "/etc/php/$version/$sapi/conf.d"
fi
done
done
)
# vim: syntax=sh sw=8 sts=8 sr noet

278
phpenmod Executable file
View File

@ -0,0 +1,278 @@
#!/bin/sh
#
# phpenmod - a PHP module manager for Debian
#
# Copyright 2013-2015 Ondřej Surý <ondrej@sury.org>
#
# 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.
set -ue
SCRIPT_NAME=${0##*/}
QUIET=no
NEED_RESTART=no
MAINT_MODE=no
. /usr/lib/php/php-helper
usage() {
[ -n "$@" ] && warning $@
echo "usage: ${SCRIPT_NAME} [ -v ALL|php_version ] [ -s ALL|sapi_name ] module_name [ module_name_2 ]"
exit 1
}
resolve_versions() {
local versions=$1
if [ "$versions" = "ALL" ]; then
versions=$(phpquery -V)
fi
echo $versions
}
resolve_sapis() {
local version=$1
local sapis=$2
if [ "$sapis" = "ALL" ]; then
sapis=$(phpquery -S -v $version)
fi
echo $sapis
}
enmods() {
local versions="$1"
local sapis="$2"
local mods="$3"
local register="$4"
local versions
local sapis
local version
local sapi
local mod
for mod in $mods; do
for version in $(resolve_versions "$versions"); do
for sapi in $(resolve_sapis "$version" "$sapis"); do
enmod_ret=0
enmod "$version" "$sapi" "$mod" || enmod_ret=$?
case $enmod_ret in
0)
NEED_RESTART=yes
record_state enabled "$version" "$sapi" "$mod"
;;
esac
done
if [ "$register" = "yes" ]; then
mod_registry register "$version" "$mod"
fi
done
done
}
dismods() {
local versions="$1"
local sapis="$2"
local mods="$3"
local register="$4"
local purge="$5"
local version
local sapi
local mod
for mod in $mods; do
for version in $(resolve_versions "$versions"); do
for sapi in $(resolve_sapis "$version" "$sapis"); do
local dismod_ret=0
dismod "$version" "$sapi" "$mod" "$purge" || dismod_ret=$?
case $dismod_ret in
0)
NEED_RESTART=yes
record_state disabled "$version" "$sapi" "$mod"
;;
esac
done
done
if [ "$purge" = "yes" ]; then
remove_state enabled "$version" "$sapi" "$mod"
remove_state disabled "$version" "$sapi" "$mod"
mod_registry unregister "$version" "$mod"
elif [ "$register" = "yes" ]; then
mod_registry unregister "$version" "$mod"
fi
done
}
enmod() {
local version=$1
local sapi=$2
local modname=$3
if ! module_exists "$version" "$modname"; then
warning "Module $modname ini file doesn't exist under /etc/php/${version}/mods-available"
return 1
fi
local priority=$(get_priority "$version" "$sapi" "$modname")
local live_link=$(get_live_link "$version" "$sapi" "$modname" "$priority")
local live_link_content=$(get_live_link_content "$version" "$sapi" "$modname" "$priority")
local module_state=0
phpquery -q -v "$version" -s "$sapi" -m "$modname" || module_state=$?
case "$module_state" in
# module enabled, but re-enable the conf.d link just in case
0)
;;
# module not yet enabled
1)
;;
# module disabled by maintainer script
33)
;;
# module disabled by site administrator
# enable module only if not running in maintainer mode
32)
if [ "$MAINT_MODE" = "yes" ]; then
warning "Not enabling the ${modname} module for PHP ${version} ${sapi} SAPI since the module"
warning "was disabled by local administrator."
return 1
fi
;;
34)
warning "Not enabling the ${modname} module for PHP ${version} ${sapi} SAPI since module symlink"
warning "already exists in /etc/php/${version}/${sapi}/conf.d with different content."
return 1
;;
# fail if we get any different result
*)
warning "Unable to get module state, run phpquery -v ${version} -s ${sapi} -m ${modname} manually"
warning "and fix the module state."
return 1
esac
if [ -d "/etc/php/${version}/$sapi/conf.d" ]; then
if [ ! -h "${live_link}" ]; then
ln -s "${live_link_content}" "${live_link}"
fi
else
warning "Directory /etc/php/${version}/${sapi}/conf.d doesn't exist, not enabling the module"
return 1
fi
return 0
}
dismod() {
local version=$1
local sapi=$2
local modname=$3
local purge=$4
if ! module_exists "$version" "$modname"; then
if [ "$purge" = "no" ]; then
warning "Module ${modname} ini file doesn't exist under /etc/php/${version}/mods-available"
return 1
fi
fi
local priority=$(get_priority "$version" "$sapi" "$modname")
local live_link=$(get_live_link "$version" "$sapi" "$modname" "$priority")
local live_link_content=$(get_live_link_content "$version" "$sapi" "$modname" "$priority")
local module_state=0
phpquery -q -v "$version" -s "$sapi" -m "$modname" || module_state=$?
case $module_state in
# module enabled
0)
;;
# module not enabled, but re-remove the link just in case
1|32|33)
;;
34)
warning "Not disabling module ${modname} for ${sapi} SAPI. The configuration was"
warning "modified by local administrator."
return 1
;;
# fail if we get any different result
*)
warning "Unable to get module state, run phpquery -v ${version} -s ${sapi} -m ${modname} manually"
warning "and fix the module state."
return 1
esac
if [ -d "/etc/php/${version}/${sapi}/conf.d" ]; then
if [ -h "$live_link" ]; then
rm -f "$live_link"
fi
fi
return 0
}
versions=
sapis=
register=no
purge=no
while getopts pfv:s:mqr opt; do
case $opt in
r) register=yes;;
v)
if [ "$versions" = "ALL" -o \( "$OPTARG" = "ALL" -a -n "$versions" \) ]; then
warning "You cannot specify ALL and individual versions"
usage
fi
versions="${versions}${versions:+ }$OPTARG"
;;
s)
if [ "$sapis" = "ALL" -o \( "$OPTARG" = "ALL" -a -n "$sapis" \) ]; then
warning "You cannot specify ALL and individual sapis"
usage
fi
sapis="${sapis}${sapis:+ }$OPTARG"
;;
m) MAINT_MODE=yes;;
p) purge=yes;;
q) QUIET=yes;;
\?) usage;;
esac
done
shift $(expr $OPTIND - 1)
mods=""
for mod in $@; do
mods="${mods}${mods:+ }${mod%%/*}"
done
# If -v or -s was not specified run on every version and every SAPI
[ -z "$versions" ] && versions=ALL
[ -z "$sapis" ] && sapis=ALL
[ -z "$mods" ] && usage
case "${SCRIPT_NAME}" in
phpenmod)
enmods "$versions" "$sapis" "$mods" "$register"
;;
phpdismod)
dismods "$versions" "$sapis" "$mods" "$register" "$purge"
;;
*)
usage
;;
esac
exit 0

252
phpquery Executable file
View File

@ -0,0 +1,252 @@
#!/bin/sh
#
# phpquery - a PHP module manager for Debian
#
# Copyright 2013-2015 Ondřej Surý <ondrej@sury.org>
#
# 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.
set -ue
SCRIPT_NAME=${0##*/}
QUIET=no
. /usr/lib/php/php-helper
usage() {
[ -n "$@" ] && warning $@
echo "usage: ${SCRIPT_NAME} [ -d ] [ -q ] -v version_name -s sapi_name [ -m module_name ] [ -M ] [ -S ] [ -V ]"
exit 1
}
check_mod() {
local version=$1
local sapi=$2
local modname=$3
if ! module_exists $version $modname; then
output "No module matches $modname"
return 1
fi
local priority=$(get_priority $version $sapi $modname)
local live_link=$(get_live_link $version $sapi $modname $priority)
local live_link_content=$(get_live_link_content $version $sapi $modname $priority)
found=no
local state_dir="$(get_state_dir $version $sapi)"
if [ -e "${live_link}" ] ; then
if [ -h "${live_link}" ] ; then
local content="$(readlink "${live_link}")"
if [ "${content}" = "${live_link_content}" ] ; then
if [ -e "${state_dir}/enabled_by_admin/$modname" ]; then
output "$modname (Enabled for $sapi by local administrator)"
return 0
elif [ -e "${state_dir}/enabled_by_maint/$modname" ]; then
output "$modname (Enabled for $sapi by maintainer script)"
return 0
fi
output "$modname (Enabled for $sapi by unknown)"
return 0
else
output "Module $modname symlink was modified by local administrator."
return 34
fi
fi
else
if [ -e "${state_dir}/disabled_by_admin/$modname" ]; then
output "No module matches $modname (Disabled for $sapi by local administrator)"
return 32
elif [ -e "${state_dir}/disabled_by_maint/$modname" ]; then
output "No module matches $modname (Disabled for $sapi by maintainer script)"
return 33
fi
output "No module matches $modname (Disabled for $sapi by unknown)"
return 1
fi
}
list_mod() {
local _version=$1
local _sapi=$2
local verbose=$3
if [ "$_version" = "ALL" ]; then
versions=$(list_version)
else
versions=$_version
fi
for version in $versions; do
local registry_dir="$(get_registry_dir "$version")"
if [ -d "$registry_dir" ]; then
for mod in $(list_parts "$registry_dir"); do
if [ "$_sapi" = "ALL" ]; then
sapis=$(list_sapi $version)
else
sapis="$_sapi"
fi
if [ "$verbose" = "yes" ]; then
for sapi in $sapis; do
check_mod $version $sapi $mod
done
else
echo $mod
fi
done
fi
done
return 0
}
list_version() {
local version_dir="$(get_version_dir)"
if [ -d "$version_dir" ]; then
local version=
for version in $(list_parts_regex "$version_dir" '.*[0-9]\.[0-9]'); do
echo $version;
done | sort -rn
fi
}
list_sapi() {
local version=$1
local sapi_dir="$(get_sapi_dir $version)"
if [ -d "$sapi_dir" ]; then
for sapi in $(list_parts "$sapi_dir"); do
echo $sapi;
done
fi
}
check_version() {
local version=$1
local version_dir=$(get_version_dir)
if [ -d "$version_dir/$version" ]; then
return 0
fi
return 1
}
check_sapi() {
local version=$1
local sapi=$2
local sapi_dir="$(get_sapi_dir $version)"
if [ -e "$sapi_dir/$sapi" ]; then
return 0
fi
return 1
}
action() {
local action=$1
local version=$2
local sapi=$3
local mod=$4
local verbose=$5
ret=0
case "$action" in
check_mod)
[ -z "$version" -o -z "$sapi" ] && usage "You need to specify version (-v) and sapi (-s)"
check_version "$version" || usage "Invalid PHP version ($version) specified"
check_sapi "$version" "$sapi" || usage "Invalid SAPI ($sapi) specified"
check_mod "$version" "$sapi" "$mod" || ret=$?
;;
check_sapi)
[ -z "$version" ] && usage "You need to specify version (-v)"
check_version "$version" || usage "Invalid PHP version ($version) specified"
check_sapi "$version" "$sapi" || ret=$?
if [ "$ret" -eq 0 ]; then
output "$sapi"
fi
;;
check_version)
check_version $version || ret=$?
if [ "$ret" -eq 0 ]; then
output "$sapi"
fi
;;
list_version) list_version || ret=$?;;
list_mod) list_mod "$version" "$sapi" "$verbose" || ret=$?;;
list_sapi) list_sapi "$version" || ret=$?;;
*) usage "Unknown action $action"; ret=3;;
esac
return $ret
}
verbose=no
action=
version=
sapi=
mod=
double_action() {
usage "Cannot use $1 and $2 at the same time, pick only one mode of operation.";
}
while getopts ds:m:SMqv:V opt; do
case $opt in
v)
version="$OPTARG"
;;
V)
[ -n "$action" ] && double_action $action list_version;
action=list_version
;;
s)
sapi="$OPTARG"
;;
S)
[ -n "$action" ] && double_action $action list_sapi
action="list_sapi"
;;
m)
mod="$OPTARG"
;;
M)
[ -n "$action" ] && double_action $action list_mod
action="list_mod"
;;
q)
QUIET=yes
;;
d)
verbose=yes
;;
\?) usage "Unknown parameter specified";;
esac
done
shift $(expr $OPTIND - 1)
if [ -z "$action" ]; then
if [ -n "$mod" ]; then
action=check_mod
elif [ -n "$sapi" ]; then
action=check_sapi
elif [ -n "$version" ]; then
action=check_version
else
usage "You need to specify at least one action."
fi
fi
action "$action" "$version" "$sapi" "$mod" "$verbose"
exit $?

9
phpsessionclean.service Normal file
View File

@ -0,0 +1,9 @@
[Unit]
Description=Clean php session files
[Service]
Type=oneshot
ExecStart=/usr/lib/php/sessionclean
ProtectHome=true
ProtectSystem=true
PrivateTmp=true

9
phpsessionclean.timer Normal file
View File

@ -0,0 +1,9 @@
[Unit]
Description=Clean PHP session files every 30 mins
[Timer]
OnCalendar=*-*-* *:09,39:00
Persistent=true
[Install]
WantedBy=timers.target

58
sessionclean Executable file
View File

@ -0,0 +1,58 @@
#!/bin/sh -e
#
# sessionclean - a script to cleanup stale PHP sessions
#
# Copyright 2013-2015 Ondřej Surý <ondrej@sury.org>
#
# 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.
SAPIS="apache2:apache2 apache2filter:apache2 cgi:php@VERSION@ fpm:php-fpm@VERSION@ cli:php@VERSION@"
# Iterate through all web SAPIs
(
proc_names=""
for version in $(/usr/sbin/phpquery -V); do
for sapi in ${SAPIS}; do
conf_dir=${sapi%%:*}
proc_name=${sapi##*:}
if [ -e "/etc/php/${version}/${conf_dir}/php.ini" ] && [ -x "/usr/bin/php${version}" ]; then
# Get all session variables once so we don't need to start PHP to get each config option
session_config=$(PHP_INI_SCAN_DIR=/etc/php/${version}/${conf_dir}/conf.d/ "/usr/bin/php${version}" -c "/etc/php/${version}/${conf_dir}/php.ini" -d "error_reporting='~E_ALL'" -r 'foreach(ini_get_all("session") as $k => $v) echo "$k=".$v["local_value"]."\n";')
save_handler=$(echo "$session_config" | sed -ne 's/^session\.save_handler=\(.*\)$/\1/p')
save_path=$(echo "$session_config" | sed -ne 's/^session\.save_path=\(.*;\)\?\(.*\)$/\2/p')
gc_maxlifetime=$(($(echo "$session_config" | sed -ne 's/^session\.gc_maxlifetime=\(.*\)$/\1/p')/60))
if [ "$save_handler" = "files" ] && [ -d "$save_path" ]; then
proc_names="$proc_names $(echo "$proc_name" | sed -e "s,@VERSION@,$version,")";
printf "%s:%s\n" "$save_path" "$gc_maxlifetime"
fi
fi
done
done
# first find all open session files and touch them (hope it's not massive amount of files)
for pid in $(pidof $proc_names); do
find "/proc/$pid/fd" -ignore_readdir_race -lname "$save_path/sess_*" -exec touch -c {} \; 2>/dev/null
done ) | \
sort -rn -t: -k2,2 | \
sort -u -t: -k 1,1 | \
while IFS=: read -r save_path gc_maxlifetime; do
# find all files older then maxlifetime and delete them
find -O3 "$save_path/" -ignore_readdir_race -depth -mindepth 1 -name 'sess_*' -type f -cmin "+$gc_maxlifetime" -delete
done
exit 0