Skip to content
Snippets Groups Projects
Select Git revision
  • 289fcb48d758f4dd46012016beedb5c324cac6f5
  • master default protected
  • hsh_v4.5
  • hsh_v4-4
  • hsh_v4.4
  • hsh_v4.3
  • hsh_v4.1.x
  • hsh_v4.2
  • hsh_v4.1
  • hsh_v3.11
  • hsh_3.10
  • v3.11-r2-hsh
  • v3.11-r2
  • v3.11-r1
  • v3.10-r1
  • v3.9-r1
  • v3.8-r2
  • v3.8-r1
  • v3.7-r1
19 results

processor.php

Blame
  • install.sls 2.48 KiB
    ###  mysql/macos/install.sls
    # -*- coding: utf-8 -*-
    # vim: ft=yaml
    {%- from salt.file.dirname(tpldir) ~ "/map.jinja" import mysql with context -%}
    
       {%- set dl = mysql.macos.dl %}
    
    mysql-macos-extract-dirs:
      file.directory:
        - name: {{ dl.tmpdir }}
        - makedirs: True
        - clean: True
    
      {%- for product, data in mysql.macos.products.items() if data.enabled %}
          {%- set archivename = data.url.split('/')[-1]|quote %}
          {%- set archiveformat = archivename.split('.')[-1] %}
    
    mysql-macos-remove-previous-{{ product }}-download-archive:
      file.absent:
        - name: {{ dl.tmpdir }}/{{ archivename }}
        - require_in:
          - mysql-macos-download-{{ product }}-archive
    
    mysql-macos-download-{{ product }}-archive:
      pkg.installed:
        - name: curl
      cmd.run:
        - name: curl {{ dl.opts }} -o {{ dl.tmpdir }}/{{ archivename }} {{ data.url }}
          {% if grains['saltversioninfo'] >= [2017, 7, 0] %}
        - retry:
            attempts: {{ dl.retries }}
            interval: {{ dl.interval }}
          {% endif %}
        - require:
          - mysql-macos-extract-dirs
    
         {%- if data.sum %}
    mysql-macos-check-{{ product }}-archive-hash:
       module.run:
         - name: file.check_hash
         - path: {{ dl.tmpdir }}/{{ archivename }}
         - file_hash: {{ data.sum }}
         - onchanges:
           - mysql-macos-download-{{ product }}-archive
         - require_in:
           - mysql-macos-{{ product }}-install
         {%- endif %}
    
    mysql-macos-{{ product }}-install:
         {%- if archiveformat in ('dmg',) %}
      macpackage.installed:
        - name: "{{ dl.tmpdir }}/{{ archivename }}"
        - dmg: True
        - app: {{ 'True' if "isapp" not in data else data.isapp }}
        - force: True
        - allow_untrusted: True
        - onchanges:
          - mysql-macos-download-{{ product }}-archive
        - require_in:
          - mysql-macos-remove-{{ product }}-archive
      file.append:
        - name: {{ mysql.macos.userhomes }}/{{ mysql.macos.user }}/.bash_profile
        - text: 'export PATH=$PATH:{{ data.dest }}/Contents/Versions/latest/bin'
    
         {%- elif archiveformat in ('gz', 'zip',) %}
      archive.extracted:
        - source: file://{{ dl.tmpdir }}{{ archivename }}
        - name: {{ dl.bindir }}
        - trim_output: True
        - source_hash: {{ data.sum }}