Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 00/13] Add support for a project directory
@ 2012-10-13 23:13 Arnout Vandecappelle
  2012-10-13 23:13 ` [Buildroot] [PATCH 01/13] Add BR2_PROJECT_DIR config option Arnout Vandecappelle
                   ` (14 more replies)
  0 siblings, 15 replies; 38+ messages in thread
From: Arnout Vandecappelle @ 2012-10-13 23:13 UTC (permalink / raw)
  To: buildroot

 Many buildroot users prefer to keep their project's customizations
separate from buildroot itself.  This makes it easier to go to a
new buildroot version, and to identify which parts are project-
specific.  Although it was already possible to keep the project's
customization separate, this patch set simplifies it.

 It introduces a new config option, BR2_PROJECT_DIR (patch 1).
This symbol is used to set defaults for many other config options
(patches 2-7). The buildroot config itself can also be stored in
the project directory by setting a default BR2_DEFCONFIG (patch 8).

 Patch 9 does a 'make defconfig' and 'make world' in a single run
when a project directory is available.

 Patch 10 makes it possible to update all config files (buildroot,
linux, busybox, ...) in a single shot.

 Patch 11 adds a 'make projectdir' target to initialize a project
directory.  It also creates a Makefile in the project directory:
it downloads buildroot itself, so the project directory is
self-sufficient.

 Patch 12 adds the thing that everybody has to put in their
post-build script as a configuration option: a rootfs overlay.
This patch could also be applied independent of the series
(except for the one line that sets a default based on PROJECT_DIR).

 Patch 13, finally, adds the PROJECT_DIR concept to the manual.

 What is still missing is a way to add custom packages and custom
patches in the project directory.  Either can already be done
with the BR2_PACKAGE_OVERRIDE_FILE, but I'm considering specific
additions:

