You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by Ioan Eugen Stan <st...@gmail.com> on 2012/05/29 15:03:37 UTC

Apache James Debian package

Hi,

I'm almost done with Debian package for James. The current set-up
installs everything in /usr/share/apache-james just like unpacking the
zip archive there.

How do I configure James to store application created files (the
database and mails ) under /var instead of /usr/share/apache-james/var
? This is required to allow the package to uninstall cleanly.

Improvements on my list:

- make symbolic links for james service to /etc/init.d and register
james as a service
- add james-cli to path

I've commented on https://issues.apache.org/jira/browse/JAMES-1343 on
how to create & install the package. It should work on any distro
capable of installing a *deb.

Cheers,

-- 
Ioan Eugen Stan
==  http://ieugen.ro/  == http://bucharest-jug.github.com/ ==

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: sRe: Apache James Debian package

Posted by Ioan Eugen Stan <st...@gmail.com>.
2012/5/30 Eric Charles <er...@apache.org>:
> On 05/30/2012 12:27 PM, Ioan Eugen Stan wrote:
>>
>> 2012/5/30 Eric Charles<er...@apache.org>:
>>>
>>> On 05/29/2012 03:03 PM, Ioan Eugen Stan wrote:
>>>>
>>>>
>>>> Hi,
>>>>
>>>> I'm almost done with Debian package for James. The current set-up
>>>> installs everything in /usr/share/apache-james just like unpacking the
>>>> zip archive there.
>>>>
>>>
>>> On my Ubuntu, I have run 'mvn package -Dmake-deb' and successfully
>>> installed
>>> apache-james_3.0-beta5-SNAPSHOT_all.deb. Well done!
>>
>>
>> Thanks,
>>
>> I've found some issues already. To use mysql I have to copy the jar to
>> conf/lib and it's not clean. Also it seems not to load it on the
>> classpath, but I will double check this.
>>

Hi Eric,

> you mean not clean to have files manually copied in
> /usr/share/apache-james/conf/lib?  What is the standard way to manage java
> classpath under debian?

I think it's quite tricky to solve this issue. Debian requires that
all dependencies for a package be already packaged so it can resolve
dependencies statically when building your package. So it knows where
to find them. All common java libraries are normally found in
/usr/share/java.

This setup offers a lot of flexibility but is also a bit complicated
to achieve since James has a lot of dependencies not packaged in
Debian (or different versions, Debian has support only for one major
version)

But we can use almost any database so we will have to Recommend a
database and depend on a default one + provide a config script that
will create a symlink to the specified installed jar. Not that
straight forward. I'll think about it, things get complicated :).

