From patchwork Mon Jul 14 23:51:04 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 369789 X-Patchwork-Delegate: sjg@chromium.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id C7C74140146 for ; Tue, 15 Jul 2014 09:52:27 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 9173CA7550; Tue, 15 Jul 2014 01:52:15 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id w7ToNUI3+qlp; Tue, 15 Jul 2014 01:52:15 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id CC308A756D; Tue, 15 Jul 2014 01:51:45 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id E8F28A7552 for ; Tue, 15 Jul 2014 01:51:41 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EAfx7EeMeCGd for ; Tue, 15 Jul 2014 01:51:37 +0200 (CEST) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mail-pa0-f74.google.com (mail-pa0-f74.google.com [209.85.220.74]) by theia.denx.de (Postfix) with ESMTPS id 68439A7538 for ; Tue, 15 Jul 2014 01:51:22 +0200 (CEST) Received: by mail-pa0-f74.google.com with SMTP id rd3so428759pab.3 for ; Mon, 14 Jul 2014 16:51:20 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=3vAYel5WEbKL7Jf+0w+RaL30nMoe2423UlvG3K/zCnw=; b=SV4zbLV0MddLPu82AAM1NlMcXfPCwfYLR/JMYJVCy+bBuL6rNZL2VNUrXWdygAtDrY PFQ2W1Y+NmujKaavBmr5iWSUe3TsShd5PKSiXBJG34nTUKJLgKly7TMWGBR6PQQ1ZRle bP+W3KbmG7qJYZOtPL2LYYdLfiKhS9yQiOGqqXcZ1x03wUhuywJQey8lsPa3XJzy4exI XcRZk1APcl99EGdDiZVNxEmLd5L3k9ALUsqNa9PkZ4p1Cn+5lyQGlirY+Bc09yCy8XOM TaU/FZOfSEd3txcFeMa1OTMnR7orn1WE9ZDmf3OCdtsofNOGl0H76VFceHSBENsGvqJs +Nlg== X-Gm-Message-State: ALoCoQmhPnKzIEpf+Me3yeJ4Y46YI7/o0aH7gRFspZg9zga72iZOjMjis3xjp3mS0vD+dMcBDvcX X-Received: by 10.66.65.108 with SMTP id w12mr4457704pas.46.1405381880505; Mon, 14 Jul 2014 16:51:20 -0700 (PDT) Received: from corp2gmr1-1.hot.corp.google.com (corp2gmr1-1.hot.corp.google.com [172.24.189.92]) by gmr-mx.google.com with ESMTPS id o69si847726yhp.6.2014.07.14.16.51.20 for (version=TLSv1.1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 14 Jul 2014 16:51:20 -0700 (PDT) Received: from kaki.bld.corp.google.com (kaki.bld.corp.google.com [172.29.216.32]) by corp2gmr1-1.hot.corp.google.com (Postfix) with ESMTP id 43C0531C5AA; Mon, 14 Jul 2014 16:51:20 -0700 (PDT) Received: by kaki.bld.corp.google.com (Postfix, from userid 121222) id EBB46220E3A; Mon, 14 Jul 2014 17:51:19 -0600 (MDT) From: Simon Glass To: U-Boot Mailing List Date: Mon, 14 Jul 2014 17:51:04 -0600 Message-Id: <1405381865-8028-6-git-send-email-sjg@chromium.org> X-Mailer: git-send-email 2.0.0.526.g5318336 In-Reply-To: <1405381865-8028-1-git-send-email-sjg@chromium.org> References: <1405381865-8028-1-git-send-email-sjg@chromium.org> Subject: [U-Boot] [PATCH 5/6] buildman: Add some notes about moving from MAKEALL X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.11 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: u-boot-bounces@lists.denx.de Errors-To: u-boot-bounces@lists.denx.de For those used to MAKEALL, buildman seems strange. Add some notes to ease the transition. Signed-off-by: Simon Glass --- tools/buildman/README | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) diff --git a/tools/buildman/README b/tools/buildman/README index c30c1d4..0b141e4 100644 --- a/tools/buildman/README +++ b/tools/buildman/README @@ -3,6 +3,8 @@ # SPDX-License-Identifier: GPL-2.0+ # +(Please read 'How to change from MAKEALL' if you are used to that tool) + What is this? ============= @@ -663,6 +665,96 @@ Other options Buildman has various other command line options. Try --help to see them. +How to change from MAKEALL +========================== + +Buildman includes most of the features of MAKEALL, and is generally faster +and easier to use. In particular it builds entire branches - if a particular +commit introduces an error in a particular board, buildman can easily show +you this. + +The reasons to deprecate MAKEALL are: +- We don't want to maintain two buld systems +- Buildman is typically faster +- Buildman has a lot more features + +But still, many people will be sad to lose MAKEALL. If you are used to +MAKEALL, here are a few pointers. + +First you need to set up your tool chains - see the 'Setting up' section +for details. Once you have your required toolchain(s) detected then you are +ready to go. + +Buildman works on entire branches, so the normal use is: + + ./tools/buildman/buildman -b + +followed by (afterwards, or perhaps concurrently in another terminal): + + ./tools/buildman/buildman -b -s + +to see the results of the build. Rather than showing you all the output, +buildman just shows a summary with red indicating that a commit introduced +and error and green indicating that a commit fixed an error. Use the -e +flag to see the full errors. + +You don't need to stick around on that branch while buildman is running. It +checks out its own copy of the source code, so you can change branches, +add commits, etc. without affecting the build. + +The can include board names, architectures or the +like. There are no flags to disambiguate since ambiguities are rare. Using +the examples from MAKEALL: + +Examples: + - build all Power Architecture boards: + MAKEALL -a powerpc + MAKEALL --arch powerpc + MAKEALL powerpc + ** buildman -b powerpc + - build all PowerPC boards manufactured by vendor "esd": + MAKEALL -a powerpc -v esd + ** buildman -b esd + - build all PowerPC boards manufactured either by "keymile" or "siemens": + MAKEALL -a powerpc -v keymile -v siemens + ** buildman -b keymile siemens + - build all Freescale boards with MPC83xx CPUs, plus all 4xx boards: + MAKEALL -c mpc83xx -v freescale 4xx + ** buildman -b mpc83xx freescale 4xx + +Buildman automatically tries to use all the CPUs in your machine. If you +are building a lot of boards it will use one thread for every CPU core +it detects in your machine. This is like MAKEALL's BUILD_NBUILDS option. +You can use the -T flag to change the number of threads. If you are only +building a few boards, buildman will automatically run make with the -j +flag to increase the number of concurrent make tasks. It isn't normally +that helpful to fiddle with this option, but if you use the BUILD_NCPUS +option in MAKEALL then -j is the equivalent in buildman. + +Buildman puts its output in ../ but you can change this with +the -o option. Buildman normally does out-of-tree builds: use -i to disable +that if you really want to. But be careful that once you have used -i you +pollute buildman's copies of the source tree, and you will need to remove +the build directory (normally ../) to run buildman in normal +mode (without -i). + +Buildman doesn't keep the output result normally, but use the -k option to +do this. + +Please read 'Theory of Operation' a few times as it will make a lot of +things clearer. + +Some options you might like are: + + -B shows which functions are growing/shrinking in which commit - great + for finding code bloat. + -S shows image sizes for each commit (just an overall summary) + -u shows boards that you haven't built yet + --step 0 will build just the upstream commit and the last commit of your + branch. This is often a quick sanity check that your branch doesn't + break anything. But note this does not check bisectability! + + TODO ====