- For custom packages, including $(PROJECT_DIR)/package/*/*.mk
  and automatically setting these packages to 'y'.  I don't think
  it's useful to include custom packages in the menuconfig - you
  just want them to be always enabled.

- For custom patches, add $(PROJECT_DIR)/patches/<pkg>/<pkg>-*.patch
  to the list of patches that generic-package looks for.  The custom
  patches would come in addition to and after the buildroot patches.

 Comments on these last two ideas are welcome.


 Two weeks from now (Oct. 28) I'm giving a presentation about buildroot
at T-Dose in Eindhoven.  I'll use the project directory concept in
that presentation.  So if there's any major feedback I'd like to hear
it before that time :-)

 Regards,
 Arnout

---

Arnout Vandecappelle (Essensium/Mind) (13):
      Add BR2_PROJECT_DIR config option
      Set default BR2_PACKAGE_OVERRIDE_FILE based on BR2_PROJECT_DIR
      linux: get default paths from BR2_PROJECT_DIR
      busybox: get default paths from BR2_PROJECT_DIR
      target/generic: get default paths from BR2_PROJECT_DIR
      toolchain-crosstool-ng: get default paths from BR2_PROJECT_DIR
      uClibc: get default paths from BR2_PROJECT_DIR
      Store BR2_DEFCONFIG in .config, and use it to update the original input
      Skip menuconfig if BR2_DEFCONFIG or BR2_PROJECT_DIR is given.
      Add update-all-config target
      Add target to create a project directory
      target/generic: add filesystem overlay option
      Document BR2_PROJECT_DIR in the manual


 Config.in                                        |   27 +++++++
 Makefile                                         |   86 +++++++++++++++++++--
 Makefile.project.tmpl                            |   40 ++++++++++
 docs/manual/customize-project.txt                |   37 +++++++++
 docs/manual/customize-rootfs.txt                 |   21 ++---
 docs/manual/customize.txt                        |    2 
 fs/common.mk                                     |    7 +-
 linux/Config.in                                  |    2 
 linux/linux.mk                                   |    2 
 package/busybox/Config.in                        |    1 
 package/busybox/busybox-1.20.x.config            |   26 +++---
 package/busybox/busybox.mk                       |    4 +
 target/generic/Config.in                         |   16 ++++
 toolchain/toolchain-crosstool-ng/Config.in       |    1 
 toolchain/toolchain-crosstool-ng/crosstool-ng.mk |    7 ++
 toolchain/uClibc/Config.in                       |    1 
 toolchain/uClibc/uClibc-0.9.33.config            |   91 +++++++++-------------
 toolchain/uClibc/uclibc.mk                       |    4 +
 18 files changed, 286 insertions(+), 89 deletions(-)
 create mode 100644 Makefile.project.tmpl
 create mode 100644 docs/manual/customize-project.txt

-- 
Signature

^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2012-12-03 16:41 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-13 23:13 [Buildroot] [PATCH 00/13] Add support for a project directory Arnout Vandecappelle
2012-10-13 23:13 ` [Buildroot] [PATCH 01/13] Add BR2_PROJECT_DIR config option Arnout Vandecappelle
2012-10-13 23:13 ` [Buildroot] [PATCH 02/13] Set default BR2_PACKAGE_OVERRIDE_FILE based on BR2_PROJECT_DIR Arnout Vandecappelle
2012-10-13 23:14 ` [Buildroot] [PATCH 03/13] linux: get default paths from BR2_PROJECT_DIR Arnout Vandecappelle
2012-10-13 23:14 ` [Buildroot] [PATCH 04/13] busybox: " Arnout Vandecappelle
2012-10-13 23:14 ` [Buildroot] [PATCH 05/13] target/generic: " Arnout Vandecappelle
2012-10-13 23:14 ` [Buildroot] [PATCH 06/13] toolchain-crosstool-ng: " Arnout Vandecappelle
2012-10-13 23:14 ` [Buildroot] [PATCH 07/13] uClibc: " Arnout Vandecappelle
2012-10-13 23:14 ` [Buildroot] [PATCH 08/13] Store BR2_DEFCONFIG in .config, and use it to update the original input Arnout Vandecappelle
2012-10-14 18:37   ` Thomas De Schampheleire
2012-10-13 23:14 ` [Buildroot] [PATCH 09/13] Skip menuconfig if BR2_DEFCONFIG or BR2_PROJECT_DIR is given Arnout Vandecappelle
2012-10-13 23:14 ` [Buildroot] [PATCH 10/13] Add update-all-config target Arnout Vandecappelle
2012-10-14 18:45   ` Thomas De Schampheleire
2012-10-20 16:47     ` Arnout Vandecappelle
2012-10-20 16:52       ` Arnout Vandecappelle
2012-12-03 14:18     ` Stephan Hoffmann
2012-12-03 16:41       ` Thomas Petazzoni
2012-10-13 23:14 ` [Buildroot] [PATCH 11/13] Add target to create a project directory Arnout Vandecappelle
2012-10-13 23:21   ` [Buildroot] [PATCH v2] " Arnout Vandecappelle
2012-10-13 23:35     ` Valentine Barshak
2012-10-14 12:50       ` Arnout Vandecappelle
2012-10-16 17:36         ` Valentine Barshak
2012-10-13 23:14 ` [Buildroot] [PATCH 12/13] target/generic: add filesystem overlay option Arnout Vandecappelle
2012-10-14  0:39   ` Danomi Manchego
2012-10-14 12:53     ` Arnout Vandecappelle
2012-10-14 16:12       ` Danomi Manchego
2012-10-14 18:50   ` Thomas De Schampheleire
2012-10-20 16:15     ` Arnout Vandecappelle
2012-10-13 23:14 ` [Buildroot] [PATCH 13/13] Document BR2_PROJECT_DIR in the manual Arnout Vandecappelle
2012-10-14  8:35 ` [Buildroot] [PATCH 00/13] Add support for a project directory Thomas Petazzoni
2012-10-14  8:46   ` Thomas Petazzoni
2012-10-14 10:43     ` Arnout Vandecappelle
2012-10-14 12:55       ` Thomas Petazzoni
2012-10-14 13:57         ` Arnout Vandecappelle
2012-10-16 20:03   ` Arnout Vandecappelle
2012-10-17 17:26     ` Thomas Petazzoni
2012-10-17 18:42       ` Sagaert Johan
2012-10-14 18:56 ` Thomas De Schampheleire

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox