Java port questions (Re: ActiveMQ port submission)

Blair Zajac blair at orcaware.com
Wed Jan 13 21:49:44 PST 2010


Dan Ports wrote:
> On Thu, Jan 14, 2010 at 01:14:40AM +0100, Jann R??der wrote:
>> Hi,
>> somebody created a port for ActiveMQ:
>> http://trac.macports.org/ticket/23143 . The port however has the problem
>> that non-root users cannot run it since it wants to write to
>> /opt/local/share/java/activemq . I told the submitter that he has to
>> install a config file so that the port works out of the box for non-root
>> users and doesn't write to /opt/local/share/java/activemq. What is the
>> official policy for such things? Do ports have to work out of the box?
> 
> I submitted that portfile, so feel compelled to respond -- but note
> that I have no real familiarity with ActiveMQ other than offering to
> help write a portfile.
> 
> Being a Java-based port, it brought up a few other issues that I didn't
> have a good answer to. I tried to resolve them based on a (highly
> scientific) study of some other random Java ports. But it's probably
> worth clarifying policy on these:
> 
> - ActiveMQ has both a source and binary distribution. Which should we
>   use? I went with the binary not just out of simple laziness but also
>   because it depended on some Java packages that we didn't already have
>   ports for. (I guess that'd be a more sophisticated form of laziness.)
>   I found a bunch of ports of each type: source or binary installs.

For Java ports I never have a problem installing the binaries unless a patch is 
needed.  I don't see why people like to recompile Java packages from source.

> 
> If going with a binary install, then:
> 
> - the binary install is designed to be run out of its directory, so the
>   port puts a bunch of stuff in
>   /opt/local/share/java/activemq. I agree with Jann that some of it really
>   doesn't belong there, including apparently logfiles. But I'm not
>   entirely clear on what should be moved and where.

log files should go into $prefix/var/log.

> - the binary distribution includes all of its library dependencies, 
>   leading to a bunch of jar files in
>   /opt/local/share/java/activemq/lib. Some are also provided by ports,
>   like commons-*. Should we do something about that? I was pretty
>   troubled by the duplication, but they *are* included in the binary
>   dist, and the activemq folks told me they were worried about version
>   mismatches with already-installed libraries. 
> 
>   Note that some other ports (I think maven is one?) also wind up
>   installing some of the same libraries so there is a danger we'll wind
>   up with a bunch of copies.

Well, I would keep those jars there and not let any other packages use their 
dependency jars.

Blair



More information about the macports-dev mailing list