[PATCH build 00/10] xcmd.sh functionality take 2

Trevor Woerner twoerner at gmail.com
Sat Sep 18 13:10:25 PDT 2010


From: Trevor Woerner <twoerner at gmail.com>

Following Gaeton Nadon's advice I have created the following patches as
a second attempt at incorporated my earlier xcmd.sh idea into the modular
build script. The largest change is that there are no longer 2 scripts,
all the logic has been added into the one (existing) build.sh script.

Applying the following patches modifies the build procedure to make it
more informative (especially if errors occur) and to make it more flexible
with regards to generalized git and make commands the user may want to
perform.

Specifically:
* The user no longer needs to explicitly request a git clone, if a module
  to be processed doesn't exist a clone is assumed and performed.

* Module configuration is also now automatic. The autoconf/automake system
  knows when to reconfigure itself when the configuration source files
  (Makefile.am and configure.ac) are modified, the script doesn't need to
  perform this step for every module every time it is processed. When a
  module is freshly cloned the configuration automatically takes place.
  The user can request configuration explicitly using the --reconfigure
  command-line option.

* The user can use the --cmd command-line option to specify any arbitrary
  git or make command to be issued on all modules being processed.

Examples:
* To perform a fresh clone, build, and install of the entire project:
    $> git clone git://anongit.freedesktop.org/git/xorg/util/modular util/modular
    $> util/modular/build.sh $PREFIX

* To perform a "make distcheck" on all modules:
    $> util/modular/build.sh $PREFIX --cmd "make distcheck"

* To perform a "git status" on all modules:
    $> util/modular/build.sh $PREFIX --cmd "git status"

Trevor Woerner (10):
  Prettier failed component listing.
  Provide a visual break between components.
  Print error message with location.
  Modify cmdline argument list to match "make".
  Properly handle keep-going and one-shot semantics.
  Automatic clone.
  Formatting change.
  Configure only when necessary.
  Further consolidate "KEEP-GOING" logic.
  Perform arbitrary git and make commands.

 build.sh |  411 ++++++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 281 insertions(+), 130 deletions(-)

-- 
1.7.3.rc2



More information about the xorg-devel mailing list