Skip to content

Commit da0542c

Browse files
Fixes required for MacOS
1 parent 1015173 commit da0542c

File tree

4 files changed

+89
-58
lines changed

4 files changed

+89
-58
lines changed

pillar.example

+8-5
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,21 @@ sqlplus:
55
uri: http://download.example.com/oracle/instantclient/
66
version: 12.2.0.1.0
77
md5:
8+
{% if grains.os == 'MacOS' %}
9+
##macos.x64 package cksums
10+
basic: md5=537713092a123b3f43d6f1a2be0fe53f
11+
sdk: md5=6791925e182d534a8143847263157d8f
12+
sqlplus: md5=0c23f99617f6c2d11ac6df1704c7cd85
13+
{% else %}
814
#linux.x64 package cksums
915
basic: md5=d9639092e3dea2e023272e52e2bd42da
1016
sqlplus: md5=93ae87df1d08bb31da57443a416edc8c
1117
sdk: md5=077fa2f215185377ccb670de9ca1678f
12-
##macos.x64 package cksums
13-
#basic: md5=537713092a123b3f43d6f1a2be0fe53f
14-
#sdk: md5=6791925e182d534a8143847263157d8f'
15-
#sqlplus: md5=0c23f99617f6c2d11ac6df1704c7cd85
1618
linux:
1719
#Enable Debian alternatives feature by setting nonzero 'altpriority' value here.
1820
#Increase same value on each subsequent software installation.
19-
#altpriority: 170
21+
altpriority: 170
22+
{% endif %}
2023
dl:
2124
retries: 1
2225
interval: 30

sqlplus/defaults.yaml

+12-4
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,33 @@
11
#Default Look Dictionary
22
sqlplus:
3-
prefix: /usr/share/oracle
3+
prefix: /usr/local/oracle
44
tmpdir: /tmp/oracletmp/
55
command: /sqlplus
66
arch: linux.x64
77

88
oracle:
99
home: /opt/oracle/12_2
10-
#Override 'uri' (pillar) to avoid oracle login
10+
#Override "uri" (pillar) to avoid oracle login
1111
uri: http://download.oracle.com/otn/linux/instantclient/122010/
1212
#See oracle numbering: https://docs.oracle.com/cd/B28359_01/server.111/b28310/dba004.htm
1313
version: 12.2.0.1.0
1414
#See available packages: http://www.oracle.com/partners/campaign/index-100365.html
1515
pkgs: ['basic', 'sdk', 'sqlplus']
16+
md5:
17+
basic: md5=d9639092e3dea2e023272e52e2bd42da
18+
sdk: md5=077fa2f215185377ccb670de9ca1678f
19+
sqlplus: md5=93ae87df1d08bb31da57443a416edc8c
20+
basiclite: md5=b024039f518975f5a5b6473130c74e43
21+
jdbc: md5=3e6cdc6686b44160a8a5e4af0cacf5fd
22+
odbc: md5=8d82fa4d6f96fae458c2af16e70a5985
23+
tools: md5=5e258c34f947c31f0cf0e6322da8fe2c
1624

1725
dl:
26+
archive_type: zip
27+
suffix: zip
1828
opts: -s -L
19-
#'unpack_opts z' not working (unzip complains "caution: not extracting; -d ignored").
2029
interval: 30
2130
retries: 1
22-
suffix: zip
2331
skip_hashcheck:
2432

2533
linux:

sqlplus/init.sls

