Skip to content
Snippets Groups Projects
Select Git revision
  • 04e0b156400798ab9527385946f632f744ed60d5
  • master default protected
  • pymilter-1.0.4
  • pymilter-1.0.3
  • pymilter-1.0.2
  • pymilter-1.0.1
  • pymilter-1_0
  • milter-0_8_18
  • pymilter-0_9_8
  • pymilter-0_9_7
  • pymilter-0_9_6
  • pymilter-0_9_5
  • pymilter-0_9_4
  • pymilter-0_9_2
  • pymilter-0_9_1
  • pymilter-0_9_0
  • pymilter-0_8_12
  • pymilter-0_8_11
  • pymilter-0_8_10
  • pymilter-0_8_9
  • milter-0_8_8
  • milter-0_8_7
22 results

utils.py

Blame
  • install.sls 2.99 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
    
      {%- for product, data in mysql.macos.products.items() if "enabled" in data and data.enabled %}
          {%- set archivefile = data.url.split('/')[-1] %}
          {%- set archiveformat = archivefile.split('.')[-1] %}
          {%- set archivename = archivefile|replace('.dmg', '')|replace('.tar.gz', '')|replace('.zip', '') %}
    
    mysql-macos-download-{{ product }}-archive:
      pkg.installed:
        - name: curl
      cmd.run:
        - name: curl {{ dl.opts }} -o {{ dl.tmpdir }}/{{ archivefile }} {{ data.url }}
        - unless: test -f {{ dl.tmpdir }}/{{ archivefile }}
          {% if grains['saltversioninfo'] >= [2017, 7, 0] %}
        - retry:
            attempts: {{ dl.retries }}
            interval: {{ dl.interval }}
            until: True
            splay: 10
          {% endif %}
        - require:
          - mysql-macos-extract-dirs
    
        {%- if data.sum %}
    mysql-macos-check-{{ product }}-archive-hash:
       module.run:
         - name: file.check_hash
         - path: {{ dl.tmpdir }}/{{ archivefile }}
         - file_hash: {{ data.sum }}
         - require:
           - cmd: 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 }}/{{ archivefile }}"
        - dmg: True
        - app: {{ 'True' if "isapp" not in data else data.isapp }}
        - force: True
        - allow_untrusted: True
        - onchanges:
          - mysql-macos-download-{{ product }}-archive
    
        {%- elif archiveformat in ("gz", "zip",) %}
    
      archive.extracted:
        - source: file://{{ dl.tmpdir }}{{ archivefile }}
        - name: {{ dl.prefix }}/{{ archivename }}
        - trim_output: True
        - source_hash: {{ data.sum }}
        - onchanges:
          - mysql-macos-download-{{ product }}-archive
        {%- endif %}
    
          {%- if "path" in data and data.path and "app" in data and data.app %}