> About the mysql jdbc driver in additional jar, we talked about it on
> (http://markmail.org/thread/xahe3bwambjti6o4) and you opened and resolved
> JAMESAPP-8 for this. Does it still give issues?

I'll find out what's going on precisely and get back, maybe it's an
issue on my side. Busy day.

>>
>>> (I didn't try to run it yet)
>>>
>>>
>>>> How do I configure James to store application created files (the
>>>> database and mails ) under /var instead of /usr/share/apache-james/var
>>>> ? This is required to allow the package to uninstall cleanly.
>>>>
>>>
>>> There are a few place to take into consideration:
>>>
>>> - james-database.properties : you can define an absolute path for
>>> database.url=jdbc:derby:../var/store/derby;create=true
>>>
>>> - mailbox-maildir.properties : you can define an absolute path for
>>> maildir.folder=../var/store/maildir/%domain/%user
>>>
>>> - for the amq storage, I have opened JAMES-1413. It should be more
>>> generalized to allow configuration (as well as absolute as relative)
>>>
>>> - the mailrepository paths must also be considered
>>>
>>>
>>>> Improvements on my list:
>>>>
>>>> - make symbolic links for james service to /etc/init.d and register
>>>> james as a service
>>>> - add james-cli to path
>>>>
>>>> I've commented on https://issues.apache.org/jira/browse/JAMES-1343 on
>>>> how to create&    install the package. It should work on any distro
>>>>
>>>> capable of installing a *deb.
>>>>
>>>> Cheers,
>>>>
>>>
>>> --
>>> eric | http://about.echarles.net | @echarles
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>>> For additional commands, e-mail: server-dev-help@james.apache.org
>>>
>>
>>
>>
>
> --
> eric | http://about.echarles.net | @echarles
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
>



-- 
Ioan Eugen Stan
http://ieugen.blogspot.com/  *** http://bucharest-jug.github.com/ ***

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


sRe: Apache James Debian package

Posted by Eric Charles <er...@apache.org>.
On 05/30/2012 12:27 PM, Ioan Eugen Stan wrote:
> 2012/5/30 Eric Charles<er...@apache.org>:
>> On 05/29/2012 03:03 PM, Ioan Eugen Stan wrote:
>>>
>>> Hi,
>>>
>>> I'm almost done with Debian package for James. The current set-up
>>> installs everything in /usr/share/apache-james just like unpacking the
>>> zip archive there.
>>>
>>
>> On my Ubuntu, I have run 'mvn package -Dmake-deb' and successfully installed
>> apache-james_3.0-beta5-SNAPSHOT_all.deb. Well done!
>
> Thanks,
>
> I've found some issues already. To use mysql I have to copy the jar to
> conf/lib and it's not clean. Also it seems not to load it on the
> classpath, but I will double check this.
>

you mean not clean to have files manually copied in 
/usr/share/apache-james/conf/lib?  What is the standard way to manage 
java classpath under debian?

About the mysql jdbc driver in additional jar, we talked about it on 
(http://markmail.org/thread/xahe3bwambjti6o4) and you opened and 
resolved JAMESAPP-8 for this. Does it still give issues?

>
>> (I didn't try to run it yet)
>>
>>
>>> How do I configure James to store application created files (the
>>> database and mails ) under /var instead of /usr/share/apache-james/var
>>> ? This is required to allow the package to uninstall cleanly.
>>>
>>
>> There are a few place to take into consideration:
>>
>> - james-database.properties : you can define an absolute path for
>> database.url=jdbc:derby:../var/store/derby;create=true
>>
>> - mailbox-maildir.properties : you can define an absolute path for
>> maildir.folder=../var/store/maildir/%domain/%user
>>
>> - for the amq storage, I have opened JAMES-1413. It should be more
>> generalized to allow configuration (as well as absolute as relative)
>>
>> - the mailrepository paths must also be considered
>>
>>
>>> Improvements on my list:
>>>
>>> - make symbolic links for james service to /etc/init.d and register
>>> james as a service
>>> - add james-cli to path
>>>
>>> I've commented on https://issues.apache.org/jira/browse/JAMES-1343 on
>>> how to create&    install the package. It should work on any distro
>>>
>>> capable of installing a *deb.
>>>
>>> Cheers,
>>>
>>
>> --
>> eric | http://about.echarles.net | @echarles
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>> For additional commands, e-mail: server-dev-help@james.apache.org
>>
>
>
>

-- 
eric | http://about.echarles.net | @echarles

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: Apache James Debian package

Posted by Ioan Eugen Stan <st...@gmail.com>.
2012/5/30 Eric Charles <er...@apache.org>:
> On 05/29/2012 03:03 PM, Ioan Eugen Stan wrote:
>>
>> Hi,
>>
>> I'm almost done with Debian package for James. The current set-up
>> installs everything in /usr/share/apache-james just like unpacking the
>> zip archive there.
>>
>
> On my Ubuntu, I have run 'mvn package -Dmake-deb' and successfully installed
> apache-james_3.0-beta5-SNAPSHOT_all.deb. Well done!

Thanks,

I've found some issues already. To use mysql I have to copy the jar to
conf/lib and it's not clean. Also it seems not to load it on the
classpath, but I will double check this.


> (I didn't try to run it yet)
>
>
>> How do I configure James to store application created files (the
>> database and mails ) under /var instead of /usr/share/apache-james/var
>> ? This is required to allow the package to uninstall cleanly.
>>
>
> There are a few place to take into consideration:
>
> - james-database.properties : you can define an absolute path for
> database.url=jdbc:derby:../var/store/derby;create=true
>
> - mailbox-maildir.properties : you can define an absolute path for
> maildir.folder=../var/store/maildir/%domain/%user
>
> - for the amq storage, I have opened JAMES-1413. It should be more
> generalized to allow configuration (as well as absolute as relative)
>
> - the mailrepository paths must also be considered
>
>
>> Improvements on my list:
>>
>> - make symbolic links for james service to /etc/init.d and register
>> james as a service
>> - add james-cli to path
>>
>> I've commented on https://issues.apache.org/jira/browse/JAMES-1343 on
>> how to create&  install the package. It should work on any distro
>>
>> capable of installing a *deb.
>>
>> Cheers,
>>
>
> --
> eric | http://about.echarles.net | @echarles
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
>



-- 
Ioan Eugen Stan
http://ieugen.blogspot.com/  *** http://bucharest-jug.github.com/ ***

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: Apache James Debian package

Posted by Eric Charles <er...@apache.org>.
On 05/29/2012 03:03 PM, Ioan Eugen Stan wrote:
> Hi,
>
> I'm almost done with Debian package for James. The current set-up
> installs everything in /usr/share/apache-james just like unpacking the
> zip archive there.
>

On my Ubuntu, I have run 'mvn package -Dmake-deb' and successfully 
installed apache-james_3.0-beta5-SNAPSHOT_all.deb. Well done!

(I didn't try to run it yet)

> How do I configure James to store application created files (the
> database and mails ) under /var instead of /usr/share/apache-james/var
> ? This is required to allow the package to uninstall cleanly.
>

There are a few place to take into consideration:

- james-database.properties : you can define an absolute path for 
database.url=jdbc:derby:../var/store/derby;create=true

- mailbox-maildir.properties : you can define an absolute path for 
maildir.folder=../var/store/maildir/%domain/%user

- for the amq storage, I have opened JAMES-1413. It should be more 
generalized to allow configuration (as well as absolute as relative)

- the mailrepository paths must also be considered


> Improvements on my list:
>
> - make symbolic links for james service to /etc/init.d and register
> james as a service
> - add james-cli to path
>
> I've commented on https://issues.apache.org/jira/browse/JAMES-1343 on
> how to create&  install the package. It should work on any distro
> capable of installing a *deb.
>
> Cheers,
>

-- 
eric | http://about.echarles.net | @echarles

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org