All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [pull request] Pull request for branch fs-cleanup
@ 2010-04-09  9:06 Thomas Petazzoni
  2010-04-09  9:06 ` [Buildroot] [PATCH 01/44] genromfs: add new package Thomas Petazzoni
                   ` (45 more replies)
  0 siblings, 46 replies; 48+ messages in thread
From: Thomas Petazzoni @ 2010-04-09  9:06 UTC (permalink / raw)
  To: buildroot

This patchset implements a major rework of the code that generates the
root filesystem generation. It is part of a more general work that
aims at cleaning up the contents of the target/ directory.

Each patch has a description detailing its changes but here is the
list of the major steps that this patch set goes through :

 * First, I introduce new packages, or new host packages. The idea is
   to remove the code in target/*/*.mk that was building tools such as
   genromfs, squashfs-tools, mkcramfs to package/ so that 1. we can
   leverage the package infrastructure and 2. these packages can also
   be made available on the target if needed.

   - New genromfs package, supported for both target and host
   - New genext2fs package, supported for both target and host
   - New cramfs package, supported for both target and host
   - New squashfs package, supported for both target and host
     note that I removed support for SquashFS 3.x
   - New libcap package, supported for both target and host
     it is a dependency of cdrkit
   - Convert bzip2 to autools + add host package
   - New cmake package, supported for the host only.
     it is a build dependency of cdrkit
   - New cdrkit package, supported for both target and host
     it is the new generation of cdrecord/mkisofs tools
   - Add host support to e2fsprogs so that libuuid can be built for the
     host. Needed to build mtd-utils for the host
   - Package mtd-utils converted to gentargets and added host support
     so that we can get mkfs.jffs2 and mkfs.ubifs for the host
   - New package cloop, supported for the host only
     stupid build system, didn't want to fix for cross-build
   - Convert lzma to the autotargets infrastructure for the host

 * Once this was done, I removed all the host utils generation code
   from target/* (where * is a filesystem)

   - cloop, which was also converted to use fakeroot instead of sudo
   - cpio
   - cramfs
   - ext2
   - iso9660. converted to use genisoimage instead of mkisofs. Same
     utility, but genisoimage is the one of cdrkit
   - jffs2
   - romfs
   - squashfs
   - tar
   - ubifs. and remove the BROKEN mark.

 * Sanity work around fakeroot: conversion to autotools for the host
   and removal of BR2_HOST_FAKEROOT, since we never use configuration
   options for host packages.

 * Remove the BR2_TARGET_ROOTFS_xxxx_COPYTO options, designed to copy
   the root filesystem image to a custom location after build. Just use
   "cp" after using Buildroot.

 * Addition of a filesystem generation infrastructure, to factorize the
   code to generate the root filesystem images. It is loosely modeled
   after our packages infrastructures.

   A ROOTFS_TARGET macro does all the work of creating the fakeroot
   script. The only thing the filesystem-specific code has to specify
   is: 1. list of host dependencies and 2. command to execute to
   generate the filesystem image.

 * Conversion of most filesystems to the ROOTFS_TARGET infrastructure

   - cloop
   - cpio
   - cramfs
   - romfs
   - tar
   - squashfs
   - ext2
   - jffs2
   - ubifs
   - initramfs

   Note: iso9660 has to be kept as a manual thing, since its generation
   procedure is very very different from the others.

 * Removal of the IMAGE internal variable, that was the name of the
   generated rootfilesystem (which could be tweaked through
   configuration options for a prefix and suffix). Instead, just
   hardcode the generation of rootfs.XXXX where XXXX is the filesystem
   type.

 * Move everything all filesystem generation code in a new top-level
   directory "fs/". A new configuration category is created for
   Bootloaders, so that they are not mixed with filesystems.

The following changes since commit 6cbdb507c37124d06bdac6a82c81aa5c16e164f9:
  Peter Korsgaard (1):
        CHANGES: add libaio

are available in the git repository at:

  git://git.busybox.net/~tpetazzoni/git/buildroot fs-cleanup

Thomas Petazzoni (44):
      genromfs: add new package
      genext2fs: new package
      cramfs: new package
      squashfs: new package
      libcap: new package
      bzip2: convert to gentargets, add host package, bump version
      cmake: new package
      cdrkit: new package
      e2fsprogs: add support for host package
      mtd: convert to gentargets, add host package
      cloop: new package
      lzma: convert the host package to the autotools infrastructure
      target/cloop: cleanup
      target/cpio: cleanup
      target/cramfs: cleanup
      target/ext2: cleanup
      target/iso9660: cleanup
      target/jffs2: cleanup
      target/romfs: cleanup
      target/squashfs: cleanup, remove support for 3.x
      target/tar: cleanup
      target/ubifs: cleanup, unbroken
      fakeroot: convert to the autotools infrastructure
      fakeroot: remove all references to BR2_HOST_FAKEROOT
      target/: remove the COPYTO mess
      target: Add new infrastructure for filesystem generation
      cloop: convert to ROOTFS_TARGET infrastructure
      cpio: convert to ROOTFS_TARGET infrastructure
      cramfs: convert to ROOTFS_TARGET infrastructure
      romfs: convert to ROOTFS_TARGET infrastructure
      tar: convert to ROOTFS_TARGET infrastructure
      squashfs: convert to ROOTFS_TARGET infrastructure
      ext2: convert to ROOTFS_TARGET infrastructure
      jffs2: convert to ROOTFS_TARGET infrastructure
      ubifs: convert to ROOTFS_TARGET infrastructure
      initramfs: convert to ROOTFS_TARGET infrastructure
      busybox initramfs: do not use the IMAGE variable
      target/common: do not use IMAGE
      iso9660: rework in a similar way to ROOTFS_TARGET
      Remove IMAGE and related configuration options
      Move all filesystem generation code to fs/
      Coherent naming for .mk files in fs/
      Update defconfigs after fs cleanup
      fs/*/Config.in: remove useless configuration comments

 Config.in                                          |    2 +
 Makefile                                           |    2 +
 configs/at91rm9200df_defconfig                     |    9 +-
 configs/at91rm9200df_ext_defconfig                 |    9 +-
 configs/at91sam9260dfc_defconfig                   |    9 +-
 configs/at91sam9260dfc_ext_defconfig               |    9 +-
 configs/at91sam9260pf_defconfig                    |    5 +-
 configs/at91sam9261ek_defconfig                    |    9 +-
 configs/at91sam9261ek_ext_defconfig                |    9 +-
 configs/at91sam9263ek_defconfig                    |    9 +-
 configs/at91sam9263ek_ext_defconfig                |    9 +-
 configs/at91sam9g20dfc_defconfig                   |    9 +-
 configs/at91sam9g20dfc_ext_defconfig               |    9 +-
 configs/atngw100-base_defconfig                    |    7 +-
 configs/atngw100_defconfig                         |    7 +-
 configs/atstk1005_defconfig                        |    7 +-
 configs/atstk100x_defconfig                        |    7 +-
 configs/i386_defconfig                             |    5 +-
 configs/i686_defconfig                             |    5 +-
 configs/integrator926_defconfig                    |    7 +-
 configs/integrator926_huge_defconfig               |    7 +-
 configs/kb9202_defconfig                           |    3 +-
 configs/v100sc2_defconfig                          |    3 +-
 fs/Config.in                                       |   30 ++++
 {target => fs}/cloop/Config.in                     |    0
 fs/cloop/cloop.mk                                  |   13 ++
 fs/common.mk                                       |   70 ++++++++++
 fs/cpio/Config.in                                  |   34 +++++
 fs/cpio/cpio.mk                                    |   18 +++
 {target => fs}/cramfs/Config.in                    |    1 -
 fs/cramfs/cramfs.mk                                |   22 +++
 fs/ext2/Config.in                                  |   55 ++++++++
 fs/ext2/ext2.mk                                    |   40 ++++++
 {target => fs}/initramfs/Config.in                 |    0
 {target => fs}/initramfs/gen_initramfs_list.sh     |    0
 fs/initramfs/initramfs.mk                          |   18 +++
 {target => fs}/iso9660/Config.in                   |    6 -
 fs/iso9660/iso9660.mk                              |   49 +++++++
 {target => fs}/iso9660/menu.lst                    |    0
 {target => fs}/jffs2/Config.in                     |   11 --
 fs/jffs2/jffs2.mk                                  |   61 ++++++++
 {target => fs}/romfs/Config.in                     |    1 -
 fs/romfs/romfs.mk                                  |   15 ++
 fs/squashfs/Config.in                              |    4 +
 fs/squashfs/squashfs.mk                            |   13 ++
 fs/tar/Config.in                                   |   41 ++++++
 fs/tar/tar.mk                                      |   13 ++
 fs/ubifs/Config.in                                 |   79 +++++++++++
 fs/ubifs/ubifs.mk                                  |   25 ++++
 package/Config.in                                  |    6 +
 package/Makefile.in                                |    4 -
 package/busybox/initramfs.mk                       |    2 +-
 package/bzip2/bzip2.mk                             |  140 ++++++++-----------
 package/cdrkit/Config.in                           |   11 ++
 package/cdrkit/cdrkit.mk                           |   63 +++++++++
 package/cloop/cloop.mk                             |   18 +++
 package/cmake/cmake.mk                             |   20 +++
 package/cramfs/Config.in                           |    7 +
 .../cramfs/cramfs-01-devtable.patch                |    0
 {target => package}/cramfs/cramfs-02-endian.patch  |    0
 .../cramfs/cramfs-03-cygwin_IO.patch               |    0
 package/cramfs/cramfs.mk                           |   33 +++++
 package/e2fsprogs/e2fsprogs.mk                     |    5 +
 package/fakeroot/Config.in                         |    4 -
 package/fakeroot/fakeroot.mk                       |  126 ++---------------
 package/genext2fs/Config.in                        |    9 ++
 .../genext2fs}/genext2fs-1.4-nosquash.patch        |    0
 .../genext2fs-1.4-remove_ugly_warnings.patch       |    0
 package/genext2fs/genext2fs.mk                     |   12 ++
 package/genromfs/Config.in                         |    6 +
 package/genromfs/genromfs-0.5.2-build-system.patch |   26 ++++
 package/genromfs/genromfs.mk                       |   31 ++++
 package/libcap/Config.in                           |   10 ++
 package/libcap/libcap-2.19-build-system.patch      |   55 ++++++++
 package/libcap/libcap.mk                           |   27 ++++
 package/lzma/lzma.mk                               |   65 +---------
 package/mtd/mtd.mk                                 |  144 ++++++-------------
 package/squashfs/Config.in                         |    6 +
 .../squashfs/squashfs-4.0-build-system-fix.patch   |   11 +-
 ...quashfs-4.0-mksquashfs-race-condition-fix.patch |    0
 package/squashfs/squashfs.mk                       |   30 ++++
 scripts/test/Config.in.test.buildall               |    1 -
 target/Config.in                                   |   45 +------
 target/Makefile.in                                 |    1 -
 target/cloop/Makefile.in                           |    3 -
 target/cloop/cloop.mk                              |  108 ---------------
 target/cpio/Config.in                              |   50 -------
 target/cpio/cpioroot.mk                            |   87 ------------
 target/cramfs/cramfs.mk                            |   86 ------------
 target/ext2/Config.in                              |   75 ----------
 target/ext2/ext2root.mk                            |  146 --------------------
 target/initramfs/initramfs.mk                      |   43 ------
 target/iso9660/iso9660.mk                          |   95 -------------
 target/jffs2/jffs2root.mk                          |   99 -------------
 target/romfs/romfs.mk                              |   71 ----------
 target/squashfs/Config.in                          |   32 -----
 .../squashfs/squashfs-3.4-build-system-fix.patch   |   28 ----
 target/squashfs/squashfsroot.mk                    |   85 ------------
 target/tar/Config.in                               |   59 --------
 target/tar/tarroot.mk                              |   64 ---------
 target/ubifs/Config.in                             |  103 --------------
 target/ubifs/ubifsroot.mk                          |  125 -----------------
 target/xtensa/defconfig                            |    1 -
 toolchain/dependencies/dependencies.sh             |    2 +-
 104 files changed, 1172 insertions(+), 1884 deletions(-)
 create mode 100644 fs/Config.in
 rename {target => fs}/cloop/Config.in (100%)
 create mode 100644 fs/cloop/cloop.mk
 create mode 100644 fs/common.mk
 create mode 100644 fs/cpio/Config.in
 create mode 100644 fs/cpio/cpio.mk
 rename {target => fs}/cramfs/Config.in (84%)
 create mode 100644 fs/cramfs/cramfs.mk
 create mode 100644 fs/ext2/Config.in
 create mode 100644 fs/ext2/ext2.mk
 rename {target => fs}/initramfs/Config.in (100%)
 rename {target => fs}/initramfs/gen_initramfs_list.sh (100%)
 create mode 100644 fs/initramfs/initramfs.mk
 rename {target => fs}/iso9660/Config.in (74%)
 create mode 100644 fs/iso9660/iso9660.mk
 rename {target => fs}/iso9660/menu.lst (100%)
 rename {target => fs}/jffs2/Config.in (93%)
 create mode 100644 fs/jffs2/jffs2.mk
 rename {target => fs}/romfs/Config.in (81%)
 create mode 100644 fs/romfs/romfs.mk
 create mode 100644 fs/squashfs/Config.in
 create mode 100644 fs/squashfs/squashfs.mk
 create mode 100644 fs/tar/Config.in
 create mode 100644 fs/tar/tar.mk
 create mode 100644 fs/ubifs/Config.in
 create mode 100644 fs/ubifs/ubifs.mk
 create mode 100644 package/cdrkit/Config.in
 create mode 100644 package/cdrkit/cdrkit.mk
 create mode 100644 package/cloop/cloop.mk
 create mode 100644 package/cmake/cmake.mk
 create mode 100644 package/cramfs/Config.in
 rename {target => package}/cramfs/cramfs-01-devtable.patch (100%)
 rename {target => package}/cramfs/cramfs-02-endian.patch (100%)
 rename {target => package}/cramfs/cramfs-03-cygwin_IO.patch (100%)
 create mode 100644 package/cramfs/cramfs.mk
 create mode 100644 package/genext2fs/Config.in
 rename {target/ext2 => package/genext2fs}/genext2fs-1.4-nosquash.patch (100%)
 rename {target/ext2 => package/genext2fs}/genext2fs-1.4-remove_ugly_warnings.patch (100%)
 create mode 100644 package/genext2fs/genext2fs.mk
 create mode 100644 package/genromfs/Config.in
 create mode 100644 package/genromfs/genromfs-0.5.2-build-system.patch
 create mode 100644 package/genromfs/genromfs.mk
 create mode 100644 package/libcap/Config.in
 create mode 100644 package/libcap/libcap-2.19-build-system.patch
 create mode 100644 package/libcap/libcap.mk
 create mode 100644 package/squashfs/Config.in
 rename {target => package}/squashfs/squashfs-4.0-build-system-fix.patch (88%)
 rename {target => package}/squashfs/squashfs-4.0-mksquashfs-race-condition-fix.patch (100%)
 create mode 100644 package/squashfs/squashfs.mk
 delete mode 100644 target/cloop/Makefile.in
 delete mode 100644 target/cloop/cloop.mk
 delete mode 100644 target/cpio/Config.in
 delete mode 100644 target/cpio/cpioroot.mk
 delete mode 100644 target/cramfs/cramfs.mk
 delete mode 100644 target/ext2/Config.in
 delete mode 100644 target/ext2/ext2root.mk
 delete mode 100644 target/initramfs/initramfs.mk
 delete mode 100644 target/iso9660/iso9660.mk
 delete mode 100644 target/jffs2/jffs2root.mk
 delete mode 100644 target/romfs/romfs.mk
 delete mode 100644 target/squashfs/Config.in
 delete mode 100644 target/squashfs/squashfs-3.4-build-system-fix.patch
 delete mode 100644 target/squashfs/squashfsroot.mk
 delete mode 100644 target/tar/Config.in
 delete mode 100644 target/tar/tarroot.mk
 delete mode 100644 target/ubifs/Config.in
 delete mode 100644 target/ubifs/ubifsroot.mk

Thanks,
-- 
Thomas Petazzoni

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

end of thread, other threads:[~2010-04-09 14:19 UTC | newest]

Thread overview: 48+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-04-09  9:06 [Buildroot] [pull request] Pull request for branch fs-cleanup Thomas Petazzoni
2010-04-09  9:06 ` [Buildroot] [PATCH 01/44] genromfs: add new package Thomas Petazzoni
2010-04-09  9:06 ` [Buildroot] [PATCH 02/44] genext2fs: " Thomas Petazzoni
2010-04-09  9:06 ` [Buildroot] [PATCH 03/44] cramfs: " Thomas Petazzoni
2010-04-09  9:06 ` [Buildroot] [PATCH 04/44] squashfs: " Thomas Petazzoni
2010-04-09  9:06 ` [Buildroot] [PATCH 05/44] libcap: " Thomas Petazzoni
2010-04-09  9:06 ` [Buildroot] [PATCH 06/44] bzip2: convert to gentargets, add host package, bump version Thomas Petazzoni
2010-04-09  9:06 ` [Buildroot] [PATCH 07/44] cmake: new package Thomas Petazzoni
2010-04-09  9:06 ` [Buildroot] [PATCH 08/44] cdrkit: " Thomas Petazzoni
2010-04-09  9:06 ` [Buildroot] [PATCH 09/44] e2fsprogs: add support for host package Thomas Petazzoni
2010-04-09  9:06 ` [Buildroot] [PATCH 10/44] mtd: convert to gentargets, add " Thomas Petazzoni
2010-04-09  9:06 ` [Buildroot] [PATCH 11/44] cloop: new package Thomas Petazzoni
2010-04-09  9:06 ` [Buildroot] [PATCH 12/44] lzma: convert the host package to the autotools infrastructure Thomas Petazzoni
2010-04-09  9:06 ` [Buildroot] [PATCH 13/44] target/cloop: cleanup Thomas Petazzoni
2010-04-09  9:06 ` [Buildroot] [PATCH 14/44] target/cpio: cleanup Thomas Petazzoni
2010-04-09  9:06 ` [Buildroot] [PATCH 15/44] target/cramfs: cleanup Thomas Petazzoni
2010-04-09  9:06 ` [Buildroot] [PATCH 16/44] target/ext2: cleanup Thomas Petazzoni
2010-04-09  9:06 ` [Buildroot] [PATCH 17/44] target/iso9660: cleanup Thomas Petazzoni
2010-04-09  9:06 ` [Buildroot] [PATCH 18/44] target/jffs2: cleanup Thomas Petazzoni
2010-04-09  9:06 ` [Buildroot] [PATCH 19/44] target/romfs: cleanup Thomas Petazzoni
2010-04-09  9:06 ` [Buildroot] [PATCH 20/44] target/squashfs: cleanup, remove support for 3.x Thomas Petazzoni
2010-04-09  9:06 ` [Buildroot] [PATCH 21/44] target/tar: cleanup Thomas Petazzoni
2010-04-09  9:07 ` [Buildroot] [PATCH 22/44] target/ubifs: cleanup, unbroken Thomas Petazzoni
2010-04-09  9:07 ` [Buildroot] [PATCH 23/44] fakeroot: convert to the autotools infrastructure Thomas Petazzoni
2010-04-09  9:07 ` [Buildroot] [PATCH 24/44] fakeroot: remove all references to BR2_HOST_FAKEROOT Thomas Petazzoni
2010-04-09  9:07 ` [Buildroot] [PATCH 25/44] target/: remove the COPYTO mess Thomas Petazzoni
2010-04-09  9:07 ` [Buildroot] [PATCH 26/44] target: Add new infrastructure for filesystem generation Thomas Petazzoni
2010-04-09  9:07 ` [Buildroot] [PATCH 27/44] cloop: convert to ROOTFS_TARGET infrastructure Thomas Petazzoni
2010-04-09  9:07 ` [Buildroot] [PATCH 28/44] cpio: " Thomas Petazzoni
2010-04-09  9:07 ` [Buildroot] [PATCH 29/44] cramfs: " Thomas Petazzoni
2010-04-09  9:07 ` [Buildroot] [PATCH 30/44] romfs: " Thomas Petazzoni
2010-04-09  9:07 ` [Buildroot] [PATCH 31/44] tar: " Thomas Petazzoni
2010-04-09  9:07 ` [Buildroot] [PATCH 32/44] squashfs: " Thomas Petazzoni
2010-04-09  9:07 ` [Buildroot] [PATCH 33/44] ext2: " Thomas Petazzoni
2010-04-09  9:07 ` [Buildroot] [PATCH 34/44] jffs2: " Thomas Petazzoni
2010-04-09  9:07 ` [Buildroot] [PATCH 35/44] ubifs: " Thomas Petazzoni
2010-04-09  9:07 ` [Buildroot] [PATCH 36/44] initramfs: " Thomas Petazzoni
2010-04-09  9:07 ` [Buildroot] [PATCH 37/44] busybox initramfs: do not use the IMAGE variable Thomas Petazzoni
2010-04-09  9:07 ` [Buildroot] [PATCH 38/44] target/common: do not use IMAGE Thomas Petazzoni
2010-04-09  9:07 ` [Buildroot] [PATCH 39/44] iso9660: rework in a similar way to ROOTFS_TARGET Thomas Petazzoni
2010-04-09  9:07 ` [Buildroot] [PATCH 40/44] Remove IMAGE and related configuration options Thomas Petazzoni
2010-04-09  9:07 ` [Buildroot] [PATCH 41/44] Move all filesystem generation code to fs/ Thomas Petazzoni
2010-04-09  9:07 ` [Buildroot] [PATCH 42/44] Coherent naming for .mk files in fs/ Thomas Petazzoni
2010-04-09  9:07 ` [Buildroot] [PATCH 43/44] Update defconfigs after fs cleanup Thomas Petazzoni
2010-04-09  9:07 ` [Buildroot] [PATCH 44/44] fs/*/Config.in: remove useless configuration comments Thomas Petazzoni
2010-04-09  9:20 ` [Buildroot] [pull request] Pull request for branch fs-cleanup Peter Korsgaard
2010-04-09 12:54   ` Thomas Petazzoni
2010-04-09 14:19 ` Peter Korsgaard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.