diff mbox

[5/5] package/nginx: fix error is nginx.service

Message ID 1462132345-28253-5-git-send-email-martin@barkynet.com
State Superseded
Headers show

Commit Message

Martin Bark May 1, 2016, 7:52 p.m. UTC
When using systemd nginx fails to start with the error

    /usr/bin/mkdir: invalid option -- 't'

This is due to a missing space before the semicolon in nginx.service.
For systemd to handle multiple commands in ExecStartPre it requires the
semicolon to be a separate word.  This commit adds the missing space.

Signed-off-by: Martin Bark <martin@barkynet.com>
---
 package/nginx/nginx.service | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Thomas Petazzoni May 1, 2016, 9:47 p.m. UTC | #1
Hello,

On Sun,  1 May 2016 20:52:25 +0100, Martin Bark wrote:

> -ExecStartPre=/usr/bin/mkdir -p /var/log/nginx /var/tmp/nginx; /usr/sbin/nginx -t -q -g 'pid /var/run/nginx.pid; daemon on; master_process on;'
> +ExecStartPre=/usr/bin/mkdir -p /var/log/nginx /var/tmp/nginx ; /usr/sbin/nginx -t -q -g 'pid /var/run/nginx.pid; daemon on; master_process on;'

Isn't:

ExecStartPre=/usr/bin/mkdir -p /var/log/nginx /var/tmp/nginx
ExecStartPre=/usr/sbin/nginx -t -q -g 'pid /var/run/nginx.pid; daemon on; master_process on;'

a better solution?

According to man systemd.service:

       ExecStartPre=, ExecStartPost=
           Additional commands that are executed before or after the command
           in ExecStart=, respectively. Syntax is the same as for ExecStart=,
           except that multiple command lines are allowed and the commands are
           executed one after the other, serially.

(To be tested, I don't know much about systemd).

Thanks!

Thomas
Martin Bark May 3, 2016, 9 a.m. UTC | #2
Thomas,

On 1 May 2016 at 22:47, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Hello,
>
> On Sun,  1 May 2016 20:52:25 +0100, Martin Bark wrote:
>
>> -ExecStartPre=/usr/bin/mkdir -p /var/log/nginx /var/tmp/nginx; /usr/sbin/nginx -t -q -g 'pid /var/run/nginx.pid; daemon on; master_process on;'
>> +ExecStartPre=/usr/bin/mkdir -p /var/log/nginx /var/tmp/nginx ; /usr/sbin/nginx -t -q -g 'pid /var/run/nginx.pid; daemon on; master_process on;'
>
> Isn't:
>
> ExecStartPre=/usr/bin/mkdir -p /var/log/nginx /var/tmp/nginx
> ExecStartPre=/usr/sbin/nginx -t -q -g 'pid /var/run/nginx.pid; daemon on; master_process on;'
>
> a better solution?

Yes you are right, that will work and i agree it looks neater.  I'll
update the patch and resubmit.

Thanks

Martin

>
> According to man systemd.service:
>
>        ExecStartPre=, ExecStartPost=
>            Additional commands that are executed before or after the command
>            in ExecStart=, respectively. Syntax is the same as for ExecStart=,
>            except that multiple command lines are allowed and the commands are
>            executed one after the other, serially.
>
> (To be tested, I don't know much about systemd).
>
> Thanks!
>
> Thomas
> --
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com
diff mbox

Patch

diff --git a/package/nginx/nginx.service b/package/nginx/nginx.service
index 619755f..2ea4ff7 100644
--- a/package/nginx/nginx.service
+++ b/package/nginx/nginx.service
@@ -5,7 +5,7 @@  After=syslog.target network.target
 [Service]
 Type=forking
 PIDFile=/var/run/nginx.pid
-ExecStartPre=/usr/bin/mkdir -p /var/log/nginx /var/tmp/nginx; /usr/sbin/nginx -t -q -g 'pid /var/run/nginx.pid; daemon on; master_process on;'
+ExecStartPre=/usr/bin/mkdir -p /var/log/nginx /var/tmp/nginx ; /usr/sbin/nginx -t -q -g 'pid /var/run/nginx.pid; daemon on; master_process on;'
 ExecStart=/usr/sbin/nginx -g 'pid /var/run/nginx.pid; daemon on; master_process on;'
 ExecReload=/usr/sbin/nginx -g 'pid /var/run/nginx.pid; daemon on; master_process on;' -s reload
 ExecStop=/usr/sbin/nginx -g 'pid /var/run/nginx.pid;' -s quit