Homepage | Products | OX Knowledge Base | Support | Try Now | Contact | Company
OX Logo
Results 1 to 9 of 9

Thread: Gentoo ?

  1. #1
    mryoung Guest

    Default Gentoo ?

    Hi there,

    I'm trying to find a way to build OX 6.18 for a gentoo 64bits server ...
    I know that this is not the supported way, but i still want to use gentoo ...

    i was trying to take .deb packages, reassemble them, and install it for Gentoo ... I think it's a good way to achieve my goal ... But there's so much dependencies to manage, that i was wondering if there's a way to get dependencies ...

    I mean, does a "master build.xml" exist, to make a "compile from source" possible ? I'm not afraid about it ... But it seems just impossible to get an easy view of each dependencies of each package ...

    Anyone having an idea on how to "build ox from source" ?

    Thanks in advance for your answer ...

    Cya

  2. #2
    Join Date
    Feb 2007
    Location
    Germany
    Posts
    3,695

    Default

    Hi,

    each debian package has its own build script and is built seperately from its directory. This is because of the modular nature of OX, virtually everything is a plugin. Of course it's possible to build it all from source, just a bit tricky i admit. A package at CVS generally contains the library dependencies required to build it. Can't you just get the dependencies from the deb files?

    Code:
    ~# apt-cache depends open-xchange-imap
    open-xchange-imap
     |Depends: <j2re1.5>
     |Depends: sun-java5-jre
      Depends: sun-java6-jre
      Depends: open-xchange-common
      Depends: open-xchange-global
      Depends: open-xchange-configread
      Depends: open-xchange-monitoring
      Depends: open-xchange-cache
      Depends: open-xchange-server
      Depends: open-xchange-threadpool
    Last edited by Martin Heiland; 09-14-2010 at 10:35 AM.

  3. #3
    Join Date
    Feb 2007
    Location
    Olpe
    Posts
    49

    Default

    Sorry, there is no such master build.xml because the backend is structured into a lot of - more than 100 - components. Each component has its own build.xml. You need to known which components are necessary for a certain server installation - done on Debian by the meta-packages. I would say, this is a hopeless venture.

    Install KVM, XEN or OpenVZ with a Debian guest and install OX there should be more easy.

  4. #4
    mryoung Guest

    Default

    Thanks for your feedback ...

    Indeed, this seems to be a difficult task ... but maybe i'll find a way ...
    The virtualisation idea is nice ... but this means adding a new layer only for a debian ...

    My idea for the moment is:

    . Install a test VM with debian.
    . Get all OX packages dependencies via apt (i don't have apt with gentoo, so is the need of the VM).
    . Get every packages .deb (for a specific situation like let's say "singleserver") and use deb2targz to convert everything
    . Untar the result into corresponding directories
    . Made some system changes (creating a ox user, chown ox dirs...)
    . Pray

    If everything work as expected, i will create an ebuild to take advantage of portage file management ...
    Maybe a Gentoo dev will take this into maintenance (who knows).

    Thanks again for your feedback ... I'll update the post if i got anything useful.

    Cya

  5. #5
    Join Date
    Feb 2007
    Location
    Olpe
    Posts
    49

    Default

    You want to create ebuilds for OX? That is a good idea. I will help you to get ebuilds rocking. Most bundles are build for the Debian package with:

    oxroot=$(CURDIR)/debian/open-xchange-cache
    instprefix=/opt/open-xchange
    ant -Ddestdir=$(oxroot) -Dprefix=$(instprefix) install

    The prefix defines the target directory in the file system for the installation. Debian uses the oxroot directory for creating the tar.gz inside the Debian package. Maybe you can use the same ant build for the ebuilds.

    All other magic to be done is in the postinst scripts of every Debian package.

    And once again, please contact me, if you need help creating the ebuilds.

  6. #6
    mryoung Guest

    Default

    I started building ebuild for open-xchange single server ...

    Everything seems to compile fine ...
    But i just have a small problem ...

    Indeed, i have some missing binaries at the end of the build ...
    Those binary are all "create*" (createuser for example).

    I saw that these binaries are from open-xchange-admin-plugin-hosting... but even if i "ant install" by hand this package ... the binaries don't go to ${image}/opt/open-xchange, and i don't know why ...

    Any idea about it ?

    Cya

  7. #7
    Join Date
    Feb 2007
    Location
    Germany
    Posts
    3,695

    Default

    Hi,

    those are not binaries but simple bash scripts that call Java libraries. You may just take the ones from the ox-admin packages. Some of them are contained with the server as well.

    Greetings

  8. #8
    Join Date
    Feb 2007
    Location
    Olpe
    Posts
    49

    Default

    open-xchange-admin and open-xchange-admin-plugin-hosting need extra install calls:

    ant -Dprefix=$(oxprefix) -Ddestdir=$(adminroot) doc install
    ant -Dprefix=$(oxprefix) -Ddestdir=$(clientroot) install-client
    ant -Dprefix=$(oxprefix) -Ddestdir=$(libroot) install-bundle

    ant -Dadmin.classpath=$(oxprefix)/bundles/$(adminbundle) \
    -Dprefix=$(oxprefix) \
    -Ddestdir=$(pkgroot) doc install
    ant -Dadmin.classpath=$(oxprefix)/bundles/$(adminbundle) \
    -Dprefix=$(oxprefix) -Ddestdir=$(libroot) install-bundle
    ant -Dadmin.classpath=$(oxprefix)/bundles/$(adminbundle) \
    -Dprefix=$(oxprefix) -Ddestdir=$(clientroot) install-client

    Regards

  9. #9
    Join Date
    Feb 2007
    Location
    Olpe
    Posts
    49

    Default

    open-xchange-admin and open-xchange-admin-plugin-hosting need extra install calls:

    ant -Dprefix=$(oxprefix) -Ddestdir=$(adminroot) doc install
    ant -Dprefix=$(oxprefix) -Ddestdir=$(clientroot) install-client
    ant -Dprefix=$(oxprefix) -Ddestdir=$(libroot) install-bundle

    ant -Dadmin.classpath=$(oxprefix)/bundles/$(adminbundle) \
    -Dprefix=$(oxprefix) \
    -Ddestdir=$(pkgroot) doc install
    ant -Dadmin.classpath=$(oxprefix)/bundles/$(adminbundle) \
    -Dprefix=$(oxprefix) -Ddestdir=$(libroot) install-bundle
    ant -Dadmin.classpath=$(oxprefix)/bundles/$(adminbundle) \
    -Dprefix=$(oxprefix) -Ddestdir=$(clientroot) install-client

    Regards

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •