diff options
Diffstat (limited to 'var/spack/repos/builtin/packages/oracle-instant-client/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/oracle-instant-client/package.py | 135 |
1 files changed, 87 insertions, 48 deletions
diff --git a/var/spack/repos/builtin/packages/oracle-instant-client/package.py b/var/spack/repos/builtin/packages/oracle-instant-client/package.py index 5033f92df9..a554be9e15 100644 --- a/var/spack/repos/builtin/packages/oracle-instant-client/package.py +++ b/var/spack/repos/builtin/packages/oracle-instant-client/package.py @@ -11,27 +11,64 @@ from spack.package import * def oracleclient_releases(): releases = [ { - 'version': '21.1.0.0.0', - 'components': { - 'basic': ['https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-basic-linux.x64-21.1.0.0.0.zip', '9b63e264c01ac54a0f0e61bd638576aed6f04a36b305bcd17847755e7b9855ce'], - 'sqlplus': ['https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-sqlplus-linux.x64-21.1.0.0.0.zip', '3220f486940e82f1a7825e8f0875729d63abd57cc708f1908e2d5f2163b93937'], - 'tools': ['https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-tools-linux.x64-21.1.0.0.0.zip', 'ff652d5bbfeaaa2403cbc13c5667f52e1d648aa2a5c59a50f4c9f84e6d2bba74'], - 'sdk': ['https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-sdk-linux.x64-21.1.0.0.0.zip', '80a465530a565ed327ab9ae0d9fc067ed42338536c7e8721cf2c26e474f4f75f'], - 'jdbc': ['https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-jdbc-linux.x64-21.1.0.0.0.zip', '76c866272712f2b432cc4be675605b22deca02f7a88a292b5ed8d29212d79dc7'], - 'odbc': ['https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-odbc-linux.x64-21.1.0.0.0.zip', 'ec7722b522684f0a3f63481573d0eb3537764224eabed6223f33699dd940bf20'] - } + "version": "21.1.0.0.0", + "components": { + "basic": [ + "https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-basic-linux.x64-21.1.0.0.0.zip", + "9b63e264c01ac54a0f0e61bd638576aed6f04a36b305bcd17847755e7b9855ce", + ], + "sqlplus": [ + "https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-sqlplus-linux.x64-21.1.0.0.0.zip", + "3220f486940e82f1a7825e8f0875729d63abd57cc708f1908e2d5f2163b93937", + ], + "tools": [ + "https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-tools-linux.x64-21.1.0.0.0.zip", + "ff652d5bbfeaaa2403cbc13c5667f52e1d648aa2a5c59a50f4c9f84e6d2bba74", + ], + "sdk": [ + "https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-sdk-linux.x64-21.1.0.0.0.zip", + "80a465530a565ed327ab9ae0d9fc067ed42338536c7e8721cf2c26e474f4f75f", + ], + "jdbc": [ + "https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-jdbc-linux.x64-21.1.0.0.0.zip", + "76c866272712f2b432cc4be675605b22deca02f7a88a292b5ed8d29212d79dc7", + ], + "odbc": [ + "https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-odbc-linux.x64-21.1.0.0.0.zip", + "ec7722b522684f0a3f63481573d0eb3537764224eabed6223f33699dd940bf20", + ], + }, }, { - 'version': '19.10.0.0.0', - 'components': { - 'basic': ['https://download.oracle.com/otn_software/linux/instantclient/191000/instantclient-basic-linux.x64-19.10.0.0.0dbru.zip', 'c2eeea093d70f5416f8a8560f9fa5b57707a76ac9775906dbc4aaa778fdee84f'], - 'sqlplus': ['https://download.oracle.com/otn_software/linux/instantclient/191000/instantclient-sqlplus-linux.x64-19.10.0.0.0dbru.zip', 'eee44825f348966796166beb8c0d8cc8f61929bae05229b65b34794e0f05659a'], - 'tools': ['https://download.oracle.com/otn_software/linux/instantclient/191000/instantclient-tools-linux.x64-19.10.0.0.0dbru.zip', '93bf58d2e15bb3ca98f8e5f579a93760571a37e0d9312187f6a5f228d492c863'], - 'sdk': ['https://download.oracle.com/otn_software/linux/instantclient/191000/instantclient-sdk-linux.x64-19.10.0.0.0dbru.zip', '2c4ae1b77fe32f3d3bf86a4ef560dc3a5dcbf5d11d742b4afeca414e5388ff2f'], - 'jdbc': ['https://download.oracle.com/otn_software/linux/instantclient/191000/instantclient-jdbc-linux.x64-19.10.0.0.0dbru.zip', '3fabbc4a86b8c5b4b29c4d76524c7d7e5bfab33cdbfa73f1199fc5582ed25df6'], - 'odbc': ['https://download.oracle.com/otn_software/linux/instantclient/191000/instantclient-odbc-linux.x64-19.10.0.0.0dbru.zip', '1c7ae3ea5913af9647ae68e2053cdaf9154ef6c9aa07e8b7d91e1ead9d5e675a'] - } - }] + "version": "19.10.0.0.0", + "components": { + "basic": [ + "https://download.oracle.com/otn_software/linux/instantclient/191000/instantclient-basic-linux.x64-19.10.0.0.0dbru.zip", + "c2eeea093d70f5416f8a8560f9fa5b57707a76ac9775906dbc4aaa778fdee84f", + ], + "sqlplus": [ + "https://download.oracle.com/otn_software/linux/instantclient/191000/instantclient-sqlplus-linux.x64-19.10.0.0.0dbru.zip", + "eee44825f348966796166beb8c0d8cc8f61929bae05229b65b34794e0f05659a", + ], + "tools": [ + "https://download.oracle.com/otn_software/linux/instantclient/191000/instantclient-tools-linux.x64-19.10.0.0.0dbru.zip", + "93bf58d2e15bb3ca98f8e5f579a93760571a37e0d9312187f6a5f228d492c863", + ], + "sdk": [ + "https://download.oracle.com/otn_software/linux/instantclient/191000/instantclient-sdk-linux.x64-19.10.0.0.0dbru.zip", + "2c4ae1b77fe32f3d3bf86a4ef560dc3a5dcbf5d11d742b4afeca414e5388ff2f", + ], + "jdbc": [ + "https://download.oracle.com/otn_software/linux/instantclient/191000/instantclient-jdbc-linux.x64-19.10.0.0.0dbru.zip", + "3fabbc4a86b8c5b4b29c4d76524c7d7e5bfab33cdbfa73f1199fc5582ed25df6", + ], + "odbc": [ + "https://download.oracle.com/otn_software/linux/instantclient/191000/instantclient-odbc-linux.x64-19.10.0.0.0dbru.zip", + "1c7ae3ea5913af9647ae68e2053cdaf9154ef6c9aa07e8b7d91e1ead9d5e675a", + ], + }, + }, + ] return releases @@ -40,26 +77,26 @@ class OracleInstantClient(Package): """Oracle instant client""" homepage = "https://www.oracle.com/database/technologies/instant-client.html" - url = "https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-basic-linux.x64-21.1.0.0.0.zip" + url = "https://download.oracle.com/otn_software/linux/instantclient/211000/instantclient-basic-linux.x64-21.1.0.0.0.zip" releases = oracleclient_releases() for release in releases: - oracle_version = release['version'] - main_pkg = release['components']['basic'] + oracle_version = release["version"] + main_pkg = release["components"]["basic"] url, sha256 = main_pkg version(oracle_version, sha256=sha256, url=url) - for rname, atts in release['components'].items(): - if rname == 'basic': + for rname, atts in release["components"].items(): + if rname == "basic": continue url, sha256 = atts condition = "@{0}".format(oracle_version) resource(name=rname, url=url, sha256=sha256, when=condition, placement=rname) - depends_on('libaio', type='link') + depends_on("libaio", type="link") # TODO: add URLs for macOS. Unfortunately still no native M1 support. # https://www.oracle.com/database/technologies/instant-client/macos-intel-x86-downloads.html - conflicts('platform=darwin') + conflicts("platform=darwin") def install(self, spec, prefix): mkdirp(prefix.bin) @@ -67,46 +104,48 @@ class OracleInstantClient(Package): mkdirp(prefix.lib) mkdirp(prefix.doc) - for dirn, fns in {'.': ('adrci', 'genezi', 'uidrvci'), - 'sqlplus': ('glogin.sql', 'sqlplus'), - 'odbc': ('odbc_update_ini.sh', ), - 'tools': ('exp', 'expdp', 'imp', 'impdp', 'sqlldr', 'wrc') - }.items(): + for dirn, fns in { + ".": ("adrci", "genezi", "uidrvci"), + "sqlplus": ("glogin.sql", "sqlplus"), + "odbc": ("odbc_update_ini.sh",), + "tools": ("exp", "expdp", "imp", "impdp", "sqlldr", "wrc"), + }.items(): for fn in fns: install(join_path(dirn, fn), prefix.bin) - for fn in glob.glob(join_path(self.stage.source_path, '*.so*')): + for fn in glob.glob(join_path(self.stage.source_path, "*.so*")): install(fn, prefix.lib) - for fn in glob.glob(join_path(self.stage.source_path, '*.jar')): + for fn in glob.glob(join_path(self.stage.source_path, "*.jar")): install(fn, prefix.lib) - for fn in glob.glob(join_path(self.stage.source_path, 'sqlplus', '*.so*')): + for fn in glob.glob(join_path(self.stage.source_path, "sqlplus", "*.so*")): install(fn, prefix.lib) - for fn in glob.glob(join_path(self.stage.source_path, 'jdbc', '*.so*')): + for fn in glob.glob(join_path(self.stage.source_path, "jdbc", "*.so*")): install(fn, prefix.lib) - for fn in glob.glob(join_path(self.stage.source_path, 'odbc', '*.so*')): + for fn in glob.glob(join_path(self.stage.source_path, "odbc", "*.so*")): install(fn, prefix.lib) - for fn in glob.glob(join_path(self.stage.source_path, 'tools', '*.so*')): + for fn in glob.glob(join_path(self.stage.source_path, "tools", "*.so*")): install(fn, prefix.lib) - for fn in glob.glob(join_path(self.stage.source_path, 'jdbc', '*.jar')): + for fn in glob.glob(join_path(self.stage.source_path, "jdbc", "*.jar")): install(fn, prefix.lib) - install_tree('network', prefix.lib) + install_tree("network", prefix.lib) - for dirn, fns in {'.': ('BASIC_LICENSE', 'BASIC_README'), - 'sqlplus': ('SQLPLUS_LICENSE', 'SQLPLUS_README'), - 'jdbc': ('JDBC_LICENSE', 'JDBC_README'), - 'odbc': ('ODBC_LICENSE', 'ODBC_README'), - 'sdk': ('SDK_LICENSE', 'SDK_README'), - 'tools': ('TOOLS_LICENSE', 'TOOLS_README') - }.items(): + for dirn, fns in { + ".": ("BASIC_LICENSE", "BASIC_README"), + "sqlplus": ("SQLPLUS_LICENSE", "SQLPLUS_README"), + "jdbc": ("JDBC_LICENSE", "JDBC_README"), + "odbc": ("ODBC_LICENSE", "ODBC_README"), + "sdk": ("SDK_LICENSE", "SDK_README"), + "tools": ("TOOLS_LICENSE", "TOOLS_README"), + }.items(): for fn in fns: install(join_path(dirn, fn), prefix.doc) - install_tree(join_path('odbc', 'help'), prefix.doc) - install_tree(join_path('sdk', 'sdk', 'include'), prefix.include) + install_tree(join_path("odbc", "help"), prefix.doc) + install_tree(join_path("sdk", "sdk", "include"), prefix.include) |