[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gnu-arch-users] Re: Online book for usability
From: |
James Blackwell |
Subject: |
Re: [Gnu-arch-users] Re: Online book for usability |
Date: |
Fri, 25 Jun 2004 17:46:09 -0400 |
Tom Lord:
> With those conventions, GNU admits that once you rely on in-tree
> builds, you're trees become so hard to manage that familiar tasks
> which can normally be carried out with generic tools (like tar and
> find) suddenly require special tools, implemented just for that tree,
> and constantly maintained along with the tree.
>
> I'm saying: even if you want to get inventory to ignore in-tree
> build-products, changing `untagged-source' is _not_ the right way to
> do it. It's too error prone. It leads to failing to commit files
> you add but forget to tag. It leads to committing files which are
> build-targets that happen to have source-like names.
That building-in-trees isn't a flawless practice, that it gets in the
way of arch, that it raises the possibility of forgetting to add
something is now present -- _of_course_.
But I'm going to play Devil's advocate for a moment. Couldn't it be
possible that the cure (don't commit when there's untagged source)
is more painful to our patients (the users) than the disease (whoops,
I forgot to add a file?)
Is building-in-tree even really an issue? Couldn't we really just avoid
95% of the argument if we moved the default for object files, and ectetra
into precious?
What if we added a commented out line that says "If this project builds
in tree, then we recommend these regexes instead" ?
> The safeguard which is `untagged-source unrecognized' _is_ a pain, but
> I think it is a pain which is intrinsic in the problems being
> addressed. Among the solutions, in my experience, it is the least
> amount of pain. And if you make the effort to tweak your build
> process so that in-tree builds aren't required (which has additional
> benefits as well) then you'll feel that minimal pain even less than
> minimally: the feature will only come to your attention when it's
> catching a genuine mistake.
I respect that your opinion that forgetting to add files is more painful
than cleaning a tree out.
My opinion is the opposite. commits are much more frequent than adding
new files (to be potentially be forgotten) and thus are more painful.
> > In my mind, workdirs are cheap, archives are expensive. I usually
> > have quite a few working directories around, each of which goes the
> > way of rm -rf after a few days. I naturally do my builds in them, and
> > it annoys me to no end that I have to make clean before committing.
>
Built workdirs are not cheap for moderate to large sized projects. There
is, after all, a reason that make keeps those object files hanging
around after the binary has been linked.
When we push "build out of tree or clean your tree before you commit",
we're unintentionally pushing users towards either wiping out precious
object files or delaying commit.
But, and this is a big but, users can *change* the defaults. There is
something else going on here, that users aren't just changing the
defaults, and being done with it. Do users not realize that the defaults
can be changed? Are the regexes scaring them? Do they worry that if they
make a mistake in the regexes they can't fix them? Maybe the regexes are
in the wrong place in the tutorial, and people are skipping that
section?
*Something* is going on here.
Perhaps the solution is something as simple as giving clear examples on
the list of how to change the defaults to the most recent complainer every
couple months
>
> If you must rely on your user's native make, consider relying on the
> auto* tools, although many people use them poorly and don't seem to
> realize that they support out-of-tree builds.
The automake utils don't seem to describe out of tree builds. I had to
ask half a dozen people before I got an answer on how to do it.
Even with out of tree builds, autotools builds a lot of "cruft" that I
don't want to commit. For example, everywhere that I've got a
Makefile.am, autotools will build a Makefile.
Here's the closest that I've gotten to out of tree building:
aclocal ; autoheader ; automake -a ; autoconf
mkdir build ; cd build
../configure
make
Turns this:
AUTHORS CROSS Makefile.am README ToDo configure.ac src
BUILD ChangeLog NEWS THANKS UNBUILD images {arch}
into this:
AUTHORS Makefile.am UNBUILD config.sub mkinstalldirs
BUILD Makefile.in aclocal.m4 configure src
COPYING NEWS autom4te.cache configure.ac stamp-h.in
CROSS README build images {arch}
ChangeLog THANKS config.guess install-sh
INSTALL ToDo config.h.in missing
And this is supposedly "build-out-of-tree" I don't want all that
autocruft in my archive!
In order to commit, I'm actually performing the following process:
Hack, hack hack
./BUILD
debug, debug, debug
./UNBUILD
commit
(rinse, lather, repeat)
And building out of tree is a pain in the but! Every time I want to
make, I have keep an extra tty going just so that it can sit in the
build dir for me to type "make" in!
> > (Extra points if you can tell me how to do something similar in
> > Common Lisp in a manner that is portable between
> > implementations.)
>
> Try comp.lang.lisp
>
> -t
>
>
>
> _______________________________________________
> Gnu-arch-users mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/gnu-arch-users
>
> GNU arch home page:
> http://savannah.gnu.org/projects/gnu-arch/
>
--
James Blackwell Try something fun: For the next 24 hours, give
Smile more! each person you meet a compliment!
GnuPG (ID 06357400) AAE4 8C76 58DA 5902 761D 247A 8A55 DA73 0635 7400
- Re: [Gnu-arch-users] Re: Online book for usability, (continued)
- Re: [Gnu-arch-users] Re: Online book for usability, Tom Lord, 2004/06/24
- Re: [Gnu-arch-users] Re: Online book for usability, Juliusz Chroboczek, 2004/06/24
- Re: [Gnu-arch-users] Re: Online book for usability, Aaron Bentley, 2004/06/24
- Re: [Gnu-arch-users] Re: Online book for usability, Tom Lord, 2004/06/25
- Re: [Gnu-arch-users] in-tree builds [was: Online book for usability], Juliusz Chroboczek, 2004/06/25
- [Gnu-arch-users] Re: in-tree builds, Andreas Rottmann, 2004/06/26
- Re: [Gnu-arch-users] Re: in-tree builds, nadim, 2004/06/26
- Re: [Gnu-arch-users] Re: in-tree builds, Jan Hudec, 2004/06/26
- [Gnu-arch-users] Re: in-tree builds, Miles Bader, 2004/06/27
- Re: [Gnu-arch-users] in-tree builds, Stephen J. Turnbull, 2004/06/26
- Re: [Gnu-arch-users] Re: Online book for usability,
James Blackwell <=
- Re: [Gnu-arch-users] Re: Online book for usability, Tom Lord, 2004/06/25
- Re: [Gnu-arch-users] Re: Online book for usability, Jason McCarty, 2004/06/25
- Re: [Gnu-arch-users] Re: Online book for usability, Jani Monoses, 2004/06/25
- Re: [Gnu-arch-users] Re: Online book for usability, Andrew Suffield, 2004/06/26
- Re: [Gnu-arch-users] Re: Online book for usability, Tom Lord, 2004/06/27
- Re: [Gnu-arch-users] Re: Online book for usability, Andrew Suffield, 2004/06/27
- Re: [Gnu-arch-users] Re: Online book for usability, Pierce T . Wetter III, 2004/06/24
- Re: [Gnu-arch-users] Re: Online book for usability, Adrian Irving-Beer, 2004/06/24
- Re: [Gnu-arch-users] Re: Online book for usability, Matthew Palmer, 2004/06/25
- [Gnu-arch-users] Archive namespace usability (was: Online book for usability), David Allouche, 2004/06/25