Announcement

Collapse
No announcement yet.

Gentoo ?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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
    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, 10:35 AM.

    Comment


    • #3
      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.

      Comment


      • #4
        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

        Comment


        • #5
          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.

          Comment


          • #6
            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

            Comment


            • #7
              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

              Comment


              • #8
                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

                Comment


                • #9
                  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

                  Comment

                  Working...
                  X