Browse Source

Merge pull request #66 from xclusv/feature-customize-service-name-and-status

Source install: Customize service name and status
susefix
Nitin Madhok 10 years ago
parent
commit
89a30e31de
2 changed files with 34 additions and 26 deletions
  1. +27
    -19
      nginx/source.sls
  2. +7
    -7
      nginx/templates/nginx.init.jinja

+ 27
- 19
nginx/source.sls View File

{% set without_items = nginx.get('without', []) -%} {% set without_items = nginx.get('without', []) -%}
{% set make_flags = nginx.get('make_flags', nginx_map['make_flags']) -%} {% set make_flags = nginx.get('make_flags', nginx_map['make_flags']) -%}


{% set service_name = nginx.get('service_name', 'nginx') %}
{% set service_enable = nginx.get('service_enable', True) %}

{% set nginx_package = source + '/nginx-' + version + '.tar.gz' -%} {% set nginx_package = source + '/nginx-' + version + '.tar.gz' -%}
{% set nginx_source = source + "/nginx-" + version -%} {% set nginx_source = source + "/nginx-" + version -%}
{% set nginx_modules_dir = source + "/nginx-modules" -%} {% set nginx_modules_dir = source + "/nginx-modules" -%}
- file: {{ nginx_modules_dir }} - file: {{ nginx_modules_dir }}
cmd.wait: cmd.wait:
- cwd: {{ source }} - cwd: {{ source }}
- name: tar -zxf {{ nginx_package }}
- name: tar --transform "s,^$(tar --list -zf nginx-{{ version }}.tar.gz | head -n 1),nginx-{{ version }}/," -zxf {{ nginx_package }}
- require: - require:
- pkg: get-nginx - pkg: get-nginx
- file: get-nginx - file: get-nginx
- file: get-ngx_devel_kit - file: get-ngx_devel_kit
{% endif %} {% endif %}


nginx-source-modified:
is-nginx-source-modified:
cmd.run: cmd.run:
- cwd: {{ nginx_source }}
- cwd: {{ source }}
- stateful: True - stateful: True
- names: - names:
- m=$(find . \! -name "build.*" -newer {{ sbin_dir }}/nginx -print -quit);
- if [ ! -d "nginx-{{ version }}" ]; then
echo "changed=yes comment='Tarball has not yet been extracted'";
exit 0;
fi;
cd "nginx-{{ version }}";
m=$(find . \! -name "build.*" -newer {{ sbin_dir }}/nginx -print -quit);
r=$?; r=$?;
if [ x$r != x0 ]; then if [ x$r != x0 ]; then
echo "changed=yes comment='binary file does not exist or other find error'"; echo "changed=yes comment='binary file does not exist or other find error'";
echo "changed=no comment='source files are older than binary'" echo "changed=no comment='source files are older than binary'"


{% for name, module in nginx.get('modules', {}).items() -%} {% for name, module in nginx.get('modules', {}).items() -%}
nginx-module-modified-{{name}}:
is-nginx-module-modified-{{name}}:
cmd.run: cmd.run:
- cwd: {{ nginx_modules_dir }}/{{name}} - cwd: {{ nginx_modules_dir }}/{{name}}
- stateful: True - stateful: True
{% endif %} {% endif %}
- watch: - watch:
- cmd: get-nginx - cmd: get-nginx
- cmd: nginx-source-modified
- cmd: is-nginx-source-modified
{% for name, module in nginx.get('modules', {}).items() -%} {% for name, module in nginx.get('modules', {}).items() -%}
- cmd: nginx-module-modified-{{name}}
- cmd: is-nginx-module-modified-{{name}}
- file: get-nginx-{{name}} - file: get-nginx-{{name}}
{% endfor %} {% endfor %}
{% if use_sysvinit %} {% if use_sysvinit %}
{% for name, module in nginx.get('modules', {}).items() -%} {% for name, module in nginx.get('modules', {}).items() -%}
- file: get-nginx-{{name}} - file: get-nginx-{{name}}
{% endfor %} {% endfor %}
- require_in:
- service: nginx
file: file:
- managed - managed
- template: jinja - template: jinja
- name: /etc/init.d/nginx
- name: /etc/init.d/{{ service_name }}
- source: salt://nginx/templates/nginx.init.jinja - source: salt://nginx/templates/nginx.init.jinja
- user: root - user: root
- group: root - group: root
- mode: 0755 - mode: 0755
- context: - context:
service_name: {{ service_name }}
sbin_dir: {{ sbin_dir }} sbin_dir: {{ sbin_dir }}
pid_path: {{ pid_path }} pid_path: {{ pid_path }}
service: service:
{% if service_enable %}
- running - running
- enable: True - enable: True
- restart: True - restart: True
{% else %}
- dead
- enable: False
{% endif %}
- name: {{ service_name }}
- watch: - watch:
- cmd: nginx - cmd: nginx
- file: {{ conf_dir }}/nginx.conf - file: {{ conf_dir }}/nginx.conf
{{ conf_dir }}/{{ file }}: {{ conf_dir }}/{{ file }}:
file: file:
- absent - absent
watch:
- cmd: nginx
{{ conf_dir }}/{{ file }}.default:
file:
- absent
watch:
- cmd: nginx
- require_in:
- service: nginx
{% endfor %} {% endfor %}


{% for file in nginx.get('delete_htdocs', []) %} {% for file in nginx.get('delete_htdocs', []) %}
{{ install_prefix }}/html/{{ file }}: {{ install_prefix }}/html/{{ file }}:
file: file:
- absent - absent
watch:
- cmd: nginx
- require_in:
- service: nginx
{% endfor %} {% endfor %}

+ 7
- 7
nginx/templates/nginx.init.jinja View File

#!/bin/sh #!/bin/sh


### BEGIN INIT INFO ### BEGIN INIT INFO
# Provides: nginx
# Provides: {{ service_name }}
# Required-Start: $local_fs $remote_fs $network $syslog # Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog # Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5 # Default-Start: 2 3 4 5
# Default-Stop: 0 1 6 # Default-Stop: 0 1 6
# Short-Description: starts the nginx web server
# Description: starts nginx using start-stop-daemon
# Short-Description: starts the {{ service_name }} web server
# Description: starts {{ service_name }} using start-stop-daemon
### END INIT INFO ### END INIT INFO


PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON={{ sbin_dir }}/nginx DAEMON={{ sbin_dir }}/nginx
NAME=nginx
DESC=nginx
NAME={{ service_name }}
DESC={{ service_name }}


# Include nginx defaults if available # Include nginx defaults if available
if [ -f /etc/default/nginx ]; then
. /etc/default/nginx
if [ -f /etc/default/$NAME ]; then
. /etc/default/$NAME
fi fi


test -x $DAEMON || exit 0 test -x $DAEMON || exit 0

Loading…
Cancel
Save