[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