Re: [Pljava-dev] built, now how to install?

From: Chapman Flack <chap(at)anastigmatix(dot)net>
To:
Subject: Re: [Pljava-dev] built, now how to install?
Date: 2016-01-12 03:03:33
Message-ID: 56946D05.9050508@anastigmatix.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pljava-dev

I've pushed the latest documentation at http://tada.github.io/pljava/
and updates to the wiki at https://github.com/tada/pljava/wiki.

TL;DR Deployer is an ex-thing; install.sql and uninstall.sql are
ex-things.

If you had no special preferences about where things go, you would
simply "java -jar <the-jar-file-that-gets-created-in-pljava-packaging>.jar"
and then in psql say "SET pljava.libjvm_location TO something;" (where
"something" is in your distribution is too hard to predict), and then
"CREATE EXTENSION pljava;".

The "java -jar" command would have put the files in standard pgsql
places: the extension .control file in $sharedir/extension, the .so
in $libdir, etc. Yes, that is stuffing them into PostgreSQL-owned
directories, but CREATE EXTENSION strongly assumes some of that.
Other files for $sharedir are put in a new $sharedir/pljava directory,
and not stuffed straight into $sharedir.

>> I don't like the idea of putting unpackaged files in
>> directories 'owned' by packages, like $PGHOME/lib so I'm trying to put
>> them in /usr/share/pljava/ ...

Philosophically, I am kind of with you here, I like to put things in
their own places. You can do that, by the way, with -D options on the
"java -jar" command that extracts the pieces:

java -Dpgconfig.pkglibdir=/usr/lib/pljava \
-Dpgconfig.sharedir=/usr/share/pljava -jar the-package-jar.jar

If you do that, you won't have CREATE EXTENSION "just work" until you
have set dynamic_library_path to include /usr/lib/pljava and
pljava.classpath to /usr/share/pljava/pljava/pljava-${project.version}.jar.

In other words, the extraction code built into the jar is just a dumb
extractor; it will let you override where it puts things, but it will
not edit them during extraction to hardcode the new locations in; it's
just up to you to set the configuration variables to reflect the locations
you chose. (Hmm, if you like CREATE EXTENSION, you may also have to edit
the 'directory' setting in pljava.control.)

>> I think these instructions https://github.com/tada/pljava/wiki/Deployer

404 Deployer? What deployer? :)

>> $ java -cp
>> /usr/share/pljava/pljava.jar:/usr/share/pljava/postgresql-9.4.1207.jar
>> org.postgresql.pljava.deploy.Deployer -install
>> Error: Could not find or load main class org.postgresql.pljava.deploy.Deployer

Deployer hasn't actually vanished from the build (yet), but it builds in
its own jar, it is not merged into pljava.jar.

However, I do not foresee it being maintained ... it won't be usable at
all after the next time something changes in the pljava schema, and even
until then it is still doing things the hard way.

>> I'm pretty sure those Solaris Notes are quite obsolete. Those were my
>> doing some years back. I'm pretty sure the include/pg_config.h in the
>> standard solaris build was long ago fixed. We're no longer developing for
>> Solaris in my environment, so someone else will need to follow up.

The wiki installation page now points to the tada.github.io/pljava
installation page, which has a few "special topics" subpages. If there
is still anything special about Solaris, it can go there. I didn't see
anything that seemed to be still applicable.

>> GCJ probably should be completely deprecated and dropped, as its a dead
>> project, having java-openjdk available pretty much negates gcj's raison

Granted! :)

>> I'd do some of these edits myself but I have no idea how to submit
>> them to git

Yes, github wikis are strange that way, if not world-writable they are
actually harder to submit to than the regular code repo, where you can
easily do pull requests.

But I am trying to have current, authoritative documentation on the
tada.github.io/pljava site (you find all the doc sources in src/site
and can easily do a standard github pull request). There is still
worthwhile content on the wiki, that I'd like to see moved over
gradually as time permits.

Of course, please look over the new docs and wiki to see how much
of what you were thinking of changing still needs to be changed. :)

-Chap
_______________________________________________
Pljava-dev mailing list
Pljava-dev(at)lists(dot)pgfoundry(dot)org
http://lists.pgfoundry.org/mailman/listinfo/pljava-dev

In response to

Responses

Browse pljava-dev by date

  From Date Subject
Next Message Chapman Flack 2016-01-12 03:52:22 Re: [Pljava-dev] PL/Java build/installation rework ready to merge
Previous Message Chapman Flack 2016-01-12 02:02:16 Re: [Pljava-dev] built, now how to install?