Well, a few years back I came across the Oracle InstantClient SPEC file prepared by Remi Collet, it was great to find it because the original RPMs made by Oracle don’t help to build other packages depending on them.
I created a set of packages for a project using the original file from Remi. Some days later I enhanced them to make the use of the package by end users really smooth (ORACLE_HOME environment variable, PATHs, etc). Also added other tweaks like a script to help building Perl-DBD-Oracle (not made by me) and was really happy with the results. Here’s where everything went downhill. There was a policy of only allowing software with source code on the openSUSE Build Service and the guys in charge just deleted the package from my repo project and I lost all the work done.
I had the recreation of the package on my ToDo list, but never had time to do it… A few days before, facing a new project involving Oracle, I went to Remi’s blog to look for the original SPEC file and luckily a month or so earlier he modified it to support the latest version of the client (to this date, 10.2.0.2).
I made some changes to it (them, as they were split in two) and I’m sharing the result here. As a final touch I’ll be addind tnsping to the packages, which is only included on the “thick” Oracle installation and maybe I’ll merge the “precomp*” sub-package to “devel”.
My changes to Remi’s SPEC files:
* Sun Jan 2 2011 Ciro Iriarte 184.108.40.206.0
- Added ORACLE_HOME definition
- Added tnsnames.ora example and required directory structure
* Sat Jan 1 2011 Ciro Iriarte 220.127.116.11.0
- merge i386/x86_64 SPECs again
- fixed RPM Groups
- added Jean-Christophe Duberga's config script to help building Perl-DBD-Oracle
(this wasn't documented on my first change in 2007, and was lost in OBS)
- skip RPATH and BYTECODE verifications in OBS builds
- renamed oracle-instantclient-basic to oracle-instantclient
- added unzip to BuildRequires
- general cleanup to make openSUSE 11.3 sanity checks happy
o ToDo: Verify rpmlint filters
- add precomp and precomp-devel sub-packages