[Armedbear-devel] Installing ABCL?

Robert P. Goldman rpgoldman at sift.info
Tue Dec 2 17:30:46 UTC 2014


Mark Evenson wrote:
>> On 02 Dec 2014, at 17:19, Robert P. Goldman <rpgoldman at sift.info> wrote:
>>
>> Sorry if this is a stupid question, but is there a way to install ABCL
>> in the standard sort of location (e.g., /usr/local/bin and
>> /usr/local/lib, etc.)?
> 
> There is no standard installation procedure for ABCL, mainly because a) we want
> to keep UNIX/Windows parity for which such abstraction is not trivial and b)
> because Java doesn’t provide built-in class-platform support for determining
> things easily.  We rely instead on various OS package managers to somehow package the install process. 
> 
> That being said, there isn’t too much to an ABCL “install”, just a wrapper
> script and two jar files (‘abcl.jar’ and ‘abcl-contrib.jar’).  The subtlety
> arises from figuring out how to invoke Java, and then keeping this working when
> the underlying JVM gets upgraded.  
> 
> I’d be willing to give up UNIX/Windows parity for a UNIX-specific installation
> script maintained as part of the ABCL distribution, but I don’t want to figure
> out how to interface with an N-multiple of methods to invoke Java locally.
> 
> Maybe my fears are not well-founded.  Does anyone have suggestions for JVM
> specific technology?  Maybe something like IZPack, but I’d like there to be a
> non-GUI method available as well.
> 

I didn't want anything too fancy, just something stow-friendly.  I ended
up with this shell script:

#! /bin/bash -x

INSTALL_DIR=/usr/local/stow/abcl
ant -Dabcl.runtime.jar.path=/usr/local/share/java/abcl/abcl.jar
-Dadditional.jars=/usr/local/share/java/abcl/abcl-contrib.jar  abcl.wrapper
mkdir -p ${INSTALL_DIR}/bin/
cp abcl ${INSTALL_DIR}/bin/
mkdir -p ${INSTALL_DIR}/share/java/abcl/
cp dist/abcl.jar ${INSTALL_DIR}/share/java/abcl/
cp dist/abcl-contrib.jar ${INSTALL_DIR}/share/java/abcl/

I like to use the bleeding edge, so this makes it easy to build and install.

This install method is *not* robust to updating the java package.  I
could probably change the java to just "java" (trusting my PATH
variable), but right now I trust ant to give me something reasonable.

Cheers,
r



More information about the armedbear-devel mailing list