[bug#41529] services: php-fpm: Add 'php-ini-file' configuration.
diff mbox series

Message ID 20200525164845.9012-1-jlicht@fsfe.org
State New
Headers show
Series
  • [bug#41529] services: php-fpm: Add 'php-ini-file' configuration.
Related show

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job

Commit Message

Jelle Licht May 25, 2020, 4:48 p.m. UTC
* gnu/services/web.scm: (<php-fpm-configuration>)[php-ini-file]: New record field.
(php-fpm-shepherd-service): Use it.
* doc/guix.texi (Web Services): Document it.
---
 doc/guix.texi        |  4 ++++
 gnu/services/web.scm | 10 ++++++++--
 2 files changed, 12 insertions(+), 2 deletions(-)

Comments

Jonathan Brielmaier May 25, 2020, 5:11 p.m. UTC | #1
Nice Jelle!

On 25.05.20 18:48, Jelle Licht wrote:
> * gnu/services/web.scm: (<php-fpm-configuration>)[php-ini-file]: New record field.
> (php-fpm-shepherd-service): Use it.
> * doc/guix.texi (Web Services): Document it.
> ---
>  doc/guix.texi        |  4 ++++
>  gnu/services/web.scm | 10 ++++++++--
>  2 files changed, 12 insertions(+), 2 deletions(-)
>
> diff --git a/doc/guix.texi b/doc/guix.texi
> index 3d1b097447..82ea7ae852 100644
> --- a/doc/guix.texi
> +++ b/doc/guix.texi
> @@ -21370,6 +21370,10 @@ Can be set to @code{#f} to disable logging.
>  @item @code{file} (default @code{#f})
>  An optional override of the whole configuration.
>  You can use the @code{mixed-text-file} function or an absolute filepath for it.
> +@item @code{php-ini-file} (default @code{#f})
> +An optional override of the default php settings.
> +It may be any ``file-like'' object (@pxref{G-Expressions, file-like objects}).
> +You can use the @code{mixed-text-file} function or an absolute filepath for it.
>  @end table
>  @end deftp

Could you add a small simple example here. I would relaly appreciate it!

Patch
diff mbox series

diff --git a/doc/guix.texi b/doc/guix.texi
index 3d1b097447..82ea7ae852 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -21370,6 +21370,10 @@  Can be set to @code{#f} to disable logging.
 @item @code{file} (default @code{#f})
 An optional override of the whole configuration.
 You can use the @code{mixed-text-file} function or an absolute filepath for it.
+@item @code{php-ini-file} (default @code{#f})
+An optional override of the default php settings.
+It may be any ``file-like'' object (@pxref{G-Expressions, file-like objects}).
+You can use the @code{mixed-text-file} function or an absolute filepath for it.
 @end table
 @end deftp
 
diff --git a/gnu/services/web.scm b/gnu/services/web.scm
index 9fcfe8a0dc..7cc53ef12f 100644
--- a/gnu/services/web.scm
+++ b/gnu/services/web.scm
@@ -159,6 +159,7 @@ 
             php-fpm-configuration-timezone
             php-fpm-configuration-workers-log-file
             php-fpm-configuration-file
+            php-fpm-configuration-php-ini-file
 
             <php-fpm-dynamic-process-manager-configuration>
             php-fpm-dynamic-process-manager-configuration
@@ -857,6 +858,8 @@  of index files."
                                             (version-major (package-version php))
                                             "-fpm.www.log")))
   (file             php-fpm-configuration-file ;#f | file-like
+                    (default #f))
+  (php-ini-file     php-fpm-configuration-php-ini-file ;#f | file-like
                     (default #f)))
 
 (define-record-type* <php-fpm-dynamic-process-manager-configuration>
@@ -963,7 +966,7 @@  of index files."
   (match-lambda
     (($ <php-fpm-configuration> php socket user group socket-user socket-group
                                 pid-file log-file pm display-errors
-                                timezone workers-log-file file)
+                                timezone workers-log-file file php-ini-file)
      (list (shepherd-service
             (provision '(php-fpm))
             (documentation "Run the php-fpm daemon.")
@@ -974,7 +977,10 @@  of index files."
                         #$(or file
                               (default-php-fpm-config socket user group
                                 socket-user socket-group pid-file log-file
-                                pm display-errors timezone workers-log-file)))
+                                pm display-errors timezone workers-log-file))
+                        #$@(if php-ini-file
+                               `("-c" ,php-ini-file)
+                               '()))
                       #:pid-file #$pid-file))
             (stop #~(make-kill-destructor)))))))