Experimental Ubuntu packages for Nuxeo DM and Nuxeo DAM.

Printer-friendly versionPrinter-friendly version

NEW UPDATE: This post has been superseded by this one.

UPDATED, Jun 29, see end of article.

The packages

According to this, there are some convenient packages of Nuxeo DM and Nuxeo DAM for Ubuntu. For my local drinking buddies, I'll just expand a bit on what's written there.

(If you prefer to build your Nuxeo DAM from scratch from the development branch, I explain how to do that here.)

Installing Sun's Java

I'll stick with discussing just the Nuxeo DAM package; I'm assuming everything works similarly for DM.

Those packages have Sun's Java as a strict dependency, so you'll need to add Sun's repository (unless it's already in your /etc/apt/sources.list file, of course):

sudo apt-add-repository "deb http://archive.canonical.com/ lucid partner"

at which point, you would:

$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk

Installing the Nuxeo package(s)

First, add the Nuxeo repository and update the Apt cache:

$ sudo apt-add-repository "deb http://apt.nuxeo.org/ lucid-snapshots/"
$ sudo apt-get update

at which point you should be able to install the package of your choice:

$ sudo apt-get install nuxeo-dam-jboss

Do you really need Sun's Java?

Technically, you need it for the installation, but there's no obvious reason that you need to actually be running it. On my system, I'm still using the OpenJDK implementation, as you can see:

$ java -version
java version "1.6.0_18"
OpenJDK Runtime Environment (IcedTea6 1.8) (6b18-1.8-0ubuntu1)
OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)
$

and until such time as OpenJDK is clearly incompatible with any software package, I'll keep using it.

Starting Nuxeo DAM

Simple:

$ sudo service nuxeo-dam start

give it a bit of time, then browser over to http://localhost:8080/nuxeo. Seems to work fine.

Some possible improvements

For one thing, the /etc/init.d/nuxeo-dam management script could stand to be fleshed out more -- it supports only the "start", "stop" and "restart" directives, but not "status," which would be nice. But that's just nitpicking.

A larger issue is whether or not OpenJDK 6 is really compatible with Nuxeo. If it is, then the Nuxeo packages should drop their explicit dependency on Sun's Java, and add the more generic dependency of just java6-sdk, a dependency that can be satisfied by either of those two Java implementations.

UPDATE, Jun 29: Making the NUXEO management script more verbose with a "status" directive

Personally, I really like my service management scripts to have a "status" directive, so I've attached an enhanced /etc/init.d/nuxeo-dam file to this article which adds that. It's not rocket surgery, I just find it handy. Now you can do:

$ sudo service nuxeo-dam status
Nuxeo DAM is running (pid 16158).
$ sudo service nuxeo-dam stop
 * Stopping Nuxeo DAM
..........Nuxeo stopped.
$ sudo service nuxeo-dam status
Nuxeo DAM is not running.
$

It's not deep programming, it just amuses me.

In fact, to be pedantic, all init scripts should follow the LSB guidelines described here.

UPDATE: Nuxeo DM and Nuxeo DAM can't be installed at the same time

After running Nuxeo DAM just fine for the last little while, I tried installing the Ubuntu Nuxeo DM package as well. That didn't go well as it appears that both packages dearly want to set the symlink /usr/bin/nuxeoctl to point to their respective control script under /opt. Unsurprisingly, that doesn't work very well.

AttachmentSize
nuxeo-dam.921 bytes

Comments

Some comments

Hi Robert,

thanks for your post.

Nuxeo DM seems to work fine with OpenJDK 6 (the whole Selenium test suite passes, and it's quite huge), but throws a lot of exceptions in the logs so there is still a bit of cleanup to do.

So we'll keep the dependency on Sun's Java until this is fixed.

Also, thanks for the script enhancement. I have taken the liberty of committing your changes on our repository (this will show up next time the packages are generated).

Regards,

S. Fermigier

Regarding Sun's Java vs OpenJDK ...

Relaxing the Nuxeo package installation dependencies to require only the metapackage "java6-sdk" instead of Sun's Java doesn't stop anyone from still using Sun's Java, it allows only the *option* of letting OpenJDK 6 satisfy that dependency if that's what the user wants.

What's ironic is that, since Ubuntu comes with OpenJDK 6 by default, to install the Nuxeo packages, you need to install Sun's Java first, but unless you manually run "update-alternatives" afterwards, it's OpenJDK that will continue to be used, anyway.

Running "update-java-alternatives" before/after the install ...

Just to clarify what I'm talking about, while installing sun-java6-jdk (Sun's JVM) will satisfy the Nuxeo installation dependencies, that will still leave OpenJDK as the Java that's actually being *used* afterwards.

As part of the Nuxeo package installation process, you probably want to switch the Java being used with:

$ update-java-alternatives -s java6-sun

or something equivalent. Otherwise, all that Sun Java installation won't be doing you a lot of good.

A couple more packaging issues added

FYI, I just added a couple more observations to the bottom of this post -- one regarding LSB-compatible init scripts, the other that you can't install both Ubuntu packages at the same time, due to both apparently trying to take control of /usr/bin/nuxeoctl (at least that's what it looks like).

We know

We're aware of the time and budget pressures at most companies, normally accompanied by the plaintive cry from management of, "Yes, I know we need training on that topic, but I just can't afford to send my entire team away for three (or four or five) days to get it!" And that's where we come in.

Choices!

The main focus at Crashcourse is to offer a choice of intense, 1-day, hands-on courses on specific topics in Linux and open source. And given that we already have the laptops for the delivery of that training, the idea is to show up early, set up a classroom, then spend the day teaching exactly the topic you're interested in. No travel time, and no wasted classroom time.

Customization

If we don't already have a course that addresses the topic you're interested in, drop us a note and we'll see what we can do -- our content providers can almost certainly put together a course that's precisely what you're after.

The difference

While there are a variety of sources for Linux and open source training, we at Crashcourse are taking a slightly different approach. Our philosophy is simple: exactly the training you want, and no wasted time or travel to get it.