This is the OpenPKG Oracle "Barebone" distribution, containing the Oracle 9i 9.2.0.1 Client CLI and C API. It is a heavily stripped down installation file set of a standard Oracle 9i Client Run-Time installation. The following step-by-step procedure was used to create the source RPM oracle-barebone-9.2.0.1.src.rpm for use on the sparc64-solaris and ix86-linux platforms: 1. Download (to your desktop) from http://www.oracle.com/ (or currently directly on http://otn.oracle.com/software/products/oracle9i/) the Oracle 9i 9.2.0.1 Distribution CPIO Archives: desktop$ w3m http://otn.oracle.com/software/products/oracle9i/ 553239173 May 10 2003 lnx_920_disk1.cpio.gz 588798999 May 10 2003 lnx_920_disk2.cpio.gz 442087410 May 10 2003 lnx_920_disk3.cpio.gz 502320826 May 10 2003 92010Sol_Disk1.cpio.gz 597226006 May 10 2003 92010Sol_Disk2.cpio.gz 379469467 May 10 2003 92010Sol_Disk3.cpio.gz Be careful, as the names of the files to download and the structure of the page change frequently. Also be aware that the minor release of the product may be different for all the platforms supported by Oracle. 2. On all target machines (for us a ix86-linux and a sparc64-solaris server), create an "oracle" user and group plus an empty directory /oracle which is owned by this user/group. Then copy the Oracle CPIO archives into /oracle/src and unpack them into the subdirs /oracle/src/Disk[123]. CAUTION: Oracle eventually installs different binaries or uses different linker directives for the different versions of the Solaris operating system. So if you want to support Solaris 9 and 8 for example, you will have to do the following steps for every version you need. target$ mkdir /oracle target$ mkdir /oracle/src target$ cd /oracle/src target$ scp desktop:~/[123].cpio.gz . target$ for i in 1 2 3; do \ gunzip -d -c $i.cpio.gz | cpio -idvmu; done target$ chown -R oracle:oracle /oracle If gunzip starts complaining it is likely that Oracle again has supplied files ending in .gz that are not zipped and can be treated directly with cpio. 3. After making sure that you have a X11 run-time environment available on both the target machine and your desktop, run the Oracle installer: target$ DISPLAY=desktop:0 target$ export DISPLAY target$ cd /oracle/src/Disk1 target$ sh runInstaller Then follow the dialogs and use "/oracle/oraInventory", the name "OracleHome" and the path "/oracle/OracleHome" when asked for the inventory path and the Oracle home name and directory. Then request the "Oracle 9i Client" product and use type "Run-Time" first. In the installation overview window make sure the "Oracle Call Interfaces" and "Oracle Programmer" parts are included. If not, go back and try the "User defined" configuration. If this doesn't work, choose to install Oracle Database Server, choose "User Defined" and then deselect everything than the developer parts. At the end you need all those Makefiles, Headerfiles and Libs in the "*/demo" and "*/lib" directories. Especially if you want to link against those Oracle parts (php, apache....). Sorry that we can't be more specific here, but what and how to install to get all necessary parts differs from platform to platform and from version to version. 4. Optionally, copy a suitable version of "tnsnames.ora" or "sqlnet.ora" to "/oracle/OracleHome/network/admin/". 5. After all this you have around 200-300MB under /oracle/OracleHome now. Copy the companion oracle-barebone.pl file into /oracle/OracleHome/ and run the command (replace the X with the apropriate version number): target$ cd /oracle/OracleHome target$ scp build:/RPM/SRC/oracle-barebone/oracle-barebone.pl . # on Linux target machine only: target$ perl oracle-barebone.pl 9.2.0.X ix86-linux # on Solaris target machine only: target$ perl oracle-barebone.pl 9.2.0.X sparc64-solaris9 or target$ perl oracle-barebone.pl 9.2.0.X sparc64-solaris8 . . . As a result you get CPIO archives like these ones: 24650873 Dec 18 20:43 oracle-barebone-9.2.0.X.ix86-linux.cpio.bz2 27713659 Dec 18 20:46 oracle-barebone-9.2.0.X.sparc64-solaris9.cpio.bz2 27713659 Dec 18 20:46 oracle-barebone-9.2.0.X.sparc64-solaris8.cpio.bz2 6. Copy the newly-created CPIO archive from all target hosts back to your OpenPKG build host and build the "oracle-barebone" source RPM: target$ scp *.cpio.bz2 build:/RPM/SRC/oracle-barebone/ build$ cd /RPM/SRC/oracle-barebone Edit the oracle-barebone.spec file so that the version and file names match your specific needs: Change the minor Versions in the "Sources" directive to match the cpio archive's names from the last step. build$ rpm -bs oracle-barebone.spec 7. Now you can build and install the resulting "oracle-barebone" source RPM into all target-compatible servers. Just notice that you will still need to build and install the "oracle" OpenPKG package in order to satisfy the dependencies of any package requiring "ORACLE". HINTS: - The "oracle-barebone" package is intended for mass deployment of Oracle Clients with the help of OpenPKG with the goal of no longer requiring X11 for installation and no longer requiring such a lot of disk space. If you just want to install the Oracle client on a single box where OpenPKG runs, this is not worth the efforts. Then stick with the standard Oracle Client installation and use the "oracle" glue package to locate it. - In smaller environments the build and target hosts could be the same machine, of course. Here just forget our above notion of "build" host. - In environments where you deploy the "oracle-barebone" package always into OpenPKG instaces under the same filesystem prefix, it could be reasonable (to avoid problems with the linkage of libraries) that you create a symlink from /libexec/oracle-barebone to /oracle/OracleHome and then use /libexec/oracle-barebone instead of /oracle/OracleHome in the Oracle installer. This way your library dependencies use already the target paths and you do not have to make sure that the applications you link against the libraries know about the paths.