OK,
This is an old post, but since we encountered some problems building
the sub projects, I took some time and tried it again.
With the simple patches Veeti did, jhbuild can build all of the repos
at once flawlessly.
I confirm that the config files provided in
https://github.com/veeti/lxdeqt-jhbuild.git works.
This even works better than git submodule + my handcrafted script.

Jhbuild does the following well:
1. checking out every module and build them in the specified order.
2. checking if they're up-to-date and do not need to be rebuilt. If a
module is updated and is the same as the current git, it won't be
rebuilt.
3. if a module or its dependencies are updated in git, the new code is
checked out, and the affected modules are rebuilt. Other modules are
not touched.
4. All of the components are installed locally in the specified dir
without the requirement of "root" permission.
5. The locally installed components can be run correctly with the help
of jhbuild.

We only need to replace "lib" and "include" target dirs with two
cached values LIB_INSTALL_DIR and INCLUDE_INSTALL_DIR and then
everything works. No other patches are needed.

This completely solves the problems we have now. Though it's a tool
from gnome, it works well and it supports both cmake and
automake-based projects.

Before we go back to the single huge repo approach, I'd recommend
trying jhbuild first.
It's in ArchLinux's AUR and the installation is easy.
Please see the guide Veeti provided.
https://github.com/veeti/lxdeqt-jhbuild.git

The config file provided by Veeti uses minimally patches versions of
lxqt repos. So they're not the latest versions.
However, this is enough the demonstrate the ability of jhbuild.

Cheers!

On Wed, Nov 13, 2013 at 5:28 AM, Veeti Paananen
<veeti.paana...@rojekti.fi> wrote:
> Hello!
>
> Ever since the initial LXDE-Qt announcement I've been very excited to
> try out a new Qt-based DE. I recently decided to check it out using the
> instructions in the wiki ([1]) and being the lazy ass I am, I was a bit
> scared by the long list of manual steps to perform.
>
> Needless to say, I instantly set out on a crusade to automate this
> process for both my own and others' sake. Having tinkered with GNOME in
> the past, I thought of trying out their JHBuild [2] utility for
> automating the LXDE build process. (Hopefully this is not too
> blasphemous). If it works for GNOME's countless modules and X.org [3],
> surely it must be good enough for LXDE too!
>
> Compared to the build_all.sh script included in the LXDE repositories
> JHBuild offers many advantages such as inter-module dependency handling,
> automation of installation prefixes, automatic environment variables for
> running the compiled binaries, and more. It also allows for working with
> individual modules at a time instead of compiling everything. Obviously
> it is also far less error-prone.
>
> And thus, I present to you the fruits of my labor. Assuming that all the
> development compilers, headers and libraries are installed on your
> machine, you can now build the entire LXDE-Qt codebase (libraries, apps,
> etc.) by installing JHBuild and running the following commands:
>
> $ git clone https://github.com/veeti/lxdeqt-jhbuild.git
> $ cd lxdeqt-jhbuild
> $ jhbuild -f jhbuildrc
>
> JHBuild will then clone every module, build them and install them under
> a prefix. (The default in the configuration I've created is install/
> under the same directory as the jhbuildrc config file. No sudo required!)
>
> You can also build individual modules, such as:
>
> $ jhbuild -f jhbuildrc build pcmanfm-qt
>
> And run them:
>
> $ jhbuild -f jhbuildrc run install/bin/pcmanfm-qt
>
> Check out the README at https://github.com/veeti/lxdeqt-jhbuild for more
> details.
>
> To accomplish this, I had to fork some of the modules (liblxqt,
> liblxqt-mount, libsysstat, libfm, lxqt-globalkeys and pcmanfm-qt) to
> play nice with the de-facto standard LIB_INSTALL_DIR and
> INCLUDE_INSTALL_DIR CMake attributes. I also had to modify the
> autotools-based modules to allow autogen.sh from out of the tree and to
> configure automatically (since JHBuild expects that for some reason
> beyond my understanding).
>
> Anyway, it would be great if the small build changes I've made in my
> forked repositories could be pulled in. Would it be fine to submit pull
> requests at GitHub for them?
>
> And of course, please try this automagic build stuff out and tell me how
> it goes! (Hopefully well.)
>
> [1] http://wiki.lxde.org/en/Build_LXDE-Qt_From_Source
>
> [2] https://wiki.gnome.org/Jhbuild
>
> [3] http://www.x.org/wiki/JhBuildInstructions/
>
> (TLDR: Install JHBuild. Clone my repository. Run the command. Use LXDE-Qt.)
>
> ---
> Thanks,
> Veeti
>
>
> ------------------------------------------------------------------------------
> DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps
> OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access
> Free app hosting. Or install the open source package on any LAMP server.
> Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
> http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk
> _______________________________________________
> Lxde-list mailing list
> Lxde-list@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/lxde-list
>

------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231&iu=/4140/ostg.clktrk
_______________________________________________
Lxde-list mailing list
Lxde-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxde-list

Reply via email to