+33-20
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ sqlplus-create-extract-dirs:
55
- names:
66
- '{{ sqlplus.tmpdir }}'
77
- '{{ sqlplus.oracle.home }}'
8-
{% if grains.os not in ('MacOS', 'Windows',) %}
8+
{% if grains.os not in ('Windows', 'MacOS',) %}
99
- '{{ sqlplus.oracle.realhome }}'
1010
- user: root
1111
- group: root
@@ -20,43 +20,56 @@ sqlplus-create-extract-dirs:
2020
2121
sqlplus-extract-{{ pkg }}:
2222
cmd.run:
23-
- name: curl {{sqlplus.dl.opts}} -o '{{sqlplus.tmpdir}}/{{ pkg }}.{{sqlplus.dl.suffix}}' {{ url }}
24-
{% if grains['saltversioninfo'] >= [2017, 7, 0] %}
23+
- name: curl {{sqlplus.dl.opts}} -o '{{ sqlplus.tmpdir }}{{ pkg }}.{{sqlplus.dl.suffix}}' {{ url }}
24+
{% if grains['saltversioninfo'] >= [2017, 7, 0] %}
2525
- retry:
26-
attempts: {{ sqlplus.dl.retries }}
27-
interval: {{ sqlplus.dl.interval }}
28-
{% endif %}
29-
- require:
30-
- sqlplus-create-extract-dirs
31-
- require_in:
32-
- archive: sqlplus-extract-{{ pkg }}
33-
{% if sqlplus.dl.skip_hashcheck not in ('True', True,) %}
26+
attempts: {{ sqlplus.dl.retries }}
27+
interval: {{ sqlplus.dl.interval }}
28+
{% endif %}
29+
{%- if grains['saltversioninfo'] <= [2016, 11, 6] %}
30+
# Check local archive using hashstring for older Salt
31+
# (see https://github.com/saltstack/salt/pull/41914).
3432
module.run:
3533
- name: file.check_hash
36-
- path: '{{ sqlplus.tmpdir }}/{{ pkg }}.{{ sqlplus.dl.suffix }}'
34+
- path: '{{ sqlplus.tmpdir }}{{ pkg }}.{{ sqlplus.dl.suffix }}'
3735
- file_hash: {{ sqlplus.oracle.md5[ pkg ] }}
3836
- onchanges:
3937
- cmd: sqlplus-extract-{{ pkg }}
4038
- require_in:
4139
- archive: sqlplus-extract-{{ pkg }}
42-
{% endif %}
40+
{%- endif %}
4341
archive.extracted:
44-
- source: 'file://{{ sqlplus.tmpdir }}{{ pkg }}.{{ sqlplus.dl.suffix }}'
42+
- source: file://{{ sqlplus.tmpdir }}{{ pkg }}.{{sqlplus.dl.suffix}}
4543
- name: '{{ sqlplus.prefix }}'
46-
- archive_format: {{ sqlplus.dl.suffix }}
47-
{% if grains['saltversioninfo'] >= [2016, 11, 0] %}
44+
- archive_format: {{ sqlplus.dl.archive_type }}
45+
{% if grains['saltversioninfo'] < [2016, 11, 0] %}
46+
- if_missing: '{{ sqlplus.oracle.realcmd }}'
47+
{% endif %}
48+
{% if grains['saltversioninfo'] >= [2016, 11, 0] %}
4849
- enforce_toplevel: False
49-
{% endif %}
50+
{% endif %}
51+
{%- if grains['saltversioninfo'] > [2016, 11, 6] %}
52+
#Check local archive using hashstring or hashurl
53+
- source_hash: {{ sqlplus.oracle.md5[ pkg ] }}
54+
{% endif %}
55+
- onchanges:
56+
- cmd: sqlplus-extract-{{ pkg }}
57+
- require_in:
58+
- file: sqlplus-extract-{{ pkg }}
59+
file.absent:
60+
- name: '{{sqlplus.tmpdir}}/{{ pkg }}.{{sqlplus.dl.suffix}}'
61+
- onchanges:
62+
- archive: sqlplus-extract-{{ pkg }}
5063
- require_in:
51-
- file: sqlplus-complete-instantclient
64+
- sqlplus-install-instantclient
5265
5366
{% endfor %}
5467
55-
sqlplus-complete-instantclient:
68+
sqlplus-install-instantclient:
5669
file.absent:
5770
- name: {{ sqlplus.oracle.realhome }}
5871
cmd.run:
5972
- name: mv '{{ sqlplus.prefix }}instantclient_12_2' '{{ sqlplus.oracle.realhome }}'
6073
- require:
61-
- file: sqlplus-complete-instantclient
74+
- file: sqlplus-install-instantclient
6275

sqlplus/map.jinja

+36-29
Original file line numberDiff line numberDiff line change
@@ -6,46 +6,53 @@
66

