Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 524922

Summary: dev-db/oracle-instantclient-12.1.0.2 version bump
Product: Gentoo Linux Reporter: Sergey S. Starikoff <Ikonta>
Component: Current packagesAssignee: Michael Haubenwallner (RETIRED) <haubi>
Status: RESOLVED FIXED    
Severity: normal CC: audvare, whissi
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 527594    
Bug Blocks:    
Attachments: oracle-instantclient-basic-12.1.0.2.ebuild
12.1.0.2-makefile.patch
oracle-instantclient-sqlplus-12.1.0.2.ebuild

Description Sergey S. Starikoff 2014-10-10 06:53:21 UTC
Created attachment 386350 [details]
oracle-instantclient-basic-12.1.0.2.ebuild

Second version of Oracle 12 client.
To my mind it's a time to commit it into tree.
Comment 1 Sergey S. Starikoff 2014-10-10 06:54:17 UTC
Created attachment 386352 [details, diff]
12.1.0.2-makefile.patch

12.1.0.2-makefile.patch for oracle-instantclient-basic-12.1.0.2.ebuild
Comment 2 Sergey S. Starikoff 2014-10-10 06:54:40 UTC
Created attachment 386354 [details]
oracle-instantclient-sqlplus-12.1.0.2.ebuild
Comment 3 Thomas Deutschmann (RETIRED) gentoo-dev 2016-02-18 16:28:45 UTC
Any ETA when we can expect a bump (includig SDK)?
Comment 4 Sergey S. Starikoff 2016-02-27 06:48:43 UTC
(In reply to Thomas D. from comment #3)
> Any ETA when we can expect a bump (includig SDK)?

AFAIR it's expected that you'll vote for this bug's fix.

P.S.: This commit should also include fix of bug #527594 (short summary: don't use "system" /etc/env.d/50oracle-instantclient-basic for keeping custom configuration directives, for them you should create separate config file, something like /etc/env.d/99oracle-instantclient-basic).
Comment 5 Michael Haubenwallner (RETIRED) gentoo-dev 2016-02-29 13:19:32 UTC
I'm thinking about moving the installation path
from /usr/$(get_libdir)/oracle/11.2.0.4/client/
  to /opt/oracle-instantclient/

Thoughts?
Comment 6 Thomas Deutschmann (RETIRED) gentoo-dev 2016-02-29 13:32:43 UTC
No objections, looks like the package is similar to Oracle J{RE,DK}.

Then we should also consider renaming to

  dev-db/oracle-instantclient-{basic,sqlplus}-bin

and should use install path

 /opt/$P

That's how dev-java/oracle-j{re,dk}-bin are named/installed.
Comment 7 Michael Haubenwallner (RETIRED) gentoo-dev 2016-02-29 14:45:17 UTC
Renaming to *-bin feels needless, as there is no non-bin variant available.

Installing to /opt/$P feels needless as well, as I do not see need for SLOTting oracle-instantclient. Also this would require an eselect-module to choose a "current" one.

Agreed this is confusing, but except for the name of the company providing the packages these days, oracle-instantclient is a completely different kind of package than oracle-jdk/jre is.
Comment 8 Sergey S. Starikoff 2016-03-01 08:39:31 UTC
(In reply to Michael Haubenwallner from comment #5)
> I'm thinking about moving the installation path
> from /usr/$(get_libdir)/oracle/11.2.0.4/client/
>   to /opt/oracle-instantclient/
> 
> Thoughts?

Moving proprietary (no sources available) library to /opt looks reasonable.

For me better path will be:
/opt/oracle/version-$(arch)/instantclient/
/opt/oracle/version-$(arch)/sqlplus
…

(In reply to Michael Haubenwallner from comment #7)
> Installing to /opt/$P feels needless as well, as I do not see need for
> SLOTting oracle-instantclient. Also this would require an eselect-module to
> choose a "current" one.

Looking at Oracle developer (keeping clients from 9, 10 and 11 Databases) I see, that in some cases slotting of Oracle Client per primary Database version may be reasonable.
Although complex and rarely needed.
Comment 9 Michael Haubenwallner (RETIRED) gentoo-dev 2016-03-01 11:57:01 UTC
(In reply to Sergey S. Starikoff from comment #8)
> (In reply to Michael Haubenwallner from comment #5)
> > I'm thinking about moving the installation path
> > from /usr/$(get_libdir)/oracle/11.2.0.4/client/
> >   to /opt/oracle-instantclient/
> > 
> > Thoughts?
> 
> Moving proprietary (no sources available) library to /opt looks reasonable.
> 
> For me better path will be:
> /opt/oracle/version-$(arch)/instantclient/
> /opt/oracle/version-$(arch)/sqlplus

While I agree /opt/oracle/ seems reasonable, this often is the installation path of the real database server. OTOH, when there is a database server installed, there might be no need for the instantclient then.

Why would you need "version-$(arch)"?
And no, sqlplus will not go into some separate directory,
but to somewhere into instantclient/bin/ instead.

> (In reply to Michael Haubenwallner from comment #7)
> > Installing to /opt/$P feels needless as well, as I do not see need for
> > SLOTting oracle-instantclient. Also this would require an eselect-module to
> > choose a "current" one.
> 
> Looking at Oracle developer (keeping clients from 9, 10 and 11 Databases) I
> see, that in some cases slotting of Oracle Client per primary Database
> version may be reasonable.
> Although complex and rarely needed.

Hmm - while the .zip files unpack to ./instantclient_12_1/,
the .rpm files would install to /usr/lib/oracle/12.1/client{,64}/,
which seems to be the reason for the current location in /usr/lib*/

So eventually we should not invent something new, but follow the .rpm locations as far as reasonable instead (and keep it in /usr/lib*/)?
Comment 10 Sergey S. Starikoff 2016-03-02 14:53:19 UTC
(In reply to Michael Haubenwallner from comment #9)
> While I agree /opt/oracle/ seems reasonable, this often is the installation
> path of the real database server. OTOH, when there is a database server
> installed, there might be no need for the instantclient then.

I've missed something and procedure of Oracle Database installation was described in ebuild format?
Or Gentoo supports out-of-portage installed applications?

> Why would you need "version-$(arch)"?
arch to display arch of installed client.
Version — option to differ version. For future, if we'll decide to add slots for Oracle client.

> And no, sqlplus will not go into some separate directory,
> but to somewhere into instantclient/bin/ instead.
Maybe, I don't remember defails of installation of sqlplus.
Probably we'll also need a symlink to the binary somewhere in standard ${PATH}.

> > (In reply to Michael Haubenwallner from comment #7)
> So eventually we should not invent something new, but follow the .rpm
> locations as far as reasonable instead (and keep it in /usr/lib*/)?

If follow rpm, we should stay in /usr installation.
Possibly asking upstream about accordance path's idea with FHS.
Comment 11 Michael Haubenwallner (RETIRED) gentoo-dev 2016-03-03 08:53:49 UTC
(In reply to Sergey S. Starikoff from comment #10)
> (In reply to Michael Haubenwallner from comment #9)
> > While I agree /opt/oracle/ seems reasonable, this often is the installation
> > path of the real database server. OTOH, when there is a database server
> > installed, there might be no need for the instantclient then.
> 
> I've missed something and procedure of Oracle Database installation was
> described in ebuild format?

Nope, completely independent of Gentoo: I've just seen machines where the Oracle Database was installed in /opt/oracle.

> Or Gentoo supports out-of-portage installed applications?

"support" feels wrong as term here, use "allow" or "not hinder" instead.

> > And no, sqlplus will not go into some separate directory,
> > but to somewhere into instantclient/bin/ instead.
> Maybe, I don't remember defails of installation of sqlplus.
> Probably we'll also need a symlink to the binary somewhere in standard
> ${PATH}.

The rpm indeed does create the /usr/bin/sqlplus symlink.

> > > (In reply to Michael Haubenwallner from comment #7)
> > So eventually we should not invent something new, but follow the .rpm
> > locations as far as reasonable instead (and keep it in /usr/lib*/)?
> 
> If follow rpm, we should stay in /usr installation.
> Possibly asking upstream about accordance path's idea with FHS.

Well, even Gentoo does not (necessarily) follow FHS.
Comment 12 Michael Haubenwallner (RETIRED) gentoo-dev 2016-03-09 13:24:36 UTC
Instead of the multiple dev-db/oracle-instantclient-{basic,sqlplus,odbc,jdbc} packages I'm going to bump as one single dev-db/oracle-instantclient package with USE flags "+sdk +sqlplus odbc jdbc tools" instead (with "tools" for the new Workload Relay Client).

For a transition period, the multiple packages will exist in version 12 as empty packages with appropriate USE-dependency on the single package.
Comment 13 Michael Haubenwallner (RETIRED) gentoo-dev 2016-03-09 18:27:35 UTC
(In reply to Michael Haubenwallner from comment #12)

dev-db/oracle-instantclient-12.1.0.2 should work now,
the old package names still are available.
Comment 14 Andrew Udvare 2018-09-04 19:00:52 UTC
Is there any chance we can get version 11.2.0.4 in the single ebuild? I am afraid this version will be gone when the transitional packages get removed.
Comment 15 Michael Haubenwallner (RETIRED) gentoo-dev 2018-09-05 06:45:18 UTC
(In reply to Andrew Udvare from comment #14)
> Is there any chance we can get version 11.2.0.4 in the single ebuild? I am
> afraid this version will be gone when the transitional packages get removed.

Do you have a specific reason for why you need 11.2.0.4?
Comment 16 Michael Haubenwallner (RETIRED) gentoo-dev 2018-09-05 06:47:00 UTC
Now with Andrew CC: Do you have a specific reason for why you need 11.2.0.4?
Comment 17 Andrew Udvare 2018-09-05 07:41:00 UTC
(In reply to Michael Haubenwallner from comment #16)
> Now with Andrew CC: Do you have a specific reason for why you need 11.2.0.4?

Company I am working with has not yet upgraded and has no immediate plans to do so, unless Oracle declares version 11 completely dead.
Comment 18 Michael Haubenwallner (RETIRED) gentoo-dev 2018-09-05 20:51:24 UTC
(In reply to Andrew Udvare from comment #17)
> Company I am working with has not yet upgraded and has no immediate plans to
> do so, unless Oracle declares version 11 completely dead.

When talking about upgrade plans you're talking about server upgrades, no?

As far as I am aware of, there is no problem connecting to an 11 version server using a 12 version client.

So unless you really have a problem that breaks with the 12 version client but works with the 11 version client, I still don't see a reason to keep old clients anytime longer than usual.
Comment 19 Andrew Udvare 2018-09-06 07:50:46 UTC
(In reply to Michael Haubenwallner from comment #18)
> (In reply to Andrew Udvare from comment #17)
> > Company I am working with has not yet upgraded and has no immediate plans to
> > do so, unless Oracle declares version 11 completely dead.
> 
> When talking about upgrade plans you're talking about server upgrades, no?
> 
> As far as I am aware of, there is no problem connecting to an 11 version
> server using a 12 version client.
> 
> So unless you really have a problem that breaks with the 12 version client
> but works with the 11 version client, I still don't see a reason to keep old
> clients anytime longer than usual.


Sorry I was not aware these are backward compatible. I upgraded and tested and everything works fine.