public inbox for [email protected]help / color / mirror / Atom feed
[Pljava-dev] Retrying: RPMifying PL/Java 3+ messages / 2 participants [nested] [flat]
* [Pljava-dev] Retrying: RPMifying PL/Java @ 2016-07-14 15:39 Devrim Gündüz <[email protected]> 0 siblings, 1 reply; 3+ messages in thread From: Devrim Gündüz @ 2016-07-14 15:39 UTC (permalink / raw) Hi, Work, holidays, etc, and I'm back to RPMifying PL/Java. I can build the jar file, but the issue is still there with installing it. Here is the log: # java -jar /usr/share/java/pljava-95.jar META-INF/ org/ org/gjt/ org/gjt/cuspy/ pljava/ /usr/pgsql-9.5/lib/ /usr/pgsql-9.5/lib/libpljava-so-1.5.0.so as bytes /usr/pgsql-9.5/share/ /usr/pgsql-9.5/share/extension/ /usr/pgsql-9.5/share/extension/pljava.control as lines (ASCII) /usr/pgsql-9.5/share/pljava/ /usr/pgsql-9.5/share/pljava/pljava--1.5.0-BETA1--1.5.0.sql as lines (UTF8) /usr/pgsql-9.5/share/pljava/pljava--1.5.0-BETA2--1.5.0.sql as lines (UTF8) /usr/pgsql-9.5/share/pljava/pljava--1.5.0-BETA3--1.5.0.sql as lines (UTF8) /usr/pgsql-9.5/share/pljava/pljava--1.5.0.sql as lines (UTF8) /usr/pgsql-9.5/share/pljava/pljava--unpackaged--1.5.0.sql as lines (UTF8) /usr/pgsql-9.5/share/pljava/pljava-1.5.0.jar as bytes /usr/pgsql-9.5/share/pljava/pljava-api-1.5.0.jar as bytes /usr/pgsql-9.5/share/pljava/pljava-examples-1.5.0.jar as bytes Unfortunately, the first 5 directories are installed under / and cause a mess -- and I don't think they should be there. How can I fix this? What am I missing? Here is the spec and patch that I'm using: https://git.postgresql.org/gitweb/?p=pgrpms.git;a=commit;h=b940b4ab383e6a35789f107a04d5b1e394cb2125 Regards, -- Devrim GÜNDÜZ Principal Systems Engineer @ EnterpriseDB: http://www.enterprisedb.com PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer Twitter: @DevrimGunduz , @DevrimGunduzTR _______________________________________________ Pljava-dev mailing list [email protected] http://lists.pgfoundry.org/mailman/listinfo/pljava-dev Attachments: [application/pgp-signature] signature.asc (819B, ../../[email protected]/2-signature.asc) download ^ permalink raw reply [nested|flat] 3+ messages in thread
* Re: [Pljava-dev] Retrying: RPMifying PL/Java @ 2016-07-14 17:28 Chapman Flack <[email protected]> parent: Devrim Gündüz <[email protected]> 0 siblings, 1 reply; 3+ messages in thread From: Chapman Flack @ 2016-07-14 17:28 UTC (permalink / raw) On 07/14/2016 11:39 AM, Devrim Gündüz wrote: > > Hi, > > Work, holidays, etc, and I'm back to RPMifying PL/Java. > > I can build the jar file, but the issue is still there with installing it. Here > is the log: > > # java -jar /usr/share/java/pljava-95.jar > META-INF/ > org/ > org/gjt/ > org/gjt/cuspy/ > pljava/ ... > Unfortunately, the first 5 directories are installed under / and cause a mess > -- and I don't think they should be there. > > How can I fix this? What am I missing? That's just plain weird, and right now I'm not where I can look more closely. It looks as if the jar is being built with distinct entries for parent directories of things, which isn't necessary, and the ant/javascript code in pljava-packaging that assembles the jar *isn't supposed to* create those parent directory entries. That is, if you just run 'jar t' on the file exactly as Maven produced it, you should only see entries in it for actual files. So I don't know if a new ant version changed the API so it now silently adds parent entries ... or something else is happening in your build process that is overriding things (maybe there is some automated step in rpmifying that extracts-and-rebuilds jars using a tool that silently adds parent directory entries?). Best I can do for now .... -Chap _______________________________________________ Pljava-dev mailing list [email protected] http://lists.pgfoundry.org/mailman/listinfo/pljava-dev ^ permalink raw reply [nested|flat] 3+ messages in thread
* Re: [Pljava-dev] Retrying: RPMifying PL/Java @ 2016-07-16 20:47 Chapman Flack <[email protected]> parent: Chapman Flack <[email protected]> 0 siblings, 0 replies; 3+ messages in thread From: Chapman Flack @ 2016-07-16 20:47 UTC (permalink / raw) On 07/14/16 13:28, Chapman Flack wrote: > On 07/14/2016 11:39 AM, Devrim Gündüz wrote: >> >> # java -jar /usr/share/java/pljava-95.jar >> META-INF/ >> org/ >> org/gjt/ >> org/gjt/cuspy/ >> pljava/ > ... > > So I don't know if a new ant version changed the API so it now > silently adds parent entries ... or something else is happening > in your build process that is overriding things (maybe there is > some automated step in rpmifying that extracts-and-rebuilds jars > using a tool that silently adds parent directory entries?). Hi, I've looked a little more at this, and remembered that this was the same issue we were puzzled by in February. From what I see *directly* in your spec and patch, and so far I have more questions than answers. I think it would be helpful to pin down _at what point_ the pljava-pg9.5-amd64-Linux-gpp.jar file turns out to have intermediate directory entries in it. For example, you could temporarily add a third line in the %build section right after the mvn clean install: jar tf ./%{sname}-packaging/target/%{sname}-pg9.5-amd64-Linux-gpp.jar and check the output. In the universe I inhabit, there should *not* be any intermediate directories listed ... only the paths that end in a file. If that's what you see, then the build is happening normally, and something is going wrong later. If I understand the rpm building process right, it looks like you are building an rpm that just contains the jar file (placed there with a simplified name by the 'install' command), and later, when someone deploys the rpm, that is when %post runs and extracts the jar. So I would be interested in the output of 'jar tf' on that jar file as it is stored in the rpm, compared to the same output immediately after mvn generated the file. I sort of wonder if the 'install' command has some sort of magic built in if it is installing a .jar file, and it extracts/rebuilds/ compresses/rearranges the jar somehow, and in that process it is adding intermediate directory levels for the originally contained paths. If that's what happens, then the next question is whether there is a way to make it not do that. If, on the other hand, you see the extra entries in the jar immediately after 'mvn clean install' before anything else has happened, then (a) I'll be extremely surprised, and (b) it will be a puzzle to figure out why, but because of (a) I'll wait to work on (b) until the evidence actually points that way. Cheers, -Chap incidentally, there might be easier ways to accomplish what the patch currently does. All the changes to the <exec> elements should be avoidable if the %build section just had PATH=/usr/pgsql-9.5/bin:$PATH mvn clean install and the one change in the javascript would be unnecessary if the %post section said java -jar %{_javadir}/%{name}.jar -Dpgconfig=/usr/pgsql-9.5/bin/pg_config ... then it looks like there'd be no need for a patch at all, and adjustments for new versions would be simpler. _______________________________________________ Pljava-dev mailing list [email protected] http://lists.pgfoundry.org/mailman/listinfo/pljava-dev ^ permalink raw reply [nested|flat] 3+ messages in thread
end of thread, other threads:[~2016-07-16 20:47 UTC | newest] Thread overview: 3+ messages (download: mbox mbox.gz follow: Atom feed) -- links below jump to the message on this page -- 2016-07-14 15:39 [Pljava-dev] Retrying: RPMifying PL/Java Devrim Gündüz <[email protected]> 2016-07-14 17:28 ` Chapman Flack <[email protected]> 2016-07-16 20:47 ` Chapman Flack <[email protected]>
This inbox is served by agora; see mirroring instructions for how to clone and mirror all data and code used for this inbox