77
{% set version = salt['pillar.get']('sqlplus:oracle:version', defs.sqlplus.oracle.version ) %}
88
{% set release = version.split('.')[0] ~ '_' ~ version.split('.')[1] %}
9-
{% set osmap = salt['grains.filter_by']({
109

11-
'Linux' : { 'prefix' : defs.sqlplus.prefix ~ '/' ~ release ~ '/',
12-
'oracle:md5' : { 'basic' : 'md5=d9639092e3dea2e023272e52e2bd42da',
13-
'sdk' : 'md5=077fa2f215185377ccb670de9ca1678f',
14-
'sqlplus' : 'md5=93ae87df1d08bb31da57443a416edc8c',
15-
'basiclite': 'md5=b024039f518975f5a5b6473130c74e43',
16-
'jdbc' : 'md5=3e6cdc6686b44160a8a5e4af0cacf5fd',
17-
'odbc' : 'md5=8d82fa4d6f96fae458c2af16e70a5985',
18-
'tools' : 'md5=5e258c34f947c31f0cf0e6322da8fe2c',
19-
},
20-
},
10+
{% set osmap = salt['grains.filter_by']({
11+
'Linux': { 'prefix' : defs.sqlplus.prefix ~ '/' ~ release ~ '/',
12+
},
2113
'Windows': { 'prefix' : 'C:\\oracle\\' ~ release ~ '\\',
2214
'tmpdir' : 'C:\\temp\\' ~ release ~ '\\',
2315
'command': '\\sqlplus',
2416
'arch' : 'windows.x64',
25-
'oracle:md5': { 'basic' : 'md5=958f0f3780bac4443eb6b36dc3b83c15',
26-
'sdk' : 'md5=3324d1cf419654495378df1fa2841f69',
27-
'sqlplus' : 'md5=7a6c499522a40ab49f42f96dfa7de5b7',
28-
'basiclite': 'md5=8ce431a2837439a88f8381432411d529',
29-
'jdbc' : 'md5=172d3aa46ba4544c3af123bc305a354d',
30-
'odbc' : 'md5=30c995d80f4427b77b7e422075f94169',
31-
'tools' : 'md5=1cdc2fe9d9fd1fc7c546372f17d044e6',
17+
},
18+
'Darwin' : { 'prefix' : defs.sqlplus.prefix ~ '/' ~ release ~ '/',
19+
'arch' : 'macos.x64',
20+
},
21+
}, grain='kernel', default='Linux')
22+
%}
23+
24+
{% set md5map = salt['grains.filter_by']({
25+
'Linux' : { 'basic' : 'md5=d9639092e3dea2e023272e52e2bd42da',
26+
'sdk' : 'md5=077fa2f215185377ccb670de9ca1678f',
27+
'sqlplus' : 'md5=93ae87df1d08bb31da57443a416edc8c',
28+
'basiclite': 'md5=b024039f518975f5a5b6473130c74e43',
29+
'jdbc' : 'md5=3e6cdc6686b44160a8a5e4af0cacf5fd',
30+
'odbc' : 'md5=8d82fa4d6f96fae458c2af16e70a5985',
31+
'tools' : 'md5=5e258c34f947c31f0cf0e6322da8fe2c',
32+
},
33+
'Windows': { 'basic' : 'md5=958f0f3780bac4443eb6b36dc3b83c15',
34+
'sdk' : 'md5=3324d1cf419654495378df1fa2841f69',
35+
'sqlplus' : 'md5=7a6c499522a40ab49f42f96dfa7de5b7',
36+
'basiclite': 'md5=8ce431a2837439a88f8381432411d529',
37+
'jdbc' : 'md5=172d3aa46ba4544c3af123bc305a354d',
38+
'odbc' : 'md5=30c995d80f4427b77b7e422075f94169',
39+
'tools' : 'md5=1cdc2fe9d9fd1fc7c546372f17d044e6',
3240
},
33-
},
34-
'Darwin' : { 'arch' : 'macosx.x64',
35-
'oracle:md5' : { 'basic' : 'md5=537713092a123b3f43d6f1a2be0fe53f',
36-
'sdk' : 'md5=6791925e182d534a8143847263157d8f',
37-
'sqlplus' : 'md5=0c23f99617f6c2d11ac6df1704c7cd85',
38-
'basiclite': 'md5=0a9e73d79c107f528640c4c757afefa3',
39-
'jdbc' : 'md5=7403db299df66e4f44c080e16417f3ba',
40-
'odbc' : 'md5=b5e9292c7c8936ae94bdc76228f816ad',
41-
'tools' : 'md5=f668d97d300dae39c9907c55a91d1a05',
41+
'Darwin' : { 'basic' : 'md5=537713092a123b3f43d6f1a2be0fe53f',
42+
'sdk' : 'md5=6791925e182d534a8143847263157d8f',
43+
'sqlplus' : 'md5=0c23f99617f6c2d11ac6df1704c7cd85',
44+
'basiclite': 'md5=0a9e73d79c107f528640c4c757afefa3',
45+
'jdbc' : 'md5=7403db299df66e4f44c080e16417f3ba',
46+
'odbc' : 'md5=b5e9292c7c8936ae94bdc76228f816ad',
47+
'tools' : 'md5=f668d97d300dae39c9907c55a91d1a05',
4248
},
43-
},
4449
}, grain='kernel', default='Linux')
4550
%}
4651

4752
# Merge osmap onto defaults before merging pillars
48-
{% do defs.sqlplus.update(osmap) %}
53+
{% do defs.sqlplus.update( osmap ) %}
54+
{% do defs.sqlplus.oracle.md5.update( md5map ) %}
55+
4956
{% set sqlplus = salt['pillar.get']( 'sqlplus', default=defs.sqlplus, merge=True) %}
5057
{% do sqlplus.oracle.update({ 'release' : release,
5158
'uri' : sqlplus.oracle.uri,

0 commit comments

Comments
 (0)