builddir != srcdir in jhbuild breaks my workflow


With the new jhbuild default configuration, it builds the module with
scrdir != builddir. I wanted to explain why I don't like it, and why
I've put the following in my jhbuildrc:

checkoutroot = os.path.expanduser('~/gnome')
buildroot = os.path.expanduser('~/gnome')

(to have again builddir == scrdir)

Here is my workflow (but I'm sure other developers do the same):

1) Once a project is fully built, to re-build something I always do
something along those lines:

To compile only what I need:
<inside git repo, in my 'build' terminal tab>
$ jhbuild shell
[jhbuild] $ cd src/
[jhbuild] $ make

To re-build only a certain *.c file, to see if there are any warnings:
[jhbuild] $ touch file.c
[jhbuild] $ make

Etc etc.

You see that that workflow relies heavily on builddir == srcdir.

2) For updating the GTK-Doc section file:
$ jhbuild shell
[jhbuild] $ cd docs/reference/
[jhbuild] $ make clean
[jhbuild] $ make

If the unused file contains symbols that I need to add to the section
file, I open a new terminal tab and do:
$ vi -o <section-file> <unused-file>

Note that when I open a new terminal, I'm already at the right place,
with both the section file and unused file in the same directory.

So, builddir != srcdir breaks my workflow. There are probably other
examples, the above two are the most common to me.

For some projects that I develop externally to GNOME, I run from time to
time `make distcheck` (more often than creating tarballs), e.g. after
merging a big branch, or when I touch in a non-trivial fashion the build
system. But ideally a machine would check everything, and send me a mail
when something breaks. That way, I can work conveniently and let the
computer do the extra work.

In GNOME, GNOME Continuous needs to be (continuously) babysitted, it
doesn't send automatic mails to the right people. That's the root of the
problem. Enabling builddir != srcdir by default in jhbuild is just a
workaround. With git clean -Xdf, there is really no need to build in a
separate directory.

Finding builddir != srcdir issues early is nice, but for me it hinders
my workflow too much.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]